]> code.delx.au - gnu-emacs/blob - src/ChangeLog
(realize_x_face) [!HAVE_WINDOW_SYSTEM]: Return NULL.
[gnu-emacs] / src / ChangeLog
1 2005-04-18 Thien-Thi Nguyen <ttn@gnu.org>
2
3 * xfaces.c (realize_x_face) [!HAVE_WINDOW_SYSTEM]: Return NULL.
4
5 2005-04-18 Lute Kamstra <lute@gnu.org>
6
7 * lread.c (Vloads_in_progress): Static.
8 * fns.c (Vloads_in_progress): Remove extern.
9 (load_in_progress): Add extern.
10 (Frequire): Use load_in_progress instead of Vloads_in_progress.
11
12 2005-04-18 Thien-Thi Nguyen <ttn@gnu.org>
13
14 * xmenu.c (Fx_popup_menu): Initialize error_name to NULL.
15
16 2005-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17
18 * macterm.c (XTread_socket): Don't beep on keyboard input even if
19 no frame is visible.
20
21 2005-04-16 Dan Nicolaescu <dann@ics.uci.edu>
22
23 * term.c (struct keys): Add support for shifted keys.
24
25 2005-04-16 Richard M. Stallman <rms@gnu.org>
26
27 * xdisp.c (with_echo_area_buffer): Delete WHICH < 0 case.
28 (set_message): Call with_echo_area_buffer with WHICH = 0.
29 (set_message_1): Erase the echo area buffer first thing.
30 (echo_area_display): Don't clear echo_message_buffer.
31
32 2005-04-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
33
34 * Makefile.in (mac.o): Depend on charset.h and coding.h.
35
36 * mac.c: Include charset.h and coding.h.
37 [TARGET_API_MAC_CARBON] (Qutf_8): Remove extern.
38 [TARGET_API_MAC_CARBON] (cfstring_create_with_string): New
39 function.
40 [TARGET_API_MAC_CARBON] (Fmac_get_preference): Use it.
41
42 * macfns.c [TARGET_API_MAC_CARBON] (Fx_file_dialog): Likewise.
43
44 * image.c [MAC_OSX] (image_load_quartz2d): Likewise.
45
46 * macterm.c (x_autoselect_window_p): Remove variable.
47 (last_window): New variable.
48 (XTreassert_line_highlight, x_change_line_highlight): Remove
49 declarations.
50 (mac_focus_changed, x_detect_focus_change): New functions and
51 declarations.
52 (XTextExtents16, front_emacs_window): Remove function.
53 (mac_focus_frame): New function.
54 (XTmouse_position, do_menu_choice, do_zoom_window, XTread_socket)
55 (mac_check_for_quit_char): Use it instead of front_emacs_window.
56 (x_scroll_bar_report_motion): Obtain window from control owner.
57 (x_make_frame_invisible): Set window manager size hint.
58 (do_mouse_moved): Remove function.
59 (XTread_socket): Move its contents here. Generate select-window
60 event on mouse movement if needed. Use x_detect_focus_change on
61 activate/deactivate events. Don't deiconify frame or invalidate
62 window rectangle when dnd items are dropped. Don't
63 activate/deactivate root control.
64 (frame_highlight, frame_unhighlight): Activate/deactivate root
65 control here.
66 (syms_of_macterm): Delete DEFVAR_BOOL for x_autoselect_window_p.
67
68 * macterm.h (cfstring_create_with_string) [TARGET_API_MAC_CARBON]:
69 New extern.
70
71 2005-04-15 Luc Teirlinck <teirllm@auburn.edu>
72
73 * Makefile.in: Define new macro TOOLTIP_SUPPORT.
74 (lisp): Use it.
75 (SOME_MACHINE_LISP): Add tooltip.
76
77 2005-04-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
78
79 * mac.c [!TARGET_API_MAC_CARBON]: Include MacLocales.h. Don't
80 include TextEncodingConverter.h.
81 (mac_system_script_code, Vmac_system_locale): New variables.
82 (syms_of_mac): Defvar them.
83 (mac_get_system_locale): New function.
84
85 * macfns.c (x_set_name, x_set_title) [!TARGET_API_MAC_CARBON]: Use
86 ENCODE_SYSTEM to encode title bar string.
87 (x_create_tip_frame): Apply 2005-03-18 change for xfns.c.
88 (Fx_file_dialog) [TARGET_API_MAC_CARBON && !MAC_OSX]: Use
89 CFStringGetSystemEncoding to get system default string encoding.
90
91 * macterm.c [!TARGET_API_MAC_CARBON]: Don't include
92 TextEncodingConverter.h.
93
94 2005-04-13 Steven Tamm <steventamm@mac.com>
95
96 * macterm.c (syms_of_macterm): Remove redundant definition of
97 mac-pass-control-to-system.
98
99 2005-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
100
101 * window.c (Fset_window_configuration): Be careful when you choose
102 among several possible points for the new_current_buffer.
103
104 2005-04-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
105
106 * keyboard.c (poll_for_input) [SYNC_INPUT]: Don't call
107 poll_for_input_1. Set interrupt_input_pending to 1 instead.
108 (Qlanguage_change) [MAC_OS]: New variable.
109 (syms_of_keyboard) [MAC_OS]: Intern and staticpro it.
110 (kbd_buffer_get_event) [MAC_OS]: Make event for LANGUAGE_CHANGE_EVENT.
111
112 * macterm.c (mac_keyboard_text_encoding)
113 (current_mac_keyboard_text_encoding): Remove variables.
114 (XTread_socket): Store language-change event if keyboard script change
115 is detected. Don't convert input to `mac_keyboard_text_encoding'.
116 (syms_of_macterm): Delete DEFVAR_INT for mac-keyboard-text-encoding.
117
118 * termhooks.h (enum event_kind) [MAC_OS]: Add LANGUAGE_CHANGE_EVENT.
119
120 2005-04-10 Richard M. Stallman <rms@gnu.org>
121
122 * emacs.c (standard_args): Rename --bare-bones to --quick.
123 Add -D aka --basic-display.
124
125 * buffer.c (Fmake_indirect_buffer): Clear out some local variables.
126
127 2005-04-09 Richard M. Stallman <rms@gnu.org>
128
129 * keymap.c (where_is_internal): Convert a string used as event type
130 into "(any string)".
131
132 * lread.c (Vloads_in_progress): Not static.
133 * fns.c (Vloads_in_progress): Add extern.
134 (Frequire): Don't do LOADHIST_ATTACH if Vloads_in_progress is nil.
135
136 2005-04-09 Thien-Thi Nguyen <ttn@surf.glug.org>
137
138 * dispnew.c (mirror_line_dance): Avoid crash if W2 is null.
139
140 2005-04-09 Lute Kamstra <lute@gnu.org>
141
142 * print.c (PRINTPREPARE): Check if the marker PRINTCHARFUN is
143 within the accessible part of the buffer.
144
145 2005-04-09 Kim F. Storm <storm@cua.dk>
146
147 * lread.c (readevalloop): Add args START and END as region in
148 current buffer to read. Callers changed.
149 When specified, narrow to this region only when reading,
150 not during eval. Track next point to read from during eval.
151 Also restore point to "real" buffer position before eval.
152 (Feval_region): Don't save excursion and restriction here, and
153 don't narrow to region. Just pass region to readevalloop.
154 Note: Point is now preserved even when PRINTFLAG is nil.
155
156 2005-04-08 Kim F. Storm <storm@cua.dk>
157
158 * xdisp.c (syms_of_xdisp): Init overlay-arrow-string to "=>".
159
160 2005-04-06 Kim F. Storm <storm@cua.dk>
161
162 * emacs.c (standard_args): Add -Q, --bare-bones, -bare-bones.
163
164 2005-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
165
166 * mac.c (cfdate_to_lisp): Add `const' for variable `epoch_gdate'.
167 (Fmac_get_preference): Doc fix.
168
169 * macfns.c (Fx_create_frame, x_create_tip_frame):
170 Add "fontset-mac" to fallback font/fontsets.
171
172 2005-04-04 Kim F. Storm <storm@cua.dk>
173
174 * alloc.c (Fgarbage_collect): Call CHECK_CONS_LIST before and after gc.
175
176 * eval.c (Ffuncall): Always call CHECK_CONS_LIST on entry.
177 Call it again after autoload.
178
179 2005-04-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
180
181 * alloc.c (allocate_string_data): Call BLOCK_INPUT before calling
182 mallopt.
183
184 * ralloc.c (r_alloc_init): Ditto.
185
186 2005-04-01 Kenichi Handa <handa@m17n.org>
187
188 * lisp.h (Vascii_upcase_table, Vascii_canon_table)
189 (Vascii_eqv_table): Extern them.
190
191 * casetab.c (set_case_table): If standard is nonzero, setup
192 Vascii_upcase_table, Vascii_canon_table, and Vascii_eqv_table.
193
194 * search.c (looking_at_1): Use current_buffer->case_canon_table,
195 not DOWNCASE_TABLE.
196 (string_match_1): Likewise.
197 (fast_c_string_match_ignore_case): Use Vascii_canon_table, not
198 Vascii_downcase_table.
199 (fast_string_match_ignore_case): Likewise.
200 (search_buffer): Fix checking of boyer-moore usability.
201 (boyer_moore): Calculate translate_prev_byte1/2/3 in advance.
202 No need of tranlating characters in PAT. Fix calculation of
203 simple_translate.
204
205 2005-03-31 Stefan Monnier <monnier@iro.umontreal.ca>
206
207 * xterm.c [HAVE_XAW3D]: Include ThreeD.h for XtNbeNiceToColormap.
208 (x_create_toolkit_scroll_bar): Test XtNbeNiceToColormap before using it.
209 Use XtNtopShadowPixel and XtNbottomShadowPixel.
210 (x_set_toolkit_scroll_bar_thumb): Remove ugly old hack that didn't
211 really work and that breaks with some versions of Xaw3d.
212
213 2005-03-31 Kenichi Handa <handa@m17n.org>
214
215 * coding.c (syms_of_coding): Fix previous change.
216
217 2005-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
218
219 * fileio.c (search_embedded_absfilename): Fix last change.
220
221 2005-03-25 Kenichi Handa <handa@m17n.org>
222
223 * coding.c (syms_of_coding): Suggest to use set-coding-category in
224 the docstring of coding-category-list.
225
226 2005-03-31 Kim F. Storm <storm@cua.dk>
227
228 * keyboard.c (Qmouse_fixup_help_message): New var.
229 (syms_of_keyboard): Intern and staticpro it.
230 (show_help_echo): Apply mouse-fixup-help-message to help string.
231
232 2005-03-30 Kim F. Storm <storm@cua.dk>
233
234 * xdisp.c (display_line): Allow multiple overlay arrows in window.
235
236 2005-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
237
238 * fileio.c (Fexpand_file_name): Use IS_DEVICE_SEP.
239 (file_name_absolute_p): New fun, extracted from Ffile_name_absolute_p.
240 (Ffile_name_absolute_p): Use it.
241 (search_embedded_absfilename): New fun, extracted from
242 Fsubstitute_in_file_name. Use file_name_absolute_p.
243 Free the pw data after use.
244 (Fsubstitute_in_file_name): Use it.
245 After cutting a prefix, re-check file-name-handler.
246
247 2005-03-26 Lennart Borgman <lennart.borgman.073@student.lu.se>
248
249 * w32term.h (x_output): Add focus_state.
250
251 * w32term.c (x_focus_changed, w32_detect_focus_change): New functions.
252 (w32_read_socket) [WM_SETFOCUS]: Call w32_detect_focus_change.
253
254 2005-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
255
256 * minibuf.c (Fminibuffer_complete_and_exit, Fself_insert_and_exit):
257 Use Fexit_minibuffer.
258 (Fexit_minibuffer): Mark it as no-return, deactivate the mark.
259
260 2005-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
261
262 * dired.c (Ffile_attributes): Add a missing gcpro.
263
264 * alloc.c (make_number): The arg can be bigger than `int'.
265 * lisp.h (make_number): Make prototype more precise.
266
267 * process.c, dired.c (Vfile_name_coding_system)
268 (Vdefault_file_name_coding_system):
269 * callproc.c (Vdoc_file_name, Vfile_name_coding_system)
270 (Vdefault_file_name_coding_system): Remove unused declarations.
271
272 2005-03-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
273
274 * xmenu.c (create_and_show_popup_menu): Just remove menu and return
275 if it failed to pop up (Gnome "show pointer on ctrl" option makes
276 menus fail to pop up).
277
278 2005-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
279
280 * xdisp.c (get_next_display_element): Also use `\ ' & `\-' for latin-9.
281 Just prepend a backslash without replacing the NBSP by an SPC.
282
283 2005-03-22 Kim F. Storm <storm@cua.dk>
284
285 * xfaces.c (lookup_derived_face): Add arg SIGNAL_P.
286 * dispextern.h (lookup_derived_face): Fix prototype.
287 * msdos.c (XMenuActivate): Fix call to lookup_derived_face.
288
289 * xdisp.c (handle_single_display_spec): Derive left-fringe and
290 right-fringe face from fringe face.
291
292 * fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face):
293 Derive face from fringe face.
294
295 2005-03-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
296
297 * xrdb.c (x_load_resources): Undo previous change (2005-03-18).
298
299 2005-03-22 David Kastrup <dak@gnu.org>
300
301 * textprop.c (Fnext_char_property_change)
302 (Fprevious_char_property_change): Allow marker as limit.
303 (Fnext_single_char_property_change)
304 (Fprevious_single_char_property_change): Check that limit is a
305 number in strings.
306 (Fnext_single_char_property_change): Coerce position to integer.
307 (Fprevious_single_char_property_change): Same here.
308
309 2005-03-21 Thien-Thi Nguyen <ttn@gnu.org>
310
311 * s/openbsd.h (LD_SWITCH_SYSTEM_tmp): Define if undefined.
312
313 2005-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
314
315 * frame.c (Fignore_event): Remove.
316 (syms_of_frame): Don't defsubr it.
317
318 * keyboard.c (keys_of_keyboard): Just use `ignore' instead of the
319 redundant `ignore-event'.
320
321 2005-03-19 Eli Zaretskii <eliz@gnu.org>
322
323 * unexec.c (write_segment, unexec): Move these functions to avoid
324 forward references (which cause errors with "gcc -gcoff").
325
326 2005-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
327
328 * xfns.c (x_create_tip_frame): Remove setting of Vx_resource_name so
329 that it doesn't become "tooltip". The specbind is enough.
330
331 * xrdb.c (x_load_resources): Use different char *helv when I18N
332 is present.
333
334 2005-03-17 Kenichi Handa <handa@m17n.org>
335
336 * coding.c (syms_of_coding): Docstring of coding-category-list fixed.
337
338 2005-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
339
340 * xfaces.c (x_update_menu_appearance) [HAVE_X_I18N]:
341 Use xic_create_fontsetname even for non-Motif menus.
342 Don't forget to free the fontsetname.
343
344 * xfns.c (xic_create_fontsetname): Add a final catch-all font pattern.
345
346 2005-03-17 Richard M. Stallman <rms@gnu.org>
347
348 * dispnew.c (mirror_line_dance): Set W2 according to FRAME_FROM.
349
350 * fileio.c (Fcopy_file, Frename_file, Fadd_name_to_file)
351 (Fmake_symbolic_link): Use G to read the new file name.
352
353 * callint.c (Finteractive): Document G option.
354 (Fcall_interactively): Implement G option.
355
356 * buffer.c (buffer_lisp_local_variables): New function,
357 broken out from Fbuffer_local_variables.
358 (clone_per_buffer_values): Use buffer_lisp_local_variables.
359
360 2005-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
361
362 * xfns.c (xic_create_fontsetname): Add `motif' argument.
363 Always return a freshly allocated string.
364 (xic_create_xfontset): Adjust call.
365
366 * xfaces.c (x_update_menu_appearance) [USE_MOTIF]:
367 Use xic_create_fontsetname to create a fontset so utf-8 locales work.
368 (dump_realized_face): Fix warning.
369
370 * emacs.c (Fkill_emacs): YAILOM.
371
372 * frame.c (Fignore_event): Fix ancient obscure C-u handling bug.
373
374 2005-03-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
375
376 * mac.c (HASHKEY_TERMINAL): Remove.
377 (HASHKEY_MAX_NID): New macro.
378 (xrm_q_get_resource_1): Rename from xrm_q_get_resource. Add extra
379 argument.
380 (xrm_q_get_resource): Call xrm_q_get_resource_1 with extra argument.
381 (xrm_create_database, xrm_q_put_resource)
382 (xrm_merge_string_database, xrm_q_get_resource_1)
383 (xrm_q_get_resource): Change resource database representation so
384 that it may not use multiple hash tables for a single database.
385 [TARGET_API_MAC_CARBON] (xrm_cfproperty_list_to_value): YAILOM.
386
387 2005-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
388
389 * xmenu.c (ENCODE_MENU_STRING) [HAVE_X_I18N]: Use ENCODE_SYSTEM.
390
391 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [!WINDOWSNT]: Use the
392 locale-coding-system, as was already done for WINDOWSNT.
393
394 * keyboard.c (read_char): Only do the 7-bit-meta -> 27-bit-meta
395 translation for chars in the 0-255 range.
396
397 2005-03-16 Lute Kamstra <lute@gnu.org>
398
399 * floatfns.c (Ffloor): Doc fix.
400
401 2005-03-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
402
403 * mac.c: Include macterm.h instead of directly including Carbon.h.
404 [TARGET_API_MAC_CARBON] (Qstring, Qnumber, Qboolean, Qdate, Qdata)
405 (Qarray, Qdictionary): New variables.
406 (syms_of_mac) [TARGET_API_MAC_CARBON]: Initialize them.
407 [TARGET_API_MAC_CARBON] (Qutf_8): Add extern.
408 [TARGET_API_MAC_CARBON] (DECODE_UTF_8): New macro.
409 [TARGET_API_MAC_CARBON] (struct cfdict_context): New struct used
410 in callback for CFDictionaryApplyFunction.
411 [TARGET_API_MAC_CARBON] (cfdata_to_lisp, cfstring_to_lisp)
412 (cfnumber_to_lisp, cfdate_to_lisp, cfboolean_to_lisp)
413 (cfobject_desc_to_lisp, cfdictionary_add_to_list)
414 (cfdictionary_puthash, cfproperty_list_to_lisp): New functions.
415 [TARGET_API_MAC_CARBON] (Fmac_get_preference): New function.
416 (syms_of_mac) [TARGET_API_MAC_CARBON]: Defsubr it.
417 (P, LOOSE_BINDING, SINGLE_COMPONENT, HASHKEY_TERMINAL): New macro.
418 (skip_white_space, parse_comment, parse_include_file)
419 (parse_binding, parse_component, parse_resource_name, parse_value)
420 (parse_resource_line, xrm_create_database, xrm_q_put_resource)
421 (xrm_merge_string_database, xrm_q_get_resource, xrm_get_resource)
422 (xrm_cfproperty_list_to_value, xrm_get_preference_database):
423 New functions.
424
425 * macfns.c (mac_get_rdb_resource): Remove function.
426 (x_get_string_resource): Use xrm_get_resource.
427
428 * macgui.h (XrmDatabase): Typedef to Lisp_Object.
429
430 * macterm.c (x_list_fonts): FONT-LIST-CACHE is now cadr part of
431 name_list_element.
432 (mac_make_rdb): Create resource database from preferences and
433 argument string.
434 (mac_term_init): Save resource database to cddr part of
435 name_list_element.
436
437 * macterm.h (xrm_merge_string_database, xrm_get_resource)
438 (xrm_get_preference_database): Add externs.
439 [TARGET_API_MAC_CARBON] (cfdata_to_lisp, cfstring_to_lisp)
440 (cfnumber_to_lisp, cfdate_to_lisp, cfboolean_to_lisp)
441 (cfobject_desc_to_lisp, cfproperty_list_to_lisp): Likewise.
442
443 * process.c (init_process): Change `#ifdef DARWIN' to `#if
444 defined (DARWIN) || defined (MAC_OSX)'
445
446 * s/darwin.h (DARWIN): Don't define.
447
448 2005-03-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
449
450 * macfns.c (Qhyper, Qsuper, Qmeta, Qalt, Qctrl, Qcontrol, Qshift):
451 Remove unused variables.
452 (syms_of_macfns): Don't initialize them. Likewise for
453 Qface_set_after_frame_default. Defvar and initialize
454 Vx_window_horizontal_drag_shape.
455 (x_set_mouse_color): Change mouse pointer shape.
456 (mac_window) [!MAC_OSX]: Create root control.
457 (Fx_create_frame): Remove initializations of mouse pointer shapes.
458 (hourglass_started): New function (from xfns.c).
459 (start_hourglass, cancel_hourglass): Put function body in #ifdef
460 MAC_OSX.
461 (show_hourglass) [TARGET_API_MAC_CARBON]: Create progress
462 indicator for each non-tooltip frame if needed, and show it.
463 (hide_hourglass) [TARGET_API_MAC_CARBON]: Hide progress indicators.
464
465 * macgui.h [!TARGET_API_MAC_CARBON]: Include Appearance.h and
466 Controls.h. Use ThemeCursor instead of CursHandle.
467
468 * macterm.c (activate_scroll_bars, deactivate_scroll_bars):
469 Remove functions and declarations.
470 (mac_set_colors): Take argument for saving background color.
471 All callers changed.
472 (XDrawLine, XClearArea, mac_draw_bitmap, XFillRectangle)
473 (mac_draw_rectangle, mac_draw_string_common): Save and Restore
474 background color.
475 (x_update_end, mac_do_track_drag): Don't reset background color.
476 (mac_define_frame_cursor) [!TARGET_API_MAC_CARBON]:
477 Use SetThemeCursor.
478 (x_set_window_size) [TARGET_API_MAC_CARBON]: Move progress
479 indicator control to the upper-right corner of the window.
480 (arrow_cursor) [!TARGET_API_MAC_CARBON]: Remove variable.
481 (do_init_managers) [!TARGET_API_MAC_CARBON]: Don't initialize it.
482 (do_window_update): Update controls after updating content area.
483 (mac_handle_window_event): Remove unused extern.
484 (XTread_socket): Check both control handle and control part code
485 to determine whether a scroll bar is clicked. Activate/deactivate
486 root control instead of contained scroll bar controls.
487 (make_mac_terminal_frame): Use ThemeCursor constants.
488
489 * macterm.h (struct mac_output) [TARGET_API_MAC_CARBON]:
490 New member hourglass_control.
491 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): New defines.
492 (activate_scroll_bars, deactivate_scroll_bars): Remove declarations.
493
494 2005-03-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
495
496 * macterm.c (keycode_to_xkeysym_table): Change mapping so that it
497 coincides with that in Apple X11 except `clear', `enter' on
498 laptops, and fn + `enter' on laptops.
499
500 2005-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
501
502 * xmenu.c (ENCODE_MENU_STRING): Explicitly use string_make_unibyte.
503 (list_of_panes, list_of_items, Fx_popup_menu): Use XCAR/XCDR.
504 (digest_single_submenu, xmenu_show): Use ENCODE_MENU_STRING.
505
506 * xfns.c (xic_defaut_fontset): New constant.
507 (xic_create_fontsetname): New function.
508 Extracted from create_frame_xic. Try to generate a slightly
509 better fontset.
510 (xic_create_xfontset): Use it.
511 (create_frame_xic): Simplify.
512
513 2005-03-11 Stefan Monnier <monnier@iro.umontreal.ca>
514
515 * fileio.c (Fmake_symbolic_link): Fix last change.
516
517 2005-03-11 Richard M. Stallman <rms@gnu.org>
518
519 * fileio.c (Frename_file, Fadd_name_to_file)
520 (Fmake_symbolic_link): If NEWNAME or LINKNAME is a directory,
521 expand the basename of FILE relative to it.
522
523 2005-03-11 Kenichi Handa <handa@m17n.org>
524
525 * fileio.c (Finsert_file_contents): Call Fcheck_coding_system
526 before calling setup_coding_system so that autoloading of a coding
527 system work.
528
529 2005-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
530
531 * xfns.c (hourglass_started): New function.
532
533 * dispextern.h: Declare hourglass_started.
534
535 * keyboard.c (Fexecute_extended_command): Restart hourglass
536 after call to Fcompleting_read if already started.
537
538 * gtkutil.c (xg_update_scrollbar_pos): Call x_sync so that the
539 GTK main loop is entered in xterm.c, thus doing the redraw.
540
541 2005-03-10 Kim F. Storm <storm@cua.dk>
542
543 * xdisp.c (pos_visible_p): Fix X value in last line of buffer.
544
545 2005-03-08 Kenichi Handa <handa@m17n.org>
546
547 * frame.c (x_set_font): Call set_default_ascii_font if an
548 available font is found.
549
550 * fontset.c (set_default_ascii_font): New function.
551 (syms_of_fontset): Don't set FONTSET_ASCII (Vdefault_fontset) here.
552
553 * fontset.h (set_default_ascii_font): Extern it.
554
555 2005-03-07 Kim F. Storm <storm@cua.dk>
556
557 * xdisp.c (CLEAR_IMAGE_CACHE_COUNT): New const.
558 (clear_image_cache_count): New var.
559 (redisplay_internal): Don't clear face and image caches in the
560 middle of redisplay; do it afterwards.
561
562 * blockinput.h (TOTALLY_UNBLOCK_INPUT): Avoid dangling else.
563
564 * xdisp.c (notice_overwritten_cursor): Check that phys_cursor.vpos
565 is valid. If not, clear phys_cursor_on_p and return.
566
567 2005-03-07 Andreas Schwab <schwab@suse.de>
568
569 * blockinput.h (UNBLOCK_INPUT_TO): Always call UNBLOCK_INPUT.
570
571 2005-03-06 Richard M. Stallman <rms@gnu.org>
572
573 * keyboard.c (Ftop_level): Let Fthrow deal with UNBLOCK_INPUT.
574
575 * eval.c (unwind_to_catch): Use UNBLOCK_INPUT_TO.
576 (Feval, Ffuncall): Use CHECK_CONS_LIST.
577
578 * lisp.h (CHECK_CONS_LIST): New macro (two definitions).
579
580 * blockinput.h (UNBLOCK_INPUT_TO): New macro.
581 (TOTALLY_UNBLOCK_INPUT): Handle a pending signal if any.
582
583 2005-03-05 Juri Linkov <juri@jurta.org>
584
585 * emacs.c (USAGE1): Replace Info node name "command arguments"
586 with "emacs invocation".
587 (USAGE3): Fix usage of `--color=MODE' which actually doesn't
588 allow arguments `--color' and `MODE' to be separated by space.
589 Add --no-blinking-cursor, -nbc.
590 (standard_args): Add -nbc, --no-blinking-cursor.
591
592 2005-03-04 Thien-Thi Nguyen <ttn@gnu.org>
593
594 * s/vms.h: Define NO_HYPHENS_IN_FILENAMES.
595 * s/vms4-4.h, s/vms5-5.h: Undefine NO_HYPHENS_IN_FILENAMES.
596 * fileio.c (Fexpand_file_name) [VMS]:
597 Use NO_HYPHENS_IN_FILENAMES, not VMS4_4.
598 * doc.c (munge_doc_file_name) [VMS]: Likewise.
599 (Fsnarf_documentation): Call munge_doc_file_name.
600
601 2005-03-04 Thien-Thi Nguyen <ttn@gnu.org>
602
603 * s/vms.h (FILE_SYSTEM_CASE): New macro.
604 * fileio.c (Fexpand_file_name) [VMS]: Don't upcase the name
605 "manually"; this is now handled generally via FILE_SYSTEM_CASE.
606
607 2005-03-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
608
609 * emacs.c (main): Change `#ifdef HAVE_CARBON' to `#if
610 defined (MAC_OSX) && defined (HAVE_CARBON)'.
611
612 * image.c [!MAC_OSX && TARGET_API_MAC_CARBON]: Include QuickTime.h.
613
614 * mac.c [!MAC_OSX && HAVE_CARBON]: Include Carbon.h.
615 [!MAC_OSX] (select) [TARGET_API_MAC_CARBON]: Use ReceiveNextEvent.
616 (posix_pathname_to_fsspec, fsspec_to_posix_pathname): New functions.
617 (mac_clear_font_name_table): Move extern to macterm.h.
618
619 * macfns.c (install_window_handler): Move extern to macterm.h.
620 (Fx_file_dialog): Check STRINGP (default_filename) to see it is
621 valid. Don't check !NILP (dir) because it is already checked with
622 CHECK_STRING.
623 (Fx_file_dialog) [!MAC_OSX]: Use FSSpec instead of FSRef for
624 specifying the default location and obtaining the selected filename.
625
626 * macgui.h [!MAC_OSX && HAVE_CARBON]: Include Carbon.h.
627
628 * macmenu.c [TARGET_API_MAC_CARBON]: Don't include headers that
629 are included via Carbon.h.
630
631 * macterm.c [TARGET_API_MAC_CARBON && !MAC_OSX]:
632 Define USE_CARBON_EVENTS to 1.
633 (qd) [__MRC__ && TARGET_API_MAC_CARBON]: Don't declare.
634 (x_free_frame_resources): Call remove_window_handler for
635 non-tooltip windows.
636 [TARGET_API_MAC_CARBON]: Don't include headers that are included
637 via Carbon.h.
638 [TARGET_API_MAC_CARBON] (mac_do_track_dragUPP)
639 (mac_do_receive_dragUPP): New variables.
640 (mac_handle_service_event, init_service_handler): Put declarations
641 and definitions in #ifdef MAC_OSX.
642 (install_window_handler) [TARGET_API_MAC_CARBON]: Create UPPs for
643 drag-and-drop handler functions and register them.
644 (remove_window_handler): New function.
645 (do_ae_open_documents, mac_do_receive_drag) [!MAC_OSX]:
646 Use fsspec_to_posix_pathname.
647 (main): Change #if !TARGET_API_MAC_CARBON to #ifdef MAC_OS8.
648 (XTread_socket) [!MAC_OSX]: Don't pass keyboard events to TSM.
649 [MAC_OS8] (make_mac_terminal_frame) [TARGET_API_MAC_CARBON]:
650 Set default cursors.
651 (mac_initialize) [USE_CARBON_EVENTS && !MAC_OSX] : Don't call
652 init_service_handler or init_quit_char_handler.
653 (mac_initialize) [!MAC_OSX]: Don't call MakeMeTheFrontProcess.
654
655 * macterm.h (install_window_handler, remove_window_handler)
656 (posix_pathname_to_fsspec, fsspec_to_posix_pathname)
657 (mac_clear_font_name_table): New externs.
658
659 2005-03-03 Thien-Thi Nguyen <ttn@gnu.org>
660
661 * fileio.c (FILE_SYSTEM_CASE): Define macro if not already defined.
662 (Ffile_name_directory): Use FILE_SYSTEM_CASE unconditionally.
663 (Fexpand_file_name): Likewise.
664
665 2005-03-03 Thien-Thi Nguyen <ttn@gnu.org>
666
667 * emacs.c (Fkill_emacs): Use EXIT_SUCCESS;
668 no longer special-case VMS. Add bogus return value.
669
670 2005-03-02 Kim F. Storm <storm@cua.dk>
671
672 * dispextern.h (XASSERTS): Define to 0 if not already defined.
673 (xassert) [!XASSERTS]: Define dummy version.
674
675 2005-03-02 Kim F. Storm <storm@cua.dk>
676
677 * xdisp.c (redisplay_window): YABX (yet another bogus xassert).
678 Reported by David Kastrup.
679
680 2005-03-01 Ehud Karni <ehud@unix.mvs.co.il>
681
682 * xdisp.c (get_next_display_element): Fix control and escape
683 glyph from display vector.
684
685 2005-03-01 Stefan Monnier <monnier@iro.umontreal.ca>
686
687 * keyboard.c (Fposn_at_x_y): Check integerness of X and Y.
688
689 2005-02-27 Richard M. Stallman <rms@gnu.org>
690
691 * xdisp.c (fast_find_position): Rename END to BEG.
692 (syms_of_xdisp) <menu-bar-update-hook>: Doc fix.
693
694 2005-02-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
695
696 * gtkutil.c (xg_resize_outer_widget): Remove unneeded call to
697 gtk_window_resize and x_wm_set_size_hint.
698
699 2005-02-25 Kim F. Storm <storm@cua.dk>
700
701 * dispextern.h (OVERLAY_STRING_CHUNK_SIZE): Increase from 3 to 16.
702
703 * xdisp.c (init_from_display_pos): Don't read past end of
704 it->overlay_strings array.
705
706 2005-02-25 Stephan Stahl <stahl@eos.franken.de> (tiny change)
707
708 * buffer.c (syms_of_buffer): Fix typo.
709
710 2005-02-23 Lute Kamstra <lute@gnu.org>
711
712 * buffer.c (Foverlay_buffer): Doc fix.
713
714 2005-02-22 Kim F. Storm <storm@cua.dk>
715
716 * minibuf.c (Ftry_completion, Fall_completions): Allow both string
717 and symbol keys in alists and hash tables.
718
719 * xdisp.c (fast_find_position): Fix search for start of overlay.
720
721 2005-02-21 Kim F. Storm <storm@cua.dk>
722
723 * window.c (window_scroll_pixel_based): When scrolling backwards,
724 handle partial visible line at end of window even when we hit PT.
725
726 2005-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
727
728 * keymap.h: Declare Fcurrent_active_maps, used in doc.c.
729
730 2005-02-21 Kim F. Storm <storm@cua.dk>
731
732 * xdisp.c (move_it_vertically_backward): Eliminate two xasserts.
733 I think those asserts are bogus if buffer contains invisible text
734 or images.
735
736 2005-02-21 David Kastrup <dak@gnu.org>
737
738 * gtkutil.c (xg_create_frame_widgets): UNBLOCK_INPUT on error.
739
740 2005-02-20 Kim F. Storm <storm@cua.dk>
741
742 * xdisp.c (pos_visible_p): Be sure to move to the specified
743 position. Always get the full ascent / descent of the
744 corresponding row, to return reliable rtop and rbot values.
745 (back_to_previous_visible_line_start): Fix 2005-01-18 change.
746 Must look one character back, as back_to_previous_line_start
747 returns position after the newline.
748 (move_it_vertically_backward): Fix heuristic for when to move further
749 back in case line_height * 2/3 is larger than window height.
750 (cursor_row_fully_visible_p): Rename make_cursor_line_fully_visible_p
751 as it does not do anything anymore. Add arg current_matrix_p to
752 use current matrix rather than desired matrix when set.
753 (try_cursor_movement): Don't scroll to make cursor row fully
754 visible if cursor didn't move. This avoids unexpected recentering
755 in case of blinking cursor or accepting process output.
756 Use current matrix to check cursor row visibility.
757 (redisplay_window): Fix whether to recenter or move to top in case
758 cursor line is taller than window height.
759 (find_first_unchanged_at_end_row): Stop search if we reach a row
760 which not enabled (instead of abort).
761
762 2005-02-18 Kim F. Storm <storm@cua.dk>
763
764 * xfaces.c (Finternal_set_lisp_face_attribute): Allow :color property
765 to be nil in a :box attribute value list; customize prints that
766 as lisp value when no box color is specified.
767
768 * .gdbinit (pitx, pit): Pretty print display iterator.
769 (prowx, prow): Pretty print glyph row.
770 (pcursorx, pcursor): Pretty print a window cursor.
771 (pwinx, pwin): Pretty print struct window.
772
773 2005-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
774
775 * alloc.c (BLOCK_BYTES): Harmless typo.
776
777 2005-02-17 Andreas Schwab <schwab@suse.de>
778
779 * xfns.c (hack_wm_protocols): Use correct type for last parameter
780 of XGetWindowProperty to avoid aliasing issues.
781 (Fx_window_property): Likewise.
782
783 * xselect.c (Fx_disown_selection_internal): Use union of struct
784 input_event and struct selection_input_event to avoid aliasing issues.
785
786 * xterm.c (handle_one_xevent): Use union of struct input_event and
787 struct selection_input_event to avoid aliasing issues.
788 (SET_SAVED_MENU_EVENT): Adapt reference to inev.
789
790 2005-02-17 Kim F. Storm <storm@cua.dk>
791
792 * dispextern.h (enum it_method): New enum.
793 (GET_FROM_*): Its members.
794 (struct it): Change member method from function pointer to enum.
795
796 * xdisp.c (check_it, init_from_display_pos, handle_stop)
797 (setup_for_ellipsis, handle_single_display_spec)
798 (handle_composition_prop, next_overlay_string)
799 (get_overlay_strings, reseat_1, reseat_to_string)
800 (next_element_from_ellipsis, BUFFER_POS_REACHED_P)
801 (in_display_vector_p, display_line, get_next_display_element):
802 Change it->method from function pointer to enum.
803 (get_next_element): New array to map it->method to function.
804 (get_next_display_element): Use it.
805 (set_iterator_to_next): Use switch instead of if/else chain.
806
807 2005-02-15 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
808
809 * w32select.c: Summary: Thorough rework to implement Unicode
810 clipboard operations and delayed rendering.
811
812 Drop last_clipboard_text and related code, keep track of
813 ownership via clipboard_owner instead. Drop old #if0 sections.
814
815 (DEFAULT_LCID, ANSICP, OEMCP, QUNICODE, QANSICP, QOEMCP)
816 (clipboard_owner, modifying_clipboard, cfg_coding_system)
817 (cfg_codepage, cfg_lcid, cfg_clipboard_type, current_text)
818 (current_coding_system, current_requires_encoding)
819 (current_num_nls, current_clipboard_type, current_lcid):
820 New static variables.
821
822 (convert_to_handle_as_ascii, convert_to_handle_as_coded)
823 (render, render_all, run_protected, lisp_error_handler)
824 (owner_callback, create_owner, setup_config)
825 (enum_locale_callback, cp_from_locale, coding_from_cp):
826 New local functions.
827
828 (term_w32select, globals_of_w32select): New global functions.
829
830 (Fw32_set_clipboard_data): Ignore parameter FRAME, use
831 clipboard_owner instead. Use delayed rendering and provide
832 all text formats. Provide CF_LOCALE if necessary.
833
834 (Fw32_get_clipboard_data): Handle CF_UNICODETEXT and
835 CF_LOCALE. Fall back to CF_TEXT, if CF_UNICODETEXT is not
836 available. Force DOS line-ends for decoding.
837
838 (Fx_selection_exists_p): Handle CF_UNICODETEXT.
839
840 (syms_of_w32select): Init and register new variables.
841
842 * w32.h: Add prototypes for globals_of_w32select and
843 term_w32select. Make the neighboring K&R declarations into
844 prototypes, too.
845
846 * emacs.c: Include w32.h to get function prototypes.
847 (main): Call globals_of_w32select.
848
849 * w32.c (term_ntproc): Call term_w32select.
850
851 * s/ms-w32.h: Guard MSC-specific #pragmas with an #ifdef.
852
853 2005-02-16 Kim F. Storm <storm@cua.dk>
854
855 * xdisp.c (BUFFER_POS_REACHED_P): Return true if pos reached and
856 at end of display vector.
857
858 2005-02-15 Richard M. Stallman <rms@gnu.org>
859
860 * xdisp.c (get_next_display_element): Fix escape-glyph criterion
861 for mode and header lines.
862
863 * lread.c (syms_of_lread) <user-init-file>: Doc fix.
864
865 * keymap.h (describe_map_tree): Change decl.
866
867 * keyboard.c (command_loop_1): Always use safe_run_hooks
868 to run Qdeferred_action_function.
869
870 * keymap.c (describe_map_tree): New arg MENTION_SHADOW. Calls changed.
871 (describe_map, describe_vector): Likewise. When it's 1,
872 don't omit shadowed bindings, instead mark them as shadowed.
873
874 * doc.c (Fsubstitute_command_keys): Compute list of shadowing maps
875 for describe_map_tree. Pass 1 for MENTION_SHADOW.
876
877 * data.c (Fsetq_default): Allow no arg case.
878
879 2005-02-14 Kenichi Handa <handa@m17n.org>
880
881 * coding.c (encode_coding_string): Always return a unibyte string.
882 If NOCOPY is nonzero and there's no need of encoding, make STR
883 unibyte directly.
884
885 * xselect.c (lisp_data_to_selection_data): If OBJ is a non-ASCII
886 multibyte string, signal an error instead of aborting.
887
888 2005-02-12 Dan Nicolaescu <dann@ics.uci.edu>
889
890 * keyboard.c: If HAVE_FCNTL_H include fcntl.h.
891
892 2005-02-12 Kim F. Storm <storm@cua.dk>
893
894 * xdisp.c (expose_window): Don't fix overlaps for mode lines.
895
896 2005-02-10 Kim F. Storm <storm@cua.dk>
897
898 * xdisp.c (try_window_id): Set first_unchanged_at_end_row to NULL
899 if it moves outside window or it doesn't display text.
900
901 2005-02-09 Kim F. Storm <storm@cua.dk>
902
903 * undo.c (Fprimitive_undo): Check that undo function does not
904 switch buffer.
905
906 2005-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
907
908 * xselect.c (selection_data_to_lisp_data): For the special case
909 type == XA_ATOM, data contains array of int, not array of Atom.
910 (x_property_data_to_lisp, selection_data_to_lisp_data):
911 Comment update: data must be array of int for format == 32.
912
913 2005-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
914
915 * undo.c (Fprimitive_undo): Check veracity of delta,start,end.
916
917 2005-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
918
919 * xfns.c (Fx_change_window_property): Use long array when format is 32.
920 (Fx_window_property): If format is 32 and long is bigger than 32 bits,
921 convert long array returned from XGetWindowProperty to an int array.
922 (x_set_tool_bar_lines): Check that width and height is greater than
923 zero before clearing area.
924
925 * xselect.c (x_reply_selection_request): Pass long array to
926 XChangeProperty so that 64 bit longs are handeled correctly.
927 (x_get_window_property): If format is 32 and long is bigger than 32
928 bits convert data from XGetWindowProperty from long array to int array.
929 (lisp_data_to_selection_data): When the input is a vector and the
930 format is 32, allocate a long array even if long is bigger than 32 bits.
931 (x_fill_property_data): Use char, short and long as the man page
932 for XChangeProperty specifies. This way the data returned is OK for
933 both 32 and 64 bit machines.
934 (x_handle_dnd_message): Calculate size correctly even for 64 bit
935 machines.
936 (Fx_send_client_event): Undo change from 2005-02-05,
937 x_fill_property_data now handles that case.
938
939 * xfns.c (Fx_backspace_delete_keys_p): Add comment about the
940 reason for the approach in the code.
941
942 2005-02-07 Kim F. Storm <storm@cua.dk>
943
944 * undo.c (Fprimitive_undo): Record max one dummmy apply element.
945
946 2005-02-06 Richard M. Stallman <rms@gnu.org>
947
948 * eval.c (Frun_hook_with_args)
949 (Frun_hook_with_args_until_success)
950 (Frun_hook_with_args_until_failure): Doc fixes.
951
952 2005-02-05 Andreas Schwab <schwab@suse.de>
953
954 * sysdep.c (sys_subshell): Properly terminate execlp argument list.
955
956 2005-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
957
958 * xselect.c (Fx_send_client_event, x_handle_dnd_message): Handle
959 the longs in a XClientMessageEvent correctly when long is 64 bits.
960
961 2005-02-05 Eli Zaretskii <eliz@gnu.org>
962
963 * xfaces.c (face_color_supported_p): Use HAVE_WINDOW_SYSTEM
964 instead of HAVE_X_WINDOWS, for non-X windowed sessions.
965
966 2005-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
967
968 * xmenu.c (menubar_selection_callback): Force out GTK buffered
969 events so the menu event comes after them. This is to prevent sit-for
970 from exiting on buffered events directly after a menu selection,
971 lisp code for Help => About Emacs uses sit-for.
972
973 * gtkutil.c (create_menus): Connect selection-done event instead of
974 the deactivate event to deactivate_cb. This will make the last
975 leave event come before the call to deactivate_cb, so the leave
976 event does not make sit-for exit after a menu selection.
977
978 2005-02-03 Kim F. Storm <storm@cua.dk>
979
980 * dispnew.c (build_frame_matrix_from_leaf_window)
981 [!GLYPH_DEBUG]: Fix xassert.
982
983 * xfaces.c (x_free_gc) [!GLYPH_DEBUG]: Fix xassert.
984
985 * xfns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
986
987 2005-02-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
988
989 * mac.c: Use MAC_OS_X_VERSION_MAX_ALLOWED to conditionalize by
990 the compiling OS version.
991
992 * macfns.c (x_create_tip_frame): Likewise.
993
994 * macterm.c (mac_draw_string_common, x_make_frame_visible): Likewise.
995
996 2005-02-03 Richard M. Stallman <rms@gnu.org>
997
998 * xterm.c (x_error_quitter): On GCC 3 and up, specify noinline.
999
1000 * xdisp.c (echo_area_display): Clear echo_message_buffer.
1001
1002 * buffer.c (Fbury_buffer): Doc fix.
1003
1004 2005-02-02 Steven Tamm <steventamm@mac.com>
1005
1006 * macfns.c (unwind_create_frame): Fix compile error due to
1007 xassert being uncondition, but predicate is.
1008 * dispnew.c (update_window): Fix compile error due to
1009 xassert being uncondition, but predicate is.
1010
1011 2005-02-02 Miles Bader <miles@gnu.org>
1012
1013 * dispextern.h (xassert): Enable unconditionally.
1014
1015 2005-02-02 Kim F. Storm <storm@cua.dk>
1016
1017 * undo.c (Fprimitive_undo): Fix dummy apply undo entry.
1018
1019 2005-02-02 Kenichi Handa <handa@m17n.org>
1020
1021 * casefiddle.c (casify_object): Enable changing characters of
1022 different byte length.
1023 (casify_region): Fix loop condition, args to replace_range_2, and
1024 update opoint_byte.
1025
1026 * insdel.c (replace_range_2): Fix bugs in adjusting markers and point.
1027
1028 2005-02-01 Kim F. Storm <storm@cua.dk>
1029
1030 * xdisp.c (back_to_previous_visible_line_start): Reset iterator
1031 stack before calling handle_display_prop.
1032
1033 2005-01-31 Kim F. Storm <storm@cua.dk>
1034
1035 * undo.c (Qapply): New lisp var.
1036 (syms_of_undo): Intern and staticpro it.
1037 (Fprimitive_undo): Support formats (apply FUNNAME . ARGS) and
1038 (apply DELTA BEG END FUNNAME . ARGS) instead of (FUNNAME . ARGS).
1039
1040 * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
1041
1042 2005-01-30 Jesper Harder <harder@phys.au.dk>
1043
1044 * macterm.c (syms_of_macterm) <mac-reverse-ctrl-meta>
1045 <mac-emulate-three-button-mouse>: Fix docstring indentation.
1046
1047 2005-01-29 Luc Teirlinck <teirllm@auburn.edu>
1048
1049 * undo.c (syms_of_undo) <undo-outer-limit>: Doc update.
1050 Increase value to 3 Meg.
1051
1052 2005-01-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1053
1054 * xfns.c (show_hourglass): Use FRAME_X_WINDOW as parent for GTK,
1055 button events are not received otherwise.
1056
1057 2005-01-29 Richard M. Stallman <rms@gnu.org>
1058
1059 * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
1060
1061 * undo.c (Fprimitive_undo): Handle (FUNNAME . ARGS) by calling FUNNAME.
1062
1063 2005-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
1064
1065 * keymap.c (access_keymap): YAILOM.
1066
1067 2005-01-27 Kim F. Storm <storm@cua.dk>
1068
1069 * xdisp.c (get_phys_cursor_geometry): New function to calculate
1070 phys cursor position and size for hollow cursor. Position is
1071 aligned with get_glyph_string_clip_rect and ensures that a hollow
1072 cursor is shown, even when the actual glyph is not visible.
1073
1074 * dispextern.h (get_phys_cursor_geometry): Add prototype.
1075
1076 * xterm.c (x_clip_to_row): Ensure y >= 0.
1077 (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
1078
1079 * w32term.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
1080
1081 * macterm.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
1082
1083 2005-01-27 Stefan Monnier <monnier@iro.umontreal.ca>
1084
1085 * xterm.c (x_error_quitter): Add a prototype. Make it static again.
1086
1087 2005-01-27 Kim F. Storm <storm@cua.dk>
1088
1089 * xdisp.c (get_glyph_string_clip_rect): Always show a cursor
1090 glyph, even when row is only partially visible and actual cursor
1091 position is not visible.
1092
1093 2005-01-24 Richard M. Stallman <rms@gnu.org>
1094
1095 * xterm.c (x_error_quitter): No longer static, and moved after
1096 x_error_handler.
1097
1098 2005-01-24 Kim F. Storm <storm@cua.dk>
1099
1100 * xdisp.c (move_it_by_lines): If we move forward after going too
1101 far back, cancel move if end position is same as start position.
1102
1103 2005-01-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1104
1105 * dispextern.h (struct glyph_string): New members clip_head and
1106 clip_tail.
1107
1108 * xdisp.c (get_glyph_string_clip_rect): Restrict horizontal clip
1109 region to the area between clip_head and clip_tail.
1110 (draw_glyphs): Record the area that need to be actually redrawn to
1111 the new variables clip_head and clip_tail when there are
1112 overhangs. Set values of these variables to the corresponding
1113 members in struct glyph_string. Refine x coordinates for
1114 notice_overwritten_cursor using clip_head and clip_tail.
1115
1116 * macgui.h (STORE_XCHARSETSTRUCT): New macro.
1117
1118 * macterm.c (mac_compute_glyph_string_overhangs): Implement with
1119 QDTextBounds.
1120 (x_draw_glyph_string): Don't fill the background of the successor
1121 of a glyph with a right overhang if the successor will draw a cursor.
1122 (XLoadQueryFont): Obtain font metrics using QDTextBounds.
1123 (x_redisplay_interface): Add entry for compute_glyph_string_overhangs.
1124
1125 2005-01-24 Kim F. Storm <storm@cua.dk>
1126
1127 * window.c (window_scroll_pixel_based): Fix scrolling in the wrong
1128 direction if window height was smaller than next-screen-context-lines.
1129 Now always scroll at least one line in the requested direction.
1130 Ensure that we actually do scroll backwards when requested to do so.
1131
1132 * xdisp.c (redisplay_window): Only try to make cursor line fully
1133 visible once (to avoid redisplay loop).
1134
1135 2005-01-23 Kim F. Storm <storm@cua.dk>
1136
1137 * window.c (Fpos_visible_in_window_p): Simplify return value for
1138 partially visible rows.
1139 (window_scroll_pixel_based): Adapt to that change.
1140
1141 * window.c (window_scroll_pixel_based): Force moving to next line
1142 if scrolling doesn't move start point, e.g. if looking at tall image.
1143
1144 * xdisp.c (pos_visible_p): Return 0 if non-interactive.
1145 Clear last_height before calling line_bottom_y to get real height.
1146 Fix calculation of y.
1147
1148 2005-01-22 Steven Tamm <steventamm@mac.com>
1149
1150 * s/darwin.h: Removed PTY_ITERATION from here.
1151 (DARWIN): Define.
1152
1153 * process.c (init_process): Default process-connection-type to
1154 nil on darwin 6 or less, t if it is 7 or higher. This way the
1155 broken pty behavior is still allowed on darwin 6 for interactive
1156 processes for people that know what they are doing.
1157
1158 2005-01-22 Kim F. Storm <storm@cua.dk>
1159
1160 * window.c (auto_window_vscroll_p): New boolean.
1161 (syms_of_window): DEFVAR_BOOL it.
1162 (Fpos_visible_in_window_p): Extend return value to include RTOP
1163 and RBOT values if FULLY is nil.
1164 (window_scroll_pixel_based): Adjust vscroll for partially visible
1165 rows if auto_window_vscroll_p is set.
1166 (Fset_window_vscroll): Do nothing if vscroll is not modified.
1167
1168 * xdisp.c (pos_visible_p): Replace FULLY arg by RTOP and RBOT args
1169 to return number of partially invisible pixels at top and bottom
1170 of the dislay row at POS.
1171
1172 * lisp.h (pos_visible_p): Fix prototype.
1173
1174 2005-01-21 Richard M. Stallman <rms@gnu.org>
1175
1176 * fileio.c (Fcopy_file): Doc fix.
1177
1178 2005-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1179
1180 * gtkutil.c (xg_tool_bar_detach_callback): Remove unused variable bw.
1181 (xg_get_file_name): Move declaration ofx_use_old_gtk_file_dialog to
1182 start of function for older compilers.
1183
1184 2005-01-20 Richard M. Stallman <rms@gnu.org>
1185
1186 * editfns.c (Fmessage): If arg is "", return "" (as before).
1187
1188 * keymap.c (access_keymap): Protect from bad value of meta_prefix_char.
1189
1190 * .gdbinit (xgetptr, xgetint, xgettype): Copy $arg0 into a temp
1191 variable.
1192
1193 2005-01-20 Steven Tamm <steventamm@mac.com>
1194
1195 * editfns.c (Voperating_system_release): Add.
1196 (init_editfns): Assign new variable operating-system-release
1197 based on call to uname if available.
1198 (get_operating_system_release): Add function to
1199 allow c-level access to operating system release.
1200
1201 * config.h: Regenerated.
1202
1203 * s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or less.
1204 (MIN_PTY_KERNEL_VERSION): Define minimum kernel version for
1205 using ptys as '7'.
1206
1207 2005-01-20 Kim F. Storm <storm@cua.dk>
1208
1209 * alloc.c (STRING_MARKED_P, VECTOR_MARKED_P): Return boolean.
1210
1211 * xterm.c (x_draw_glyph_string_box): Fix last_x for full width rows.
1212 Thanks to Chong Yidong <cyd@stupidchicken.com> for debugging this.
1213
1214 * macterm.c (x_draw_glyph_string_box): Likewise.
1215
1216 * w32term.c (x_draw_glyph_string_box): Likewise.
1217
1218 * indent.c (Fvertical_motion): Temporarily disable selective display.
1219
1220 2005-01-19 Kim F. Storm <storm@cua.dk>
1221
1222 * xdisp.c (note_mode_line_or_margin_highlight): Fix :pointer
1223 image property.
1224
1225 * fns.c (sweep_weak_table): Advance prev pointer when we keep a pair.
1226
1227 2005-01-18 Kim F. Storm <storm@cua.dk>
1228
1229 * xdisp.c (fast_find_position): Backtrack to find first row if
1230 charpos is inside a display overlay that spans multiple lines.
1231
1232 2005-01-18 Kenichi Handa <handa@m17n.org>
1233
1234 * coding.c (decode_coding_iso2022): Translate invalid codes if
1235 translation-table is specified.
1236
1237 2005-01-18 Kim F. Storm <storm@cua.dk>
1238
1239 * xdisp.c (back_to_previous_visible_line_start): Undo 2004-12-28
1240 change. If handle_display_prop indicates newline is replaced by
1241 image or text, move back to start of relevant overlay or interval
1242 and continue scan from there. Simplify.
1243
1244 2005-01-17 Kim F. Storm <storm@cua.dk>
1245
1246 * dispnew.c (mode_line_string, marginal_area_string):
1247 Fix off-by-one error in search for glyph.
1248
1249 2005-01-16 Kim F. Storm <storm@cua.dk>
1250
1251 * macterm.c (syms_of_macterm) <mac-allow-anti-aliasing>: Doc fix.
1252
1253 2005-01-16 Steven Tamm <steventamm@mac.com>
1254
1255 * macterm.c (mac_to_x_fontname): Remove spurious argument.
1256
1257 2005-01-16 Andreas Schwab <schwab@suse.de>
1258
1259 * macterm.c (mac_draw_string_common): Fix compilation on OSX 10.1.
1260
1261 2005-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1262
1263 * fringe.c (Fdefine_fringe_bitmap, init_fringe): When assigning
1264 fringe_faces, cast result from xmalloc/xrealloc to Lisp_Object *.
1265
1266 2005-01-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1267
1268 * keyboard.c (READABLE_EVENTS_DO_TIMERS_NOW)
1269 (READABLE_EVENTS_FILTER_EVENTS, READABLE_EVENTS_IGNORE_SQUEEZABLES):
1270 New flags for readable_events.
1271 (get_filtered_input_pending, readable_filtered_events): Remove.
1272 (tracking_off): Call readable_events and get_input_pending with
1273 flag READABLE_EVENTS_DO_TIMERS_NOW.
1274 (readable_events): Move code from old readable_filtered_events here,
1275 but check new READABLE_EVENTS_* in argument flags instead of previous
1276 two boolean arguments do_timers_now and filter_events.
1277 If we are doing mouse tracking and the mouse moved, return only if
1278 READABLE_EVENTS_IGNORE_SQUEEZABLES is not set in flags.
1279 (swallow_events): Call get_input_pending with flag
1280 READABLE_EVENTS_DO_TIMERS_NOW.
1281 (get_input_pending): Move code from old get_filtered_input_pending
1282 here. Replace boolean arguments do_timers_now, filter_events with
1283 flags, and pass flags to readable_events. Document new
1284 READABLE_EVENTS_* flags.
1285 (detect_input_pending_ignore_squeezables): New function.
1286 (detect_input_pending_run_timers): Call get_input_pending with flag
1287 READABLE_EVENTS_DO_TIMERS_NOW.
1288 (Finput_pending_p): Call get_input_pending with flags
1289 READABLE_EVENTS_DO_TIMERS_NOW and READABLE_EVENTS_FILTER_EVENTS.
1290
1291 * dispnew.c (update_window, update_frame_1): Replace calls to
1292 detect_input_pending with detect_input_pending_ignore_squeezables
1293 so that redisplay is not paused if the event queue contains only
1294 mouse movements.
1295
1296 * lisp.h: Declare detect_input_pending_ignore_squeezables.
1297
1298 2005-01-15 Steven Tamm <steventamm@mac.com>
1299
1300 * macterm.c (Vmac_use_core_graphics): Declare variable for
1301 mac-allow-anti-aliasing.
1302 (syms_of_macterm): DEFVAR_LISP and initialize it.
1303 (mac_draw_string_common): Use core graphics text rendering if
1304 mac-allow-anti-aliasing is enabled.
1305
1306 * macfns.c (Fx_file_dialog): Save As dialog includes only the
1307 file name in the text box.
1308
1309 2005-01-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1310
1311 * macfns.c (x_set_foreground_color, x_set_background_color):
1312 Sync with xfns.c.
1313 (mac_window, x_create_tip_frame): Use XSetWindowBackground.
1314 * macterm.c (XSetBackground, XSetWindowBackground): New functions.
1315 * macterm.h (XSetBackground, XSetWindowBackground): Add externs.
1316
1317 2005-01-14 Kim F. Storm <storm@cua.dk>
1318
1319 * keyboard.c (Fposn_at_x_y): Add optional arg WHOLE.
1320
1321 2005-01-13 Richard M. Stallman <rms@gnu.org>
1322
1323 * keymap.c (Fcurrent_active_maps): Ignore Voverriding_local_map
1324 if Voverriding_terminal_local_map is non-nil.
1325
1326 * keyboard.c (syms_of_keyboard): Doc fix.
1327
1328 2005-01-13 Kim F. Storm <storm@cua.dk>
1329
1330 * xdisp.c (Fformat_mode_line): Fix last change. Remove NO_PROPS arg
1331 (specify 0 for FACE instead). Reorder arg list. Doc fix.
1332
1333 2005-01-12 Richard M. Stallman <rms@gnu.org>
1334
1335 * xdisp.c (Fformat_mode_line): New arg FACE specifies a default
1336 face property for characters that don't specify one.
1337
1338 * fns.c (Frequire): Record in load-history unconditionally.
1339
1340 2005-01-10 Kim F. Storm <storm@cua.dk>
1341
1342 * dispextern.h (merge_faces): Rename from merge_into_realized_face.
1343
1344 * xfaces.c (merge_faces): Rename from merge_into_realized_face.
1345 Callers changed.
1346 Add support to merge with lisp face id too (if face_name is t).
1347
1348 * xdisp.c (get_next_display_element, next_element_from_display_vector):
1349 Don't lookup lface_id from display table glyphs here; instead use
1350 merge_faces to merge the lisp face id into current face.
1351
1352 2005-01-09 Kim F. Storm <storm@cua.dk>
1353
1354 * dispextern.h (struct it): New member dpvec_face_id.
1355 (merge_into_realized_face): Add prototype.
1356
1357 * xfaces.c (merge_into_realized_face): New function. Used to
1358 merge escape-glyph face or face from display table into current face.
1359
1360 * xdisp.c (Vshow_nonbreak_escape): New lisp var.
1361 (syms_of_xdisp): DEFVAR_LISP it.
1362 (escape_glyph_face): Remove var.
1363 (redisplay_window): Don't initialize it.
1364 (setup_for_ellipsis, get_next_display_element):
1365 Set it->dpvec_face_id to -1.
1366 (get_next_display_element): Test Vshow_nonbreak_escape.
1367 Do not setup escape_glyph_face.
1368 Properly merge escape-glyph face or face from display table with
1369 current face for escape and control characters.
1370 Set it->dpvec_face_id to relevant face id instead of adding it to each
1371 element of display vector.
1372 (next_element_from_display_vector): If it->dpvec_face_id is set,
1373 use that instead of lface_id from glyph itself.
1374
1375 2005-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1376
1377 * xterm.h (struct x_output): New member, toolbar_detached.
1378
1379 * gtkutil.c (xg_create_frame_widgets): Set initial tool bar height to
1380 38.
1381 (xg_tool_bar_detach_callback): Set toolbar_detached to 1.
1382 (xg_tool_bar_attach_callback): Set toolbar_detached to 0.
1383 (xg_create_tool_bar): Initialize toolbar_detached.
1384 (update_frame_tool_bar): Only set FRAME_TOOLBAR_HEIGHT (f) if
1385 toolbar_detached is zero.
1386
1387 2005-01-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1388
1389 * xmenu.c (create_and_show_popup_menu): Pass zero as button to
1390 gtk_menu_popup if not for_click, so callbacks for the menu are called.
1391
1392 * gtkutil.c (xg_gtk_scroll_destroy, xg_create_scroll_bar)
1393 (xg_tool_bar_callback, xg_tool_bar_help_callback)
1394 (update_frame_tool_bar): Cast to EMACS_INT to avoid compiler warning.
1395
1396 * xselect.c (x_get_foreign_selection, x_fill_property_data)
1397 (Fx_get_atom_name, Fx_send_client_event): Replace XFLOAT with
1398 XFLOAT_DATA to get extract number from Lisp object.
1399
1400 2005-01-07 Kim F. Storm <storm@cua.dk>
1401
1402 * xdisp.c (set_iterator_to_next): Fix 2004-12-13 change.
1403 Set stop_charpos to current charpos instead of 0.
1404
1405 2005-01-06 Nick Roberts <nickrob@snap.net.nz>
1406
1407 * xdisp.c (Fformat_mode_line): First arg now required.
1408
1409 2005-01-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1410
1411 * macterm.c (XLoadQueryFont): Correctly handle 0 size
1412 font widths that are returned from some Japanese fonts.
1413
1414 2005-01-06 Kim F. Storm <storm@cua.dk>
1415
1416 * fringe.c (fringe_faces): Change to Lisp_Object pointer.
1417 (draw_fringe_bitmap_1): Lookup user defined fringe faces here.
1418 (destroy_fringe_bitmap): Set fringe_faces element to nil.
1419 (Fdefine_fringe_bitmap, init_fringe): Change allocation of
1420 fringe_faces array and init elements to nil.
1421 (Fset_fringe_bitmap_face): Set fringe_faces to face name instead of
1422 non-persistent face id.
1423 (mark_fringe_data): New function for GC.
1424
1425 * alloc.c (mark_fringe_data): Declare extern.
1426 (Fgarbage_collect): Call mark_fringe_data.
1427
1428 * alloc.c (overrun_check_free): Invalidate freed memory if
1429 XMALLOC_CLEAR_FREE_MEMORY is defined.
1430
1431 2005-01-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1432
1433 * macfns.c: Include sys/param.h.
1434 [TARGET_API_MAC_CARBON] (mac_nav_event_callback): New declaration
1435 and function.
1436 [TARGET_API_MAC_CARBON] (Fx_file_dialog): Use MAXPATHLEN for size
1437 of filename string. Set event callback function when creating
1438 dialog boxes. Add code conversions for filenames. Don't dispose
1439 apple event descriptor record if failed to create it.
1440
1441 * macterm.c: Include sys/param.h.
1442 [USE_CARBON_EVENTS] (mac_handle_window_event): Add handler for
1443 kEventWindowUpdate.
1444 (install_window_handler) [USE_CARBON_EVENTS]: Register it.
1445 (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Get FSRef instead
1446 of FSSpec from apple event descriptor record.
1447 (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Use MAXPATHLEN for
1448 size of filename string.
1449 [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise.
1450 [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Return error when a
1451 file dialog is in action.
1452 [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise.
1453 Reject only when there are no filename items. Set background color
1454 before (un)highlighting the window below the dragged items.
1455 (XTread_socket) [USE_CARBON_EVENTS]: Don't call do_window_update.
1456
1457 2005-01-05 Romain Francoise <romain@orebokech.com>
1458
1459 * term.c (encode_terminal_code): Fix buffer size computation.
1460
1461 2005-01-04 Richard M. Stallman <rms@gnu.org>
1462
1463 * xdisp.c (Fformat_mode_line): Doc fix.
1464
1465 2005-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
1466
1467 * alloc.c (refill_memory_reserve): Move.
1468 (emacs_blocked_free, emacs_blocked_malloc, emacs_blocked_realloc)
1469 (reset_malloc_hooks, uninterrupt_malloc) [SYNC_INPUT]: Don't define.
1470
1471 2005-01-03 Richard M. Stallman <rms@gnu.org>
1472
1473 * window.c (window_scroll_pixel_based): Don't correct preserve_y
1474 for CURRENT_HEADER_LINE_HEIGHT when moving backwards.
1475
1476 2005-01-03 Jason Rumney <jasonr@gnu.org>
1477
1478 * w32bdf.c (w32_load_bdf_font): Set fontp->average_width and
1479 fontp->space_width to FONT_WIDTH so they are valid.
1480
1481 * w32fns.c (w32_load_system_font): Set FONT_WIDTH to maximum, not
1482 average width. Set fontp->average_width and fontp->space_width to
1483 their appropriate values.
1484
1485 * w32term.c (x_new_font): Set FRAME_COLUMN_WIDTH to
1486 fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
1487 fontp->space_width.
1488
1489 2005-01-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1490
1491 * macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
1492 (x_font_min_bounds, XLoadQueryFont): Use the correct font width
1493 metrics for max and min bounds.
1494 (x_load_font): Correctly calculate average font width metrics.
1495
1496 2005-01-02 Richard M. Stallman <rms@gnu.org>
1497
1498 * alloc.c (Fgarbage_collect): Don't truncate_undo_list on dead buffers.
1499
1500 2004-12-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1501
1502 * xterm.c (handle_one_xevent): Clear area in expose event for GTK.
1503
1504 2004-12-31 Richard M. Stallman <rms@gnu.org>
1505
1506 * xdisp.c (setup_for_ellipsis, get_next_display_element):
1507 Set it->ellipsis_p to 1 or 0.
1508 (display_line): Record whether row ends in mid-ellipsis.
1509 (set_cursor_from_row): If ends in ellipsis. find start of it.
1510 (cursor_row_p): If PT's at the end of the ellipsis the row
1511 ends within, don't display cursor on this row.
1512
1513 * dispextern.h (struct it): New element ellipsis_p.
1514 (struct glyph_row): New element ends_in_ellipsis_p.
1515
1516 * xdisp.c (BUFFER_POS_REACHED_P): We haven't reached the specified
1517 position if we're reading from something other than the buffer.
1518
1519 * window.c (window_scroll_pixel_based): Only look at
1520 Vscroll_preserve_screen_position if the old PT can't be kept.
1521 (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
1522
1523 2004-12-30 Kim F. Storm <storm@cua.dk>
1524
1525 * xdisp.c (get_line_height_property): New function extracted from
1526 original calc_line_height_property.
1527 (calc_line_height_property): Rework. Handle t and (nil . ratio).
1528 (x_produce_glyphs): Use them to handle line-height and
1529 line-spacing according to new height spec.
1530 (Qtotal): Remove.
1531 (syms_of_xdisp): Remove intern and staticpro for Qtotal.
1532
1533 2004-12-30 Kenichi Handa <handa@m17n.org>
1534
1535 * fileio.c (Finsert_file_contents): Don't use
1536 current_buffer->buffer_file_coding_system even if REPLACE is
1537 non-nil. Call Qafter_insert_file_set_coding with the second arg VISIT.
1538
1539 * fontset.h (struct font_info): New members space_width and
1540 average_width.
1541
1542 * frame.h (struct frame): New member space_width.
1543 (FRAME_SPACE_WIDTH): New macro.
1544
1545 * xterm.h (struct x_display_info): New member Xatom_AVERAGE_WIDTH.
1546
1547 * xterm.c (x_new_font): Set FRAME_COLUMN_WIDTH to
1548 fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
1549 fontp->space_width.
1550 (x_load_font): Calculate fontp->space_width and fontp->average_width.
1551 (x_term_init): Initialize dpyinfo->Xatom_AVERAGE_WIDTH.
1552
1553 * xdisp.c (x_produce_glyphs): Calculate tab width by
1554 FRAME_SPACE_WIDTH, not FRAME_COLUMN_WIDTH.
1555
1556 2004-12-29 Sanghyuk Suh <han9kin@mac.com>
1557
1558 * macterm.c (SelectionRange): Add Xcode position apple event struct.
1559 (do_ae_open_documents): Handle Xcode-style file position open events.
1560
1561 2004-12-29 Luc Teirlinck <teirllm@auburn.edu>
1562
1563 * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Correct typo.
1564
1565 2004-12-29 Richard M. Stallman <rms@gnu.org>
1566
1567 * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Doc fix.
1568
1569 2004-12-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1570
1571 * macfns.c (install_window_handler): Modify extern to return OSErr
1572 value.
1573 (mac_window): Handle return value of install_window_handler.
1574
1575 * macterm.c (reflect_byte): Remove function.
1576 (mac_create_bitmap_from_bitmap_data): Don't call reflect_byte.
1577 Lookup table instead.
1578 (mac_do_font_lists): Simplify calculation of the longest
1579 nonspecial string.
1580 (init_mac_drag_n_drop): Remove function and declaration.
1581 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
1582 init_mac_drag_n_drop.
1583 (mac_do_track_drag): New function and declaration.
1584 (install_window_handler): Return OSErr value.
1585 (install_window_handler) [TARGET_API_MAC_CARBON]:
1586 Register handlers for tracking/receiving drag-and-drop items.
1587 (do_ae_open_documents): Generate unibyte strings for filenames.
1588 (mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise.
1589 Reject only non-filename items. Set event modifiers, and return value.
1590
1591 2004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
1592
1593 * coding.c (decode_coding): Fix previous change.
1594
1595 2004-12-28 Richard M. Stallman <rms@gnu.org>
1596
1597 * xdisp.c (back_to_previous_visible_line_start):
1598 Don't call handle_display_prop.
1599
1600 2004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
1601
1602 * coding.c (decode_coding_XXX, decode_composition_emacs_mule)
1603 (decode_coding_emacs_mule, encode_coding_emacs_mule)
1604 (decode_coding_iso2022, encode_designation_at_bol)
1605 (encode_coding_iso2022, decode_coding_sjis_big5, decode_eol)
1606 (decode_coding): Constify arguments and local vars.
1607
1608 2004-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1609
1610 * xmenu.c (popup_get_selection): Only pop down dialogs
1611 on C-g and Escape.
1612 (popup_get_selection): Remove parameter down_on_keypress.
1613 (create_and_show_popup_menu, create_and_show_dialog):
1614 Remove parameter down_on_keypress to popup_get_selection.
1615
1616 2004-12-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1617
1618 * dispextern.h: Change HAVE_CARBON to MAC_OS.
1619 (struct glyph_string): Likewise.
1620
1621 * emacs.c (main) [MAC_OS8]: Call mac_term_init instead of
1622 mac_initialize.
1623
1624 * fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name):
1625 Change TARGET_API_MAC_CARBON to HAVE_CARBON.
1626
1627 * fns.c (vector): Change MAC_OSX to MAC_OS.
1628
1629 * frame.c (x_set_frame_parameters, x_report_frame_params)
1630 (x_set_fullscreen): Remove #ifndef HAVE_CARBON.
1631 (x_set_border_width, Vdefault_frame_scroll_bars):
1632 Change HAVE_CARBON to MAC_OS.
1633
1634 * image.c [MAC_OS]: Include sys/stat.h.
1635 [MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and
1636 QuickTimeComponents.h.
1637
1638 * mac.c [!MAC_OSX] (mac_wait_next_event): Add extern.
1639 [!MAC_OSX] (select): Use mac_wait_next_event.
1640 [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to Vexec_suffixes.
1641 [!MAC_OSX] (select, run_mac_command): Change `#ifdef
1642 TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
1643 (mac_clear_font_name_table): Add extern.
1644 (Fmac_clear_font_name_table): New defun.
1645 (syms_of_mac): Defsubr it.
1646 [MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define.
1647 [MAC_OSX] (select_and_poll_event): New function.
1648 [MAC_OSX] (sys_select): Use it.
1649 [MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function.
1650 [MAC_OSX && SELECT_USE_CFSOCKET]
1651 (SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines.
1652 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and
1653 RunLoop for simultaneously monitoring two kinds of inputs, window
1654 events and process outputs, without periodically polling.
1655
1656 * macfns.c (mac_initialized): Remove extern.
1657 (stricmp): Put in #if 0. All callers changed to use xstricmp in
1658 xfaces.c.
1659 (strnicmp): Decrement `n' at the end of each loop, not the beginning.
1660 (check_mac): Use the term "Mac native windows" instead of "Mac OS".
1661 (check_x_display_info, x_display_info_for_name): Sync with xfns.c.
1662 (mac_get_rdb_resource): New function (from w32reg.c).
1663 (x_get_string_resource): Use it.
1664 (install_window_handler): Add extern.
1665 (mac_window): New function.
1666 (Fx_create_frame): Use it instead of make_mac_frame.
1667 Set parameter for Qfullscreen. Call x_wm_set_size_hint.
1668 (Fx_open_connection, Fx_close_connection): New defuns.
1669 (syms_of_macfns): Defsubr them.
1670 (x_create_tip_frame) [TARGET_API_MAC_CARBON]:
1671 Add kWindowNoUpdatesAttribute to the window attribute.
1672 (x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow.
1673 (x_create_tip_frame): Don't call ShowWindow.
1674 (Fx_show_tip): Call ShowWindow.
1675 (Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if
1676 TARGET_API_MAC_CARBON'.
1677 (mac_frame_parm_handlers): Set handlers for Qfullscreen.
1678 (syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0.
1679
1680 * macgui.h [!MAC_OSX]: Don't include Controls.h. Include Windows.h.
1681 (Window): Typedef to WindowPtr and move outside `#if
1682 TARGET_API_MAC_CARBON'.
1683 (XSizeHints): New struct.
1684
1685 * macterm.c (x_update_begin, x_update_end)
1686 [TARGET_API_MAC_CARBON]: Disable screen updates during update of a
1687 frame.
1688 (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
1689 [MAC_OS8]: Use XDrawImageString/XDrawImageString16.
1690 (construct_mouse_click): Put in #if 0.
1691 (x_check_fullscreen, x_check_fullscreen_move): Remove decls.
1692 (x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef
1693 TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
1694 (activate_scroll_bars, deactivate_scroll_bars)
1695 [!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl.
1696 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window
1697 if the position is neither user-specified nor program-specified.
1698 (x_free_frame_resources): Free size_hints.
1699 (x_wm_set_size_hint): Allocate size_hints if needed. Set size_hints.
1700 (mac_clear_font_name_table): New function.
1701 (mac_do_list_fonts): Initialize font_name_table if needed.
1702 (x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT
1703 around mac_do_list_fonts.
1704 (mac_unload_font): New function.
1705 (x_load_font): Add BLOCK_INPUT around XLoadQueryFont.
1706 (init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations
1707 and definitions with #if TARGET_API_MAC_CARBON.
1708 [USE_CARBON_EVENTS] (mac_handle_window_event): Add decl.
1709 (install_window_handler): Add decl.
1710 (do_window_update): Add BeginUpdate/EndUpdate for the tooltip
1711 window. Use UpdateControls. Get the rectangle that should be
1712 updated and restrict the target of expose_frame to it.
1713 (do_grow_window): Set minimum height/width according to size_hints.
1714 (do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow.
1715 (do_zoom_window): Don't use x_set_window_size.
1716 [USE_CARBON_EVENTS] (mac_handle_window_event): New function.
1717 (install_window_handler): New function.
1718 [!USE_CARBON_EVENTS] (mouse_region): New variable.
1719 [!USE_CARBON_EVENTS] (mac_wait_next_event): New function.
1720 (XTread_socket) [USE_CARBON_EVENTS]: Move call to
1721 GetEventDispatcherTarget inside BLOCK_INPUT.
1722 (XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event.
1723 Update mouse_region when mouse is moved.
1724 (make_mac_frame): Remove.
1725 (make_mac_terminal_frame): Put in #ifdef MAC_OS8.
1726 Initialize mouse pointer shapes. Change values of f->left_pos and
1727 f->top_pos. Don't use make_mac_frame. Use NewCWindow.
1728 Don't call ShowWindow.
1729 (mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from
1730 Vinvocation_name and Vsystem_name.
1731 (mac_make_rdb): New function (from w32term.c).
1732 (mac_term_init): Use it. Add BLOCK_INPUT. Error if display has
1733 already been opened. Don't pass argument to
1734 mac_initialize_display_info. Don't set dpyinfo->height/width.
1735 Add entries to x_display_list and x_display_name_list.
1736 (x_delete_display): New function.
1737 (mac_initialize): Don't call mac_initialize_display_info.
1738 (syms_of_macterm) [!MAC_OSX]: Don't call Fprovide.
1739
1740 * macterm.h (check_mac): Add extern.
1741 (struct mac_output): New member size_hints.
1742 (FRAME_SIZE_HINTS): New macro.
1743 (mac_unload_font): Add extern.
1744
1745 * xdisp.c (expose_window, expose_frame): Remove kludges for Mac.
1746
1747 * xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
1748
1749 2004-12-27 Richard M. Stallman <rms@gnu.org>
1750
1751 * buffer.c (Fbuffer_disable_undo): Delete (move to simple.el).
1752 (syms_of_buffer): Don't defsubr it.
1753
1754 * process.c (list_processes_1): Set undo_list instead
1755 of calling Fbuffer_disable_undo.
1756
1757 * xdisp.c (single_display_spec_string_p): Rename from
1758 single_display_prop_string_p.
1759 (single_display_spec_intangible_p): Rename from
1760 single_display_prop_intangible_p.
1761 (handle_single_display_spec): Rename from handle_single_display_prop.
1762 Rewritten to be easier to understand.
1763
1764 Change in load-history format. Functions now get (defun . NAME),
1765 and variables get just NAME.
1766
1767 * data.c (Fdefalias): Use (defun . FN_NAME) in LOADHIST_ATTACH.
1768
1769 * eval.c (Fdefun, Fdefmacro): Use (defun . FN_NAME) in LOADHIST_ATTACH.
1770 (Fdefvaralias, Fdefvar, Fdefconst): Use just SYM in LOADHIST_ATTACH.
1771 (Qdefvar): Var deleted.
1772 (syms_of_eval): Don't initialze it.
1773
1774 * lread.c (syms_of_lread) <load-history>: Doc fix.
1775
1776 2004-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1777
1778 * xmenu.c (popup_get_selection): Pop down on C-g.
1779 (set_frame_menubar): Install translations for Lucid/Motif/Lesstif that
1780 pops down menu on C-g.
1781 (xdialog_show): If dialog popped down and no button in the dialog was
1782 pushed, call Fsignal to quit.
1783 (xmenu_show): In no toolkit version, if menu returns NO_SELECT call
1784 Fsignal to quit.
1785
1786 * xfns.c (Fx_file_dialog): Motif/Lesstif version: Pop down on C-g.
1787
1788 * gtkutil.c (xg_initialize): Install bindings for C-g so that
1789 dialogs and menus pop down.
1790
1791 2004-12-27 Kenichi Handa <handa@m17n.org>
1792
1793 * coding.c (code_convert_region): Fix calculation of `ratio'.
1794
1795 2004-12-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1796
1797 * gtkutil.c (update_frame_tool_bar): Make the value of
1798 tool-bar-button-margin control margins of images in tool bar.
1799
1800 * alloc.c (check_depth): New variable.
1801 (overrun_check_malloc, overrun_check_realloc): Only add
1802 overhead and write check pattern if check_depth is 1 (to handle
1803 recursive calls). Increase/decrease check_depth in entry/exit.
1804 (overrun_check_free): Only check for overhead if check_depth is 1.
1805 Increase/decrease check_depth in entry/exit.
1806
1807 2004-12-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1808
1809 * keyboard.c (input_available_signal): Call SIGNAL_THREAD_CHECK
1810 before touching input_available_clear_time, to avoid accessing it
1811 from multiple threads.
1812
1813 2004-12-23 Jason Rumney <jasonr@gnu.org>
1814
1815 * image.c (__WIN32__) [HAVE_NTGUI]: Define for correct behaviour
1816 of JPEG library.
1817
1818 2004-12-22 Richard M. Stallman <rms@gnu.org>
1819
1820 * emacs.c (main): If batch mode, set Vundo_outer_limit to nil.
1821
1822 * lisp.h (Vundo_outer_limit): Fix decl.
1823
1824 * undo.c (Vundo_outer_limit): Replaces undo_outer_limit.
1825 Uses changed.
1826 (syms_of_undo): Initialize appropriately.
1827 (truncate_undo_list): If it's nil, there's no limit.
1828
1829 2004-12-22 Kenichi Handa <handa@m17n.org>
1830
1831 * xselect.c (Fx_get_cut_buffer_internal): Return a unibyte string.
1832
1833 2004-12-21 Richard M. Stallman <rms@gnu.org>
1834
1835 * eval.c (unwind_to_catch): Clear immediate_quit.
1836
1837 * xdisp.c (get_next_display_element): Display codes 8a0 and 8ad
1838 specially as `\ ' and `\-'.
1839
1840 * keyboard.c (kbd_buffer_store_event_hold):
1841 In the code for while-no-input, handle immediate_quit.
1842
1843 * alloc.c (Fgarbage_collect): Update call to truncate_undo_list.
1844 Call that at the very start.
1845 (undo_limit, undo_strong_limit, undo_outer_limit): Move to undo.c.
1846 (syms_of_alloc): Don't define undo-limit,
1847 undo-strong-limit and undo-outer-limit here.
1848
1849 * undo.c (truncate_undo_list): Return void.
1850 Take just one argument, the buffer.
1851 Make it current, and inhibit recursive GC.
1852 Access and update the undo list directly; return void.
1853 Refer to the undo...limit variables directly.
1854 Test undo_outer_limit only after counting the whole current command.
1855 When it's exceeded, call the function in undo-outer-limit-function.
1856 (undo_limit, undo_strong_limit, undo_outer_limit): From alloc.c.
1857 (Vundo_outer_limit_function): New variable.
1858 (syms_of_undo): Define undo-limit, undo-strong-limit
1859 and undo-outer-limit here, and undo-outer-limit-function.
1860 Doc fixes.
1861
1862 * lisp.h (truncate_undo_list): Update decl.
1863
1864 2004-12-21 Piet van Oostrum <piet@cs.uu.nl>
1865
1866 * fileio.c (Fread_file_name): Delete duplicates in
1867 file-name-history when history_delete_duplicates is true.
1868
1869 2004-12-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1870
1871 * macterm.c (mac_do_list_fonts): Fix memory leak
1872
1873 2004-12-20 Richard M. Stallman <rms@gnu.org>
1874
1875 * regex.c (re_match_2_internal) <symend, wordend>:
1876 Fix calls to UPDATE_SYNTAX_TABLE_FORWARD.
1877
1878 2004-12-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1879
1880 * macterm.c (endif, x_font_name_to_mac_font_name):
1881 Use maccentraleurroman instead of maccentraleuropean
1882 (mac_c_string_match, mac_do_list_fonts): Speed up font search by
1883 quickly finding a specific font without needing regexps.
1884
1885 2004-12-15 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1886
1887 * syssignal.h: Declare main_thread.
1888 (SIGNAL_THREAD_CHECK): New macro.
1889
1890 * keyboard.c (input_available_signal): Move thread checking code
1891 to macro SIGNAL_THREAD_CHECK and call that macro.
1892 (interrupt_signal): Call SIGNAL_THREAD_CHECK.
1893
1894 * alloc.c (uninterrupt_malloc): Move main_thread to emacs.c.
1895
1896 * emacs.c: Define main_thread.
1897 (main): Initialize main_thread.
1898 (handle_USR1_signal, handle_USR2_signal, fatal_error_signal)
1899 (memory_warning_signal): Call SIGNAL_THREAD_CHECK.
1900
1901 * floatfns.c (float_error): Call SIGNAL_THREAD_CHECK.
1902
1903 * dispnew.c (window_change_signal): Call SIGNAL_THREAD_CHECK.
1904
1905 * sysdep.c (select_alarm): Call SIGNAL_THREAD_CHECK.
1906
1907 * process.c (send_process_trap, sigchld_handler):
1908 Call SIGNAL_THREAD_CHECK.
1909
1910 * data.c (arith_error): Call SIGNAL_THREAD_CHECK.
1911
1912 * atimer.c (alarm_signal_handler): Call SIGNAL_THREAD_CHECK.
1913
1914 * xterm.c (xg_scroll_callback): Update XG_LAST_SB_DATA before
1915 returning when xg_ignore_gtk_scrollbar is true.
1916
1917 2004-12-14 Kim F. Storm <storm@cua.dk>
1918
1919 * keyboard.c (read_char): Save and restore echo_string when
1920 handling input method.
1921
1922 2004-12-13 Richard M. Stallman <rms@gnu.org>
1923
1924 * eval.c (syms_of_eval) <quit-flag>: Doc fix.
1925
1926 * keyboard.c (Vthrow_on_input): New variable.
1927 (syms_of_keyboard): Defvar and initialize it.
1928 (kbd_buffer_store_event_hold): Handle Vthrow_on_input.
1929
1930 * lisp.h (QUIT): Check for Vthrow_on_input.
1931 (Vthrow_on_input): Declare it.
1932
1933 2004-12-13 Kim F. Storm <storm@cua.dk>
1934
1935 * xdisp.c (set_iterator_to_next): Reset stop_charpos after display
1936 vector.
1937
1938 2004-12-12 Richard M. Stallman <rms@gnu.org>
1939
1940 * indent.c (Fvertical_motion): Call move_it_by_lines even if LINES = 0.
1941
1942 * minibuf.c (Fall_completions): Add var `zero' and use it in loop.
1943 (Ftry_completion): Really use outer `zero'; eliminate inner one.
1944
1945 2004-12-12 Kenichi Handa <handa@m17n.org>
1946
1947 * term.c (encode_terminal_code): Fix previous change.
1948
1949 2004-12-11 Stefan Monnier <monnier@iro.umontreal.ca>
1950
1951 * keyboard.c (handle_async_input): Remove pthread mutex handling.
1952 (input_available_signal): Move pthread thingy to !SYNC_INPUT branch.
1953
1954 * syntax.c (Fforward_word): Avoid non-idempotent side-effects
1955 in macro arguments.
1956
1957 * minibuf.c (Ftry_completion, Fall_completions): Don't use
1958 XFASTINT blindly.
1959
1960 * emacs.c (main, Fdump_emacs): Don't touch malloc hooks if SYNC_INPUT.
1961
1962 2004-12-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1963
1964 * w32term.c (x_calc_absolute_position): Remove calculation of
1965 difference between inner and outer window. Don't subtract difference
1966 for left and top calculations.
1967
1968 * xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff
1969 for left and top calculations. Remove call to x_real_positions.
1970 [Bug report by Drew Adams in November]
1971 (x_check_expected_move): Do not set change_gravity to 1 when calling
1972 x_set_offset.
1973
1974 2004-12-08 Richard M. Stallman <rms@gnu.org>
1975
1976 * xdisp.c (get_next_display_element): Use `escape-glyph' for
1977 control chars and escaped octal codes.
1978 (Qescape_glyph): New variable.
1979 (syms_of_xdisp): Initialize it.
1980 (escape_glyph_face): New variable.
1981 (redisplay_window): Initialize it.
1982
1983 2004-12-07 Paul Eggert <eggert@cs.ucla.edu>
1984
1985 * image.c (our_fill_input_buffer, jpeg_load, CHECK_LIB_AVAILABLE)
1986 (init_image): Use 1 rather than TRUE. TRUE's not always defined.
1987
1988 2004-12-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1989
1990 * emacs.c (Fdump_emacs): Add ! defined (SYSTEM_MALLOC) around
1991 reset_malloc_hooks.
1992
1993 * keyboard.c (handle_async_input, input_available_signal):
1994 Add ! defined (SYSTEM_MALLOC) around thread code.
1995
1996 * alloc.c: Add comment about the reason for (UN)BLOCK_INPUT_ALLOC.
1997
1998 2004-12-07 Stefan Monnier <monnier@iro.umontreal.ca>
1999
2000 * eval.c (init_eval_once): Increase max_specpdl_size to 1000.
2001
2002 * config.in: Regenerate.
2003
2004 2004-12-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2005
2006 * xmenu.c (Fx_popup_menu): Correct documentation about position.
2007 (xmenu_show): Do not call XTranslateCoordinates. Adjust position
2008 if not given by a mouse click to correspond with x-popup-menu
2009 documentation.
2010
2011 * config.in: Regenerate.
2012
2013 * gtkutil.c: Include signal.h and syssignal.h.
2014 (xg_get_file_name): Block and unblock __SIGRTMIN if defined.
2015
2016 * alloc.c: If HAVE_GTK_AND_PTHREAD, include pthread.h,
2017 new variables main_thread and alloc_mutex,
2018 define (UN)BLOCK_INPUT_ALLOC to use alloc_mutex to protect
2019 emacs_blocked_* calls and only do (UN)BLOCK_INPUT in the main thread.
2020 If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same as
2021 (UN)BLOCK_INPUT.
2022 (emacs_blocked_free, emacs_blocked_malloc)
2023 (emacs_blocked_realloc): Use (UN)BLOCK_INPUT_ALLOC.
2024 (uninterrupt_malloc): Initialize main_thread and alloc_mutex.
2025 (reset_malloc_hooks): New function.
2026
2027 * lisp.h: Declare reset_malloc_hooks.
2028
2029 * emacs.c (Fdump_emacs): Call reset_malloc_hooks.
2030
2031 * keyboard.c: Conditionally include pthread.h
2032 (handle_async_input, input_available_signalt): If not in the main
2033 thread, block signal, send signal to main thread and return.
2034
2035 * gtkutil.c (xg_get_file_with_chooser): Handle local files only.
2036 Set current folder in file chooser if default_filename is a directory.
2037
2038 2004-12-05 Stefan Monnier <monnier@iro.umontreal.ca>
2039
2040 * regex.c (GET_UNSIGNED_NUMBER): Signal an error when reaching the end.
2041 Remove redundant correctness checks.
2042 (regex_compile): Fix up error codes for \{..\} expressions.
2043
2044 2004-12-05 Richard M. Stallman <rms@gnu.org>
2045
2046 * regex.c (regex_compile): Fix end-of-pattern case for space.
2047
2048 2004-12-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2049
2050 * macterm.h (cfstring_create_with_utf8_cstring): Add prototype.
2051 * mac.c (cfstring_create_with_utf8_cstring): Add to prevent
2052 crashes with invalid characters.
2053 * macmenu.c (add_menu_item): Use it.
2054 * image.c (image_load_quartz2d): Likewise.
2055 * macfns.c (x_set_name, x_set_title): Likewise.
2056 (Fx_file_dialog): Likewise. Use constant CFRefs instead of
2057 creating them each time for labels.
2058
2059 2004-12-02 Richard M. Stallman <rms@gnu.org>
2060
2061 * config.in (RE_TRANSLATE_P): If make_number is not a macro,
2062 don't use it here.
2063
2064 * eval.c (Fcalled_interactively_p): Don't check INTERACTIVE.
2065 (interactive_p): Skip Scalled_interactively_p frames
2066 like Sinteractive_p frames.
2067 (unwind_to_catch): Clear handling_signal.
2068
2069 * data.c (Fmake_variable_buffer_local): Doc fix.
2070 (Fmake_local_variable): Doc fix.
2071
2072 * insdel.c (insert_from_string_before_markers)
2073 (insert_from_string): Don't modify buffer on empty insertion.
2074
2075 * window.c (Fget_lru_window, Fget_largest_window): Doc fixes.
2076
2077 2004-12-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2078
2079 * macmenu.c (add_menu_item): Fallback on MacRoman if encoding
2080 menu text as UTF8 fails.
2081
2082 2004-12-01 Kim F. Storm <storm@cua.dk>
2083
2084 * alloc.c: Add commentary for last change.
2085 (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): New macros to handle
2086 sizeof(size_t) != 4.
2087 (overrun_check_malloc, overrun_check_realloc, overrun_check_free):
2088 Use them. Also clear header and trailer of freed memory.
2089 (GC_STRING_OVERRUN_COOKIE_SIZE): Rename from GC_STRING_EXTRA.
2090 (string_overrun_cookie): Rename from string_overrun_pattern.
2091 (GC_STRING_EXTRA): Define from GC_STRING_OVERRUN_COOKIE_SIZE.
2092
2093 2004-12-01 Andreas Schwab <schwab@suse.de>
2094
2095 * lisp.h: Declare string_to_multibyte.
2096
2097 2004-12-01 Kenichi Handa <handa@m17n.org>
2098
2099 * w32console.c (w32con_write_glyphs): Decide coding here.
2100 Adjusted for the change of encode_terminal_code.
2101
2102 * term.c (encode_terminal_code): Don't make it "static".
2103
2104 2004-11-30 Kenichi Handa <handa@m17n.org>
2105
2106 * term.c (encode_terminal_buf, encode_terminal_bufsize): New variables.
2107 (encode_terminal_code): Argument changed. Encode all
2108 characters at once, and return a pointer to the result of encoding.
2109 (write_glyphs): Decide coding here. Adjusted for the above change.
2110 (insert_glyphs): Likewise.
2111 (term_init): Initialize encode_terminal_bufsize to 0.
2112
2113 * coding.c (Vcode_conversion_workbuf_name): New variable.
2114 (syms_of_coding): Initialize and staticpro it.
2115 (set_conversion_work_buffer): New function.
2116 (run_pre_post_conversion_on_str): Use it.
2117 (run_pre_write_conversin_on_c_str): New function.
2118
2119 * coding.h (run_pre_write_conversin_on_c_str): Extern it.
2120
2121 2004-11-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2122
2123 * keyboard.c: Don't undef SIGIO
2124 * s/darwin.h (NO_SOCK_SIGIO): Define NO_SOCK_SIGIO on carbon
2125 * Makefile.in (mac.o): Depend on blockinput.h and atimer.h.
2126 (macfns.o): Don't depend on ccl.h.
2127 * macfns.c (mac_frame_parm_handlers): Set handlers for
2128 Qleft_fringe and Qright_fringe.
2129 * macterm.c (mac_fill_rectangle_to_pixmap)
2130 (mac_draw_rectangle_to_pixmap, mac_copy_area_to_pixmap)
2131 (mac_copy_area_with_mask_to_pixmap, x_draw_image_foreground_1):
2132 Put in #if 0.
2133 (mac_scroll_area) [TARGET_API_MAC_CARBON]: Use ScrollWindowRect.
2134 (x_flush) [TARGET_API_MAC_CARBON]: Don't traverse frames.
2135 (XFlush) [TARGET_API_MAC_CARBON]: Define to an empty replacement.
2136 (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
2137 [!MAC_OS8]: Added ifdef'd out code for os8. Don't use
2138 XDrawImageString. Always draw background and foreground separately.
2139 (x_draw_image_foreground): Use clipping instead of computing the
2140 intersection rectangle.
2141 (x_draw_image_glyph_string): Don't draw an image with mask to a
2142 pixmap.
2143 (x_redisplay_interface): Set flush_display_optional member to 0.
2144 (XTread_socket): Correctly reset the TEConverter
2145 object.
2146
2147 2004-11-30 Kim F. Storm <storm@cua.dk>
2148
2149 * lisp.h: New defines to enable buffer overrun checking.
2150 (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST)
2151 (XMALLOC_OVERRUN_CHECK, GC_CHECK_CONS_LIST): Add.
2152
2153 * alloc.c: Add more checks for buffer overruns.
2154 (XMALLOC_OVERRUN_CHECK_SIZE, xmalloc_overrun_check_header)
2155 xmalloc_overrun_check_trailer, overrun_check_malloc)
2156 overrun_check_realloc, overrun_check_free): Add.
2157 (GC_STRING_EXTRA, string_overrun_pattern): Add.
2158 (check_sblock, allocate_string_data, compact_small_strings):
2159 Set and check string_overrun_pattern if GC_CHECK_STRING_OVERRUN.
2160 (check_cons_list): Condition on GC_CHECK_CONS_LIST.
2161 (check_string_free_list): Add.
2162 (allocate_string, sweep_strings): Call check_string_free_list.
2163
2164 * emacs.c (malloc_initialize_hook): Don't free malloc_state_ptr if
2165 XMALLOC_OVERRUN_CHECK to avoid crash during load.
2166
2167 2004-11-29 Kim F. Storm <storm@cua.dk>
2168
2169 * fns.c (concat): Use SAFE_ALLOCA.
2170
2171 2004-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
2172
2173 * sysdep.c (emacs_write): Don't use QUIT.
2174
2175 2004-11-29 Kenichi Handa <handa@m17n.org>
2176
2177 * buffer.c (init_buffer): Set current_buffer->directory to a
2178 multibyte string made by string_to_multibyte.
2179
2180 * emacs.c (init_cmdargs): Set unibyte strings in Vcommand_line_args.
2181
2182 2004-11-27 Andreas Schwab <schwab@suse.de>
2183
2184 * alloc.c (mark_stack): Call GC_MARK_SECONDARY_STACK if defined.
2185
2186 * s/gnu-linux.h: Enable no-op gcpros on ia64.
2187 (GC_MARK_SECONDARY_STACK) [__ia64__]: Define.
2188
2189 * filelock.c (lock_file_1): Call get_boot_time early.
2190 Increase buffer size.
2191
2192 2004-11-27 Eli Zaretskii <eliz@gnu.org>
2193
2194 * lisp.h (DECL_ALIGN): Define non-trivially only if NO_DECL_ALIGN
2195 is not defined.
2196
2197 2004-11-27 Kim F. Storm <storm@cua.dk>
2198
2199 * search.c (syms_of_search) <search-spaces-regexp>: Move 'doc:'
2200 marker out of doc string.
2201
2202 2004-11-26 Stefan Monnier <monnier@iro.umontreal.ca>
2203
2204 * s/darwin.h (POSIX_SIGNALS): Undo the removal of 2002-08-25,
2205 which was not mentioned in the log.
2206
2207 2004-11-26 Kim F. Storm <storm@cua.dk>
2208
2209 * fringe.c (update_window_fringes): Prefer truncation bitmaps over
2210 angle bitmaps at top/bottom line.
2211
2212 * xdisp.c: Undo recent changes for restoring saved_face_id. Instead,
2213 set it when it->method is set to next_element_from_display_vector.
2214 (setup_for_ellipsis): Add LEN argument. Callers changed.
2215 Set it->saved_face_id.
2216 (get_next_display_element): Use loop instead of recursion.
2217 Set it->saved_face_id. Combine duplicate code for ctr chars.
2218 (next_element_from_display_vector): Do not set it->saved_face_id.
2219 (next_element_from_ellipsis): Use setup_for_ellipsis.
2220
2221 2004-11-26 Eli Zaretskii <eliz@gnu.org>
2222
2223 * eval.c (Fdefvar): Declare pdl from last change as `volatile' to
2224 prevent compiler warnings.
2225
2226 2004-11-25 Stefan Monnier <monnier@iro.umontreal.ca>
2227
2228 * keyboard.c (command_loop_1): Print a message describing the key
2229 the user just pressed when this key has no binding.
2230
2231 * sysdep.c (sys_signal): Don't use SA_RESTART if SYNC_INPUT is set.
2232 (emacs_open, emacs_read, emacs_write): Check QUIT when interrupted.
2233
2234 * lread.c (readchar): Check QUIT when `getc' is interrupted.
2235
2236 2004-11-24 Richard M. Stallman <rms@gnu.org>
2237
2238 * coding.c (run_pre_post_conversion_on_str): Bind Qinhibit_read_only.
2239
2240 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>: Doc fix.
2241
2242 2004-11-24 Kim F. Storm <storm@cua.dk>
2243
2244 * xdisp.c (move_it_in_display_line_to, display_line):
2245 Restore saved_face_id also when truncate-lines or hscrolled.
2246
2247 2004-11-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2248
2249 * gtkutil.c (xg_get_file_name): Rename use-old-gtk-file-dialog to
2250 x-use-old-gtk-file-dialog.
2251
2252 * xfns.c: Define x_use_old_gtk_file_dialog.
2253 (syms_of_xfns): Rename use-old-gtk-file-dialog to x-... Move it
2254 outside ifdef USE_GTK.
2255
2256 2004-11-23 Stefan Monnier <monnier@iro.umontreal.ca>
2257
2258 * coding.h (ENCODE_FILE, DECODE_FILE, ENCODE_SYSTEM, DECODE_SYSTEM):
2259 Don't use XFASTINT blindly.
2260
2261 * config.in (RE_TRANSLATE_P): Don't use XFASTINT blindly.
2262
2263 * indent.c (skip_invisible): Avoid non-idempotent side-effects
2264 in macro arguments.
2265
2266 * keymap.c (Flookup_key): Check INTEGERP before XINT.
2267
2268 * lread.c (oblookup): Don't use XFASTINT blindly.
2269
2270 * window.c (Fset_window_scroll_bars): Don't use XINT if it isn't int.
2271 (decode_next_window_args, window_loop): Don't use XFASTINT blindly.
2272
2273 2004-11-23 Kim F. Storm <storm@cua.dk>
2274
2275 * dispextern.h (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P)
2276 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Not if dpvec_index is zero.
2277
2278 * xfaces.c (lookup_named_face): Add signal_p arg. Return -1 if
2279 signal_p is zero and face name is unknown.
2280 (Fx_list_fonts): Don't signal error in lookup_named_face.
2281 (Fface_font): Signal error in lookup_named_face.
2282 (ascii_face_of_lisp_face): Likewise.
2283
2284 * dispextern.h (lookup_named_face): Fix prototype.
2285
2286 * xdisp.c (handle_single_display_prop): Don't signal error in
2287 lookup_named_face for unknown fringe face name.
2288 (highlight_trailing_whitespace): Don't signal error in
2289 lookup_named_face if trailing-whitespace face unknown.
2290 (calc_line_height_property): Don't signal error in
2291 lookup_named_face if specified face name is unknown.
2292
2293 * fringe.c (update_window_fringes): Show top row indicator if
2294 window has header-line. Don't show arrow at bob and eob
2295 if the boundary indicators are not used.
2296 (Fset_fringe_bitmap_face): Signal error in lookup_named_face.
2297
2298 * window.c (set_window_buffer): Clear display_error_modiff.
2299
2300 2004-11-22 Kim F. Storm <storm@cua.dk>
2301
2302 * fringe.c (update_window_fringes): Provide sensible fall-back
2303 value for non-nil indicate-buffer-boundaries setting.
2304
2305 2004-11-22 Markus Rost <rost@ias.edu>
2306
2307 * minibuf.c (Fminibuffer_complete_and_exit): Fix previous change.
2308
2309 2004-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
2310
2311 * eval.c (Fdefvar): Warn when var is let-bound but globally void.
2312
2313 2004-11-21 Kim F. Storm <storm@cua.dk>
2314
2315 * xdisp.c (erase_phys_cursor): Clear hollow cursor inside TEXT_AREA.
2316
2317 * xterm.c (x_clip_to_row): Add area arg. Callers changed.
2318 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
2319
2320 * w32term.c (w32_clip_to_row): Add area arg. Callers changed.
2321 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
2322
2323 * macterm.c (x_clip_to_row): Add area arg. Callers changed.
2324 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
2325
2326 * xdisp.c (move_it_in_display_line_to, display_line):
2327 Restore saved_face_id if overflow-newline-into-fringe is enabled and
2328 line is continued before or in middle of element from display vector.
2329
2330 * indent.c (Fvertical_motion): Fix last change. Use another
2331 method to detect if iterator moved too far ahead after reseat.
2332
2333 * xdisp.c (IT_EXPAND_MATRIX_WIDTH): New macro. Do not
2334 expand matrix width for overflow in zero-width area.
2335 (append_glyph, append_composite_glyph, produce_image_glyph)
2336 (append_stretch_glyph): Use it to avoid loop in redisplay.
2337 (note_mode_line_or_margin_highlight): Don't let help-echo from
2338 string override help-echo from image map.
2339
2340 2004-11-20 Luc Teirlinck <teirllm@auburn.edu>
2341
2342 * fns.c (Fyes_or_no_p): Call Fread_from_minibuffer with extra argument.
2343 * callint.c (Fcall_interactively): Ditto.
2344
2345 2004-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
2346
2347 * minibuf.c (Fminibuffer_complete_and_exit):
2348 Fixup the case of the completed value, for case-indep completion.
2349
2350 2004-11-20 Richard M. Stallman <rms@gnu.org>
2351
2352 * lisp.h (Fread_from_minibuffer): Add arg in decl.
2353
2354 * minibuf.c (read_minibuf): New arg KEEP_ALL. Callers changed.
2355 (Fread_from_minibuffer): New arg KEEP_ALL. Callers changed.
2356
2357 * search.c (Vsearch_spaces_regexp):
2358 Rename from Vsearch_whitespace_regexp. All uses changed.
2359
2360 2004-11-20 Thien-Thi Nguyen <ttn@gnu.org>
2361
2362 * eval.c (init_eval_once): Increase `max_specpdl_size' to 650.
2363
2364 2004-11-19 Richard M. Stallman <rms@gnu.org>
2365
2366 * search.c (Vsearch_whitespace_regexp): New variable.
2367 (syms_of_search): Defvar it.
2368 (compile_pattern_1): Call re_set_whitespace_regexp with it.
2369 (search_buffer): No regexp is trivial if Vsearch_whitespace_regexp
2370 is non-nil.
2371 (struct regexp_cache): New element whitespace_regexp.
2372 (syms_of_search): Initialize whitespace_regexp elements.
2373 (compile_pattern): Compare whitespace_regexp elements.
2374 (compile_pattern_1): Set whitespace_regexp elements.
2375
2376 * regex.c (regex_compile): Substitute whitespace_regexp
2377 for spaces, if it is nonzero.
2378 (whitespace_regexp): New variable.
2379 (re_set_whitespace_regexp): New function.
2380
2381 2004-11-19 Kim F. Storm <storm@cua.dk>
2382
2383 * indent.c (Fvertical_motion): Fix last change.
2384
2385 2004-11-18 Kim F. Storm <storm@cua.dk>
2386
2387 * indent.c (Fvertical_motion): Undo 2004-11-16 change.
2388 Instead, move back again if reseating moves too far ahead.
2389
2390 2004-11-17 Luc Teirlinck <teirllm@auburn.edu>
2391
2392 * xdisp.c (message3): Call clear_message.
2393
2394 2004-11-17 Kim F. Storm <storm@cua.dk>
2395
2396 * xdisp.c (erase_phys_cursor): Adjust cursor row visible height.
2397
2398 2004-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2399
2400 * gtkutil.c (xg_get_file_name): Typo in HAVE_GTK_FILE_SELECTION_NEW.
2401
2402 * xmenu.c (x_menu_in_use): Remove.
2403 (x_menu_set_in_use): Also set popup_activated_flag.
2404
2405 * xfns.c (Fx_file_dialog): Call popup_activated instead of
2406 x_menu_in_use. Call x_menu_set_in_use in Motif version also.
2407
2408 * xterm.h: (x_menu_in_use): Remove.
2409
2410 2004-11-16 Richard M. Stallman <rms@gnu.org>
2411
2412 * keymap.c (Fmap_keymap): New arg SORT-FIRST.
2413 Use map-keymap-internal to implement that.
2414
2415 * indent.c (Fvertical_motion): In batch mode, use vmotion directly.
2416
2417 2004-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
2418
2419 * xdisp.c (get_glyph_string_clip_rect, init_glyph_string): Check it's
2420 a window before using XWINDOW.
2421
2422 * window.c (make_window, Fselect_window, make_dummy_parent)
2423 (save_window_save):
2424 * frame.c (make_frame):
2425 * fns.c (concat): Avoid side-effects inside XSETFASTINT's arguments.
2426
2427 * lisp.h (NILP): Use EQ rather than XFASTINT.
2428
2429 2004-11-16 Kim F. Storm <storm@cua.dk>
2430
2431 * fringe.c (Fdefine_fringe_bitmap): Always set 'h'. Simplify.
2432
2433 * indent.c (Fvertical_motion): Fix last change. Only reseat when
2434 moving backwards.
2435
2436 2004-11-16 Luc Teirlinck <teirllm@auburn.edu>
2437
2438 * dispextern.h: Extern reseat_at_previous_visible_line_start.
2439
2440 2004-11-16 Kenichi Handa <handa@m17n.org>
2441
2442 * xdisp.c (display_mode_element): Fix previous change (calculate
2443 end position of substring to display correctly).
2444
2445 2004-11-16 Kim F. Storm <storm@cua.dk>
2446
2447 * keyboard.c (Fposn_at_point): Remove extra */ after doc string.
2448 Reported by Andrew M. Scott.
2449
2450 2004-11-15 Kim F. Storm <storm@cua.dk>
2451
2452 * fns.c (Fsafe_plist_get): New defun.
2453 (syms_of_fns): Defsubr it.
2454
2455 * lisp.h (Fsafe_plist_get): Add EXFUN.
2456
2457 * xdisp.c (store_mode_line_string, produce_stretch_glyph):
2458 Use Fsafe_plist_get.
2459 (note_mode_line_or_margin_highlight, note_mouse_highlight):
2460 Fix image map element parsing. Use Fsafe_plist_get.
2461
2462 2004-11-15 Richard M. Stallman <rms@gnu.org>
2463
2464 * xdisp.c (get_next_display_element): Fix previous change.
2465
2466 2004-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2467
2468 * window.c (shrink_windows): Handle special case of one window left
2469 when trying to shrink the final reminder. Grow windows if
2470 total_removed is less than total_shrink.
2471
2472 * xmenu.c (pop_down_menu): Remove global variable current_menu,
2473 extract pointer from arg with XSAVE_VALUE.
2474 (create_and_show_popup_menu, create_and_show_dialog, xmenu_show):
2475 Construct arg to record_unwind_protect with make_save_value.
2476
2477 2004-11-13 Richard M. Stallman <rms@gnu.org>
2478
2479 * xdisp.c (reseat_at_previous_visible_line_start): No longer static.
2480 (get_next_display_element): Fix previous change to apply only to \n.
2481
2482 * indent.c (Fvertical_motion): Scan to PT from start of line to
2483 make iterator consistent.
2484
2485 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
2486
2487 2004-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2488
2489 * gtkutil.c (pop_down_file_dialog): Add BLOCK_INPUT.
2490
2491 * xfns.c (Fx_file_dialog): Call x_menu_in_use and x_menu_set_in_use.
2492 Record unwind with clean_up_file_dialog.
2493
2494 * xterm.h (x_menu_in_use, x_menu_set_in_use, x_menu_wait_for_event):
2495 Declare.
2496
2497 * xmenu.c (x_menu_in_use, x_menu_set_in_use): New functions.
2498
2499 2004-11-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2500
2501 * gtkutil.c (xg_file_sel_ok, xg_file_sel_cancel)
2502 (xg_file_sel_destroy): Remove.
2503 (xg_file_response_cb, pop_down_file_dialog)
2504 (xg_get_file_name_from_chooser, xg_get_file_name_from_selector):
2505 New functions.
2506 (xg_get_file_with_chooser, xg_get_file_with_selection):
2507 Take new arg func, set it to xg_get_file_name_from_chooser/selector.
2508 Move common code to xg_get_file_name. Return widget created.
2509 (xg_get_file_name): Set name, transient for, modal and destroy
2510 with parent here. Connect response signal to xg_file_response_cb,
2511 connect delete-event to gtk_true. Record pop_down_file_dialog
2512 for unwind. Do event loop and call x_menu_wait_for_event in loop.
2513 (xg_create_widget): Make dialogs modal.
2514
2515 * xmenu.c (unuse_menu_items, pop_down_menu): Arg is of type
2516 Lisp_Object.
2517 (popup_get_selection): Move unwind protect ...
2518 (create_and_show_popup_menu, create_and_show_dialog): ... to here.
2519 Move destroy of widget to pop_down_menu.
2520 (popup_widget_loop): Move unwind protect ...
2521 (create_and_show_popup_menu, create_and_show_dialog): ... to here.
2522 Move destroy of widget to pop_down_menu.
2523 (pop_down_menu): BLOCK_INPUT and destroy widget/window.
2524 (xmenu_show): Record unwind pop_down_menu. Move XMenuDestroy,
2525 x_mouse_leave and grabbed = 0 to pop_down_menu.
2526
2527 2004-11-13 Kim F. Storm <storm@cua.dk>
2528
2529 * xdisp.c (make_cursor_line_fully_visible_p): New variable.
2530 (syms_of_xdisp): DEFVAR_BOOL it.
2531 (make_cursor_line_fully_visible, try_cursor_movement)
2532 (try_window_id): Use it.
2533
2534 2004-11-12 Kim F. Storm <storm@cua.dk>
2535
2536 * dispextern.h (struct glyph_row): New member extra_line_spacing.
2537 (struct it): New member max_extra_line_spacing.
2538 (MR_PARTIALLY_VISIBLE, MR_PARTIALLY_VISIBLE_AT_TOP)
2539 (MR_PARTIALLY_VISIBLE_AT_BOTTOM): New helper macros.
2540 (MATRIX_ROW_PARTIALLY_VISIBLE_P): Fix to return false if invisible
2541 part of last line is only extra line spacing (so the text on the
2542 line is fully visible). Use helper macros.
2543 Add W arg (to use them). All callers changed.
2544 (MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P)
2545 (MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P): Use helper macros.
2546
2547 * window.c (window_scroll_pixel_based, Frecenter):
2548 Use move_it_vertically_backward directly.
2549 (Frecenter): Fix calculation of new start pos for negative arg.
2550 Before, the new start pos was sometimes chosen too far back, so
2551 the last line became only partially visible, and thus would be
2552 either only semi-visible or automatically scrolled to the middle
2553 of the window by redisplay.
2554
2555 * xdisp.c (init_iterator): Clear it.max_extra_line_spacing.
2556 (move_it_vertically_backward): Don't recure to move further back.
2557 (move_it_vertically): Remove superfluous condition.
2558 (move_it_by_lines): Clear last_height when moved 0 lines.
2559 (resize_mini_window): Use it.max_extra_line_spacing.
2560 (display_tool_bar_line): Clear row->extra_line_spacing.
2561 (try_scrolling): Use move_it_vertically_backward directly.
2562 (redisplay_window): Likewise.
2563 (compute_line_metrics): Set row->extra_line_spacing.
2564 (display_line, display_string): Likewise.
2565 (x_produce_glyphs): Update it->max_extra_line_spacing.
2566
2567 * xmenu.c (pop_down_menu): Return nil.
2568
2569 2004-11-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2570
2571 * xmenu.c (x_menu_wait_for_event): New function.
2572 (popup_get_selection, popup_widget_loop): Call x_menu_wait_for_event
2573 to handle timers.
2574 (popup_widget_loop): Add argument do_timers.
2575 (create_and_show_popup_menu, create_and_show_dialog): Pass 1 for
2576 do_timers to popup_widget_loop.
2577 (xmenu_show): Call XMenuActivateSetWaitFunction so that
2578 x_menu_wait_for_event is called by XMenuActivate.
2579 (create_and_show_popup_menu): Pass 1 for do_timers to
2580 popup_get_selection.
2581 (pop_down_menu): New function.
2582 (popup_get_selection, popup_widget_loop): Unwind protect to
2583 pop_down_menu.
2584 (popup_widget_loop): Add argument widget.
2585 (create_and_show_popup_menu, create_and_show_dialog): Pass new
2586 argument widget to popup_widget_loop.
2587
2588 2004-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
2589
2590 * keymap.c (Fkeymap_prompt): Accept symbol keymaps.
2591
2592 2004-11-09 Kim F. Storm <storm@cua.dk>
2593
2594 * xselect.c: Include <sys/types.h> and <unistd.h> (for getpid).
2595 Fix various comments referring to XEvents instead of input events.
2596 (x_queue_event): Fix format strings.
2597 (x_stop_queuing_selection_requests): Likewise.
2598
2599 * xdisp.c (produce_image_glyph): Remove unused variable 'face_ascent'.
2600 (pint2hrstr): Add extra braces to silence compiler.
2601
2602 * print.c (print_object): Fix format string.
2603
2604 * lread.c (read1): Fix next_char matching.
2605
2606 * lisp.h (Fdelete): Add EXFUN.
2607 (replace_range_2): Add prototype.
2608
2609 * keyboard.c (read_avail_input): Remove unused variable 'discard'.
2610
2611 * intervals.h (NULL_INTERVAL_P): Add separate version when
2612 ENABLE_CHECKING is not defined to silence compiler.
2613 (compare_string_intervals): Add prototype.
2614
2615 * fringe.c (destroy_fringe_bitmap): Fix return type.
2616 (Ffringe_bitmaps_at_pos): Remove unused var 'old_buffer'.
2617
2618 * emacs.c (Fdump_emacs): Fix format string.
2619
2620 * doc.c: Include <ctype.h>.
2621 (Fsubstitute_command_keys): Remove unused variable 'firstkey'.
2622
2623 * data.c (store_symval_forwarding): Remove unused variables.
2624
2625 * callint.c (Fcall_interactively): Remove unused variable 'funcar'.
2626
2627 2004-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2628
2629 * Makefile.in (stamp-oldxmenu): If HAVE_GTK, don't add dependencies
2630 to ${OLDXMENU}.
2631
2632 2004-11-09 Kim F. Storm <storm@cua.dk>
2633
2634 * process.c (Fmake_network_process): Remove kludge for interrupted
2635 connects on BSD. If connect is interrupted, just close socket and
2636 start over rather than sleeping and retry with same socket.
2637
2638 2004-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2639
2640 * .cvsignore: Add buildobj.lst.
2641
2642 * doc.c: New variable Vbuild_files.
2643 (Fsnarf_documentation): If Vbuild_files is nil, populate it with
2644 file names from buildobh.lst. Only attach docstrings from files
2645 that are in Vbuild_files.
2646 (syms_of_doc): Defvar Vbuild_files.
2647
2648 * Makefile.in (SOME_MACHINE_OBJECTS): Add fringe.o, image.o
2649 and w32*.o.
2650 (temacs${EXEEXT}): Generate buildobj.lst when temacs is linked.
2651 (mostlyclean): Rm buildobj.lst
2652
2653 * makefile.w32-in ($(TEMACS)): Generate buildobj.lst when temacs
2654 is linked.
2655
2656 2004-11-09 Kim F. Storm <storm@cua.dk>
2657
2658 * fringe.c (update_window_fringes): Update fringe bitmaps if
2659 cur and row ends_at_zv_p differs. If bitmaps of a row is updated,
2660 also update previous row to get rid of misc. artifacts.
2661
2662 2004-11-08 Kim F. Storm <storm@cua.dk>
2663
2664 * xdisp.c (fast_find_position): Fix start pos if header line present.
2665 (note_mouse_highlight): Clear mouse face if we move out of text area.
2666
2667 2004-11-08 Eli Zaretskii <eliz@gnu.org>
2668
2669 * editfns.c: Move #include "systime.h" before <sys/resource.h>.
2670 Don't include <sys/time.h> explicitly.
2671 Include <stdio.h> unconditionally, not just on MacOS.
2672
2673 2004-11-08 Kenichi Handa <handa@m17n.org>
2674
2675 * fontset.c (fontset_pattern_regexp): Cancel my previous change;
2676 don't pay attention to '\' before '*'.
2677 (fontset_pattern_regexp): Change the meaning of the second arg.
2678 (Fnew_fontset): Call fs_query_fontset, not Fquery_fontset.
2679 (check_fontset_name): Try NAME as literal at first, and if it
2680 failes, try NAME as pattern.
2681
2682 2004-11-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2683
2684 * emacs.c (Fdump_emacs): Only output warning on GNU/Linux.
2685
2686 2004-11-07 Andreas Schwab <schwab@suse.de>
2687
2688 * lisp.h (Fmsdos_downcase_filename): Declare.
2689 * dired.c (Fmsdos_downcase_filename): Don't declare here.
2690 * fileio.c: Likewise.
2691
2692 2004-11-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2693
2694 * dosfns.c (Fdos_memget, Fdos_memput): Use integer variable offs in
2695 comparisons with integers instead of Lisp_Object address.
2696 (Fmsdos_set_keyboard): Declare argument allkeys.
2697
2698 * msdos.c (IT_set_frame_parameters): Use EQ, not ==, for Lisp_Object:s.
2699
2700 * dired.c (Fmsdos_downcase_filename): Declare extern on MSDOS to avoid
2701 int/Lisp_Object mixup.
2702
2703 * fileio.c: Ditto.
2704
2705 2004-11-06 Steven Tamm <steventamm@mac.com>
2706
2707 * editfns.c: Need to include sys/time.h before resource.h on darwin.
2708
2709 2004-11-06 Richard M. Stallman <rms@gnu.org>
2710
2711 * callint.c (Fcall_interactively): Avoid reusing EVENT for other data.
2712
2713 * xfaces.c (merge_named_face): GCPRO the face_name in the
2714 named_merge_point struct that we make.
2715 (merge_face_heights): Eliminate GCPRO arg. All callers changed.
2716
2717 * keyboard.c (command_loop_1): Change Vtransient_mark_mode
2718 before deciding whether to inactivate mark.
2719
2720 2004-11-06 Lars Brinkhoff <lars@nocrew.org>
2721
2722 * config.in: Regenerate (add HAVE_GETRUSAGE).
2723 * editfns.c (Fget_internal_run_time): New function.
2724 (syms_of_data): Defsubr it.
2725 * fns.c (sxhash): As far as possible, merge calculation of
2726 hash code for symbols and strings.
2727
2728 2004-11-06 Eli Zaretskii <eliz@gnu.org>
2729
2730 * frame.c (syms_of_frame): Fix the example in the doc string.
2731
2732 2004-11-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2733
2734 * eval.c (Feval): Remove check for INPUT_BLOCKED_P.
2735
2736 * xmenu.c (popup_get_selection, create_and_show_popup_menu)
2737 (create_and_show_dialog): Revert change from 2004-10-31.
2738
2739 2004-11-05 Luc Teirlinck <teirllm@auburn.edu>
2740
2741 * macros.c (syms_of_macros) <defining-kbd-macro>: Doc fix.
2742
2743 2004-11-05 Kim F. Storm <storm@cua.dk>
2744
2745 * print.c (print_object): Print Lisp_Misc_Save_Value objects.
2746
2747 * fileio.c (Ffile_modes): Doc fix.
2748 (auto_save_1): Check for Ffile_modes nil value.
2749
2750 2004-11-05 Kim F. Storm <storm@cua.dk>
2751
2752 * xselect.c (struct selection_event_queue, selection_queue)
2753 (x_queue_selection_requests, x_queue_event)
2754 (x_start_queuing_selection_requests)
2755 (x_stop_queuing_selection_requests): Add new queue for selection
2756 input events to replace previous XEvent queue in xterm.c.
2757 (queue_selection_requests_unwind): Adapt to new queue.
2758 (x_reply_selection_request): Adapt to new queue.
2759 Unexpect wait_object in case of x errors (memory leak).
2760 (x_handle_selection_request, x_handle_selection_clear): Make static.
2761 (x_handle_selection_event): New function. May queue selection events.
2762 (wait_for_property_change_unwind): Use save_value instead of cons.
2763 Clear property_change_reply_object.
2764 (wait_for_property_change): Abort if already waiting.
2765 Use save_value instead of cons for unwind data.
2766 (x_handle_property_notify): Skip events already arrived, but don't
2767 free them, as "arrived" field is checked by wait_for_property_change,
2768 and it will be freed by unwind or explicit unexpect_property_change.
2769 (x_get_foreign_selection): Add to new queue.
2770 (receive_incremental_selection): Don't unexpect wait_object when done
2771 as it has already been freed by previous wait_for_property_change.
2772
2773 * xterm.h (x_start_queuing_selection_requests)
2774 (x_stop_queuing_selection_requests, x_handle_selection_request)
2775 (x_handle_selection_clear): Remove prototypes.
2776 (x_handle_selection_event): Add prototype.
2777
2778 * xterm.c (handle_one_xevent): Don't queue X selection events
2779 here, it may be too late if we start queuing after we have already
2780 stored some selection events into the kbd buffer.
2781 (struct selection_event_queue, queue, x_queue_selection_requests)
2782 (x_queue_event, x_unqueue_events, x_start_queuing_selection_requests)
2783 (x_stop_queuing_selection_requests): Remove/move to xselect.c.
2784 (x_catch_errors_unwind): Block input around final XSync.
2785
2786 * keyboard.h (kbd_buffer_unget_event): Add prototype.
2787
2788 * keyboard.c (kbd_buffer_store_event_hold): Remove obsolete code.
2789 (kbd_buffer_unget_event): New function.
2790 (kbd_buffer_get_event, swallow_events): Combine SELECTION events
2791 and use x_handle_selection_event.
2792 (mark_kboards): Don't mark x and y of SELECTION_CLEAR_EVENT.
2793
2794 2004-11-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2795
2796 * xselect.c (TRACE3): New debug macro.
2797 (x_reply_selection_request): Use it.
2798 (receive_incremental_selection): In call to TRACE0, the name of
2799 a symbol is in xname.
2800
2801 2004-11-05 Kim F. Storm <storm@cua.dk>
2802
2803 * fontset.c (fontset_pattern_regexp): Use unsigned char.
2804
2805 2004-11-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2806
2807 * fileio.c (Fnext_read_file_uses_dialog_p): New function.
2808
2809 * gtkutil.h (use_old_gtk_file_dialog): Declare.
2810
2811 * gtkutil.c: Make use_old_gtk_file_dialog non-static.
2812 (xg_initialize): Move DEFVAR_BOOL for use_old_gtk_file_dialog ...
2813 * xfns.c (syms_of_xfns): ... to here.
2814
2815 * gtkutil.c (xg_get_file_with_chooser): Expand DEFAULT_FILENAME if
2816 it doesn't start with /.
2817
2818 2004-11-04 Kenichi Handa <handa@m17n.org>
2819
2820 * fontset.c (fontset_pattern_regexp): If '*' is preceded by '\',
2821 treat it as a literal character.
2822
2823 2004-11-03 Kim F. Storm <storm@cua.dk>
2824
2825 * .gdbinit (ppt): New function.
2826
2827 2004-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2828
2829 * xterm.c (x_window_to_scroll_bar): Only call
2830 xg_get_scroll_id_for_window if toolkit scroll bars are used.
2831
2832 * gtkutil.c (xg_get_file_with_chooser): Use GTK_STOCK_OK instead
2833 of save.
2834
2835 2004-11-02 Andreas Schwab <schwab@suse.de>
2836
2837 * window.c (Fscroll_right): Fix last change.
2838
2839 2004-11-02 Kim F. Storm <storm@cua.dk>
2840
2841 * Makefile.in (callproc.o): Depend on blockinput.h atimer.h systime.h.
2842
2843 2004-11-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2844
2845 * callproc.c (Fcall_process): Block input around vfork.
2846
2847 2004-11-02 Kim F. Storm <storm@cua.dk>
2848
2849 * eval.c (Fcalled_interactively_p): Rename from Fcall_interactive_p.
2850 (syms_of_eval): Defsubr it.
2851
2852 2004-11-02 Richard M. Stallman <rms@gnu.org>
2853
2854 * insdel.c (replace_range_2): New function.
2855
2856 * casefiddle.c (casify_region): Handle changes in byte-length
2857 using replace_range_2.
2858
2859 * emacs.c (USAGE3): Delete --horizontal-scroll-bars, -hb.
2860
2861 * xdisp.c (back_to_previous_visible_line_start):
2862 Subtract 1 from pos when checking previous newline for invisibility.
2863
2864 * window.c (window_scroll_pixel_based): Update preserve_y
2865 for header line if any.
2866 (Fscroll_left, Fscroll_right): Don't call interactive_p;
2867 use a new second argument instead.
2868
2869 * eval.c (Fcall_interactive_p): New function.
2870 (interactive_p): Don't test INTERACTIVE here.
2871 (Finteractive_p): Doc fix.
2872
2873 * eval.c (Feval): Abort if INPUT_BLOCKED_P.
2874
2875 2004-11-02 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
2876
2877 * w32fns.c (w32_font_match): Use fast_string_match_ignore_case for
2878 comparing font names.
2879
2880 2004-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2881
2882 * fileio.c (Fread_file_name): Pass Qt as fifth parameter to
2883 Fx_file_dialog if only directories should be read.
2884
2885 * lisp.h: Fx_file_dialog takes 5 parameters.
2886
2887 * xfns.c (Fx_file_dialog): Both Motif and GTK version:
2888 Add parameter only_dir_p.
2889 In Motif version, don't put DEFAULT_FILENAME in filter part of the
2890 dialog, just text field part. Do not add DEFAULT_FILENAME
2891 to list of files if it isn't there.
2892 In GTK version, pass only_dir_p parameter to xg_get_file_name.
2893
2894 * macfns.c (Fx_file_dialog): Add parameter only_dir_p.
2895 Check only_dir_p instead of comparing prompt to "Dired". When using
2896 a save dialog, add option kNavDontConfirmReplacement, change title
2897 to "Enter name", change text for save button to "Ok".
2898
2899 * w32fns.c (Fx_file_dialog): Add parameter only_dir_p.
2900 Check only_dir_p instead of comparing prompt to "Dired".
2901
2902 * gtkutil.c (xg_get_file_with_chooser)
2903 (xg_get_file_with_selection): New functions, only defined ifdef
2904 HAVE_GTK_FILE_CHOOSER_DIALOG_NEW and HAVE_GTK_FILE_SELECTION_NEW
2905 respectively.
2906 (xg_get_file_name): Add parameter only_dir_p.
2907 Call xg_get_file_with_chooser or xg_get_file_with_selection
2908 depending on HAVE_GTK_FILE* and the value of use_old_gtk_file_dialog.
2909 (xg_initialize): New DEFVAR_BOOL use_old_gtk_file_dialog.
2910
2911 * gtkutil.h (xg_get_file_name): Add parameter only_dir_p.
2912
2913 * config.in: Rebuild (added HAVE_GTK_FILE_*).
2914
2915 2004-11-01 Kim F. Storm <storm@cua.dk>
2916
2917 * process.c (connect_wait_mask, num_pending_connects):
2918 Only declare and use them if NON_BLOCKING_CONNECT is defined.
2919 (init_process): Initialize them if NON_BLOCKING_CONNECT defined.
2920 (IF_NON_BLOCKING_CONNECT): New helper macro.
2921 (wait_reading_process_output): Only declare and use local vars
2922 Connecting and check_connect when NON_BLOCKING_CONNECT is defined.
2923
2924 2004-11-01 Andy Petrusenco <Igrek@star-sw.com> (tiny change)
2925
2926 * w32term.c (x_scroll_run): Delete region objects after use.
2927
2928 2004-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2929
2930 * xmenu.c: Add prototypes for forward function declarations.
2931 (popup_get_selection): Remove parameter do_timers, remove call to
2932 timer_check.
2933 (create_and_show_popup_menu, create_and_show_dialog):
2934 Remove parameter do_timers from call to popup_get_selection.
2935
2936 * xdisp.c (update_tool_bar): Pass a copy of f->tool_bar_items to
2937 tool_bar_items and assign the result to f->tool_bar_items if
2938 not equal. Move BLOCK/UNBLOCK_INPUT from around call to
2939 tool_bar_items to assignment of result.
2940
2941 * atimer.c (alarm_signal_handler): Do not call set_alarm if
2942 pending_atmers is non-zero.
2943
2944 2004-10-31 Kim F. Storm <storm@cua.dk>
2945
2946 * dispnew.c (margin_glyphs_to_reserve): Don't use ncols_scale_factor.
2947
2948 2004-10-28 Will <will@glozer.net>
2949
2950 * macterm.c: allow user to assign key modifiers to the Mac Option
2951 key via a 'mac-option-modifier' variable.
2952
2953 2004-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2954
2955 * xselect.c (Vx_lost_selection_functions, Vx_sent_selection_functions):
2956 Rename from Vx_lost_selection_hooks and Vx_sent_selection_hooks.
2957 (x_handle_selection_request, x_handle_selection_clear)
2958 (x_clear_frame_selections, syms_of_xselect): Adjust accordingly.
2959
2960 2004-10-28 Richard M. Stallman <rms@gnu.org>
2961
2962 * w32fns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
2963
2964 * xfns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
2965
2966 2004-10-27 Stefan Monnier <monnier@iro.umontreal.ca>
2967
2968 * syntax.c (scan_sexps_forward): Give precedence to a 2-char
2969 comment-starter over a 1-char one.
2970
2971 2004-10-27 Richard M. Stallman <rms@gnu.org>
2972
2973 * xdisp.c (get_next_display_element): In mode lines,
2974 treat newline and tab like other control characters.
2975
2976 * editfns.c (Fmessage): Doc fix.
2977
2978 * indent.c (vmotion): When moving up, check the newline before.
2979 Make prevline an int, not a Lisp_Object.
2980
2981 2004-10-27 Kim F. Storm <storm@cua.dk>
2982
2983 * editfns.c (Fformat): Allocate discarded table with SAFE_ALLOCA.
2984 Only allocate info and discarded tables once.
2985
2986 * lisp.h (USE_SAFE_ALLOCA): Add and init sa_must_free integer.
2987 (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Increment it when malloc is used.
2988 (SAFE_FREE): Test it to determine if we need to unwind to free.
2989 Remove size arg. All users changed.
2990 (SAFE_FREE_LISP) Remove. All users changed to use SAFE_FREE.
2991
2992 2004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2993
2994 * gtkutil.c: Put empty line between comment and function body.
2995 (xg_destroy_widgets): Rename from remove_from_container.
2996 Just destroy all widgets in list. Argument wcont removed.
2997 (xg_update_menubar, xg_update_submenu): Call xg_destroy_widgets
2998 instead of remove_from_container.
2999 (xg_display_close, xg_create_tool_bar, update_frame_tool_bar)
3000 (free_frame_tool_bar): Add comment.
3001
3002 * xfns.c (xic_create_xfontset): Check that FRAME_XIC_BASE_FONTNAME
3003 is not NULL before strcmp.
3004
3005 2004-10-26 Kim F. Storm <storm@cua.dk>
3006
3007 * callint.c (Fcall_interactively): Add 'U' code to get the
3008 up-event discarded by a previous 'k' or 'K' argument.
3009
3010 2004-10-26 David Kastrup <dak@gnu.org>
3011
3012 * buffer.c (syms_of_buffer): Fix a few typos.
3013
3014 2004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3015
3016 * xsmfns.c: Put empty line between comment and function body.
3017 Use two spaces before comment end.
3018
3019 2004-10-25 Kenichi Handa <handa@m17n.org>
3020
3021 * fontset.c (fontset_pattern_regexp): Optimize for the case that
3022 PATTERN is full XLFD.
3023
3024 2004-10-24 Kenichi Handa <handa@m17n.org>
3025
3026 * regex.h (enum reg_errcode_t): New value REG_ERANGEX.
3027
3028 * regex.c (re_error_msgid): Add an entry for REG_ERANGEX.
3029 (regex_compile): Return REG_ERANGEX if appropriate.
3030
3031 2004-10-22 Kenichi Handa <handa@m17n.org>
3032
3033 * editfns.c (Ftranslate_region_internal): New function.
3034 (syms_of_editfns): Defsubr it.
3035
3036 2004-10-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3037
3038 * xfns.c (xic_create_xfontset): Initialize missing_list to NULL.
3039
3040 2004-10-21 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
3041
3042 * xterm.h (x_output): New member `xic_base_fontname'.
3043 (FRAME_XIC_BASE_FONTNAME): New macro.
3044 (xic_free_xfontset): Declare.
3045
3046 * xfns.c (xic_create_xfontset): Share fontsets between frames
3047 based on base_fontname.
3048 (xic_free_xfontset): New function.
3049 (free_frame_xic): Use it.
3050 (xic_set_xfontset): Ditto.
3051
3052 * xterm.c (xim_destroy_callback): Ditto.
3053
3054
3055 2004-10-20 B. Anyos <banyos@freemail.hu> (tiny change)
3056
3057 * w32term.c (x_draw_glyph_string): Use overline_color for overlines.
3058
3059 2004-10-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3060
3061 * xterm.h (XSync): If USE_GTK, define XSync as process_all and then
3062 XSync.
3063
3064 * emacs.c (my_heap_start, heap_bss_diff, MAX_HEAP_BSS_DIFF):
3065 New variables and constant.
3066 (main): Calculate heap_bss_diff. If we are dumping and the
3067 heap_bss_diff is greater than MAX_HEAP_BSS_DIFF, set PER_LINUX32
3068 and exec ourself again.
3069 (Fdump_emacs): If heap_bss_diff is greater than MAX_HEAP_BSS_DIFF
3070 print a warning.
3071
3072 * lastfile.c: Make my_endbss and my_endbss_static available on all
3073 platforms.
3074
3075 * Makefile.in (RUN_TEMACS): Remove @SETARCH@.
3076 * config.in (HAVE_PERSONALITY_LINUX32): Regenerate.
3077
3078 2004-10-19 Luc Teirlinck <teirllm@auburn.edu>
3079
3080 * data.c (Flocal_variable_if_set_p): Doc fix.
3081
3082 2004-10-19 Jason Rumney <jasonr@gnu.org>
3083
3084 * w32.c (init_environment): Set emacs_dir correctly when running
3085 emacs from the build directory.
3086
3087 2004-10-19 Richard M. Stallman <rms@gnu.org>
3088
3089 * editfns.c (Fdelete_and_extract_region):
3090 If region is empty, return null string.
3091
3092 2004-10-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3093
3094 * gtkutil.h (xg_update_scrollbar_pos): Remove arguments real_left
3095 and canon_width.
3096 (xg_frame_cleared): Remove.
3097
3098 * gtkutil.c (xg_frame_cleared, xg_fixed_handle_expose)
3099 (xg_find_top_left_in_fixed): Remove.
3100 (xg_create_scroll_bar): Put an event box widget between
3101 the scroll bar widget and the edit widget.
3102 (xg_show_scroll_bar): Show the parent widget (the event box).
3103 (xg_remove_scroll_bar): Destroy parent (the event box) also.
3104 (xg_update_scrollbar_pos): Remove arguments real_left and canon_width.
3105 Move the parent (the event box) widget inside the fixed widget.
3106 Move window clear to xterm.c.
3107
3108 * gtkutil.h (xg_frame_cleared): Remove.
3109
3110 * xterm.c (x_clear_frame): Remove call to xg_frame_cleared
3111 (x_scroll_bar_create, XTset_vertical_scroll_bar):
3112 Remove arguments left and width to xg_update_scrollbar_pos.
3113 (XTset_vertical_scroll_bar): Do x_clear_area for USE_GTK also.
3114
3115 2004-10-19 Kenichi Handa <handa@m17n.org>
3116
3117 * xdisp.c (display_mode_element): Fix display of wide chars.
3118
3119 2004-10-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3120
3121 * gtkutil.c (xg_update_scrollbar_pos): Change XClearWindow to
3122 gdk_window_clear and move gdk_window_process_all_updates after
3123 clear so events are sent to the X server in correct order.
3124
3125 2004-10-18 Kenichi Handa <handa@m17n.org>
3126
3127 * fontset.c (fs_load_font): Use fast_string_match_ignore_case for
3128 comparing font names.
3129 (fs_query_fontset): Use fast_string_match for comparing fontset names.
3130 (list_fontsets): Likewise.
3131
3132 * search.c (fast_string_match_ignore_case): New function.
3133
3134 * lisp.h (fast_string_match_ignore_case): Extern it.
3135
3136 2004-10-17 Kim F. Storm <storm@cua.dk>
3137
3138 * xdisp.c (overlay_arrow_at_row): Return overlay string rather
3139 than bitmap if there is not left fringe.
3140 (get_overlay_arrow_glyph_row): Also used on windows system.
3141 (display_line): Display overlay string if no left fringe.
3142
3143 2004-10-16 Jason Rumney <jasonr@gnu.org>
3144
3145 * w32fns.c (w32_font_match): Encode font name being matched.
3146
3147 2004-10-16 Richard M. Stallman <rms@gnu.org>
3148
3149 * window.c (Fspecial_display_p): Doc fix.
3150
3151 2004-10-15 Stefan Monnier <monnier@iro.umontreal.ca>
3152
3153 * doc.c (Fsubstitute_command_keys): Fix remap-handling.
3154 Don't ignore menus, because where-is-internal already does it for us.
3155
3156 2004-10-15 Kim F. Storm <storm@cua.dk>
3157
3158 * xdisp.c (redisplay_window): Only update fringes and vertical
3159 border on window frames.
3160
3161 2004-10-14 Andreas Schwab <schwab@suse.de>
3162
3163 * m/ia64.h (DATA_SEG_BITS): Don't define.
3164
3165 2004-10-14 Kim F. Storm <storm@cua.dk>
3166
3167 * xterm.h: Include Xutil.h after keysym.h to work around bug
3168 in some X versions.
3169
3170 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
3171
3172 * fns.c (map_char_table): Add missing gcpros.
3173
3174 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
3175
3176 * keymap.c (get_keymap): An autoload form is not a keymap.
3177
3178 * textprop.c (syms_of_textprop): Make `syntax-table' nonsticky.
3179
3180 2004-10-13 Kim F. Storm <storm@cua.dk>
3181
3182 * callproc.c (Fcall_process): Simplify handling of display arg.
3183 Resume `display_on_the_fly' once a coding system is determined.
3184
3185 * xdisp.c (redisplay_preserve_echo_area): Fix last change.
3186
3187 2004-10-12 Kim F. Storm <storm@cua.dk>
3188
3189 * xdisp.c (redisplay_preserve_echo_area): Flush display in case
3190 caller, such as call-process, is not going to poll for input.
3191 (calc_line_height_property): Handle case where it->object is nil.
3192
3193 * xterm.c (x_redisplay_interface): Fix flush_display_optional.
3194
3195 2004-10-12 Kenichi Handa <handa@m17n.org>
3196
3197 * xdisp.c (get_next_display_element):
3198 If unibyte_display_via_language_environment is zero, display 8-bit
3199 chars in octal in unibyte buffer.
3200
3201 2004-10-12 Kim F. Storm <storm@cua.dk>
3202
3203 * doc.c (Fsubstitute_command_keys): Ignore remappings unless there
3204 are no ordinary bindings.
3205
3206 2004-10-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3207
3208 * xfns.c (syms_of_xfns): Defsubr x-file-dialog for GTK also.
3209
3210 2004-10-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3211
3212 * macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow.
3213 (x_lower_frame): Add BLOCK_INPUT around SendBehind.
3214 (make_mac_frame): Add BLOCK_INPUT around the making of a
3215 terminal frame.
3216 (mac_initialize): Add BLOCK_INPUT around carbon initialization.
3217 * macgui.h (mktime): Use emacs_mktime.
3218 * macfns.c (Fx_file_dialog): Add BLOCK_INPUT around more code.
3219 Make a cancel file-open dialog be like C-g.
3220 * mac.c (mktime): Use emacs_mktime.
3221 (Fdo_applescript): Add BLOCK_INPUT around do_applescript.
3222 (Fmac_paste_function): Add better error handling for carbon cut/paste.
3223
3224 2004-10-10 Kim F. Storm <storm@cua.dk>
3225
3226 * keyboard.c (timer_resume_idle): New function to resume idle
3227 timer without resetting timers on the idle list.
3228 (read_char): Use timer_resume_idle. Remove local var last_idle_start.
3229 (timer_start_idle, timer_stop_idle): Declare static.
3230 (read_key_sequence): Use timer_resume_idle instead of timer_start_idle.
3231
3232 * keyboard.h (timer_start_idle, timer_stop_idle): Remove prototypes.
3233
3234 2004-10-08 Steven Tamm <steventamm@mac.com>
3235
3236 * config.in (HAVE_MALLOC_MALLOC_H): Regenerate.
3237 * macterm.c (mac_check_for_quit_char): Remove warning for using
3238 NULL where 0 should be used.
3239 * unexmacosx.c: Use malloc/malloc.h on Tiger instead of
3240 objc/malloc.h
3241 * mac.c: Include time.h for Tiger compatibility.
3242
3243 2004-10-07 Kim F. Storm <storm@cua.dk>
3244
3245 * xdisp.c (redisplay_window): Fix flicker on vertical line between
3246 windows. Update vertical line after drawing window fringes, but
3247 only if actually drawing any bitmaps--or there is no fringe.
3248
3249 * xterm.c (x_update_window_end): Likewise.
3250 * macterm.c (x_update_window_end): Likewise.
3251 * w32term.c (x_update_window_end): Likewise.
3252
3253 * fringe.c (draw_window_fringes): Return value now indicates if
3254 any fringe bitmaps were redrawn (or there are no fringes).
3255
3256 * dispextern.h (draw_window_fringes): Update prototype.
3257
3258 2004-10-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3259
3260 * macfns.c (mac_get_window_bounds): Add extern.
3261 (x_real_positions): Use mac_get_window_bounds.
3262
3263 * macmenu.c (update_submenu_strings): Apply 2004-09-07 change for
3264 xmenu.c (YAILOM).
3265
3266 * macterm.c [!MAC_OSX]: Include Windows.h.
3267 (front_emacs_window): Rename from mac_front_window. All uses
3268 changed. Return the frontmost non-tooltip emacs window.
3269 (mac_get_window_bounds): New function.
3270 (x_calc_absolute_position): Use the difference of width and height
3271 between the inner and outer window.
3272 (x_set_offset): Specify window position by the coordinae of the
3273 outer window. Adjust the position if the title bar is completely
3274 outside the screen.
3275 (app_is_suspended, app_sleep_time): Remove unused variables.
3276 (do_app_resume, do_app_suspend): Remove their contents because
3277 window-activate/deactivate events will do the job.
3278 (do_zoom_window): Remove unused variables. Make compliant to the
3279 standard way of zooming. Set f->left_pos and f->top_pos.
3280 (XTread_socket): Don't use argument `expected'. Don't use
3281 FrontWindow to determine the clicked window. Exclude unprocessed
3282 mouseUp cases in the early stage. Add parentheses to fix operator
3283 precedence.
3284 (XTread_socket) [TARGET_API_MAC_CARBON]: Don't specify drag area.
3285
3286 2004-10-05 Jan Dj\e,Ad\e(Brv. <jan.h.d@swipnet.se>
3287
3288 * config.in: Regenerate.
3289
3290 * Makefile.in (RUN_TEMACS): Check HAVE_RANDOM_HEAPSTART instead of
3291 HAVE_EXECSHIELD.
3292
3293 2004-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3294
3295 * xterm.c (x_find_modifier_meanings): Ignore any Super or Hyper for
3296 a row if Alt or Meta has been found for that row. Also stop scanning
3297 for Keysyms for that row.
3298
3299 2004-10-04 Kim F. Storm <storm@cua.dk>
3300
3301 * fringe.c (Ffringe_bitmaps_at_pos): Change return value from cons
3302 to list. Include overlay arrow bitmap in return value.
3303
3304 * xterm.c (XTset_vertical_scroll_bar): Improve handling of scroll
3305 bars with fractional column width. If scroll bar separates two
3306 windows, move it towards the window it belongs to. Only update
3307 the padding area below the scroll bar widget when necessary,
3308 i.e. when scroll bar widget is created, moved, or resized.
3309
3310 * xdisp.c (define_frame_cursor1): Do not change frame cursor
3311 while tracking/dragging mouse.
3312 (x_draw_vertical_border): Do not draw line if frame has scroll bars.
3313
3314 * window.c (coordinates_in_window): Relax check for cursor
3315 on vertial border between mode lines.
3316 (Fset_window_fringes): Do not allow negative widths.
3317 (Fset_window_scroll_bars): Likewise.
3318
3319 * .gdbinit (pp): Shorthand for p ARG + pr.
3320 (ff): New command: flush frame updates (X only).
3321
3322 2004-10-03 Michael Albinus <michael.albinus@gmx.de>
3323
3324 * fileio.c (auto_save_1) Call Ffile_modes for remote files.
3325
3326 2004-09-30 Kenichi Handa <handa@m17n.org>
3327
3328 * process.c (send_process): Free composition data.
3329
3330 * fileio.c (Finsert_file_contents): Free composition data.
3331
3332 * coding.c (code_convert_region): Don't skip ASCIIs if there are
3333 compositions to encode.
3334 (encode_coding_string): Likewise. Free composition data.
3335
3336 2004-09-30 Florian Weimer <fw@deneb.enyo.de>
3337
3338 * coding.c (code_convert_region): Free composition data.
3339
3340 2004-09-29 Kim F. Storm <storm@cua.dk>
3341
3342 * fringe.c: Remove limit on number of bitmaps.
3343 (fringe_bitmaps, fringe_faces): Change to pointers.
3344 (max_fringe_bitmaps): New var.
3345 (Fdefine_fringe_bitmap): Expand fringe_bitmaps and fringe_faces.
3346 (init_fringe): Allocate fringe_bitmaps and fringe_faces.
3347
3348 * dispextern.h (FRINGE_ID_BITS): Increase to 16 bits (64K bitmaps).
3349 (struct glyph_row): Reorder fringe_bitmap related fields.
3350 (struct it): Likewise.
3351
3352 * w32term.c (fringe_bmp): Change to pointer.
3353 (max_fringe_bmp): New var.
3354 (w32_define_fringe_bitmap): Expand fringe_bmp.
3355 (w32_draw_fringe_bitmap): Check max_fringe_bmp.
3356 (w32_destroy_fringe_bitmap): Likewise.
3357
3358 2004-09-29 Kim F. Storm <storm@cua.dk>
3359
3360 * fringe.c: Simplify last change.
3361 (lookup_fringe_bitmap): New function.
3362 (valid_fringe_bitmap_p, resolve_fringe_bitmap): Remove.
3363 (Fdestroy_fringe_bitmap): Use lookup_fringe_bitmap.
3364 Keep standard bitmaps in Vfringe_bitmaps.
3365 (Fdefine_fringe_bitmap): Use lookup_fringe_bitmap.
3366 (Fset_fringe_bitmap_face): Likewise.
3367
3368 * dispextern.h (lookup_fringe_bitmap): Add prototype.
3369 (valid_fringe_bitmap_p): Remove prototype.
3370
3371 * xdisp.c (handle_single_display_prop): Use lookup_fringe_bitmap.
3372
3373 2004-09-29 Kim F. Storm <storm@cua.dk>
3374
3375 * fringe.c (destroy_fringe_bitmap, init_fringe_bitmap)
3376 (w32_init_fringe, w32_reset_fringes): Fix bootstrap (NULL rif).
3377
3378 * dispextern.h (valid_fringe_bitmap_p): Fix prototype.
3379
3380 * fringe.c (Vfringe_bitmaps): New variable.
3381 (syms_of_fringe): DEFVAR_LISP it.
3382 (valid_fringe_bitmap_p): Rename from valid_fringe_bitmap_id_p.
3383 Change arg to Lisp_Object and fail if not an integer.
3384 (get_fringe_bitmap_name, resolve_fringe_bitmap)
3385 (destroy_fringe_bitmap): New functions.
3386 (Fdestroy_fringe_bitmap): Change arg to bitmap symbol.
3387 Use destroy_fringe_bitmap. Remove symbol from Vfringe_bitmaps and
3388 clear its fringe property.
3389 (init_fringe_bitmap): Use destroy_fringe_bitmap instead of
3390 Fdestroy_fringe_bitmap.
3391 (Fdefine_fringe_bitmap): Add BITMAP arg specifying new or existing
3392 bitmap symbol; remove WHICH arg. Add symbol to Vfringe_bitmaps
3393 and set fringe property. Signal error if no free slots.
3394 (Fset_fringe_bitmap_face): Change arg to bitmap symbol.
3395 (Ffringe_bitmaps_at_pos): Return bitmap symbols instead of numbers.
3396
3397 * xdisp.c (handle_single_display_prop): Fringe bitmaps are now
3398 symbols with a fringe property.
3399
3400 2004-09-27 Kim F. Storm <storm@cua.dk>
3401
3402 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>:
3403 Doc fix. Format may now be a symbol or alist, not a cons.
3404
3405 * fringe.c (update_window_fringes): Handle new formats of
3406 indicate-buffer-boundaries (symbol or alist). No longer
3407 allow a simple cons.
3408 (Ffringe_bitmaps_at_pos): Use nil value for no bitmap.
3409
3410 2004-09-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3411
3412 * config.in: Rebuild.
3413
3414 2004-09-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3415
3416 * config.in: Rebuild.
3417
3418 * Makefile.in: Run setarch i386 ./temacs if exec-shield is present.
3419
3420 2004-09-18 Stefan Monnier <monnier@iro.umontreal.ca>
3421
3422 * xterm.c (x_term_init): Work around a bug in some X servers.
3423
3424 2004-09-18 Richard M. Stallman <rms@gnu.org>
3425
3426 * buffer.c (syms_of_buffer) <default-major-mode>: Doc fix.
3427
3428 * xdisp.c (try_window_reusing_current_matrix):
3429 Handle the case where we reach the old displayed text,
3430 out of sync with the old line boundary.
3431
3432 2004-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
3433
3434 * fileio.c (Finsert_file_contents): Fix case of replacement in a
3435 narrowed buffer.
3436
3437 2004-09-14 Kim F. Storm <storm@cua.dk>
3438
3439 * puresize.h (PURESIZE_RATIO): Define based on BITS_PER_EMACS_INT.
3440
3441 * xfaces.c (Qface_no_inherit): New var.
3442 (syms_of_xfaces): Intern and staticpro it.
3443 (Finternal_make_lisp_face, Finternal_set_lisp_face_attribute)
3444 (Finternal_copy_lisp_face, update_face_from_frame_parameter):
3445 Don't increment face_change_count when face has non-nil
3446 face-no-inherit property.
3447
3448 2004-09-13 Stefan Monnier <monnier@iro.umontreal.ca>
3449
3450 * bytecode.c (BYTE_CODE_QUIT): Add missing AFTER_POTENTIAL_GC.
3451 (Fbyte_code): Remove dead code after `wrong_type_argument'.
3452
3453 * alloc.c (Fgarbage_collect): Mark keyboards, gtk data, and specpdl
3454 before doing the mark_stack_check_gcpros since they're not on the stack.
3455
3456 2004-09-12 Kim F. Storm <storm@cua.dk>
3457
3458 * editfns.c (Fformat): Handle format strings with multiple text
3459 properties. Reverse text property list from the format string,
3460 so the positions are in increasing order.
3461
3462 2004-09-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3463
3464 * xselect.c (x_reply_selection_request): XSync and UNBLOCK before
3465 x_uncatch_errors so that possible protocol errors are delivered.
3466
3467 2004-09-10 Eli Zaretskii <eliz@gnu.org>
3468
3469 * Makefile.in (msdos.o): Depend on buffer.h, commands.h, and
3470 blockinput.h.
3471 (dosfns.o): Depend on blockinput.h, window.h, dispextern.h,
3472 charset.h, and coding.h
3473 (w16select.o): Depend on buffer.h, charset.h, coding.h, and composite.h.
3474 (term.o): Depend on window.h and keymap.h.
3475 (abbrev.o): Depend on syntax.h.
3476 (callint.o): Depend on keymap.h.
3477 (casefiddle.o): Depend on charset.h and keymap.h.
3478 (category.o): Depend on keymap.h.
3479 (coding.o): Depend on dispextern.h.
3480 (cmds.o): Depend on keyboard.h and keymap.h.
3481 (dispnew.o): Depend on indent.h and intervals.h.
3482 (doc.o): Depend on keymap.h.
3483 (editfns.o): Depend on frame.h.
3484 (emacs.o): Depend on dispextern.h.
3485 (fileio.o): Don't depend on ccl.h.
3486 (filelock.o): Depend on charset.h and coding.h.
3487 (frame.o): Depend on w32term.h and macterm.h.
3488 (insdel.o): Depend on region-cache.h.
3489 (keyboard.o): Depend on keymap.h, w32term.h, and macterm.h.
3490 (minibuf.o): Depend on $(INTERVALS_SRC) and keymap.h.
3491 (search.o): Depend on $(INTERVALS_SRC).
3492 (syntax.o): Depend on keymap.h, regex.h, and $(INTERVALS_SRC).
3493 (window.o): Depend on keymap.h, blockinput.h, $(INTERVALS_SRC),
3494 xterm.h, w32term.h, and macterm.h.
3495 (xdisp.o): Depend on keyboard.h, $(INTERVALS_SRC), xterm.h,
3496 w32term.h, and macterm.h.
3497 (xfaces.o): Depend on keyboard.h, $(INTERVALS_SRC),
3498 region-cache.h, xterm.h, w32term.h, and macterm.h.
3499 (bytecode.o): Depend on dispextern.h, frame.h, and xterm.h.
3500 (data.o): Depend on frame.h.
3501 (fns.o): Depend on keymap.h, xterm.h, and blockinput.h.
3502 (print.o): Depend on termchar.h and $(INTERVALS_SRC).
3503 (lread.o): Depend on $(INTERVALS_SRC), termhooks.h, and coding.h.
3504 (intervals.o): Depend on keymap.h.
3505
3506 * msdos.c (msdos_set_cursor_shape, IT_display_cursor):
3507 Add debugging print-out to termscript.
3508
3509 2004-09-09 Richard M. Stallman <rms@gnu.org>
3510
3511 * xdisp.c (decode_mode_spec): Use current buffer for most purposes.
3512
3513 2004-09-08 Richard M. Stallman <rms@gnu.org>
3514
3515 * window.c (Fset_window_buffer): Doc fix.
3516
3517 * xdisp.c (Fformat_mode_line): New arg BUFFER says which buffer to use.
3518
3519 2004-09-08 Dan Nicolaescu <dann@ics.uci.edu>
3520
3521 * minibuf.c (history_delete_duplicates): New variable.
3522 (read_minibuf): Use it.
3523 (syms_of_minibuf): Create the corresponding lisp variable.
3524
3525 2004-09-08 Kim F. Storm <storm@cua.dk>
3526
3527 * xdisp.c (set_cursor_from_row): Also look at 'cursor' property in
3528 overlay just before point.
3529
3530 2004-09-07 Luc Teirlinck <teirllm@auburn.edu>
3531
3532 * buffer.h (struct buffer): Add auto_save_file_format field.
3533 * buffer.c (reset_buffer, init_buffer_once):
3534 Handle auto_save_file_format field.
3535 (syms_of_buffer): Add DEFVAR_PER_BUFFER for
3536 `buffer-auto-save-file-format'.
3537 * fileio.c: Delete declaration for removed Vauto_save_file_format.
3538 (build_annotations): Adapt to replacement of
3539 `auto-save-file-format' with the new buffer-local variable
3540 `buffer-auto-save-file-format'.
3541 (syms_of_fileio): Delete DEFVAR_LISP for auto-save-file-format.
3542
3543 2004-09-07 Jason Rumney <jasonr@gnu.org>
3544
3545 * w32term.h (AppendMenuW_Proc): Move declaration from w32menu.c.
3546
3547 * w32fns.c (w32_wnd_proc) [WM_MEASUREITEM, WM_DRAWITEM]:
3548 Handle Unicode menu titles.
3549
3550 2004-09-07 Kim F. Storm <storm@cua.dk>
3551
3552 * xdisp.c (set_cursor_from_row): Fix last change. Only use 'cursor'
3553 property from text property or overlay strings at point.
3554
3555 2004-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
3556
3557 * xmenu.c (update_submenu_strings): YAILOM.
3558 (set_frame_menubar): Make sure last_i is initialized.
3559
3560 2004-09-03 Jason Rumney <jasonr@gnu.org>
3561
3562 * w32menu.c (_widget_value): Add lname and lkey.
3563 (digest_single_submenu): Set lname and lkey in widget_value
3564 instead of name and key.
3565 (update_submenu_strings): New function.
3566 (set_frame_menubar): Remove call to inhibit_garbage_collection,
3567 call update_submenu_strings.
3568
3569 * w32menu.c (globals_of_w32menu): Check for Unicode API.
3570 (digest_single_submenu, w32_menu_show): Encode menu strings as
3571 UTF-8 if Unicode API is available.
3572 (utf8to16): New function.
3573 (add_menu_item): Use it when calling Unicode API.
3574
3575 2004-09-03 Kim F. Storm <storm@cua.dk>
3576
3577 * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property
3578 in overlay or text-property strings; set cursor on corresponding
3579 glyph rather than at end of the string.
3580
3581 2004-09-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3582
3583 * macfns.c (x_real_positions): Save the current window port and
3584 set a new one before obtaining the global coordinate.
3585 Use FRAME_MAC_WINDOW.
3586 (x_set_name, x_set_title): Encode title to UTF8.
3587 Use SetWindowTitleWithCFString.
3588 (Fx_server_version): Get correct OS version.
3589
3590 * macmenu.c (add_menu_item): Remove unused variable `i'.
3591 Don't let separator items destroy refence constants of other menu items.
3592
3593 * macterm.c (x_update_end): Move SetPortWindowPort to inside
3594 BLOCK_INPUT.
3595 (x_set_offset): Use FRAME_MAC_WINDOW.
3596
3597 * xdisp.c (note_mouse_highlight): Set the mouse pointer shape to
3598 nontext_cursor if it is on a scroll bar.
3599
3600 * s/darwin.h (LIBS_CARBON): New define to specify libraries for
3601 Carbon support.
3602 (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++.
3603 Use LIBS_CARBON.
3604
3605 2004-09-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3606
3607 * xfns.c (x_set_name_internal): New function. Check if we shall call
3608 xfree before ENCODE_UTF_8.
3609 (x_set_name, x_set_title): Call x_set_name_internal.
3610
3611 2004-08-31 NAKAMURA Toshikazu <nr-tkz@nifty.com> (tiny change)
3612
3613 * w32fns.c (w32_load_font): If a BDF font is already loaded, do not
3614 reload it.
3615
3616 2004-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3617
3618 * macmenu.c (_widget_value): Add lname and lkey.
3619 (single_submenu): Set lname and lkey in widget_value
3620 instead of name and key.
3621 (update_submenu_strings): New function.
3622 (set_frame_menubar): Remove call to inhibit_garbage_collection,
3623 call update_submenu_strings.
3624
3625 * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value
3626 instead of name and key.
3627 (update_submenu_strings): New function.
3628 (set_frame_menubar): Remove call to inhibit_garbage_collection,
3629 call update_submenu_strings.
3630
3631 * gtkutil.h (_widget_value): Added lname and lkey.
3632
3633 2004-08-30 Steven Tamm <steventamm@mac.com>
3634
3635 * macmenu.c (mac_menu_show): Remove shadowing of menu variable
3636 by using different names for inner loop variables.
3637
3638 2004-08-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3639
3640 * xmenu.c (set_frame_menubar): Reintroduce inhibit_garbage_collection
3641 from 2002-07-15T00:01:34Z!raeburn@raeburn.org so that strings from ENCODE_UTF_8 isn't GC:ed before used.
3642
3643 * gtkutil.c (xg_create_frame_widgets): Compensate for tool bar when
3644 tool bar items is 0.
3645
3646 2004-08-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3647
3648 * macmenu.c (ENCODE_MENU_STRING): Added to handle multibyte
3649 strings in menu items.
3650 (single_submenu): Use ENCODE_MENU_STRING
3651 (mac_menu_show): Use ENCODE_MENU_STRING. Reset grabbed because
3652 button release isn't passed to event loop
3653 (add_menu_item): Use SetMenuItemWithCFString
3654
3655 2004-08-26 Steven Tamm <steventamm@mac.com>
3656
3657 * fileio.c (Fread_file_name): Call x_file_dialog on carbon on
3658 tool-bar/menu click.
3659 * macfns.c (Fx_file_dialog): Implement using NavServices.
3660
3661 2004-08-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3662
3663 * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed.
3664
3665 * xfns.c (x_window_to_frame, x_any_window_to_frame)
3666 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
3667 (x_top_window_to_frame): Return 0 if wdesc is None.
3668
3669 2004-08-22 Richard M. Stallman <rms@gnu.org>
3670
3671 * process.c (process_send_signal) [SIGNALS_VIA_CHARACTERS,
3672 HAVE_TERMIOS]: If there's no char for this signal, drop through
3673 and use system calls.
3674
3675 * bytecode.c (Fbyte_code) <unwind-protect>: Cannot GC.
3676
3677 2004-08-20 Kim F. Storm <storm@cua.dk>
3678
3679 * process.c (wait_reading_process_output): Rename from
3680 wait_reading_process_input. All uses changed.
3681 (wait_reading_process_output_1): Rename from
3682 wait_reading_process_input_1. All uses changed.
3683
3684 * dispnew.c (Fsleep_for): Remove obsolete code.
3685
3686 2004-08-20 Kenichi Handa <handa@m17n.org>
3687
3688 * syntax.c (skip_chars): Fix for unibyte case.
3689
3690 2004-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
3691
3692 * syntax.c (char_quoted): Mixup byte/char pos.
3693 (back_comment): Fixup globals in all cases.
3694
3695 2004-08-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3696
3697 * xfns.c (x_set_name, x_set_title): Encode title to UTF8 before
3698 passing it to gtk_window_set_title.
3699
3700 2004-08-19 Kim F. Storm <storm@cua.dk>
3701
3702 * process.c (wait_reading_process_input): Clean up.
3703 Add wait_for_cell, wait_proc, and just_wait_proc args
3704 to avoid overloading `read_kbd' and `do_display' args.
3705 Change read_kbd arg to int. All callers changed.
3706
3707 * process.c (process_send_signal): Use CDISABLE.
3708
3709 * sysdep.c (child_setup_tty, init_sys_modes): Use CDISABLE.
3710
3711 2004-08-18 Kim F. Storm <storm@cua.dk>
3712
3713 * process.c (Faccept_process_output): Add arg JUST-THIS-ONE;
3714 forward to wait_reading_process_input via DO_DISPLAY arg.
3715 (wait_reading_process_input): If DO_DISPLAY < 0 for a process
3716 object, only process output from that process; also inhibit
3717 running timers if DO_DISPLAY==-2.
3718
3719 2004-08-17 Kim F. Storm <storm@cua.dk>
3720
3721 * process.c (process_send_signal): Fix last change--use
3722 _POSIX_VDISABLE instead of CVDISABLE when available.
3723
3724 2004-08-16 Richard M. Stallman <rms@gnu.org>
3725
3726 * sysdep.c (child_setup_tty) [SIGNALS_VIA_CHARACTERS]:
3727 Set VQUIT and VINTR chars to the standard ones if they are unset.
3728 [AIX]: Don't do that here. And don't force VINTR to standard
3729 when SIGNALS_VIA_CHARACTERS.
3730
3731 * process.c (process_send_signal)
3732 [SIGNALS_VIA_CHARACTERS, HAVE_TERMIOS]: Clean up.
3733 Do nothing if the character is CVDISABLE.
3734
3735 * xfaces.c (merge_face_ref): Specifying `unspecified' is a no-op.
3736
3737 * intervals.c (move_if_not_intangible):
3738 Force POSITION to be between BEGV and ZV.
3739
3740 2004-08-14 John Paul Wallington <jpw@gnu.org>
3741
3742 * buffer.c (Frestore_buffer_modified_p): Doc fix.
3743
3744 * fileio.c (Fread_file_name): Doc fix.
3745
3746 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
3747
3748 2004-08-09 Luc Teirlinck <teirllm@auburn.edu>
3749
3750 * keymap.c (Fmake_keymap, Fmap_keymap, Fwhere_is_internal): Doc fixes.
3751
3752 2004-08-08 Luc Teirlinck <teirllm@auburn.edu>
3753
3754 * keyboard.c: Declare Qdisabled_command_function instead of
3755 Qdisabled_command_hook.
3756 (Fcommand_execute): Use Qdisabled_command_function instead of
3757 Qdisabled_command_hook.
3758 (syms_of_keyboard): Ditto.
3759
3760 2004-08-07 Luc Teirlinck <teirllm@auburn.edu>
3761
3762 * keymap.c (Flocal_key_binding, Fglobal_key_binding)
3763 (syms_of_keymap) <key-translation-map>: Doc fixes.
3764
3765 2004-08-07 Stefan Monnier <monnier@iro.umontreal.ca>
3766
3767 * window.c (window_list_1): YAILOM.
3768
3769 * fileio.c (make_temp_name): Handle multibyte prefixes.
3770
3771 2004-08-06 Luc Teirlinck <teirllm@auburn.edu>
3772
3773 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3774 Doc fix.
3775
3776 2004-08-03 Kenichi Handa <handa@m17n.org>
3777
3778 * coding.c (decode_coding_string): Adjust coding->consumed, and
3779 etc. with shrinked_bytes.
3780
3781 2004-08-03 Kim F. Storm <storm@cua.dk>
3782
3783 * indent.c (compute_motion): Fix check for full width window
3784 in non-window case. Do not count left truncation glyph on
3785 window systems.
3786
3787 2004-08-02 Luc Teirlinck <teirllm@auburn.edu>
3788
3789 * data.c (Finteractive_form): Doc fix.
3790
3791 2004-08-02 Kim F. Storm <storm@cua.dk>
3792
3793 * indent.c (compute_motion): Use actual window width if WIDTH is -1,
3794 properly accounting for continuation glyph on non-window systems.
3795 (Fcompute_motion): Use actual window width if WIDTH is nil, and
3796 actual window width/height if TOPOS is nil, properly accounting for
3797 continuation glyphs on non-window systems, and optional header lines.
3798 (vmotion): Let compute_motion calculate actual window width.
3799
3800 * window.c (window_scroll_line_based): Let compute_motion
3801 calculate actual window width.
3802
3803 2004-08-02 Kim F. Storm <storm@cua.dk>
3804
3805 * process.c (read_process_output): Use whole read buffer.
3806 Don't trigger adaptive read buffering on errors.
3807
3808 2004-07-31 Luc Teirlinck <teirllm@auburn.edu>
3809
3810 * keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes.
3811
3812 * keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix.
3813
3814 * callint.c (Fcall_interactively): Doc fix.
3815
3816 2004-07-30 Richard M. Stallman <rms@gnu.org>
3817
3818 * abbrev.c (Fexpand_abbrev): Undo previous change.
3819
3820 2004-07-30 Kim F. Storm <storm@cua.dk>
3821
3822 * editfns.c (Fformat): Allocate extra (dummy) element in info.
3823
3824 2004-07-28 Luc Teirlinck <teirllm@auburn.edu>
3825
3826 * eval.c (Fdefvar, Fdefconst): Doc fixes.
3827
3828 2004-07-27 Kim F. Storm <storm@cua.dk>
3829
3830 * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after
3831 we have ensured that the glyph fits on the current line (or returned
3832 MOVE_LINE_CONTINUED otherwise).
3833
3834 2004-07-26 Kim F. Storm <storm@cua.dk>
3835
3836 * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe
3837 is enabled, return MOVE_LINE_CONTINUED rather than MOVE_POS_MATCH_OR_ZV
3838 if target position is at end of display line but char is not a newline.
3839
3840 2004-07-25 Richard M. Stallman <rms@gnu.org>
3841
3842 * window.c (coordinates_in_window): Return ON_SCROLL_BAR
3843 instead of ON_VERTICAL_BORDER, when on scroll bar.
3844 (Fcoordinates_in_window_p): Handle ON_SCROLL_BAR--return nil.
3845
3846 * dispextern.h (enum window_part): Add ON_SCROLL_BAR.
3847
3848 * window.c (Fcoordinates_in_window_p):
3849 Take account of FRAME_INTERNAL_BORDER_WIDTH.
3850
3851 * alloc.c (check_cons_list): New function (contents commented out).
3852
3853 2004-07-24 Luc Teirlinck <teirllm@auburn.edu>
3854
3855 * xfaces.c (Fcolor_supported_p): Doc fix.
3856
3857 * frame.c (Fselect_frame, Fset_frame_selected_window)
3858 (Fframe_visible_p, Fraise_frame): Doc fixes.
3859
3860 2004-07-24 Richard M. Stallman <rms@gnu.org>
3861
3862 * keyboard.h (not_single_kboard_state): Declare.
3863
3864 * fileio.c (Fwrite_region): Doc fix.
3865
3866 * window.c (Fwindow_at): Take account of FRAME_INTERNAL_BORDER_WIDTH.
3867
3868 * abbrev.c (Fexpand_abbrev): Run Qpre_abbrev_expand_hook
3869 only when a real abbrev is present.
3870
3871 * xfns.c (x_icon_verify): New function.
3872 (Fx_create_frame): Use it.
3873
3874 2004-07-22 Barry Fishman <barry_fishman@att.net> (tiny change)
3875
3876 * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined.
3877
3878 2004-07-21 Kim F. Storm <storm@cua.dk>
3879
3880 * window.h (struct glyph_matrix): New members nrows_scale_factor
3881 and ncols_scale_factor.
3882
3883 * window.c (make_window): Initialize nrows_scale_factor and
3884 ncols_scale_factor members.
3885
3886 * dispnew.c (margin_glyphs_to_reserve): Apply ncols_scale_factor.
3887 (allocate_matrices_for_frame_redisplay): Fix left/right margin mix-up.
3888 (required_matrix_height): Apply nrows_scale_factor.
3889 (required_matrix_width): Apply ncols_scale_factor.
3890
3891 * xdisp.c (display_line): Increment nrows_scale_factor and set
3892 fonts_changed_p if past last allocated row.
3893 (append_glyph, append_composite_glyph, produce_image_glyph)
3894 (append_stretch_glyph): Increment ncols_scale_factor and set
3895 fonts_changed_p if current area is full.
3896
3897 2004-07-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3898
3899 * widget.c (EmacsFrameDestroy): Don't abort if normal_gc is 0.
3900
3901 2004-07-19 Luc Teirlinck <teirllm@auburn.edu>
3902
3903 * window.c (Fpos_visible_in_window_p, Fset_window_hscroll)
3904 (Fwindow_inside_pixel_edges, Fwindow_end, Fset_window_point)
3905 (Fset_window_start, Fscroll_up, Fscroll_down)
3906 (Fother_window_for_scrolling, Fscroll_other_window)
3907 (Fsave_window_excursion, Fset_window_vscroll)
3908 (syms_of_window) <window-size-fixed>: Doc fixes.
3909
3910 2004-07-19 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
3911
3912 * w32fns.c (Fx_file_dialog): Use ENCODE_FILE instead of
3913 ENCODE_SYSTEM for filenames.
3914
3915 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3916
3917 * mac.c (sys_select): Block input around call to
3918 ReceiveNextEvent to prevent breakage. Correctly handle
3919 blocking on event queue only by calling ReceiveNextEvent
3920 instead of select (since GUI events aren't on an fd).
3921 (sys_read): Remove function
3922 * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON
3923
3924 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3925
3926 * mac.c (sys_select): Redo sys_select to use alarm-based
3927 polling instead of 1 sec timeouts (like solaris).
3928
3929 * macterm.c (x_make_frame_visible): Comment in polling on
3930 frame creation.
3931
3932 * keyboard.c: Undef SIGIO on Carbon
3933
3934 * atimer.c (alarm_signal_handler): Call alarm handlers after
3935 scheduling.
3936
3937 * eval.c (Feval): Remove quit_char test
3938
3939 * process.c (wait_reading_process_input): Remove clearing
3940 stdin for select call on process input.
3941
3942 2004-07-18 Luc Teirlinck <teirllm@auburn.edu>
3943
3944 * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Correct
3945 capitalization error in docstring.
3946
3947 2004-07-17 Juanma Barranquero <lektu@terra.es>
3948
3949 * keyboard.c (not_single_kboard_state): Do nothing unless
3950 MULTI_KBOARD is defined.
3951
3952 2004-07-17 Richard M. Stallman <rms@gnu.org>
3953
3954 * window.c (coordinates_in_window): Inside the window but outside
3955 its box to the L or R, return ON_VERTICAL_BORDER.
3956 (window_list_1): Rotate the list to start with WINDOW.
3957
3958 * print.c (print_preprocess): Test for print_depth at limit
3959 before entering in being_printed.
3960
3961 * keyboard.c (not_single_kboard_state): New function.
3962 (stuff_buffered_input): Now no-op only if no SIGTSTP.
3963
3964 * frame.c (Fdelete_frame): If we're in single_bboard_state on
3965 this kboard, and we delete its last frame, go to any_kboard_state.
3966
3967 * buffer.c (syms_of_buffer) <transient-mark-mode>: Doc fix.
3968
3969 2004-07-15 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
3970
3971 * w32fns.c (Fx_file_dialog): Encode strings in system coding
3972 system before passing them to OS functions for display.
3973
3974 2004-07-15 David Kastrup <dak@gnu.org>
3975
3976 * search.c (syms_of_search): Staticpro `saved_last_thing_searched'.
3977 Apparently fixes an abort condition.
3978
3979 2004-07-14 Luc Teirlinck <teirllm@auburn.edu>
3980
3981 * fileio.c (Fvisited_file_modtime): Return a list of two integers,
3982 instead of a cons.
3983
3984 2004-07-14 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
3985
3986 * keyboard.c (echo_dash): Do nothing if there already is a dash
3987 at the end of the echo string.
3988
3989 2004-07-12 Kim F. Storm <storm@cua.dk>
3990
3991 * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value
3992 if GC_MARK_STACK.
3993
3994 2004-07-10 Luc Teirlinck <teirllm@auburn.edu>
3995
3996 * buffer.c (Fswitch_to_buffer, Fpop_to_buffer): Doc fixes.
3997
3998 * window.c (Fwindow_buffer, Fother_window, Fget_lru_window)
3999 (Fget_largest_window, Fget_buffer_window, Fdelete_windows_on)
4000 (Freplace_buffer_in_windows, Fset_window_buffer)
4001 (Fselect-window, Fdisplay-buffer, Fsplit_window): Doc fixes.
4002 (syms_of_window): Expand docstring of `display-buffer-function'.
4003
4004 2004-07-09 Luc Teirlinck <teirllm@auburn.edu>
4005
4006 * editfns.c (Ffloat_time, Fformat_time_string, Fdecode_time)
4007 (Fcurrent_time_string, Fcurrent_time_zone): Mention in docstrings
4008 that time values of the type (HIGH . LOW) are considered obsolete.
4009
4010 2004-07-06 Luc Teirlinck <teirllm@auburn.edu>
4011
4012 * keyboard.c (syms_of_keyboard): Fix `keyboard-translate-table'
4013 docstring.
4014
4015 * fns.c (Fclear_string): Declare `len' before call to CHECK_STRING.
4016
4017 2004-07-06 John Paul Wallington <jpw@gnu.org>
4018
4019 * eval.c (Fdefmacro): Signal an error if NAME is not a symbol.
4020
4021 * fns.c (Fclear_string): Signal an error if STRING is not a string.
4022
4023 2004-07-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4024
4025 * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList
4026 instead of CGMainDisplayID (only in OSX 10.2 and later).
4027
4028 2004-07-04 John Paul Wallington <jpw@gnu.org>
4029
4030 * fileio.c (read_file_name_completion_ignore_case): New variable.
4031 (syms_of_fileio): Declare and initialise it.
4032 (Fread_file_name): Bind `completion-ignore-case' to respect it.
4033
4034 2004-07-03 Eli Zaretskii <eliz@gnu.org>
4035
4036 * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects
4037 for event.x and event.y.
4038
4039 2004-07-01 Kenichi Handa <handa@m17n.org>
4040
4041 * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly
4042 after getting a new string by pre-write-conversion.
4043
4044 2004-06-30 Stefan Monnier <monnier@iro.umontreal.ca>
4045
4046 * xterm.c (x_detect_focus_change): Remove unused var `nr_events'.
4047 (x_calc_absolute_position): Remove unused var `child'.
4048
4049 * xfaces.c (x_supports_face_attributes_p)
4050 (Fdisplay_supports_face_attributes_p): YAILOM.
4051 (tty_supports_face_attributes_p): Remove unused var `i'.
4052
4053 * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and
4054 back_unibyte_ok.
4055
4056 * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM.
4057
4058 * fontset.c (Fset_fontset_font): Remove unused vars `family' and `registry'.
4059
4060 * Makefile.in (${etc}DOC): Fix file name of make-docfile.
4061
4062 2004-06-30 Andreas Schwab <schwab@suse.de>
4063
4064 * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES.
4065 (Finit_image_library): Pass LIBRARIES through to
4066 CHECK_LIB_AVAILABLE. Declare parameters. Doc fix.
4067 (lookup_image_type): Pass Qnil as second argument to
4068 Finit_image_library.
4069
4070 * lisp.h (Finit_image_library): Declare.
4071
4072 2004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4073
4074 * macterm.c (do_window_activate, do_window_deactivate): Remove.
4075 (XTread_socket): Send mouse button events to the toolbox
4076 dispatcher even when the mouse is grabbed. Don't process window
4077 activate events for non-Emacs windows. Replace function calls to
4078 do_window_activate and do_window_deactivate with their contents.
4079 Reset mouse grabbing status when a window is deactivated.
4080
4081 2004-06-29 Steven Tamm <steventamm@mac.com>
4082
4083 * macterm.c (mac_get_emulated_btn)
4084 (mac_event_to_emacs_modifiers): Fix emulated mouse button
4085 support to correctly mask out modifiers.
4086
4087 2004-06-29 David Kastrup <dak@gnu.org>
4088
4089 * search.c (Fset_match_data): Allow buffer before end of list
4090 which can happen if set-match-data is using a pre-consed list.
4091
4092 2004-06-28 Steven Tamm <steventamm@mac.com>
4093
4094 * macterm.c (XTread_socket): Correctly set the frame position
4095 after the window is moved.
4096
4097 2004-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4098
4099 * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
4100 gpix and gmask just before return to avoid memory leak.
4101 (xg_get_image_for_pixmap): Add workaround for monochrome displays
4102 so insensitive and activated icons look ok.
4103
4104 2004-06-27 Jason Rumney <jasonr@gnu.org>
4105
4106 * w32fns.c (file_dialog_callback): Disable edit control if set
4107 to directories only on CDN_INITDONE message.
4108 (Fx_file_dialog): Default to directories only when prompt starts
4109 with "Dired".
4110
4111 2004-06-25 Kim F. Storm <storm@cua.dk>
4112
4113 * alloc.c (allocate_misc): Update total_free_markers.
4114 (free_misc): New function.
4115 (safe_alloca_unwind, free_marker): Use it.
4116
4117 * lisp.h (free_misc): Add prototype.
4118
4119 * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs.
4120
4121 2004-06-24 Richard M. Stallman <rms@gnu.org>
4122
4123 * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted.
4124 (syms_of_emacs): Lisp variables deleted.
4125
4126 2004-06-23 David Kastrup <dak@gnu.org>
4127
4128 * search.c (Freplace_match): Adjust the match-data more thoroughly
4129 when replacing strings in the buffer.
4130 (Fmatch_data): When INTEGERS is non-nil and the last match was in
4131 a buffer, add the buffer as last element to the match data.
4132 (Fset_match_data): If an additional element of the match-data is a
4133 buffer, restore it to last_thing_searched.
4134 (save_search_regs): Save last_thing_searched as part of the match data.
4135 (restore_match_data): Restore it again.
4136
4137 2004-06-23 Luc Teirlinck <teirllm@auburn.edu>
4138
4139 * keymap.c (Ftext_char_description): Doc fix.
4140 * doc.c (Fsnarf_documentation): Doc fix.
4141
4142 2004-06-22 Kim F. Storm <storm@cua.dk>
4143
4144 * fns.c (Fmapcar, Fmapconcat): GCPRO the args array.
4145
4146 * lisp.h (struct Lisp_Save_Value): New member dogc.
4147 (SAFE_ALLOCA_LISP): Change second arg to number of elements.
4148 Set dogc member in Lisp_Save_Value object so it will be GC'ed.
4149 (SAFE_FREE_LISP): New macro.
4150
4151 * alloc.c (safe_alloca_unwind): Clear dogc and pointer members.
4152 (make_save_value): Init new dogc member.
4153 (mark_object): Mark Lisp_Save_Value pointer array if dogc is set.
4154
4155 * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
4156 SAFE_FREE_LISP macros.
4157
4158 2004-06-22 Kim F. Storm <storm@cua.dk>
4159
4160 * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects.
4161 Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects
4162 in that memory area are unknown to GC. Add comments.
4163
4164 * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP.
4165
4166 2004-06-21 Kim F. Storm <storm@cua.dk>
4167
4168 * lisp.h (MAX_ALLOCA): Define here.
4169 (safe_alloca_unwind): Add prototype.
4170 (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros.
4171
4172 * alloc.c (safe_alloca_unwind): New function.
4173
4174 * casefiddle.c (casify_object): Use SAFE_ALLOCA.
4175
4176 * charset.c (Fstring): Use SAFE_ALLOCA.
4177
4178 * coding.c (MAX_ALLOCA): Remove define.
4179
4180 * data.c (MAX_ALLOCA): Remove define.
4181 (Faset): Use SAFE_ALLOCA.
4182
4183 * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA.
4184
4185 * fns.c (string_make_multibyte, string_to_multibyte)
4186 (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA.
4187 (MAX_ALLOCA): Remove define.
4188 (Fbase64_encode_region, Fbase64_encode_string)
4189 (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA.
4190 (Fbase64_encode_region, Fbase64_encode_string): Fix potential
4191 memory leak if encoding fails.
4192
4193 * xdisp.c (add_to_log): Use SAFE_ALLOCA.
4194
4195 2004-06-21 Eli Zaretskii <eliz@gnu.org>
4196
4197 * print.c (Fwith_output_to_temp_buffer): Doc fix.
4198
4199 2004-06-20 Richard M. Stallman <rms@gnu.org>
4200
4201 * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix.
4202
4203 * search.c (match_limit): Cleaner err msg when no match data available.
4204
4205 * window.c (syms_of_window): Doc fix.
4206
4207 * keyboard.c (command_loop_1): Handle values `only' and `identity'
4208 for Vtransient_mark_mode.
4209
4210 * buffer.c (syms_of_buffer): Doc fix.
4211
4212 2004-06-21 David Kastrup <dak@gnu.org>
4213
4214 * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding
4215 and unbinding of `case-fold-search' according to
4216 `completion-ignore-case' around calls of string-match and
4217 predicates, respectively. Should give satisfactory performance
4218 in all relevant cases.
4219
4220 2004-06-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4221
4222 * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from
4223 clip_x/y_origin.
4224
4225 * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca.
4226
4227 * macfns.c (Fx_display_color_cells): Do not limit return value to 256.
4228
4229 * macterm.c (mac_initialize_display_info): Initialize n_planes correctly
4230 on Mac OSX.
4231
4232 2004-06-16 Luc Teirlinck <teirllm@auburn.edu>
4233
4234 * buffer.c (syms_of_buffer): Clarify `fill-column' docstring.
4235
4236 2004-06-16 Kim F. Storm <storm@cua.dk>
4237
4238 * dispextern.h (Vimage_types): Remove extern.
4239
4240 2004-06-16 Miles Bader <miles@gnu.org>
4241
4242 * image.c (lookup_image_type): Initialize image type if necessary.
4243
4244 2004-06-15 Kim F. Storm <storm@cua.dk>
4245
4246 * xdisp.c (try_cursor_movement): Exclude header line from scroll
4247 margin at top of window.
4248 (try_window_reusing_current_matrix): Calculate proper cursor position
4249 after scrolling up with non-zero scroll margin, as the old cursor
4250 position corresponds to value of PT before executing this command.
4251 (try_window_id): Consider scroll margin at bottom of window too;
4252 otherwise we fail to scroll when hl-line-mode is enabled.
4253
4254 * syntax.c (skip_chars): Only recognize [:class:] when it has the
4255 proper format and class is a lower-case word.
4256
4257 2004-06-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4258
4259 * gtkutil.c (xg_get_image_for_pixmap): New function.
4260 (xg_get_gdk_pixmap_and_mask): Remove.
4261 (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of
4262 xg_get_gdk_pixmap_and_mask.
4263
4264 * xterm.h (struct x_display_info): Typo in comment fixed.
4265
4266 2004-06-14 Juanma Barranquero <lektu@terra.es>
4267
4268 * dispextern.h (Vimage_types): Make it conditional on
4269 HAVE_WINDOW_SYSTEM.
4270
4271 * image.c (Vimage_types): Move from xdisp.c.
4272 (Vimage_type_cache): New variable.
4273 (define_image_type): New argument indicating whether an image
4274 library was loaded; cache loaded status and return t on success,
4275 nil otherwise.
4276 (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros.
4277 (w32_delayed_load): New function to load an image library from a
4278 list of possible filenames.
4279 (init_xpm_functions, init_png_functions, init_jpeg_functions)
4280 (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'.
4281 (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument.
4282 (Finit_image_library): New function, extracted from `init_image'.
4283 Try to initialize an image library on demand and cache whether we
4284 were successful or not.
4285 (syms_of_image): Initialize `Vimage_types' and
4286 `Vimage_type_cache'. Add recognized image types to Vimage_types.
4287 Export `init-image-library'.
4288 (init_image): Remove initialization of all image types, except xbm
4289 and pbm.
4290
4291 * xdisp.c (Vimage_types): Delete (moved to image.c).
4292
4293 2004-06-14 Andreas Schwab <schwab@suse.de>
4294
4295 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
4296 Avoid calling specbind when completion-regexp-list is empty.
4297
4298 2004-06-13 Richard M. Stallman <rms@gnu.org>
4299
4300 * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
4301 (re_wctype, re_iswctype, re_wctype_to_bit):
4302 Non-function definitions moved here from regex.c.
4303
4304 * regex.c (re_wctype, re_iswctype): Function defs longer static.
4305 (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
4306 (re_wctype, re_iswctype, re_wctype_to_bit):
4307 Non-function definitions moved to regex.h.
4308
4309 * window.c (Fselect_window): Doc fix.
4310
4311 * syntax.c: Include regex.h.
4312 (skip_chars): New arg HANDLE_ISO_CLASSES. Callers changed.
4313 If requested, make a list of classes, then check the scanned
4314 chars for membership in them.
4315 (in_classes): New function.
4316 Doc fix.
4317
4318 * keyboard.c (cmd_error): Don't call any_kboard_state
4319 if inside a recursive edit level.
4320
4321 2004-06-13 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
4322
4323 * keyboard.c (command_loop): Call any_kboard_state before
4324 command_loop_2 when at top level.
4325
4326 2004-06-13 Andreas Schwab <schwab@suse.de>
4327
4328 * print.c (print_object): Always use %ld for printing EMACS_INT.
4329
4330 * keyboard.c (cancel_hourglass_unwind): Return a value.
4331 (modify_event_symbol): Always use %ld for printing EMACS_INT.
4332 (Fexecute_extended_command): Likewise.
4333
4334 * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to
4335 avoid clashes.
4336 (SYNTAX): Likewise.
4337 (SYNTAX_WITH_FLAGS): Likewise.
4338 (SYNTAX_MATCH): Likewise.
4339
4340 * syntax.c (char_quoted): Avoid warning about undefined operation.
4341 (find_defun_start): Likewise.
4342 (scan_lists): Likewise.
4343 (INC_FROM): Likewise.
4344 (scan_sexps_forward): Likewise.
4345
4346 * image.c: Include <ctype.h>.
4347
4348 * xfaces.c (face_attr_equal_p): Declare parameters.
4349
4350 2004-06-13 Kenichi Handa <handa@m17n.org>
4351
4352 * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1.
4353
4354 2004-06-12 Matthew Mundell <matt@mundell.ukfsn.org>
4355
4356 * eval.c (Fdefun): Signal an error if NAME is not a symbol.
4357
4358 2004-06-12 Kenichi Handa <handa@m17n.org>
4359
4360 * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in
4361 ccl_prog_stack_struct and update it.
4362 (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook.
4363 (CCL_READ_CHAR): Get instruction counter from eof_ic, not from
4364 ccl->eof_ic on EOF.
4365 (ccl_debug_hook): New function.
4366 (struct ccl_prog_stack): New member eof_ic.
4367 (ccl_driver): Handle EOF in subrountine call correctly.
4368
4369 2004-06-11 Kenichi Handa <handa@m17n.org>
4370
4371 * coding.c (decode_coding_string): Check CODING_FINISH_INTERRUPT.
4372
4373 2004-06-11 Kim F. Storm <storm@cua.dk>
4374
4375 * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown.
4376
4377 2004-06-11 Juanma Barranquero <lektu@terra.es>
4378
4379 * keyboard.c (Fposn_at_point): Doc fix.
4380
4381 2004-06-11 David Kastrup <dak@gnu.org>
4382
4383 * search.c (match_limit): Don't flag an error if match-data
4384 exceeding the allocated search_regs.num_regs gets requested, just
4385 return Qnil.
4386
4387 2004-06-08 Miles Bader <miles@gnu.org>
4388
4389 * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected.
4390
4391 2004-06-07 Juanma Barranquero <lektu@terra.es>
4392
4393 * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time)
4394 (Fcurrent_time_string, Fcurrent_time_zone)
4395 (Finsert_buffer_substring, Ftranspose_regions): Doc fixes.
4396
4397 2004-06-07 Miles Bader <miles@gnu.org>
4398
4399 * xfaces.c (struct named_merge_point): New type.
4400 (push_named_merge_point): New function.
4401 (merge_named_face): New function.
4402 (merge_face_ref, face_at_buffer_position, face_at_string_position):
4403 Use `merge_named_face'.
4404 (merge_face_inheritance): Function removed.
4405 (merge_face_ref): Rename from `merge_face_vector_with_property'.
4406 Add new `err_msgs' and `named_merge_points' args. Return error
4407 status. Only print error messages if ERR_MSGS is true. Don't try to
4408 do :inherit attribute validation.
4409 (merge_face_heights): Handle `unspecified' in both directions.
4410 (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'.
4411 Call `merge_face_ref' instead of `merge_face_inheritance'.
4412 (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector)
4413 (compute_char_face, face_at_buffer_position)
4414 (face_at_string_position): Call `merge_face_ref' instead of
4415 `merge_face_vector_with_property'.
4416
4417 2004-06-07 Kenichi Handa <handa@m17n.org>
4418
4419 * coding.c (find_safe_codings): Check NILP (safe_codings) only at
4420 the necessary places.
4421
4422 2004-06-07 Kim F. Storm <storm@cua.dk>
4423
4424 * process.c (Fdelete_process): Undo 2004-05-28 change.
4425 Instead, call status_notify also for network process.
4426 (status_message): Use process instead of status as arg.
4427 Give messages "deleted" or "connection broken by remote peer" for
4428 an exited network process.
4429 (status_notify): Change call to status_message.
4430 (read_process_output): Increase readmax to 4096. Do not increase
4431 buffer size for datagram channels (default is now large enough).
4432
4433 2004-06-06 Steven Tamm <tamm@Steven-Tamms-Computer.local>
4434
4435 * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation
4436 problem due to newly defined variable.
4437
4438 2004-06-06 Miles Bader <miles@gnu.org>
4439
4440 * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
4441 immediately if non-interactive or not initialized.
4442
4443 2004-06-05 Richard M. Stallman <rms@gnu.org>
4444
4445 * minibuf.c (Fcompleting_read): Doc fix.
4446
4447 2004-06-05 Andreas Schwab <schwab@suse.de>
4448
4449 * macfns.c (x_create_tip_frame): Fix declaration after statement.
4450
4451 2004-06-05 Juanma Barranquero <lektu@terra.es>
4452
4453 * keymap.c (Fdescribe_vector): Fix docstring.
4454 (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
4455
4456 2004-06-05 Miles Bader <miles@gnu.org>
4457
4458 * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
4459 attributes have different values than the default face.
4460
4461 2004-06-04 Eli Zaretskii <eliz@gnu.org>
4462
4463 * xfaces.c (x_supports_face_attributes_p): Make this function
4464 conditional on HAVE_WINDOW_SYSTEM.
4465 (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]:
4466 Don't call x_supports_face_attributes_p if it was not compiled in.
4467
4468 2004-06-04 Miles Bader <miles@gnu.org>
4469
4470 * xfaces.c (tty_supports_face_attributes_p): New function, mostly
4471 from Ftty_supports_face_attributes_p.
4472 (x_supports_face_attributes_p): New function.
4473 (Ftty_supports_face_attributes_p): Function deleted.
4474 (Fdisplay_supports_face_attributes_p): New function.
4475 (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
4476 (face_attr_equal_p): New function.
4477 (lface_equal_p): Use it.
4478
4479 2004-06-03 Juanma Barranquero <lektu@terra.es>
4480
4481 * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
4482 (Vw32_color_map): Fix typo in docstring.
4483 (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
4484 (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
4485 Make argument names match their use in docstring.
4486
4487 2004-06-02 Juanma Barranquero <lektu@terra.es>
4488
4489 Work around bugs/problems with MinGW builds of graphics libraries
4490 called from MSVC builds of Emacs.
4491
4492 * image.c (lookup_image): Make pointer to img static.
4493 (png_read_from_memory): Disable "global" optimization.
4494
4495 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
4496
4497 * eval.c (Fcondition_case): Fix usage. Simplify.
4498
4499 * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
4500
4501 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4502
4503 * macfns.c: Don't include ccl.h.
4504 [MAC_OSX]: Don't include QuickTime/QuickTime.h.
4505 [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
4506 TextUtils.h.
4507 (Fx_create_frame): Sync with xfns.c. Initialize cursor descriptors.
4508 (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
4509 display height/width.
4510 (compute_tip_xy, Vx_max_tooltip_size): Declare.
4511 (unwind_create_tip_frame, compute_tip_xy): New functions.
4512 (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
4513 (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
4514 and last_show_tip_args.
4515
4516 * macgui.h [!MAC_OSX]: Include Gestalt.h.
4517 (Cursor, No_Cursor): New defines.
4518 [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro.
4519 [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
4520
4521 * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
4522
4523 * macterm.c: Don't include Gestalt.h.
4524 (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
4525 (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
4526 (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
4527 (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
4528 (mac_copy_area, mac_copy_area_with_mask, x_update_end)
4529 (construct_mouse_click, XTmouse_position)
4530 (x_scroll_bar_report_motion, x_calc_absolute_position)
4531 (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
4532 (XTread_socket, make_mac_frame): Use SetPortWindowPort.
4533 (note_mouse_movement): Clear the mouse face and reset the pointer
4534 shape when the pointer goes outside the frame without grabbing.
4535 (mac_front_window): New function.
4536 (mac_window_to_frame): New macro.
4537 (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
4538 (do_window_activate, do_window_deactivate, do_app_resume)
4539 (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
4540 (do_zoom_window, mac_do_receive_drag, XTread_socket)
4541 (mac_check_for_quit_char): Use mac_front_window and/or
4542 mac_window_to_frame.
4543 (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
4544 scroll-bar click event.
4545 (mac_define_frame_cursor): Change the pointer shape.
4546 (x_free_frame_resources): Reset tip_window to NULL when it is disposed.
4547 [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
4548 [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor.
4549 (do_window_update): Don't do anything if the updated window is the
4550 tooltip window.
4551 (do_mouse_moved): Handle mouse movement events here (previously in
4552 XTread_socket). Clear the mouse face if
4553 dpyinfo->mouse_face_hidden is set.
4554 (do_os_event, do_events): Remove (now in XTread_socket).
4555 (XTread_socket): Immediately return if interrupt_input_blocked.
4556 Loop until all the events in the queue are processed.
4557 Rearrange codes for mouse grabbing. Add tooltip support. Include the
4558 contents of do_os_event and do_events. Remove mouse movement
4559 handling (now in do_mouse_moved). Add the case where
4560 Vmouse_highlight has an integer value.
4561 (NewMacWindow): Remove.
4562 (make_mac_frame): Do what NewMacWindow previously did. Don't do
4563 excess initializations.
4564 (make_mac_terminal_frame): Previous initializations in
4565 make_mac_frame are moved here.
4566 (mac_initialize_display_info):
4567 Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
4568
4569 * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
4570 (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
4571
4572 2004-05-29 Richard M. Stallman <rms@gnu.org>
4573
4574 * lisp.h (truncate_undo_list): Update decl.
4575
4576 * alloc.c (undo_outer_limit): New variable.
4577 (syms_of_alloc): Defvar it.
4578 (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
4579
4580 * undo.c (truncate_undo_list): New arg LIMITSIZE.
4581
4582 * alloc.c (lisp_align_malloc): Check for base == 0
4583 regardless of HAVE_POSIX_MEMALIGN.
4584 Clean up HAVE_POSIX_MEMALIGN handling of `err'.
4585
4586 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4587
4588 * alloc.c: Undo Kim's recent changes and fix the same bug differently.
4589 (marker_blocks_pending_free): Remove.
4590 (Fgarbage_collect): Sweep after cleaning up undo-lists.
4591 Mark the undo lists after claning them up.
4592 Don't free block in marker_blocks_pending_free.
4593 (mark_buffer): Don't mark undo_list.
4594 (gc_sweep): Sweep hash-tables and strings first.
4595 Do free marker blocks that are empty.
4596
4597 2004-05-28 Jim Blandy <jimb@redhat.com>
4598
4599 * regex.c (print_partial_compiled_pattern): Add missing 'break'
4600 after 'case wordend'. For symbeg and symend, print to stderr,
4601 like the other cases.
4602
4603 2004-05-28 Noah Friedman <friedman@splode.com>
4604
4605 * process.c (Fdelete_process): Do not call remove_process.
4606
4607 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4608
4609 * alloc.c (struct backtrace): Remove.
4610 (Fgarbage_collect): Use the new mark_backtrace.
4611
4612 * eval.c (mark_backtrace): New function.
4613
4614 * minibuf.c (run_exit_minibuf_hook): New function.
4615 (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
4616 (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
4617
4618 2004-05-27 Kim F. Storm <storm@cua.dk>
4619
4620 * xdisp.c (back_to_previous_visible_line_start): Skip backwards
4621 over display properties, e.g. images, that replace buffer text.
4622
4623 2004-05-25 Kim F. Storm <storm@cua.dk>
4624
4625 * alloc.c (marker_blocks_pending_free): New var.
4626 (gc_sweep): Store free marker blocks on that list.
4627 (Fgarbage_collect): Free them after undo-list cleanup.
4628
4629 * process.c (wait_reading_process_input): Check connect_wait_mask
4630 before actually accepting connection in case it has already been
4631 accepted due to recursion.
4632
4633 2004-05-23 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
4634
4635 * coding.c (Fset_safe_terminal_coding_system_internal):
4636 Set suppress_error in safe_terminal_coding, not terminal_coding.
4637
4638 2004-05-22 Richard M. Stallman <rms@gnu.org>
4639
4640 * alloc.c (Fmake_string): Doc fix.
4641
4642 * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
4643 and the alist pairs too.
4644
4645 * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
4646
4647 * emacs.c (main): Update copyright year.
4648
4649 * fileio.c (Fread_file_name): Expand DIR if not absolute.
4650
4651 * insdel.c (del_range_2, replace_range): Don't write an anchor
4652 if the gap is empty.
4653
4654 * xdisp.c (try_scrolling): If scroll-up-aggressively or
4655 scroll-down-aggressively is small but positive, put point
4656 near the screen edge.
4657
4658 2004-05-22 Juanma Barranquero <lektu@terra.es>
4659
4660 * keymap.c (Fdefine_key): Doc fix.
4661
4662 2004-05-22 Kim F. Storm <storm@cua.dk>
4663
4664 * alloc.c (struct backtrace): Add debug_on_exit member.
4665 (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
4666 Identify those markers as Lisp_Misc_Free objects. Clear car and cdr of
4667 the removed cons cells.
4668 (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
4669 (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
4670 any cons cells pointing to unallocated stings.
4671 Do not lisp_free any marker blocks, as there may still be pointers
4672 to them from buffer undo lists at this stage of GC.
4673
4674 * keyboard.c (struct backtrace): Add debug_on_exit member.
4675 (Fcommand_execute): Clear it.
4676
4677 2004-05-20 Luc Teirlinck <teirllm@auburn.edu>
4678
4679 * intervals.c (lookup_char_property): Do not prematurely return nil.
4680
4681 2004-05-19 Jim Blandy <jimb@redhat.com>
4682
4683 Add support for new '\_<' and '\_>' regexp operators, matching the
4684 beginning and end of symbols.
4685
4686 * regex.c (enum syntaxcode): Add Ssymbol.
4687 (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
4688 (re_opcode_t): New opcodes `symbeg' and `symend'.
4689 (print_partial_compiled_pattern): Print the new opcodes properly.
4690 (regex_compile): Parse the new operators.
4691 (analyse_first): Skip sym(beg|end) (they match only the empty string).
4692 (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
4693 \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
4694 (re_match_2_internal): Match symbeg and symend.
4695
4696 * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
4697
4698 2004-05-19 Kim F. Storm <storm@cua.dk>
4699
4700 * .gdbinit (xsymbol): Fix last change.
4701
4702 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
4703
4704 * .gdbinit (xprintstr): New fun.
4705 (xstring, xprintsym): Use it.
4706
4707 * w32proc.c (create_child): Use INTMASK.
4708
4709 * alloc.c (Fgarbage_collect): Do all the marking before flushing
4710 unmarked elements of the undo list.
4711
4712 2004-05-18 David Ponce <david@dponce.com>
4713
4714 * print.c (print): Reset print_depth before to call print_object.
4715
4716 2004-05-18 Jason Rumney <jasonr@gnu.org>
4717
4718 * w32console.c: Prefix RIF functions with w32con_ to avoid
4719 namespace clash with functions in term.c and w32term.c.
4720
4721 * w32menu.c (add_menu_item, w32_menu_display_help)
4722 [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
4723
4724 * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
4725
4726 2004-05-18 Eli Zaretskii <eliz@gnu.org>
4727
4728 * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
4729
4730 * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
4731 with make_number.
4732 (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
4733 with XINT.
4734
4735 2004-05-18 Kim F. Storm <storm@cua.dk>
4736
4737 * blockinput.h (INPUT_BLOCKED_P): New macros.
4738
4739 * keyboard.c (Frecursive_edit): Return immediately if input blocked.
4740 (Ftop_level): Unblock input if blocked.
4741
4742 * buffer.h (GET_OVERLAYS_AT): New macro.
4743 * msdos.c (IT_note_mouse_highlight): Use it.
4744 * textprop.c (get_char_property_and_overlay): Use it.
4745 * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
4746 * xfaces.c (face_at_buffer_position): Use it.
4747
4748 * print.c (print_object): Increase buf size.
4749
4750 2004-05-17 Jason Rumney <jasonr@gnu.org>
4751
4752 * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
4753 (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
4754 Lisp_Object using i member.
4755 (w32_quit_key): Rename from Vw32_quit_key, and make an int.
4756 (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
4757 consistently.
4758
4759 * w32proc.c (create_child): Use make_number instead of masking pid.
4760
4761 * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
4762 (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
4763 Use EQ to compare Lisp_Objects.
4764 (w32_parse_hot_key): Use int for lisp_modifiers consistently.
4765
4766 * w32term.c (w32_num_mouse_buttons): Rename from
4767 Vw32_num_mouse_buttons and make it an int.
4768
4769 * w32.c (init_environment): Use it.
4770
4771 * w32fns.c (w32_wnd_proc): Likewise.
4772
4773 * w32proc.c (w32_pipe_read_delay): Rename from
4774 Vw32_pipe_read_delay and make it an int.
4775
4776 * w32.c (_sys_read_ahead): Use it.
4777
4778 * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
4779
4780 * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
4781
4782 * w32inevt.c (w32_console_mouse_position, do_mouse_event)
4783 (key_event): Don't mix Lisp_Object and int.
4784
4785 * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
4786
4787 * keyboard.c (kbd_buffer_get_event): Don't use event->code and
4788 modifiers in language change event.
4789
4790 2004-05-17 Kim F. Storm <storm@cua.dk>
4791
4792 * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
4793 Such objects may be freed markers which still exist on an undo list.
4794
4795 2004-05-16 Juanma Barranquero <lektu@terra.es>
4796
4797 * data.c (Fset_default): Make argument names match their use in
4798 docstring.
4799
4800 2004-05-15 Andreas Schwab <schwab@suse.de>
4801
4802 * emacs.c (gdb_array_mark_flag): Define.
4803 * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
4804
4805 2004-05-15 Eli Zaretskii <eliz@gnu.org>
4806
4807 * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
4808 __attribute__((__aligned__)), so that USE_LSB_TAG would not become
4809 defined for the MS-DOS build.
4810
4811 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
4812
4813 * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
4814
4815 2004-05-14 Kenichi Handa <handa@m17n.org>
4816
4817 * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
4818
4819 2004-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4820
4821 * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
4822 section to frame.c section.
4823 (Fxw_display_color_p, Fx_file_dialog): Declare if
4824 HAVE_WINDOW_SYSTEM defined.
4825
4826 * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
4827
4828 * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
4829
4830 * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
4831 (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
4832 (XTread_socket): Fix int/Lisp_Object mixup.
4833 (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
4834
4835 * macterm.h (struct frame, struct face, struct image)
4836 (display_x_get_resource, Fx_display_color_p)
4837 (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
4838 Add prototypes.
4839
4840 2004-05-14 Kim F. Storm <storm@cua.dk>
4841
4842 * process.c (wait_reading_process_input): Make reentrant.
4843 Make Available and Connecting non-static. Save and restore value
4844 of waiting_for_user_input_p.
4845
4846 2004-05-13 Kim F. Storm <storm@cua.dk>
4847
4848 * keyboard.c (mark_kboards): Don't mark x and y members
4849 that are overloaded in selection request events.
4850
4851 2004-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
4852
4853 * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
4854
4855 2004-05-13 Glenn Morris <gmorris@ast.cam.ac.uk>
4856
4857 * window.c (Fdisplay_buffer, Fsplit_window)
4858 (split-height-threshold): Doc fix.
4859
4860 2004-05-13 Juanma Barranquero <lektu@terra.es>
4861
4862 * xfaces.c (Ftty_supports_face_attributes_p)
4863 (Finternal_copy_lisp_face): Fix typo in docstring.
4864 (Finternal_get_lisp_face_attribute): Fix docstring.
4865
4866 2004-05-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4867
4868 * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
4869
4870 2004-05-11 Steven Tamm <steventamm@mac.com>
4871
4872 * macfns.c (Fx_create_frame): Default to using tool-bar by
4873 setting tool-bar-lines to 1 in default-frame-alist.
4874
4875 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4876
4877 * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
4878 (xpm_get_color_table_v, xpm_make_color_table_h)
4879 (xpm_put_color_table_h, xpm_get_color_table_h)
4880 (xpm_str_to_color_key, xpm_load_image, xpm_load)
4881 (syms_of_image): Support XPM on Carbon Emacs. Does not
4882 depend on libXpm, but only supports XPM version 3 without extensions.
4883
4884 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4885
4886 * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
4887 instead of FRAME_X_P
4888
4889 2004-05-11 Kim F. Storm <storm@cua.dk>
4890
4891 * process.c (read_process_output): Grow decoding_buf when needed;
4892 this could cause a crash in allocate_string and compact_small_strings.
4893
4894 2004-04-29 Jim Blandy <jimb@redhat.com>
4895
4896 * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
4897 against proper opcode.
4898
4899 2004-05-10 Juanma Barranquero <lektu@terra.es>
4900
4901 * process.c (Fstart_process): Fix docstring.
4902
4903 * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
4904 (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
4905 (Fsplit_char, Fchar_charset): Make argument names match their use
4906 in docstring.
4907
4908 2004-05-10 Richard M. Stallman <rms@gnu.org>
4909
4910 * print.c (print_preprocess): Use being_printed, loop_count and
4911 halftail to detect overdeep nesting and cyclic cdr chains.
4912
4913 2004-05-10 Andreas Schwab <schwab@suse.de>
4914
4915 * lisp.h (Fmake_symbolic_link): Declare.
4916
4917 * fileio.c (Frename_file): Remove extra argument in call to
4918 Fmake_symbolic_link.
4919
4920 2004-05-10 Kim F. Storm <storm@cua.dk>
4921
4922 * xdisp.c (calc_line_height_property): Use string position when
4923 object is a string.
4924
4925 2004-05-10 Kenichi Handa <handa@m17n.org>
4926
4927 * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
4928 inhibit-modification-hooks to t temporarily before calling
4929 Ferase_buffer.
4930
4931 * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
4932 inhibit-modification-hooks to t temporarily before calling
4933 Ferase_buffer.
4934
4935 * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
4936 inhibit-modification-hooks to t temporarily before calling
4937 Ferase_buffer.
4938
4939 * fns.c (count_combining): Delete it.
4940 (concat): Don't check combining bytes.
4941
4942 2004-05-09 Jason Rumney <jasonr@gnu.org>
4943
4944 * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
4945 (globals_of_w32fns): Set it.
4946
4947 2004-05-09 Piet van Oostrum <piet@cs.uu.nl>
4948
4949 * data.c (Fquo): Simplify.
4950
4951 2004-05-08 Peter Whaite <emacs@whaite.ca> (tiny change)
4952
4953 * data.c (Fquo): If any argument is float, do the computation in
4954 floating point.
4955
4956 2004-05-08 Juanma Barranquero <lektu@terra.es>
4957
4958 * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
4959 (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
4960 Fix spelling of Emacs on docstring.
4961 (Fset_process_coding_system, Fprocess_coding_system)
4962 (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
4963 Make argument names match their use in docstring.
4964 (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
4965 Fix docstring.
4966
4967 * editfns.c (Finsert_buffer_substring): Make argument names match their
4968 use in docstring.
4969
4970 * syntax.c (Fmodify_syntax_entry): Fix docstring.
4971
4972 2004-05-07 Steven Tamm <steventamm@mac.com>
4973
4974 * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
4975 around call to ReceiveEvent to avoid certain crashes.
4976
4977 2004-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4978
4979 * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
4980 (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
4981 (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
4982 Save/restore the current graphics port and device handle when
4983 drawing into an offscreen graphics world.
4984
4985 * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
4986 (gif_load): Likewise.
4987
4988 2004-05-07 Juanma Barranquero <lektu@terra.es>
4989
4990 * window.c (Fset_window_buffer): Fix docstring.
4991
4992 2004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
4993
4994 * emacs.c (main) [VMS]: Fix var ref.
4995
4996 2004-05-06 Romain Francoise <romain@orebokech.com>
4997
4998 * data.c (Fsetq_default): Fix docstring.
4999
5000 2004-05-06 Jason Rumney <jasonr@gnu.org>
5001
5002 * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
5003 to avoid name clash.
5004
5005 2004-05-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5006
5007 * fileio.c (barf_or_query_if_file_exists): Use lstat.
5008 (Frename_file): Handle renaming of symlinks across file systems.
5009 (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
5010
5011 2004-05-04 Kim F. Storm <storm@cua.dk>
5012
5013 * xdisp.c (Qtotal): New var.
5014 (syms_of_xdisp): Intern and staticpro it.
5015 (calc_line_height_property): New arg total. Set it if
5016 line-spacing property has format (total . VALUE).
5017 (x_produce_glyphs): Ignore line-spacing if line-height is 0.
5018 Handle total line-spacing property.
5019
5020 2004-05-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5021
5022 * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
5023 "under" scroll bar when size/position changes.
5024
5025 2004-05-03 Jason Rumney <jasonr@gnu.org>
5026
5027 * makefile.nt: Remove.
5028
5029 2004-05-02 Eli Zaretskii <eliz@gnu.org>
5030
5031 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
5032 Avoid compiler warnings.
5033
5034 * Makefile.in (region-cache.o): Depend on config.h.
5035
5036 2004-05-02 Romain Francoise <romain@orebokech.com>
5037
5038 * indent.c (compute_motion): Save vpos in prev_vpos when dealing
5039 with continuation lines, too.
5040
5041 2004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
5042
5043 * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
5044
5045 2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
5046
5047 * xdisp.c (calc_line_height_property): YAILOM (yet another
5048 int/Lisp_Object mixup).
5049
5050 2004-05-01 Eli Zaretskii <eliz@gnu.org>
5051
5052 * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
5053 undo bad effect of pack(4) in some versions of system headers.
5054
5055 2004-05-01 Jason Rumney <jasonr@gnu.org>
5056
5057 * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
5058
5059 2004-04-30 Kim F. Storm <storm@cua.dk>
5060
5061 * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
5062 (syms_of_buffer) <cursor-type>: Doc fix.
5063
5064 * dispextern.h (struct it): Remove member use_default_face.
5065 Add members override_ascent, override_descent, override_boff.
5066
5067 * xdisp.c (init_iterator): Handle line-spacing float value.
5068 Initialize override_ascent member.
5069 (append_space_for_newline): Reset override_ascent.
5070 Remove use_default_face.
5071 (calc_line_height_property): New function to calculate value of
5072 line-height and line-spacing properties. Look at overlays, too.
5073 Set override_ascent, override_descent, override_boff members when
5074 using another face than the current face. Float values are now
5075 relative to the frame default font, by default; accept a cons
5076 of ratio and face name to specify value relative to a specific face.
5077 (x_produce_glyphs): Use calc_line_height_property.
5078 Use override_ascent etc. when set to handle different face heights.
5079 A negative line-spacing property value is interpreted as a total
5080 line height, rather than inter-line spacing.
5081 (note_mouse_highlight): Allocate room for 40 overlays initially.
5082
5083 2004-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
5084
5085 * data.c (Fsubr_name): New fun.
5086 (syms_of_data): Defsubr it.
5087
5088 2004-04-29 Kim F. Storm <storm@cua.dk>
5089
5090 * xdisp.c (null_glyph_slice): New var.
5091 (append_glyph, append_composite_glyph, append_stretch_glyph):
5092 Use it to initialize glyph slice.
5093
5094 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
5095
5096 * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
5097 (on_hot_spot_p): Make sure we always return a value.
5098 (Flookup_image_map): Remove unused var ix and iy.
5099 (note_mode_line_or_margin_highlight): Remove unused var `image'.
5100
5101 2004-04-27 Eli Zaretskii <eliz@gnu.org>
5102
5103 * msdos.c (init_environment): If one of the TMP... environment
5104 variables is set to a drive letter without a trailing slash,
5105 append a slash.
5106
5107 2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
5108
5109 * editfns.c (lisp_time_argument): Provide externally.
5110
5111 * fileio.c (Fset_file_times): New function.
5112 (syms_of_fileio): Intern and staticpro it.
5113
5114 2004-04-27 Kim F. Storm <storm@cua.dk>
5115
5116 * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
5117 header line strings.
5118
5119 * dispextern.h (struct it): New member use_default_face.
5120
5121 * xdisp.c (Qline_height): New variable.
5122 (syms_of_xdisp): Intern and staticpro it.
5123 (append_space_for_newline): Partially undo 2004-04-25 change;
5124 add default_face_p arg, and restore callers.
5125 Clear it->use_default_face after use.
5126 (x_produce_glyphs): Set default font for ascii char if
5127 it->use_default_font is set. Change line-spacing property to set
5128 just extra line spacing. Handle new line-height property.
5129
5130 2004-04-26 Andreas Schwab <schwab@suse.de>
5131
5132 * print.c (print_object): Print non-ascii characters in bool
5133 vector representation as octal escapes.
5134
5135 * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
5136 * print.c (print_object): Use it instead of BITS_PER_CHAR for
5137 bool vectors.
5138 * lread.c (read1): Likewise.
5139 * alloc.c (Fmake_bool_vector): Likewise.
5140 * data.c (Faref, Faset): Likewise.
5141 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
5142 (mapcar1): Likewise.
5143
5144 2004-04-26 Steven Tamm <tamm@Steven-Tamms-Computer.local>
5145
5146 * lread.c (init_lread): Fix typo in HAVE_CARBON test logic.
5147
5148 2004-04-26 Miles Bader <miles@gnu.org>
5149
5150 * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
5151
5152 2004-04-26 Juanma Barranquero <lektu@terra.es>
5153
5154 * buffer.c (Fpop_to_buffer): Fix docstring.
5155
5156 2004-04-26 Steven Tamm <steventamm@mac.com>
5157
5158 * lread.c (init_lread): Don't display missing lisp directory
5159 warnings with Carbon Emacs because self-contained bundled Emacs
5160 may be built without correct installation path.
5161
5162 2004-04-25 Kim F. Storm <storm@cua.dk>
5163
5164 * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
5165
5166 * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
5167
5168 * xdisp.c (append_space_for_newline): Rename from append_space.
5169 Remove DEFAULT_FACE_P arg; always use current face. Callers changed.
5170 (x_produce_glyphs): Handle line-spacing property on newline char.
5171 If value is t, adjust ascent and descent to fit current row height.
5172 If value is an integer or float, set extra_line_spacing to integer
5173 value, or to float value x current line height.
5174
5175 2004-04-23 Kenichi Handa <handa@m17n.org>
5176
5177 * fontset.c (Finternal_char_font): If POSITION is nil, return
5178 font for displaying CH with the default face.
5179
5180 2004-04-23 Juanma Barranquero <lektu@terra.es>
5181
5182 * makefile.w32-in: Add "-*- makefile -*-" mode tag.
5183
5184 2004-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
5185
5186 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
5187 Don't make assumptions about the relative place of i and val.
5188 (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
5189
5190 2004-04-21 Kim F. Storm <storm@cua.dk>
5191
5192 * dispextern.h (struct glyph_slice): New struct.
5193 (struct glyph): New member slice.
5194 (GLYPH_SLICE_EQUAL_P): New macro.
5195 (GLYPH_EQUAL_P): Use it.
5196 (struct glyph_string): New member slice.
5197 (struct it_slice): New struct.
5198 (struct it): New member slice, add member to stack too.
5199 New member constrain_row_ascent_descent_p.
5200 (image_ascent): Add prototype.
5201
5202 * dispnew.c (buffer_posn_from_coords): Return full image width
5203 and height even for image slices (posn is relative to full image).
5204 (marginal_area_string): Adjust x0,y0 for image slice.
5205
5206 * image.c (image_ascent): Add slice arg; calculate ascent for
5207 image slice (or full image).
5208
5209 * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
5210 (syms_of_keyboard): Defsubr them.
5211
5212 * lisp.h (pos_visible_p): Fix prototype.
5213
5214 * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
5215 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
5216 (x_draw_image_foreground, x_draw_image_relief)
5217 (x_draw_image_foreground_1, x_draw_image_glyph_string):
5218 Draw sliced images.
5219
5220 * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
5221 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
5222 (x_draw_image_foreground, x_draw_image_relief)
5223 (w32_draw_image_foreground_1, x_draw_image_glyph_string):
5224 Draw sliced images.
5225
5226 * w32term.h (image_ascent): Remove prototype.
5227
5228 * window.c (Fpos_visible_in_window_p): Return pixel position if
5229 PARTIALLY arg is non-nil. Simplify. Doc fix.
5230 (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
5231 to return/set vscroll in pixels.
5232
5233 * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
5234
5235 * xdisp.c (Qslice): New variable.
5236 (syms_of_xdisp): Intern and staticpro it.
5237 (pos_visible_p): Return pixel position in new x and y args.
5238 (init_iterator): Reset it->slice info.
5239 (handle_display_prop): Parse (slice ...) property.
5240 (push_it, pop_it): Save/restore slice info.
5241 (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
5242 force repositioning of tall row if window is vscrolled, as that
5243 would reset vscroll.
5244 (append_space): Set it->constrain_row_ascent_descent_p to avoid
5245 increasing row height if row is non-empty.
5246 (fill_image_glyph_string): Copy slice info.
5247 (take_vertical_position_into_account): Simplify.
5248 (produce_image_glyph): Handle iterator slice info, setup glyph
5249 slice info. Do not force minimum line height.
5250 (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
5251 do not increase height (ascent/descent) of non-empty row when
5252 adding normal character glyph; instead reduce glyph ascent/descent
5253 appropriately; if row is higher than current glyph, adjust glyph
5254 descent/ascent to reposition glyph within the existing row.
5255 Likewise, when char is newline, only set ascent/descent if row is
5256 currently empty.
5257 (note_mouse_highlight): Handle hotspots with sliced image.
5258
5259 * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
5260 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
5261 (x_draw_image_foreground, x_draw_image_relief)
5262 (x_draw_image_foreground_1, x_draw_image_glyph_string):
5263 Draw sliced images.
5264
5265 * xterm.h (image_ascent): Remove prototype.
5266
5267 2004-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
5268
5269 * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
5270
5271 2004-04-20 John Paul Wallington <jpw@gnu.org>
5272
5273 * fns.c (Fassoc, Feql): Fix indentation.
5274
5275 * fontset.c (regularize_fontname): Rename from regulalize_fontname.
5276
5277 2004-04-19 John Paul Wallington <jpw@gnu.org>
5278
5279 * fns.c (Feql): New function.
5280 (syms_of_fns): Defsubr it.
5281
5282 2004-04-18 Jason Rumney <jasonr@gnu.org>
5283
5284 * w32select.c (Fw32_set_clipboard_data): Get sequence number
5285 after closing the clipboard.
5286
5287 2004-04-16 Luc Teirlinck <teirllm@auburn.edu>
5288
5289 * buffer.c (Fbuffer_base_buffer): Doc fix.
5290
5291 2004-04-17 Kim F. Storm <storm@cua.dk>
5292
5293 * keymap.c (Fkey_description): Add optional PREFIX arg.
5294 Combine prefix with KEYS to make up the full key sequence to describe.
5295 Correlate meta_prefix_char and following (simple) key to describe
5296 as meta modifier. All callers changed.
5297 (describe_map): Rename arg `keys' to `prefix'. Remove local
5298 `elt_prefix' var. Use Fkey_description with prefix instead of
5299 elt_prefix combined with Fsingle_key_description.
5300 (describe_vector): Declare static. Replace arg `elt_prefix' with
5301 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
5302 if !KEYMAP_P. Use Fkey_description with prefix instead of
5303 Fsingle_key_description.
5304
5305 * keymap.h (Fkey_description): Fix prototype.
5306 (describe_vector): Remove prototype.
5307
5308 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
5309
5310 * image.c (PNG_BG_COLOR_SHIFT): Remove.
5311 (png_load): Fix calculation of transparent background color on X
5312 and W32 platforms.
5313
5314 2004-04-16 Juanma Barranquero <lektu@terra.es>
5315
5316 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
5317 not too large before computing how much to scroll.
5318
5319 2004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
5320
5321 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
5322
5323 2004-04-14 Luc Teirlinck <teirllm@auburn.edu>
5324
5325 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
5326 Add hyperlink to Elisp manual to the docstring.
5327
5328 2004-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
5329
5330 * callint.c (fix_command): Use XDCR.
5331
5332 2004-04-14 Nick Roberts <nick@nick.uklinux.net>
5333
5334 * window.c (Fget_lru_window): Doc fix.
5335
5336 2004-04-14 Kim F. Storm <storm@cua.dk>
5337
5338 * editfns.c (Fformat): Fix allocation size of precision array.
5339
5340 * dispnew.c (update_window): Only set changed_p if
5341 scrolling_window actually did scroll.
5342 (scrolling_window): Only return 1 if we actually did scroll.
5343
5344 * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
5345 height to glyph height when cursor row is not fully visible.
5346 (make_cursor_line_fully_visible): Add FORCE_P arg to return
5347 failure in case row is higher than window. Callers changed.
5348 (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
5349 Try to scroll partially visible, higher-than-window cursor row.
5350 (redisplay_window): Always try to scroll partially visible,
5351 higher-than-window cursor row - both initially and again with
5352 centering_position = 0.
5353 Clear desired matrix before retrying with centering_position = 0.
5354
5355 2004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
5356
5357 * syntax.c (scan_lists): Simplify backward string scan.
5358 Fix off-by-one boundary check for string and comment fences.
5359
5360 2004-04-13 Joe Buehler <jbuehler@hekimian.com>
5361
5362 * sheap.c, unexcw.c: New files.
5363
5364 2004-04-12 Luc Teirlinck <teirllm@auburn.edu>
5365
5366 * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
5367 base buffer has been killed. Correct the error message if the
5368 base buffer does not exist.
5369
5370 2004-04-12 Joe Buehler <jbuehler@hekimian.com>
5371
5372 * s/cygwin.h: Changes for Cygwin unexec() support, changes in
5373 Cygwin itself. Add support for Xaw3d scrollbars.
5374
5375 * puresize.h: Set up PURE_P() for Cygwin unexec() support.
5376
5377 * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
5378
5379 * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
5380 before Cygwin unexec.
5381
5382 * Makefile.in: Link changes for Cygwin unexec() support.
5383
5384 2004-04-12 Andreas Schwab <schwab@suse.de>
5385
5386 * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
5387
5388 2004-04-11 Luc Teirlinck <teirllm@auburn.edu>
5389
5390 * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
5391 IGNORE argument equals NAME. Doc fix.
5392
5393 2004-04-11 Masatake YAMATO <jet@gyve.org>
5394
5395 * buffer.c (fix_start_end_in_overlays): Make overlays
5396 empty if they are backwards.
5397
5398 2004-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5399
5400 * xfaces.c (face_color_supported_p): Fix compilation without X11.
5401
5402 2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
5403
5404 * doc.c (Fsnarf_documentation): Ignore new file name entries.
5405
5406 2004-04-06 Kim F. Storm <storm@cua.dk>
5407
5408 * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
5409 (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
5410
5411 * w32term.c (w32_read_socket): Set mouse_face_hidden after
5412 clearing highlight.
5413
5414 * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
5415
5416 * xterm.c (handle_one_xevent): Set mouse_face_hidden after
5417 clearing highlight.
5418
5419 * indent.c (vmotion): Do not reserve one column for continuation
5420 marks on window frames.
5421
5422 2004-04-04 Eli Zaretskii <eliz@gnu.org>
5423
5424 * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
5425 from GCC.
5426
5427 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
5428
5429 * .gdbinit-union: Remove.
5430
5431 * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
5432 (xgetptr, xgetint, xgettype): New funs. Use them everywhere.
5433 ($nonvalbits): Remove.
5434 ($valmask): Set it by calling xreload to avoid redundancy.
5435
5436 * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
5437 (gdb_emacs_intbits): Remove.
5438
5439 2004-03-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5440
5441 * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
5442
5443 2004-03-30 Kenichi Handa <handa@m17n.org>
5444
5445 * editfns.c (Fformat): Fix initialization of the array info.
5446
5447 2004-03-30 Kim F. Storm <storm@cua.dk>
5448
5449 * xterm.c (x_mouse_click_focus_ignore_position): New var.
5450 (syms_of_xterm): DEFVAR_BOOL it.
5451 (ignore_next_mouse_click_timeout): New var.
5452 (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
5453 Use it to filter mouse clicks following focus event.
5454
5455 2004-03-29 David Ponce <david@dponce.com>
5456
5457 * callint.c (Fcall_interactively): Fix last change.
5458
5459 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
5460
5461 * eval.c (Fcommandp): Simplify.
5462
5463 * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
5464 Extend to handle all kinds of functions.
5465
5466 * lisp.h (Finteractive_form): Declare.
5467
5468 * callint.c (Fcall_interactively): Use it.
5469
5470 2004-03-26 Kim F. Storm <storm@cua.dk>
5471
5472 * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
5473 to catch errors in calc_pixel_width_or_height during redisplay.
5474
5475 2004-03-26 Masatake YAMATO <jet@gyve.org>
5476
5477 * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
5478
5479 * lisp.h (fix_start_end_in_overlays): Likewise.
5480
5481 * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
5482
5483 * editfns.c (Ftranspose_regions): Likewise.
5484
5485 2004-03-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5486
5487 * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
5488
5489 2004-03-19 Richard M. Stallman <rms@gnu.org>
5490
5491 * s/sol2-6.h: Delete previous change.
5492
5493 2004-03-19 Kim F. Storm <storm@cua.dk>
5494
5495 * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
5496 to_charpos corresponds to newline in right fringe. Use local
5497 BUFFER_POS_REACHED_P macro.
5498
5499 2004-03-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5500
5501 * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
5502 to compile on non-window system.
5503
5504 2004-03-19 Kim F. Storm <storm@cua.dk>
5505
5506 * dispextern.h (calc_pixel_width_or_height): Add prototype.
5507
5508 * image.c (Qcenter): Move to xdisp.c.
5509
5510 * xdisp.c (Qcenter): Declare here.
5511 (syms_of_xdisp): Intern and staticpro it.
5512 (handle_single_display_prop): Allow space display property on all
5513 platforms.
5514 (display_mode_line): Set mode_line_p before displaying line.
5515 (calc_pixel_width_or_height): Declare extern. Add separate :align-to
5516 handling. Remove complex cases for fringes and scroll-bars.
5517 Add left, right, and center alignment positions. Add text (area)
5518 width/height. Return width or height for image specs.
5519 (produce_stretch_glyph): Improve handling of :align-to. Is now
5520 relative to left of text area by default, but other base offsets
5521 can be specified -- also for text lines.
5522
5523 * term.c (produce_glyphs): Handle IT_STRETCH.
5524 (produce_stretch_glyph): New function to handle space width and
5525 align-to display properties on non-window systems.
5526
5527 2004-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
5528
5529 * fileio.c (Fread_file_name): Set completion-ignore-case for
5530 case-insensitive systems.
5531
5532 2004-03-14 Masatake YAMATO <jet@gyve.org>
5533
5534 * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
5535 when keymap and cursor are setup.
5536
5537 2004-03-14 Steven Tamm <steventamm@mac.com>
5538
5539 * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
5540
5541 2004-03-14 Kim F. Storm <storm@cua.dk>
5542
5543 * dispextern.h (x_find_image_file): Add prototype.
5544
5545 * image.c (x_find_image_file): Make extern.
5546
5547 * xfns.c (x_find_image_file): Remove prototype.
5548
5549 2004-03-13 Eli Zaretskii <eliz@gnu.org>
5550
5551 * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
5552
5553 * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
5554
5555 2004-03-12 Richard M. Stallman <rms@gnu.org>
5556
5557 * fns.c (internal_equal): New arg PROPS controls comparing
5558 text properties. All callers changed.
5559 (Fequal_including_properties): New function.
5560 (syms_of_fns): defsubr it.
5561
5562 2004-03-12 Kim F. Storm <storm@cua.dk>
5563
5564 Fix image support on MAC. From YAMAMOTO Mitsuharu.
5565
5566 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
5567 (image_background, image_background_transparent): Fix prototypes.
5568
5569 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
5570
5571 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
5572 (x_query_font, x_find_ccl_program, x_set_window_size)
5573 (x_make_frame_visible, mac_initialize, XCreatePixmap)
5574 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
5575 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
5576
5577 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
5578 (x_query_font, x_find_ccl_program, x_set_window_size)
5579 (x_make_frame_visible, mac_initialize, XCreatePixmap)
5580 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
5581 (mac_draw_line_to_pixmap): Add prototypes.
5582
5583 2004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5584
5585 * macterm.c (XTread_socket): Fix mouse click on tool bar.
5586
5587 2004-03-11 Kim F. Storm <storm@cua.dk>
5588
5589 * dispextern.h: Move image related prototypes from xfns.c section
5590 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
5591 HAVE_X_WINDOWS.
5592
5593 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
5594 Move gtkutil.o to new GTK_OBJ list.
5595 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
5596 (GTK_OBJ) [USE_GTK]: New declaration.
5597 (obj): Add $(GTK_OBJ) to list.
5598
5599 2004-03-11 Steven Tamm <steventamm@mac.com>
5600
5601 * image.c [MAC_OSX]: Include sys/stat.h.
5602
5603 * macfns.c (syms_of_macfns): Remove definitions of things now
5604 defined in image.c.
5605
5606 2004-03-11 Kim F. Storm <storm@cua.dk>
5607
5608 The following changes consolidates the identical/similar image
5609 support code previously found in xfns.c, w32fns.c, and macfns.c
5610 into a new file image.c.
5611
5612 * makefile.w32-in (OBJ1): Add image.o.
5613 ($(BLD)/image.$(O)): Add dependencies.
5614
5615 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
5616 (image.o): Add dependencies.
5617
5618 * image.c: New file with consolidated image support code.
5619 (COLOR_TABLE_SUPPORT): New define to control whether
5620 color table support is available (X only).
5621 (Bitmap_Record): Common name for x_bitmap_record,
5622 w32_bitmap_record, and mac_bitmap_record.
5623 (XImagePtr): Common name for pointer to XImage or equivalent.
5624 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
5625 to XImagePtr on X+MAC, and to HDC on W32.
5626 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
5627 (NO_PIXMAP): Common name for "None" or equivalent.
5628 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
5629 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
5630 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
5631 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
5632 Define with suitable equivalents on W32 and MAC for code sharing.
5633 (XDrawLine): Define on MAC for code sharing.
5634 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
5635 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
5636 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5637 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5638 (x_reference_bitmap, x_create_bitmap_from_data)
5639 (x_create_bitmap_from_file, x_destroy_bitmap)
5640 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5641 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5642 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5643 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5644 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5645 (define_image_type, lookup_image_type, valid_image_p)
5646 (image_error, enum image_value_type, struct image_keyword)
5647 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5648 (make_image, free_image, prepare_image_for_display, image_ascent)
5649 (four_corners_best, image_background, image_background_transparent)
5650 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5651 (make_image_cache, free_image_cache, clear_image_cache)
5652 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5653 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5654 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5655 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
5656 (init_image_func_pointer, image_load_quartz2d)
5657 (struct ct_color, init_color_table, free_color_table)
5658 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5659 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5660 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5661 (x_disable_image, x_build_heuristic_mask)
5662 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5663 (TIFF support, GIF support, Ghostscript support): Consolidate image
5664 code from xfns.c, w32fns.c, and macfns.c.
5665 (syms_of_image): Consolidate image related symbol setup here.
5666 (init_image): Consolidate image related initializations here.
5667
5668 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
5669 and init_image. Remove call to init_xfns.
5670
5671 * macterm.h (struct mac_bitmap_record): Add file member.
5672 Not currently used, but simplifies code sharing.
5673
5674 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5675 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5676 (x_reference_bitmap, x_create_bitmap_from_data)
5677 (x_create_bitmap_from_file, x_destroy_bitmap)
5678 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5679 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5680 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5681 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5682 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5683 (define_image_type, lookup_image_type, valid_image_p)
5684 (image_error, enum image_value_type, struct image_keyword)
5685 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5686 (make_image, free_image, prepare_image_for_display, image_ascent)
5687 (four_corners_best, image_background, image_background_transparent)
5688 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5689 (make_image_cache, free_image_cache, clear_image_cache)
5690 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5691 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5692 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5693 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
5694 (init_image_func_pointer, image_load_quartz2d)
5695 (struct ct_color, init_color_table, free_color_table)
5696 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5697 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5698 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5699 (x_disable_image, x_build_heuristic_mask)
5700 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5701 (TIFF support, GIF support, Ghostscript support): Merge with image
5702 code from xfns.c and macfns.c into image.c.
5703 (syms_of_xfns): Move image related symbols to image.c.
5704 (init_external_image_libraries, init_xfns): Remove; initialization
5705 moved to init_image in image.c.
5706
5707 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5708 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5709 (x_reference_bitmap, x_create_bitmap_from_data)
5710 (x_create_bitmap_from_file, x_destroy_bitmap)
5711 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5712 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5713 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5714 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5715 (define_image_type, lookup_image_type, valid_image_p)
5716 (image_error, enum image_value_type, struct image_keyword)
5717 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5718 (make_image, free_image, prepare_image_for_display, image_ascent)
5719 (four_corners_best, image_background, image_background_transparent)
5720 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5721 (make_image_cache, free_image_cache, clear_image_cache)
5722 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5723 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5724 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5725 (struct ct_color, init_color_table, free_color_table)
5726 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5727 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5728 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5729 (x_disable_image, x_build_heuristic_mask)
5730 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5731 (TIFF support, GIF support, Ghostscript support): Merge with image
5732 code from xfns.c and macfns.c into image.c.
5733 (syms_of_xfns): Move image related symbols to image.c.
5734 (init_external_image_libraries, init_xfns): Remove; initialization
5735 moved to init_image in image.c.
5736
5737 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5738 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5739 (x_reference_bitmap, x_create_bitmap_from_data)
5740 (x_create_bitmap_from_file, x_destroy_bitmap)
5741 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5742 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5743 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5744 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5745 (define_image_type, lookup_image_type, valid_image_p)
5746 (image_error, enum image_value_type, struct image_keyword)
5747 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5748 (make_image, free_image, prepare_image_for_display, image_ascent)
5749 (four_corners_best, image_background, image_background_transparent)
5750 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5751 (make_image_cache, free_image_cache, clear_image_cache)
5752 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5753 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5754 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5755 (struct ct_color, init_color_table, free_color_table)
5756 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5757 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5758 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5759 (x_disable_image, x_build_heuristic_mask)
5760 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5761 (TIFF support, GIF support, Ghostscript support): Merge with
5762 w32fns.c and macfns.c image code into image.c.
5763 (syms_of_xfns): Move image related symbols to image.c.
5764 (init_xfns): Remove; initialization moved to init_image in image.c.
5765
5766 * lisp.h (syms_of_image, init_image): Add protoypes.
5767 (init_xfns): Remove prototype.
5768
5769 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5770 (x_reference_bitmap, x_create_bitmap_from_data)
5771 (x_create_bitmap_from_file, x_destroy_bitmap)
5772 (x_create_bitmap_mask): Move prototypes from dispextern.h.
5773 (gamma_correct) [MAC_OS]: Add prototype.
5774
5775 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5776 (x_reference_bitmap, x_create_bitmap_from_data)
5777 (x_create_bitmap_from_file, x_destroy_bitmap)
5778 (x_create_bitmap_mask): Move prototypes to dispextern.h.
5779
5780 2004-03-09 Kenichi Handa <handa@etlken2>
5781
5782 * coding.c (decode_coding_emacs_mule): Handle insufficent source
5783 correctly.
5784
5785 2004-03-04 Richard M. Stallman <rms@gnu.org>
5786
5787 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
5788
5789 * window.c (Fdisplay_buffer): Doc fix.
5790
5791 * buffer.c (Fpop_to_buffer): Doc fix.
5792
5793 2004-03-03 Kim F. Storm <storm@cua.dk>
5794
5795 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
5796
5797 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
5798
5799 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
5800
5801 2004-03-02 Richard M. Stallman <rms@gnu.org>
5802
5803 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
5804
5805 2004-03-02 Kenichi Handa <handa@m17n.org>
5806
5807 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
5808
5809 2004-03-02 Kim F. Storm <storm@cua.dk>
5810
5811 * window.h (struct window): New member overlay_arrow_bitmap.
5812
5813 * window.c (make_window): Initialize overlay_arrow_bitmap.
5814
5815 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
5816 implement and integrate multiple overlay arrows with redisplay.
5817 (syms_of_xdisp): DEFVAR_LISP and initialize it.
5818 (last_arrow_position, last_arrow_string): Replace by properties.
5819 (Qlast_arrow_position, Qlast_arrow_string)
5820 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
5821 (syms_of_xdisp): Intern and staticpro them.
5822 (overlay_arrow_string_or_property, update_overlay_arrows)
5823 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
5824 (overlay_arrow_at_row): New functions for multiple overlay arrows.
5825 (redisplay_internal): Use them instead of directly accessing
5826 Voverlay_arrow_position etc. for multiple overlay arrows.
5827 (mark_window_display_accurate): Use update_overlay_arrows.
5828 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
5829 (try_window_id): Use overlay_arrows_changed_p.
5830 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
5831 (display_line): Use overlay_arrow_at_row to check multiple
5832 overlay arrows, and get relevant overlay-arrow-string and
5833 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
5834 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
5835 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
5836
5837 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
5838 (update_window_fringes): Remove unused code.
5839
5840 2004-03-01 Jason Rumney <jasonr@gnu.org>
5841
5842 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
5843
5844 2004-03-01 Juanma Barranquero <lektu@terra.es>
5845
5846 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
5847
5848 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
5849
5850 2004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5851
5852 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
5853 how many colors can be displayed.
5854
5855 2004-03-01 Kenichi Handa <handa@m17n.org>
5856
5857 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
5858 correctly.
5859
5860 2004-02-28 Kim F. Storm <storm@cua.dk>
5861
5862 * dispnew.c (update_window): Update header line also if there are
5863 no other changes in window (move code after set_cursor label).
5864
5865 * lisp.h (mark_window_display_accurate): Remove prototype.
5866
5867 * window.c (window_loop, Fforce_window_update): Force mode line
5868 updates by setting prevent_redisplay_optimizations_p and
5869 update_mode_lines.
5870
5871 2004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5872
5873 * xfns.c (x_window): Fix indentation.
5874
5875 * xterm.c (x_calc_absolute_position): Call x_real_positions
5876 to get WM window sizes and use those to calculate position.
5877 (x_set_offset): Remove code commented out.
5878
5879 2004-02-28 Miles Bader <miles@gnu.org>
5880
5881 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
5882
5883 2004-02-28 Kim F. Storm <storm@cua.dk>
5884
5885 * keyboard.c (kbd_buffer_store_event_hold): New function to store
5886 an event into kbd fifo, but with special handling of quit event;
5887 a quit event is saved for later, and further events are discarded
5888 until the saved quit event has been processed.
5889 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
5890 (gen_help_event): Store help event in kbd fifo.
5891 (NREAD_INPUT_EVENTS): Remove.
5892 (read_avail_input): Adapt to new read_socket_hook interface.
5893 Remove allocation and initialization of local input_event buffer,
5894 as read_socket_hook stores events directly in fifo. Allocate and
5895 initialize local hold_quit event to handle postponed quit event
5896 (and store it if set by kbd_buffer_store_event_hold).
5897
5898 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
5899 (gen_help_event): Fix prototype.
5900
5901 * macterm.c (XTread_socket): Remove bufp_r and
5902 numcharsp args. Add hold_quit arg.
5903 Rework to use just one, local, inev input_event. Store inev
5904 directly in fifo using kbd_buffer_store_event_hold.
5905
5906 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
5907 (read_input_waiting): Adapt to new read_socket_hook interface.
5908 Remove allocation and initialization of local input_event buffer,
5909 as read_socket_hook stores events directly in fifo. Allocate and
5910 initialize local hold_quit event to handle postponed quit event
5911 (and store it if set by kbd_buffer_store_event_hold).
5912
5913 * term.c (read_socket_hook): Fix arg list.
5914
5915 * termhooks.h (read_socket_hook): Fix prototype.
5916
5917 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
5918 numcharsp args. Add hold_quit arg.
5919 Rework to use just one, local, inev input_event. Store inev
5920 directly in fifo using kbd_buffer_store_event_hold.
5921
5922 * w32inevt.h (w32_console_mouse_position): Fix prototype.
5923
5924 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
5925 Add hold_quit arg. Rework to use just one, local, inev
5926 input_event. Store inev directly in fifo using
5927 kbd_buffer_store_event_hold. Update count in one place.
5928 Postpone call to gen_help_event until inev is stored; use new
5929 local do_help for this.
5930 Remove local emacs_event in handing of ButtonPress event; just use
5931 inev instead (so no reason to copy it later).
5932
5933 * xsmfns.c (x_session_check_input): Remove numchars arg.
5934
5935 * xterm.c (x_focus_changed, x_detect_focus_change):
5936 Remove numchars arg. Always store event into bufp arg.
5937 Return nothing. Callers changed accordingly.
5938 (glyph_rect): Simplify.
5939 (STORE_KEYSYM_FOR_DEBUG): New macro.
5940 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
5941 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
5942 (current_hold_quit) [USE_GTK]: Add.
5943 (event_handler_gdk): Adapt to new handle_one_xevent.
5944 (handle_one_xevent): Remove bufp_r and numcharsp args.
5945 Add hold_quit arg. Rework to use just one, local, inev
5946 input_event. Store inev directly in fifo using
5947 kbd_buffer_store_event_hold. Update count in one place.
5948 Postpone call to gen_help_event until inev is stored; use new
5949 local do_help for this.
5950 Simplify handling of keysyms (consolidate common code). Fix bug
5951 where count was updated with nchars instead of nbytes.
5952 Remove local emacs_event in handing of ButtonPress event; just use
5953 inev instead (so no reason to copy it later).
5954 Remove `out' label. Rename label `ret' to `done'; add various
5955 `goto done' to clarify code flow in deeply nested blocks.
5956 (x_dispatch_event): Simplify as handle_one_xevent now calls
5957 kbd_buffer_store_event itself.
5958 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
5959 arg. Call handle_one_xevent with new arglist. Store event from
5960 x_session_check_input in fifo.
5961 [USE_GTK]: Setup current_hold_quit.
5962 Decrement handling_signal before unblocking input.
5963 (x_initialize) [USE_GTK]: Initialize current_count.
5964
5965 * xterm.h (x_session_check_input): Fix prototype.
5966
5967 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5968
5969 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
5970
5971 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
5972 macgui.h).
5973
5974 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
5975
5976 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
5977 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
5978 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
5979 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
5980 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
5981 (Bitmap): Remove typedef.
5982 (Pixmap): Change int to GWorldPtr.
5983
5984 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5985
5986 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5987 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
5988 New #define to extract 16-bit depth color components from unsigned
5989 long representation.
5990 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
5991 colors used for masks.
5992 (struct mac_display_info): Add color_p. Remove n_cbits.
5993
5994 * macfns.c: Include sys/types.h and sys/stat.h.
5995 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
5996 Include QuickTime/QuickTime.h.
5997 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5998 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
5999 functions defined in macterm.c.
6000 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
6001 (ZPixmap): New #define for compatibility with xfns.c.
6002 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
6003 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
6004 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
6005 New functions.
6006 (four_corners_best, x_create_x_image_and_pixmap)
6007 (x_destroy_x_image, unwind_create_frame, x_disable_image)
6008 (x_edge_detection, init_color_table, colors_in_color_table)
6009 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
6010 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
6011 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
6012 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
6013 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
6014 long mixup.
6015 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
6016 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
6017 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
6018 (x_set_cursor_type, Fxw_color_values, valid_image_p)
6019 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
6020 (x_alloc_image_color, clear_image_cache, lookup_image)
6021 (x_find_image_file, xbm_read_bitmap_file_data)
6022 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
6023 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
6024 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
6025 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
6026 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
6027 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
6028 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
6029 #if 0.
6030 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
6031 #if 0. Free white_relief.gc and black_relief.gc.
6032 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
6033 New functions (from xfns.c).
6034 (Fx_create_frame): Record unwind_create_frame.
6035 (Fxw_display_color_p): Use dpyinfo->color_p.
6036 (Fx_display_grayscale_p, Fx_display_planes): Don't use
6037 dpyinfo->n_cbits.
6038 (Fx_display_color_cells): Use dpyinfo->n_planes;
6039 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
6040 (Qheuristic, cross_disabled_images, emboss_matrix)
6041 (laplace_matrix): New variables (from xfns.c).
6042 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
6043 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
6044 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
6045 (image_background_transparent): New function (from xfns.c).
6046 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
6047 (image_load_quicktime): Add declaration.
6048 [MAC_OSX] (image_load_quartz2d): Likewise.
6049 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
6050 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
6051 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
6052 (xbm_load_image_from_file, x_laplace_read_row)
6053 (x_laplace_write_row, pbm_read_file): Remove functions.
6054 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
6055 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
6056 (colors_in_color_table): Sync with xfns.c (although not used).
6057 (lookup_rgb_color): Don't lookup color table. Just do gamma
6058 correction.
6059 (COLOR_INTENSITY): New #define (from xfns.c).
6060 (x_disable_image): New function (from xfns.c).
6061 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
6062 (x_build_heuristic_mask): Sync with xfns.c.
6063 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
6064 (HAVE_PBM): Remove #ifdef.
6065 (pbm_load): Sync with xfns.c. Set img->width and img->height
6066 before IMAGE_BACKGROUND.
6067 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
6068 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
6069 Don't enclose with #if HAVE_PNG.
6070 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
6071 symbol _CGImageCreateWithPNGDataProvider is defined.
6072 Otherwise use image_load_quicktime.
6073 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
6074 [HAVE_PNG] (png_load): Sync with xfns.c.
6075 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
6076 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
6077 HAVE_JPEG.
6078 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
6079 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
6080 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
6081 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
6082 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
6083 (tiff_image_p, tiff_load): Don't enclose declarations with #if
6084 HAVE_TIFF.
6085 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
6086 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
6087 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
6088 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
6089 New functions (from xfns.c).
6090 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
6091 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
6092 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
6093 Don't enclose with #if HAVE_GIF.
6094 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
6095 animated gif. Otherwise use image_load_quicktime.
6096 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
6097 gif_DrawText to avoid conflict with QuickdrawText.h.
6098 [HAVE_GIF] (gif_load): Sync with xfns.c.
6099 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
6100 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
6101 Ghostscript is not supported yet).
6102 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
6103 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
6104 cross_disabled_images (from xfns.c). Remove #if 0 for supported
6105 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
6106 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
6107 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
6108 HAVE_PNG. Call EnterMovies to support animated gifs.
6109 Call init_image_func_pointer to bind a symbol
6110 _CGImageCreateWithPNGDataProvider if it is defined.
6111
6112 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
6113 (x_draw_bar_cursor): Sync declaration with xterm.c.
6114 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
6115 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
6116 graphics).
6117 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
6118 (mac_draw_line_to_pixmap, XCreatePixmap)
6119 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
6120 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
6121 New functions.
6122 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
6123 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
6124 Cast bits to char *.
6125 (reflect_byte): New function (from w32fns.c).
6126 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
6127 due to byte alignment.
6128 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
6129 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
6130 (XSetForeground): Remove static (now used in macfns.c).
6131 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
6132 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
6133 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
6134 (x_draw_glyph_string_box, x_draw_image_foreground)
6135 (x_draw_image_foreground_1, x_draw_image_glyph_string)
6136 (x_draw_stretch_glyph_string, x_draw_glyph_string)
6137 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
6138 Sync with xterm.c.
6139 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
6140 than the xterm.c version when a strictly horizontal or vertical
6141 line is drawn.
6142 (XTset_terminal_window): Add static.
6143 (x_make_frame_visible): Add UNBLOCK_INPUT.
6144 (x_free_frame_resources): New funcion (from xterm.c).
6145 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
6146 occurs in tool bar area.
6147 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
6148 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
6149 Initialize image cache.
6150 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
6151 Enclose unused functions with #if 0.
6152 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
6153 (decode_mac_font_name): New function to apply code conversions
6154 from a mac font name to an XLFD font name according to its script code.
6155 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
6156 font name to a mac font name according to REGISTRY and ENCODING fields.
6157 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
6158 whose name starts with `.'.
6159 (init_font_name_table): Use decode_mac_font_name. Add both
6160 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
6161 of a font is smJapanese.
6162 (mac_do_list_fonts): New function to list fonts that match a given
6163 pattern.
6164 (x_list_fonts, XLoadQueryFont): Use it.
6165 (XLoadQueryFont): Set rbearing field for each variable width
6166 character to avoid needless redraw.
6167 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
6168
6169 2004-02-26 Kim F. Storm <storm@cua.dk>
6170
6171 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
6172 as read_socket_hook handler on X aborts if buffer is too small
6173 and W32 handler doesn't always check buffer limit.
6174
6175 * xdisp.c (handle_single_display_prop): Handle left-fringe and
6176 right-fringe similar to a display margin image. Specifically,
6177 the characters having the fringe prop are no longer shown, and
6178 we use IT_IMAGE/next_element_from_image with image_id = -1 to
6179 do this. Set fringe bitmap face_id in it->face_id.
6180 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
6181 still realize it->face (i.e. the fringe bitmap face).
6182
6183 2004-02-25 Miles Bader <miles@gnu.org>
6184
6185 * xdisp.c (check_it): Check string/string_pos consistency.
6186 (init_iterator): Initialize string-related fields properly.
6187
6188 2004-02-11 Miles Bader <miles@gnu.org>
6189
6190 * xdisp.c (produce_image_glyph): Force negative descents to zero.
6191
6192 2004-02-10 Miles Bader <miles@gnu.org>
6193
6194 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
6195 BLOCK_INPUT can be nested, so it doesn't make much sense.
6196
6197 2004-02-24 Michael Mauger <mmaug@yahoo.com>
6198
6199 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
6200 (xbm_read_bitmap_data): Use unsigned char for image data.
6201
6202 2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
6203
6204 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
6205
6206 2004-02-22 Jason Rumney <jasonr@gnu.org>
6207
6208 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
6209 correctly over other bitmaps.
6210
6211 2004-02-21 Eli Zaretskii <eliz@gnu.org>
6212
6213 * emacs.c (USAGE1): Split into two halves.
6214 (USAGE2): Second half of the old USAGE1.
6215 (USAGE3): Rename from USAGE2.
6216 (USAGE4): Rename from USAGE3.
6217
6218 2004-02-21 Juri Linkov <juri@jurta.org>
6219
6220 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
6221 Fix --multibyte. Move --help, --version to USAGE2. Add alias
6222 --file. Fix -f, -l. Sort options. Untabify.
6223 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
6224
6225 2004-02-19 Luc Teirlinck <teirllm@auburn.edu>
6226
6227 * category.c (Fdefine_category, Fcategory_docstring)
6228 (Fget_unused_category, Fset_category_table)
6229 (Fcategory_set_mnemonics): Doc fixes.
6230
6231 2004-02-20 Kim F. Storm <storm@cua.dk>
6232
6233 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
6234 The following changes are relative to the 2004-01-21 revision.
6235 (NREAD_INPUT_EVENTS): Define as max number of input events to read
6236 in one call to read_socket_hook. Value is 8.
6237 (read_avail_input): Separate and rework handling of read_socket_hook
6238 and non-read_socket_hook cases. Use smaller input_event buffer
6239 in read_socket_hook case, and repeat if full buffer is read.
6240 Use new local variable 'discard' to skip input after C-g.
6241 In non-read_socket_hook case, just use a single input_event, and
6242 call kbd_buffer_store_event on the fly for each character.
6243
6244 2004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
6245
6246 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
6247 Remove unused `gu' alternative.
6248
6249 2004-02-19 Andreas Schwab <schwab@suse.de>
6250
6251 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
6252 warning.
6253
6254 2004-02-18 Kim F. Storm <storm@cua.dk>
6255
6256 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
6257 Fix last change.
6258
6259 2004-02-17 Kim F. Storm <storm@cua.dk>
6260
6261 * xdisp.c (fast_find_position): Fix return value of new version;
6262 it was inverted compared to the 21.1 version.
6263 (get_window_cursor_type): Don't look at glyph if NULL.
6264 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
6265
6266 * keyboard.c: Rework previous change; it didn't consider that the
6267 buf array was allocated on the stack.
6268 (prev_read): Remove variable.
6269 (read_avail_input_buf): New static event buffer array.
6270 (in_read_avail_input): New static variable to handle re-entrancy.
6271 (read_avail_input): Change buf to pinter to read_avail_input_buf.
6272 Use in_read_avail_input to handle re-entrance; when re-entered,
6273 fully initialize and use tmp_buf array instead of read_avail_input_buf.
6274 Do not initialize read_avail_input_buf in full here; instead assume it
6275 is always cleared on entry. To ensure that, we clear (just) the
6276 entries that were used before we return.
6277 (init_keyboard): Initialize read_avail_input_buf here.
6278
6279 2004-02-16 Jesper Harder <harder@ifa.au.dk>
6280
6281 * cmds.c (Fend_of_line): Doc fix.
6282
6283 2004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
6284
6285 * keyboard.c (prev_read): New static variable.
6286 (read_avail_input): Use it to zero out only those slots in buf[]
6287 that were used last time we were called.
6288
6289 2004-02-16 Eli Zaretskii <eliz@gnu.org>
6290
6291 * Makefile.in (obj): Move fringe.o from here...
6292 (XOBJ, MAC_OBJ): ...to here.
6293
6294 2004-02-16 Stephen Eglen <stephen@gnu.org>
6295
6296 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
6297
6298 2004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
6299
6300 * data.c (Fbyteorder):
6301 * fringe.c (Fdefine_fringe_bitmap):
6302 * xdisp.c (handle_single_display_prop):
6303 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
6304
6305 2004-02-16 Jason Rumney <jasonr@gnu.org>
6306
6307 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
6308
6309 2004-02-15 Steven Tamm <steventamm@mac.com>
6310
6311 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
6312 controlling emulation of a three button mouse with option and
6313 command keys.
6314 (Qreverse, mac_get_enumlated_btn): Handle the emulation.
6315 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
6316
6317 2004-02-15 Kim F. Storm <storm@cua.dk>
6318
6319 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
6320
6321 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
6322 Perform byte-swapping.
6323
6324 2004-02-14 Kim F. Storm <storm@cua.dk>
6325
6326 * dispextern.h (struct draw_fringe_bitmap_params): Change member
6327 bits from char to short to facilitate wider bitmaps.
6328 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
6329 member.
6330
6331 * fringe.c (struct fringe_bitmap): Change member bits from char to
6332 short to facilitate 16 bits wide bitmaps. Modify all standard
6333 bitmaps accordingly.
6334 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
6335 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
6336 (draw_fringe_bitmap): Ditto.
6337 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
6338 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
6339 handle up to 16 bits wide bitmaps.
6340 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
6341 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
6342
6343 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
6344 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
6345 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
6346
6347 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
6348 so it is no longer necessary to expand them here.
6349
6350 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
6351
6352 2004-02-12 Kim F. Storm <storm@cua.dk>
6353
6354 * window.c (Fwindow_fringes): Doc fix.
6355
6356 2004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6357
6358 * xselect.c (x_get_foreign_selection): Add new optional parameter
6359 time_stamp.
6360 (Fx_get_selection_internal): Ditto, pass time_stamp to
6361 x_get_foreign_selection.
6362
6363 * data.c (Fbyteorder): New function.
6364
6365 2004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6366
6367 * atimer.c: Move include stdio.h to same place as in other files.
6368
6369 * region-cache.c: Ditto.
6370
6371 * sysdep.c: Ditto.
6372
6373 * xfaces.c: Ditto.
6374
6375 2004-02-09 Sam Steingold <sds@gnu.org>
6376
6377 * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
6378
6379 2004-02-09 Kim F. Storm <storm@cua.dk>
6380
6381 * fringe.c: New file. Move original fringe related declarations
6382 and code from dispextern.h and xdisp.c here.
6383 Rework code to support user defined fringe bitmaps, redefining
6384 standard bitmaps, ability to overlay user defined bitmap with
6385 overlay arrow bitmap, and add faces to bitmaps.
6386 (Voverflow_newline_into_fringe): Declare here.
6387 (enum fringe_bitmap_align): New enum.
6388 (..._bits): All bitmaps are now defined without bitswapping; that
6389 is now done in init_fringe_once (if necessary).
6390 (standard_bitmaps): New array with specifications for the
6391 standard fringe bitmaps.
6392 (fringe_faces): New array.
6393 (valid_fringe_bitmap_id_p): New function.
6394 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
6395 (draw_fringe_bitmap): New function which draws fringe bitmap,
6396 possibly overlaying bitmap with cursor in right fringe or the
6397 overlay arrow in the left fringe.
6398 (update_window_fringes): Do not handle overlay arrow here.
6399 Compare and copy fringe bitmap faces.
6400 (init_fringe_bitmap): New function.
6401 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
6402 define and destroy user defined fringe bitmaps.
6403 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
6404 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
6405 (syms_of_fringe): New function. Defsubr new DEFUNs.
6406 DEFVAR_LISP Voverflow_newline_into_fringe.
6407 (init_fringe_once, init_fringe): New functions.
6408 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
6409
6410 * Makefile.in (obj): Add fringe.o.
6411 (fringe.o): New dependencies.
6412
6413 * dispextern.h (FRINGE_ID_BITS): New definition for number of
6414 bits allocated to hold a fringe number. Increase number of bits
6415 from 4 to 8 to allow user defined fringe bitmaps.
6416 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
6417 left_user_fringe_face_id, right_user_fringe_bitmap,
6418 right_user_fringe_face_id.
6419 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
6420 Move to new file fringe.c.
6421 (MAX_FRINGE_BITMAPS): Define here.
6422 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
6423 and overlay_p. Change member which to int.
6424 (struct redisplay_interface): New members define_fringe_bitmap
6425 and destroy_fringe_bitmap.
6426 (valid_fringe_bitmap_id_p): Add prototype.
6427 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
6428
6429 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
6430 arrows.
6431 (update_frame): Do flush_display if force_flush_display_p to
6432 ensure display (specifically fringes) are updated in a timely
6433 manner when resizing the frame by dragging the mouse.
6434 (update_window_line): Update row if overlay arrow changed.
6435 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
6436 or overlay arrow changed.
6437
6438 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
6439 syms_of_fringe, and init_fringe.
6440
6441 * frame.h (struct frame): New member force_flush_display_p.
6442
6443 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
6444 Add prototypes.
6445
6446 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
6447 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
6448 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
6449 Use cursor color for displaying cursor in fringe.
6450 (x_redisplay_interface): Add null handlers for
6451 define_fringe_bitmap and destroy_fringe_bitmap functions.
6452
6453 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
6454 xterm.c to handle overlayed fringe bitmaps and to use cursor color
6455 for displaying cursor in fringe.
6456 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
6457 specific functions to define and destroy fringe bitmaps in fringe_bmp.
6458 (w32_redisplay_interface): Add them to redisplay_interface.
6459 (w32_term_init): Call w32_init_fringe instead of explicitly
6460 defining fringe bitmaps in fringe_bmp array.
6461 (x_delete_display): Call w32_reset_fringes instead of explicitly
6462 destroying fringe bitmaps in fringe_bmp array.
6463
6464 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
6465 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
6466 (continued_bits, continuation_bits, ov_bits, first_line_bits)
6467 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
6468 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
6469 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
6470 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
6471 Move fringe handling vars and code to new file fringe.c.
6472 (handle_display_prop): Handle left-fringe and right-fringe
6473 display properties; store user fringe bitmaps in iterator.
6474 (move_it_in_display_line_to): Handle cursor in fringe at eob.
6475 (clear_garbaged_frames): Set force_flush_display_p if resized.
6476 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
6477 (display_line): Handle cursor in fringe at eob.
6478 (display_line): Set row user fringe bitmaps from iterator.
6479
6480 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
6481 Use cursor color for displaying cursor in fringe.
6482 (x_redisplay_interface): Add null handlers for
6483 define_fringe_bitmap and destroy_fringe_bitmap functions.
6484
6485 2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6486
6487 * macfns.c (Fx_change_window_property): Make doc string and
6488 parameters same as for X version.
6489
6490 * w32fns.c (Fx_change_window_property): Ditto.
6491
6492 2004-02-07 Kim F. Storm <storm@cua.dk>
6493
6494 * xdisp.c (hscroll_window_tree): Position cursor near to right
6495 margin in hscrolled window when jumping to end of line (rather
6496 than centering cursor).
6497
6498 * process.c (wait_reading_process_input): Don't do adaptive read
6499 buffering if waiting for a specific process.
6500
6501 2004-02-05 Luc Teirlinck <teirllm@auburn.edu>
6502
6503 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
6504 (Fread_minibuffer, Feval_minibuffer)
6505 (Fread_string, Fread_no_blanks_input)
6506 (Fcompleting_read): Doc fixes.
6507 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
6508 completion-regexp-list. Define Qcase_fold_search and staticpro it.
6509 (read_minibuf): Fix initial comment.
6510 (Ftry_completion, Fall_completions, Ftest_completion): Bind
6511 case-fold-search to the value of completion-ignore-case when
6512 checking completion-regexp-list.
6513 (Fdisplay_completion_list): Make it handle arguments that are
6514 symbols. Doc fix.
6515
6516 2004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6517
6518 * xterm.h: Add declaration of free_frame_menubar.
6519
6520 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
6521 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
6522 (Fx_change_window_property): Add declaration of parameters type and
6523 format. Remove unused variable cons.
6524
6525 * xselect.c: Include stdio,h.
6526
6527 2004-02-05 Kenichi Handa <handa@m17n.org>
6528
6529 * fns.c (Fset_char_table_range): Fix previous change.
6530
6531 * buffer.c (Fset_buffer_multibyte): Fix docstring.
6532
6533 2004-02-04 Luc Teirlinck <teirllm@auburn.edu>
6534
6535 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
6536
6537 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
6538
6539 * keymap.c (Vmouse_events): Rename from Vmenu_events.
6540 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
6541
6542 2004-02-04 Kenichi Handa <handa@m17n.org>
6543
6544 * fns.c (Fset_char_table_range): Handle charsets ascii,
6545 eight-bit-control, and eight-bit-graphic correctly.
6546
6547 2004-02-03 Jason Rumney <jasonr@gnu.org>
6548
6549 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
6550
6551 * w32fns.c (x_to_w32_font): Likewise.
6552
6553 2004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6554
6555 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
6556 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
6557
6558 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
6559 ClientMessages.
6560
6561 * xselect.c: Include termhooks.h and X11/Xproto.h
6562 (x_check_property_data, x_fill_property_data)
6563 (x_property_data_to_lisp, mouse_position_for_drop)
6564 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
6565 (Fx_send_client_event): Move here from xfns.c.
6566 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
6567
6568 * xfns.c (x-send-client-message): Move to xselect.c
6569 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
6570 OUTER_P.
6571 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
6572 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
6573 if vector_ret_p is true.
6574 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
6575
6576 2004-02-02 Eli Zaretskii <eliz@gnu.org>
6577
6578 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
6579 basename of FILE relative to it, not FILE itself.
6580
6581 2004-02-02 Kenichi Handa <handa@m17n.org>
6582
6583 * coding.c (coding_restore_composition): Check invalid
6584 composition data more rigidly.
6585
6586 2004-01-30 Luc Teirlinck <teirllm@auburn.edu>
6587
6588 * fileio.c (Fread_file_name_internal): Correctly handle the case
6589 where insert-default-directory is nil.
6590 (Fread_file_name): Always return an empty string if the user exits
6591 with an empty minibuffer. Adapt the docstring accordingly.
6592 (syms_of_fileio): Adapt the docstring of insert-default-directory
6593 to the change in Fread_file_name.
6594
6595 2004-01-29 Eli Zaretskii <eliz@gnu.org>
6596
6597 * alloca.c [!alloca]: Fix the prototype for xfree.
6598
6599 2004-01-29 Kenichi Handa <handa@m17n.org>
6600
6601 * fns.c (string_char_to_byte): Optimize for ASCII only string.
6602 (string_byte_to_char): Likewise.
6603
6604 2004-01-28 Peter Runestig <peter@runestig.com>
6605
6606 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
6607
6608 2004-01-27 Steven Tamm <steventamm@mac.com>
6609
6610 * unexmacosx.c (unexec_copy): Do not copy more than was
6611 requested to prevent overwriting during unexec.
6612
6613 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6614
6615 * process.c (sigchld_handler): Add comment about not calling malloc.
6616
6617 * process.h: Add extern to synch_process_termsig.
6618
6619 2004-01-27 Steven Tamm <steventamm@mac.com>
6620
6621 * macterm.c (make_mac_frame, make_mac_terminal_frame):
6622 Move setting of scroll bars from make_mac_frame to
6623 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
6624
6625 2004-01-26 Richard M. Stallman <rms@gnu.org>
6626
6627 * search.c (Freplace_match): Handle nonexistent
6628 back-references properly.
6629
6630 2004-01-03 Richard M. Stallman <rms@gnu.org>
6631
6632 * window.c (decode_any_window): New function.
6633 (Fwindow_height, Fwindow_width, Fwindow_edges)
6634 (Fwindow_pixel_edges, Fwindow_inside_edges)
6635 (Fwindow_inside_pixel_edges): Use decode_any_window.
6636
6637 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6638
6639 * process.h: synch_process_termsig new variable.
6640
6641 * callproc.c: Define synch_process_termsig.
6642 (Fcall_process): Initiate synch_process_termsig to zero and
6643 check if non-zero and get signal name after subprocess has ended.
6644
6645 * process.c (sigchld_handler): Set synch_process_termsig
6646 if terminated by a signal. synch_process_death setting removed.
6647
6648 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
6649
6650 2004-01-26 Andreas Schwab <schwab@suse.de>
6651
6652 * print.c (print_preprocess): Declare size as EMACS_INT to not
6653 lose bits.
6654 (print_object): Likewise.
6655 * alloc.c (Fpurecopy): Likewise.
6656
6657 2004-01-25 Luc Teirlinck <teirllm@auburn.edu>
6658
6659 * window.c (Fwindow_minibuffer_p): Doc fix.
6660
6661 2004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
6662
6663 * editfns.c (Fformat): Make both passes accept the same set of flags.
6664
6665 2004-01-23 Kenichi Handa <handa@m17n.org>
6666
6667 * fns.c (Fmd5): If OBJECT is a buffer different from the current
6668 one, set buffer to OBJECT temporarily.
6669
6670 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
6671
6672 * keyboard.c (kbd_buffer_gcpro): Remove.
6673 (kbd_buffer_store_event, clear_event, Fdiscard_input)
6674 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
6675 Don't initialize and/or maintain the variable any more. It was made
6676 redundant by my commit of 2003-06-15.
6677
6678 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
6679
6680 2004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6681
6682 * lisp.h: Add undef DECL_ALIGN.
6683
6684 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
6685
6686 * process.c (wait_reading_process_input) [SYNC_INPUT]:
6687 Check interrupt_input_pending explicitly.
6688
6689 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
6690
6691 * keyboard.c (handle_async_input): New fun,
6692 extracted from input_available_signal.
6693 (input_available_signal, reinvoke_input_signal): Use it.
6694
6695 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
6696
6697 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
6698
6699 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
6700 manipulation macros for when tags are in the lower bits.
6701 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
6702 (DECL_ALIGN): New macro.
6703 (DEFUN): Use it.
6704
6705 * lisp.h [ENABLE_CHECKING]: Don't force union type.
6706
6707 * s/darwin.h (__attribute__): Remove outdated workaround.
6708
6709 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
6710
6711 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
6712 Don't check range of malloc address.
6713 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
6714
6715 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
6716
6717 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
6718
6719 2004-01-19 Kenichi Handa <handa@m17n.org>
6720
6721 * fontset.c (fontset_font_pattern): Fix previous change.
6722
6723 2004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
6724
6725 * xdisp.c (Voverflow_newline_into_fringe)
6726 (move_it_in_display_line_to, redisplay_internal)
6727 (update_window_fringes, redisplay_window, display_line, window):
6728 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
6729 that it compiles without a window-system.
6730 * dispnew.c (direct_output_for_insert, update_window): Likewise.
6731
6732 2004-01-16 Kim F. Storm <storm@cua.dk>
6733
6734 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
6735
6736 * buffer.c (init_buffer_once): Set buffer_defaults and
6737 buffer_local_flags for indicate_buffer_boundaries.
6738 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
6739 default- variable for it.
6740
6741 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
6742 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
6743 New members exact_window_width_line_p and cursor_in_fringe_p for
6744 overflowing newlines into right fringe.
6745 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
6746 and indicate_bottom_line_p for buffer boundaries and scrolling.
6747 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
6748 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
6749 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
6750 and HOLLOW_SQUARE_BITMAP.
6751 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
6752 Add prototypes.
6753
6754 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
6755 instead of related indicator fields.
6756 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
6757 (direct_output_for_insert): Handle exact width lines like
6758 contined lines. Call update_window_fringes.
6759 (update_window): Call update_window_fringes.
6760 (scrolling_window): Don't skip desired rows with changed bitmaps.
6761 Check if fringe bitmaps changes when assigning scrolled rows.
6762
6763 * xdisp.c (Voverflow_newline_into_fringe): New variable.
6764 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
6765 (move_it_in_display_line_to): Overflow newline into fringe for
6766 rows that are exactly as wide as the window.
6767 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
6768 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
6769 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
6770 (fringe_bitmaps): Add new bitmaps.
6771 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
6772 Select proper bitmap for cursor in fringe when appropriate.
6773 Handle alignment of bitmap to top or bottom of row.
6774 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
6775 done by update_window_fringes.
6776 (update_window_fringes, draw_window_fringes): New functions.
6777 (redisplay_internal): Call update_window_fringes in case only
6778 cursor row is updated.
6779 (redisplay_window): Call update_window_fringes.
6780 Explicitly call draw_window_fringes if redisplay was done using
6781 the current matrix or the overlay arrow is in the window.
6782 (try_window_reusing_current_matrix): Mark scrolled rows for
6783 fringe update (to update buffer-boundaries / scrolling icons).
6784 (find_last_unchanged_at_beg_row): Handle exact width lines line
6785 continued lines.
6786 (display_line): Overflow newline into fringe for rows that are
6787 exactly as wide as the window. Don't append space for newline
6788 in this case.
6789 (notice_overwritten_cursor): Explicitly clear cursor bitmap
6790 in fringe as if it had been overwritten.
6791 (erase_phys_cursor): Erase cursor bitmap in fringe.
6792 (syms_of_xdisp): Mark show-trailing-whitespace and
6793 void-text-area-pointer as user options.
6794 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
6795
6796 * xterm.c (x_update_window_end): Call draw_window_fringes.
6797 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
6798 in row instead of actually drawing fringe bitmaps.
6799 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
6800 (x_draw_window_cursor): Draw cursor in fringe.
6801
6802 * w32term.c (x_update_window_end): Call draw_window_fringes.
6803 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
6804 in row instead of actually drawing fringe bitmaps.
6805 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
6806 (w32_draw_window_cursor): Draw cursor in fringe.
6807
6808 * macterm.c (x_update_window_end): Call draw_window_fringes.
6809 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
6810 in row instead of actually drawing fringe bitmaps.
6811 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
6812 (mac_draw_window_cursor): Draw cursor in fringe.
6813
6814 2004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6815
6816 * xterm.c (handle_one_xevent): Don't handle characters that are part
6817 of an old style (XLookupString) compose sequence.
6818
6819 2004-01-15 Kenichi Handa <handa@m17n.org>
6820
6821 * search.c (Freplace_match): Use make_multibyte_string or
6822 make_unibyte_string according to the buffer multibyteness.
6823
6824 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
6825
6826 * alloc.c (struct interval_block, struct string_block)
6827 (struct symbol_block, struct marker_block, live_string_p)
6828 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
6829 Better preserve alignment for objects in blocks.
6830 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
6831
6832 * lread.c (defvar_per_buffer): Remove dead declaration.
6833
6834 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
6835 space size.
6836
6837 2004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6838
6839 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
6840 if a key press should pop down. Only pop down if a key is pressed
6841 outside the menu/dialog.
6842 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
6843 popup_get_selection.
6844 (create_and_show_dialog): Pass 1 for down_on_keypress to
6845 popup_get_selection.
6846
6847 2004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6848
6849 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
6850 BLOCK/UNBLOCK_INPUT.
6851
6852 2004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6853
6854 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
6855 specified.
6856
6857 2004-01-08 Kenichi Handa <handa@m17n.org>
6858
6859 * editfns.c (Fformat): Fix '&' to '&&'.
6860
6861 2004-01-08 Andreas Schwab <schwab@suse.de>
6862
6863 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
6864 size if PSEUDOVECTOR_FLAG is set.
6865
6866 2004-01-07 Kenichi Handa <handa@m17n.org>
6867
6868 * charset.c (Fdeclare_equiv_charset): Fix docstring.
6869
6870 * fontset.c (fontset_ref_via_base): Fix previous change.
6871
6872 2004-01-07 Kim F. Storm <storm@cua.dk>
6873
6874 * process.c (read_process_output): Only activate adaptive
6875 buffering if we read less than 256 bytes at a time.
6876
6877 2004-01-06 Kim F. Storm <storm@cua.dk>
6878
6879 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
6880 object and image object. Return glyph width and height.
6881 (mode_line_string, marginal_area_string): Ditto.
6882
6883 * dispextern.h (buffer_posn_from_coords, mode_line_string)
6884 (marginal_area_string): Fix prototypes.
6885
6886 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
6887 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
6888 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
6889
6890 * keyboard.c (make_lispy_position): Use modified mode_line_string,
6891 buffer_posn_from_coords, and marginal_area_string functions to
6892 include both string object and image object in the lispy position.
6893 Also add actual glyph width and height to position.
6894 (read_key_sequence): Use real buffer position from mouse
6895 event to find keymap property even when click is in marginal area.
6896
6897 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
6898 mode_line_string and marginal_area_string functions to handle
6899 both string object and image object properties.
6900
6901 2004-01-06 Andreas Schwab <schwab@suse.de>
6902
6903 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
6904 character.
6905
6906 2004-01-02 Andreas Schwab <schwab@suse.de>
6907
6908 * macterm.c (emacs_options, x_initialized, same_x_server):
6909 Remove unused (and duplicated) definitions.
6910
6911 2004-01-02 Kim F. Storm <storm@cua.dk>
6912
6913 * process.h (struct Lisp_Process): New members for adaptive read
6914 buffering: adaptive_read_buffering, read_output_delay, and
6915 read_output_skip.
6916
6917 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
6918 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
6919 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
6920 (process_output_delay_count, process_output_skip): New vars.
6921 (Vprocess_adaptive_read_buffering): New variable.
6922 (make_process): Initialize adaptive read buffering members.
6923 (Fstart_process): Set adaptive_read_buffering member.
6924 (deactivate_process): Cleanup adaptive read buffering.
6925 (wait_reading_process_input): Temporarily omit delayed
6926 subprocesses from the set of file descriptors to read from;
6927 adjust the select timeout if we skipped any subprocesses.
6928 (read_process_output): Increase adaptive read buffering delay if
6929 we read less than a full buffer; reduce delay when we read a
6930 full buffer.
6931 (send_process): Simplify using local Lisp_Process var.
6932 Reset adaptive read buffering delay after write.
6933 (init_process): Initialize process_output_delay_count and
6934 process_output_skip.
6935 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
6936
6937 2004-01-01 Jason Rumney <jasonr@gnu.org>
6938
6939 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
6940
6941 2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
6942
6943 * print.c (Ferror_message_string): Add hyperlink in the docstring
6944 to the definition of `signal' in the Elisp manual.
6945 * eval.c (Fsignal): Ditto.
6946
6947 2003-12-29 James Clark <jjc@jclark.com>
6948
6949 * fns.c (internal_equal): Return t for two NaN arguments.
6950
6951 2003-12-29 Richard M. Stallman <rms@gnu.org>
6952
6953 * data.c (store_symval_forwarding): Handle setting
6954 default-fill-column, etc., by changing the value in
6955 buffers that use the default.
6956
6957 * minibuf.c (Fset_minibuffer_window): Doc fix.
6958
6959 * fileio.c (choose_write_coding_system): Ignore auto_saving
6960 if using the visited file for auto saves.
6961 (Fwrite_region): Don't update SAVE_MODIFF
6962 if auto-saving in visited file.
6963
6964 2003-12-29 Kenichi Handa <handa@m17n.org>
6965
6966 * dispextern.h (face_font_available_p): Extern it.
6967
6968 * fontset.c (Voverriding_fontspec_alist): New variable.
6969 (lookup_overriding_fontspec): New function.
6970 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
6971 (fontset_font_pattern): Likewise.
6972 (regulalize_fontname): New function.
6973 (Fset_fontset_font): Call regulalize_fontname.
6974 (Fset_overriding_fontspec_internal): New function.
6975 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
6976 Defsubr Sset_overriding_fontspec_internal.
6977
6978 * xfaces.c (face_font_available_p): New function.
6979
6980 2003-12-28 Richard M. Stallman <rms@gnu.org>
6981
6982 * buffer.c (Fother_buffer): Don't crash if BUF is nil
6983 or if its name is nil.
6984
6985 * buffer.c (Fkill_buffer): Don't delete auto-save file
6986 if it's the same as the visited file.
6987
6988 2003-12-28 Luc Teirlinck <teirllm@auburn.edu>
6989
6990 * coding.c (Fcheck_coding_system): Doc fix.
6991
6992 2003-12-28 Kim F. Storm <storm@cua.dk>
6993
6994 * Makefile.in (eval.o): Depend on dispextern.h.
6995
6996 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
6997 image glyph using image's ascent.
6998 (mode_line_string): Return image glyph as object clicked on.
6999 Adjust y0 for image glyph using image's ascent.
7000
7001 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
7002 (struct glyph): New members, ascent and descent. Used to save
7003 this glyph's ascent and descent, instead of having.
7004 (struct glyph): Declare member face_id using FACE_ID_BITS.
7005 (find_hot_spot): Add prototype.
7006
7007 * keyboard.c (Qimage): Remove extern (now in lisp.h).
7008 (QCmap): Declare extern.
7009 (make_lispy_position): When position is inside image hot-spot,
7010 use hot-spot element's id as posn element.
7011
7012 * lisp.h (IMAGEP): New macro to test for image object type.
7013 (Qimage): Declare extern.
7014
7015 * macfns.c (Qimage): Remove extern (now in lisp.h).
7016 (valid_image_p, parse_image_spec): Use IMAGEP macro.
7017
7018 * macterm.c (Qface, Qmouse_face): Remove unused externs.
7019
7020 * w32fns.c (Qimage): Remove extern (now in lisp.h).
7021 (valid_image_p, parse_image_spec): Use IMAGEP macro.
7022
7023 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
7024
7025 * w32term.c (Qface, Qmouse_face): Remove unused externs.
7026
7027 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
7028 pointer types.
7029 (Qrelative_width, Qalign_to): Remove unused variables.
7030 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
7031 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
7032 image maps.
7033 (x_y_to_hpos_vpos): Return glyph relative coordinates through
7034 new dx and dy args.
7035 Remove buffer_only_p arg (always 0). Simplify code accordingly.
7036 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
7037 than row's ascent and height, to get sensible height on tall rows.
7038 (build_desired_tool_bar_string): Remove Qimage extern.
7039 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
7040 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
7041 image glyph is alone on the last line.
7042 (append_glyph, append_composite_glyph, produce_image_glyph)
7043 (append_stretch_glyph): Set glyph's ascent and descent.
7044 (on_hot_spot_p): New function to check if position is inside an
7045 rectangular, circular, or polygon-shaped image hot-spot,
7046 (find_hot_spot): New function to search for image hot-spot.
7047 (Flookup_image_map): New defun to search for image hot-spot.
7048 (define_frame_cursor1): New aux function to determine frame pointer.
7049 (note_mode_line_or_margin_highlight, note_mouse_highlight):
7050 Handle `pointer' text property and :pointer image property to
7051 control frame pointer shape. Detect image hot-spots for pointer
7052 and help_echo properties. Use define_frame_cursor1.
7053 (note_mouse_highlight): Use Vvoid_text_area_pointer.
7054 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
7055 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
7056
7057 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
7058
7059 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
7060 (Qimage): Remove extern (now in lisp.h).
7061 (valid_image_p, parse_image_spec): Use IMAGEP macro.
7062
7063 * xmenu.c (show_help_event): Remove unused code.
7064
7065 * xterm.c (Qface, Qmouse_face): Remove unused externs.
7066 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
7067 row's ascent and descent, to get a sensible height on tall rows.
7068
7069 2003-12-25 Luc Teirlinck <teirllm@auburn.edu>
7070
7071 * minibuf.c (Fcompleting_read): Undo previous change.
7072
7073 2003-12-25 Lars Hansen <larsh@math.ku.dk>
7074
7075 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
7076 Arguments GCPRO'ed in call to file name handler.
7077
7078 2003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
7079
7080 * termcap.c (tgetst1): Scan for "%pN"; if all
7081 N are continuous in [1,9], remove all "%pN".
7082
7083 2003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7084
7085 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
7086
7087 * xfaces.c (lface_fully_specified_p): Take into account that
7088 MAC OS always have unspecified stipple.
7089
7090 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
7091
7092 * tparam.c (tparam1): Add handling for `%pN', which
7093 means use param N for the next substitution.
7094
7095 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
7096
7097 * xfaces.c (Fcolor_gray_p): Fix omission bug:
7098 In case `frame' is nil, consult the selected frame.
7099 (Fcolor_supported_p): Likewise.
7100
7101 2003-12-23 Luc Teirlinck <teirllm@auburn.edu>
7102
7103 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
7104 Doc fixes.
7105
7106 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
7107 and an integer. Adapt the introductory comment accordingly.
7108 (Fread_from_minibuffer): Delete code moved into read_minibuf.
7109 Doc fix.
7110 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
7111 read_minibuf.
7112 (Fcompleting_read): Delete code moved into read_minibuf.
7113 (Ftest_completion): Make it handle obarrays and hash tables correctly.
7114
7115 2003-12-03 Kenichi Handa <handa@m17n.org>
7116
7117 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
7118 encoding sequence.
7119
7120 2003-12-01 Kenichi Handa <handa@m17n.org>
7121
7122 * composite.c (syms_of_composite): Don't make the compostion hash
7123 table week.
7124
7125 2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
7126
7127 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
7128 * textprop.c (Fget_char_property_and_overlay): New function.
7129 (syms_of_textprop): Defsubr it.
7130
7131 2003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7132
7133 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
7134 to compile on terminal configuration.
7135
7136 * fileio.c (Fread_file_name): Check use_file_dialog also before
7137 calling Fx_file_dialog.
7138
7139 * fns.c: use_file_dialog: New variable.
7140 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
7141
7142 2003-11-29 Kim F. Storm <storm@cua.dk>
7143
7144 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
7145 (syms_of_msdos): Don't intern and staticpro them.
7146
7147 2003-11-27 Kim F. Storm <storm@cua.dk>
7148
7149 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
7150 coordinates relative to glyph at posn. If glyph is an image,
7151 return that as object at posn. Callers changed.
7152 (mode_line_string, marginal_area_string): Calculate and return
7153 pixel coordinates relative to glyph. Callers changed.
7154
7155 * dispextern.h (buffer_posn_from_coords, mode_line_string)
7156 (marginal_area_string): Fix prototypes.
7157 (window_box_left_offset, window_box_right_offset): Add prototypes.
7158
7159 * frame.h (get_specified_cursor_type, get_window_cursor_type):
7160 Remove prototypes.
7161
7162 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
7163
7164 * keyboard.c (make_lispy_position): Add x and y coordinates
7165 relative to the current glyph as 7th element of position.
7166 If glyph is an image, return it in the object element.
7167 (read_key_sequence): Skip checks for keymap property in cases
7168 where POSN_STRING is not a string (e.g. an image).
7169
7170 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
7171 (Vshow_text_cursor_in_void): New variable.
7172 (glyph_to_pixel_coords): Don't use negative hpos.
7173 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
7174 (append_stretch_glyph): Change ascent arg to be actual value
7175 in pixels rather than ratio to height. Callers changed.
7176 (calc_pixel_width_or_height): New aux function, implementing
7177 pixel based artihmetic for glyph widths and heights.
7178 (produce_stretch_glyph): Use calc_pixel_width_or_height for
7179 :width, :height, :align-to, and :ascent, thus allowing these to
7180 be specified in pixels as well as multiples of characters.
7181 Don't produce stretch glyphs with zero width or height.
7182 (get_specified_cursor_type): Declare static.
7183 (get_window_cursor_type): Declare static. Add glyph arg to be
7184 able to know when cursor is on an image; always substitute
7185 hollow-box cursor for filled-box cursor on images, to avoid
7186 negative images and flicker when blinking the cursor.
7187 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
7188 (note_mode_line_or_margin_highlight): Use non-text cursor rather
7189 than vertical scroll-bar cursor in display margins.
7190 (note_mouse_highlight): Use non-text cursor rather than text
7191 cursor in fringes and over images in the text area.
7192 Use non-text cursor when mouse pointer is outside editable text,
7193 i.e. in the void after end-of-line or end-of-buffer; this was
7194 already done for W32, but is now standard for all systems --
7195 user can toggle show-text-cursor-in-void to get old behaviour.
7196 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
7197 Vdisplay_pixels_per_inch.
7198
7199 2003-11-25 Andreas Schwab <schwab@suse.de>
7200
7201 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
7202 EMACS_INT to not lose bits.
7203 (Ffillarray): Don't set bits beyond the size of a bool vector.
7204
7205 2003-11-25 Kim F. Storm <storm@cua.dk>
7206
7207 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
7208 define this defun on systems that cannot use stderr as lvalue.
7209
7210 2003-11-24 Gerd Moellmann <gerd@gnu.org>
7211
7212 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
7213 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
7214 ld's default is incompatible with unexec.
7215
7216 2003-11-23 Kim F. Storm <storm@cua.dk>
7217
7218 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
7219 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
7220 (Fforce_window_update): New defun.
7221 (syms_of_window): Defsubr it.
7222 (Fset_window_margins, Fset_window_fringes): Doc fix.
7223
7224 * print.c (Fredirect_debugging_output): New defun.
7225 (syms_of_print): Defsubr it.
7226
7227 2003-11-22 Luc Teirlinck <teirllm@auburn.edu>
7228
7229 * fns.c (Fset_char_table_parent): Doc fix.
7230
7231 2003-11-22 Kim F. Storm <storm@cua.dk>
7232
7233 * dispnew.c (buffer_posn_from_coords): Return actual row/column
7234 for glyph clicked on, rather than (unused) pixel positions.
7235 (mode_line_string, marginal_area_string): Change X and Y args to
7236 pointers for returning actual row/column for glyph clicked on.
7237 Simplify and optimize loops.
7238
7239 * dispextern.h (mode_line_string, marginal_area_string):
7240 Update prototypes.
7241
7242 * keyboard.c (make_lispy_position): New function for generating
7243 mouse click positions from frame and pixel coordinates.
7244 Enhanced to return buffer position and actual row/column for
7245 events outside the text area using updated mode_line_string and
7246 marginal_area_string functions.
7247 Return left-fringe and right-fringe clicks as such, rather than
7248 clicks in text area.
7249 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
7250 pixel_to_glyph_coords, as we never use the results.
7251 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
7252 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
7253 Eliminate unused code in WHEEL_EVENT handling.
7254 (make_lispy_movement): Use make_lispy_position.
7255
7256 * window.c (coordinates_in_window): Remove redundant tests.
7257 Fix returned X pixel value for left-margin.
7258
7259 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
7260 mode_line_string and marginal_area_string parameters.
7261
7262 2003-11-22 Lars Hansen <larsh@math.ku.dk>
7263
7264 * w32.c (struct the_group, getgrgid): Add.
7265 * mac.c (struct my_group, getgrgid): Add.
7266
7267 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
7268
7269 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
7270
7271 2003-11-21 Lars Hansen <larsh@math.ku.dk>
7272
7273 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
7274 include in call to file name handler. Optionally translate numeric
7275 UID and GID to strings. Update docstring.
7276 (directory_files_internal): Add parameter ID-FORMAT.
7277 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
7278 include in call to file name handler and call to
7279 directory_files_internal. Update Docstring.
7280 (Fdirectory_files): Add dummy parameter in call to
7281 directory_files_internal.
7282 * lisp.h (Qinteger): Add.
7283 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
7284 (Ffile_attributes): Add parameter.
7285 * data.c (Qinteger): Export.
7286
7287 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
7288
7289 * fns.c (Freverse, Fnreverse): Doc fixes.
7290
7291 2003-11-19 Kim F. Storm <storm@cua.dk>
7292
7293 * xdisp.c (init_iterator): Initialize it->start to position
7294 before reseating (in case start position is invisible).
7295 (init_to_row_start): Set it->start to row-start.
7296 (redisplay_window): Accept optional_new_start if start position
7297 is invisible (in which case IT_CHARPOS overshoots PT).
7298 (display_line): Setup row->start from it->start (rather than
7299 it->current which is wrong if first char on line is invisible).
7300 When done, reseat it->start to it->current (= start of next row).
7301 (expose_area): Fix exposure of text area when first char (e.g. TAB)
7302 is only partially visible.
7303
7304 * dispextern.h (struct it): New member start.
7305
7306 2003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
7307
7308 * alloc.c (make_float, Fcons): Clear the markbit at init time.
7309 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
7310 of block_index outside of the macro call.
7311 (Fgarbage_collect): Remove null code.
7312
7313 * m/amdx86-64.h: Don't redefine XPNTR.
7314
7315 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
7316 of VALMASK.
7317
7318 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
7319 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
7320 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
7321
7322 * lisp.h (VALMASK): Only define for non-union type.
7323 (MARKBIT): Remove.
7324 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
7325 (XTYPE): Define unconditionally.
7326 (XSETTYPE): Remove one more remnant.
7327 (EQ): Define differently for the union and non-union cases.
7328 (INTMASK): New bit mask.
7329 (struct Lisp_Marker): Move down to prepare for upcoming patch.
7330 (GC_EQ): Delegate to EQ.
7331
7332 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
7333
7334 2003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7335
7336 * xterm.c (x_window_to_scroll_bar): Move check of display to
7337 where window_id is compared.
7338
7339 2003-11-17 Kim F. Storm <storm@cua.dk>
7340
7341 * dispextern.h (struct it): New member first_vpos.
7342
7343 * xdisp.c (start_display): Set it->first_vpos.
7344 (try_window_id): Use first_vpos to start display in first _text_
7345 line if no reusable lines at start of window with header line.
7346
7347 2003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7348
7349 * w32fns.c (XPutPixel):
7350 * w32bdf.c (w32_init_bdf_font):
7351 * sunfns.c (sel_read):
7352 * process.c (Fmake_network_process):
7353 * frame.c (store_frame_param):
7354 * fontset.c (Fset_fontset_font):
7355 * emacs.c (shut_down_emacs):
7356 * ccl.c (ccl_driver): Remove period at end of error message.
7357
7358 * config.in: Regenerate.
7359
7360 * xfns.c (x_window_to_frame, x_any_window_to_frame)
7361 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
7362 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
7363 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
7364 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
7365
7366 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
7367
7368 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
7369 (XTmouse_position, handle_one_xevent): Pass Display* to
7370 x_window_to_scroll_bar.
7371 (x_window_to_scroll_bar): Take a Display* argument.
7372 Check that display for frame is equal to Display* argument.
7373 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
7374 x_display_info_for_display instead. Use Display in xev instead
7375 of GDK_DISPLAY.
7376 (x_dispatch_event): Call x_display_info_for_display.
7377 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
7378 (x_connection_closed): Call xg_display_close for GTK.
7379 (x_term_init): Call xg_display_open for additional displays.
7380 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
7381 for GTK.
7382
7383 * xmenu.c (single_menu_item, mouse_position_for_popup)
7384 (x_activate_menubar): Formatting adjustments.
7385
7386 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
7387 adjustments.
7388
7389 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
7390 (xg_display_close, xg_create_default_cursor)
7391 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
7392 handling.
7393 (xg_left_ptr_cursor): Remove.
7394 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
7395 cursor here.
7396 (xg_win_to_widget): Take Display* argument, call
7397 gdk_xid_table_lookup_for_display.
7398 (xg_create_frame_widgets, xg_get_file_name, create_menus)
7399 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
7400 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
7401 in FRAME_X_DISPLAY_INFO.
7402 (xg_get_scroll_id_for_window): Take Display* argument.
7403 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
7404 (xg_initialize): Remove xg_left_ptr_cursor.
7405
7406 * gtkutil.h (xg_get_scroll_id_for_window, xg_win_to_widget): Add
7407 Display* argument.
7408 (xg_display_open, xg_display_close, xg_create_default_cursor): Declare.
7409
7410 2003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7411
7412 * xterm.c (x_detect_focus_change): Do not change focus frame for
7413 Enter/LeaveNotify if the current focus frame has explicit focus.
7414
7415 2003-11-14 Kim F. Storm <storm@cua.dk>
7416
7417 * dispnew.c (update_text_area): Fix redisplay error when hscroll
7418 is active and first glyph is only partially visible.
7419
7420 2003-11-13 Kenichi Handa <handa@m17n.org>
7421
7422 * xdisp.c (select_frame_for_redisplay): New function.
7423 (redisplay_internal): Record also selected_frame for
7424 unwind_redisplay. Call select_frame_for_redisplay before
7425 redrawing each frame.
7426 (unwind_redisplay): Argument changed to a cons.
7427
7428 2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
7429
7430 * fns.c (Fstring_to_multibyte): Doc fix.
7431
7432 2003-11-11 Kenichi Handa <handa@m17n.org>
7433
7434 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
7435
7436 2003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7437
7438 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
7439 program specified positions.
7440
7441 2003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7442
7443 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
7444
7445 2003-11-08 Kenichi Handa <handa@m17n.org>
7446
7447 * Makefile.in (lisp): Add kannada.el.
7448 (shortlisp): Likewise.
7449
7450 2003-11-07 Kenichi Handa <handa@m17n.org>
7451
7452 * coding.c (coding_allocate_composition_data):
7453 Reset coding->composing to COMPOSITION_NO.
7454 (coding_restore_composition): Detect invalid composition data.
7455 Give Fstring and Fvector a Lispy integer, not C int.
7456
7457 2003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
7458
7459 * floatfns.c (Flogb): Don't use VALMASK.
7460
7461 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
7462 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
7463
7464 * lisp.h (XINT): Move the cast to clarify what is going on.
7465 (GCTYPEMASK, XSETTYPE): Remove.
7466 (XGCTYPE): Make it an alias of XTYPE.
7467
7468 2003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7469
7470 * xterm.c (x_term_init): Fix formatting.
7471
7472 2003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7473
7474 * gtkutil.h (xg_have_tear_offs): Declare.
7475 (xg_keep_popup, xg_did_tearoff): Remove.
7476
7477 * gtkutil.c: Remove variable xg_did_tearoff.
7478 (xg_have_tear_offs): New function.
7479 (tearoff_remove): Just decrease xg_detached_menus.
7480 (tearoff_activate): Increase xg_detached_menus and call
7481 tearoff_remove when tearoff is removed.
7482 (xg_keep_popup): Remove function.
7483 (create_menus): Give add_tearoff_p as argument to recursive
7484 call to create_menus.
7485 (xg_create_widget): Use variables instead of multiple
7486 strcmp. Tell create_menus to create tear off only for
7487 menu bar menus.
7488 (xg_update_menubar): Change title for a detached menu also.
7489 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
7490 of deep_p.
7491 (xg_initialize): Initialize xg_detached_menus, remove
7492 initialization of xg_did_tearoff.
7493
7494 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
7495 xg_have_tear_offs returns non-zero.
7496 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
7497 call to xg_keep_popup.
7498
7499 2003-11-01 Andrew Choi <akochoi@shaw.ca>
7500
7501 * macterm.c (XTread_socket): Handle menubar selection and grow
7502 window only for mouseDown events.
7503
7504 2003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7505
7506 * xterm.c (x_term_init): For GTK part, increase x_initialized
7507 to check for more than one display. Use error instead of return 0.
7508
7509 2003-10-31 Andrew Choi <akochoi@shaw.ca>
7510
7511 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
7512 (copy_dysymtab): Call it.
7513
7514 2003-10-31 Luc Teirlinck <teirllm@auburn.edu>
7515
7516 * eval.c (Fdefvaralias): Doc fix.
7517
7518 2003-10-26 Luc Teirlinck <teirllm@auburn.edu>
7519
7520 * data.c (Fsetplist): Doc fix.
7521
7522 2003-10-14 Lute Kamstra <lute@gnu.org>
7523
7524 * window.c (Fset_window_fringes): Clarify docstring.
7525
7526 2003-10-14 Kim F. Storm <storm@cua.dk>
7527
7528 * window.c (Fset_window_margins): Simplify arg checking.
7529
7530 2003-10-13 Richard M. Stallman <rms@gnu.org>
7531
7532 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
7533 (print_partial_compiled_pattern): Replace assert with a printout.
7534 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
7535
7536 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
7537
7538 * window.c (Fset_window_margins): Allow only integers as args.
7539 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
7540 Doc fixes.
7541
7542 2003-10-13 Lute Kamstra <lute@gnu.org>
7543
7544 * window.c (Fset_window_fringes): Elaborate docstring.
7545
7546 2003-10-12 Andrew Choi <akochoi@shaw.ca>
7547
7548 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
7549
7550 * s/darwin.h (GC_MARK_STACK): Define.
7551
7552 2003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7553
7554 * window.c (shrink_windows): New function.
7555 (size_window): Call shrink_windows to calculate window sizes when
7556 shrinking frame with more than one window.
7557
7558 2003-10-12 Kim F. Storm <storm@cua.dk>
7559
7560 * xdisp.c (compute_fringe_widths): Doc fix.
7561
7562 2003-10-08 Kenichi Handa <handa@m17n.org>
7563
7564 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
7565
7566 2003-10-07 Kenichi Handa <handa@m17n.org>
7567
7568 * coding.c (Qcoding_system_define_form): New variable.
7569 (syms_of_coding): Intern and staticpro it.
7570 (Fcheck_coding_system): Try to autoload the definition of
7571 CODING-SYSTEM.
7572
7573 2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
7574
7575 * fns.c (Frequire): Doc fix.
7576
7577 2003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7578
7579 * xfns.c (Fx_send_client_event): New function as a base for
7580 manipulating extended window manager hints.
7581 (Fx_send_client_event): Remove unused variable s.
7582
7583 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
7584 that function is removed.
7585
7586 * xterm.c (x_set_offset): Use move_offset_left/top instead of
7587 x/y_pixels_outer_diff.
7588 (x_check_expected_move): Calculate move_offset_left/top.
7589
7590 * xterm.h (struct x_output): New members: move_offset_top/left.
7591
7592 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
7593 call x_set_offset directly.
7594
7595 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
7596
7597 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
7598
7599 * xterm.c (x_delete_display): Free font names and font_encoder
7600 in dpyinfo->font_table.
7601
7602 * xfns.c (Fx_close_connection): Only call XFreeFont here.
7603 Move xfree of font names to x_delete_display.
7604
7605 * xterm.h (struct x_display_info): New member, wm_type.
7606 (struct x_output): New members, expected_top/left and
7607 check_expected_move.
7608
7609 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
7610 is received.
7611 (handle_one_xevent): Rename x_check_expected_move from
7612 x_check_fullscreen_move.
7613 (x_set_offset): Only add WM decoration sizes to modified_top/left
7614 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
7615 (x_check_expected_move): Rename from x_check_fullscreen_move.
7616 Removed fullscreen specific code. Use check_expected_move,
7617 expected_left/top instead. Also, set wm_type.
7618 (x_term_init): Initialize wm_type to unknown.
7619
7620 * frame.c (x_fullscreen_move): Remove addition of WM decoration
7621 sizes to move_x/y.
7622
7623 2003-10-03 Kenichi Handa <handa@m17n.org>
7624
7625 * macterm.c (x_load_font): Clear all members of FONTP before start
7626 filling them.
7627
7628 2003-10-02 Kenichi Handa <handa@m17n.org>
7629
7630 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
7631 before calling find_ccl_program_func. Call find_ccl_program_func
7632 only when fontp->font_encoder is not NULL.
7633
7634 * xterm.c (x_load_font): Clear all members of FONTP before start
7635 filling them.
7636
7637 2003-10-03 John Paul Wallington <jpw@gnu.org>
7638
7639 * keymap.c (map_keymap): Don't abort when binding is a vector.
7640
7641 2003-10-02 Jason Rumney <jasonr@gnu.org>
7642
7643 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
7644 Sync dependencies with Makefile.in.
7645 (alloca.o): Remove.
7646
7647 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
7648 filling them.
7649
7650 * w32bdf.c (w32_load_bdf_font): Likewise.
7651
7652 2003-09-30 Richard M. Stallman <rms@gnu.org>
7653
7654 * term.c (set_tty_color_mode): Calculate current_mode_spec
7655 regardless of value of VAL.
7656
7657 * intervals.c (graft_intervals_into_buffer):
7658 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
7659 Handle over_used when splitting UNDER.
7660
7661 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7662
7663 * regex.c (regex_compile): Free the stack when returning from function.
7664
7665 2003-09-28 Kenichi Handa <handa@m17n.org>
7666
7667 * fontset.c (Finternal_char_font): Change return value to
7668 cons (FONT-NAME . GLYPH-CODE).
7669
7670 2003-09-28 Eli Zaretskii <eliz@gnu.org>
7671
7672 * term.c (tty_setup_colors): Treat any negative argument as -1.
7673
7674 2003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
7675
7676 * process.c (send_process): Delete unused temp_buf.
7677
7678 2003-09-26 Dave Love <fx@gnu.org>
7679
7680 * xterm.c (x_bitmap_mask): Declare.
7681
7682 2003-09-25 Dave Love <fx@gnu.org>
7683
7684 * Makefile.in (fns.o): Depend on md5.h.
7685
7686 2003-09-25 Kim F. Storm <storm@cua.dk>
7687
7688 * window.c (set_window_buffer): Fix redisplay problems when
7689 switching between buffers with different display margin widths.
7690
7691 2003-09-23 Kim F. Storm <storm@cua.dk>
7692
7693 * process.c (set_socket_option): Fix :bindtodevice option.
7694 (Fset_network_process_option): Update process contact list when
7695 setting option succeeds.
7696 (Fmake_network_process): Doc fix.
7697
7698 2003-09-23 Dave Love <fx@gnu.org>
7699
7700 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
7701
7702 2003-09-22 Eli Zaretskii <eliz@gnu.org>
7703
7704 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
7705 color mode is an integer number (it could be -1).
7706
7707 2003-09-22 Richard M. Stallman <rms@gnu.org>
7708
7709 * intervals.c (graft_intervals_into_buffer): Correct the main loop
7710 in the case where OVER is longer than UNDER.
7711
7712 2003-09-22 Masatake YAMATO <jet@gyve.org>
7713
7714 * window.c (Fset_window_scroll_bars): Validate the value of
7715 `vertical_type'.
7716
7717 2003-09-21 Kim F. Storm <storm@cua.dk>
7718
7719 * frame.c (Vdefault_frame_scroll_bars): New variable.
7720 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
7721 (syms_of_frame): DEFVAR_LISP it, and initialize according to
7722 window-system default scroll bar position.
7723
7724 * window.c (Fwindow_scroll_bars): Doc fix.
7725
7726 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7727
7728 * xterm.c (x_set_offset): Take window manager decorations into account.
7729
7730 2003-09-19 Richard M. Stallman <rms@gnu.org>
7731
7732 * atimer.h: Don't include lisp.h.
7733 (P_): Define it here (as well as elsewhere).
7734
7735 * print.c (Fprin1_to_string): Move the PRINTPREPARE
7736 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
7737
7738 * data.c (Fvariable_binding_locus): New function.
7739 (syms_of_data): defsubr it.
7740 (Flocal_variable_p): Delete duplicate call to indirect_variable.
7741
7742 2003-09-18 Dave Love <fx@gnu.org>
7743
7744 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
7745
7746 * process.c (Fnetwork_interface_info): Fix type error.
7747 (Fnetwork_interface_list): Doc fix.
7748 (read_process_output, read_process_output): Delete unused var.
7749
7750 2003-09-17 Kim F. Storm <storm@cua.dk>
7751
7752 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
7753 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
7754 (Fnetwork_interface_info): Check that ifreq struct has required
7755 fields before accessing them; this requires that those fields are
7756 defined as macros, which may be too restrictive on some platforms,
7757 but it is better than failing on other platforms.
7758 (syms_of_process): Only defsubr above fns when included.
7759
7760 2003-09-17 Dave Love <fx@gnu.org>
7761
7762 * unexalpha.c: Don't include varargs.h.
7763
7764 2003-09-17 Kim F. Storm <storm@cua.dk>
7765
7766 * process.c (Fset_process_sentinel): Add sentinel to childp plist
7767 for network process.
7768 (socket_options): Add `:' prefix to option names. Add optbit field.
7769 (set_socket_option): Remove no_error arg and special handling of s < 0.
7770 Return 1<<optbit for known option, 0 for unknown.
7771 Do not interpret 0 as false for boolean option (only nil).
7772 Pass failed option and value to report_file_error.
7773 (Fset_network_process_options): Replace by Fset_network_process_option.
7774 (Fset_network_process_option): New function to set just one option.
7775 (Fmake_network_process): Allow :coding arg to be a cons.
7776 Allow :server arg to be an integer specifying backlog size.
7777 Remove :options arg, and allow options to be specified directly
7778 as :KEY, VALUE pairs. Parse these options before binding socket.
7779 As before, :reuseaddr t is default for a server process, but this
7780 can now be disabled by specifying :reuseaddr nil.
7781 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
7782 (init_process): Availability of network options is now checked with
7783 simpler syntax (featurep 'make-network-process :OPTION); use loop to
7784 setup features.
7785 (syms_of_process): Fix defsubr's for the replaced functions.
7786
7787 2003-09-16 Dave Love <fx@gnu.org>
7788
7789 * Makefile.in: Depend on coding.h.
7790
7791 2003-09-14 Kim F. Storm <storm@cua.dk>
7792
7793 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
7794 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
7795 (syms_of_process): Defsubr them.
7796
7797 * config.in: Regenerate.
7798
7799 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
7800
7801 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
7802 * m/news-r6.h (XUNMARK): Remove.
7803 * m/mips.h (XUNMARK): Remove.
7804 * m/mips-siemens.h (XUNMARK): Remove.
7805 * m/iris4d.h (XUNMARK): Remove.
7806 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
7807
7808 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
7809
7810 * lisp.h (VALBITS): Don't remove 1 for the markbit.
7811 (union Lisp_Object): Use unsigned int for types. Remove markbit.
7812 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
7813 (XTYPE): Use unsigned right-shift.
7814 (XMARKBIT, XMARK, XUNMARK): Remove.
7815
7816 * alloc.c (init_intervals, init_symbol, init_marker):
7817 Don't preallocate anything.
7818 (Fgarbage_collect, mark_object): Ignore the markbit.
7819
7820 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
7821
7822 2003-09-08 Lute Kamstra <lute@gnu.org>
7823
7824 * xdisp.c (pint2hrstr): New function.
7825 (decode_mode_spec): Add `%i' and `%I' specs.
7826 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
7827 for `mode-line-format'.
7828
7829 2003-09-07 Andreas Schwab <schwab@suse.de>
7830
7831 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
7832 avoid warning.
7833
7834 2003-09-07 Eli Zaretskii <eliz@gnu.org>
7835
7836 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
7837
7838 2003-09-03 Kim F. Storm <storm@cua.dk>
7839
7840 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
7841 change (superseded by 2002-08-30 change); the default blink-off
7842 cursor is now again "no cursor".
7843
7844 2003-09-01 Jason Rumney <jasonr@gnu.org>
7845
7846 * makefile.w32-in (alloca.o): Remove.
7847 (coding.o): Depend on intervals.h
7848 (emacs.o, bytecode.o): Depend on window.h
7849
7850 2003-09-01 Dave Love <fx@gnu.org>
7851
7852 * Makefile.in (alloca.o): Remove commands.
7853 (coding.o): Depend on intervals.h composite.h window.h.
7854 (emacs.o): Depend on window.h keyboard.h keymap.h.
7855 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
7856 (bytecode.o): Depend on window.h.
7857
7858 2003-08-31 Jason Rumney <jasonr@gnu.org>
7859
7860 * w32term.c (w32_per_char_metric): Allow cached metrics to be
7861 returned even when font_type is unknown.
7862
7863 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
7864
7865 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7866
7867 * xterm.c (x_term_init): Initialize new fields in x_display_info.
7868
7869 * xterm.h (struct x_display_info): Add red/green/blue_bits and
7870 *_offset.
7871
7872 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
7873 calculate pixel value.
7874
7875 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
7876
7877 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
7878 Don't tell redisplay display is accurate when it's actually been
7879 paused for pending input.
7880
7881 2003-08-29 Richard M. Stallman <rms@gnu.org>
7882
7883 * dispnew.c (adjust_glyph_matrix): Call window_box
7884 whenever W is nonzero.
7885
7886 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
7887 (Fkill_local_variable, Fmake_variable_frame_local)
7888 (Flocal_variable_p, Flocal_variable_if_set_p):
7889 Use indirect_variable to trace thru variable aliases.
7890
7891 * config.in: Updated.
7892
7893 * callint.c (Fcall_interactively): Save and restore
7894 Vthis_command, Vthis_original_command, real_this_command,
7895 and current_kboard->Vlast_command.
7896
7897 * abbrev.c (Fexpand_abbrev): Insert before deleting.
7898
7899 2003-08-29 Gerd Moellmann <gerd@gnu.org>
7900
7901 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
7902
7903 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
7904
7905 * coding.c (decode_coding_iso2022): Initialize local variable c2.
7906 (decode_coding_sjis_big5): Likewise.
7907
7908 2003-08-27 Jason Rumney <jasonr@gnu.org>
7909
7910 * w32.c (sys_pipe): Protect against file descriptor overflow.
7911
7912 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
7913
7914 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
7915
7916 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
7917
7918 * xfns.c (Vgtk_version_string): New variable.
7919 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
7920
7921 2003-08-24 Eli Zaretskii <eliz@gnu.org>
7922
7923 * term.c (term_init): Remove `const' from buffer_size's declaration.
7924
7925 * Makefile.in (msdos.o): Depend on intervals.h.
7926
7927 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
7928
7929 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7930
7931 * xterm.h (struct x_display_info): New fields: client_leader_window
7932 and Xatom_wm_client_leader.
7933
7934 * xterm.c (x_initialize): Move call to x_session_initialize to ...
7935 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
7936
7937 * xsmfns.c (create_client_leader_window): New function.
7938 (x_session_initialize): Call create_client_leader_window, take
7939 dpyinfo as argument.
7940
7941 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
7942
7943 * Makefile.in (xsmfns.o): Add more depenedencies.
7944
7945 2003-08-21 Dave Love <fx@gnu.org>
7946
7947 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
7948
7949 2003-08-21 Kenichi Handa <handa@m17n.org>
7950
7951 * term.c (term_init): Fix previous change; don't rely on the
7952 length of `buffer' if TERMINFO is defined.
7953
7954 2003-08-20 Dave Love <fx@gnu.org>
7955
7956 * atimer.h: Include lisp.h.
7957
7958 * lisp.h (EMACS_LISP_H): New.
7959 (popup_activated_flag): Don't declare.
7960
7961 * alloca.c: Some merging with gnulib. Change logic and doc
7962 concerning (x)malloc/(x)free -- no longer Emacs-specific.
7963 [DO_BLOCK_INPUT]: Don't include lisp.h.
7964 (xmalloc, xfree): Declare.
7965 (malloc): Don't declare.
7966
7967 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
7968 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
7969 atimer.h, blockinput.h.
7970
7971 * alloc.c (lisp_align_malloc): Change type of `aligned'.
7972
7973 * alloca.s: Remove.
7974
7975 2003-08-19 Gerd Moellmann <gerd@gnu.org>
7976
7977 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
7978 use -lncurses.
7979
7980 * term.c (term_init): Use a buffer of size 4096 for tgetent since
7981 FreeBSD returns something longer than 2044. Abort if the end of
7982 the buffer is overwritten.
7983
7984 2003-08-19 Miles Bader <miles@gnu.org>
7985
7986 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
7987
7988 2003-08-19 Gerd Moellmann <gerd@gnu.org>
7989
7990 * alloc.c (lisp_align_malloc): Check for memory full when
7991 allocating ablocks, which also avoids freeing a pointer into an
7992 ablocks structure.
7993
7994 * puresize.h (BASE_PURESIZE): Increase to 1100000.
7995
7996 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
7997
7998 2003-08-16 Richard M. Stallman <rms@gnu.org>
7999
8000 * editfns.c (Fencode_time): Doc fix.
8001
8002 2003-08-16 David Ponce <david@dponce.com>
8003
8004 * fileio.c (Fwrite_region): Fix conditional expression to issue
8005 the right message.
8006
8007 2003-08-16 Juri Linkov <juri@jurta.org>
8008
8009 * syntax.c (Fforward_word): Argument changed to optional.
8010 Set default value to 1.
8011
8012 2003-08-15 Kenichi Handa <handa@m17n.org>
8013
8014 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
8015 what autoscaled.
8016 (best_matching_font): Once we find a better scalable font, set
8017 non_scalable_has_exact_height_p to 1.
8018 (try_font_list): Call try_alternative_families to try any family
8019 with the given registry.
8020
8021 2003-08-09 Andreas Schwab <schwab@suse.de>
8022
8023 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
8024
8025 * print.c (print_string): Fix printing of multibyte string with
8026 nontrivial printcharfun.
8027
8028 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8029
8030 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
8031
8032 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
8033
8034 2003-07-31 Kenichi Handa <handa@m17n.org>
8035
8036 * process.c (read_process_output): Return the actually read bytes
8037 instead of the result of decoding.
8038
8039 2003-07-31 Kenichi Handa <handa@m17n.org>
8040
8041 * xterm.h (struct x_bitmap_record): New member have_mask.
8042
8043 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
8044 to 0.
8045 (x_create_bitmap_from_file): Likewise.
8046 (x_destroy_bitmap): Check have_mask member before freeing a mask.
8047 (x_destroy_all_bitmaps): Likewise.
8048 (x_create_bitmap_mask): Set have_mask member to 1.
8049
8050 2003-07-30 Richard M. Stallman <rms@gnu.org>
8051
8052 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
8053
8054 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8055
8056 * gtkutil.c (xg_mark_data): Update calls to mark_object.
8057
8058 2003-07-29 Richard M. Stallman <rms@gnu.org>
8059
8060 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
8061 Conditionalize XIM code on HAVE_XIM.
8062
8063 * fns.c (Fclear_string): New function.
8064 (syms_of_fns): defsubr it.
8065
8066 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
8067
8068 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
8069
8070 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
8071
8072 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
8073
8074 * buffer.c (delete_all_overlays): New function.
8075 * buffer.h (delete_all_overlays): Declare.
8076 * coding.c (run_pre_post_conversion_on_str):
8077 * print.c (temp_output_buffer_setup):
8078 * fileio.c (Finsert_file_contents):
8079 * minibuf.c (get_minibuffer): Use it.
8080
8081 2003-07-22 Andrew Choi <akochoi@shaw.ca>
8082
8083 * unexmacosx.c (unexec_regions_sort_compare):
8084 (unexec_regions_merge): New functions. Sort and merge unexec
8085 regions before dumping them.
8086
8087 2003-07-22 Dave Love <fx@gnu.org>
8088
8089 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
8090
8091 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
8092
8093 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
8094 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
8095 MARKBIT as the gcmarkbit for strings.
8096
8097 2003-07-21 Richard M. Stallman <rms@gnu.org>
8098
8099 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
8100
8101 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
8102 (syms_of_fns): Corresponding change.
8103
8104 * alloc.c (syms_of_alloc): Doc fixes.
8105
8106 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
8107
8108 * s/netbsd.h: Use -Wl syntax.
8109
8110 2003-07-17 Richard M. Stallman <rms@gnu.org>
8111
8112 * xterm.c (xim_initialize): Redo 6/24 change.
8113
8114 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
8115
8116 * buffer.c (copy_overlays): Use EMACS_INT for positions.
8117 (Fswitch_to_buffer): Don't signal an error when switching to the same
8118 buffer in a dedicated window.
8119
8120 * alloc.c: Use bitmaps for cons, as was done for floats.
8121 (init_float, init_cons): Let the normal code allocate the first block.
8122 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
8123 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
8124 New macros.
8125 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
8126 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
8127 (live_cons_p): Check the pointer is not past the `conses' array.
8128 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
8129 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
8130 (survives_gc_p): Use CONS_MARKED_P and simplify.
8131 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
8132
8133 2003-07-13 Paul Eggert <eggert@twinsun.com>
8134
8135 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
8136 puts it into BSS instead, at least on Solaris 8 and 9.
8137 This is a valid optimization, and it may occur on other platforms,
8138 so Emacs should not assume that initializing a static variable to
8139 zero puts it into data.
8140 * alloc.c (pure, staticvec):
8141 Initialize these arrays to nonzero, so that they're not
8142 put into BSS by that optimization.
8143
8144 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
8145
8146 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
8147 (lisp_align_malloc): Use posix_memalign is available.
8148 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
8149 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
8150 for consistency. Update users.
8151
8152 2003-07-13 Richard M. Stallman <rms@gnu.org>
8153
8154 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
8155
8156 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
8157
8158 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
8159 and use the Gtk+ function gtk_window_icon_from_file if available.
8160
8161 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
8162 handle mask of bitmaps.
8163 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
8164 mask property.
8165 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
8166
8167 * xterm.h (xg_set_icon): New function.
8168
8169 2003-07-12 Paul Eggert <eggert@twinsun.com>
8170
8171 * unexelf.c (unexec): Consider a section to precede the .bss
8172 section if its addresses overlap that of .bss.
8173
8174 2003-07-12 Richard M. Stallman <rms@gnu.org>
8175
8176 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
8177
8178 * config.in (HAVE_CRTIN): Add #undef.
8179 (INLINE): Really inline only if OPTIMIZE is defined.
8180
8181 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
8182 END_FILES_1.
8183 (START_FILES_1, END_FILES_1): New macros (conditional).
8184 (LD_SWITCH_SYSTEM_TEMACS): Define.
8185
8186 * s/openbsd.h: Don't include bsd4-3.h.
8187 (TERMINFO): Define.
8188 (LIBS_TERMCAP): Define.
8189 (LD_SWITCH_SYSTEM): Define (two definitions).
8190
8191 * xfns.c: Include libpng/png.h instead of png.h.
8192
8193 2003-07-11 Andreas Schwab <schwab@suse.de>
8194
8195 * buffer.c (modify_overlay): Update prototype.
8196 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
8197 Likewise.
8198
8199 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
8200
8201 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
8202 (struct interval): Move to intervals.h.
8203 (struct Lisp_Marker): Use EMACS_INT for position info.
8204 (forward_point): Remove prototype of defunct function.
8205 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
8206 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
8207 (syms_of_textprop, set_text_properties): Remove prototypes that are
8208 already in intervals.h.
8209
8210 * intervals.h (struct interval): Move from lisp.h.
8211 Use EMACS_INT for position and size info.
8212
8213 * coding.c: Include intervals.h for Fset_text_properties.
8214
8215 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
8216 position and length information.
8217
8218 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
8219
8220 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
8221 position and length information.
8222
8223 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
8224
8225 Change overlays_after and overlays_before so the overlays themselves
8226 are linked into lists, rather than using cons cells. After all each
8227 Lisp_Misc already occupies 5 words, so we can add a `next' field to
8228 Lisp_Overlay for free and save up one cons cell per overlay (not
8229 to mention one indirection when traversing the list of overlay).
8230
8231 * lisp.h (struct Lisp_Overlay): New field `next'.
8232
8233 * buffer.h (struct buffer): Change overlays_before and overlays_after
8234 from Lisp lists of overlays to pointers to overlays.
8235
8236 * buffer.c (overlay_strings, recenter_overlay_lists):
8237 Fix typo in eassert in last commit.
8238 (unchain_overlay): New function.
8239 (add_overlay_mod_hooklist): Use AREF.
8240 (copy_overlays, reset_buffer, overlays_at, overlays_in)
8241 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
8242 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
8243 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
8244 (report_overlay_modification, evaporate_overlays, init_buffer_once):
8245 Adjust to new type of overlays_(before|after).
8246
8247 * alloc.c (mark_object): Mark the new `next' field of overlays.
8248 (mark_buffer): Manually mark the overlays_(after|before) fields.
8249
8250 * coding.c (run_pre_post_conversion_on_str):
8251 * editfns.c (overlays_around):
8252 * xdisp.c (load_overlay_strings):
8253 * fileio.c (Finsert_file_contents):
8254 * indent.c (current_column):
8255 * insdel.c (signal_before_change, signal_after_change):
8256 * intervals.c (set_point_both):
8257 * print.c (temp_output_buffer_setup): Use new type for
8258 overlays_(before|after).
8259
8260 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
8261
8262 * buffer.c (report_overlay_modification): Don't run hooks while
8263 traversing the list of overlays.
8264
8265 * buffer.h (struct buffer): Use an int for overlay_center.
8266 (overlays_at, evaporate_overlays, recenter_overlay_lists)
8267 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
8268
8269 * buffer.c (reset_buffer, recenter_overlay_lists)
8270 (adjust_overlays_for_insert, adjust_overlays_for_delete)
8271 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
8272 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
8273 (overlays_at, evaporate_overlays, recenter_overlay_lists)
8274 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
8275
8276 * xdisp.c (fast_find_position): Remove unused var.
8277
8278 * cmds.c (Qexpand_abbrev): New sym.
8279 (syms_of_cmds): Initialize it.
8280 (internal_self_insert): Use it to call expand-abbrev.
8281
8282 2003-07-09 Kim F. Storm <storm@cua.dk>
8283
8284 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
8285 was configured with --without-xim.
8286 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
8287
8288 2003-07-07 Richard M. Stallman <rms@gnu.org>
8289
8290 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
8291
8292 * alloc.c (Fgarbage_collect): Doc fix.
8293
8294 2003-07-07 Nozomu Ando <nand@mac.com>
8295
8296 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
8297
8298 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
8299
8300 * minibuf.c (read_minibuf): UNGCPRO before returning.
8301 (Ftry_completion, Fall_completions): Doc fix.
8302
8303 * alloc.c (live_float_p): Check that p is not past the `floats' array,
8304 now that `floats' is not the last element of the struct any more.
8305
8306 2003-07-06 Jason Rumney <jasonr@gnu.org>
8307
8308 * w32term.h (ClipboardSequence_Proc): New type.
8309
8310 * w32fns.c (clipboard_sequence_fn): New variable.
8311 (globals_of_w32fns): Initialize it.
8312
8313 * w32select.c (last_clipboard_sequence_number): New variable.
8314 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
8315 number if possible.
8316
8317 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
8318
8319 * m/amdx86-64.h (MARKBIT):
8320 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
8321 MARKBIT and ARRAY_MARK_FLAG any more.
8322
8323 * m/hp800.h (XSETMARKBIT):
8324 * m/sr2k.h (XSETMARKBIT):
8325 * lisp.h (XSETMARKBIT): Remove unused macro.
8326
8327 * lisp.h (mark_object): Change prototype.
8328
8329 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
8330 (last_marked): Change accordingly.
8331 (mark_interval, mark_maybe_object, mark_maybe_pointer)
8332 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
8333 (mark_buffer): Update calls to mark_object.
8334
8335 * bytecode.c (mark_byte_stack):
8336 * fns.c (sweep_weak_table):
8337 * keyboard.c (mark_kboards): Update calls to mark_object.
8338
8339 2003-07-06 Jason Rumney <jasonr@gnu.org>
8340
8341 * alloc.c (struct ablock): Only include padding when there is some.
8342
8343 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
8344
8345 * alloc.c (ALIGN): Add casts to simplify usage.
8346 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
8347 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
8348 (struct ablock, struct ablocks): New types.
8349 (free_ablock): New global var.
8350 (lisp_align_malloc, lisp_align_free): New functions.
8351 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
8352 (struct float_block): Reorder and add gcmarkbits.
8353 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
8354 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
8355 (init_float, make_float): Use lisp_align_malloc.
8356 (free_float, live_float_p): Don't use `type' any more.
8357 (make_float): Use FLOAT_UNMARK to access to mark bit.
8358 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
8359 Use FLOAT_MARKED_P to access the mark bit.
8360 (pure_alloc): Simplify use of ALIGN.
8361 (mark_object): Use FLOAT_MARK to access the mark bit.
8362 (gc_sweep): Use new macros to access the float's mark bit.
8363 (init_alloc_once): Init free_ablock.
8364
8365 * lisp.h (struct Lisp_Float): Remove unused field `type'.
8366
8367 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
8368
8369 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
8370 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
8371 (allocate_buffer): Move.
8372 (string_bytes): Don't mask markbit of `size_byte'.
8373 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
8374 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
8375 Use the `size' field of buffers (rather than the `name' field) for
8376 the mark bit, as is done for all other vectorlike objects.
8377 Use the new macros to access the mark bit of vectorlike objects.
8378
8379 2003-06-26 Richard M. Stallman <rms@gnu.org>
8380
8381 * puresize.h (BASE_PURESIZE): Increment base size.
8382
8383 * xdisp.c (fast_find_position): Enable Gerd's new definition.
8384
8385 * xterm.c (xim_initialize): Undo previous change.
8386
8387 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
8388
8389 * alloc.c (survives_gc_p): Simplify.
8390
8391 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
8392
8393 * window.c (Fset_window_dedicated_p): Simplify.
8394 (display_buffer_1): Don't raise the win from which minibuf was entered.
8395 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
8396 (Fminibuffer_selected_window): Simplify.
8397
8398 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
8399
8400 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
8401 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
8402
8403 * insdel.c (check_markers, adjust_markers_for_delete)
8404 (adjust_markers_for_insert, adjust_markers_for_replace)
8405 (prepare_to_modify_buffer, RESTORE_VALUE):
8406 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
8407 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
8408 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
8409 * alloc.c (Fmake_marker, free_marker, gc_sweep):
8410 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
8411 * editfns.c (save_excursion_restore, transpose_markers):
8412 * window.c (delete_window):
8413 * xdisp.c (message_dolog): Update for new types.
8414
8415 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8416
8417 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
8418 (realize_default_face): Use default_face_done_p for the force_p
8419 argument to set_lface_from_font_name. Set default_face_done_p to one.
8420
8421 * frame.c (make_frame): Initialize default_face_done_p.
8422
8423 * frame.h (struct frame): Add default_face_done_p.
8424
8425 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
8426 will be defined.
8427
8428 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
8429
8430 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
8431 Initialize the new field `gcmarkbit'.
8432 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
8433 (mark_interval_tree): Don't mark the tree separately from the nodes.
8434 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
8435 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
8436 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
8437
8438 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
8439 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
8440 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
8441 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
8442 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
8443
8444 2003-06-24 Dave Love <fx@gnu.org>
8445
8446 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
8447
8448 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
8449 from gnulib.
8450
8451 2003-06-21 Richard M. Stallman <rms@gnu.org>
8452
8453 * fileio.c (Fwrite_region): Alternate messages
8454 for append and partial write.
8455
8456 * keyboard.c (read_key_sequence): When converting upcase fn key to
8457 downcase, update fkey and keytran so `backspace' gets translated.
8458
8459 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
8460
8461 * process.c (wait_reading_process_input): Don't signal SIGIO
8462 in batch mode.
8463
8464 2003-06-17 Kenichi Handa <handa@m17n.org>
8465
8466 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
8467 composite.h.
8468
8469 * xselect.c: Don't include charset.h, coding.h, composite.h.
8470 (Qforeign_selection): New variable.
8471 (syms_of_xselect): Intern and static it.
8472 (selection_data_to_lisp_data): Return a unibyte string made from
8473 data with `foreign-selection' text property.
8474
8475 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
8476
8477 * termhooks.h (EVENT_INIT): New macro.
8478
8479 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
8480
8481 * alloc.c (mark_kboards): Move to keyboard.c.
8482
8483 * keyboard.c (record_asynch_buffer_change, read_avail_input):
8484 * xterm.c (x_dispatch_event):
8485 * xmenu.c (find_and_call_menu_selection):
8486 * xdisp.c (handle_tool_bar_click):
8487 * w32menu.c (menubar_selection_callback):
8488 * sysdep.c (kbd_input_ast, read_input_waiting):
8489 * msdos.c (dos_rawgetc):
8490 * macterm.c (mac_check_for_quit_char):
8491 * macmenu.c (menubar_selection_callback):
8492 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
8493 data to kbd_buffer_store_event.
8494
8495 2003-06-15 Kim F. Storm <storm@cua.dk>
8496
8497 * xdisp.c (x_fix_overlapping_area): Always use area relative X
8498 to fix redisplay problem with tall characters (such as \e,AC\e(B).
8499
8500 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
8501
8502 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
8503
8504 2003-06-12 Kenichi Handa <handa@m17n.org>
8505
8506 * fileio.c (Fwrite_region): Save and restore restriction.
8507
8508 2003-06-12 Dave Love <fx@gnu.org>
8509
8510 * alloca.c (alloca): Declare arg as size_t.
8511
8512 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
8513 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
8514
8515 2003-06-11 Dave Love <fx@gnu.org>
8516
8517 * search.c (shrink_regexp_cache): Use xrealloc.
8518 (syms_of_search): Use xmalloc.
8519
8520 2003-06-10 Kim F. Storm <storm@cua.dk>
8521
8522 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
8523 Adjust phys_cursor.x to be relative to window box, rather than
8524 text area before checking -- to ensure cursor is redrawn when
8525 exposing window.
8526 Note: This also fixes a similar (older) bug if display margins
8527 are present.
8528
8529 2003-06-06 Kenichi Handa <handa@m17n.org>
8530
8531 * coding.c (encoding_buffer_size): If coding->type is
8532 coding_type_ccl, double magnification on CRLF encoding.
8533
8534 2003-06-06 Jason Rumney <jasonr@gnu.org>
8535
8536 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
8537 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
8538
8539 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
8540 Mac too.
8541
8542 2003-06-05 Dave Love <fx@gnu.org>
8543
8544 * strftime.c: Merge changes from gnulib.
8545
8546 * mktime.c (__mktime_internal): Merge changes from gnulib
8547 involving year 69 and dst2.
8548
8549 Changes to merge with gnulib version and be consistent with the
8550 autoconf test:
8551
8552 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
8553 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
8554 [HAVE_LOCALE_H]: Include locale.h.
8555 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
8556
8557 2003-06-05 Kim F. Storm <storm@cua.dk>
8558
8559 * window.c (coordinates_in_window): Convert X and Y to window
8560 relative coordinates inside mode-line and header-line parts.
8561 Convert X and Y to margin area relative coordinates inside left
8562 and right display margin parts.
8563
8564 2003-06-05 Jason Rumney <jasonr@gnu.org>
8565
8566 * w32fns.c (add_system_logical_colors_to_map): New function.
8567 (Fx_open_connection): Use it.
8568
8569 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
8570
8571 * process.c (allocate_pty): Revert part of the previous patch.
8572 (Faccept_process_output): Simplify.
8573
8574 2003-06-04 Jason Rumney <jasonr@gnu.org>
8575
8576 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
8577
8578 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
8579 (lispy_mouse_wheel_names): Remove.
8580 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
8581 Always define drag_and_drop_syms.
8582
8583 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
8584 WHEEL_EVENT events.
8585
8586 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
8587
8588 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
8589
8590 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
8591
8592 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8593
8594 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
8595 menu item label.
8596
8597 2003-06-03 Richard M. Stallman <rms@gnu.org>
8598
8599 * window.c (Fwindow_edges): Doc fix.
8600 (Fwindow_pixel_edges, Fwindow_inside_edges)
8601 (Fwindow_inside_pixel_edges): New functions.
8602 (syms_of_window): defsubr them.
8603
8604 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
8605 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
8606
8607 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
8608
8609 * dispnew.c (Fsit_for): Don't lie about the number of args.
8610
8611 2003-06-02 Dave Love <fx@gnu.org>
8612
8613 * callproc.c: Use HAVE_FCNTL_H, not USG5.
8614 (syms_of_callproc) <process-environment>: Doc fix.
8615
8616 * doc.c: Use HAVE_FCNTL_H, not USG5.
8617
8618 * xfaces.c (font_rescale_ratio): Fix for K&R.
8619
8620 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
8621
8622 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
8623
8624 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
8625
8626 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
8627 (xg_create_frame_widgets): Use ENCODE_UTF_8.
8628
8629 * xterm.c (Qutf_8): Move to coding.c
8630
8631 * xmenu.c (ENCODE_MENU_STRING): New.
8632 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
8633 Use it.
8634
8635 * coding.h (ENCODE_UTF_8): New.
8636 (Qutf_8): Declare.
8637
8638 * coding.c (Qutf_8): New.
8639 (syms_of_coding): Intern it.
8640
8641 * fns.c: Doc fixes.
8642
8643 2003-06-02 Kenichi Handa <handa@m17n.org>
8644
8645 * buffer.c (Fset_buffer_multibyte): Fix previous change.
8646
8647 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
8648
8649 * lread.c (openp): Make sure STR is a string.
8650
8651 2003-06-01 David Ponce <david@dponce.com>
8652
8653 * termhooks.h (enum event_kind): Add new WHEEL_EVENT event.
8654 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
8655
8656 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
8657 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
8658 (discard_mouse_events): Discard WHEEL_EVENT events too.
8659 (lispy_wheel_names, wheel_syms): New.
8660 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
8661 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX defined.
8662 (make_lispy_event): Add WHEEL_EVENT handler.
8663
8664 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
8665 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
8666 WHEEL_EVENT events.
8667
8668 2003-05-31 John Paul Wallington <jpw@gnu.org>
8669
8670 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
8671 timer are in lisp/emacs-lisp.
8672
8673 2003-05-31 Kenichi Handa <handa@m17n.org>
8674
8675 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
8676 region when a buffer is changed to unibyte.
8677
8678 * charset.h (VALID_LEADING_CODE_P): New macro.
8679 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
8680
8681 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
8682 is nonzero, accept multibyte form of eight-bit-control chars.
8683 (decode_composition_emacs_mule): Likewise.
8684 (decode_coding_emacs_mule): Likewise.
8685 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
8686 multibyte form of eight-bit-control chars.
8687
8688 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
8689 (Finsert_file_contents): If coding-system-for-read is bound to
8690 Qauto_save_coding, use the coding system emacs-mule with special
8691 setting for recovering a file.
8692 (choose_write_coding_system): On auto saving, use the coding
8693 system emacs-mule with special setting for auto saving.
8694 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
8695
8696 2003-05-30 Kenichi Handa <handa@m17n.org>
8697
8698 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
8699 properly before calling ccl_driver.
8700
8701 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
8702
8703 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is nonzero.
8704 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
8705 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
8706
8707 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
8708
8709 * xfaces.c (realize_default_face): Do not abort if lface is
8710 non-existent - reverts change from 2003-05-19.
8711
8712 2003-05-29 Kenichi Handa <handa@m17n.org>
8713
8714 * coding.c (decode_coding_iso2022): Pay attention to the byte
8715 sequence of CTEXT extended segment, and retain those bytes as is.
8716
8717 2003-05-28 Kenichi Handa <handa@m17n.org>
8718
8719 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjust for the name change
8720 of CODING_REPLACEMENT_CHARACTER.
8721 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
8722 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
8723 check this flag on encoding.
8724 (encode_coding_sjis_big5):
8725 Check CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
8726 (Fset_terminal_coding_system_internal):
8727 Set CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
8728 instead of setting CODING_FLAG_ISO_SAFE flag in terminal_coding.flags.
8729
8730 * coding.h (CODING_REPLACEMENT_CHARACTER): Rename from
8731 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
8732 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
8733
8734 2003-05-28 Richard M. Stallman <rms@gnu.org>
8735
8736 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
8737
8738 * eval.c (unbind_to): Move init of this_binding to separate statement.
8739
8740 2003-05-28 Kim F. Storm <storm@cua.dk>
8741
8742 * xdisp.c (expose_window): Fix error in calculation of
8743 window relative coordinates of area to redisplay.
8744
8745 2003-05-27 Jason Rumney <jasonr@gnu.org>
8746
8747 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
8748
8749 2003-05-27 David Ponce <david@dponce.com>
8750
8751 Handle W32 mouse wheel events as mouse click events, like in X.
8752
8753 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
8754 MOUSE_WHEEL_EVENT anymore.
8755
8756 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
8757 Scrolling down/up the mouse wheel is respectively mapped to mouse
8758 button 4 and 5.
8759 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
8760 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
8761 WM_MOUSEWHEEL events.
8762
8763 2003-05-27 Andreas Schwab <schwab@suse.de>
8764
8765 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
8766
8767 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
8768 partially visible line.
8769
8770 * alloc.c (Fgarbage_collect): Fix last change.
8771
8772 2003-05-26 John Paul Wallington <jpw@gnu.org>
8773
8774 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
8775
8776 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
8777
8778 * window.c (Fset_window_buffer): Add type of `keep_margins'.
8779 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
8780
8781 * window.h (window_box_text_cols): Declare.
8782
8783 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
8784 (x_draw_vertical_border): Remove unused var `f'.
8785
8786 * xfaces.c (build_scalable_font_name): Remove `unused var
8787 pixel_size' warning.
8788
8789 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
8790
8791 * unexelf.c (unexec): Remove `unused var n' warning.
8792
8793 * strftime.c (my_strftime_localtime_r): Remove `defined but
8794 unused' warning.
8795
8796 * process.c (allocate_pty): Remove `unused var stb' and
8797 `cp might be used uninitialized' warnings.
8798
8799 * dispnew.c (mode_line_string): Remove unused var `f'.
8800
8801 * coding.c (find_safe_codings): Remove unused var `i'.
8802
8803 * bytecode.c (Fbyte_code): Remove `unused val' warning.
8804
8805 * buffer.c (Fkill_buffer): Remove unused var `list'.
8806
8807 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
8808
8809 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8810
8811 * frame.c (make_frame): Condition want_fullscreen with
8812 HAVE_WINDOW_SYSTEM.
8813
8814 2003-05-25 Juanma Barranquero <lektu@terra.es>
8815
8816 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
8817 (Fwindow_scroll_bars): Fix typo in docstring.
8818
8819 2003-05-24 Kim F. Storm <storm@cua.dk>
8820
8821 The following changes serve several purposes:
8822
8823 1) Swap the position of fringes and display margins in windows, i.e.
8824 the fringes are now displayed between the margins and the text area
8825 (by default).
8826
8827 2) Allow fringe and scroll bar parameters to be set per-buffer and
8828 per-window (like display margins). Such settings are now stored
8829 in window configurations, preserved when frames are resized, and
8830 copied when windows are split vertically or horizontally.
8831 Several bugs related to display margins have been fixed.
8832
8833 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
8834
8835 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
8836 rather than FRAME_WIDTH (FRAME_FONT (f)).
8837
8838 5) Introduce a consistent naming of variables, members and macros
8839 depending on whether their value is measured in pixels or in
8840 canonical columns/lines. Pixel dimensions are named *_width and
8841 *_height, while canonical columns/lines are named *_cols and
8842 *_lines. Pixel positions are named *_x and *_y, while column/line
8843 positions are named *_col and *_line.
8844
8845 6) Consolidate more of the X, W32, and MAC gui code by moving
8846 common data into struct frame, and generalize it for the non-gui
8847 case by using suitable defaults.
8848
8849 7) Cleanup and consolidate the macros controlling frame and window
8850 layout into frame.h and window.h, and generalize the use of the
8851 various window_box_* functions (enhanced to handle the new fringe
8852 position and the per-window fringe and scroll bar settings).
8853
8854 * frame.h (struct frame): Rename members height to text_lines,
8855 width to text_cols, window_height to total_lines, window_width to
8856 total_cols, new_height to new_text_lines, new_width to
8857 new_text_cols. All uses changed.
8858 (struct frame): New members which consolidate common members of
8859 x_output, w32_output, and mac_output structures: left_pos,
8860 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
8861 win_gravity, size_hint_flags, border_width, internal_border_width,
8862 line_height, fringe_cols, left_fringe_width, right_fringe_width,
8863 want_fullscreen. All uses changed.
8864 (struct frame): New member column_width contaning the canonical
8865 column width, analogue to line_height. All uses changed.
8866 (struct frame): Rename members scroll_bar_pixel_width to
8867 config_scroll_bar_width, and scroll_bar_cols to
8868 config_scroll_bar_cols. All uses changed.
8869 (struct frame): New member scroll_bar_actual_width which
8870 consolidates and renames the vertical_scroll_bar_extra member of
8871 x_output, w32_output, and mac_output structures. All uses changed.
8872 (FRAME_PIXEL_HEIGHT): Rename from PIXEL_HEIGHT and moved
8873 from x/w32/macterm.h files. All uses changed. Also change code
8874 which referred to f->output_data...->pixel_height.
8875 (FRAME_PIXEL_WIDTH): Rename from PIXEL_WIDTH and moved
8876 from x/w32/macterm.h files. All uses changed. Also change code
8877 which referred to f->output_data...->pixel_width.
8878 (FRAME_LINES): Rename from FRAME_HEIGHT. All uses changed.
8879 Also change code which referred to f->height.
8880 (FRAME_COLS): Rename from FRAME_WIDTH. All uses changed.
8881 Also change code which referred to f->width.
8882 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
8883 to update new_text_lines and new_text_cols members directly.
8884 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Rename from
8885 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
8886 (FRAME_CONFIG_SCROLL_BAR_COLS): Rename from
8887 FRAME_SCROLL_BAR_COLS. All uses changed.
8888 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
8889 Rename from FRAME_LEFT_SCROLL_BAR_WIDTH and
8890 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
8891 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
8892 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
8893 (FRAME_TOTAL_COLS): Rename from FRAME_WINDOW_WIDTH.
8894 (SET_FRAME_COLS): Rename from SET_FRAME_WIDTH.
8895 (FRAME_TOTAL_COLS_ARG): Rename from FRAME_WINDOW_WIDTH_ARG.
8896 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
8897 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
8898 (FRAME_LINE_HEIGHT): Rename from CANON_Y_UNIT.
8899 Unconditionally return line_height member (it now has proper value
8900 also for non-window frames).
8901 (FRAME_COLUMN_WIDTH): Rename from CANON_X_UNIT. Unconditionally
8902 return new column_width member (rather than the default font width).
8903 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
8904 (FRAME_RIGHT_FRINGE_WIDTH): Rename from FRAME_X_... and moved
8905 from x/w32/macterm.h files. Unconditionally return corresponding
8906 member of frame structure (they now have proper values also for
8907 non-window frames).
8908 (FRAME_TOTAL_FRINGE_WIDTH): Rename from FRAME_FRINGE_WIDTH.
8909 Calculate return value from left and right widths.
8910 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
8911 internal_border_width member (has proper value for non-window frame).
8912 (FRAME_PIXEL_X_FROM_CANON_X): Rename from PIXEL_X_FROM_CANON_X.
8913 (FRAME_PIXEL_Y_FROM_CANON_Y): Rename from PIXEL_Y_FROM_CANON_Y.
8914 (FRAME_CANON_X_FROM_PIXEL_X): Rename from CANON_X_FROM_PIXEL_X.
8915 (FRAME_CANON_Y_FROM_PIXEL_Y): Rename from CANON_Y_FROM_PIXEL_Y.
8916 (FRAME_LINE_TO_PIXEL_Y): Rename from CHAR_TO_PIXEL_ROW,
8917 consolidated from xterm.h, macterm.h, and w32term.h.
8918 (FRAME_COL_TO_PIXEL_X): Rename from CHAR_TO_PIXEL_COL,
8919 consolidated from xterm.h, macterm.h, and w32term.h.
8920 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Rename from
8921 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
8922 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Rename from
8923 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
8924 (FRAME_PIXEL_Y_TO_LINE): Rename from PIXEL_TO_CHAR_ROW
8925 consolidated from x/mac/w32term.h.
8926 (FRAME_PIXEL_X_TO_COL): Rename from PIXEL_TO_CHAR_COL
8927 consolidated from x/mac/w32term.h.
8928 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Rename from
8929 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
8930 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Rename from
8931 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
8932
8933 * window.h (struct window): Rename members left to left_col,
8934 top to top_line, height to total_lines, width to total_cols,
8935 left_margin_width to left_margin_cols, right_margin_width to
8936 right_margin_cols, orig_height to orig_total_lines, orig_top to
8937 orig_top_line. All uses changed.
8938 (struct window): New members left_fringe_width, right_fringe_width,
8939 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
8940 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
8941 New macros primarily used to simplify other macros.
8942 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
8943 referred to XINT (w->width).
8944 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
8945 referred to XINT (w->height).
8946 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
8947 referred to XINT (w->width) * canon_x_unit.
8948 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
8949 referred to XINT (w->height) * canon_y_unit.
8950 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
8951 referred to XINT (w->left).
8952 (WINDOW_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_EDGE. Change
8953 all uses and code that referred to XINT (w->left) + XINT (w->width).
8954 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
8955 referred to XINT (w->top).
8956 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
8957 referred to XINT (w->top) + XINT (w->height).
8958 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
8959 referred to XINT (w->left) * canon_x_unit.
8960 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
8961 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
8962 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
8963 referred to XINT (w->top) * canon_y_unit.
8964 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
8965 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
8966 (WINDOW_LEFTMOST_P): New macro.
8967 (WINDOW_BOX_LEFT_EDGE_COL): Rename from WINDOW_LEFT_MARGIN.
8968 All uses changed.
8969 (WINDOW_BOX_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_MARGIN.
8970 All uses changed.
8971 (WINDOW_BOX_LEFT_EDGE_X): Rename from
8972 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
8973 Do not exclude left fringe width.
8974 (WINDOW_BOX_RIGHT_EDGE_X): Rename from
8975 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
8976 Do not exclude fringe widths.
8977 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
8978 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
8979 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
8980 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
8981 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
8982 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
8983 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
8984 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
8985 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
8986 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
8987 New macros. Change code which referenced corresponding
8988 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
8989 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
8990 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
8991 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
8992 allow per-window scroll-bar settings.
8993 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
8994 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
8995 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
8996 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
8997 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
8998 FRAME_SCROLL_BAR_WIDTH.
8999 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
9000 (WINDOW_SCROLL_BAR_AREA_X): New macros.
9001 (WINDOW_HEADER_LINE_HEIGHT): Rename from
9002 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
9003 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Rename from
9004 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
9005 (WINDOW_BOX_TEXT_HEIGHT): Rename from
9006 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
9007 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
9008 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
9009 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Move here from dispextern.h.
9010 (WINDOW_LEFT_MARGIN_WIDTH): Rename from
9011 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
9012 (WINDOW_RIGHT_MARGIN_WIDTH): Rename from
9013 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
9014 (window_from_coordinates): Update prototype.
9015 (Fset_window_buffer): Update EXFUN.
9016 (set_window_buffer): Update prototype.
9017
9018 * dispextern.h (struct glyph_matrix): Rename members window_left_x
9019 to window_left_col, window_top_y to window_top_line. All uses
9020 changed.
9021 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
9022 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
9023 internal_border_width is now set to 0 for non-window frames.
9024 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
9025 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
9026 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
9027 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
9028 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
9029 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
9030 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
9031 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
9032 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
9033 Move to window.h and renamed [see window.h changes].
9034 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
9035 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
9036 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
9037 Use WINDOW_TOTAL_LINES.
9038 (frame_update_line_height): Remove prototype.
9039
9040 * buffer.h (struct buffer): Rename members measured in columns:
9041 left_margin_width to left_margin_cols, right_margin_width to
9042 right_margin_cols. All uses changed.
9043 New members left_fringe_width, right_fringe_width,
9044 fringes_outside_margins for per-buffer fringe settings.
9045 New members scroll_bar_width and vertical_scroll_bar_type for
9046 per-buffer scroll bar settings.
9047
9048 * buffer.c (init_buffer_once): Set buffer_defaults and
9049 buffer_local_flags for new buffer-local variables
9050 left_fringe_width, right_fringe_width, fringes_outside_margins,
9051 scroll_bar_width, and vertical_scroll_bar_type.
9052 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
9053 default-* variables for them.
9054
9055 * dispnew.c: Make (many) trivial substitutions for renamed and
9056 new macros in dispextern.h, frame.h and window.h.
9057 (mode_line_string): No need to adjust width for mode lines, as it
9058 is already adjusted by the caller.
9059 (marginal_area_string): Handle fringes inside/outside margins.
9060
9061 * frame.c: Make (many) trivial substitutions for renamed and
9062 new macros in dispextern.h, frame.h and window.h.
9063 (make_frame): Initialize left_fringe_width, right_fringe_width,
9064 fringe_cols, scroll_bar_actual_width, border_width,
9065 internal_border_width, column_width, line_height, x_pixels_diff,
9066 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
9067 members with values suitable for a non-window frames.
9068
9069 * gtkutil.c: Make (many) trivial substitutions for renamed and
9070 new macros in dispextern.h, frame.h and window.h.
9071
9072 * indent.c: Make (few) trivial substitutions for renamed and
9073 new macros in dispextern.h, frame.h and window.h.
9074
9075 * keyboard.c: Make (many) trivial substitutions for renamed and
9076 new macros in dispextern.h, frame.h and window.h.
9077 (make_lispy_event): Use window positions returned from
9078 window_from_coordinates when constructing the lisp event for
9079 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
9080 (incorrect) values locally.
9081 (make_lispy_movement): Use window positions returned from
9082 window_from_coordinates when constructing the lisp event, rather
9083 than calculating (incorrect) values locally.
9084
9085 * scroll.c: Make (some) trivial substitutions for renamed and
9086 new macros in dispextern.h, frame.h and window.h.
9087
9088 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
9089 scroll-bars.
9090
9091 * sysdep.c: Make (few) trivial substitutions for renamed and
9092 new macros in dispextern.h, frame.h and window.h.
9093
9094 * term.c: Make (some) trivial substitutions for renamed and
9095 new macros in dispextern.h, frame.h and window.h.
9096
9097 * widget.c: Make (few) trivial substitutions for renamed and
9098 new macros in dispextern.h, frame.h and window.h.
9099
9100 * window.c: Make (many) trivial substitutions for renamed and
9101 new macros in dispextern.h, frame.h and window.h.
9102 (make_window): Initialize new members
9103 left_margin_cols, right_margin_cols, left_fringe_width,
9104 right_fringe_width, fringes_outside_margins, scroll_bar_width,
9105 and vertical_scroll_bar_type.
9106 (coordinates_in_window): Adapt to new fringe/margin positions
9107 and per-window fringes and scroll-bars.
9108 Fix bug related to incorrectly adjusting coordinates by
9109 frame's internal_border_width (the effect normally negible since
9110 the internal_border_width is typically 0 or 1 pixel, but very
9111 noticeable for an internal_border_width of e.g. 25 pixels).
9112 Upon successful return (other than ON_NOTHING), the coordinates
9113 are now always properly converted to window relative for the
9114 given display element.
9115 (window_from_coordinates): Add new parameters wx and wy to
9116 return the window relative x and y position in the returned
9117 window and part. A null arg means, don't return the position.
9118 All callers changed.
9119 (adjust_window_margins): New function which may reduce the width
9120 of the display margins if a window's text area is too small after
9121 resizing or splitting windows.
9122 (size_window): Fix bug that did not account for display margin
9123 widths when checking the minimum width of a window; use
9124 adjust_window_margins.
9125 (set_window_buffer): Call Fset_window_fringes and
9126 Fset_window_scroll_bars to setup per-window elements.
9127 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
9128 existing display margin, fringe widths, and scroll bar settings
9129 (e.g. after splitting a window or resizing the frame).
9130 All callers changed.
9131 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
9132 (Fsplit_window): Duplicate original window's display margin,
9133 fringe, and scroll-bar settings; then call Fset_window_buffer with
9134 KEEP_MARGINS non-nil. This fixes a bug which caused a split
9135 window to only preserve the display margins in one of the windows.
9136 When splitting horizontally, call adjust_window_margins on both
9137 windows to ensure that the text area of the new windows is non too
9138 narrow. This fixes a bug which could cause Emacs to trap if the
9139 width of the split window was less than the width of the display
9140 margins.
9141 (window_box_text_cols): Rename from window_internal_width.
9142 All uses changed. Adapt to per-window fringes and scroll bars.
9143 Fix bug that caused vertical separator to be subtracted also on
9144 window frames. Fix another bug that did not reduce the returned
9145 value by the columns used for display margins.
9146 (window_scroll_line_based): Fix bug related to scrolling too much
9147 when display margins are present (implicitly fixed by the fix to
9148 window_box_text_cols).
9149 (scroll_left, scroll_right): Fix bug related to scrolling too far
9150 by default when display margins are present (implicitly fixed by
9151 the fix to window_box_text_cols).
9152 (struct saved_window): Rename members left to left_col, top to
9153 top_line, width to total_cols, height to total_lines, orig_top to
9154 orig_top_line, orig_height to orig_total_lines. All uses changed.
9155 New members left_margin_cols, right_margin_cols,
9156 left_fringe_width, right_fringe_width, fringes_outside_margins,
9157 scroll_bar_width, and vertical_scroll_bar_type for saving
9158 per-window display elements.
9159 (Fset_window_configuration): Restore display margins, fringes,
9160 and scroll bar settings. This fixes a bug which caused display
9161 margins to be discarded when saving and restoring a window
9162 configuration.
9163 (save_window_save): Save display margins, fringes, and scroll bar
9164 settings. This fixes a bug which caused display margins to be
9165 discarded when saving and restoring a window configuration.
9166 (Fset_window_margins): Do nothing if display margins are not
9167 really changed. Otherwise, call adjust_window_margins to ensure
9168 the text area doesn't get too narrow. This fixes a bug which
9169 could cause Emacs to trap if setting display margins wider than
9170 the width of the window.
9171 (Fset_window_fringes): New defun to allow user to specifically set
9172 this window's fringe widths and position vs. display margins.
9173 (Fwindow_fringes): New defun to return window's actual fringe settings.
9174 (Fset_window_scroll_bars): New defun to allow user to specifically
9175 set this window's scroll bar width and position.
9176 (Fwindow_scroll_bars): New defun to return window's actual scroll
9177 bar settings.
9178 (compare_window_configurations): Also compare display margins,
9179 fringes, and scroll bar settings.
9180 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
9181
9182 * xdisp.c: Make (many) trivial substitutions for renamed and
9183 new macros in dispextern.h, frame.h and window.h.
9184 (window_box_width): Adapt to per-window fringes and scroll bars,
9185 and new fringe vs. display margin position. Note that returned
9186 value is no longer guaranteed to be a whole multiple of the frame
9187 column width, since per-window fringes may now be any width.
9188 (window_box_left_offset): New function like window_box_left, but
9189 value is relative to left border of window (rather than frame).
9190 (window_box_right_offset): New function like window_box_right,
9191 but value is relative to left border of window.
9192 (window_box_left): Adapt to per-window fringes and scroll bars,
9193 and new fringe vs. display margin position. Simplify by using
9194 WINDOW_LEFT_EDGE_X and window_box_left_offset.
9195 (window_box): Allow null args for unnecessary return values;
9196 change/simplify relevant callers.
9197 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
9198 and new fringe vs. display margin position.
9199 Use window_box_left_offset and window_box_right_offset
9200 (get_glyph_string_clip_rect): Adapt to per-window fringes and
9201 scroll bars, and new fringe vs. display margin position.
9202 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
9203 (draw_fringe_bitmap): Rework to handle per-window fringes and new
9204 fringe vs. display margin position.
9205 (hscroll_window_tree): Use window_box_width instead of window_box.
9206 (redisplay_window): Adapt to per-window scroll bars.
9207 (draw_glyphs): Rework to handle per-window fringes and scroll
9208 bars, and new fringe vs. display margin position.
9209 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
9210 (x_clear_end_of_line): Adapt to per-window fringes and scroll
9211 bars, and new fringe vs. display margin position. Fix bug which
9212 increased total width of full_width rows by width of scroll bars
9213 although window's total width already includes that.
9214 (x_fix_overlapping_area): Simplify using window_box_left_offset.
9215 (expose_area): Simplify using window_box_left_offset.
9216 (x_draw_vertical_border): Handle per-window scroll bar settings,
9217 mixing windows with left, right and no scroll bars.
9218
9219 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
9220 where it's used in x_list_fonts (for clarity).
9221 (frame_update_line_height): Remove unused function; functionality
9222 is now done directly when setting the default font in x_set_font.
9223
9224 * xfns.c: Make (many) trivial substitutions for renamed and
9225 new macros in dispextern.h, frame.h and window.h.
9226
9227 * xmenu.c: Make (some) trivial substitutions for renamed and
9228 new macros in dispextern.h, frame.h and window.h.
9229
9230 * xterm.h (struct x_output): Move members left_pos, top_pos,
9231 border_width, pixel_height, pixel_width, line_height,
9232 internal_border_width, vertical_scroll_bar_extra,
9233 left_fringe_width, right_fringe_width, fringe_cols,
9234 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
9235 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
9236 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
9237 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
9238 (PIXEL_WIDTH, PIXEL_HEIGHT)
9239 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
9240 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
9241 frame.h and renamed [see frame.h changes].
9242 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
9243 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
9244 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
9245 and renamed [see frame.h changes].
9246
9247 * xterm.c: Make (several) trivial substitutions for renamed and
9248 new macros in dispextern.h, frame.h and window.h.
9249 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
9250 (scroll_run): Adapt to new fringe position.
9251 (glyph_rect): Use window coordinates returned from
9252 window_from_coordinates rather than frame_to_window_pixel_xy.
9253 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
9254 scroll-bars.
9255 (handle_one_xevent): Simplify a USE_GTK conditional.
9256 (x_clip_to_row): Remove superfluous whole_line_p arg and code
9257 (fringes are now inside margins, i.e. always in the clipping area).
9258 All callers changed.
9259 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
9260 directly, then call compute_fringe_widths. Don't call
9261 frame_update_line_height.
9262
9263 * w32term.h (struct w32_output): Move members left_pos, top_pos,
9264 border_width, pixel_height, pixel_width, line_height,
9265 internal_border_width, vertical_scroll_bar_extra,
9266 left_fringe_width, right_fringe_width, fringe_cols,
9267 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
9268 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
9269 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
9270 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
9271 (PIXEL_WIDTH, PIXEL_HEIGHT)
9272 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
9273 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
9274 frame.h and renamed [see frame.h changes].
9275 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
9276 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
9277 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
9278 and renamed [see frame.h changes].
9279
9280 * w32term.c: Make (several) trivial substitutions for renamed and
9281 new macros in dispextern.h, frame.h and window.h.
9282 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
9283 (glyph_rect): Use window coordinates returned from
9284 window_from_coordinates rather than frame_to_window_pixel_xy.
9285 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
9286 scroll-bars.
9287 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
9288 (fringes are now inside margins, i.e. always in the clipping area).
9289 All callers changed.
9290 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
9291 directly, then call compute_fringe_widths. Don't call
9292 frame_update_line_height.
9293
9294 * w32console.c: Make (few) trivial substitutions for renamed and
9295 new macros in dispextern.h, frame.h and window.h.
9296
9297 * w32fns.c: Make (many) trivial substitutions for renamed and
9298 new macros in dispextern.h, frame.h and window.h.
9299
9300 * w32menu.c: Make (few) trivial substitutions for renamed and
9301 new macros in dispextern.h, frame.h and window.h.
9302
9303 * macterm.h (struct mac_output): Move members left_pos, top_pos,
9304 border_width, pixel_height, pixel_width, line_height,
9305 internal_border_width, vertical_scroll_bar_extra,
9306 left_fringe_width, right_fringe_width, fringe_cols,
9307 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
9308 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
9309 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
9310 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
9311 (PIXEL_WIDTH, PIXEL_HEIGHT)
9312 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
9313 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
9314 frame.h and renamed [see frame.h changes].
9315 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
9316 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
9317 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
9318 and renamed [see frame.h changes].
9319
9320 * macterm.c: Make (several) trivial substitutions for renamed and
9321 new macros in dispextern.h, frame.h and window.h.
9322 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
9323 (glyph_rect): Use window coordinates returned from
9324 window_from_coordinates rather than frame_to_window_pixel_xy.
9325 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
9326 scroll-bars.
9327 (x_clip_to_row): Remove superfluous whole_line_p arg and code
9328 (fringes are now inside margins, i.e. always in the clipping area).
9329 All callers changed.
9330 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
9331 directly, then call compute_fringe_widths. Don't call
9332 frame_update_line_height.
9333
9334 * macfns.c: Make (several) trivial substitutions for renamed and
9335 new macros in dispextern.h, frame.h and window.h.
9336 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
9337
9338 * macmenu.c: Make (few) trivial substitutions for renamed and
9339 new macros in dispextern.h, frame.h and window.h.
9340
9341 * msdos.h (struct x_output): Remove members left_pos, top_pos,
9342 and line_height, and use corresponding new members in struct
9343 frame. All uses changed.
9344 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
9345 superseeded by corresponding macros in frame.h.
9346
9347 * msdos.c: Make (several) trivial substitutions for renamed and
9348 new macros in dispextern.h, frame.h and window.h.
9349 (IT_note_mouse_highlight): Use updated window coordinates returned
9350 by window_from_coordinates, rather than adjusting them locally.
9351 (internal_terminal_init): No need to initialize line_height here;
9352 it now defaults to 1.
9353
9354 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
9355
9356 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
9357 dropping `down' events.
9358
9359 2003-05-24 Andreas Schwab <schwab@suse.de>
9360
9361 * coding.c (find_safe_codings): Fix last change.
9362
9363 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
9364
9365 * xfns.c (x_window): Fix typo from 2003-05-21 change.
9366
9367 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
9368
9369 * xdisp.c (display_mode_element): Increase max depth.
9370 Simplify the error handling code. Use a different error string
9371 for the case where we hit the depth limit.
9372
9373 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
9374
9375 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
9376
9377 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
9378
9379 * intervals.c (get_local_map): Don't get char-property of previous
9380 point any more: get_pos_property already does it and better.
9381
9382 2003-05-21 Dave Love <fx@gnu.org>
9383
9384 [Merged from unicode branch.]
9385
9386 * xfns.c (x_window, x_window): Use use_xim.
9387
9388 * xterm.c (use_xim): Initialize.
9389 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
9390 (x_term_init): Maybe set use_xim.
9391
9392 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
9393
9394 2003-05-21 Jason Rumney <jasonr@gnu.org>
9395
9396 * unexw32.c (_start): Remove _fmode initialization.
9397
9398 * emacs.c (main) [WINDOWSNT]: Move it here.
9399
9400 2003-05-20 Dave Love <fx@gnu.org>
9401
9402 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
9403
9404 2003-05-19 Richard M. Stallman <rms@gnu.org>
9405
9406 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
9407 as value for QCfont attribute.
9408 (realize_default_face): lface should already exist; crash if not.
9409 Specify 0 for FORCE_P when calling set_lface_from_font_name.
9410
9411 * frame.c (Fignore_event): Doc fix.
9412
9413 2003-05-19 Kenichi Handa <handa@m17n.org>
9414
9415 * coding.c (decode_coding_string): Handle post-read-conversion
9416 even if the coding doesn't require decoding.
9417
9418 2003-05-18 Richard M. Stallman <rms@gnu.org>
9419
9420 * callproc.c (Fcall_process_region): Doc fix.
9421
9422 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
9423
9424 * lread.c (Fload): Print a message if package is obsolete.
9425
9426 * window.c (Fselect_window): Add optional `norecord' arg.
9427 (select_window_1): Fold into Fselect_window.
9428 (select_window_norecord): New function.
9429 (temp_output_buffer_show): Use it. Preserve current buffer.
9430
9431 * window.h (Fselect_window): Update declaration.
9432
9433 * window.c (delete_window, Fother_window, Fset_window_configuration):
9434 * minibuf.c (read_minibuf):
9435 * macterm.c (x_new_focus_frame):
9436 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
9437 * callint.c (Fcall_interactively):
9438 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
9439
9440 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
9441
9442 2003-05-17 David Kastrup <dak@gnu.org>
9443
9444 * process.c (read_process_output): Back out change from 2003-03-09.
9445
9446 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
9447
9448 * editfns.c (get_pos_property): Don't assume that `object' = nil.
9449
9450 * textprop.c (text_property_stickiness): New arg `buffer'.
9451
9452 * intervals.h (text_property_stickiness): New arg `buffer'.
9453 (get_pos_property): Declare.
9454
9455 * intervals.c (get_local_map): Use get_pos_property, to obey
9456 stickiness and empty overlays.
9457 (create_root_interval, graft_intervals_into_buffer): Use BEG.
9458 (merge_properties, intervals_equal, merge_properties_sticky):
9459 Use XCAR, XCDR.
9460 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
9461
9462 2003-05-17 Richard M. Stallman <rms@gnu.org>
9463
9464 * minibuf.c (read_minibuf): If buffer is empty, record the default
9465 in the history.
9466 (Fminibuffer_complete_word): When deleting the overlap, take account
9467 of its real position.
9468
9469 * fns.c (map_char_table): Fix previous change.
9470
9471 * syntax.c (find_defun_start):
9472 When open_paren_in_column_0_is_defun_start,
9473 return beginning of buffer.
9474
9475 * lisp.h (map_char_table): Declare added arg.
9476
9477 * fns.c (map_char_table): New arg TABLE gets the master table.
9478 All calls changed.
9479 Process default and inheritance, resorting to Faref if necessary.
9480
9481 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
9482 (Faccessible_keymaps): Pass new arg to map_char_table.
9483
9484 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
9485
9486 * casetab.c (set_case_table): Pass new arg to map_char_table.
9487
9488 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
9489
9490 * lisp.h (specbinding_func): New typedef.
9491 (struct specbinding): Use specbinding_func, to put the `volatile'
9492 in the right place.
9493
9494 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
9495 to avoid GCC warning.
9496
9497 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org>
9498
9499 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
9500
9501 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
9502
9503 * keyboard.c (apply_modifiers): Don't fill the other cache.
9504
9505 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
9506
9507 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
9508
9509 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
9510 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
9511 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
9512 (Fset_window_configuration, Fcurrent_window_configuration)
9513 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
9514 (Fpos_visible_in_window_p, mark_window_cursors_off)
9515 (window_internal_height, window_internal_width, Frecenter)
9516 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
9517 (replace_buffer_in_all_windows, init_window_once, init_window)
9518 (syms_of_window, keys_of_window): Move from lisp.h.
9519 * lisp.h: Move window.c declarations to window.h.
9520
9521 * bytecode.c: Include window.h.
9522 * emacs.c: Include window.h.
9523
9524 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
9525 (keyremap): Add `parent' field.
9526 (keyremap_step): Use it. Remove `parent' argument.
9527 (read_key_sequence): Setup and use the new `parent' field.
9528
9529 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
9530
9531 * keyboard.c (adjust_point_for_property): Ensure termination.
9532
9533 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
9534
9535 * keyboard.c (follow_key): Remove dead variable `did_meta'.
9536 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
9537 duplicated handling of function-key-map and key-translation-map
9538 in read_key_sequence.
9539 (read_key_sequence): Use them.
9540
9541 * keyboard.c (adjust_point_for_property): Try harder to move point
9542 to the non-sticky end of an invisible property.
9543
9544 * xdisp.c (single_display_prop_intangible_p): Make `space' display
9545 property intangible as well.
9546
9547 2003-05-10 Andreas Schwab <schwab@suse.de>
9548
9549 * xmenu.c (single_menu_item): Change last parameter to void* to
9550 avoid warning.
9551
9552 2003-05-09 Richard M. Stallman <rms@gnu.org>
9553
9554 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
9555 Bind Qinhibit_modification_hooks to t so there will be no GC.
9556 Rename local `tem' to `save_deactivate_mark'.
9557
9558 * eval.c (specpdl_ptr): Declare volatile.
9559 (unbind_to): Copy the whole binding and decrement specpdl_ptr
9560 before doing the work of unbinding it.
9561
9562 * lisp.h (struct specbinding): Declare elements volatile.
9563 (specpdl_ptr): Declare volatile.
9564
9565 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
9566
9567 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
9568 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
9569
9570 2003-05-08 Dave Love <fx@gnu.org>
9571
9572 * coding.c (Vlast_coding_system_used): Doc fix.
9573
9574 2003-05-07 Jason Rumney <jasonr@gnu.org>
9575
9576 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
9577 when system does not support them.
9578
9579 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
9580
9581 * fileio.c (Qwrite_region_annotate_functions): New var.
9582 (build_annotations): Use it to process the global part of the hook.
9583 (syms_of_fileio): Init and staticpro it.
9584
9585 * keyboard.c (safe_run_hooks_error): Display a message instead of
9586 silently ignoring the error.
9587
9588 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
9589
9590 * keyboard.c (input_available_signal): Mark static.
9591 (menu_bar_items): Use map_keymap.
9592 (menu_bar_one_keymap): Remove.
9593 (menu_bar_item): Adjust arglist (for use in map_keymap).
9594 Properly hide a second binding when not both are keymaps.
9595
9596 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
9597 (single_keymap_panes): Use it and map_keymap.
9598 (single_menu_item): Use skp as well.
9599
9600 * keymap.h (map_keymap_function_t): New type.
9601 (map_keymap): Declare.
9602
9603 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
9604 (map_keymap_call, Fmap_keymap): New functions.
9605 (syms_of_keymap): Defsubr map-keymap.
9606
9607 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9608
9609 * gtkutil.c (create_dialog, make_widget_for_menu_item)
9610 (make_menu_item, create_menus, xg_update_menu_item): Don't call
9611 ..._with_mnemonic functions for menu items.
9612
9613 2003-05-01 Kenichi Handa <handa@m17n.org>
9614
9615 * coding.c (coding_system_accept_latin_extra_p): Delete this
9616 function.
9617 (find_safe_codings): Pay attention to
9618 the property tranlsation-table-for-encode of each codings.
9619 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
9620
9621 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
9622
9623 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
9624
9625 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
9626
9627 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
9628
9629 * lisp.h (CHECK): Wrap args in parenthesis.
9630 (specbind): Fix doc: symbol = Qnil is not supported any more.
9631
9632 * bytecode.c (Fbyte_code) <unwind-protect>:
9633 Use Fprogn rather than 0 and Qnil.
9634
9635 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
9636 `double', and `triple' modifiers as well.
9637
9638 2003-04-30 Richard M. Stallman <rms@gnu.org>
9639
9640 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
9641
9642 * alloc.c (abort_on_gc): New variable.
9643 (Fgarbage_collect): Abort if abort_on_gc is set.
9644
9645 * lisp.h (abort_on_gc): Add decl.
9646
9647 * eval.c (Fsignal): Clear abort_on_gc.
9648
9649 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
9650 Reinit FORMAT_START and END before second scan.
9651
9652 * xdisp.c (move_it_vertically_backward): Do the final big else
9653 even if nlines is 0.
9654
9655 * xdisp.c (redisplay_internal): Finish the per-frame loop
9656 even if redisplay is suspended by input.
9657
9658 2003-04-24 Andrew Choi <akochoi@shaw.ca>
9659
9660 * macterm.c (x_list_fonts): Return all fonts that match if
9661 maxnames = -1.
9662
9663 2003-04-25 Kenichi Handa <handa@m17n.org>
9664
9665 * syntax.c (skip_chars): Fix previous change.
9666
9667 2003-04-24 Kenichi Handa <handa@m17n.org>
9668
9669 * syntax.c (skip_chars): Make the code faster by using the common
9670 technique of *p, *stop, and *endp.
9671
9672 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9673
9674 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
9675 tool_bar_items so GTK tool bar expose callback does not access items
9676 being updated.
9677
9678 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
9679
9680 * eval.c (Fapply): Undo last change and add a comment about why.
9681
9682 2003-04-18 Miles Bader <miles@gnu.org>
9683
9684 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
9685 pickier PARSE_MULTIBYTE_SEQ.
9686
9687 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
9688
9689 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
9690 Use XCDR, XCAR, CONSP.
9691 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
9692 (Fapply): Remove unnecessary GCPRO.
9693
9694 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
9695
9696 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
9697
9698 * buffer.h: Don't hardcode BEG==1.
9699
9700 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
9701
9702 2003-04-16 Richard M. Stallman <rms@gnu.org>
9703
9704 * xdisp.c (try_window, try_window_reusing_current_matrix):
9705 When at end of window, set window_end_pos to Z-ZV.
9706
9707 * buffer.c (Foverlay_recenter): Doc fix.
9708
9709 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
9710
9711 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
9712
9713 2003-04-14 Andrew Choi <akochoi@shaw.ca>
9714
9715 * macterm.c (mac_check_for_quit_char): Don't check more often than
9716 once a second.
9717
9718 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
9719
9720 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
9721 specially, so that they can't hide an implicit switch-frame event.
9722 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
9723 (head_table): Use switch-frame as event_kind for select-window.
9724 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
9725
9726 * editfns.c (Fformat): Lisp_Object/int mixup.
9727 (format2): Remove unused var numargs.
9728
9729 2003-04-11 Kenichi Handa <handa@m17n.org>
9730
9731 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
9732 (Qafter_insert_file_set_coding): New variable.
9733 (syms_of_fileio): Initialize and staticpro it. Delete declaration
9734 for after-insert-file-adjust-coding-function.
9735 (Finsert_file_contents): Call Qafter_insert_file_set_coding
9736 instead of Vafter_insert_file_adjust_coding_function.
9737
9738 2003-04-11 Kenichi Handa <handa@m17n.org>
9739
9740 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
9741
9742 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
9743 string. Callers changed.
9744
9745 2003-04-10 Kenichi Handa <handa@m17n.org>
9746
9747 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
9748 (syms_of_fileio): Declare it as a lisp variable.
9749 (Finsert_file_contents):
9750 Call Vafter_insert_file_adjust_coding_function before calling
9751 decode-format.
9752
9753 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9754
9755 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
9756 get GtkAdjustment as widget now is a GtkRange.
9757
9758 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
9759 GtkRange to avoid memory leak.
9760
9761 2003-04-09 Kenichi Handa <handa@m17n.org>
9762
9763 * xfaces.c (Vface_font_rescale_alist): New variable.
9764 (struct font_name): New member rescale_ratio.
9765 (font_rescale_ratio): New function.
9766 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
9767 (better_font_p): On comparing point sized, pay attention to
9768 recale_ratio member of fonts.
9769 (build_scalable_font_name): Reflect font->rescale_ratio in the
9770 font name.
9771 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
9772
9773 * lread.c (read1): Before calling index, check if the 2nd
9774 arguemnt is in ASCII range.
9775
9776 2003-04-08 Richard M. Stallman <rms@gnu.org>
9777
9778 * fileio.c (Ffile_symlink_p): Doc fix.
9779
9780 * editfns.c (Fformat): Translate positions of text properties
9781 in the format string to apply them to the result.
9782
9783 * fileio.c (Finsert_file_contents): Doc fix.
9784 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
9785
9786 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
9787
9788 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
9789
9790 2003-04-08 Steven Tamm <steventamm@mac.com>
9791
9792 * mac.c (init_mac_osx_environment): Switch libexec and bin so
9793 that self-contained application finds libexec files.
9794
9795 2003-04-08 Kenichi Handa <handa@m17n.org>
9796
9797 * coding.c (code_convert_region_unwind):
9798 Set Vlast_coding_system_used to the argument.
9799 (code_convert_region): If post-read-conversion function changed
9800 the value of last-coding-sytem, keep the new value in
9801 coding->symbol so that it won't be overridden.
9802 (run_pre_post_conversion_on_str): Likewise.
9803 (coding_system_accept_latin_extra_p): New function.
9804 (find_safe_codings): Pay attention to characters registered in
9805 latin-extra-code-table.
9806
9807 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
9808
9809 * Makefile.in (md5.o): Add missing dependency info.
9810
9811 2003-04-06 Richard M. Stallman <rms@gnu.org>
9812
9813 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
9814
9815 * marker.c (verify_bytepos): New function.
9816
9817 * intervals.c (set_intervals_multibyte_1): When becoming
9818 multibyte, adjust right and left child sizes to a whole set of
9819 characters. If an interval gets zero total-length, delete it.
9820 If an interval consists of just its children, delete one of them.
9821
9822 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
9823 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
9824
9825 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
9826 All calls deleted.
9827 (lisp_malloc): Do the work here directly.
9828
9829 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
9830
9831 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
9832 char tables.
9833
9834 2003-04-04 Kenichi Handa <handa@m17n.org>
9835
9836 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
9837 destructively change "%S" to "%s".
9838
9839 2003-04-03 Miles Bader <miles@gnu.org>
9840
9841 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
9842 always set.
9843
9844 2003-04-01 Dave Love <fx@gnu.org>
9845
9846 * xfns.c (xpm_lookup_color): Grok "opaque".
9847
9848 2003-03-31 Andrew Choi <akochoi@shaw.ca>
9849
9850 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
9851 parent window ID.
9852
9853 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
9854
9855 * macterm.h (struct mac_output): Define x_pixels_diff and
9856 y_pixels_diff.
9857
9858 2003-03-31 Juanma Barranquero <lektu@terra.es>
9859
9860 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
9861 blockinput.h and files included from it.
9862
9863 2003-03-31 Kim F. Storm <storm@cua.dk>
9864
9865 The following changes consolidates the common code related to
9866 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
9867 files into frame.c.
9868
9869 * frame.c: Include blockinput.h.
9870 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
9871 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
9872 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
9873 related vars here.
9874 (struct frame_parm_table, frame_parms): New table for describing
9875 frame parameters and their associated Q-variable.
9876 The order of the parameters corresponds to the sequence of the
9877 frame_parm_handlers table in redisplay_interface.
9878 (x_fullscreen_move, x_set_frame_parameters)
9879 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
9880 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
9881 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9882 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
9883 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
9884 Generic functions for processing of frame parameters.
9885 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
9886 (display_x_get_resource, x_get_resource_string): Functions for
9887 generic access to X resources.
9888 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
9889 (x_default_parameter, Fx_parse_geometry): Functions for generic
9890 access to frame parameters.
9891 (x_figure_window_size): Generic calculation of frame size.
9892 Fixed to add space needed for tool bar. Also setup size_hint_flags.
9893 (syms_of_frame): Intern and staticpro frame parameter variables.
9894 Defvar_lisp Vx_resource_class and Vx_resource_name here.
9895 Defsubr Sx_get_resource and Sx_parse_geometry.
9896
9897 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
9898 parameter related vars defined in frame.c.
9899 (EMACS_CLASS): Define here.
9900 (enum FULLSCREEN_*): Define here.
9901 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
9902 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
9903 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
9904 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
9905 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
9906 (x_set_visibility, x_set_autoraise, x_set_autolower)
9907 (x_set_unsplittable, x_set_vertical_scroll_bars)
9908 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
9909 (x_figure_window_size): Add prototypes.
9910
9911 * dispextern.h (frame_parm_handler): New typedef.
9912 (struct redisplay_interface): New member frame_parm_handlers.
9913 (enum resource_types): Move declaration here.
9914 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
9915 (x_default_parameter): Add prototypes.
9916
9917 * window.c: Remove extern decl for frame parameter vars.
9918 (change_window_heights): New generic function;
9919 replaces x_change_window_heights. All users changed.
9920
9921 * window.h (change_window_heights): Add prototype.
9922
9923 * xfaces.c: Remove extern decl for frame parameter vars.
9924
9925 * xterm.h (EMACS_CLASS): Remove. Use generic define.
9926 (struct w32_display_info): Fix type of xrdb member.
9927 (enum FULLSCREEN_*): Remove.
9928 Remove prototypes for generic functions (in frame.h).
9929
9930 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9931 parameters now defined in frame.h and frame.c.
9932 (Vx_resource_name): Remove. Use generic var.
9933 (enum x_frame_parms): Remove (bogus, unused enum).
9934 (check_x_display_info): Make non-static (for frame.c).
9935 (struct x_frame_parm_table, x_frame_parms): Remove.
9936 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9937 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9938 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9939 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9940 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9941 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9942 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9943 Remove. Use generic functions instead.
9944 (enum resource_types): Remove.
9945 (x_set_scroll_bar_default_width): New global function (for frame.c).
9946 (Fx_create_frame): Depend on x_figure_window_size to add space for
9947 toolbar and setup size_hint_flags.
9948 (x_frame_parm_handlers): New table for redisplay_interface.
9949 (syms_of_xfns): Don't intern/staticpro removed vars.
9950
9951 * xterm.c: Remove unnecessary extern declarations.
9952 (x_fullscreen_adjust): Remove. Use generic instead.
9953 (x_redisplay_interface): Add x_frame_parm_handlers member.
9954
9955 * w32gui.h (XrmDatabase): New (dummy) typedef.
9956
9957 * w32term.h (EMACS_CLASS): Remove. Use generic define.
9958 (struct w32_display_info): Fix type of xrdb member.
9959 (enum FULLSCREEN_*): Remove.
9960 (x_fullscreen_adjust): Remove prototype.
9961
9962 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9963 parameters now defined in frame.h and frame.c.
9964 (Vx_resource_name): Remove. Use generic var.
9965 (enum x_frame_parms): Remove (bogus, unused enum).
9966 (check_x_display_info): Make non-static (for frame.c).
9967 (struct x_frame_parm_table, x_frame_parms): Remove.
9968 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9969 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9970 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9971 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9972 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9973 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9974 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9975 Remove. Use generic functions instead.
9976 (enum resource_types): Remove.
9977 (x_set_scroll_bar_default_width): New global function (for frame.c).
9978 (Fx_create_frame): Depend on x_figure_window_size to add space for
9979 toolbar and setup size_hint_flags.
9980 (w32_frame_parm_handlers): New table for redisplay_interface.
9981 (syms_of_w32fns): Don't intern/staticpro removed vars.
9982
9983 * w32term.c: Remove unnecessary extern declarations.
9984 (x_fullscreen_adjust): Remove. Use generic instead.
9985 (x_redisplay_interface): Add w32_frame_parm_handlers member.
9986
9987 * w32reg.c (x_get_string_resource): Use XrmDatabase.
9988
9989 * macgui.h (XrmDatabase): New (dummy) typedef.
9990
9991 * macterm.h (EMACS_CLASS): Remove.
9992 (struct mac_display_info): Add xrdb member.
9993 (struct mac_output): Add want_fullscreen member.
9994
9995 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9996 parameters now defined in frame.h and frame.c.
9997 (Vx_resource_name): Remove. Use generic var.
9998 (check_x_display_info): Make non-static (for frame.c).
9999 (struct x_frame_parm_table, x_frame_parms): Remove.
10000 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
10001 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
10002 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
10003 (x_change_window_heights, x_set_autoraise, x_set_autolower)
10004 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
10005 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
10006 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
10007 Remove. Use generic functions instead.
10008 (enum resource_types): Remove.
10009 (x_set_scroll_bar_default_width): New global function (for frame.c).
10010 (mac_frame_parm_handlers): New table for redisplay_interface.
10011 (syms_of_macfns): Don't intern/staticpro removed vars.
10012
10013 * macterm.c: Remove unnecessary extern declarations.
10014 (x_redisplay_interface): Add mac_frame_parm_handlers member.
10015
10016 * Makefile.in (frame.o): Add dependency on blockinput.h and files
10017 included from it (atimer.h and systime.h).
10018
10019 2003-03-30 Andreas Schwab <schwab@suse.de>
10020
10021 * xdisp.c (x_insert_glyphs): Fix swapped width and height
10022 parameters for shift_glyphs_for_insert.
10023
10024 * macterm.c (x_redisplay_interface): Add missing entry for
10025 draw_vertical_window_border.
10026
10027 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
10028
10029 * fileio.c (Fexpand_file_name): In the no-handler case, after
10030 expanding, look again for a handler and invoke it. This is needed
10031 for filenames like "/foo/../user@host:/bar/../baz" -- the first
10032 expansion produces "/user@host:/bar/../baz" which needs to be
10033 expanded again for the finame result "/user@host:/baz".
10034
10035 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10036
10037 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
10038 of area to be redrawn for better performance.
10039
10040 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
10041
10042 * xterm.c (take_vertical_position_into_account): Remove.
10043 (xt_action_hook): Call set_vertical_scroll_bar if needed.
10044 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
10045 (xm_scroll_callback, x_create_toolkit_scroll_bar)
10046 (x_set_toolkit_scroll_bar_thumb): Simplify.
10047 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
10048 (XTread_socket): Remove unused var.
10049 (x_make_frame_invisible): Replace goto with else.
10050
10051 * xdisp.c (set_vertical_scroll_bar): New fun.
10052 (redisplay_window): Use it.
10053
10054 2003-03-26 Richard M. Stallman <rms@gnu.org>
10055
10056 * xdisp.c (update_tool_bar): Recompute tool bar if
10057 update_mode_lines is set. Set w->update_mode_line
10058 only if the tool bar contents actually change.
10059 (update_menu_bar): Undo previous change.
10060
10061 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10062
10063 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
10064 (xg_frame_set_char_size): Calculate scroll bar width before frame
10065 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
10066 (xg_separator_p): Check for all documented separator types.
10067 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
10068 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
10069
10070 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
10071 so tool bar gets updated.
10072
10073 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
10074
10075 * data.c (store_symval_forwarding): Re-instate part of the code
10076 that was deleted with too much enthusiasm.
10077
10078 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
10079
10080 * data.c (store_symval_forwarding): Delete special read-only
10081 hack for type == -1, since we now use ->constant instead.
10082 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
10083
10084 * buffer.c (overlays_in): Declare static.
10085 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
10086 `constant' field rather than the variable's `type' field.
10087
10088 2003-03-24 Andrew Choi <akochoi@shaw.ca>
10089
10090 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
10091
10092 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
10093
10094 * fns.c [MAC_OSX]: Do not redefine vector.
10095
10096 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
10097
10098 * macgui.h: Remove definition of No_Cursor.
10099
10100 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
10101
10102 * xdisp.c: Define No_Cursor.
10103 (x_write_glyphs, notice_overwritten_cursor)
10104 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
10105 (note_mouse_highlight): Remove Mac-specific code.
10106 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
10107
10108 2003-03-24 John Paul Wallington <jpw@gnu.org>
10109
10110 * xdisp.c (redisplay_window): If mini window's buffer is not
10111 empty, then redisplay it like other windows.
10112
10113 2003-03-23 Kim F. Storm <storm@cua.dk>
10114
10115 * w32term.c (w32_draw_window_cursor): Fix last change.
10116
10117 2003-03-23 Kenichi Handa <handa@m17n.org>
10118
10119 * alloc.c (make_string_from_bytes, make_specified_string):
10120 Add `const' for the arg CONTENTS.
10121
10122 * lisp.h (make_string_from_bytes, make_specified_string):
10123 Prototypes adjusted.
10124
10125 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10126
10127 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
10128
10129 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
10130 (XG_SB_RANGE): New define.
10131
10132 * gtkutil.c (xg_fixed_handle_expose): New function.
10133 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
10134 expose events.
10135 (xg_update_scrollbar_pos): Take two more arguments, left and width
10136 of scroll bar including borders.
10137 Clear left and right part outside scroll bar separately as some
10138 themes have bars that are not an even number of pixels.
10139 Don't set reallocate_redraws, don't call
10140 gdk_window_process_all_updates.
10141 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
10142 so no need to change it. Calculate size and value with XG_SB_RANGE.
10143
10144 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
10145 Pass left and width of scroll bar including borders to
10146 xg_update_scrollbar_pos.
10147
10148 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
10149
10150 * Makefile.in: Make sure space precedes end-of-line backslashes.
10151
10152 2003-03-22 Kim F. Storm <storm@cua.dk>
10153
10154 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
10155 Add generic versions here. Remove system specific versions
10156 defined elsewhere.
10157
10158 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
10159 Add prototypes.
10160
10161 * xterm.h (STORE_NATIVE_RECT): New macro.
10162
10163 2003-03-21 Kim F. Storm <storm@cua.dk>
10164
10165 * xdisp.c (get_glyph_string_clip_rect):
10166 Use FRAME_INTERNAL_BORDER_WIDTH.
10167
10168 * dispextern.h (struct redisplay_interface): Add active_p
10169 argument to draw_window_cursor member. All uses changed.
10170
10171 2003-03-21 Kim F. Storm <storm@cua.dk>
10172
10173 The following changes consolidate code related to writing and
10174 inserting glyphs, exposing frame, the tool bar, the mouse face,
10175 the output cursor, and help echo from xterm.c, w32term.c and
10176 macterm.c into xdisp.c. It also generalizes the use of the
10177 window_part enum instead of using numeric values throughout.
10178
10179 * xdisp.c: Consolidate gui-independent code here.
10180 Include keymap.h.
10181 (Qhelp_echo): Import.
10182 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
10183 (help_echo_string, help_echo_window, help_echo_object)
10184 (previous_help_echo_string, help_echo_pos): Declare here.
10185 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
10186 (estimate_mode_line_height): Define here. Handle windowing
10187 systems directly (without using estimate_mode_line_height_hook).
10188 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
10189 (update_window_cursor, update_cursor_in_window_tree)
10190 (fast_find_position, fast_find_string_pos)
10191 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
10192 (expose_area, expose_line, expose_overlaps, expose_window)
10193 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
10194 declared static as they are only used locally in xdisp.c.
10195 (draw_glyphs): Rename from x_draw_glyphs and make static.
10196 (tool_bar_item_info, notice_overwritten_cursor): Make static.
10197 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
10198 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
10199 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
10200 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
10201 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
10202 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
10203 (note_mouse_highlight, x_clear_window_mouse_face)
10204 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
10205 (x_intersect_rectangles): New generic functions for use by xdisp.c
10206 and GUI front-ends.
10207 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
10208 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
10209
10210 * dispextern.h (Display_Info): Generic typedef for *_display_info.
10211 (NativeRectangle): Generic typedef for rectangle type.
10212 (enum window_part): Move here from window.c.
10213 (struct redisplay_interface): New members flush_display_optional,
10214 define_frame_cursor, clear_frame_area, draw_window_cursor,
10215 draw_vertical_window_border, shift_glyphs_for_insert.
10216 Rename member clear_mouse_face to clear_window_mouse_face.
10217 (estimate_mode_line_height_hook): Remove hook.
10218 (auto_raise_tool_bar_buttons_p): Don't declare extern.
10219 (tool_bar_item_info): Remove prototype.
10220 (help_echo_string, help_echo_window, help_echo_object)
10221 (previous_help_echo_string, help_echo_pos)
10222 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
10223 (x_stretch_cursor_p, output_cursor): Declare extern.
10224 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
10225 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
10226 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
10227 (display_and_set_cursor, set_output_cursor, x_cursor_to)
10228 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
10229 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
10230 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
10231 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
10232 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
10233 Add prototypes.
10234 (mode_line_string, marginal_area_string): Fix prototypes.
10235
10236 * window.c (enum window_part): Move to dispextern.h.
10237 (coordinates_in_window): Use enum window_part member names
10238 instead of numbers to describe return value.
10239 (struct check_window_data): Change part member to window_part.
10240 (check_window_containing): Return window_part unaltered.
10241 (window_from_coordinates): Change part arg from int to enum
10242 window_part. Allow part arg to be null. All users changed.
10243
10244 * window.h (window_from_coordinates): Fix prototype.
10245
10246 * term.c (estimate_mode_line_height): Move to xdisp.c.
10247
10248 * keyboard.c (make_lispy_event): Use enum window_part.
10249
10250 * dispnew.c (mode_line_string, marginal_area_string): Use enum
10251 window_part instead of int in arg list. Users changed.
10252
10253 * xterm.h (No_Cursor): Declare as None for X.
10254 (struct mac_output): Replace member cross_cursor by hand_cursor.
10255
10256 * xterm.c: Remove consolidated defines and code.
10257 (BETWEEN): Remove unused macro.
10258 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
10259 (x_define_frame_cursor, x_clear_frame_area)
10260 (x_draw_window_cursor): New X-specific functions for RIF.
10261 (x_redisplay_interface): Add new members.
10262
10263 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
10264
10265 * w32term.h (struct w32_output): Remove cross_cursor member.
10266
10267 * w32term.c: Remove consolidated defines and code.
10268 (BETWEEN): Remove unused macro.
10269 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
10270 (w32_define_frame_cursor, w32_clear_frame_area)
10271 (w32_draw_window_cursor): New W32-specific functions for RIF.
10272 (w32_redisplay_interface): Add new members.
10273
10274 * w32gui.h (No_Cursor): Define as 0 for W32.
10275 (XRectangle): Add X compatible rectangle type.
10276 (NativeRectangle): Declare as RECT for W32.
10277 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
10278
10279 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
10280
10281 * w32console.c: Remove consolidated defines and code.
10282
10283 * msdos.h (Display_Info): Add generic typedef.
10284
10285 * msdos.c: Remove consolidated defines and code.
10286 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
10287
10288 * macterm.h (struct mac_output): Replace member cross_cursor by
10289 hand_cursor.
10290 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
10291
10292 * macterm.c: Remove consolidated defines and code.
10293 (BETWEEN): Remove unused macro.
10294 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
10295 (mac_define_frame_cursor, mac_clear_frame_area)
10296 (mac_draw_window_cursor): New Mac-specific functions for RIF.
10297 (x_redisplay_interface): Add new members.
10298
10299 * macgui.h (No_Cursor): Define as 0 for Mac.
10300 (XRectangle): Add X compatible rectangle type.
10301 (NativeRectangle): Declare as Rect for Mac.
10302 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
10303
10304 * macfns.c (x_set_mouse_color): Setup hand_cursor.
10305 (x_set_cursor_color): Use x_display_and_set_cursor.
10306
10307 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
10308 included from it. Add dependency on keymap.h.
10309
10310 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
10311
10312 2003-03-21 Kenichi Handa <handa@m17n.org>
10313
10314 * fileio.c (Fexpand_file_name): Fix previous change.
10315
10316 2003-03-19 Kenichi Handa <handa@m17n.org>
10317
10318 * fileio.c (Ffile_name_directory): Reconstruct file name by
10319 make_specified_string.
10320 (Ffile_name_nondirectory, Ffile_name_as_directory)
10321 (Fdirectory_file_name, Fexpand_file_name)
10322 (Fsubstitute_in_file_name): Likewise.
10323 (Fread_file_name): Compare decoded homedir with DIR and
10324 DEFAULT_FILENAME.
10325
10326 * alloc.c (make_specified_string): If NCHARS is negative, count
10327 the number of characters.
10328
10329 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10330
10331 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
10332 all widgets.
10333
10334 * gtkutil.h: Removed xg_ignore_next_thumb.
10335
10336 2003-03-18 Kenichi Handa <handa@m17n.org>
10337
10338 * coding.c (Vchar_coding_system_table): Remove this variable.
10339 (Vcoding_system_safe_chars): New variable.
10340 (intersection): Remove this function.
10341 (find_safe_codings): Don't use Vchar_coding_system_table, but try
10342 all codings in SAFE_CODINGS.
10343 (Ffind_coding_systems_region_internal): Adjust for the change of
10344 find_safe_codings. Get generic coding systems from
10345 Vcoding_system_safe_chars.
10346 (Fdefine_coding_system_internal): New function.
10347 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
10348 Initialize and staticpro Vcoding_system_safe_chars.
10349
10350 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10351
10352 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
10353 equal old values before updating.
10354
10355 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
10356
10357 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
10358
10359 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10360
10361 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
10362 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
10363 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
10364 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
10365 (xg_create_scroll_bar): Pass bar to button event callback.
10366 (xg_find_top_left_in_fixed): New function.
10367 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
10368 whole scroll bar area. Get old position with
10369 xg_find_top_left_in_fixed, calculate and only clear needed areas.
10370 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
10371 dragging is in progress. Calculate whole as for Motif.
10372 Remove code that saved last values. Call gtk_range functions to
10373 set scroll bar sizes.
10374
10375 * gtkutil.h: Removed xg_ignore_next_thumb.
10376
10377 2003-03-17 Juanma Barranquero <lektu@terra.es>
10378
10379 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
10380 and files included from it.
10381
10382 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
10383
10384 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
10385 multiple occurrences of the same keymap under different prefixes.
10386 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
10387
10388 2003-03-16 Jason Rumney <jasonr@gnu.org>
10389
10390 * w32gui.h: Use HDC for Display.
10391
10392 * w32term.c (w32_encode_char): Prevent double-byte chars from
10393 crashing Emacs.
10394
10395 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
10396 as binary.
10397
10398 2003-03-16 Juanma Barranquero <lektu@terra.es>
10399
10400 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
10401
10402 2003-03-16 Kim F. Storm <storm@cua.dk>
10403
10404 The following changes consolidate some of the gui-independent
10405 parts of the processing and drawing of "glyph strings" from
10406 xterm.c, w32term.c, and macterm.c into xdisp.c.
10407
10408 * dispextern.h (struct glyph): Reduce face_id member from 22 to
10409 21 bits (this reduces number of faces from 4M to 2M).
10410 Replace W32 specific w32_font_type member (2 bits) by generic
10411 font_type member (3 bits) for portability.
10412 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
10413 (enum draw_glyphs_face): Define here.
10414 (struct glyph_string): Define here. Merge W32 and X versions.
10415 (struct redisplay_interface): New members per_char_metric,
10416 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
10417 (VCENTER_BASELINE_OFFSET): Define here.
10418 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
10419 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
10420
10421 * xdisp.c: Consolidate gui-independent "glyph string" code here.
10422 (dump_glyph_string): Moved here.
10423 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
10424 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
10425 (fill_composite_glyph_string, fill_glyph_string)
10426 (fill_image_glyph_string, fill_stretch_glyph_string)
10427 (left_overwritten, left_overwriting, right_overwritten)
10428 (right_overwriting, get_char_face_and_encoding)
10429 (set_glyph_string_background_width, compute_overhangs_and_x)
10430 (append_glyph, append_composite_glyph, produce_image_glyph)
10431 (take_vertical_position_into_account, append_stretch_glyph)
10432 (produce_stretch_glyph): New generic functions (based on X version).
10433 Call platform specific functions through rif.
10434 (INIT_GLYPH_STRING): New macro, hides W32 details.
10435 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
10436 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
10437 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
10438 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
10439 (notice_overwritten_cursor):
10440 Generic functions exported to platform modules. Users changed.
10441
10442 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
10443 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
10444 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
10445 New macros for consolidated code.
10446
10447 * xterm.c: Remove consolidated defines and code.
10448 (x_per_char_metric, x_encode_char)
10449 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
10450 (x_redisplay_interface): Add new members.
10451
10452 * w32gui.h (Display): Add dummy typedef for consolidation.
10453 (XChar2b): Define alias for wchar_t for consolidation.
10454 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
10455
10456 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
10457 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
10458 New macros for consolidation.
10459
10460 * w32term.c: Remove consolidated defines and code.
10461 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
10462 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
10463 (w32_per_char_metric): Change font_type arg to int for RIF.
10464 (w32_encode_char): Return int according to RIF requirements.
10465 (w32_compute_glyph_string_overhangs): Adapt to RIF.
10466 (w32_get_glyph_overhangs): New function for RIF. Uses generic
10467 x_get_glyph_overhangs.
10468 (w32_redisplay_interface): Add new members.
10469
10470 * macgui.h (XChar2b): Move typedef here for consolidation.
10471 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
10472
10473 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
10474 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
10475 consolidation.
10476
10477 * macterm.c: Remove consolidated defines and code.
10478 (mac_per_char_metric): New function for RIF.
10479 (mac_encode_char): Adapt to new RIF requirements.
10480 (mac_compute_glyph_string_overhangs): Adapt for RIF.
10481 (x_redisplay_interface): Add new members.
10482
10483 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
10484
10485 * keymap.c (Vmenu_events): New var.
10486 (syms_of_keymap): Initialize it.
10487 (where_is_internal): Check more carefully what is a menu event.
10488
10489 2003-03-14 Richard M. Stallman <rms@gnu.org>
10490
10491 * lread.c (read1): After #!, exit loop on eof.
10492
10493 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10494
10495 * gtkutil.h: Add declaration for xg_frame_cleared.
10496
10497 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
10498
10499 * gtkutil.c (struct xg_last_sb_pos): New structure.
10500 (handle_fixed_child): New function.
10501 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
10502 and force a redraw on them.
10503 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
10504 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
10505 so we can avoid unneeded redraws.
10506 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
10507 and force a redraw on the scroll bar.
10508 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
10509 if xg_last_sb_pos shows the positions are up to date.
10510 (xg_frame_cleared): New function.
10511
10512 2003-03-13 Kenichi Handa <handa@m17n.org>
10513
10514 * coding.c (Fdetect_coding_region): Fix docstring.
10515 (Fdetect_coding_string): Fix docstring.
10516
10517 2003-03-13 Andreas Schwab <schwab@suse.de>
10518
10519 * gtkutil.c: Add prototype for create_menus.
10520
10521 * data.c (long_to_cons): Fix type of top.
10522
10523 * xselect.c (selection_data_to_lisp_data): Use int instead of
10524 long for an integer of size 4.
10525
10526 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
10527 (xg_tool_bar_help_callback): Likewise.
10528
10529 2003-03-12 Andreas Schwab <schwab@suse.de>
10530
10531 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
10532
10533 2003-03-12 Kim F. Storm <storm@cua.dk>
10534
10535 The following changes consolidate the fringe handling from
10536 xterm.c, w32term.c, and macterm.c into xdisp.c.
10537
10538 * xdisp.c: Consolidate fringe handling code here.
10539 (left_bits, right_bits, continued_bits, continuation_bits)
10540 (ov_bits, zv_bits): Define fringe bitmaps.
10541 (fringe_bitmaps): New array holding fringe bitmaps.
10542 (draw_fringe_bitmap): Draw a specific bitmap; call display
10543 specific drawing routine via rif->draw_fringe_bitmap.
10544 (draw_row_fringe_bitmaps): Generic replacement for
10545 x_draw_row_fringe_bitmaps; all callers changed.
10546 (compute_fringe_widths): Generic replacement for
10547 x_compute_fringe_widths; all callers changed.
10548
10549 * dispextern.h (enum fringe_bitmap_type): Define here.
10550 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
10551 (fringe_bitmaps): Declare extern.
10552 (struct redisplay_interface): New member draw_fringe_bitmap.
10553 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
10554
10555 * xterm.c: Remove generic fringe code.
10556 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
10557 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
10558
10559 * w32term.c: Remove generic fringe code.
10560 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
10561 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
10562
10563 * macterm.c: Remove generic fringe code.
10564 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
10565 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
10566
10567 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
10568
10569 * print.c (Fprin1_to_string): Return unibyte string if possible.
10570
10571 2003-03-09 David Kastrup <dak@gnu.org>
10572
10573 * process.c (read_process_output): We have allocated enough space
10574 for readmax and carryover, so actually use the alloted space.
10575
10576 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10577
10578 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
10579 toolkit scrollbar click.
10580
10581 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
10582 for USE_GTK.
10583 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
10584 also.
10585 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
10586 scrollbar and control is pressed, call x_scroll_bar_handle_click.
10587
10588 * gtkutil.h (xg_get_scroll_id_for_window): Declare.
10589
10590 * gtkutil.c (xg_get_scroll_id_for_window): New function.
10591 (xg_tool_bar_item_expose_callback): New function.
10592 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
10593 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
10594 on the tool bar widget.
10595 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
10596 to expose on the tool bar item widgets.
10597
10598 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10599
10600 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
10601 struct image* when deciding to update (struct image* may have been
10602 deleted from the image cache).
10603
10604 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
10605 the event isn't for a frame (i.e. for dialogs).
10606
10607 2003-03-07 Kenichi Handa <handa@m17n.org>
10608
10609 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
10610 composition components reaches the limit, terminate composing.
10611 (COMPOSITION_OK): New macro.
10612 (detect_coding_iso2022): Use it if an escape sequence for
10613 composition is found.
10614 (coding_restore_composition): Adjust the number of composition
10615 components if it is not sane.
10616
10617 2003-03-06 Juanma Barranquero <lektu@terra.es>
10618
10619 * w32term.h (struct w32_display_info): Add xrdb member to support
10620 passing resources via -xrm on Windows.
10621
10622 * w32term.c (w32_make_rdb): New function.
10623 (w32_term_init): Use it to initialize xrdb member of w32_display_info
10624 struct. Delete leftover code.
10625
10626 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
10627 for resources passed on the command line.
10628
10629 * w32reg.c (w32_get_rdb_resource): New function.
10630 (x_get_string_resource): Use it, so resources passed with -xrm
10631 supercede the ones in the registry.
10632
10633 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10634
10635 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
10636 instead of x_top_window_to_frame.
10637
10638 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10639
10640 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
10641 when restarting Emacs.
10642
10643 2003-03-03 Richard M. Stallman <rms@gnu.org>
10644
10645 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
10646 to run kill-buffer-query-functions.
10647 (Qkill_buffer_query_functions): New var.
10648 (syms_of_buffer): Init and staticpro it.
10649
10650 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10651
10652 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
10653
10654 2003-02-25 Kim F. Storm <storm@cua.dk>
10655
10656 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
10657 If centering point failed to make whole line visible and vscroll
10658 is non-zero, disable vscroll and try centering point again.
10659
10660 * lread.c (read1): Accept `single space' syntax like (? x).
10661
10662 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10663
10664 * keyboard.c (cancel_hourglass_unwind): Surround with
10665 #ifdef HAVE_X_WINDOWS
10666
10667 2003-02-25 Kenichi Handa <handa@m17n.org>
10668
10669 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
10670 process only when "subprocesses" is defined.
10671
10672 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
10673
10674 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
10675
10676 2003-02-24 Juanma Barranquero <lektu@terra.es>
10677
10678 * callint.c (fix_command): Declare as static void and move before
10679 Fcall_interactively.
10680
10681 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
10682 (syms_of_xdisp): Don't initialize Qwhen.
10683
10684 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10685
10686 * keyboard.c (cancel_hourglass_unwind): New function.
10687 (command_loop_1): Cancel hourglass with unwind-protect.
10688
10689 2003-02-23 Richard M. Stallman <rms@gnu.org>
10690
10691 * callint.c (fix_command): New subroutine, from Fcall_interactively.
10692 Detect (when ... (region-beginning)) etc.
10693 (Fcall_interactively): Call fix_command.
10694 (Qif, Qwhen): New variables.
10695 (syms_of_callint): Init and staticpro them.
10696
10697 * regex.c (print_partial_compiled_pattern): Output to stderr.
10698
10699 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
10700
10701 * dired.c (directory_files_internal): Don't expand directory.
10702 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
10703 instead. From Lars Hansen <larsh@math.ku.dk>.
10704
10705 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
10706
10707 * fns.c (string_to_multibyte): Remove unused var i.
10708 (Flanginfo): Fix int/Lisp_Object mixup.
10709 (void_call2): New fun.
10710 (Fmap_char_table): Use it in place of call2.
10711
10712 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
10713
10714 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
10715
10716 * keymap.c (copy_keymap_1): Make it static.
10717
10718 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
10719
10720 2003-02-22 David Ponce <david@dponce.com>
10721
10722 * lread.c (Fload): Don't check STRING_MULTIBYTE.
10723
10724 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10725
10726 * process.h: Removed subtty field from struct Lisp_Process.
10727
10728 * process.c (create_process): Remove setting of subtty.
10729 (emacs_get_tty_pgrp): New function.
10730 (Fprocess_running_child_p, process_send_signal):
10731 Call emacs_get_tty_pgrp instead of ioctl.
10732 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
10733
10734 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
10735
10736 * keymap.c (Fdefine_key): Doc fix.
10737
10738 2003-02-21 Juanma Barranquero <lektu@terra.es>
10739
10740 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
10741
10742 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
10743 POLLING_PROBLEM_IN_SELECT.
10744
10745 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
10746 Delete #undef of POLLING_PROBLEM_IN_SELECT.
10747
10748 * s/hpux10-20.h: New file.
10749
10750 * process.c (wait_reading_process_input):
10751 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
10752
10753 2003-02-20 Kenichi Handa <handa@m17n.org>
10754
10755 * fontset.c (check_fontset_name): If NAME is nil, return the
10756 default fontset.
10757 (override_font_info): New function.
10758 (Fset_fontset_font): Document that NAME nil means the default fontset.
10759 (Ffontset_info): If FONTSET is not the default fontset, merge
10760 FONTSET onto the copy of the default fontset, and work on that
10761 copy. Document that NAME nil means the default fontset.
10762 (Ffontset_font): Document that NAME nil means the default fontset.
10763
10764 * process.c (setup_process_coding_systems): If the process's
10765 in/out descriptor is -1, do nothing.
10766
10767 2003-02-19 Andreas Schwab <schwab@suse.de>
10768
10769 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
10770 Add prototypes.
10771
10772 2003-02-19 Kenichi Handa <handa@m17n.org>
10773
10774 * xfaces.c (try_alternative_families): Try all scalable fonts if
10775 Vscalable_fonts_allowed is not Qt.
10776
10777 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10778
10779 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
10780
10781 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10782
10783 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
10784 names.
10785
10786 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
10787 (sorted_font_list): Move allocation of struct font_name to
10788 x_face_list_fonts.
10789 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
10790 (Fx_list_fonts): Set maxnames to -1 to get all font names.
10791
10792 2003-02-18 Kim F. Storm <storm@cua.dk>
10793
10794 * lread.c (read1): Fix last change.
10795 "`" is not always special. Allow "?" after a character constant.
10796
10797 2003-02-18 Andrew Choi <akochoi@shaw.ca>
10798
10799 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
10800
10801 2003-02-18 Andreas Schwab <schwab@suse.de>
10802
10803 * window.c (window_scroll_pixel_based): Move outside a
10804 multi-glyph character before setting new window start.
10805
10806 * xdisp.c (in_display_vector_p): New function.
10807 * dispextern.h (in_display_vector_p): Declare.
10808
10809 2003-02-18 Kim F. Storm <storm@cua.dk>
10810
10811 * lread.c (read1): Fix and relax read syntax.
10812 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
10813 Only recognize "," after dotted-pair dot if inside backquote.
10814 Never include "`" or "," (inside backquote) in a symbol.
10815 Allow dotted-pair dot after a character constant.
10816 Allow "`" and "," (inside backquote) after a character constant.
10817
10818 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10819
10820 * gtkutil.c (xg_tool_bar_expose_callback): New function.
10821 (xg_create_tool_bar): Force style of tool bar to be horizontal with
10822 icons. Set name of tool bar to emacs-toolbar.
10823 (update_frame_tool_bar): Connect expose event to
10824 xg_tool_bar_expose_callback.
10825
10826 2003-02-17 Richard M. Stallman <rms@gnu.org>
10827
10828 * keyboard.c (this_command_key_count_reset): New variable.
10829 Initiatize to 0 where this_command_key_count is set.
10830 (read_char): Save and restore this_command_key_count_reset
10831 around input method code.
10832 (read_char): If this_command_key_count_reset, echo reread commands.
10833 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
10834
10835 2003-02-17 Kenichi Handa <handa@m17n.org>
10836
10837 * fns.c (string_to_multibyte): Always return a multibyte string.
10838
10839 2003-02-16 Jason Rumney <jasonr@gnu.org>
10840
10841 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
10842 Negative max_fonts parameter means list all.
10843
10844 2003-02-14 Dave Love <fx@gnu.org>
10845
10846 * fns.c (Flanginfo): Doc fix.
10847
10848 2003-02-13 Kim F. Storm <storm@cua.dk>
10849
10850 * lread.c (read_escape): Interpret \s as a SPACE character, except
10851 for \s-X in a character constant which still is the super modifier.
10852 (read1): Signal an `invalid read syntax' error if a character
10853 constant is immediately followed by a digit or symbol character.
10854
10855 * search.c (Fmatch_data): Doc fix. Explicitly state that
10856 match-data is undefined if last search failed.
10857
10858 * keymap.c (Fcommand_remapping): Rename from Fremap_command.
10859 All uses changed.
10860
10861 2003-02-12 Juanma Barranquero <lektu@terra.es>
10862
10863 * eval.c (Fdefmacro): Fix typo.
10864
10865 2003-02-12 Kim F. Storm <storm@cua.dk>
10866
10867 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
10868 macro is a string, convert meta modifiers in string when copying
10869 the string into a vector.
10870
10871 2003-02-11 Kim F. Storm <storm@cua.dk>
10872
10873 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
10874
10875 2003-02-11 Kenichi Handa <handa@m17n.org>
10876
10877 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
10878
10879 2003-02-10 Kim F. Storm <storm@cua.dk>
10880
10881 * process.c: Doc fixes.
10882 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
10883
10884 2003-02-10 Kenichi Handa <handa@m17n.org>
10885
10886 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
10887
10888 * process.c (QCfilter_multibyte): New variable.
10889 (setup_process_coding_systems): New function.
10890 (Fset_process_buffer, Fset_process_filter):
10891 Call setup_process_coding_systems.
10892 (Fstart_process): Initialize the member `filter_multibyte' of
10893 struct Lisp_Process.
10894 (create_process): Call setup_process_coding_systems.
10895 (Fmake_network_process): New keyward `:filter-multibyte'.
10896 Initialize the member `filter_multibyte' of struct Lisp_Process.
10897 Call setup_process_coding_systems.
10898 (server_accept_connection): Call setup_process_coding_systems.
10899 (read_process_output): If the process has a filter, decide the
10900 multibyteness of a string to given to the filter by
10901 `filter_multibyte' member of the process. If the process doesn't
10902 have a filter and the result of conversion is unibyte, use
10903 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
10904 multibyte form.
10905 (Fset_process_coding_system): Call setup_process_coding_systems.
10906 (Fset_process_filter_multibyte): New function.
10907 (Fprocess_filter_multibyte_p): New function.
10908 (syms_of_process): Intern and staticpro QCfilter_multibyte.
10909 Defsubr Sset_process_filter_multibyte and
10910 Sprocess_filter_multibyte_p.
10911
10912 * process.h (struct Lisp_Process): New member filter_multibyte.
10913
10914 * lisp.h (setup_process_coding_systems): Add prototype.
10915
10916 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
10917 process, update coding systems for the process.
10918
10919 2003-02-09 Kenichi Handa <handa@m17n.org>
10920
10921 * fns.c (string_to_multibyte): New function.
10922 (Fstring_to_multibyte): New function.
10923 (syms_of_fns): Defsubr it.
10924
10925 2003-02-08 Andreas Schwab <schwab@suse.de>
10926
10927 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
10928 instead of the substitution.
10929
10930 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10931
10932 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
10933
10934 * xmenu.c (menu_position_func): Adjust menu popup position so that
10935 the menu is fully visible.
10936
10937 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10938
10939 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
10940 (x_make_frame_invisible, x_wm_set_icon_position):
10941 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
10942
10943 * xfns.c (x_set_name, x_set_title): Ditto.
10944
10945 2003-02-04 Richard M. Stallman <rms@gnu.org>
10946
10947 * keyboard.c (echo_now): Update before_command_echo_length.
10948 (Freset_this_command_lengths): Reset this_command_key_count etc.
10949 immediately rather than arranging to do it later.
10950 (before_command_key_count_1, before_command_echo_length_1)
10951 (before_command_restore_flag): Vars deleted.
10952 (add_command_key): Don't handle before_command_restore_flag.
10953 (read_char, record_menu_key): Don't update before_command_key_count or
10954 before_command_echo_length.
10955 (read_char): Don't handle before_command_restore_flag.
10956
10957 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
10958 in direct-output clauses if it wouldn't be called in the ordinary case.
10959
10960 2003-02-04 Kim F. Storm <storm@cua.dk>
10961
10962 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
10963
10964 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10965
10966 * gtkutil.c (remove_from_container): Copying list is not needed.
10967 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
10968 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
10969 on list returned from gtk_container_get_children to avoid memory leak.
10970
10971 2003-02-01 Jason Rumney <jasonr@gnu.org>
10972
10973 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
10974 local malloc.
10975 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
10976 definitions in xpm.h.
10977 (init_xpm_functions): New function.
10978 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
10979 (init_external_image_libraries): Try to load libXpm.dll.
10980
10981 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
10982 timestamp.
10983
10984 2003-01-31 Dave Love <fx@gnu.org>
10985
10986 * syntax.c (Fskip_chars_forward)
10987 (open-paren-in-column-0-is-defun-start): Doc fix.
10988
10989 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
10990
10991 * fileio.c: Support // at start of name for Cygwin (just added proper
10992 preprocessor tests).
10993
10994 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
10995
10996 * Makefile.in: Use @EXEEXT@ for Cygwin.
10997
10998 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
10999
11000 * s/cygwin.h: Added for Cygwin port.
11001
11002 2003-01-31 Juanma Barranquero <lektu@terra.es>
11003
11004 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
11005 when including gif_lib.h.
11006 (init_gif_functions, init_tiff_functions): New functions.
11007 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
11008 Windows. Disable color table lookups. Call library functions
11009 through pointers determined at runtime.
11010 (init_external_image_libraries): Try to load libungif.dll and
11011 libtiff.dll.
11012
11013 2003-01-31 Kenichi Handa <handa@m17n.org>
11014
11015 * xdisp.c (SKIP_GLYPHS): New macro.
11016 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
11017
11018 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11019
11020 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
11021
11022 2003-01-30 Dave Love <fx@gnu.org>
11023
11024 * alloc.c (Vgc_elapsed, gcs_done): New variables.
11025 (Fgarbage_collect): Use them.
11026 (init_alloc, syms_of_alloc): Set them up.
11027
11028 2003-01-30 Juanma Barranquero <lektu@terra.es>
11029
11030 * w32fns.c (init_external_image_libraries): Add missing operator.
11031
11032 2003-01-29 Jason Rumney <jasonr@gnu.org>
11033
11034 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
11035 an alternative name for jpeg.dll.
11036
11037 2003-01-29 Kenichi Handa <handa@m17n.org>
11038
11039 * xdisp.c (set_cursor_from_row): Pay attention to string display
11040 properties.
11041
11042 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
11043
11044 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
11045 <escape>.
11046 (keycode_to_xkeysym_table): Reformat and add more comments.
11047 (XTread_socket): Drop special case for backspace.
11048
11049 2003-01-28 Andrew Choi <akochoi@shaw.ca>
11050
11051 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
11052 values in old-style RGB specs.
11053
11054 2003-01-27 Juanma Barranquero <lektu@terra.es>
11055
11056 * w32fns.c (init_external_image_libraries): Try alternate names for the
11057 jpeg dll.
11058
11059 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11060
11061 * gtkutil.c (create_dialog, xg_separator_p)
11062 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
11063 before calling strcmp or strlen.
11064
11065 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11066
11067 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
11068 and handle image load failure.
11069
11070 2003-01-26 Jason Rumney <jasonr@gnu.org>
11071
11072 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
11073 New functions.
11074 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
11075 Disable color table lookups. Call jpeg library functions
11076 through pointers determined at runtime.
11077 (init_external_image_libraries): Try to load jpeg.dll.
11078
11079 2003-01-25 Richard M. Stallman <rms@gnu.org>
11080
11081 * lisp.h: Declare format2 instead of format1.
11082
11083 * fileio.c (barf_or_query_if_file_exists):
11084 Call format2 instead of format1.
11085
11086 * editfns.c (format2): New function, replaces format1
11087 but takes exactly two Lisp Objects as format args.
11088
11089 * buffer.c (Fkill_buffer): Call format2 instead of format1.
11090
11091 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11092
11093 * xterm.h: Change to return value of x_dispatch_event to int.
11094
11095 * xterm.c (x_filter_event): New function.
11096 (event_handler_gdk, XTread_socket): Call x_filter_event.
11097 (x_dispatch_event): Change to return value of finish.
11098 (event_handler_gdk): Use return value from x_dispatch_event.
11099
11100 * xfns.c (x_window): Call create_frame_xic for GTK version to
11101 initialize input methods.
11102
11103 * gtkutil.h: Add (void) prototypes.
11104
11105 * gtkutil.c (create_menus): Remove code that puts the help menu to
11106 the right.
11107
11108 2003-01-25 Jason Rumney <jasonr@gnu.org>
11109
11110 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
11111 [HAVE_PNG]: Sync with xfns.c version.
11112 (png_load): Adjust colors for Windows. Use Windows
11113 bitmaps. Disable color table lookups.
11114 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
11115 (init_png_functions): New function.
11116 (png_read_from_memory, png_load): Call png library functions
11117 through pointers determined at runtime.
11118 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
11119 (init_external_image_libraries): New function.
11120 (init_xfns): Call it.
11121
11122 2003-01-24 Andreas Schwab <schwab@suse.de>
11123
11124 * minibuf.c (Fminibuffer_message): Verify type of parameter.
11125
11126 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11127
11128 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
11129 of static initializer.
11130
11131 2003-01-24 Dave Love <fx@gnu.org>
11132
11133 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
11134 architectures.
11135
11136 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
11137 Use __alignof__.
11138
11139 2003-01-24 Kenichi Handa <handa@m17n.org>
11140
11141 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
11142 It it is nonzero, don't pretend that an invisible area doesn't exist.
11143 (command_loop_1): Call adjust_point_for_property with proper
11144 second arg.
11145
11146 2003-01-22 Jason Rumney <jasonr@gnu.org>
11147
11148 Sync changes with xterm.c and xfns.c.
11149
11150 * w32term.c (x_draw_glyph_string_foreground)
11151 (x_draw_composite_glyph_string_foreground): Implement overstriking.
11152
11153 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
11154 phys_cursor's hpos is overwritten. This is still not completely
11155 correct, as it doesn't really make sense to use hpos at all to
11156 get the cursor glyph (as that is relative to the width of the
11157 characters on the line, which may have changed during the update).
11158
11159 * w32term.c (notice_overwritten_cursor): Handle the special case
11160 of the cursor being in the first blank non-text line at the
11161 end of a window.
11162
11163 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
11164 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
11165 Compute from the x position returned by x_draw_glyphs.
11166
11167 (x_display_and_set_cursor): Don't set phys_cursor_width here,
11168 except for NO_CURSOR and system caret, to make phys_cursor_width
11169 contain what its name suggests.
11170 (notice_overwritten_cursor): Consider the cursor image erased if
11171 the output area intersects the cursor image in y-direction.
11172
11173 * w32term.c (note_mode_line_or_margin_highlight): Rename from
11174 note_mode_line_highlight and extend.
11175
11176 * w32term.c (last_window): New variable.
11177 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
11178 (note_mouse_movement): Remove reimplemented code in #if 0.
11179
11180 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
11181 not update_mode_lines, and always set it to 1.
11182
11183 2003-01-21 Jason Rumney <jasonr@gnu.org>
11184
11185 * w32fns.c (IDC_HAND): Define it if system headers don't.
11186
11187 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
11188
11189 * w32term.h (struct w32_output): New member hand_cursor.
11190 (WM_EMACS_SETCURSOR): New message definition.
11191
11192 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
11193 function w32_define_cursor.
11194 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
11195 position, change member name output_data.x to output_data.w32 and
11196 add function w32_define_cursor.
11197 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
11198 and change member name output_data.x to output_data.w32.
11199 (w32_initialize_display_info):
11200 Setup dpyinfo->vertical_scroll_bar_cursor.
11201
11202 * w32fns.c (Vx_hand_shape): New variable.
11203 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
11204 WM_EMACS_SETCURSOR.
11205 (x-create-frame): Setup Cursor types.
11206
11207 2003-01-21 David Ponce <david@dponce.com>
11208
11209 * w32term.c (w32_encode_char): For DIM=1 charset, set
11210 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
11211 x_encode_char change by Kenichi Handa <handa@m17n.org> on
11212 2002-09-30.)
11213 (w32_draw_relief_rect): Declare all args.
11214 (w32_define_cursor): New.
11215
11216 * w32fns.c (w32_load_cursor): New function.
11217 (w32_init_class): Use it.
11218 (x_put_x_image): Declare all args.
11219
11220 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk>
11221
11222 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
11223
11224 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11225
11226 * gtkutil.c: Must include stdio.h before termhooks.h
11227
11228 2003-01-21 Dave Love <fx@gnu.org>
11229
11230 * alloc.c (Fgc_status): Print zombie list.
11231 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
11232 Fix assignment of zombies.
11233 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
11234 Don't take car of non-cons.
11235
11236 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
11237
11238 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
11239
11240 2003-01-20 David Ponce <david@dponce.com>
11241
11242 * w32menu.c (digest_single_submenu): Declare all args.
11243
11244 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
11245 changes in xmenu.c:
11246
11247 (parse_single_submenu): Use individual keymap's prompt
11248 string as pane name, if there is one.
11249 (set_frame_menubar): Save menu_items_n_panes from each call to
11250 parse_single_submenu and use it when calling digest_single_submenu.
11251
11252 2003-01-20 Steven Tamm <steventamm@mac.com>
11253
11254 * macterm.c (XTread_socket): Check for valid, visible window
11255 before sending a scroll-wheel event.
11256
11257 2003-01-20 Richard M. Stallman <rms@gnu.org>
11258
11259 * xdisp.c (redisplay_window): If mini window's buffer is not
11260 a minibuffer, then redisplay it like other windows.
11261
11262 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11263
11264 * gtkutil.c (xg_create_frame_widgets): Check if there is an
11265 external tool bar before setting tool bar height.
11266
11267 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11268
11269 * xterm.c (handle_one_xevent): Surround popup_activated
11270 with #ifdef:s for non-toolkit version.
11271
11272 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
11273 (gtkutil.o): New file.
11274 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
11275 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
11276
11277 * gtkutil.c: New file for GTK version.
11278
11279 * gtkutil.h: New file for GTK version.
11280
11281 * xterm.h: Add xt_or_gtk_widget.
11282 Include gtk files for USE_GTK.
11283 (struct x_output): Add toolbar_height.
11284 (struct x_output): Add GTK widgets and Gdk size_hints.
11285 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
11286 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
11287 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
11288
11289 * xterm.c: Include gtkutil.h for USE_GTK.
11290 (free_frame_menubar): Declare extern void for USE_GTK.
11291 (note_mouse_highlight): Check popup_activated for USE_GTK.
11292 (xt_action_hook): Don't compile if USE_GTK.
11293 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
11294 (xg_scroll_callback): New function.
11295 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
11296 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
11297 for USE_GTK.
11298 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
11299 xg_show_scroll_bar for USE_GTK.
11300 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
11301 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
11302 (event_handler_gdk): New function for USE_GTK.
11303 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
11304 (handle_one_xevent): Make sure widget is mapped before
11305 calling x_real_positions for USE_GTK.
11306 (XTread_socket): Add GTK event loop for USE_GTK.
11307 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
11308 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
11309 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
11310 (x_iconify_frame): Add code for USE_GTK.
11311 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
11312 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
11313 is in gtkutil.c.
11314 (x_term_init): Add initialization for GTK.
11315 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
11316
11317 * xmenu.c: Include gtkutil.h for USE_GTK.
11318 (Fx_popup_menu): Use current position if x and y is NIL.
11319 (single_menu_item, single_menu_item, Fx_popup_dialog):
11320 Check for USE_GTK.
11321 (popup_widget_loop): New function for USE_GTK.
11322 (x_activate_menubar): Add code for USE_GTK.
11323 (popup_activate_callback, popup_deactivate_callback)
11324 (menu_highlight_callback, menubar_selection_callback):
11325 Add USE_GTK versions.
11326 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
11327 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
11328 (free_frame_menubar): Only compile if not USE_GTK. GTK version
11329 is in gtkutil.c.
11330 (popup_selection_callback): New version for USE_GTK.
11331 (create_and_show_popup_menu): New fuction, one USE_GTK version and
11332 one USE_X_TOOLKIT version.
11333 (xmenu_show): Call create_and_show_popup_menu.
11334 (dialog_selection_callback): New version for USE_GTK.
11335 (create_and_show_dialog): New fuction, one USE_GTK version and
11336 one USE_X_TOOLKIT version.
11337 (xdialog_show): Call create_and_show_dialog.
11338
11339 * xfns.c: Include gtkutil for USE_GTK.
11340 (x_window_to_frame, x_any_window_to_frame)
11341 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
11342 (x_top_window_to_frame): Add code for USE_GTK.
11343 (x_set_background_color): Call xg_set_background_color for GTK.
11344 (x_set_menu_bar_lines): Check for USE_GTK.
11345 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
11346 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
11347 (x_window): Call xg_create_frame_widgets for USE_GTK.
11348 (Fx_create_frame): Check for USE_GTK
11349 (Fx_file_dialog): New implementation for USE_GTK.
11350
11351 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
11352 (update_menu_bar): Add check for USE_GTK.
11353 (update_tool_bar): Add check for USE_GTK and external tool bar.
11354 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
11355 (redisplay_internal): Add check for USE_GTK and popup_activated.
11356 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
11357 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
11358 (display_menu_bar): Add check for USE_GTK
11359
11360 * lisp.h (Vx_resource_name): Declare extern.
11361
11362 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
11363 for USE_GTK.
11364 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
11365
11366 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
11367 (FRAME_EXTERNAL_TOOL_BAR): New macro.
11368 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
11369
11370 * fileio.c (Fread_file_name): Add check for USE_GTK.
11371
11372 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
11373 Add check for USE_GTK.
11374
11375 * config.in: Added HAVE_GTK
11376
11377 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
11378
11379 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
11380
11381 * charset.h (Funibyte_char_to_multibyte): Export.
11382
11383 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11384
11385 * xmenu.c (mouse_position_for_popup): New function.
11386 (Fx_popup_menu): Call mouse_position_for_popup for X and
11387 mouse_position_hook for others.
11388
11389 2003-01-17 Kim F. Storm <storm@cua.dk>
11390
11391 * editfns.c (Finsert): Mention `string-make-multibyte' and
11392 `string-as-multibyte' in doc string.
11393
11394 2003-01-17 Kenichi Handa <handa@m17n.org>
11395
11396 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
11397
11398 * editfns.c (Fformat): Convert an unibyte char argument that is
11399 formatted by "%c" to multibyte if the total result must be a
11400 multibyte string.
11401
11402 2003-01-16 Kim F. Storm <storm@cua.dk>
11403
11404 * process.c (set-process-filter): Document unibyte/multibyte-ness
11405 of string argument.
11406
11407 2003-01-16 Kenichi Handa <handa@m17n.org>
11408
11409 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
11410
11411 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
11412 (re_search_2): Likewise.
11413
11414 2003-01-15 Kenichi Handa <handa@m17n.org>
11415
11416 * xdisp.c (message_dolog): Fix bug of the case that *Message*
11417 buffer is unibyte.
11418
11419 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
11420
11421 * fns.c (Fsubstring): Clarify doc string.
11422
11423 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
11424 (Fprevious_char_property_change)
11425 (Fnext_single_char_property_change)
11426 (Fprevious_single_char_property_change, Fnext_property_change)
11427 (Fnext_single_property_change, Fprevious_property_change)
11428 (Fprevious_single_property_change, Fadd_text_properties)
11429 (Fput_text_property, Fset_text_properties)
11430 (Fremove_text_properties, Fremove_list_of_text_properties)
11431 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
11432
11433 2003-01-14 Kim F. Storm <storm@cua.dk>
11434
11435 * process.h (struct Lisp_Process): New member plist replaces old
11436 member private_vars. All uses changed.
11437
11438 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
11439 (QCplist): Rename from QCvars. Change all uses.
11440 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
11441 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
11442 (syms_of_process): Intern, staticpro, defsubr these.
11443 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
11444
11445 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
11446
11447 * m/delta.h: Remove (obsolete).
11448
11449 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
11450
11451 * fileio.c (Fdelete_directory, Fdelete_file): Document the
11452 behaviour in front of symlinks.
11453 (Fdelete_file): Raise an error on directories.
11454
11455 2003-01-13 Dave Love <fx@gnu.org>
11456
11457 * fns.c (Freverse): Use QUIT.
11458
11459 2003-01-13 Richard M. Stallman <rms@gnu.org>
11460
11461 * minibuf.c (minibuffer_completion_contents):
11462 Error if point is inside prompt.
11463
11464 * keyboard.c (command_loop_1): Don't redisplay directly
11465 if there's a post-command-hook.
11466
11467 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
11468 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
11469
11470 2003-01-12 Kim F. Storm <storm@cua.dk>
11471
11472 * process.h (struct Lisp_Process): New member private_vars.
11473
11474 * process.c (QCvars): New variable.
11475 (syms_of_process): Intern and staticpro it.
11476 (Fset_process_contact): Removed function.
11477 (Fprocess_variable, Fset_process_variable): New functions.
11478 (syms_of_process): Defsubr them.
11479 (Fstart_process): Initialize private_vars plist to nil.
11480 (Fmake_network_process): New arg :vars to setup the private
11481 variables for new network process.
11482 (server_accept_connection): Copy server's private variables to
11483 client process.
11484
11485 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
11486 crashes). Code rewritten and simplified. Now directly aligns the
11487 pointer and recalculates pure_bytes_used, rather than aligning the
11488 size and adjusting the pointer.
11489
11490 2003-01-11 Kim F. Storm <storm@cua.dk>
11491
11492 * process.c (Fset_process_contact): New function.
11493 (syms_of_process): defsubr it.
11494 (make-network-process): Update doc.
11495
11496 2003-01-10 Andreas Schwab <schwab@suse.de>
11497
11498 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
11499 Reported by Berthold Gunreben <b.gunreben@web.de>.
11500
11501 2003-01-10 Dave Love <fx@gnu.org>
11502
11503 * composite.c (syms_of_composite): Make composition_hash_table weak.
11504
11505 2003-01-09 Kim F. Storm <storm@cua.dk>
11506
11507 * process.c (Fmake_network_process): Convert new port number
11508 to host byte order for `:service t' case. From Mario Lang.
11509
11510 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11511
11512 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
11513 instead of XtAppProcessEvent.
11514
11515 * xterm.c (handle_one_xevent): New function.
11516 (x_dispatch_event): New function.
11517 (XTread_socket): Call handle_one_xevent.
11518
11519 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
11520
11521 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
11522 call XQueryPointer to get coordinates.
11523 (popup_get_selection): Do not set popup_activated_flag to zero,
11524 let popup_deactivate_callback do that. Needed for Motif.
11525 Call x_dispatch_event instead of XtDispatchEvent.
11526 (xmenu_show): Calculate root coordinate from frame top/left position.
11527
11528 2003-01-08 Kim F. Storm <storm@cua.dk>
11529
11530 * process.c (server_accept_connection): Fix recording of new
11531 connection's local address in :local property of contact info.
11532 (Fmake_network_process): Record local network address for new
11533 client processes in :local property of contact info.
11534 (format-network-address): Add arg OMIT-PORT. Change callers.
11535
11536 2003-01-07 Dave Love <fx@gnu.org>
11537
11538 * Makefile.in (fns.o): Depend on coding.h.
11539
11540 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
11541
11542 * minibuf.c (Fread_variable): Doc fix.
11543
11544 * eval.c (Fuser_variable_p): Doc change. For custom variables,
11545 use the same test as for custom-variable-p.
11546
11547 2003-01-05 Richard M. Stallman <rms@gnu.org>
11548
11549 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
11550 Count LAST_LINE_MISFIT in scroll margin for end of window.
11551 Move label too_near_end before setting SCROLL_MARGIN_POS.
11552 Set LAST_LINE_MISFIT before jumping there.
11553
11554 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
11555 scroll_conservatively case. If scrolling that much doesn't change
11556 STARTP, move it down one line.
11557
11558 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
11559 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
11560
11561 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
11562 selected frame.
11563
11564 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
11565 (syms_of_keymap): Staticpro them.
11566 (Fapropos_internal): Initialize them and clear them out.
11567 Don't GCPRO them.
11568
11569 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
11570 Doc fixes.
11571
11572 * lisp.h: New misc type Lisp_Save_Value.
11573 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
11574 (XSAVE_VALUE): New macro.
11575 (struct Lisp_Save_Value): New data type.
11576 (union Lisp_Misc): Add u_save_value alternative.
11577 (make_save_value): Declare.
11578
11579 * alloc.c (make_save_value): New function.
11580
11581 * xterm.c (x_catch_errors): Save dpy using make_save_value.
11582 (x_catch_errors_unwind): Call XSync.
11583
11584 2003-01-01 Richard M. Stallman <rms@gnu.org>
11585
11586 * window.c (window_scroll_pixel_based): Partially undo last change.
11587
11588 * keyboard.c (command_loop_1): Call adjust_point_for_property
11589 in direct action cases for Qforward_char and Qbackward_char.
11590 Set already_adjusted so it won't be done twice.
11591
11592 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk>
11593
11594 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
11595 type definition of size_t.
11596
11597 2003-01-02 Steven Tamm <steventamm@mac.com>
11598
11599 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
11600 distinguish Carbon GUI builds from X11 builds on darwin.
11601
11602 2002-12-30 Steven Tamm <steventamm@mac.com>
11603
11604 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
11605 to default to t.
11606
11607 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
11608
11609 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
11610
11611 2002-12-28 Steven Tamm <steventamm@mac.com>
11612
11613 * Makefile.in (macosx-bundle): Fix Mac OS X/Carbon port to
11614 allow building in a different directory than source. Uses some
11615 GNU Make extensions, but there is no other make on Mac OS X.
11616
11617 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
11618
11619 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
11620 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
11621 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
11622 (Fstring_to_number): Mention the returned value in the doc strings.
11623
11624 2002-12-23 Richard M. Stallman <rms@gnu.org>
11625
11626 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
11627 <scroll-down-aggressively>: Doc fix.
11628
11629 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
11630 string as pane name, if there is one.
11631 (set_frame_menubar): Save menu_items_n_panes from each call to
11632 parse_single_submenu and use it when calling digest_single_submenu.
11633
11634 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
11635 Don't try to make last line fully visible if it is past end of window.
11636
11637 2002-12-22 Steven Tamm <steventamm@mac.com>
11638
11639 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
11640 (mac_menu_show): Add support for hierarchical popup menus.
11641 (add_menu_item): Remove indentation support.
11642 (fill_submenu, fill_menu): Create hierarchical menus
11643 instead of using indentation.
11644
11645 2002-12-22 Richard M. Stallman <rms@gnu.org>
11646
11647 * xdisp.c (try_cursor_movement): Don't call try_window here.
11648 (redisplay_window): Never redisplay minibuffer when inactive.
11649
11650 * window.c (select_window_1): Undo 9/21 change.
11651
11652 2002-12-22 Steven Tamm <steventamm@mac.com>
11653
11654 * macterm.c (XTread_socket): Call KeyTranslate for control and
11655 meta to deal correctly shifted non-alpha characters, like C-S-5
11656 being treated like C-%. Do not look for shift key to deal
11657 with masking off control-key with mac-reverse-ctrl-meta.
11658
11659 2002-12-21 Richard M. Stallman <rms@gnu.org>
11660
11661 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
11662 If it is non-nil, run timers. Use an unwind-protect to requeue
11663 the events that were read ahead.
11664 (popup_get_selection_unwind): New subroutine.
11665 (popup_get_selection_queue): File-scope variable now holds that queue.
11666 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
11667 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
11668 Use an unwind-protect to pop down the dialog box.
11669 (xdialog_show_unwind): New subroutine implements that.
11670
11671 * xdisp.c (row_containing_pos): Change exit test using last_y.
11672 (try_window_id): Abort if row_containing_pos returns null.
11673
11674 * lread.c (load_error_handler): New function.
11675 (Fload): Handle errors in Fsubstitute_in_file_name.
11676 Don't expect Fsignal to return.
11677
11678 * eval.c: Errors and throws work right with interrupt blocking.
11679 (struct catchtag): New elt interrupt_input_blocked.
11680 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
11681 (internal_catch, Fcondition_case, internal_condition_case)
11682 (internal_condition_case_1, internal_condition_case_2): Save it.
11683 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
11684
11685 * editfns.c (Fformat): Add parens.
11686
11687 * dired.c (file_name_completion): Fix that change.
11688 Delete special quit-handling code; just use QUIT.
11689
11690 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com>
11691
11692 * dired.c (file_name_completion): Close directory on error
11693 just as in directory_files_internal.
11694
11695 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
11696
11697 * window.c (Fset_window_configuration): Set old_point to correct
11698 value when new_current_buffer == current_buffer.
11699
11700 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
11701
11702 Revisited my earlier fix for the following entry in etc/PROBLEMS:
11703 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
11704 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
11705
11706 These changes were in part based upon suggestions made by Peter
11707 'Luna' Runestig [peter@runestig.com].
11708
11709 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token)
11710 (g_b_init_get_token_information, g_b_init_lookup_account_sid)
11711 (g_b_init_get_sid_identifier_authority ): Add several static
11712 global variables.
11713
11714 * w32.c (globals_of_w32): New function. Used to initialize those
11715 global variables that must always be initialized on startup even
11716 when the global variable initialized is non zero. Its primary
11717 purpose at this time is to set the global variables
11718 g_b_init_is_windows_9x, g_b_init_open_process_token,
11719 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
11720 g_b_init_get_sid_identifier_authority to 0 on startup.
11721 Called from main.
11722
11723 * w32.c (is_windows_9x): Perform initialization only if
11724 g_b_init_is_windows_9x is equal to 0. On initialization set
11725 g_b_init_is_windows_9x equal to 1.
11726
11727 * w32.c (open_process_token): Perform initialization only if
11728 g_b_init_open_process_token is equal to 0. On initialization set
11729 g_b_init_open_process_token equal to 1.
11730
11731 * w32.c (get_token_information): Perform initialization only if
11732 g_b_init_get_token_information is equal to 0. On initialization
11733 set g_b_init_get_token_information equal to 1.
11734
11735 * w32.c (lookup_account_sid): Perform initialization only if
11736 g_b_init_lookup_account_sid is equal to 0. On initialization
11737 set g_b_init_lookup_account_sid equal to 1.
11738
11739 * w32.c (get_sid_identifier_authority): Perform initialization
11740 only if g_b_init_get_sid_identifier_authority is equal to 0.
11741 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
11742
11743 * w32fns.c (globals_of_w32fns): New function. Used to initialize
11744 those global variables that must always be initialized on startup
11745 even when the global variable initialized is non zero.
11746 Its primary purpose at this time is to initialize the global variable
11747 track_mouse_event_fn.
11748
11749 * w32fns.c (w32_wnd_proc): Remove initialization of
11750 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
11751
11752 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
11753
11754 * w32menu.c (globals_of_w32menu): New function. Used to
11755 initialize those global variables that must always be initialized
11756 on startup even when the global variable initialized is non zero.
11757 Its primary purpose at this time is to initialize the global
11758 variables get_menu_item_info and set_menu_item_info.
11759
11760 * w32menu.c (initialize_frame_menubar): Remove initialization of
11761 get_menu_item_info and set_menu_item_info.
11762
11763 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
11764
11765 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
11766 Declare them.
11767
11768 * emacs.c (main): Call globals_of_w32 prior to calling
11769 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
11770 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
11771 is defined.
11772
11773 * w32term.c (x_update_window_begin): Fix Windows API error
11774 detected by BoundsChecker. Test to determine if
11775 w32_system_caret_hwnd is NULL prior to attempting to use
11776 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
11777
11778 * w32term.c (x_update_window_end): Fix Windows API error
11779 detected by BoundsChecker. Test to determine if
11780 w32_system_caret_hwnd is NULL prior to attempting to use
11781 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
11782
11783 2002-12-17 Kenichi Handa <handa@m17n.org>
11784
11785 * coding.c (coding_system_require_warning): New variable.
11786 (syms_of_coding): DEFVAR it.
11787
11788 * coding.h (coding_system_require_warning): Extern it.
11789
11790 * fileio.c (choose_write_coding_system): Even if
11791 Vcoding_system_for_write is non-nil, if
11792 coding_system_require_warning is nonzero, call
11793 Vselect_safe_coding_system_function.
11794
11795 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
11796
11797 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
11798 (lisp): Add font-core.
11799
11800 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
11801
11802 * textprop.c (text_read_only): New arg `propval'.
11803 (get_char_property_and_overlay): Remove unused var `next_overlay'.
11804 (verify_interval_modification): Use text_read_only's new arg.
11805
11806 2002-12-13 Kenichi Handa <handa@m17n.org>
11807
11808 * coding.c (Funencodable_char_position): Set pend correctly.
11809
11810 2002-12-12 Jason Rumney <jasonr@gnu.org>
11811
11812 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
11813 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
11814 Be more careful about when help_events are generated.
11815
11816 2002-12-12 Steven Tamm <steventamm@mac.com>
11817
11818 * macterm.c (mac_check_for_quit_char): Correctly set the
11819 modifiers of the event to 0.
11820 * mac.c (sys_select): Duplicate rfds before calling select to
11821 ensure that rfds survive the while loop.
11822
11823 2002-12-11 Kim F. Storm <storm@cua.dk>
11824
11825 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
11826 row_containing_pos returned NULL.
11827
11828 2002-12-10 Steven Tamm <steventamm@mac.com>
11829
11830 * mac.c (sys_read): Fix sys_read to not call select if IO is
11831 non-blocking.
11832 (sys_select): Fix sys_select to not use a timeout larger than
11833 the one given.
11834
11835 2002-12-10 Juanma Barranquero <lektu@terra.es>
11836
11837 * editfns.c (Fformat): Use alloca, not _alloca.
11838
11839 2002-12-09 Richard M. Stallman <rms@gnu.org>
11840
11841 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
11842 as the last thing.
11843
11844 2002-12-09 Dave Love <fx@gnu.org>
11845
11846 * s/sol2-8.h: Removed. (Not necessary.)
11847
11848 2002-12-09 Matthew Swift <swift@alum.mit.edu>
11849
11850 * editfns.c (Fformat): Handle precision in string conversion
11851 specifiers like libc functions do (ie, print at most that many
11852 characters).
11853
11854 2002-12-08 Richard M. Stallman <rms@gnu.org>
11855
11856 * xdisp.c (row_containing_pos): Check more carefully
11857 whether charpos is really in the row before returning it.
11858
11859 2002-12-07 Steven Tamm <steventamm@mac.com>
11860
11861 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
11862
11863 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
11864 each stack frame. This may change as it could be time consuming.
11865
11866 * macterm.c (mac_check_for_quit_char, quit_char_comp)
11867 (init_quit_char_handler, mac_determine_quit_char_modifiers)
11868 (mac_initialize): Add code to check for pressing of quit_char
11869 in the OS event queue.
11870
11871 * mac.c (sys_select): Call mac_check_for_quit_char every second
11872 while blocking on select.
11873
11874 * mac.c (sys_read): Use sys_select to test for input first
11875 before calling read, to allow C-g to break.
11876
11877 2002-12-07 Richard M. Stallman <rms@gnu.org>
11878
11879 * minibuf.c (Fcompleting_read): Doc fix.
11880
11881 * lread.c (syms_of_lread) <load-history>: Doc fix.
11882
11883 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
11884
11885 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
11886 autoload.
11887
11888 * data.c (Fdefalias): Record in load-history redefining an autoload.
11889
11890 * alloca.c: Undo ifdef change accidentally made on 12-04.
11891
11892 2002-12-06 Francesco Potorti` <pot@gnu.org>
11893
11894 * xfns.c (png_load): Avoid double gamma correction for PNG images.
11895
11896 2002-12-04 Richard M. Stallman <rms@gnu.org>
11897
11898 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
11899
11900 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
11901
11902 * alloca.c: Don't use #error.
11903
11904 2002-12-03 Dave Love <fx@gnu.org>
11905
11906 * buffer.c (Qucs_set_table_for_input): New.
11907 (Fget_buffer_create): Use it.
11908 (Qset_buffer_major_mode_hook): Deleted.
11909 (Fset_buffer_major_mode): Revert previous change.
11910 (init_buffer_once): Intern ucs-set-table-for-input.
11911 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
11912 Add &Qucs_set_table_for_input.
11913
11914 2002-12-03 Andreas Schwab <schwab@suse.de>
11915
11916 * callint.c (Fcall_interactively): Use next_event only if less
11917 than key_count.
11918
11919 2002-12-02 Andrew Choi <akochoi@shaw.ca>
11920
11921 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
11922 names to 255 characters.
11923
11924 * macterm.c (XTread_socket): If all frames have been collapsed,
11925 expand the first one before handling drag-and-drop events.
11926
11927 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
11928 which is detected by autoconf.
11929
11930 2002-12-01 Steven Tamm <steventamm@mac.com>
11931
11932 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
11933 offset in two hints table to allow prebinding to be redone and
11934 allow the executable to be stripped.
11935
11936 2002-11-29 Dave Love <fx@gnu.org>
11937
11938 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
11939 already provided.
11940
11941 2002-11-29 Richard M. Stallman <rms@gnu.org>
11942
11943 * xdisp.c (start_display): Check more intelligently for
11944 whether the line is continued.
11945 (move_it_vertically_backward): Clear it->continuation_lines_width.
11946
11947 2002-11-28 Dave Love <fx@gnu.org>
11948
11949 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
11950 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
11951
11952 2002-11-27 Steven Tamm <steventamm@mac.com>
11953
11954 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
11955 more descriptive error output from lread.c:Fload upon most require
11956 cycles during boostrapping.
11957
11958 2002-11-27 Jason Rumney <jasonr@gnu.org>
11959
11960 * fileio.c (Finsert_file_contents): Give a more appropriate error
11961 for files bigger than 2Gb when off_t is 32 bit.
11962
11963 * dired.c (Ffile_attributes): Don't return negative file sizes for
11964 files bigger than 2Gb when off_t is 32 bit.
11965
11966 2002-11-27 Dave Love <fx@gnu.org>
11967
11968 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
11969
11970 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
11971 Test GETPGRP_VOID instead.
11972 [BSD_TERMIOS]: Remove definitions (never used).
11973
11974 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
11975 Don't define.
11976 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
11977
11978 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
11979
11980 2002-11-25 Jason Rumney <jasonr@gnu.org>
11981
11982 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
11983 supported.
11984
11985 2002-11-25 Dave Love <fx@gnu.org>
11986
11987 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
11988
11989 * Makefile.in (TEMACS_LDFLAGS): Update last change.
11990
11991 2002-11-25 Andreas Schwab <schwab@suse.de>
11992
11993 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
11994
11995 2002-11-24 Steven Tamm <steventamm@mac.com>
11996
11997 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
11998 determine the size of pointers alloced in unexed space instead
11999 of using possibly invalid emacs_zone pointers. This fixes the
12000 binary incompatibility problems caused by updates to libSystem.B.
12001
12002 2002-11-24 Richard M. Stallman <rms@gnu.org>
12003
12004 * search.c (Fstring_match): Doc fix.
12005
12006 * callint.c (Fcall_interactively): If a command fails because
12007 `*' detects a read-only buffer, but RECORD_FLAG is set,
12008 record it anyway if the args don't actually do tty input.
12009
12010 2002-11-22 Dave Love <fx@gnu.org>
12011
12012 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
12013
12014 * keyboard.c (interrupt_signal): Provide forward declaration.
12015 (kbd_buffer_store_event): Don't declare interrupt_signal.
12016
12017 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
12018
12019 2002-11-21 Richard M. Stallman <rms@gnu.org>
12020
12021 * eval.c (interactive_p): Skip any number of bytecode
12022 and special form frames, in any order.
12023
12024 2002-11-20 Jason Rumney <jasonr@gnu.org>
12025
12026 * w32fns.c (convert_mono_to_color_image): New function.
12027 (xbm_load, xbm_load_image): Use it when foreground or background
12028 is explicitly set.
12029
12030 2002-11-19 Dave Love <fx@gnu.org>
12031
12032 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
12033
12034 2002-11-18 Jason Rumney <jasonr@gnu.org>
12035
12036 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
12037 (XPutPixel): Swap blue and red.
12038 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
12039 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12040 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
12041 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
12042
12043 2002-11-18 Dave Love <fx@gnu.org>
12044
12045 * m/orion105.h (HAVE_ALLOCA): Don't define.
12046
12047 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
12048
12049 * m/intel386.h: Don't include alloca.h or define alloca.
12050
12051 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
12052 malloc, realloc, calloc.
12053
12054 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
12055 (bcmp): Don't define.
12056
12057 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
12058
12059 * m/amdahl.h: Don't define LIB_STANDARD.
12060
12061 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
12062
12063 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
12064
12065 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
12066 Don't include alloca.h.
12067
12068 * s/aix3-2.h (HAVE_FSYNC): Don't define.
12069
12070 * regex.c (_GNU_SOURCE): Don't define.
12071
12072 * process.c (_GNU_SOURCE): Don't define.
12073
12074 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
12075
12076 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
12077
12078 * s/sol2-8.h: Include sol2-6.h.
12079
12080 2002-11-18 Miles Bader <miles@gnu.org>
12081
12082 * dispextern.h (struct face): Add `overstrike' field.
12083 * xterm.c (x_draw_glyph_string_foreground)
12084 (x_draw_composite_glyph_string_foreground): Implement overstriking.
12085 * xfaces.c (load_face_font): Set `face->overstrike' based on
12086 result from choose_face_font.
12087 (best_matching_font, choose_face_font): Add `needs_overstrike'
12088 argument, and use it to return whether overstriking is desirable
12089 for this face/font combo.
12090 (set_font_frame_param: Pass new argument to choose_face_font.
12091
12092 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
12093
12094 This change is my fix for the following entry in etc/PROBLEMS:
12095 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
12096 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
12097
12098 * w32.c: Added wrapper functions around the win32 API functions
12099 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
12100 GetSidIdentifierAuthority. These wrapper functions serve two
12101 purposes:
12102 1. They ensure that the wrapped function can never be called
12103 when Emacs is running on an operating system on which they are
12104 not supported (Microsoft Windows 95 / 98 / ME).
12105 2. They call the wrapped functions via function pointers rather
12106 than calling them directly. This avoids taking advantage of the
12107 undocumented fact that although these functions are not supported
12108 in the 9x branch of Microsoft Windows, the functions do exist in
12109 the version of advapi32.dll that is found in the 9x branch of
12110 Microsoft Windows.
12111
12112 * w32.c (init_user_info): Replace the calls to the win32 API
12113 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
12114 and GetSidIdentifierAuthority with calls to the newly added
12115 wrapper functions.
12116
12117 * w32.h: Added extern declarations for the following functions:
12118 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
12119 syms_of_w32menu, and void syms_of_fontset.
12120
12121 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
12122 function pointer track_mouse_event_fn in the handler for the
12123 WM_SETFOCUS message.
12124
12125 * w32menu.c (initialize_frame_menubar): Add code to
12126 reinitialize the function pointers set_menu_item_info and
12127 get_menu_item_info.
12128
12129 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
12130
12131 * sound.c: Added a partial implementation of play-sound-internal
12132 for Microsoft Windows. Added various #ifdef / #else / #endif
12133 code blocks to separate the code that will compile under
12134 Microsoft Windows from the code that is specific to Gnu/Linux.
12135 Moved several blocks of code around to make this separation of code
12136 into Windows compatible and Gnu/Linux compatible code blocks easier.
12137
12138 * makefile.w32-in: Include sound.c and link with WinMM.lib.
12139
12140 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
12141 added support for play-sound-internal under Windows would be
12142 included in the build of Emacs.
12143
12144 2002-11-16 Jason Rumney <jasonr@gnu.org>
12145
12146 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
12147
12148 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
12149
12150 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
12151
12152 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
12153 (adjust_point_for_property): Move out of display and invisible even if
12154 we were already inside before (in case a property was added while
12155 we weren't looking). Be more careful when handling invisible props.
12156 Skip invisible text as if it really wasn't there at all.
12157
12158 2002-11-15 Jason Rumney <jasonr@gnu.org>
12159
12160 * w32term.c (x_draw_image_foreground)
12161 (w32_draw_image_foreground_1): Use standard copy and invert
12162 operations to draw images.
12163
12164 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
12165 depth of 1.
12166 (xbm_read_bitmap_data): Invert bits as xbm is read in.
12167 (XPutPixel): Don't invert bits here.
12168
12169 2002-11-15 Jason Rumney <jasonr@gnu.org>
12170
12171 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
12172 (w32_draw_image_foreground_1): Handle image masks.
12173 (x_draw_image_glyph_string): Don't BitBlt transparently.
12174
12175 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
12176 (x_from_xcolors): Adjust RGB values for W32.
12177 (image_background, image_background_transparent)
12178 (postprocess_image, x_to_xcolors, x_disable_image)
12179 (x_build_heuristic_mask): Adapt for W32 and enable.
12180 (x_create_x_image_and_pixmap): Mark images with palettes as such.
12181 (xbm_load): Remove unused variable.
12182
12183 2002-11-14 Richard M. Stallman <rms@gnu.org>
12184
12185 * buffer.c (syms_of_buffer): Doc fix.
12186
12187 2002-11-14 Dave Love <fx@gnu.org>
12188
12189 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
12190
12191 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
12192 * xmenu.c (unuse_menu_items, digest_single_submenu):
12193 * xfns.c (x_put_x_image):
12194 * xdisp.c (message2_nolog, set_message):
12195 * undo.c (record_point):
12196 * terminfo.c (tparam):
12197 * syntax.c (scan_sexps_forward):
12198 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12199 * composite.c (update_compositions):
12200 * cm.c (calccost, cmgoto):
12201 * charset.c (c_string_width): Declare all args (per C99).
12202
12203 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
12204
12205 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
12206 Don't declare.
12207
12208 * emacs.c (main) [!VMS]: Avoid third arg.
12209
12210 * fns.c (Fcopy_sequence): Doc fix.
12211 (Fmap_char_table): Cast `call2'.
12212
12213 2002-11-14 Francesco Potorti` <pot@gnu.org>
12214
12215 * s/sol2-8.h: New file.
12216
12217 2002-11-14 Kim F. Storm <storm@cua.dk>
12218
12219 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
12220 dependency on `risky-local-variable' and the :propertize form.
12221
12222 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
12223
12224 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
12225
12226 * syntax.c (scan_sexps_forward): Undo last patch.
12227 Use a more obvious fix: check eob before updating the syntax table.
12228
12229 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
12230
12231 * syntax.c (scan_sexps_forward): Update syntax table before reading
12232 a char rather than after so we don't update the table past eob.
12233
12234 2002-11-09 Dave Love <fx@gnu.org>
12235
12236 * buffer.c (Fset_buffer_major_mode): Fix last change.
12237
12238 * regex.c (regexec): Fix pmatch declaration.
12239
12240 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
12241
12242 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
12243 to self-inserting characters.
12244 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
12245
12246 * coding.c (Vtranslation_table_for_input): New.
12247 (syms_of_coding): DEFVAR it.
12248
12249 2002-11-08 Juanma Barranquero <lektu@terra.es>
12250
12251 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
12252 window.
12253
12254 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12255
12256 * process.c (Fformat_network_address): Remove unused locals p,
12257 cp, and i.
12258
12259 2002-11-06 Dave Love <fx@gnu.org>
12260
12261 * buffer.c (Qset_buffer_major_mode_hook): New.
12262 (Fset_buffer_major_mode): Use it.
12263
12264 2002-11-06 Richard M. Stallman <rms@gnu.org>
12265
12266 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
12267 and stop_polling.
12268
12269 * process.c (wait_reading_process_input):
12270 Test POLLING_PROBLEM_IN_SELECT, not hpux.
12271 Avoid initialization for auto Lisp_Object var.
12272
12273 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
12274
12275 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
12276
12277 2002-11-05 Richard M. Stallman <rms@gnu.org>
12278
12279 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
12280
12281 * callint.c (Fcall_interactively): New local filter_specs.
12282 (Fcall_interactively): Check for progn as well as let.
12283 Add a gcpro.
12284 (Qprogn): New variable.
12285 (syms_of_callint): Staticpro and init Qprogn.
12286
12287 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
12288
12289 * lread.c (Feval_buffer): Doc fix.
12290
12291 2002-11-04 Dave Love <fx@gnu.org>
12292
12293 * keyboard.c (read_char): Always translate iff
12294 Vkeyboard_translate_table is a char table and c is valid.
12295
12296 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12297 and fix C types.
12298
12299 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
12300
12301 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
12302
12303 * editfns.c (get_pos_property): Don't hardcode Qfield.
12304
12305 * keyboard.c (adjust_point_for_property): Handle `display' prop on
12306 overlays. Also handle `invisible' prop.
12307
12308 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
12309
12310 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
12311 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
12312
12313 2002-11-01 Andreas Schwab <schwab@suse.de>
12314
12315 * editfns.c (Fmessage): Revert last change to properly handle %%.
12316
12317 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
12318
12319 * xmenu.c (unuse_menu_items): New fun.
12320 (menu_items_inuse): New var.
12321 (syms_of_xmenu): Initialize it.
12322 (init_menu_items): Use it to detect re-entrance.
12323 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
12324 (Fx_popup_menu): Remove spurious XSETFRAME.
12325
12326 * editfns.c (find_field): Make an exception for nil fields.
12327
12328 2002-11-01 Dave Love <fx@gnu.org>
12329
12330 * m/gec63.h: Deleted.
12331
12332 2002-10-31 Dave Love <fx@gnu.org>
12333
12334 * xterm.c (XTread_socket): Fix last change.
12335 (xaw_scroll_callback): Cast call_data to long to avoid warning.
12336
12337 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
12338
12339 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
12340
12341 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
12342
12343 * editfns.c (overlays_around, get_pos_property): New funs.
12344 (find_field): Use them.
12345 Also be careful not to modify POS before its last use.
12346 (Fmessage): Don't Fformat if there's nothing to format.
12347
12348 2002-10-30 Dave Love <fx@gnu.org>
12349
12350 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
12351 [HAVE_PTY_H]; Include pty.h.
12352
12353 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
12354
12355 * xterm.c (Qeql): Declare.
12356 (Vx_keysym_table): New.
12357 (syms_of_xterm): Initialize it.
12358 (XTread_socket): Use it. Deal with ASCII keysyms.
12359 (XSetIMValues) [HAVE_X11R6]: Prototype.
12360
12361 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
12362 (lispy_kana_keys): Comment out.
12363 (make_lispy_event) [XK_kana_A]: Comment out.
12364 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
12365 Fix sprintf call.
12366
12367 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
12368 regexp.h change).
12369 (TERMINFO, LIBS_TERMCAP): Define.
12370
12371 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
12372 (bcmp): Define conditional on HAVE_BCMP.
12373 (NO_SIOCTL_H): Don't define.
12374 (TIOCSIGSEND): Don't make conditional on IRIX6.
12375
12376 * s/sol2-5.h: Don't include strings.h.
12377 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
12378
12379 * s/irix6-0.h (IRIX6): Don't define.
12380 (bcopy, bcmp, bzero): Don't undef.
12381
12382 * s/irix6-5.h: Don't include strings.h.
12383 (IRIX6): Don't define.
12384 (bcopy, bcmp, bzero): Don't undef.
12385
12386 * syntax.c (Fforward_comment): Doc fix.
12387
12388 2002-10-29 Kim F. Storm <storm@cua.dk>
12389
12390 * process.c (Fsignal_process): Allow PROCESS to be specified by
12391 name in addition to pid (as integer or string).
12392
12393 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
12394
12395 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
12396 environments.
12397
12398 2002-10-27 Kim F. Storm <storm@cua.dk>
12399
12400 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
12401
12402 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
12403
12404 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
12405
12406 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
12407
12408 2002-10-26 Richard M. Stallman <rms@gnu.org>
12409
12410 * editfns.c (Fformat): Detect invalid format letters for floats.
12411
12412 2002-10-25 Kenichi Handa <handa@m17n.org>
12413
12414 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
12415 (x_set_title): Likewise.
12416
12417 2002-10-25 Juanma Barranquero <lektu@terra.es>
12418
12419 * macgui.h:
12420 * w32gui.h: Remove definition of XColor.
12421
12422 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
12423
12424 2002-10-24 Kim F. Storm <storm@cua.dk>
12425
12426 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
12427 Callers changed (supply dummy arg).
12428
12429 * lisp.h (get_window_cursor_type): Update prototype.
12430
12431 * w32term.c (x_display_and_set_cursor): Get active_cursor from
12432 get_window_cursor_type to track system caret.
12433
12434 2002-10-24 Kim F. Storm <storm@cua.dk>
12435
12436 * process.c (Fformat_network_address): New function.
12437 (syms_of_process): Defsubr it.
12438 (list_processes_1): Use it to format :local/:remote address if
12439 service/host is not set; before Emacs would crash in that case.
12440 (Fmake_network_process): Don't use Ffind_operation_coding_system
12441 to setup coding system if host or service is not set.
12442
12443 2002-10-23 Juanma Barranquero <lektu@terra.es>
12444
12445 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
12446
12447 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
12448 COLORREF.
12449
12450 * macgui.h:
12451 * w32gui.h: Add definition of XColor.
12452
12453 * macfns.c:
12454 * w32fns.c:
12455 * xfaces.c: Remove definition of XColor.
12456
12457 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
12458
12459 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
12460
12461 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
12462 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
12463 window if it is dedicated.
12464 (Fshrink_window): Add preserve_before as was done for enlarge_window.
12465 (Vspecial_display_function): Update docstring.
12466
12467 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
12468 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
12469 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
12470
12471 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
12472
12473 * casefiddle.c (casify_region): Don't treat a prefix char as part
12474 of a word when at the beginning.
12475
12476 2002-10-17 Juanma Barranquero <lektu@terra.es>
12477
12478 * lread.c (syms_of_lread): Fix typos.
12479
12480 2002-10-17 Dave Love <fx@gnu.org>
12481
12482 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
12483
12484 2002-10-16 Richard M. Stallman <rms@gnu.org>
12485
12486 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
12487
12488 2002-10-14 Juanma Barranquero <lektu@terra.es>
12489
12490 * w16select.c (syms_of_win16select): Fix docstring for
12491 `selection-coding-system'.
12492
12493 * w32select.c (syms_of_w32select): Likewise.
12494
12495 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
12496
12497 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
12498 a backslash-quoted char.
12499 (scan_lists, scan_sexps_forward): Pacify the compiler.
12500
12501 2002-10-13 Richard M. Stallman <rms@gnu.org>
12502
12503 * window.c (window_scroll): Set immediate_quit.
12504
12505 * print.c (print): When backquote form is the car of a list,
12506 output in old style. Use old_backquote_output to output all
12507 comma forms inside it in old style too.
12508
12509 * buffer.h (struct buffer): Move `undo_list' down below `name'.
12510
12511 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
12512
12513 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
12514 batch mode).
12515
12516 * lread.c (Fload): Doc fix (load-suffixes).
12517
12518 2002-10-10 Steven Tamm <steventamm@mac.com>
12519
12520 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
12521 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
12522 Also switch the default to Qnil from Qt.
12523
12524 2002-10-08 Kenichi Handa <handa@m17n.org>
12525
12526 * coding.c (code_convert_region): When we need more GAP for
12527 conversion, pay attention to the case that coding->produced is not
12528 greater than coding->consumed.
12529
12530 2002-10-07 Richard M. Stallman <rms@gnu.org>
12531
12532 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
12533
12534 2002-10-06 Andrew Choi <akochoi@shaw.ca>
12535
12536 * macmenu.c (mac_menu_show): Add j to count menu items; match
12537 menu_item_selection to it to find selected item.
12538
12539 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12540
12541 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
12542 cases. The correct fix is to pass ReparentNotify to Xt.
12543 The shell widget interprets ConfigureNotify differently depending
12544 on if it has been reparented or not.
12545
12546 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
12547
12548 * editfns.c (Fformat_time_string): Doc fix.
12549
12550 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
12551
12552 * fns.c (Flength): Doc fix.
12553
12554 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
12555
12556 * keyboard.c (keyremap): New struct.
12557 (read_key_sequence): Use it: globally replace keytran_foo with
12558 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
12559 keytran_next and fkey_next to just `next'.
12560
12561 2002-10-04 Steven Tamm <steventamm@mac.com>
12562
12563 * macterm.c (keycode_to_xkeysym_table): Change return to be
12564 treated like an X keysym.
12565
12566 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12567
12568 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
12569 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
12570 This is to also handle x/y changes that occur because of a resize.
12571
12572 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
12573
12574 * frame.c (Vdelete_frame_functions): New variable.
12575 (syms_of_frame): Initialize and defvar it.
12576 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
12577 it when frame's `tooltip' parameter is non-nil.
12578
12579 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
12580
12581 * w32fns.c (x_create_tip_frame): Likewise.
12582
12583 * macfns.c (x_create_tip_frame): Likewise.
12584
12585 2002-09-30 Kenichi Handa <handa@m17n.org>
12586
12587 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
12588 -1 before calling ccl_driver.
12589
12590 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
12591 Only when it is non-nil, handle composition sequence.
12592 (setup_coding_system) <0>: Don't force composition handling.
12593
12594 * Makefile.in (lisp, shortlisp): Add utf-16.elc
12595
12596 2002-09-29 Richard M. Stallman <rms@gnu.org>
12597
12598 * search.c (Freplace_match): Adjust match data for the substitution
12599 just made in the buffer.
12600
12601 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
12602 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
12603
12604 2002-09-27 Richard M. Stallman <rms@gnu.org>
12605
12606 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
12607 (read_char): Use them. Do all exits thru the end of the function.
12608
12609 2002-09-27 Kenichi Handa <handa@etl.go.jp>
12610
12611 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
12612 is nil.
12613
12614 2002-09-26 Richard M. Stallman <rms@gnu.org>
12615
12616 * regex.h (__restrict_arr): Don't define if already defined.
12617
12618 * coding.c (run_pre_post_conversion_on_str):
12619 Save and restore Vdeactivate_mark.
12620
12621 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
12622
12623 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
12624
12625 2002-09-26 Kenichi Handa <handa@etl.go.jp>
12626
12627 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
12628 nonzero, try face's family at first. Otherwise try FAMILY at first.
12629 (choose_face_font): If C is a single byte char or latin-1, call
12630 try_font_list with PREFER_FACE_FAMILY 1.
12631
12632 2002-09-21 Richard M. Stallman <rms@gnu.org>
12633
12634 * window.c (select_window_1): Don't select frame.
12635 Set frame's selected window only when frame itself is selected.
12636 (Fselect_window): Doc fix.
12637
12638 2002-09-18 Kim F. Storm <storm@cua.dk>
12639
12640 * process.c (make-network-process): Doc fix (there is no
12641 network-server-log-function hook).
12642
12643 2002-09-18 Richard M. Stallman <rms@gnu.org>
12644
12645 * print.c (print): Clear out the unused parts of Vprint_number_table.
12646 (syms_of_print): Doc fix for `print-number-table'.
12647
12648 * unexelf.c (unexec): Undo previous change.
12649
12650 2002-09-17 Andreas Schwab <schwab@suse.de>
12651
12652 * m/alpha.h [LINUX]: Don't define DATA_START.
12653
12654 2002-09-16 Dave Love <fx@gnu.org>
12655
12656 * unexelf.c (unexec): Deal with .got, reinstating change from
12657 25-08-1999.
12658
12659 2002-09-13 Richard M. Stallman <rms@gnu.org>
12660
12661 * s/sol2-6.h (UNEXEC): Comment out definition.
12662
12663 * unexsol.c (unexec): Don't downcase first letter of error msg.
12664
12665 * xfaces.c (Fcolor_supported_p): Just one arg is required.
12666
12667 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
12668
12669 * unexsol.c: Include buffer.h, charset.h, coding.h.
12670
12671 2002-09-11 Richard M. Stallman <rms@gnu.org>
12672
12673 * unexsol.c: Don't use report_file_error; do it by hand
12674 using dlerror.
12675
12676 * process.c (wait_reading_process_input, both versions):
12677 Before calling turn_on_atimers, call stop_polling.
12678
12679 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
12680
12681 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
12682 we go to too_near_end, call clear_glyph_matrix.
12683 (redisplay_window): After make_cursor_line_fully_visible,
12684 call clear_glyph_matrix and bypass `goto done'.
12685
12686 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
12687 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
12688
12689 2002-09-10 Richard M. Stallman <rms@gnu.org>
12690
12691 * fileio.c (Fdo_auto_save): Catch error making directory.
12692 Only call push_message if we need to.
12693 At the same time, make an unwind-protect to pop it.
12694 Rename local message_p to old_message_p.
12695 (do_auto_save_make_dir, do_auto_save_eh): New functions.
12696 (do_auto_save_unwind): Don't call pop_message.
12697
12698 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
12699
12700 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
12701
12702 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
12703
12704 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
12705
12706 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
12707
12708 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
12709 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
12710 (re_match_2_internal): Be more careful with infinite loops.
12711
12712 2002-09-10 Kim F. Storm <storm@cua.dk>
12713
12714 * macros.c (end_kbd_macro): New function.
12715 (Fend_kbd_macro): Use it.
12716
12717 * macros.h (end_kbd_macro): Declare extern.
12718
12719 * keyboard.c (Fdiscard_input): If defining keyboard macro,
12720 end and save it instead of discarding it.
12721
12722 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
12723
12724 * s/sol2-6.h: Fix typo. Add comment.
12725
12726 2002-09-09 Richard M. Stallman <rms@gnu.org>
12727
12728 * regex.c (regnum_t): Use signed int, not unsigned int.
12729
12730 * s/sol2-6.h: New file.
12731
12732 * s/sol2-5.h (UNEXEC): Definition deleted.
12733
12734 2002-09-08 Kim F. Storm <storm@cua.dk>
12735
12736 * macros.c (executing_macro_index): Change type to EMACS_INT.
12737 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
12738
12739 * macros.h (executing_macro_index): Change type to EMACS_INT.
12740
12741 2002-09-06 Richard M. Stallman <rms@gnu.org>
12742
12743 * casetab.c (set_case_table): Make canon table point to eqv table.
12744
12745 2002-09-06 Juanma Barranquero <lektu@terra.es>
12746
12747 * coding.c (syms_of_coding): Fix spacing.
12748
12749 * composite.c (Fcompose_region_internal)
12750 (Fcompose_string_internal): Likewise.
12751
12752 * data.c (Flsh): Likewise.
12753
12754 * fontset.c (Fset_fontset_font): Likewise.
12755
12756 * macfns.c (Fx_server_max_request_size): Likewise.
12757
12758 * w16select.c (syms_of_win16select): Likewise.
12759
12760 * w32select.c (syms_of_w32select): Likewise.
12761
12762 * xselect.c (syms_of_xselect): Likewise.
12763
12764 2002-09-05 Richard M. Stallman <rms@gnu.org>
12765
12766 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
12767 call EXTEND_RANGE_TABLE and return a proper value.
12768 (set_image_of_range): Don't call set_image_of_range_1
12769 if no TRANSLATE or if range includes all of Latin-1.
12770 Only call it for the Latin-1 part of the range.
12771 For other cases, make two separate ranges,
12772 one for the original specified characters and one for
12773 their case-conversions.
12774
12775 2002-09-04 Richard M. Stallman <rms@gnu.org>
12776
12777 * s/sol2-5.h (UNEXEC): Use unexsol.o.
12778
12779 * window.c (displayed_window_lines): Correct for one-off bug
12780 in HEIGHT on non-window displays.
12781
12782 * regex.c (set_image_of_range_1): New function.
12783 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
12784 Return a value to indicate running out of memory.
12785 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
12786 (extend_range_table_work_area): New subroutine.
12787 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
12788 Different calling conventions, and used from set_image_of_range{,_1}.
12789 (IMMEDIATE_QUIT_CHECK): Definitions moved.
12790
12791 2002-09-04 Juanma Barranquero <lektu@terra.es>
12792
12793 * makefile.w32-in: All dependencies updated.
12794
12795 2002-09-01 Richard M. Stallman <rms@gnu.org>
12796
12797 * unexsol.c: New file.
12798
12799 * xfns.c (Qbox): Declare external, don't define.
12800
12801 * xdisp.c (redisplay_window) <force-start case>:
12802 If point is on semi-visible last line, reposition
12803 it at previous line.
12804
12805 * alloc.c (display_malloc_warning): Use display-warning.
12806 (malloc_warning_1): Function deleted.
12807
12808 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
12809
12810 * lread.c (read1): Handle #! by skipping the line.
12811
12812 2002-08-31 Richard M. Stallman <rms@gnu.org>
12813
12814 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
12815 Don't include LDFLAGS.
12816 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
12817
12818 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
12819
12820 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
12821 member of x_display_info unless we compile for some window system.
12822
12823 2002-08-31 Kim F. Storm <storm@cua.dk>
12824
12825 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
12826 (get_window_cursor_type): Don't use them.
12827 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
12828
12829 2002-08-30 Kenichi Handa <handa@etl.go.jp>
12830
12831 * xdisp.c (get_next_display_element): Fix previous change.
12832
12833 2002-08-30 Andrew Choi <akochoi@shaw.ca>
12834
12835 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
12836 (expose_window): Use it to fix the display of overlapping
12837 rows (merge code from xterm.c).
12838
12839 * macfns.c (Qbox): Add extern declaration.
12840
12841 2002-08-30 Juanma Barranquero <lektu@terra.es>
12842
12843 * w32fns.c (Qbox): Make extern.
12844 (syms_of_w32fns): Remove initialization of Qbox.
12845
12846 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
12847
12848 * xfns.c (Fx_open_connection): Fix error message.
12849
12850 2002-08-30 Kim F. Storm <storm@cua.dk>
12851
12852 The following changes consolidates the handling of the cursor
12853 type in xdisp.c, moving duplicate code and functionality from
12854 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
12855
12856 * frame.h (enum text_cursor_kinds): Consolidated here.
12857 Added DEFAULT_CURSOR value.
12858 (struct frame) <desired_cursor, cursor_width>
12859 <blink_off_cursor, blink_off_cursor_width>: New fields.
12860 Consolidated from output_x, output_w32 and output_mac structs.
12861 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12862 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
12863
12864 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
12865 Variables consolidated here.
12866 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
12867 (Vcursor_in_non_selected_windows): Renamed from
12868 cursor_in_non_selected_windows and changed to Lisp_Object.
12869 (syms_of_xdisp): Define and staticpro new and moved variables.
12870 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
12871 consolidated here. Recognize Qhollow setting.
12872 (set_frame_cursor_types): New function to set frame cursor types
12873 based on the frame parameters.
12874 (get_window_cursor_type): New function to calculate new cursor
12875 type and width for the specified window. Based on duplicated
12876 code consolidated here.
12877 Enhancements: cursor-in-non-selected-windows may be a cursor type,
12878 check buffer-local alternate-cursor-type and blink-cursor-alist
12879 before using built-in blink off methods.
12880
12881 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
12882
12883 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
12884 (get_specified_cursor_type, get_window_cursor_type)
12885 (set_frame_cursor_types): Added prototypes.
12886
12887 * macfns.c (x_specified_cursor_type): Removed.
12888 (x_set_cursor_type): Use set_frame_cursor_types.
12889 (Qbar, Qbox): Removed.
12890 (syms_of_macfns): Don't intern or staticpro them.
12891
12892 * macterm.c (x_specified_cursor_type): Remove prototype.
12893 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12894 (x_display_and_set_cursor): Use get_window_cursor_type.
12895 Remove unused local variables cursor_non_selected, active_cursor.
12896 Redraw cursor if hbar cursor width changes.
12897 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
12898
12899 * macterm.h (enum text_cursor_kinds): Removed.
12900 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
12901 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12902 (FRAME_DESIRED_CURSOR): Macro removed.
12903
12904 * w32fns.c (Vblink_cursor_alist): Removed.
12905 (Qbar, Qhbar, Qbox, Qhollow): Removed.
12906 (syms_of_w32fns): Don't intern, staticpro, or define them.
12907 (x_specified_cursor_type): Removed.
12908 (x_set_cursor_type): Use set_frame_cursor_types.
12909
12910 * w32term.c (x_specified_cursor_type): Remove prototype.
12911 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12912 (x_display_and_set_cursor): Use get_window_cursor_type.
12913 Remove unused local variables cursor_off_state.
12914 Redraw cursor if hbar cursor width changes.
12915 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
12916
12917 * w32term.h (enum text_cursor_kinds): Removed.
12918 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
12919 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12920 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12921 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
12922 (struct w32_display_info) <x_highlight_frame>: Renamed member from
12923 w32_highlight_frame.
12924
12925 * xfns.c (Vblink_cursor_alist): Removed.
12926 (Qbar, Qhbar, Qbox, Qhollow): Removed.
12927 (syms_of_xfns): Don't intern, staticpro, or define them.
12928 (x_specified_cursor_type): Removed.
12929 (x_set_cursor_type): Use set_frame_cursor_types.
12930
12931 * xterm.c (x_specified_cursor_type): Remove prototype.
12932 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12933 (x_display_and_set_cursor): Use get_window_cursor_type.
12934 Remove unused local variables cursor_off_state.
12935 Redraw cursor if hbar cursor width changes.
12936
12937 * xterm.h (enum text_cursor_kinds): Removed.
12938 (struct output_x) <current_cursor, desired_cursor, cursor_width>
12939 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12940 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12941 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
12942 (x_specified_cursor_type): Remove prototype.
12943
12944 2002-08-28 Richard M. Stallman <rms@gnu.org>
12945
12946 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
12947 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
12948 (Vblink_cursor_alist): New variable.
12949 (syms_of_w32fns): Initialize and defvar it.
12950 (x_specified_cursor_type): Recognize Qbox for filled box.
12951 Exceptions are hollow boxes.
12952 (Qbox, Qhollow): New variables.
12953 (syms_of_w32fns): Initialize and staticpro them.
12954
12955 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
12956 New macros.
12957 (struct w32_output): New fields blink_off_cursor,
12958 blink_off_cursor_width.
12959 (FRAME_CURSOR_WIDTH): New macro.
12960
12961 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
12962 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
12963
12964 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
12965 for bar cursor.
12966
12967 * w32term.c (expose_overlaps): New function.
12968 (expose_window): Use it to fix the display of overlapping rows.
12969
12970 2002-08-28 Simon Josefsson <jas@extundo.com>
12971
12972 * xfns.c (Fx_open_connection): Improve help when X connection
12973 fails, xhost is insecure and xauth is better.
12974
12975 2002-08-28 Juanma Barranquero <lektu@terra.es>
12976
12977 * makefile.w32-in: Add missing dependencies on w32term.h and
12978 composite.h.
12979
12980 * emacs.c (USAGE1): Add missing newline.
12981
12982 2002-08-27 Andrew Choi <akochoi@shaw.ca>
12983
12984 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
12985
12986 2002-08-27 Richard M. Stallman <rms@gnu.org>
12987
12988 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
12989 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
12990 (Vblink_cursor_alist): New variable.
12991 (syms_of_xfns): Initialize and defvar it.
12992 (x_specified_cursor_type): Recognize Qbox for filled box.
12993 Exceptions are hollow boxes.
12994 (Qbox, Qhollow): New variables.
12995 (syms_of_xfns): Initialize and staticpro them.
12996
12997 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
12998 New macros.
12999 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
13000
13001 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
13002 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
13003
13004 * emacs.c (main): Handle --script.
13005 (USAGE1): Mention --script.
13006 (standard_args): Define sort order for --script.
13007
13008 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
13009
13010 * xdisp.c (redisplay_updating_p): Variable removed.
13011 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
13012 New variables.
13013 (init_iterator): Don't free realized faces if
13014 inhibit_free_realized_faces is set.
13015 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
13016 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
13017 initialize Qinhibit_free_realized_faces.
13018
13019 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
13020 when iterator is adding glyphs to a glyph matrix.
13021
13022 2002-08-27 Kenichi Handa <handa@etl.go.jp>
13023
13024 * xdisp.c (get_next_display_element): In unibyte case, don't use
13025 octal form for such eight-bit characters that can be converted to
13026 multibyte char.
13027
13028 2002-08-26 Kim F. Storm <storm@cua.dk>
13029
13030 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize
13031 foreground and background colors. From Joe Buehler.
13032
13033 2002-08-26 Miles Bader <miles@gnu.org>
13034
13035 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
13036
13037 2002-08-25 Andrew Choi <akochoi@shaw.ca>
13038
13039 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
13040 defined instead of MAC_OSX.
13041
13042 * s/darwin.h (select): Define select to sys_select only if
13043 HAVE_CARBON is defined.
13044 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
13045 (DONT_REOPEN_PTY): #def it.
13046
13047 * macterm.c (XTread_socket): Remove code to call
13048 SendEventToEventTarget for keys with command modifiers when
13049 mac_command_key_is_meta is nil.
13050
13051 2002-08-24 Andreas Schwab <schwab@suse.de>
13052
13053 * eval.c (Fdefvar): Fix last change.
13054
13055 2002-08-23 Richard M. Stallman <rms@gnu.org>
13056
13057 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
13058 Record variables in load history as (defvar . VAR).
13059 (Fdefvar): Don't record in load history if no initial value.
13060 (Qdefvar): New variable.
13061 (syms_of_eval): Init and staticpro it.
13062
13063 * lread.c (syms_of_lread): Doc fix.
13064 (build_load_history): Use Fmember to see if a definition
13065 is already in the Vload_history element.
13066
13067 * process.c (Fstart_process): Remove /: from program name.
13068
13069 * emacs.c (decode_env_path): Don't add /: if file name handler
13070 has a `safe-magic' property.
13071
13072 * callproc.c (Fcall_process): Remove /: from program name.
13073
13074 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
13075
13076 * regex.c (PATFETCH): Remove the translating fetch.
13077 (PATFETCH_RAW): Rename to PATFETCH.
13078 (set_image_of_range): New fun.
13079 (SET_RANGE_TABLE_WORK_AREA): Use it.
13080 (regex_compile): Don't translate the pattern chars so eagerly.
13081 Only do it when inserting an `exactn' bytecode or when handling
13082 a char-range.
13083 (mutually_exclusive_p): Avoid empty statement.
13084
13085 2002-08-22 Kim F. Storm <storm@cua.dk>
13086
13087 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
13088 end up on a partially visible line; this reverts a specific part
13089 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
13090 display error which has been reported several times now.
13091 However it introduces the problem that changes was supposed to fix.
13092 See my comments in the source if you want to debug this further.
13093
13094 2002-08-20 Kenichi Handa <handa@etl.go.jp>
13095
13096 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
13097
13098 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
13099
13100 * msdos.c (croak): Add `void' to definition.
13101
13102 * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]:
13103 Don't define them, they are defined in msdos.c.
13104
13105 * mem-limits.h [MSDOS]: Declare etext.
13106
13107 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
13108 `const' since CORRECT_DIR_SEPS modifies its target.
13109
13110 2002-08-19 Kim F. Storm <storm@cua.dk>
13111
13112 * keyboard.c (Fclear_this_command_keys): Add optional arg
13113 KEEP-RECORD to avoid clearing lossage when we just want to clear
13114 the current key sequence (kmacro needs this).
13115
13116 2002-08-19 Kenichi Handa <handa@localhost>
13117
13118 * composite.c (run_composition_function): Call FUNC if it is fboundp.
13119
13120 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
13121 cons, return Qnil.
13122
13123 2002-08-17 Richard M. Stallman <rms@gnu.org>
13124
13125 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
13126
13127 * sysdep.c [!VMS]: Include sys/files.h.
13128
13129 * editfns.c (save_restriction_restore): Defend from unchained marker.
13130
13131 * buffer.c (overlays_at): Handle extending vec uniformly.
13132 (overlays_in): Handle extending vec from length 0 as in overlays_at.
13133
13134 2002-08-15 Andrew Choi <akochoi@shaw.ca>
13135
13136 * mac.c (init_mac_osx_environment): New function.
13137
13138 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
13139
13140 2002-08-14 Kim F. Storm <storm@cua.dk>
13141
13142 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
13143 executing macro before appending to it (when used from Lisp).
13144 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
13145 which is called prior to each iteration of macro (for kmacro.el).
13146 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
13147
13148 * lisp.h (Fexecute_kbd_macro): Update prototype.
13149
13150 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
13151
13152 2002-08-14 Kenichi Handa <handa@etl.go.jp>
13153
13154 * xselect.c (QUTF8_STRING): New variable.
13155 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
13156 (x_atom_to_symbol): Likewise.
13157 (x_get_local_selection): New argument local_request. If it is
13158 nonzero, call handler_fn with the second arg nil.
13159 (x_handle_selection_request): Call x_get_local_selection with
13160 local_request 0.
13161 (lisp_data_to_selection_data): Don't encode the string here.
13162 (Fx_get_selection_internal): Call x_get_local_selection with
13163 local_request 1.
13164 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
13165
13166 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
13167
13168 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
13169
13170 2002-08-13 Richard M. Stallman <rms@gnu.org>
13171
13172 * minibuf.c (Fminibufferp): New function.
13173 (syms_of_minibuf): Defsubr it.
13174 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
13175
13176 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
13177
13178 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
13179
13180 2002-08-12 Richard M. Stallman <rms@gnu.org>
13181
13182 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
13183 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
13184 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
13185 already.
13186
13187 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
13188
13189 2002-08-11 Andrew Choi <akochoi@shaw.ca>
13190
13191 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
13192 (Vmac_pass_command_to_system): New variable.
13193 (Vmac_pass_control_to_system): New variable.
13194 (do_mouse_moved): Check wp with is_emacs_window.
13195 (XTread_socket): Check window_ptr with is_emacs_window.
13196 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
13197 events back to Mac Toolbox for processing, depending on values of
13198 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
13199 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
13200 Vmac_pass_control_to_system.
13201
13202 2002-08-10 Kenichi Handa <handa@etl.go.jp>
13203
13204 * coding.c (unencodable_char_position): New function.
13205 (Funencodable_char_position): New function.
13206 (syms_of_coding): Defsubr Funencodable_char_position.
13207
13208 2002-08-10 Andrew Choi <akochoi@shaw.ca>
13209
13210 * mac.c (sys_select) [MAC_OSX]: New function.
13211
13212 * macterm.c (MakeMeTheFrontProcess): New function.
13213 (mac_initialize): Call MakeMeTheFrontProcess.
13214
13215 * s/darwin.h: Define select to sys_select.
13216
13217 2002-08-09 Richard M. Stallman <rms@gnu.org>
13218
13219 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
13220
13221 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
13222
13223 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
13224 end of the buffer.
13225
13226 2002-08-08 Ken Raeburn <raeburn@mit.edu>
13227
13228 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
13229
13230 * puresize.h (BASE_PURESIZE): Increase to 910000.
13231
13232 2002-08-08 Kenichi Handa <handa@etl.go.jp>
13233
13234 * coding.c (Ffind_operation_coding_system): For write-region, if
13235 VISIT is a filename, make it the target.
13236
13237 2002-08-07 Richard M. Stallman <rms@gnu.org>
13238
13239 * alloc.c (mark_object): Detect long lists for debugging.
13240 (mark_object_loop_halt): New variable.
13241
13242 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
13243
13244 * data.c (Fmake_variable_frame_local): Doc fix.
13245
13246 2002-08-01 David Ponce <david@dponce.com>
13247
13248 * w32menu.c (local_heap, local_alloc, local_free): New macros.
13249 (malloc_widget_value, free_widget_value)
13250 (w32_free_submenu_strings): Use them.
13251
13252 (push_submenu_start, push_submenu_end, push_left_right_boundary)
13253 (push_menu_pane, push_menu_item, single_keymap_panes)
13254 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
13255 (single_submenu, set_frame_menubar)
13256 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
13257
13258 (Fx_popup_menu): Don't show pop up menu until preceding one is
13259 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
13260
13261 * w32menu.c: Changes adapted from xmenu.c
13262 (set_frame_menubar): First parse all submenus,
13263 then make widget_value trees from them.
13264 Don't allocate any widget_value objects
13265 until we are done with the parsing.
13266 (parse_single_submenu): New function.
13267 (digest_single_submenu): New function.
13268 (single_submenu): Function deleted, replaced by those two.
13269
13270 2002-08-04 Andrew Choi <akochoi@shaw.ca>
13271
13272 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
13273 returns a valid window pointer before proceeding for keyDown and
13274 autoKey events.
13275
13276 2002-08-03 Andrew Choi <akochoi@shaw.ca>
13277
13278 * macterm.c (USE_CARBON_EVENTS): New macro.
13279 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
13280 (x_iconify_frame): Call CollapseWindow.
13281 (Vmac_reverse_ctrl_meta): New variable.
13282 (Vmac_wheel_button_is_mouse_2): New variable.
13283 (init_mac_drag_n_drop): New function.
13284 (mac_do_receive_drag): New function.
13285 (mac_handle_service_event): New function.
13286 (init_service_handler): New function.
13287 (mac_to_emacs_modifiers): New function.
13288 (mac_event_to_emacs_modifiers): New function.
13289 (mac_get_mouse_btn): New function.
13290 (mac_convert_event_ref): New function.
13291 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
13292 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
13293 mac_get_mouse_btn.
13294 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
13295
13296 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
13297 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
13298 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
13299 TOOL_BAR_EVENT for MAC_OS as well.
13300 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
13301 as for WINDOWS_NT.
13302 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
13303
13304 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
13305
13306 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
13307
13308 * xdisp.c (forward_to_next_line_start): Fix a condition that
13309 lead to a newline being skipped.
13310
13311 2002-08-02 Andrew Choi <akochoi@shaw.ca>
13312
13313 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
13314
13315 2002-08-01 Richard M. Stallman <rms@gnu.org>
13316
13317 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
13318
13319 2002-07-31 Andrew Choi <akochoi@shaw.ca>
13320
13321 * macfns.c: #undef init_process before #define-ing it.
13322
13323 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
13324 HAVE_CARBON is defined.
13325
13326 2002-07-31 Richard M. Stallman <rms@gnu.org>
13327
13328 * xmenu.c (set_frame_menubar): First parse all submenus,
13329 then make widget_value trees from them.
13330 Don't allocate any widget_value objects
13331 until we are done with the parsing.
13332 (parse_single_submenu): New function.
13333 (digest_single_submenu): New function.
13334 (single_submenu): Function deleted, replaced by those two.
13335
13336 2002-07-30 Juanma Barranquero <lektu@terra.es>
13337
13338 * w32proc.c (syms_of_ntproc): Fix docstring of
13339 `w32-get-true-file-attributes'.
13340
13341 2002-07-28 Richard M. Stallman <rms@gnu.org>
13342
13343 * s/hpux8.h (HPUX8): Define this before including hpux.h.
13344 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
13345
13346 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
13347
13348 * keyboard.c (make_lispy_event):
13349 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
13350 Explicitly clear up_modifier in event->modifiers.
13351
13352 2002-07-27 Richard M. Stallman <rms@gnu.org>
13353
13354 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
13355
13356 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
13357 for bar cursor.
13358
13359 2002-07-26 Kenichi Handa <handa@etl.go.jp>
13360
13361 * coding.c (detect_coding_iso2022): While checking a byte sequence
13362 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
13363 it in the normal loop.
13364
13365 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
13366
13367 * xterm.c (expose_overlaps): New function.
13368 (expose_window): Use it to fix the display of overlapping rows.
13369
13370 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
13371
13372 2002-07-23 Ken Raeburn <raeburn@gnu.org>
13373
13374 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
13375 since it only depends on XUINT.
13376
13377 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
13378 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
13379 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
13380 Macros deleted.
13381
13382 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
13383 its value over other approaches.
13384 * sysdep.c (start_of_data): Don't define the function if a macro
13385 form has been defined.
13386
13387 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
13388
13389 * xdisp.c (redisplay_updating_p): New variable.
13390 (init_iterator): Don't free realized faces when
13391 redisplay_updating_p is set.
13392 (redisplay_internal): Set redisplay_updating_p while updating
13393 the display.
13394
13395 2002-07-23 Richard M. Stallman <rms@gnu.org>
13396
13397 * editfns.c (Fmessage): Treat "" like nil.
13398
13399 2002-07-23 Kenichi Handa <handa@etl.go.jp>
13400
13401 * xdisp.c (face_before_or_after_it_pos):
13402 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
13403
13404 2002-07-22 Juanma Barranquero <lektu@terra.es>
13405
13406 * callproc.c (init_callproc) [DOS_NT]:
13407 Initialize Vshared_game_score_directory to nil.
13408 (syms_of_callproc) [DOS_NT]: Likewise.
13409
13410 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
13411
13412 * xdisp.c (display_line): Replace an abort with xassert.
13413
13414 2002-07-21 Richard M. Stallman <rms@gnu.org>
13415
13416 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
13417 and END_UNCHANGED when setting buffer_unchanged_p.
13418 Use current_matrix_up_to_date_p to decide whether to use
13419 try_cursor_movement.
13420
13421 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
13422
13423 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
13424
13425 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
13426 Set to nil if dir does not exist.
13427 (syms_of_callproc): Init unconditionally and simply.
13428
13429 * buffer.c (Fbuffer_list): Doc fix.
13430
13431 2002-07-21 Ken Raeburn <raeburn@gnu.org>
13432
13433 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
13434
13435 * buffer.c (mmap_realloc): When shrinking, make sure number of
13436 pages to unmap is rounded towards zero.
13437
13438 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
13439 (XSETINT): Deleted.
13440
13441 * m/att3b.h (XINT): Don't define.
13442 (VALBITS, VALMASK, XTYPE): Deleted.
13443 (DATA_SEG_BITS): Define.
13444 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
13445 ARRAY_MARK_FLAG): Deleted.
13446 (DATA_SEG_BITS): Define.
13447 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
13448 (DATA_SEG_BITS): Define.
13449
13450 2002-07-20 Richard M. Stallman <rms@gnu.org>
13451
13452 * print.c (print_error_message): New args CONTEXT and CALLER.
13453 Calls changed.
13454
13455 * lisp.h (print_error_message): Declare new args.
13456
13457 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
13458 and CONTEXT to print_error_message, don't print them here.
13459 For a Quit, don't use Vsignaling_function.
13460 Call message_log_maybe_newline.
13461
13462 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
13463
13464 2002-07-20 Kim F. Storm <storm@cua.dk>
13465
13466 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
13467
13468 2002-07-19 Ken Raeburn <raeburn@gnu.org>
13469
13470 * bytecode.c (struct byte_stack): Pointers into byte string now
13471 point to const.
13472 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
13473 const.
13474 * charset.h (BCOPY_SHORT): Source pointer now points to const.
13475 * coding.c (encode_eol, detect_coding, detect_eol):
13476 (decode_coding, encode_coding, detect_coding_system):
13477 Source strings now treated as const.
13478 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
13479 modify Lisp string contents.
13480 * coding.h (decode_coding, encode_coding, detect_coding,
13481 detect_eol): Declarations updated.
13482 * composite.c (compose_chars_in_text): Treat Lisp string contents
13483 as const.
13484 * dispnew.c (safe_bcopy): Source pointer now points to const.
13485 * lisp.h (STRING_COPYIN): New macro.
13486 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
13487 (internal_with_output_to_temp_buffer): Declarations updated.
13488 * print.c (temp_output_buffer_setup):
13489 (internal_with_output_to_temp_buffer): Buffer name argument is now
13490 pointer to const.
13491 * sound.c (struct sound_device): Function pointer field "write"
13492 buffer argument now points to const.
13493 (vox_write): Buffer argument points to const.
13494 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
13495 contents as const.
13496 * sysdep.c (emacs_write): Buffer pointer now const.
13497 * term.c (encode_terminal_code): Buffer pointer now const.
13498 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
13499 (x_face_list_fonts, x_update_menu_appearance):
13500 (hash_string_case_insensitive): Treat Lisp string contents as const.
13501
13502 2002-07-19 Juanma Barranquero <lektu@terra.es>
13503
13504 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
13505
13506 * fileio.c (syms_of_fileio): Likewise.
13507 (Ffile_name_as_directory): Fix argument name in docstring.
13508 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
13509
13510 2002-07-18 Richard M. Stallman <rms@gnu.org>
13511
13512 * data.c (Fdefalias): Doc fix.
13513
13514 2002-07-17 Dave Love <fx@gnu.org>
13515
13516 * intervals.h (text_property_stickiness): Use P_.
13517
13518 * ccl.c: Remove `emacs' conditionals.
13519 (ccl_backtrace_table): Fix size spec.
13520 (ccl_driver): Fix type errors.
13521
13522 2002-07-16 Ken Raeburn <raeburn@gnu.org>
13523
13524 * alloc.c (xstrdup, make_string, make_unibyte_string)
13525 (make_multibyte_string, build_string): String pointer args now
13526 point to const.
13527 * charset.c (find_charset_in_text, c_string_width):
13528 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
13529 * fileio.c (report_file_error):
13530 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
13531 (count_combining_before, count_combining_after, insert_1_both):
13532 (insert, insert_and_inherit, insert_string):
13533 (insert_before_markers, insert_before_markers_and_inherit):
13534 * lread.c (intern, oblookup, hash_string):
13535 * minibuf.c (temp_echo_area_glyphs):
13536 * search.c (fast_c_string_match_ignore_case):
13537 * sysdep.c (emacs_open, set_file_times):
13538 * xfaces.c (xstricmp):
13539 * xdisp.c (store_frame_title, string_char_and_length):
13540 (message_dolog, message2, message2_nolog, set_message): Likewise.
13541 (set_message_1): Cast message string argument to const pointer.
13542 * editfns.c (general_insert_function): Insertion function now
13543 takes pointer to const for input data.
13544 * charset.h (find_charset_in_text, c_string_width):
13545 (parse_str_as_multibyte): Declarations updated.
13546 * dispextern.h (xstricmp): Declaration updated.
13547 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
13548 (count_size_as_multibyte, count_combining_before):
13549 (count_combining_after, insert_1, insert_1_both, message_dolog):
13550 (insert, insert_and_inherit, insert_before_markers)
13551 (insert_before_markers_and_inherit, set_message, message2):
13552 (message2_dolog, build_string, make_string, make_unibyte_string):
13553 (make_multibyte_string, intern, oblookup, report_file_error):
13554 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
13555 (emacs_open, xstrdup): Declarations updated.
13556 * systime.h (set_file_times): Declaration updated.
13557
13558 * charset.c (find_charset_in_text, lisp_string_width): Use const
13559 for pointer to lisp string data.
13560 * charset.h (FETCH_STRING_CHAR_ADVANCE):
13561 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
13562 * coding.c (Ffind_coding_systems_region_interval):
13563 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
13564 (Fmake_directory_internal, Fdelete_directory):
13565 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
13566 * fontset.c (font_family_registry, fs_query_fontset):
13567 (list_fontsets):
13568 * frame.c (Fframe_parameter):
13569 * keyboard.c (cmd_error_internal):
13570 * keymap.c (Fdescribe_buffer_bindings):
13571 * lread.c (complete_filename_p, openp):
13572 * minibuf.c (Fminibuffer_complete_word):
13573 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
13574 (face_before_or_after_it_pos, next_element_from_string):
13575 (get_overlay_arrow_glyph_row, display_mode_element):
13576 (decode_mode_spec_coding):
13577 * xterm.c (same_x_server): Likewise.
13578
13579 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
13580 settings of non-existent fields.
13581
13582 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
13583 copy a lisp value.
13584
13585 * lread.c (Fintern_soft): Use string macros instead of
13586 Lisp_String fields.
13587 * keyboard.c (echo_char, parse_modifiers_uncached):
13588 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
13589 * textprop.c (validate_interval_range, interval_of): Likewise.
13590
13591 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
13592
13593 * charset.h (FETCH_STRING_CHAR_ADVANCE)
13594 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
13595 XSTRING()->size_byte.
13596
13597 * lisp.h (SDATA, SREF): Produce rvalue.
13598 (SSET): New macro.
13599 * alloc.c (make_event_array): Use SSET for storing into a string.
13600 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
13601 a string.
13602 * casefiddle.c (casify_object): Use SSET.
13603 * charset.h (FETCH_STRING_CHAR_ADVANCE)
13604 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
13605 address of string contents.
13606 * data.c (Faref): Use SDATA.
13607 (Faset): Use SDATA, SSET.
13608 * dired.c (directory_files_internal): Use SSET.
13609 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
13610 (Fread_file_name): Use SREF, SSET.
13611 * fns.c (concat): Use SSET.
13612 (concat, Fdelete): Use SDATA.
13613 * insdel.c (insert_from_string_1): Use SDATA.
13614 * keyboard.c (Fevent_convert_list): Use SREF.
13615 * lread.c (Fload): Use SDATA, SSET.
13616 * macfns.c (validate_x_resource_name): Use SSET.
13617 * process.c (status_message): Use SSET.
13618 * search.c (wordify): Use SDATA.
13619 (Freplace_match): Use SREF.
13620 * w32fns.c (validate_x_resource_name): Use SSET.
13621 * xfns.c (validate_x_resource_name): Use SSET.
13622 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
13623
13624 2002-07-16 Richard M. Stallman <rms@gnu.org>
13625
13626 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
13627
13628 * xdisp.c (reconsider_clip_changes):
13629 Don't test prevent_redisplay_optimizations_p.
13630 (redisplay_internal): Test prevent_redisplay_optimizations_p
13631 along with clip_changed in some cases.
13632 (try_window_id): Likewise.
13633 (redisplay_window): New local var buffer_unchanged_p.
13634
13635 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
13636
13637 * process.c (create_process): Test USG_SUBTTY_WORKS.
13638 (process_send_signal): Clean up handling of GID.
13639 Detect errors in ioctls meant to set GID.
13640
13641 * window.c (temp_output_buffer_show):
13642 Don't set prevent_redisplay_optimizations_p.
13643
13644 2002-07-15 Juanma Barranquero <lektu@terra.es>
13645
13646 * eval.c (Fdefvaralias): Add docstring argument.
13647
13648 2002-07-15 Ken Raeburn <raeburn@gnu.org>
13649
13650 * lisp.h (STRING_INTERVALS): Produce rvalue.
13651 (STRING_SET_INTERVALS): New macro.
13652 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
13653 * fns.c (Fstring_as_multibyte): Likewise.
13654 * intervals.c (balance_possible_root_interval, delete_interval)
13655 (create_root_interval, copy_intervals_to_string): Likewise.
13656 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
13657 instead of 0.
13658
13659 2002-07-14 Ken Raeburn <raeburn@gnu.org>
13660
13661 * lisp.h (STRING_SET_CHARS): New macro.
13662 (SCHARS, SBYTES): Produce rvalues.
13663 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
13664 * fns.c (concat): Likewise.
13665 * lread.c (read_vector): Likewise.
13666
13667 * lisp.h (SMBP): Delete. All uses changed to STRING_MULTIBYTE.
13668 (STRING_SET_UNIBYTE): New macro.
13669 (SET_STRING_BYTES): Delete. Callers (all of which supplied a
13670 length of -1) changed to use STRING_SET_UNIBYTE.
13671 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
13672 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
13673 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
13674 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
13675 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
13676 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
13677 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
13678 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
13679 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
13680 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
13681 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
13682 STRING_BYTES or indirection changed to SCHARS, SBYTES,
13683 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
13684 unchanged for now.
13685
13686 2002-07-13 Kim F. Storm <storm@cua.dk>
13687
13688 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
13689
13690 2002-07-12 Richard M. Stallman <rms@gnu.org>
13691
13692 * fileio.c (Fwrite_region): Doc fix.
13693
13694 * print.c (print_error_message): Don't handle Vsignaling_function here.
13695
13696 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
13697 (command_loop_1): Avoid certain actions after memory-full error.
13698
13699 * eval.c (Fsignal): Don't call cancel_hourglass.
13700 For a memory-full error, don't call Vsignal_hook_function
13701 and don't set Vsignaling_function.
13702
13703 * process.c (process_send_signal): Add abort call.
13704
13705 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
13706
13707 * keymap.c (Fkey_binding): Fix typo.
13708
13709 2002-07-11 Richard M. Stallman <rms@gnu.org>
13710
13711 * alloc.c (Vmemory_full): New variable.
13712 (Vmemory_signal_data): Rename from memory_signal_data.
13713 Uses changed.
13714 (syms_of_alloc): Defvar them.
13715 (memory_full, buffer_memory_full): Set Vmemory_full.
13716
13717 * lisp.h (Vmemory_full): Add declaration.
13718 (current_column, indented_beyond_p): Change declaration.
13719
13720 * indent.c (last_known_column): Declare as double, not float.
13721 (current_column, current_column_1, string_display_width)
13722 (position_indentation): Return `double'.
13723 (indented_beyond_p): Arg `column' is `double'. Callers changed.
13724
13725 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
13726 (back_to_previous_visible_line_start)
13727 (reseat_at_next_visible_line_start, next_element_from_buffer):
13728 Use `double', not `float', when calling indented_beyond_p.
13729
13730 * s/hpux11.h (BROKEN_SA_RESTART): Define.
13731
13732 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
13733
13734 2002-07-11 Juanma Barranquero <lektu@terra.es>
13735
13736 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
13737 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
13738 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
13739 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
13740 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
13741 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
13742
13743 2002-07-10 Juanma Barranquero <lektu@terra.es>
13744
13745 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
13746 All callers changed.
13747
13748 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
13749
13750 * data.c (Fdefalias): Add an optional `docstring' argument.
13751 (set_internal, Fsetq_default): Use XCAR/XCDR.
13752
13753 * composite.c (HASH_VALUE, HASH_KEY):
13754 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
13755
13756 2002-07-09 Kenichi Handa <handa@etl.go.jp>
13757
13758 * callproc.c (Fcall_process): Fix previous change.
13759
13760 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
13761
13762 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
13763 Add support for hash-tables.
13764 (Ftry_completion): Return t even if the string appears multiple times.
13765
13766 * fns.c (Fnconc): Use XCDR.
13767 (Fprovide): Use CONSP and XCDR.
13768 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
13769 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
13770 (Fmake_hash_table): Accept `:size nil'.
13771 (Fmakehash): Delete: moved to subr.el.
13772 (syms_of_fns): Don't defsubr makehash.
13773
13774 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
13775 (HASH_TABLE_SIZE): Move from fns.c.
13776
13777 2002-07-07 Richard M. Stallman <rms@gnu.org>
13778
13779 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
13780 Instead just return 0 when there is something to be done.
13781 (try_scrolling): If make_cursor_line_fully_visible returns 0,
13782 retry scrolling as if cursor were off the bottom.
13783 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
13784 return CURSOR_MOVEMENT_MUST_SCROLL.
13785 (redisplay_window): If make_cursor_line_fully_visible returns 0,
13786 go to try_to_scroll.
13787
13788 * buffer.c (Fbuffer_local_value): Store current value into its binding
13789 so we get the up-to-date value for the binding that is loaded.
13790
13791 * eval.c (Fdefmacro): Doc fix.
13792
13793 2002-07-05 Dave Love <fx@gnu.org>
13794
13795 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
13796 correctly.
13797
13798 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
13799 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
13800 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
13801 CCL_LookupCharConstTbl.
13802 (syms_of_ccl): Defvar translation-hash-table-vector.
13803
13804 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13805
13806 * xdisp.c: Remove unused variable `face'.
13807
13808 2002-07-04 Juanma Barranquero <lektu@terra.es>
13809
13810 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
13811 obsolescence information.
13812
13813 2002-07-03 Andrew Choi <akochoi@shaw.ca>
13814
13815 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
13816 pattern. Search cache first.
13817 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
13818 for Japanese font.
13819 (XLoadQueryFont): Use it.
13820
13821 2002-07-02 Richard M. Stallman <rms@gnu.org>
13822
13823 * keymap.c (Fdefine_key): Doc fix.
13824
13825 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
13826
13827 2002-07-02 Juanma Barranquero <lektu@terra.es>
13828
13829 * keymap.c (syms_of_keymap): Fix typo.
13830
13831 2002-07-01 Andrew Choi <akochoi@shaw.ca>
13832
13833 * s/darwin.h: Define POSIX_SIGNALS.
13834
13835 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
13836 and FSRefMakePath to convert FSSpec returned with Apple Event to
13837 Posix pathname.
13838 (mac_initialize) [TARGET_API_MAC_CARBON]:
13839 Call init_required_apple_events and disable the `Quit' menu item
13840 provided automatically by the Carbon Toolbox.
13841
13842 2002-07-01 Dave Love <fx@gnu.org>
13843
13844 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13845 for K&R.
13846
13847 * xterm.c: Fix prototype for K&R.
13848
13849 * term.c (costs_set): Declare static, non-initialized for pcc.
13850
13851 2002-07-01 Richard M. Stallman <rms@gnu.org>
13852
13853 * keyboard.c (timer_last_idleness_start_time): New variable.
13854 (timer_start_idle): Set that.
13855 (read_key_sequence): Use that to reset timer_idleness_start_time
13856 to previous value.
13857
13858 * window.c (Frecenter): With arg, set optional_new_start.
13859
13860 * xdisp.c (redisplay_internal): Make optional_new_start really work.
13861
13862 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
13863 buffer for completion.
13864
13865 2002-06-29 Ken Raeburn <raeburn@gnu.org>
13866
13867 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
13868
13869 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
13870
13871 * keyboard.c (readable_filtered_events): New function that filters
13872 FOCUS_IN_EVENT depending on parameter.
13873 (readable_events): Calls readable_filtered_events, not filtering
13874 FOCUS_IN_EVENT.
13875 (get_filtered_input_pending): New function, filtering parameter passed
13876 to readable_filtered_events.
13877 (get_input_pending): Calls get_filtered_input_pending, not filtering
13878 FOCUS_IN_EVENT.
13879 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
13880 FOCUS_IN_EVENT.
13881
13882 * xterm.h (struct x_output): Add focus_state.
13883
13884 * xterm.c (x_focus_changed): New function.
13885 (x_detect_focus_change): New function.
13886 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
13887 EnterNotify and LeaveNotify to track X focus changes.
13888
13889 2002-06-28 Andreas Schwab <schwab@suse.de>
13890
13891 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
13892
13893 2002-06-27 Kim F. Storm <storm@cua.dk>
13894
13895 * xdisp.c: (mode_line_string_list, mode_line_string_face)
13896 (mode_line_string_face_prop): New variables.
13897 (store_mode_line_string): New function.
13898 (display_mode_element): Use store_mode_line_string to
13899 add mode-line string elements to mode_line_string_list
13900 when mode_line_string_list is non-nil.
13901 (Fformat_mode_line): Now returns propertized string by
13902 default. New arg NO-PROPS to ignore properties.
13903 (decode_mode_spec): Only add two dashes for %- in propertized
13904 mode-line string.
13905 (syms_of_xdisp): Init and staticpro mode_line_string_list.
13906
13907 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
13908
13909 * minibuf.c (minibuffer_completion_contents): Add return type.
13910
13911 2002-06-27 Juanma Barranquero <lektu@terra.es>
13912
13913 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
13914
13915 2002-06-26 Juanma Barranquero <lektu@terra.es>
13916
13917 * fileio.c (read_file_name_cleanup): Add missing return.
13918
13919 2002-06-26 Richard M. Stallman <rms@gnu.org>
13920
13921 * window.c (Frecenter): Don't set force_start flag.
13922
13923 * minibuf.c (do_completion, Fminibuffer_complete_word)
13924 (Fminibuffer_completion_help): Complete just the text before point.
13925 (minibuffer_completion_contents): New function.
13926
13927 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
13928
13929 * frame.c (frames_bury_buffer): Function deleted.
13930
13931 2002-06-25 Miles Bader <miles@gnu.org>
13932
13933 * callint.c (Fcall_interactively): When checking to see if doprnt hit
13934 the end of callint_message, allow for a terminating '\0'.
13935
13936 2002-06-24 Juanma Barranquero <lektu@terra.es>
13937
13938 * w32select.c: Include composite.h
13939
13940 * w16select.c: Likewise.
13941
13942 2002-06-24 Kenichi Handa <handa@etl.go.jp>
13943
13944 * callproc.c (Fcall_process): If code detection is necessary,
13945 call detect_coding directly here.
13946
13947 * coding.c (detect_eol): Preserve coding->cmp_data.
13948
13949 * w16select.c (Fw16_get_clipboard_data):
13950 * w32fns.c (w32_to_x_font):
13951 * w32select.c (Fw32_get_clipboard_data):
13952 * xselect.c (selection_data_to_lisp_data):
13953 * xterm.c (XTread_socket): Disable composition handling.
13954
13955 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
13956
13957 * print.c (temp_output_buffer_setup): Kill all local variables.
13958
13959 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
13960
13961 * lread.c (Fread): Remove redundant and imprecise declaration.
13962
13963 * xfns.c (check_x_display_info): Use check_x_frame.
13964
13965 * .gdbinit (xprintsym): Use the new `xname' field.
13966 (xsymbol): Use it.
13967
13968 2002-06-22 Jason Rumney <jasonr@gnu.org>
13969
13970 * w32fns.c (file_dialog_callback): New function.
13971 (Fx_file_dialog): Allow selecting directories as well as files.
13972
13973 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13974
13975 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
13976 OpenBSD. Add support for mipseb-*-netbsd* machines.
13977
13978 2002-06-17 Andrew Choi <akochoi@shaw.ca>
13979
13980 * macterm.c (mac_scroll_area): Set foreground and backcolor to
13981 black and white before scrolling. Restore frame background and
13982 foreground color after scrolling.
13983 (do_window_update): Call XClearWindow before calling expose_frame.
13984 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
13985 FRAME_FOREGROUND_PIXEL of frame.
13986
13987 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
13988 test Mac command key as <ALT> key.
13989
13990 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
13991
13992 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
13993
13994 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
13995 Lookup keys in function-key-map immediately so that key-translation-map
13996 can be applied earlier.
13997 Remove function_key_possible and key_translation_possible, replaced
13998 by checking `keytran_start < t'.
13999
14000 * .gdbinit (xsymbol): Use the new `xname' field.
14001
14002 2002-06-17 Andrew Choi <akochoi@shaw.ca>
14003
14004 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
14005 test Mac command key as <ALT> key.
14006
14007 * mac.c (do_applescript): Call initialize_applescript if necessary
14008 when first called. Dispose of result_desc only when there is no error.
14009 (Fdo_applescript): Use %d format specifier instead of %ld.
14010
14011 2002-06-16 Andrew Choi <akochoi@shaw.ca>
14012
14013 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
14014 of FrontWindow for cases keyDown and autoKey.
14015
14016 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
14017 Vdefault_fontset to Monaco with mac-roman coding.
14018
14019 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
14020 init_process before and after inclusion of Carbon/Carbon.h, resp.
14021
14022 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
14023 cursor_gc.
14024 (add_font_name_table_entry): New function.
14025 (init_font_name_table): Use add_font_name_table_entry; add italic,
14026 bold, and bold-italic entries for truetype fonts.
14027
14028 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
14029 for Mac too.
14030 (try_font_list) [MAC_OS]: If no font matches given registry, try
14031 fonts with any registry matching face_family.
14032 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
14033
14034 * s/darwin.h: If autoconf detects the Ncurses library, define
14035 LIBS_TERMCAP to -lncurses to use it.
14036
14037 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
14038
14039 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
14040
14041 2002-06-15 Richard M. Stallman <rms@gnu.org>
14042
14043 * window.c (Fset_window_configuration): Explicitly preserve
14044 the point value that new_current_buffer had at the start.
14045
14046 2002-06-14 Juanma Barranquero <lektu@terra.es>
14047
14048 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
14049 Fix typos.
14050
14051 2002-06-14 Kim F. Storm <storm@cua.dk>
14052
14053 * insdel.c (insert_1_both, insert_from_string_1)
14054 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
14055 insert happened in the end_unchanged region. Otherwise, the
14056 redisplay may be confused and duplicate the last line in the
14057 buffer [seen after save-buffer when require-final-newline==t].
14058
14059 2002-06-13 Jason Rumney <jasonr@gnu.org>
14060
14061 * w32.c (init_environment): Remove EMACSLOCKDIR.
14062 (stat): Swap _S_IFDIR and _S_IFREG.
14063
14064 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14065
14066 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
14067 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
14068 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
14069 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
14070 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
14071 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
14072 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
14073 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
14074 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
14075 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
14076 SELECTION_REQUEST_EVENT, selection_clear_event to
14077 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
14078 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
14079 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
14080 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
14081 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
14082 no_event to NO_EVENT.
14083
14084 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14085
14086 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
14087
14088 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
14089
14090 * intervals.c (textget): Don't forget to `return'.
14091 (lookup_char_property): Use XCAR/XCDR.
14092
14093 2002-06-12 Juanma Barranquero <lektu@terra.es>
14094
14095 * xdisp.c (Fformat_mode_line): Fix typo.
14096
14097 2002-06-12 Kim F. Storm <storm@cua.dk>
14098
14099 * xdisp.c (Fformat_mode_line): New function.
14100 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
14101 (store_frame_title_char, store_frame_title): Use unconditionally.
14102 (init_xdisp): Defsubr Fformat_mode_line.
14103 Initialize frame_title_buf etc. unconditionally.
14104
14105 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
14106
14107 * keyboard.c (read_key_sequence):
14108 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
14109 things through those maps after downcasing events.
14110 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
14111 applies after function-key-map.
14112 Make sure that keytran can be done in the middle in the sequence.
14113 Be careful not to throw away events past the one we downcase.
14114
14115 * lread.c (read_integer): Remove unused var `tem'.
14116 (read1): Fix int/Lisp_Object mixup.
14117
14118 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
14119
14120 2002-06-11 Richard M. Stallman <rms@gnu.org>
14121
14122 * keyboard.c (readable_events): Ignore any number of
14123 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
14124
14125 2002-06-09 Miles Bader <miles@gnu.org>
14126
14127 * xfaces.c (Ftty_supports_face_attributes_p): New function.
14128 (parse_rgb_list, tty_lookup_color): New functions.
14129 (tty_defined_color): Use `tty_lookup_color' to do all the work.
14130 (color_distance, Fcolor_distance): New functions.
14131 (TTY_SAME_COLOR_THRESHOLD): New macro.
14132 (Qtty_color_standard_values): New variable.
14133 (syms_of_xfaces): Initialize new vars & functions.
14134
14135 2002-06-08 Colin Walters <walters@verbum.org>
14136
14137 * textprop.c (Vchar_property_alias_alist): New variable.
14138 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
14139
14140 * intervals.c (lookup_char_property): New function for looking up
14141 overlay and text properties, created from textget.
14142 (textget): Use it.
14143
14144 * intervals.h (lookup_char_property): Declare.
14145 (Vchar_property_alias_alist): Declare.
14146
14147 * buffer.c (Foverlay_get): Use lookup_char_property.
14148
14149 2002-06-07 Sam Steingold <sds@gnu.org>
14150
14151 * xselect.c (lisp_data_to_selection_data): Fix last change:
14152 *data_ret is not a Lisp string, while unibyte_string is.
14153
14154 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
14155
14156 * xselect.c (lisp_data_to_selection_data): Fix last change:
14157 set size_ret.
14158
14159 2002-06-07 Andreas Schwab <schwab@suse.de>
14160
14161 * m/amdx86-64.h: New file.
14162
14163 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
14164
14165 * fns.c (Fstring_make_unibyte): Doc fix.
14166
14167 * xselect.c (lisp_data_to_selection_data): If the requested type
14168 is STRING, call string_make_unibyte to encode the selected text
14169 as a string.
14170
14171 * window.c (Fset_window_hscroll): Doc fix.
14172
14173 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14174
14175 * fileio.c (choose_write_coding_system):
14176 Call select-safe-coding-system properly.
14177
14178 2002-06-03 Richard M. Stallman <rms@gnu.org>
14179
14180 * xdisp.c (message_with_string): Error if STRING is not a string.
14181
14182 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
14183
14184 * fileio.c (choose_write_coding_system): Pass FILE arg to
14185 Vselect_safe_coding_system_function.
14186
14187 2002-06-03 Ken Raeburn <raeburn@gnu.org>
14188
14189 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
14190
14191 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
14192
14193 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
14194 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
14195 * keymap.c (describe_command): Likewise.
14196 * minibuf.c (read_minibuf): Likewise.
14197
14198 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
14199 Cast `current_column' return value to int.
14200 (back_to_previous_visible_line_start)
14201 (reseat_at_next_visible_line_start, next_element_from_buffer):
14202 Cast `indented_beyond_p' 3rd arg to float.
14203
14204 * indent.c (last_known_column): Now a float.
14205 (current_column_1, position_indentation, current_column)
14206 (string_display_width): Return float.
14207 (Fcurrent_column): Cast `current_column' return value to int.
14208 (Fcurrent_indentation): Cast `position_indentation' retval to int.
14209 (indented_beyond_p): Third arg now a float.
14210 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
14211
14212 * lisp.h (current_column): Now returns float.
14213 (indented_beyond_p): 3rd arg now a float.
14214
14215 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
14216
14217 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
14218 is Qcompound_text_with_extensions.
14219
14220 * xselect.c (lisp_data_to_selection_data): Always set selection
14221 type as string if x_encode_text returns streingp non-NULL.
14222
14223 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
14224
14225 2002-05-30 Richard M. Stallman <rms@gnu.org>
14226
14227 * window.c (Fset_window_configuration): Correct the handling
14228 of point in current buffer, to work with multiple windows.
14229
14230 2002-05-29 Colin Walters <walters@verbum.org>
14231
14232 * lread.c (Fread_from_string): Don't depend on order of evaluation
14233 for C function parameters.
14234
14235 2002-05-28 Richard M. Stallman <rms@gnu.org>
14236
14237 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
14238 way for blinked-off state and for a nonselected window.
14239
14240 * window.c (window_scroll_pixel_based): Don't call Fbolp;
14241 instead, see if the new start pos is at beginning of line.
14242
14243 * fileio.c (Fwrite_region): If START is a string, don't
14244 make any annotations.
14245
14246 * eval.c (syms_of_eval): Doc fix.
14247
14248 2002-05-28 Colin Walters <walters@debian.org>
14249
14250 * emacs.c (USAGE1): Add --no-splash.
14251 (standard_args): Ditto.
14252
14253 2002-05-28 Colin Walters <walters@gnu.org>
14254
14255 * lread.c (readchar_count): New variable.
14256 (readchar): Increment it.
14257 (unreadchar): Decrement it.
14258 (read_multibyte): Decrement it.
14259 (Vread_with_symbol_positions): New variable.
14260 (Vread_symbol_positions_list): New variable.
14261 (read_internal_start): New function, created from Fread and
14262 Fread_from_string. Handle Vread_symbol_positions_list and
14263 Vread_with_symbol_positions.
14264 (readevalloop, Fread, Fread_from_string): Use it.
14265 (read1): Use readchar_count to add symbol positions to
14266 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
14267 (syms_of_lread): DEFVAR_LISP and initialize them.
14268
14269 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
14270 (substitute_object_recurse, substitute_object_in_subtree)
14271 (substitute_in_interval): Prototype.
14272 (read_multibyte): Return c if it's less than zero.
14273
14274 2002-05-28 Kim F. Storm <storm@cua.dk>
14275
14276 * fileio.c (Fread_file_name_internal): Added brute-force
14277 speed up for using predicate file-directory-p.
14278
14279 2002-05-28 Kim F. Storm <storm@cua.dk>
14280
14281 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
14282 New variables.
14283 (syms_of_fileio): DEFVAR_LISP them.
14284 (read_file_name_cleanup): New unwind function.
14285 (Fread_file_name_internal): Only return completions satifying
14286 Vread_file_name_predicate. Temporarily unwind protect and rebind
14287 default-directory while checking completions against the predicate.
14288 (Fread_file_name): Added PREDICATE argument. Specbind it to
14289 Vread_file_name_predicate during completion.
14290 Call Vread_file_name_function to read the file name if non-nil.
14291
14292 * lisp.h (Fread_file_name): Now has 6 args.
14293
14294 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
14295 predicate for Fread_file_name when reading directory name.
14296 Supply Qnil for predicate in other calls to Fread_file_name.
14297
14298 2002-05-26 Miles Bader <miles@gnu.org>
14299
14300 * term.c (tty_capable_p): New function.
14301 * dispextern.h (tty_capable_p): New function declaration.
14302 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
14303 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
14304
14305 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
14306
14307 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
14308 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
14309 (Vwrite_region_annotate_functions): Docstring fix.
14310
14311 2002-05-23 Kim F. Storm <storm@cua.dk>
14312
14313 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
14314 phys_cursor's hpos is overwritten. This is still not completely
14315 correct, as it doesn't really make sense to use hpos at all to
14316 get the cursor glyph (as that is relative to the width of the
14317 characters on the line, which may have changed during the update).
14318
14319 2002-05-22 Jason Rumney <jasonr@gnu.org>
14320
14321 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
14322 Lisp_Object.
14323 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
14324 Use modified enumfont_t struct.
14325
14326 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
14327
14328 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
14329 Handle the `hbar' cursor type.
14330 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
14331
14332 * w32fns.c (Qhbar): New variable.
14333 (x_specified_cursor_type): Use it.
14334
14335 2002-05-21 Ken Raeburn <raeburn@gnu.org>
14336
14337 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
14338 now, when the address is needed.
14339
14340 2002-05-21 Colin Walters <walters@gnu.org>
14341
14342 * Makefile.in (shortlisp): Add font-core.el.
14343
14344 2002-05-20 Richard M. Stallman <rms@gnu.org>
14345
14346 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
14347
14348 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
14349 equivalent key bindings here.
14350
14351 2002-05-20 Ken Raeburn <raeburn@gnu.org>
14352
14353 Change symbol structure to contain a lisp object for the symbol
14354 name:
14355 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
14356 object field named "xname".
14357 (SYMBOL_NAME): New macro.
14358 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
14359 name field.
14360 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
14361 (mark_object, gc_sweep): Use symbol xname field and XSTRING
14362 instead of name field.
14363 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
14364 SYMBOL_NAME instead of XSYMBOL and name field.
14365 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
14366 instead of XSYMBOL and name field.
14367 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
14368 and SYMBOL_NAME instead of XSYMBOL and name field.
14369 * coding.c (Fread_coding_system, code_convert_region1)
14370 (code_convert_string1, code_convert_string_norecord)
14371 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
14372 XSYMBOL and name field.
14373 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
14374 (Fmake_variable_buffer_local, Fmake_local_variable)
14375 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
14376 of XSYMBOL and name field.
14377 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
14378 XSYMBOL and name field.
14379 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
14380 instead of XSYMBOL and name field.
14381 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
14382 XSYMBOL and name field.
14383 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
14384 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
14385 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
14386 instead of XSYMBOL and name field.
14387 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
14388 (parse_modifiers, apply_modifiers, Fevent_convert_list)
14389 (parse_solitary_modifier, Fexecute_extended_command):
14390 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
14391 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
14392 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
14393 of XSYMBOL and name field.
14394 (describe_command, describe_translation): Use SYMBOL_NAME and
14395 assignment instead of XSYMBOL and name field and XSETSTRING.
14396 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
14397 instead of XSYMBOL and name field.
14398 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
14399 name field and XSETSTRING.
14400 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
14401 of XSYMBOL and name field.
14402 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
14403 assignment instead of XSYMBOL and name field and XSETSTRING.
14404 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
14405 XSTRING instead of XSYMBOL and name field.
14406 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
14407 and XSTRING instead of XSYMBOL and name field.
14408 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
14409 and XSTRING instead of XSYMBOL and name field.
14410 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
14411 XSTRING instead of XSYMBOL and name field.
14412 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
14413 of XSYMBOL and name field.
14414 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
14415 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
14416
14417 2002-05-19 Ken Raeburn <raeburn@gnu.org>
14418
14419 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
14420 and XCDR real rvalues in most configurations.
14421
14422 * buffer.c (fix_overlays_in_range, fix_overlays_before):
14423 Don't take the address of the cdr part of a cons cell; instead, track
14424 the parent cell and call XSETCDR, or set the variable for the head
14425 of the list if we haven't started down the list yet.
14426
14427 2002-05-19 Richard M. Stallman <rms@gnu.org>
14428
14429 * doc.c (reread_doc_file): Don't ask for confirmation.
14430
14431 2002-05-18 Jason Rumney <jasonr@gnu.org>
14432
14433 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
14434 (xbm_load_image): Use it.
14435 (xbm_load): Ditto.
14436 (xbm_read_bitmap_data): Reverted to xfns.c version.
14437 From David Ponce <david@dponce.com>.
14438
14439 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
14440
14441 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
14442 2.02 and later.
14443
14444 2002-05-16 Juanma Barranquero <lektu@terra.es>
14445
14446 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
14447
14448 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
14449
14450 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
14451 meaningful test.
14452 (read_char_minibuf_menu_prompt): Fix typo.
14453
14454 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
14455
14456 * eval.c (Fcommandp): Doc fix.
14457
14458 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
14459
14460 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
14461 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
14462 (Fset_keymap_parent): Gcpro a bit more.
14463 (access_keymap): Gcpro around meta_map call and around the main loop.
14464 (get_keyelt): Gcpro when following indirect references.
14465 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
14466 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
14467 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
14468 Remove useless ad-hoc remap code.
14469
14470 2002-05-13 Richard M. Stallman <rms@gnu.org>
14471
14472 * search.c (search_buffer): Give up boyer moore search if inverse
14473 translation change charset_base.
14474
14475 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
14476
14477 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
14478 characters is carried over from the previous block of text, adjust
14479 coding->produced to account for the extra character.
14480
14481 2002-05-11 Andreas Schwab <schwab@suse.de>
14482
14483 * coding.c (intersection): Keep the elements of the returned list
14484 in the same order as in the first list.
14485
14486 2002-05-11 Kim F. Storm <storm@cua.dk>
14487
14488 * keymap.c (current_minor_maps): Fix resizing of cmm_maps;
14489 only update cmm_size if realloc actually succeeds.
14490 Testing with initial size of 2 elements revealed that using
14491 realloc on GNU/Linux would cause a random trap in xmalloc
14492 later on, so I rewrote the code to use malloc/bcopy/free instead
14493 of realloc.
14494
14495 2002-05-10 Jason Rumney <jasonr@gnu.org>
14496
14497 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
14498
14499 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
14500
14501 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
14502 parens, to ensure correct evaluation order.
14503
14504 2002-05-10 Kim F. Storm <storm@cua.dk>
14505
14506 * keymap.c (Vemulation_mode_map_alists): New variable.
14507 (syms_of_keymap): DEFVAR_LISP it.
14508 (current_minor_maps): Process keymap alists in that list before
14509 minor-mode-overriding-map-alist and minor-mode-map-alist.
14510
14511 2002-05-09 Richard M. Stallman <rms@gnu.org>
14512
14513 * search.c (Freplace_match): Doc fix.
14514
14515 2002-05-09 Kim F. Storm <storm@cua.dk>
14516
14517 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
14518 Enlarge cursor rectangle drawn around image with non-zero relief.
14519
14520 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
14521 Enlarge cursor rectangle drawn around image with non-zero relief.
14522
14523 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
14524 Enlarge cursor rectangle drawn around image with non-zero relief.
14525
14526 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
14527
14528 * xselect.c (lisp_data_to_selection_data): Don't set selection
14529 type if comes from the Lisp object's car. If the selection
14530 contains a pure ASCII text, always return QSTRING as its type.
14531
14532 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14533
14534 * mac.c (mac-cut-function): Doc fix.
14535
14536 2002-05-05 Richard M. Stallman <rms@gnu.org>
14537
14538 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
14539
14540 2002-05-04 Jason Rumney <jasonr@gnu.org>
14541
14542 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
14543 for event-click-count.
14544
14545 * process.c (init_process): Only add server subfeature if we can
14546 use non-blocking I/O.
14547
14548 2002-05-04 Andrew Choi <akochoi@shaw.ca>
14549
14550 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
14551 repeatedly.
14552
14553 2002-05-03 Jason Rumney <jasonr@gnu.org>
14554
14555 * process.c (Fmake_network_process): Only support server sockets
14556 when we can make them non-blocking.
14557
14558 * s/ms-w32.h (HAVE_SELECT): Define.
14559
14560 * w32.h (FILE_NDELAY): New flag.
14561
14562 * w32.c (sys_getpeername, fcntl): New functions.
14563 (_sys_read_ahead): Temporarily block on non-blocking sockets.
14564
14565 * w32proc.c: include sys/file.h.
14566
14567 2002-05-03 Colin Walters <walters@verbum.org>
14568
14569 * callproc.c (Vgame_score_directory): Renamed to
14570 Vshared_game_score_directory.
14571
14572 2002-04-30 Richard M. Stallman <rms@gnu.org>
14573
14574 * s/gnu.h [emacs]: Include stdio.h.
14575 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
14576
14577 * eval.c (do_autoload): Error if called while preparing to dump.
14578
14579 * fns.c (Frequire): Error if need to load while preparing to dump.
14580
14581 2002-04-28 Colin Walters <walters@verbum.org>
14582
14583 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
14584 Default to "~/.emacs.d/games".
14585
14586 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
14587
14588 * lread.c (openp): Change arg exec_only to predicate.
14589 (build_load_history): Use XCAR/XCDR.
14590 (Flocate_file_internal): New fun.
14591 (syms_of_lread): Defsubr it.
14592 (Fload): Update call to openp.
14593
14594 * lisp.h (openp): Update prototype.
14595
14596 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
14597 * w32proc.c (sys_spawnve):
14598 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
14599 * w32.c (check_windows_init_file):
14600 * sound.c (Fplay_sound_internal):
14601 * process.c (Fstart_process):
14602 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
14603 * mac.c (run_mac_command):
14604 * emacs.c (init_cmdargs):
14605 * callproc.c (Fcall_process): Update call to openp.
14606
14607 * textprop.c (remove_properties): Don't use XCAR without CONSP.
14608
14609 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
14610
14611 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14612
14613 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
14614 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
14615
14616 2002-04-28 Richard M. Stallman <rms@gnu.org>
14617
14618 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
14619
14620 * eval.c (Fcommandp): New arg for_call_interactively.
14621 * lisp.h (Fcommandp): Declare new arg.
14622
14623 2002-04-28 Jason Rumney <jasonr@gnu.org>
14624
14625 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
14626
14627 * w32.c (stat, fstat): Use file index information to generate
14628 inodes for directories where available.
14629
14630 2002-04-26 Andrew Choi <akochoi@shaw.ca>
14631
14632 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
14633 [HAVE_CARBON]: Include Mac object files.
14634
14635 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
14636 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
14637 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
14638 MAC_OSX, and MAC_OS instead of macintosh.
14639
14640 * editfns.c [MAC_OS8]: Include stdio.h.
14641
14642 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
14643
14644 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
14645 Apple Monaco.
14646
14647 * process.c (QCfamily, QCfilte): Declare extern.
14648 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
14649 calling select.
14650
14651 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
14652
14653 * tparam.c [MAC_OSX]: Don't define BC and UP.
14654
14655 * config.in [HAVE_CARBON]: Add.
14656
14657 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
14658 Move here from mac/src and mac/inc.
14659
14660 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
14661
14662 2002-04-26 Gerd Moellmann <gerd@gnu.org>
14663
14664 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
14665 Compute phys_cursor_width from the x position returned
14666 by x_draw_glyhs, which is cheaper.
14667 (x_display_and_set_cursor): Compute the buffer-local value
14668 of `cursor-in-non-selected-windows' only when needed.
14669
14670 2002-04-25 Gerd Moellmann <gerd@gnu.org>
14671
14672 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
14673 cursor on a stretch glyph has a width that depends on
14674 x_stretch_cursor_p.
14675
14676 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14677
14678 * abbrev.c (abbrev-start-location): Doc fix.
14679
14680 * indent.c (Fvertical_motion): Fix last change.
14681
14682 2002-04-25 Gerd Moellmann <gerd@gnu.org>
14683
14684 * indent.c (Fvertical_motion): Move to the start of the line
14685 containing PT before moving up or down.
14686
14687 2002-04-24 Gerd Moellmann <gerd@gnu.org>
14688
14689 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
14690 case of writing a whole row, more or less analogous to the case of
14691 writing only parts of a row.
14692
14693 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
14694 0 for NO_CURSOR.
14695
14696 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
14697
14698 2002-04-23 Colin Walters <walters@verbum.org>
14699
14700 * buffer.c (syms_of_buffer): Doc fix.
14701
14702 2002-04-23 Gerd Moellmann <gerd@gnu.org>
14703
14704 * xterm.c (notice_overwritten_cursor): Handle the special case
14705 of the cursor being in the first blank non-text line at the
14706 end of a window.
14707
14708 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
14709 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
14710 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
14711 bar cursors only, to make phys_cursor_width contain what its name
14712 suggests.
14713 (notice_overwritten_cursor): Consider the cursor image erased if
14714 the output area intersects the cursor image in y-direction.
14715
14716 2002-04-23 Simon Marshall <simon@gnu.org>
14717
14718 * xfns.c (x_set_mouse_color): Change default for cross_cursor
14719 to XC_hand2.
14720
14721 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14722
14723 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
14724
14725 2002-04-22 Kim F. Storm <storm@cua.dk>
14726
14727 * textprop.c (remove_properties): Fixed trap for malformed plist.
14728
14729 2002-04-22 Richard M. Stallman <rms@gnu.org>
14730
14731 * cmds.c (Fend_of_line): Handle intangible text in mid line.
14732
14733 * window.c (make_window): Initialize height_fixed_p,
14734 last_cursor_off_p, and p->cursor_off_p slots.
14735
14736 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14737
14738 * fns.c (use-dialog-box): Doc fix.
14739
14740 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14741
14742 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
14743 variables `row', `i' and `area'.
14744 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
14745 toolkit library.
14746
14747 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
14748
14749 * xfaces.c (clear_font_table): Don't free the default font of
14750 a frame even if it's on another display.
14751 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
14752 that could be Qt.
14753
14754 2002-04-19 Juanma Barranquero <lektu@terra.es>
14755
14756 * indent.c (Fmove_to_column): Remove unused local variable
14757 `next_boundary_byte'.
14758 (current_column_1): Likewise.
14759
14760 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
14761
14762 * msdos.c (Qhbar): New variable.
14763 (syms_of_msdos): Intern and staticpro it.
14764 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
14765 cursor type.
14766
14767 2002-04-19 Dave Lambert <dlambert@acm.org>
14768
14769 Theses change implement an underscore-like (`hbar') cursor.
14770
14771 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
14772
14773 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
14774 Handle the `hbar' cursor type.
14775 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
14776
14777 * xfns.c (Qhbar): New variable.
14778 (syms_of_xfns): Intern and staticpro it.
14779 (x_specified_cursor_type): Handle `hbar' cursor.
14780
14781 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
14782 not defined.
14783
14784 2002-04-18 Richard M. Stallman <rms@gnu.org>
14785
14786 * textprop.c (remove_properties): New arg LIST allows scanning
14787 either a list or a plist.
14788 (interval_has_some_properties_list): New function, like
14789 interval_has_some_properties using list instead of plist.
14790 All callers changed.
14791 (Fremove_list_of_text_properties): New function.
14792 (syms_of_textprop): Defsubr it.
14793
14794 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
14795
14796 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
14797
14798 2002-04-17 Juanma Barranquero <lektu@terra.es>
14799
14800 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
14801
14802 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
14803
14804 * window.c (coordinates_in_window): Don't report on margin area
14805 if its width is zero.
14806
14807 2002-04-16 Jason Rumney <jasonr@gnu.org>
14808
14809 * w32fns.c (Fx_file_dialog): Decode file name before using.
14810
14811 * w32term.c (construct_drag_n_drop): Likewise.
14812
14813 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
14814
14815 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
14816 store load-history in pure space.
14817
14818 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
14819
14820 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
14821
14822 * xterm.c (Qlatin_1, Qutf_8): New vars.
14823 (syms_of_xterm): Initialize them.
14824 (XTread_socket): Eliminate incorrect optimization that tried to avoid
14825 decoding the output of X*LookupString.
14826 Always use latin-1 to decode the output of XLookupString.
14827 Try Xutf8LookupString if XmbLookupString failed.
14828
14829 * region-cache.c (new_region_cache): Use BEG.
14830
14831 2002-04-16 Gerd Moellmann <gerd@gnu.org>
14832
14833 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
14834 configuration files.
14835 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
14836 returns 0.
14837
14838 2002-04-15 Andreas Schwab <schwab@suse.de>
14839
14840 * config.in: Regenerated using autoheader.
14841
14842 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
14843 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
14844 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
14845 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
14846 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
14847 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
14848 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
14849 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
14850 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
14851 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
14852 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
14853 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
14854 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
14855 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
14856 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
14857 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
14858 STACK_DIRECTION, now set by autoconf.
14859
14860 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14861
14862 * dispnew.c (marginal_area_string): Sort arguments.
14863
14864 * dispextern.h (marginal_area_string): Add prototype.
14865
14866 2002-04-13 Richard M. Stallman <rms@gnu.org>
14867
14868 * fileio.c (Finsert_file_contents):
14869 Don't call temp_output_buffer_setup--do just part, by hand.
14870
14871 * coding.c (run_pre_post_conversion_on_str):
14872 Don't call temp_output_buffer_setup--do just part, by hand.
14873
14874 * keyboard.c (command_loop_1): Don't call start_hourglass
14875 or cancel_hourglass when executing a macro.
14876
14877 * marker.c (count_markers): New function.
14878
14879 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
14880 grow without limit. Move recently used elements to the front.
14881
14882 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
14883
14884 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
14885
14886 2002-04-12 Gerd Moellmann <gerd@gnu.org>
14887
14888 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
14889 rows marginal areas.
14890 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
14891 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14892
14893 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
14894
14895 2002-04-12 Dave Love <fx@gnu.org>
14896
14897 * dispnew.c (marginal_area_string): New.
14898
14899 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
14900 (Qleft_margin, Qright_margin): Declare.
14901 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
14902
14903 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
14904 note_mode_line_highlight and extended.
14905
14906 * keyboard.c (Qleft_margin, Qright_margin): Declare.
14907 (make_lispy_event): Deal with mouse events in margins.
14908
14909 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
14910
14911 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
14912
14913 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
14914 than deactivating the mark if tmm is set to `lambda'.
14915 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
14916 Use a single event for HELP_EVENT.
14917 (Fexecute_extended_command): Save last_point_position.
14918
14919 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14920
14921 * lisp.h (Fpropertize): Add prototype.
14922
14923 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
14924
14925 2002-04-10 Colin Walters <walters@verbum.org>
14926
14927 * config.in: Add HAVE_SHARED_GAME_DIR.
14928
14929 * callproc.c: (Vgame_score_directory): New variable.
14930 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
14931
14932 2002-04-10 Richard M. Stallman <rms@gnu.org>
14933
14934 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
14935
14936 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
14937
14938 * minibuf.c (read_minibuf): Use empty_string.
14939 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
14940 Short-circuit the search as soon as it "failed".
14941 (Fall_completions): Allow lambda forms and lists of strings for alist.
14942 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
14943 when require_match is nil.
14944 (Ftest_completion): Rename from `test_completion' and export to elisp.
14945 Call the predicate also when alist is a list.
14946 Obey Vcompletion_regexp_list.
14947 (do_completion, Fminibuffer_complete_and_exit): Use it.
14948 (Fassoc_string): Rename from `assoc_for_completion'.
14949 Allow list of strings as well and export to elisp.
14950
14951 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
14952
14953 * puresize.h (BASE_PURESIZE): Increase to 900KB.
14954
14955 2002-04-08 Juanma Barranquero <lektu@terra.es>
14956
14957 * w32.c (sys_accept): Don't hide variable `s'.
14958
14959 2002-04-05 Gerd Moellmann <gerd@gnu.org>
14960
14961 * callint.c (Fcall_interactively): Use INTEGERP instead of
14962 NUMBERP for checking Vhistory_length.
14963
14964 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14965
14966 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
14967 Doc fix to reflect it.
14968
14969 2002-04-04 Richard M. Stallman <rms@gnu.org>
14970
14971 * xdisp.c (display_mode_element): New arg RISKY.
14972 Disregard text props found or specified within a variable
14973 that isn't marked risky-local-variable.
14974 (Qrisky_local_variable): New variable.
14975 (syms_of_xdisp): Init and staticpro it.
14976
14977 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
14978
14979 * undo.c (record_point): New fun.
14980 (record_delete, record_insert): Use it.
14981
14982 2002-04-03 Juanma Barranquero <lektu@terra.es>
14983
14984 * doc.c (Fdocumentation): Add missing parentheses.
14985 (Fdocumentation_property): Likewise.
14986
14987 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
14988
14989 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
14990 data is 0, just return nil.
14991
14992 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
14993
14994 * msdos.c (syms_of_msdos): Fix last change with
14995 mouse_autoselect_window.
14996
14997 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14998
14999 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
15000 mouse_autoselect_window.
15001
15002 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
15003
15004 * keyboard.c (make_lispy_event): Handle unknown keysyms together
15005 with system-specific keysyms. Use it also for unknown function keys.
15006
15007 * doc.c (reread_doc_file): Return whether reload was attempted.
15008 (Fdocumentation, Fdocumentation_property): Don't try to reload
15009 if the doc is 0 and only ask once.
15010
15011 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
15012
15013 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
15014
15015 * keyboard.c (read_char): If the event was Qselect_window,
15016 restore timer_idleness_start_time to its previous value.
15017
15018 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
15019
15020 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
15021
15022 * region-cache.c (new_region_cache): Use BEG.
15023
15024 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
15025 Use BEG and BEG_BYTE.
15026
15027 * doc.c (get_doc_string): Return nil if the location is wrong.
15028 (reread_doc_file): New fun.
15029 (Fdocumentation, Fdocumentation_property):
15030 Call it if get_doc_string fails.
15031 (Fsnarf_documentation): Make it work for a dumped Emacs.
15032
15033 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
15034 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
15035
15036 * charset.c (Fstring): Allow 0 arguments.
15037
15038 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
15039
15040 * process.c (DATAGRAM_CONN_P, list_processes_1)
15041 (Fprocess_datagram_address, Fset_process_datagram_address)
15042 (Fset_network_process_options, server_accept_connection):
15043 Fix some int/Lisp_Object confusions (thank you union types).
15044
15045 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15046
15047 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
15048
15049 * w32term.c: Likewise.
15050 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
15051
15052 * keyboard.c (Qselect_window): New symbol.
15053 (head_table): Use it.
15054 (keys_of_keyboard): Bound select-window event to handle-select-window.
15055 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
15056
15057 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
15058 (last_window): New variable.
15059 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
15060 (note_mouse_movement): Remove reimplemented code in #if 0.
15061 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
15062 Emacs windows.
15063
15064 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
15065
15066 2002-03-31 Gerd Moellmann <gerd@gnu.org>
15067
15068 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
15069 Callers changed.
15070
15071 2002-03-30 Richard M. Stallman <rms@gnu.org>
15072
15073 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
15074 loop whenever it stops making progress.
15075
15076 * widget.c (set_frame_size): Don't call change_frame_size.
15077
15078 2002-03-30 Gerd Moellmann <gerd@gnu.org>
15079
15080 * dispnew.c (direct_output_for_insert):
15081 Call mark_window_display_accurate.
15082
15083 2002-03-29 Jason Rumney <jasonr@gnu.org>
15084
15085 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
15086
15087 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
15088
15089 * Makefile.in (lread.o): Depend on coding.h.
15090
15091 * lread.c (openp, Fload): Encode the file name before passing it
15092 to `stat', `access', and `emacs_open'.
15093 (openp): GCPRO the encoded file name. Don't recompute Lisp
15094 strings unnecessarily.
15095
15096 2002-03-29 Kim F. Storm <storm@cua.dk>
15097
15098 * fns.c (Flax_plist_put): Doc fix.
15099
15100 2002-03-28 Miles Bader <miles@gnu.org>
15101
15102 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
15103
15104 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15105
15106 * process.c (set-network-process-options): Add usage.
15107 (make-network-process): Doc fix.
15108
15109 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
15110
15111 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
15112
15113 2002-03-26 Richard M. Stallman <rms@gnu.org>
15114
15115 * fns.c (Fsubstring_no_properties): New function.
15116 (Flax_plist_get, Flax_plist_put): New functions.
15117 (syms_of_fns): defsubr them.
15118
15119 * xdisp.c (update_menu_bar): Test only update_mode_lines;
15120 don't test or alter w->update_mode_line.
15121
15122 * window.c (Fdisplay_buffer): Doc fix.
15123
15124 2002-03-24 Richard M. Stallman <rms@gnu.org>
15125
15126 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
15127
15128 2002-03-24 Gerd Moellmann <gerd@gnu.org>
15129
15130 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
15131 (Fdefmacro): Handle `(declare ...)'.
15132 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
15133 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
15134
15135 2002-03-24 Jason Rumney <jasonr@gnu.org>
15136
15137 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
15138 (xbm_file_p): Add prototypes.
15139 (xbm_format, xbm_image_p): Sync with xfns.c.
15140 (reflect_byte): New function.
15141 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
15142 (xbm_load_image): Create bitmaps with a depth of 1.
15143 (init_xfns): Enable XBM images.
15144
15145 2002-03-23 Jason Rumney <jasonr@gnu.org>
15146
15147 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
15148 correctly. Do not pass up_modifier to keyboard buffer.
15149
15150 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
15151
15152 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
15153
15154 * Makefile.in (bootstrapclean): New target.
15155 (bootstrap-temacs, bootstrap-doc): Remove.
15156 (bootstrap-emacs): Use a bog-standard `temacs'.
15157 Don't bother to build a DOC file.
15158
15159 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
15160
15161 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
15162 in temacs even if !CANNOT_DUMP.
15163 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
15164
15165 * alloc.c (check_pure_size): Only output a warning.
15166
15167 2002-03-22 Jason Rumney <jasonr@gnu.org>
15168
15169 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
15170 supported.
15171
15172 * w32term.c (zv_bits): Declare as short, for word alignment.
15173 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
15174 (syms_of_w32term): Define x-use-underline-position-properties.
15175
15176 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
15177 (clear_image_cache): Block input, fix logic, clear matrices in
15178 all frames that share this cache.
15179
15180 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
15181
15182 * emacs.c (main): Update the Copyright year in the blurb printed
15183 by "emacs --version".
15184
15185 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
15186
15187 * xterm.c (XTread_socket): If XK_ISO_Lock and
15188 XK_ISO_Last_Group_Lock are defined, handle keysyms between
15189 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
15190
15191 2002-03-21 Kim F. Storm <storm@cua.dk>
15192
15193 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
15194 menu-bar bindings in keymap and local-map properties _are_ used.
15195 But try keymap property first in accordance with 2002-01-03 patch.
15196 Added comment describing why this is not always reliable.
15197 (tool_bar_items): Ditto for tool-bar.
15198
15199 2002-03-21 Jason Rumney <jasonr@gnu.org>
15200
15201 * w32fns.c (x_clear_image_1): Disable color table code.
15202
15203 2002-03-21 Kim F. Storm <storm@cua.dk>
15204
15205 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
15206 removed the wrong version of the DEFUN macro; fixed it.
15207
15208 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
15209 Fmember rather than Fmemq).
15210 (Fprovide): Check that subfeatures is a list.
15211
15212 * process.c (QCfeature, QCdatagram): Removed variables.
15213 (QCtype, Qdatagram): New variables.
15214 (network_process_featurep): Removed function.
15215 (Fmake_network_process): Removed :feature check.
15216 Use :type 'datagram instead of :datagram t to create a datagram
15217 socket. This allows us to add other connection types (e.g. raw
15218 sockets) later in a consistent manner.
15219 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
15220 supported subfeatures for feature make-network-process.
15221 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
15222 Intern and staticpro QCtype and Qdatagram.
15223 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
15224
15225 * xfns.c: (QCtype): Remove duplicate declaration and
15226 initialization (is now declared in process.c).
15227
15228 * w32fns.c: (QCtype): Remove duplicate declaration and
15229 initialization (is now declared in process.c).
15230
15231 2002-03-21 Richard M. Stallman <rms@gnu.org>
15232
15233 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
15234 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
15235 when jumping to `fail' to avoid undoing reg changes in the
15236 last iteration of the loop.
15237 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
15238
15239 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
15240 Depend on process.h.
15241
15242 2002-03-20 Jason Rumney <jasonr@gnu.org>
15243
15244 Most of the following changes are still conditional on HAVE_IMAGES
15245 which is not set by default on Windows.
15246
15247 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
15248
15249 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
15250 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
15251 (four_corners_best, x_clear_image_1, x_clear_image)
15252 (x_alloc_image_color, postprocess_image)
15253 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
15254 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
15255 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
15256
15257 * w32gui.h (struct XImage): Define.
15258
15259 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
15260 extract mouse co-ordinates.
15261
15262 2002-03-20 Jason Rumney <jasonr@gnu.org>
15263
15264 * w32.c (init_winsock): Dynamically load new server and UDP
15265 socket functions.
15266 (socket_to_fd): New function.
15267 (sys_socket): Use it.
15268 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
15269 (sys_recvfrom, sys_sendto): New wrapper functions.
15270
15271 * process.c (QCfamily, QCfilter): Remove duplicate declaration
15272 and initialization.
15273
15274 * makefile.w32-in (LIBS): Remove $(WSOCK32).
15275
15276 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
15277
15278 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
15279 Don't use "sun" as a variable, it's a predefined constant on Sun
15280 machines.
15281
15282 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15283
15284 * bytecode.c (Fbyte_code): Revert last change.
15285
15286 2002-03-19 Kim F. Storm <storm@cua.dk>
15287
15288 * makefile.w32-in (LIBS): Add $(WSOCK32).
15289 From David Ponce <dponce@voila.fr>.
15290
15291 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15292
15293 * process.c (wait_reading_process_input): Move variables `pname'
15294 and `pnamelen' down where they are used.
15295
15296 * bytecode.c (Fbyte_code): Discard unused computed value to
15297 prevent gcc warning.
15298
15299 * lisp.h (Fplist_member): Add prototype.
15300
15301 2002-03-18 Kim F. Storm <storm@cua.dk>
15302
15303 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
15304 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
15305
15306 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
15307 Remove explicit GNU_LINUX settings for datagram support.
15308
15309 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15310
15311 * process.c (Fmake_network_process): Remove unused variable `sa'.
15312 Doc fix. Add usage:.
15313 (set_socket_options): Remove unused variables `optnum' and `opttype'.
15314
15315 2002-03-17 Richard M. Stallman <rms@gnu.org>
15316
15317 * xdisp.c (cursor_type_changed): New variable.
15318 (redisplay_internal): Redisplay all windows if cursor_type_changed.
15319 Clear it when clearing windows_or_buffers_changed.
15320 (try_cursor_movement, redisplay_window, try_window_id)
15321 (try_window_reusing_current_matrix): Test cursor_type_changed
15322 along with windows_or_buffers_changed.
15323
15324 * window.h (cursor_type_changed): New variable.
15325
15326 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
15327 not update_mode_lines, and always set it to 1.
15328
15329 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
15330 if no frames needed redrawing.
15331
15332 2002-03-17 Kim F. Storm <storm@cua.dk>
15333
15334 The following changes add support for network server processes,
15335 datagram connections, and local (unix) sockets.
15336
15337 * process.h (struct Lisp_Process): New member log.
15338 Doc fix: Member command used to indicate stopped network process.
15339 Doc fix: Member childp contains plist for network process.
15340 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
15341
15342 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
15343 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
15344 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
15345 New variables.
15346 (NETCONN1_P): New macro.
15347 (DATAGRAM_SOCKETS): New conditional symbol.
15348 (datagram_address): New array.
15349 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
15350 (status_message): Use concat3.
15351 (Fprocess_status): Add `listen' status to doc string. Return `stop'
15352 for a stopped network process.
15353 (Fset_process_buffer): Update contact plist for network process.
15354 (Fset_process_filter): Ditto. Don't enable input for stopped
15355 network processes. Server must listen, even if filter is t.
15356 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
15357 New functions.
15358 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
15359 (Fprocess_contact): Added KEY argument. Handle datagrams.
15360 (list_processes_1): Optionally show only processes with the query
15361 on exit flag set. Dynamically adjust column widths. Omit tty
15362 column if not needed. Report stopped network processes.
15363 Identify server and datagram network processes.
15364 (Flist_processes): New optional arg `query-only'.
15365 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
15366 (conv_lisp_to_sockaddr, set_socket_options)
15367 (network_process_featurep, unwind_request_sigio): New helper functions.
15368 (Fprocess_datagram_address, Fset_process_datagram_address):
15369 (Fset_network_process_options): New lisp functions.
15370 (Fopen_network_stream): Removed. Now defined in simple.el.
15371 (Fmake_network_process): New lisp function. Code is based on previous
15372 Fopen_network_stream, but heavily reworked with new property list based
15373 argument list, support for datagrams, server processes, and local
15374 sockets in addition to old client-only functionality.
15375 (server_accept_connection): New function.
15376 (wait_reading_process_input): Use it to handle incoming connects.
15377 Do not enable input on a new connection if process is stopped.
15378 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
15379 (send_process): Handle datagram sockets.
15380 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
15381 network process is indicated by setting command field to t .
15382 (Fprocess_send_eof): No-op if datagram connection.
15383 (Fstatus_notify): Don't read input for a stream server socket or a
15384 stopped network process.
15385 (init_process): Initialize datagram_address array.
15386 (syms_of_process): Intern and staticpro new variables, defsubr new
15387 functions.
15388
15389 2002-03-16 Jason Rumney <jasonr@gnu.org>
15390
15391 * w32fns.c (w32_to_all_x_charsets): Return correct type in
15392 startup case.
15393
15394 2002-03-16 Richard M. Stallman <rms@gnu.org>
15395
15396 * xdisp.c (redisplay_internal, redisplay_windows):
15397 Use list_of_error to call internal_condition_case_1.
15398 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
15399 so as to catch all errors with no possibility of debugger redisplay.
15400 (list_of_error): New variable.
15401 (syms_of_xdisp): Init and staticpro it.
15402
15403 * print.c (print_object): Delete `\ ' from printed rep of frame.
15404
15405 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
15406
15407 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
15408 until its implementation is fixed.
15409
15410 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15411
15412 * xfns.c (png_load): Remove unused variable `gamma_str'.
15413
15414 2002-03-14 Richard M. Stallman <rms@gnu.org>
15415
15416 * xfns.c (x_real_positions): Handle failure in XQueryTree.
15417
15418 2002-03-14 Miles Bader <miles@gnu.org>
15419
15420 * intervals.c (adjust_for_invis_intang): New function.
15421 (set_point_both): Use `adjust_for_invis_intang' to do most of the
15422 work for dealing with invisible+intangible regions. Do so before
15423 and after both forward and backward movements, to handle both
15424 front-sticky and rear-sticky cases.
15425 * textprop.c (text_property_stickiness): Function moved here from
15426 `editfns.c'.
15427 * intervals.h (text_property_stickiness): New declaration.
15428 * editfns.c (char_property_eq): Function removed.
15429 (text_property_stickiness): Function moved to `textprop.c'.
15430
15431 2002-03-13 Jason Rumney <jasonr@gnu.org>
15432
15433 * config.in: Add STRFTIME_NO_POSIX2.
15434
15435 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
15436 and %OX when underlying strftime does not.
15437
15438 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
15439
15440 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
15441 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
15442 line) to avoid annoying flicker.
15443 (xm_scroll_callback): Get rid of the now unnecessary kludge.
15444 (XTread_socket): Mark it static.
15445
15446 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
15447
15448 2002-03-13 Kim F. Storm <storm@cua.dk>
15449
15450 * puresize.h (BASE_PURESIZE): Increase to 775000.
15451
15452 2002-03-12 Juanma Barranquero <lektu@terra.es>
15453
15454 * editfns.c (syms_of_editfns): Fix typo.
15455
15456 2002-03-12 Gerd Moellmann <gerd@gnu.org>
15457
15458 * xsmfns.c: Include stdio.h because termhooks.h needs it.
15459 Include termopt.h for interrupt_input.
15460
15461 2002-03-11 Andreas Schwab <schwab@suse.de>
15462
15463 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
15464
15465 2002-03-11 Gerd Moellmann <gerd@gnu.org>
15466
15467 * xterm.c (note_mouse_movement): Put code for
15468 x_autoselect_window_p in #if 0.
15469
15470 * lread.c (Fload): Don't assume that message_with_string uses the
15471 string it is given like a C string.
15472
15473 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15474
15475 * xterm.h (x_session_check_input, x_session_initialize): Declare.
15476
15477 * xterm.c: (XTread_socket): Add call to x_session_check_input and
15478 x_session_have_connection.
15479 (x_initialize): Add call to x_session_initialize.
15480
15481 * termhooks.h (enum event_kind): Add save_session_event.
15482
15483 * keyboard.c: Add Emacs event save_session_event.
15484
15485 * emacs.c (main): Add call to syms_of_xsmfns.
15486
15487 * lisp.h (syms_of_xsmfns): Declare extern.
15488
15489 * config.in: Add HAVE_X_SM.
15490
15491 * Makefile.in (LIBXT): Add -lSM -lICE
15492 if HAVE_X_SM and not USE_X_TOOLKIT.
15493 (XOBJ): New file xsmfns.c added.
15494
15495 * xsmfns.c: New file for X session management.
15496
15497 2002-03-09 Jason Rumney <jasonr@gnu.org>
15498
15499 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
15500 read-only when setting modified time.
15501
15502 2002-03-08 Gerd Moellmann <gerd@gnu.org>
15503
15504 * xdisp.c (move_it_vertically_backward): At the end of the function,
15505 when moving forward by lines, treat terminal frames specially.
15506
15507 * keyboard.c (echo_char): Make sure to add a separator between
15508 keys even if echo_dash hasn't been called.
15509
15510 * xdisp.c: Use new string macros.
15511 (update_echo_area): Pass number of bytes to message3 instead of
15512 number of chars.
15513 (set_message_1): Don't access a string's size_byte directly.
15514 (decode_mode_spec_coding): Use number of bytes of eoltype string
15515 instead number of chars.
15516
15517 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
15518
15519 2002-03-08 Juanma Barranquero <lektu@terra.es>
15520
15521 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
15522 24-bit.
15523
15524 2002-03-06 Jason Rumney <jasonr@gnu.org>
15525
15526 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
15527
15528 2002-03-06 Gerd Moellmann <gerd@gnu.org>
15529
15530 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
15531 (cancel_echoing, echo_length, echo_truncate): Changed to
15532 work with new kboard definition.
15533 (echo_now): Use message3_nolog instead of message2_nolog.
15534
15535 * alloc.c (mark_kboards): Mark echo_string.
15536
15537 * keyboard.h (ECHOBUFSIZE): Removed.
15538 (struct kboard): Member echoptr removed, member echobuf renamed
15539 to echo_string.
15540
15541 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
15542 message3 instead of message2 to display the message using STRING's
15543 text properties.
15544
15545 2002-03-05 Andreas Schwab <schwab@suse.de>
15546
15547 * xdisp.c (hscroll_margin): Change to EMACS_INT.
15548
15549 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
15550
15551 * frame.c (default-frame-alist): Explain that setting it doesn't
15552 affect existing frames.
15553
15554 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
15555
15556 * indent.c (skip_invisible): Fix my brain fart.
15557
15558 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
15559
15560 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
15561
15562 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
15563 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
15564 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
15565 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
15566 and variables to use EMACS_INT instead of just int.
15567
15568 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
15569
15570 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
15571
15572 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
15573 environment, pass it down with corrected value.
15574
15575 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15576
15577 * lread.c (read_filtered_event): Do not call start_hourglass
15578 before returning.
15579
15580 2002-03-04 Juanma Barranquero <lektu@terra.es>
15581
15582 * w32term.c (x_display_and_set_cursor): Fix typo.
15583
15584 2002-03-03 Richard M. Stallman <rms@gnu.org>
15585
15586 * fileio.c (Fmake_temp_name): Doc fix.
15587
15588 2002-03-03 Gary Wong <gtw@gnu.org>
15589
15590 * termcap.c [!emacs]: Replace ospeed for building standalone
15591 libtermcap, for binary compatibility.
15592
15593 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
15594
15595 2002-03-03 Richard M. Stallman <rms@gnu.org>
15596
15597 * xrdb.c (file_p): Rename arg `path' to `filename'.
15598
15599 * abbrev.c (Fexpand_abbrev): Increment plist as use count
15600 only if it is an integer.
15601
15602 * xfns.c (png_load): Set screen_gamma based on f->gamma.
15603 If png_get_sRGB gives an answer, call png_set_gamma
15604 using the default image gamma value.
15605
15606 * lread.c (read1): When reading from a file, default string to
15607 multibyte only if it has some multibyte characters.
15608
15609 * print.c (print_object): Output multibyte chars 128...255
15610 using \x even if ! print_escape_multibyte.
15611
15612 * xdisp.c (display_mode_element): Move the places where
15613 bytepos, charpos, this, and lisp_string are set.
15614 Use lisp_string to set bytepos.
15615
15616 * xdisp.c (redisplay_internal):
15617 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
15618
15619 * xdisp.c (display_mode_element): Merge properties specified with
15620 :propertize onto those that come with the string.
15621
15622 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
15623
15624 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
15625 automatic-hscrolling. Users changed.
15626 <hscroll-margin>: Renamed from automatic-hscroll-margin.
15627 Users changed.
15628 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
15629
15630 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
15631
15632 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
15633
15634 2002-03-02 Kim F. Storm <storm@cua.dk>
15635
15636 * window.c (Fminibuffer_selected_window): New function.
15637 (syms_of_window): Defsubr it.
15638
15639 2002-03-01 Kim F. Storm <storm@cua.dk>
15640
15641 * window.h (struct window): New member phys_cursor_width.
15642
15643 * window.c (make_window, replace_window): Init phys_cursor_width.
15644
15645 * xterm.c (x_display_and_set_cursor): Blink box cursor using
15646 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
15647
15648 * w32term.c (x_display_and_set_cursor): Blink box cursor using
15649 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
15650
15651 * lisp.h (GCPRO6): New macro.
15652
15653 * process.c (Fopen_network_stream): Use GCPRO6.
15654
15655 2002-03-01 Kim F. Storm <storm@cua.dk>
15656
15657 * process.c (Qconnect, Qfailed): New variables.
15658 (syms_of_process): Intern and staticpro them.
15659 (Fprocess_status): Document connect and failed return values.
15660 [NON_BLOCKING_CONNECT]: New conditional.
15661 (connect_wait_mask, num_pending_connects): New variables.
15662 (status_message): Convert Qfailed status.
15663 (Fopen_network_stream): Added support for non-blocking connect.
15664 New optional args: filter, sentinel, non_blocking. Doc updated.
15665 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
15666 (deactivate_process): Handle pending non-blocking connect.
15667 (wait_reading_process_input): Poll for status of non-blocking
15668 connects. Exec sentinel directly when connect succeeds.
15669 (status_notify): Don't read process output if not yet connected.
15670
15671 2002-02-28 Kim F. Storm <storm@cua.dk>
15672
15673 * window.c: (minibuf_selected_window): Renamed from
15674 Vminibuf_selected_window. Users changed.
15675 (syms_of_window): Staticpro it.
15676
15677 2002-02-26 Kim F. Storm <storm@cua.dk>
15678
15679 The following changes add a new Vminibuf_selected_window variable
15680 which is similar to Vminibuf_scroll_window, but which is only set
15681 on entry to the minibuffer (from a non-minibuffer window):
15682
15683 * window.c: (Vminibuf_selected_window): New variable.
15684 (struct save_window_data): New member minibuf_selected_window.
15685 (Fset_window_configuration): Restore Vminibuf_selected_window.
15686 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
15687 Set minibuf_scroll_window member to nil if minibuf_level is 0.
15688 (compare_window_configurations): Compare minibuf_selected_window.
15689
15690 * window.h: (Vminibuf_selected_window): Declare extern.
15691
15692 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
15693 entry to minibuffer or on entry from a non-minibuffer window.
15694
15695 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
15696 Vminibuf_selected_window instead of Vminibuf_scroll_window.
15697
15698 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
15699 instead of Vminibuf_scroll_window when deciding in which window
15700 the region should be highlighted. Consequently, the region remains
15701 highlighteded even when a completion buffer is also displayed.
15702
15703 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
15704
15705 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
15706
15707 * xselect.c (Qcompound_text_with_extensions): Renamed from
15708 Qcompound_text_no_extensions.
15709 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
15710
15711 2002-02-26 Juanma Barranquero <lektu@terra.es>
15712
15713 * w32proc.c (syms_of_ntproc): Doc fix.
15714
15715 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15716
15717 * intervals.h: Include "dispextern.h" unconditionally.
15718
15719 2002-02-24 Jason Rumney <jasonr@gnu.org>
15720
15721 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
15722 and disp-table.elc.
15723 (lisp): Add emacs-lisp/backquote.elc.
15724
15725 2002-02-24 Kim F. Storm <storm@cua.dk>
15726
15727 * keymap.c (Flookup_key): Fix problem in 2001-12-28 patch:
15728 The validation of the event type was too strict as it didn't
15729 allow string events; buffer names are used in bindings for
15730 menu-bar-select-buffer (see `menu-bar-update-buffers').
15731
15732 2002-02-23 Kim F. Storm <storm@cua.dk>
15733
15734 The following changes rework my patch of 2002-02-06 which
15735 added command remapping by entering the commands directly into
15736 the keymaps. Now, command remapping uses an explicit `remap'
15737 prefix in the keymaps, i.e. [remap COMMAND].
15738
15739 * keymap.c (Qremap, remap_command_vector): New variables.
15740 (is_command_symbol): Remove function.
15741 (Fdefine_key): No longer accept a symbol for KEY.
15742 Added validation of [remap COMMAND] argument for KEY.
15743 The DEF is no longer required to be a symbol when remapping a command.
15744 (Fremap_command): New function to remap command through keymaps.
15745 (Flookup_key): Perform command remapping initiated by
15746 Fremap_command directly for speed.
15747 (Fkey_binding): Use Fremap_command for command remapping.
15748 (where_is_internal): Handle new command remapping representation.
15749 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
15750 staticpro them. Defsubr Fremap_command.
15751
15752 * keymap.h (Fremap_command): Declare extern.
15753 (is_command_symbol): Remove extern.
15754
15755 * keyboard.c (command_loop_1): Use Fremap_command for command
15756 remapping; now try command remapping for all symbols.
15757
15758 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
15759
15760 * coding.h (run_pre_post_conversion_on_str): Add prototype.
15761
15762 2002-02-23 Jason Rumney <jasonr@gnu.org>
15763
15764 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
15765 on the string before encoding it.
15766 (Fw32_get_clipboard_data): Run post-read-conversion on the string
15767 after decoding it.
15768
15769 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
15770
15771 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15772
15773 * w32term.c (enter_timestamp): Remove unused static variable to
15774 prevent warning.
15775
15776 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
15777
15778 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
15779
15780 * w16select.c (Fw16_get_clipboard_data): Fix last change.
15781
15782 * xselect.c (selection_data_to_lisp_data): Fix last change.
15783
15784 2002-02-22 Jason Rumney <jasonr@gnu.org>
15785
15786 * w32term.h (struct w32_output): New member menu_command_in_progress.
15787
15788 * w32menu.c (menubar_selection_callback): Free the menu and
15789 clear the menu_command_in_progress flag.
15790
15791 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
15792 (menu_free_timer): New variable.
15793 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
15794 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
15795 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
15796 menu command is in progress.
15797 <WM_COMMAND>: Set the menu_command_in_progress flag.
15798 Kill any menu_free_timer that is running.
15799
15800 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
15801 Call ExtTextOutA rather than ExtTextOut.
15802
15803 2002-02-22 Eli Zaretskii <eliz@gnu.org>
15804
15805 * puresize.h (BASE_PURESIZE): Increase to 755000.
15806
15807 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15808
15809 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
15810 on the string before encoding it.
15811 (Fw16_get_clipboard_data): Run post-read-conversion on the string
15812 after decoding it.
15813
15814 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15815
15816 Support for ICCCM Extended Segments in X selections:
15817
15818 * xselect.c <Qcompound_text_no_extensions>: New variable.
15819 (syms_of_xselect): Intern and staticpro it.
15820 (selection_data_to_lisp_data): Run post-read-conversion on decoded
15821 selection text.
15822 (lisp_data_to_selection_data): If next-selection-coding-system is
15823 compound-text-no-extensions, set the type of selection to be
15824 compound-text.
15825
15826 * xterm.h (x_encode_text): Update prototype.
15827
15828 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
15829 callers changed. If SELECTIONP is non-zero, run the
15830 pre-write-conversion function before encoding the selection text.
15831
15832 2002-02-21 Kim F. Storm <storm@cua.dk>
15833
15834 * frame.c (syms_of_frame): Change mouse-highlight default to t.
15835
15836 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
15837 Correct composing of language-change event.
15838
15839 2002-02-20 Kim F. Storm <storm@cua.dk>
15840
15841 * keyboard.c (menu_bar_items): Don't include keymap or local-map
15842 bindings at PT when building menu (the menu is not updated often
15843 enough for this to work reliable).
15844 (tool_bar_items): Likewise.
15845 (current_active_maps): Removed unused (and buggy) function.
15846
15847 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15848
15849 * xfns.c (gif_load): Use correct width and height for GIF images.
15850
15851 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
15852
15853 * floatfns.c (Fatan): Accept an optional second arg and call
15854 atan2 if passed 2 args.
15855
15856 2002-02-18 Jason Rumney <jasonr@gnu.org>
15857
15858 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
15859
15860 2002-02-17 Jason Rumney <jasonr@gnu.org>
15861
15862 * w32term.c (x_autoselect_window_p): New variable.
15863 (syms_of_w32term): DEFVAR_BOOL and initialize it.
15864 (note_mouse_movement): Use it.
15865
15866 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
15867
15868 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
15869
15870 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
15871 New variables.
15872 (syms_of_w32fns): Intern and staticpro them.
15873 (x_frame_parms) <"fullscreen">: New parameter.
15874 (x_fullscreen_move, x_set_fullscreen): New functions.
15875 (x_set_frame_parameters): Support Qfullscreen.
15876 (x_real_positions): Save x/y_pixels_diff frame params.
15877 (x_figure_window_size): Support full-screen frames.
15878 (Fx_create_frame): Default the fullscreen parameter.
15879
15880 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
15881 (x_fullscreen_adjust): New functions.
15882 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
15883 fullscreen. Call x_check_fullscreen_move, and set the
15884 want_fullscreen member of output_data.w32
15885 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
15886
15887 * w32term.h: New enum for FULLSCREEN_* constants.
15888 (struct w32_output): New members want_fullscreen, x_pixels_diff,
15889 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
15890 (x-fullscreen-adjust): New prototype.
15891
15892 2002-02-17 Kim F. Storm <storm@cua.dk>
15893
15894 * frame.c: (Vmouse_highlight): New variable.
15895 (syms_of_frame): DEFVAR_LISP it.
15896
15897 * frame.h: (Vmouse_highlight): Declare extern.
15898
15899 * xterm.h (struct x_display_info): Add mouse_face_hidden.
15900
15901 * xterm.c (disable_mouse_highlight): Removed variable.
15902 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
15903 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15904 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
15905 and on after keyboard input.
15906 (x_term_init): Initialize mouse_face_hidden.
15907
15908 * msdos.h (struct display_info): Add mouse_face_hidden.
15909
15910 * msdos.c (disable_mouse_highlight): Removed variable.
15911 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15912 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
15913 (internal_terminal_init): Initialize mouse_face_hidden.
15914 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
15915 and on after keyboard input.
15916
15917 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
15918
15919 * w32term.c (disable_mouse_highlight): Removed variable.
15920 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
15921 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15922 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
15923 and on after keyboard input.
15924 (w32_initialize_display_info): Initialize mouse_face_hidden.
15925
15926 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
15927
15928 * msdos.c (last_mouse_window): New variable.
15929 (dos_rawgetc): Fix last change--if the mouse is in the same window
15930 as recorded in last_mouse_window, don't select this window.
15931
15932 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
15933
15934 * msdos.c (x_autoselect_window_p): New variable.
15935 (syms_of_msdos): Defvar it.
15936 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
15937 which the last mouse movement occured, unless it is already selected.
15938
15939 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
15940 New variables.
15941 (syms_of_xdisp): DEVFAR them.
15942 (hscroll_window_tree): Use automatic_hscroll_margin and
15943 Vautomatic_hscroll_step to compute the amount of window scrolling.
15944
15945 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15946
15947 * xterm.c (x-autoselect-window): New variable.
15948 (note_mouse_movement): Use it.
15949
15950 * keyboard.c: Do not include "systime.h" twice.
15951
15952 2002-02-15 Andreas Schwab <schwab@suse.de>
15953
15954 * puresize.h (PURESIZE_RATIO): Increase to 9/5.
15955
15956 * alloc.c (NSTATICS): Increase to 1280.
15957
15958 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
15959
15960 * alloc.c (NSTATICS): Bump to 1026.
15961
15962 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
15963 (Vx_super_keysym): New variables.
15964 (syms_of_xterm): DEFVAR_LISP them.
15965 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
15966 variables to determine which keys to use for the various modifiers.
15967
15968 2002-02-13 Kim F. Storm <storm@cua.dk>
15969
15970 * window.c: (Vmode_line_in_non_selected_windows): Removed.
15971 (mode_line_in_non_selected_windows): New variable.
15972 (syms_of_window): DEFVAR_BOOL it.
15973
15974 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
15975 Use mode_line_in_non_selected_windows.
15976 (mode_line_in_non_selected_windows): Declare extern.
15977 (Vmode_line_in_non_selected_windows): Removed extern.
15978
15979 2002-02-13 Richard M. Stallman <rms@gnu.org>
15980
15981 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
15982 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
15983 (Fclear_this_command_keys): Doc fixes.
15984
15985 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
15986 (update_face_from_frame_parameter): Increment face_change_count
15987 and windows_or_buffers_changed to force redisplay using changed faces.
15988
15989 * xdisp.c (QCpropertize): New variable.
15990 (mode_line_proptrans_alist): New variable.
15991 (display_mode_element): New arg PROPS; all calls changed.
15992 Implement this, for strings.
15993 Handle literal output of strings by sharing the
15994 main-line code for strings, using local var `literal'.
15995 Handle :propertize feature.
15996 (syms_of_xdisp): Initialze and staticpro QCpropertize and
15997 mode_line_proptrans_alist.
15998
15999 2002-02-11 Kim F. Storm <storm@cua.dk>
16000
16001 * window.c: (Vmode_line_in_non_selected_windows): New variable.
16002 (syms_of_window): DEFVAR_LISP it.
16003
16004 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
16005 (CURRENT_MODE_LINE_FACE_ID): Use it.
16006 (Vmode_line_in_non_selected_windows): Declare extern.
16007
16008 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
16009 to get mode line face.
16010
16011 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
16012
16013 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
16014 variables; cus-start.el doesn't need them anymore.
16015
16016 2002-02-09 Kim F. Storm <storm@cua.dk>
16017
16018 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
16019 reduction. This fixes a display problem where stray newlines were
16020 inserted in the window (corrected by C-l). Clarified code (IMHO).
16021
16022 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
16023
16024 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
16025
16026 * xdisp.c (display_mode_lines): Fix last change.
16027
16028 2002-02-09 Jason Rumney <jasonr@gnu.org>
16029
16030 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
16031 match each other.
16032 (w32_load_system_font): Prevent Cleartype fonts from loading.
16033 (Fx_show_tip): Ensure tip frames are above other topmost windows.
16034
16035 2002-02-09 Kim F. Storm <storm@cua.dk>
16036
16037 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
16038 (CURRENT_MODE_LINE_HEIGHT): Use it.
16039 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
16040
16041 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
16042 (pos_visible_p, handle_face_prop): Likewise.
16043 (display_mode_lines): Likewise, but for the real selected window.
16044 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
16045
16046 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
16047 in non-selected windows.
16048 (realize_basic_faces): Realize it.
16049 (syms_of_term): Intern and staticpro it.
16050
16051 2002-02-08 Kim F. Storm <storm@cua.dk>
16052
16053 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
16054 Changed mail addresses to emacs-devel@gnu.org.
16055
16056 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
16057
16058 * fileio.c (Fsubstitute_in_file_name): If the file name includes
16059 ~user, and there's no such user, don't discard everything before ~user.
16060
16061 * floatfns.c (Fround): Doc fix.
16062
16063 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16064
16065 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
16066
16067 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
16068
16069 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
16070
16071 2002-02-07 Kim F. Storm <storm@cua.dk>
16072
16073 * keymap.c (where_is_internal): Only check whether definition is
16074 remapped if it fulfills is_command_symbol.
16075
16076 2002-02-07 Andreas Schwab <schwab@suse.de>
16077
16078 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
16079
16080 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
16081
16082 2002-02-06 Kim F. Storm <storm@cua.dk>
16083
16084 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
16085 defining command remapping. Doc updated.
16086 (Flookup_key): Remap command through keymap if KEY is a symbol.
16087 (is_command_symbol): New function.
16088 (Fkey_binding): Use it. New optional argument NO-REMAP.
16089 Doc updated. Callers changed. Perform command remapping via
16090 recursive call unless that arg is non-nil.
16091 (where_is_internal): New argument no_remap. Callers changed.
16092 Call recursively to find original key bindings for a remapped
16093 comand unless that arg is non-nil.
16094 (Fwhere_is_internal): New optional argument NO-REMAP.
16095 Doc updated. Callers changed. Pass arg to where_is_internal.
16096
16097 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
16098 (is_command_symbol): Add prototype.
16099
16100 * keyboard.c (Vthis_original_command): New variable.
16101 (syms_of_keyboard): DEFVAR_LISP it.
16102 (command_loop_1): Set it, and perform command remapping.
16103
16104 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16105
16106 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
16107
16108 2002-02-06 Jason Rumney <jasonr@gnu.org>
16109
16110 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
16111
16112 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
16113
16114 * charset.c (get_charset_id): Use if-else instead of ?:.
16115
16116 2002-02-06 Richard M. Stallman <rms@gnu.org>
16117
16118 * filelock.c (S_ISLNK): Define if not defined.
16119
16120 2002-02-03 Richard M. Stallman <rms@gnu.org>
16121
16122 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
16123
16124 * lread.c (read1): Redesign strategy for force_multibyte and
16125 force_singlebyte. Now is_multibyte records whether read_buffer
16126 is multibyte. Encountering any multibyte character makes it so.
16127
16128 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
16129
16130 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
16131 with the same sequence, map that sequence to f10 rather than f0.
16132
16133 2002-02-03 Andreas Schwab <schwab@suse.de>
16134
16135 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
16136 latter never being defined on GNU/Linux.
16137
16138 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
16139
16140 * xfaces.c (realize_default_face): Don't set the weight and slant of
16141 the default face to Qnormal, unless these attributes are unspecified.
16142
16143 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16144
16145 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
16146 Call cancel_hourglass unconditionally.
16147
16148 * eval.c (Fsignal): Remove duplicated declaration of
16149 the variable `display_hourglass_p'.
16150
16151 2002-01-31 Richard M. Stallman <rms@gnu.org>
16152
16153 * editfns.c (region_limit): Nicer error message.
16154
16155 * coding.c (decode_composition_emacs_mule):
16156 Give up if NCOMPONENT gets too large to index `component'.
16157
16158 * callint.c (check_mark): New arg to specify clearer error message.
16159 Callers changed.
16160
16161 2002-01-27 Richard M. Stallman <rms@gnu.org>
16162
16163 * minibuf.c (Fcompleting_read): Doc fix.
16164
16165 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16166
16167 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
16168 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
16169 Fix doc-strings.
16170
16171 2002-01-26 Richard M. Stallman <rms@gnu.org>
16172
16173 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
16174
16175 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
16176 and scroll_up_aggressively.
16177
16178 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16179
16180 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
16181
16182 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
16183
16184 * textprop.c (Fnext_property_change, Fnext_single_property_change)
16185 (Fprevious_property_change, Fprevious_single_property_change):
16186 Stay within the narrowed-buffer boundaries.
16187
16188 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
16189
16190 * term.c (Ftty_display_color_cells): New function.
16191 (syms_of_term): Defsubr it.
16192 (Ftty_display_color_cells, Ftty_display_color_p): Change the
16193 argument name to DISPLAY. Doc fix.
16194
16195 * dispextern.h: Add prototype for set_tty_color_mode and
16196 tty_setup_colors.
16197
16198 2002-01-24 Jason Rumney <jasonr@gnu.org>
16199
16200 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
16201 If region left to draw is not what was expected, mark the frame as
16202 garbaged.
16203
16204 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
16205 Combine the regions returned by BeginPaint and GetUpdateRect.
16206
16207 2002-01-23 Jason Rumney <jasonr@gnu.org>
16208
16209 * w32term.c (x_update_window_begin): Only hide caret if
16210 w32_use_visible_system_caret is set.
16211 (x_update_window_end): Only show caret if
16212 w32_use_visible_system_caret is set.
16213 (syms_of_w32term): Handle SystemParametersInfo call failing.
16214
16215 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
16216
16217 2002-01-22 Richard M. Stallman <rms@gnu.org>
16218
16219 * unexelf.c (unexec): Define n so as to cause compilation error
16220 for the code where people have often written n instead of nn.
16221
16222 * .gdbinit (hookpost-run): Defined.
16223
16224 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
16225
16226 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
16227
16228 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
16229
16230 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
16231 if fullscreen is being set.
16232
16233 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16234
16235 * minibuf.c (Fminibuffer_contents)
16236 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
16237 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
16238
16239 2002-01-21 Richard M. Stallman <rms@gnu.org>
16240
16241 * window.c (check_frame_size): Fix minimum height calculation.
16242
16243 2002-01-20 Ken Raeburn <raeburn@gnu.org>
16244
16245 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
16246 height before comparison.
16247 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
16248
16249 2002-01-20 Jason Rumney <jasonr@gnu.org>
16250
16251 * w32term.c (w32_system_caret_width): Remove.
16252 (w32_use_visible_system_caret): New user flag.
16253 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
16254 Windows reports a screen reader running.
16255 (x_update_window_begin): Hide the system caret.
16256 (x_update_window_end): Show the system caret.
16257 (x_display_and_set_cursor): Don't draw a cursor when
16258 w32_use_visible_system_caret is set. Do not adjust width.
16259
16260 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
16261 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
16262 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
16263 the user requests it. Use system default width when creating.
16264 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
16265
16266 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
16267 New window messages.
16268
16269 2002-01-20 Richard M. Stallman <rms@gnu.org>
16270
16271 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
16272
16273 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16274
16275 * doprnt.c (doprnt1): Fix typos in error call.
16276
16277 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
16278
16279 * unexelf.c (unexec) [__sgi]: Support the .got sections.
16280
16281 2002-01-20 Jason Rumney <jasonr@gnu.org>
16282
16283 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
16284 that Windows returns. If a double check fails, try to guess how
16285 ExtTextOut is going to act.
16286
16287 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
16288 in place of stricmp.
16289 (w32_list_synthesized_fonts): Removed.
16290 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
16291 (struct enumfont_t): New element; list.
16292 (enum_font_cb2): List all style and charset variations of a font.
16293 (Fw32_select_font): New optional argument; include_proportional.
16294 Exclude vertical fonts. Exclude proportional fonts unless
16295 include_proportional is non-nil.
16296 (w32_enable_synthesized_fonts): Change to a boolean.
16297 (Fw32_send_sys_command): Doc fix.
16298
16299 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16300
16301 * dispnew.c (update_frame): Move the variable `tem' to the block
16302 where it is used.
16303
16304 2002-01-19 Jason Rumney <jasonr@gnu.org>
16305
16306 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
16307 call to face-set-after-frame-default.
16308
16309 2002-01-18 Richard M. Stallman <rms@gnu.org>
16310
16311 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
16312 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
16313
16314 2002-01-17 Richard M. Stallman <rms@gnu.org>
16315
16316 * window.c (enlarge_window): When exceeding size of parent,
16317 directly delete all the siblings instead of trying to resize it.
16318
16319 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16320
16321 * term.c (set_tty_color_mode): Remove unused variable `tem'.
16322
16323 2002-01-16 Henrik Enberg <henrik@enberg.org>
16324
16325 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
16326
16327 2002-01-16 Kim F. Storm <storm@cua.dk>
16328
16329 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
16330 is invisible. This can happen if cursor is on top line of a
16331 window, and we switch to a buffer with a header line.
16332
16333 * w32term.c (x_erase_phys_cursor): Ditto.
16334
16335 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16336
16337 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
16338 `dont_resize' only when used.
16339
16340 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
16341
16342 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
16343
16344 * xdisp.c (display_mode_element): When computing charpos, depend
16345 on multibyteness of elt, not the text in field.
16346
16347 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16348
16349 * buffer.c (Fkill_all_local_variables):
16350 Increment `update_mode_lines' only once.
16351
16352 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16353
16354 * lisp.h (adjust_after_replace_noundo)
16355 (Fupdate_coding_systems_internal): Add prototypes.
16356
16357 * sound.c (Fplay_sound): Initialize header_size also for :data case.
16358
16359 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
16360
16361 Support for the --color command-line argument and tty-color-mode
16362 frame parameter:
16363
16364 * term.c (tty_default_color_capabilities, tty_setup_colors)
16365 (set_tty_color_mode): New functions.
16366 (term_init): Call tty_default_color_capabilities.
16367 (Qtty_color_mode_alist): New variable.
16368 (syms_of_term): Intern and staticpro it.
16369
16370 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
16371 frames.
16372 (do_switch_frame): For termcap frames, switch the tty
16373 color mode as specified by the frame's parameters.
16374 (Qtty_color_mode): New variable.
16375 (syms_of_frame): Intern and staticpro it.
16376
16377 * emacs.c (USAGE2): Add the --color option.
16378 (standard_args): Ditto.
16379
16380 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
16381
16382 * xterm.h (struct x_output): New members want_fullscreen,
16383 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
16384 y_pixels_outer_diff.
16385 New enum for FULLSCREEN_* constants.
16386 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
16387 is NULL.
16388 (x_fullscreen_adjust): Add prototype.
16389
16390 * emacs.c (USAGE2): Add the new full-screen arguments.
16391 (standard_args): Ditto.
16392
16393 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
16394 New variables.
16395 (syms_of_xfns): Intern and staticpro them.
16396 (x_frame_parms) <"fullscreen">: New parameter.
16397 (x_fullscreen_move, x_set_fullscreen): New functions.
16398 (x_set_frame_parameters): Support for Qfullscreen.
16399 (x_real_positions): More accurate computation of the frame position.
16400 (x_figure_window_size): Support full-screen frames.
16401 (Fx_create_frame): Default the fullscreen parameter.
16402
16403 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
16404 (XTread_socket) <Expose>: Call x_check_fullscreen.
16405 <ConfigureNotify>: Don't resize to fullscreen.
16406 Call x_check_fullscreen_move, and set the want_fullscreen member of
16407 output_data.x.
16408
16409 2002-01-13 Jason Rumney <jasonr@gnu.org>
16410
16411 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
16412 for mice with more than 3 buttons.
16413
16414 * w32term.c (parse_button): New parameter xbutton. Callers changed.
16415 (w32_read_socket): Handle new "XBUTTON" messages.
16416
16417 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
16418 (syms_of_w32fns): DEFVAR_BOOL it.
16419 (w32_wnd_proc): Handle new "XBUTTON" messages.
16420
16421 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16422
16423 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
16424
16425 2002-01-13 Andreas Schwab <schwab@suse.de>
16426
16427 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
16428
16429 2002-01-12 Andreas Schwab <schwab@suse.de>
16430
16431 * .gdbinit (xbuffer): Remove address operator since data is now a
16432 pointer.
16433
16434 2002-01-11 Richard M. Stallman <rms@gnu.org>
16435
16436 * insdel.c (adjust_after_replace_noundo): New function.
16437
16438 * coding.c (code_convert_region): Don't copy old text if undo disabled.
16439
16440 2002-01-09 Jason Rumney <jasonr@gnu.org>
16441
16442 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
16443 when checking for multiple frames.
16444
16445 2002-01-08 Richard M. Stallman <rms@gnu.org>
16446
16447 * window.c (delete_window): Rewrite the code for changing the
16448 selected window to handle the case where WINDOW is not a leaf.
16449
16450 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
16451
16452 * process.c (send_process): Set src_multibyte to 1 after the call
16453 top setup_coding_system, not before the call.
16454
16455 2002-01-07 Jason Rumney <jasonr@gnu.org>
16456
16457 * xmenu.c (set_frame_menubar, xmenu_show):
16458 (xdialog_show): Initialize wv->help to Qnil.
16459
16460 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
16461 (w32_dialog_show): Initialize wv->help to Qnil.
16462
16463 2002-01-06 Jason Rumney <jasonr@gnu.org>
16464
16465 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
16466
16467 * w32menu.c (w32_menu_display_help): Revert last change.
16468
16469 * xmenu.c (menu_highlight_callback): Revert last change.
16470
16471 2002-01-06 Andreas Schwab <schwab@suse.de>
16472
16473 * insdel.c (make_gap_larger): Make sure buffer size does not
16474 overflow range of int.
16475
16476 2002-01-05 Jason Rumney <jasonr@gnu.org>
16477
16478 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
16479 OVERLAPS_P.
16480
16481 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
16482
16483 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
16484 to the left or to the right of the pointer, put it against
16485 the left screen edge.
16486 (x_frame_parms): Add missing braces around initializer.
16487
16488 * w32term.c (x_setup_relief_colors): Don't compute an image's
16489 background color if it doesn't have a Pixmap.
16490 (notice_overwritten_cursor): Don't depend on
16491 output_cursor and updated_area. Compare pixel coordinates with
16492 window's cursor pixel coordinates.
16493 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
16494 Call notice_overwritten_cursor with new arg list.
16495 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
16496 unconditionally.
16497 (x_draw_image_relief): Use predefined macro instead of
16498 constant when the value of `tool_bar_button_relief' is negative.
16499
16500 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
16501
16502 2002-01-04 Richard M. Stallman <rms@gnu.org>
16503
16504 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
16505
16506 2002-01-03 Richard M. Stallman <rms@gnu.org>
16507
16508 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
16509 (Fkey_binding): Try the `keymap' property map first.
16510 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
16511 minor mode bindings.
16512
16513 2002-01-03 Kim F. Storm <storm@cua.dk>
16514
16515 * keyboard.c (read_key_sequence): Fix cast of submaps arg to bcopy.
16516
16517 2002-01-02 Richard M. Stallman <rms@gnu.org>
16518
16519 * keyboard.c (read_key_sequence): Handle the keymap property
16520 before minor mode maps.
16521
16522 * editfns.c (Fformat): Update thissize from field_width
16523 based on the actual width, in the string case.
16524
16525 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16526
16527 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
16528 when used as truth value to prevent gcc warnings.
16529
16530 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
16531 * w32proc.c: Include <config.h>.
16532
16533 2002-01-01 Andreas Schwab <schwab@suse.de>
16534
16535 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
16536 not EMACS_INT, to make them compatible with DEFVAR_INT.
16537 * lisp.h (max_specpdl_size): Adjust declaration.
16538
16539 2002-01-01 Richard M. Stallman <rms@gnu.org>
16540
16541 * print.c (print_object): Test print_escape_nonascii only for
16542 unibyte strings.
16543 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
16544 when outputting to a multibyte buffer.
16545
16546 2001-12-29 Richard M. Stallman <rms@gnu.org>
16547
16548 * print.c (print_object): In multibyte string, use hex escapes.
16549 Use octal only for unibyte strings.
16550 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
16551
16552 * lread.c (read_escape): New arg BYTEREP for reporting whether
16553 escape forces unibyte or multibyte.
16554 (read1): When reading a string, take note of that info.
16555
16556 2001-12-29 Ken Raeburn <raeburn@gnu.org>
16557
16558 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
16559 comparison to test lisp value returned by Fget.
16560
16561 2001-12-29 Richard M. Stallman <rms@gnu.org>
16562
16563 * lisp.h (max_specpdl_size): Add declaration.
16564
16565 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
16566
16567 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
16568 Handle modifier bits. Correct typo in error message.
16569
16570 2001-12-28 Richard M. Stallman <rms@gnu.org>
16571
16572 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
16573 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
16574 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16575 Update calls to Fdefine_abbrev.
16576 (write_abbrev): Update for changed data format.
16577 Don't list "system" abbrevs.
16578 (Fexpand_abbrev): Update use count with new data format.
16579 (describe_abbrev): Update for changed data format.
16580 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
16581
16582 * config.in (HAVE_MBSINIT): Add #undef.
16583
16584 * strftime.c (mbsinit): Define as no-op if not available.
16585
16586 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
16587 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
16588
16589 * keymap.c (Flookup_key): Error message if key has wrong data type.
16590 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
16591 (exclude_key): New variable.
16592
16593 2001-12-28 Gerd Moellmann <gerd@gnu.org>
16594
16595 * xterm.c (x_setup_relief_colors): Don't compute an image's
16596 background color if it doesn't have a Pixmap.
16597
16598 * xterm.c (notice_overwritten_cursor): Don't depend on
16599 output_cursor and updated_area. Compare pixel coordinates with
16600 window's cursor pixel coordinates.
16601 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
16602 Call notice_overwritten_cursor with new arg list.
16603 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
16604 unconditionally.
16605
16606 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
16607 height of the cursor line to the amount to scroll.
16608
16609 2001-12-27 Richard M. Stallman <rms@gnu.org>
16610
16611 * intervals.c (set_point_both): The position after an invisible,
16612 intangible character is not an acceptable stopping point.
16613
16614 2001-12-27 Ken Raeburn <raeburn@gnu.org>
16615
16616 * window.c (enlarge_window): In new preserve_before code, convert
16617 CURBEG from lisp object to integer before doing arithmetic.
16618
16619 2001-12-27 Richard M. Stallman <rms@gnu.org>
16620
16621 * bytecode.c (Fbyte_code): Undo previous change.
16622
16623 2001-12-26 Kim F. Storm <storm@cua.dk>
16624
16625 * keyboard.c (record_char): Ignore duplicate help-echo events only
16626 separated by mouse-movement. When tracking mouse, only record
16627 first and last mouse-movement event in same window.
16628 Don't record mouse-movement events in keyboard macros.
16629
16630 2001-12-25 Richard M. Stallman <rms@gnu.org>
16631
16632 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
16633 (Fenlarge_window): New arg PRESERVE_BEFORE.
16634
16635 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
16636 instead of Fstring_as_unibyte.
16637
16638 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16639
16640 The following changes remove mocklisp support:
16641
16642 * mocklisp.h, mocklisp.c: Files removed.
16643
16644 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
16645 `Qmocklisp' and `Qmocklisp_arguments'.
16646 Remove prototype of syms_of_mocklisp.
16647
16648 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
16649
16650 * callint.c: Do not include mocklisp.h.
16651 (Fcall_interactively): Do not test for mocklisp case.
16652
16653 * eval.c: Remove variables `Qmocklisp_arguments',
16654 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
16655 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
16656 Do not test for mocklisp case.
16657 (Fwhile): Remove unused variable `tem'.
16658 (syms_of_eval): Remove variable `moclisp-arguments'.
16659
16660 * data.c (wrong_type_argument): Remove mocklisp case.
16661
16662 * doc.c (Fdocumentation): Remove mocklisp case.
16663
16664 * emacs.c (main): Do not call syms_of_mocklisp.
16665
16666 2001-12-21 Richard M. Stallman <rms@gnu.org>
16667
16668 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
16669 to the left or to the right of the pointer, put it against
16670 the left screen edge.
16671
16672 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
16673
16674 * Makefile.in (distclean): Remove .gdbinit if we are building
16675 outside the source tree.
16676
16677 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
16678
16679 * w32.c (emacs_root_dir): New function.
16680
16681 * msdos.c (emacs_root_dir): New function.
16682
16683 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
16684 of the current drive as the fallback for default_directory.
16685
16686 * dired.c (file_name_completion): Run the elements of
16687 completion-ignored-extensions through ENCODE_FILE.
16688
16689 * lisp.h (scmp): Remove prototype, since it's now a static
16690 function private to dired.c.
16691
16692 2001-12-18 Richard M. Stallman <rms@gnu.org>
16693
16694 * dired.c (scmp): Function moved from minibuf.c.
16695 Delete multibyte handling--used only on encoded strings.
16696
16697 * minibuf.c (scmp): Function moved to dired.c.
16698
16699 * fns.c (merge): Add QUIT call.
16700
16701 2001-12-18 Dave Love <fx@gnu.org>
16702
16703 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
16704 language/georgian.el.
16705
16706 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
16707
16708 * Makefile.in (lisp, shortlisp): Synchronize with changes to
16709 lisp/Makefile.in:DONTCOMPILE.
16710
16711 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16712
16713 * xdisp.c (window_box_height): Do not return negative values.
16714 From Gerd Moellmann <gerd@gnu.org>.
16715
16716 * keyboard.c (head_table): Add missing braces around initializer.
16717
16718 * term.c (keys): Likewise.
16719
16720 * xfns.c (x_frame_parms, visual_classes): Likewise.
16721
16722 2001-12-17 Sam Steingold <sds@gnu.org>
16723
16724 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
16725 patch (COMPOSING_P, not COMPOSING).
16726
16727 2001-12-17 Richard M. Stallman <rms@gnu.org>
16728
16729 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
16730
16731 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
16732 before calling decode_coding.
16733
16734 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
16735
16736 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
16737 instead of only for COMPOSITION_DISABLED.
16738
16739 2001-12-16 Richard M. Stallman <rms@gnu.org>
16740
16741 * alloc.c (pure_alloc): After overflow, allocate just a small block.
16742
16743 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
16744
16745 * buffer.h (struct buffer): New field `display_error_modiff'.
16746 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
16747
16748 * window.c (Frecenter): Clear display_error_modiff field.
16749
16750 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
16751 Call redisplay_window, but not if display_error_modiff field says no.
16752 (redisplay_window_error): New function.
16753 (displayed_buffer): New variable.
16754 (redisplay_internal, redisplay_windows): Call the new functions
16755 instead of redisplay_window directly.
16756
16757 2001-12-15 Richard M. Stallman <rms@gnu.org>
16758
16759 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
16760
16761 2001-12-14 Andrew Innes <andrewi@gnu.org>
16762
16763 * makefile.w32-in (EMACSLOADPATH): Define.
16764 ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs.
16765 (bootstrap-temacs): Remove dependency on bootstrap-clean.
16766
16767 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
16768
16769 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
16770 parameter have a numeric value all the time.
16771
16772 * w32fns.c (x_report_frame_params): Likewise.
16773
16774 2001-12-12 Richard M. Stallman <rms@gnu.org>
16775
16776 * fileio.c (Fwrite_region): Doc fix.
16777
16778 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
16779 (redisplay_internal): Call clear_image_cache only for window terminals.
16780
16781 2001-12-12 Gerd Moellmann <gerd@gnu.org>
16782
16783 * xdisp.c (move_it_vertically_backward): Change heuristic
16784 for the case that we didn't move far enough initially.
16785
16786 * window.c (Frecenter): Simplify computation in the case of window
16787 system frames and ARG < 0; use window_box_height.
16788
16789 2001-12-11 Richard M. Stallman <rms@gnu.org>
16790
16791 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
16792 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
16793
16794 2001-12-11 Andrew Innes <andrewi@gnu.org>
16795
16796 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
16797 arg is negative.
16798
16799 2001-12-11 Richard M. Stallman <rms@gnu.org>
16800
16801 * m/hp800.h: Split the __hpux conditional into the parts
16802 that are right for GNU/Linux too and the parts that are not.
16803 Use the former if GNU_LINUX.
16804 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
16805
16806 * s/gnu-linux.h (GNU_LINUX): Defined.
16807
16808 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16809
16810 * macros.c, msdos.c, w16select.c: Change doc-string comments to
16811 `new style' [w/`doc:' keyword].
16812
16813 2001-12-10 Jason Rumney <jasonr@gnu.org>
16814
16815 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
16816 before using.
16817
16818 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16819
16820 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
16821 keyword].
16822
16823 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
16824
16825 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
16826
16827 * s/hpux10.h (srand48): Don't undefine.
16828
16829 2001-12-09 Jason Rumney <jasonr@gnu.org>
16830
16831 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
16832 Add comment to explain where the struct came from.
16833 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
16834 (add_menu_item): Process pop-up menus first to avoid memory leak.
16835 (add_menu_item, w32_menu_display_help): Use `help' field as
16836 Lisp_Object.
16837 (w32_free_submenu_strings): Only free owner-drawn strings.
16838
16839 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16840
16841 * COPYING: Moved back.
16842
16843 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
16844 Add parentheses around && within ||.
16845
16846 * indent.c (compute_motion): Likewise.
16847
16848 * intervals.c (merge_properties_sticky): Likewise.
16849
16850 * coding.c (setup_coding_system, shrink_encoding_region)
16851 (Fdecode_sjis_char): Likewise.
16852
16853 2001-12-07 Andreas Schwab <schwab@suse.de>
16854
16855 * xdisp.c (display_mode_element): Don't read past end of string if
16856 it ends with '%'.
16857
16858 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
16859 can hold.
16860
16861 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
16862 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
16863 type changed to Lisp_Object.
16864 (syms_of_data): DEFVAR_LISP them.
16865
16866 2001-12-07 Richard M. Stallman <rms@gnu.org>
16867
16868 * callproc.c (init_callproc): Set Vdata_directory based on the source
16869 location whenever Emacs was run uninstalled.
16870
16871 2001-12-06 Paul Eggert <eggert@twinsun.com>
16872
16873 * config.in (HAVE_WORKING_VFORK): New #undefs.
16874 * process.c (create_process):
16875 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
16876 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
16877 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
16878 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
16879 * m/intel386.h (HAVE_VFORK): Likewise.
16880 * m/mips-siemens.h (HAVE_VFORK): Likewise.
16881 * m/mips.h (HAVE_VFORK): Likewise.
16882 * s/freebsd.h (vfork): Remove #define.
16883 * s/lynxos.h (HAVE_VFORK): Remove #undef.
16884 * s/usg5-4-2.h: Fix comment about vfork.
16885
16886 2001-12-06 Richard M. Stallman <rms@gnu.org>
16887
16888 * s/hpux10.h (random): Add undef.
16889 (HAVE_RANDOM): Define it just once.
16890
16891 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
16892
16893 * eval.c: Undo last change: the standard syntax is not wanted.
16894
16895 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
16896
16897 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
16898 scroll bars of the frame before deleting the frame itself. If the
16899 frame has a widget, delete the frame with XtDestroyWidget, and do
16900 not call XDestroyWindow before that.
16901
16902 2001-12-06 Kim F. Storm <storm@cua.dk>
16903
16904 * xfns.c (x_report_frame_params): Return actual fringe widths.
16905
16906 * w32fns.c (x_report_frame_params): Return actual fringe widths.
16907
16908 2001-12-05 Andrew Innes <andrewi@gnu.org>
16909
16910 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
16911 excessively large.
16912
16913 * insdel.c (make_gap_larger): New function.
16914 (make_gap_smaller): New function.
16915 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
16916 Call make_gap_smaller if arg is negative.
16917
16918 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
16919
16920 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
16921 Pass a dummy argument when calling interrupt_signal.
16922 (parse_menu_item): Mark disabled items before checking for empty def.
16923 (read_char_minibuf_menu_prompt): Make safety more visible.
16924 (read_key_sequence): Add a `first_unbound' variable.
16925 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
16926 unbound prefix as soon as we can detect it.
16927
16928 * doc.c (Fsnarf_documentation): Add prototype.
16929 (get_doc_string): Handle negative arguments.
16930 (Fdocumentation): Use AREF and ASIZE.
16931 Move the calls to get_doc_string to a single place.
16932 Don't confuse an interactive-spec for a docstring reference.
16933 (Fdocumentation_property): Take advantage of the fact that
16934 get_doc_string now ignores the sign of the docstring position.
16935
16936 * eval.c: Use standard syntax for usage in docstrings.
16937
16938 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16939
16940 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
16941
16942 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16943
16944 * xterm.c (x_draw_image_relief): Use predefined macro instead of
16945 constant when the value of `tool_bar_button_relief' is negative.
16946
16947 2001-12-02 Richard M. Stallman <rms@gnu.org>
16948
16949 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
16950 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
16951
16952 * fileio.c (read_non_regular): Delete Fsignal call.
16953
16954 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
16955
16956 * lisp.h (run_hook_list_with_args): Undo last change.
16957
16958 2001-12-01 Gerd Moellmann <gerd@gnu.org>
16959
16960 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
16961
16962 2001-12-01 Jason Rumney <jasonr@gnu.org>
16963
16964 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
16965
16966 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
16967 [!WM_MOUSELEAVE]: Define.
16968
16969 * w32menu.c (current_popup_menu, get_menu_item_info):
16970 (set_menu_item_info): New vars.
16971 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
16972 (w32_menu_show): Set current_popup_menu.
16973 (add_menu_item): Allocate new strings for owner-drawn menu items
16974 and help strings.
16975 Use owner-draw for disabled menu items again.
16976 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
16977 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
16978
16979 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
16980 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
16981 <WM_EXITMENULOOP>: Free menu strings.
16982 <WM_MOUSELEAVE>: Stop tracking mouse.
16983 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
16984
16985 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
16986 and mouse face.
16987
16988 2001-12-01 Kim F. Storm <storm@cua.dk>
16989
16990 The following changes add left-fringe and right-fringe
16991 frame parameters to adjust fringe widths, or remove one or
16992 both fringes.
16993
16994 * frame.h (struct frame): Remove trunc_area_pixel_width and
16995 trunc_area_cols fields.
16996 (Qleft_fringe, Qright_fringe): Declare.
16997 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
16998
16999 * frame.c (Qleft_fringe, Qright_fringe): New vars.
17000 (syms_of_frame): Initialize them.
17001
17002 * window.c (coordinates_in_window): Handle separate left and right
17003 fringe widths.
17004
17005 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
17006 and fringe_cols fields.
17007 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
17008 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
17009 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
17010 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
17011 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
17012 (x_compute_fringe_widths): Add prototype.
17013
17014 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
17015 fill fringe evenly with small dashes.
17016 (x_draw_fringe_bitmap): Clear background if necessary. Align and
17017 clip the new ZV bitmap to avoid jitter between rows.
17018 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
17019 background. Don't draw fringe bitmaps if fringe width is zero.
17020 (x_compute_fringe_widths): New function.
17021 (x_new_font, x_set_window_size_1): Use it.
17022
17023 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
17024 (x_set_frame_parameters): Process `font' parameter before other
17025 parameters as fringe widths depend on it.
17026 (x_set_fringe_width): New function.
17027 (x_figure_window_size): Use x_compute_fringe_widths.
17028 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
17029 parameters.
17030
17031 * widget.c (set_frame_size): Use x_compute_fringe_widths.
17032 (EmacsFrameSetCharSize): Ditto.
17033
17034 * w32term.h: Merged changes from xterm.h.
17035 * w32term.c: Merged changes from xterm.c.
17036 * w32fns.c: Merged changes from xfns.c.
17037
17038 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17039
17040 * COPYING: Removed.
17041
17042 2001-11-29 Dave Love <fx@gnu.org>
17043
17044 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
17045 extra extra slot.
17046 (detect_coding_mask): Fix call of detect_coding_iso2022.
17047
17048 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17049
17050 * fileio.c (file-name-coding-system)
17051 (default-file-name-coding-system): Doc fix (links to referenced
17052 variables added).
17053
17054 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
17055
17056 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
17057 Add dummy uses of gcproN variables.
17058
17059 * category.c (describe_category, describe_category_1)
17060 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
17061 (syms_of_category): Don't defsubr Sdescribe_categories.
17062
17063 2001-11-28 Richard M. Stallman <rms@gnu.org>
17064
17065 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
17066
17067 * Makefile.in (lispdir): New variable, referring to build dir.
17068 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
17069
17070 2001-11-28 Andrew Innes <andrewi@gnu.org>
17071
17072 * w32menu.c (w32_menu_display_help): Actually add the new argument
17073 OWNER.
17074
17075 2001-11-28 Jason Rumney <jasonr@gnu.org>
17076
17077 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
17078 menu items. From David Ponce <dponce@wanadoo.fr>.
17079 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
17080 conditionally.
17081 (w32_menu_display_help): New argument OWNER. Rewritten to store a
17082 help event in the owner frame's keyboard buffer.
17083
17084 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
17085 (Fx_show_tip): Don't subtract last width from row width.
17086
17087 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
17088 (w32_read_socket): Use EQ to compare frames.
17089
17090 2001-11-28 Gerd Moellmann <gerd@gnu.org>
17091
17092 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
17093 OVERLAPS_P.
17094
17095 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17096
17097 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
17098 `gcpro3' and `gcpro4'.
17099
17100 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
17101
17102 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
17103
17104 * ccl.c: Use AREF and ASIZE.
17105
17106 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
17107
17108 * lisp.h (run_hook_list_with_args): Remove.
17109 (LIST_END_P): Fix call to wrong_type_argument.
17110 (make_fixnum_or_float): Use EMACS_INT rather than int.
17111
17112 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
17113
17114 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
17115 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
17116
17117 * eval.c: Use AREF and ASIZE.
17118 (Ffetch_bytecode): Add the file name to the error message.
17119
17120 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
17121 which match the end of the file-name.
17122 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
17123 is not a valid env var, but leave it as is instead.
17124
17125 * keymap.c (access_keymap): Handle t bindings like nil bindings.
17126 Make nil bindings in char-tables transparent.
17127 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
17128
17129 2001-11-26 Richard M. Stallman <rms@gnu.org>
17130
17131 * textprop.c (set_text_properties_1): Allow START, END in either order.
17132 Do nothing if range is empty.
17133
17134 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
17135
17136 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
17137 (clean): Not here.
17138
17139 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
17140
17141 * textprop.c (set_text_properties_1): Clearly mark that the
17142 interval should not be empty.
17143
17144 * intervals.c (graft_intervals_into_buffer):
17145 Don't call set_text_properties_1 on an empty interval.
17146
17147 2001-11-25 Richard M. Stallman <rms@gnu.org>
17148
17149 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
17150
17151 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
17152 don't lose the data in it.
17153
17154 2001-11-25 Juanma Barranquero <lektu@terra.es>
17155
17156 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
17157
17158 * buffer.c (Fkill_buffer): Likewise.
17159
17160 * print.c (temp_output_buffer_setup): Likewise.
17161
17162 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
17163
17164 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
17165
17166 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
17167
17168 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
17169 Niemitalo <kon@iki.fi>.
17170
17171 2001-11-25 Jason Rumney <jasonr@gnu.org>
17172
17173 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
17174
17175 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
17176 (Fx_show_tip): Block input during frame creation.
17177 (Fx_show_tip, Fx_hide_tip): Enable.
17178
17179 2001-11-24 Richard M. Stallman <rms@gnu.org>
17180
17181 * lread.c (Fload): Detect recursive load error for more than 3
17182 nestings of the same file.
17183 (Vrecursive_load_depth_limit): Variable deleted.
17184 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
17185
17186 2001-11-24 Jason Rumney <jasonr@gnu.org>
17187
17188 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
17189 mouse position if either left or top is not specified.
17190
17191 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
17192 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
17193 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
17194 (my_create_tip_window): Assign tip_window.
17195 (x_create_tip_frame): Use same defaults as X.
17196 (compute_tip_xy): Remove unused variable. Use full screen width.
17197 (Fx_show_tip): Do not double height. Call ShowWindow directly.
17198
17199 * w32term.c (x_after_update_window_line): Doc fix.
17200 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
17201 frames.
17202 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
17203
17204 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
17205 for all Windowed systems.
17206
17207 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
17208
17209 * msdos.c (IT_clear_screen): If the frame's faces are not yet
17210 realized, use the initial screen colors to clear the screen.
17211
17212 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17213
17214 * textprop.c (Fset_text_properties): Remove unused variables
17215 `unchanged', `prev_changed', `s' and `len'.
17216
17217 * search.c (Freplace_match): Remove unused variable `inslen'.
17218
17219 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
17220
17221 2001-11-22 Jason Rumney <jasonr@gnu.org>
17222
17223 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
17224 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
17225 (my_create_tip_window): New function.
17226 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
17227 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
17228
17229 2001-11-20 Jason Rumney <jasonr@gnu.org>
17230
17231 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
17232 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
17233
17234 * w32fns.c (Vw32_system_coding_system): Remove.
17235 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
17236
17237 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
17238
17239 * fileio.c (Fwrite_region): Move choose_write_coding_system to
17240 after build_annotations.
17241
17242 * syntax.c (describe_syntax): Add dummy arg.
17243 (describe_syntax_1): Update call to describe_vector.
17244
17245 * category.c (describe_category): Add dummy arg.
17246 (describe_category_1): Update call to describe_vector.
17247
17248 * keymap.c (Fdescribe_vector): Add `describer' parameter.
17249 (describe_command, describe_translation): Add dummy second param.
17250 (describe_map): Call elt_describer with two arguments.
17251 (describe_vector_princ): Add `fun' parameter.
17252 Call it instead of the hardcoded `princ'.
17253 (describe_vector): Add arg `args'.
17254 Pass it as a new second argument to elt_describer.
17255
17256 * keymap.h (describe_vector): Update prototype.
17257
17258 * frame.c: Don't include keymap.h any more.
17259 (keys_of_frame): Remove.
17260
17261 * lisp.h (keys_of_frame): Remove declaration.
17262
17263 * emacs.c (main): Don't call `keys_of_frame' any more.
17264
17265 2001-11-14 Andreas Schwab <schwab@suse.de>
17266
17267 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
17268 if defined, 0 otherwise.
17269 (MAP_FAILED): Define if not defined and use it to test mmap failure.
17270 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
17271
17272 2001-11-19 Richard M. Stallman <rms@gnu.org>
17273
17274 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
17275
17276 2001-11-18 Jason Rumney <jasonr@gnu.org>
17277
17278 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
17279 (x_draw_bar_cursor): If the background color of the glyph under
17280 the cursor equals the frame's cursor color, use the glyph's
17281 foreground color for drawing the bar cursor.
17282 (x_after_update_window_line): Clear internal border in different
17283 circumstances.
17284 (w32_set_vertical_scroll_bar): Check for width and height > 0.
17285 (w32_draw_relief_rect): Correct relief by 1 pixel.
17286 (x_set_glyph_string_background_width):
17287 Set extends_to_end_of_line_p if the row's fill_line_p is set and
17288 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
17289 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
17290 if cursor_in_non_selected_windows is false.
17291 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
17292 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
17293 Notice if cursor gets overwritten.
17294 (notice_overwritten_cursor): Renamed from
17295 note_overwritten_text_cursor. Rewritten to take glyph widths
17296 into account, and to take X positions as parameters.
17297 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
17298 around call to x_draw_glyphs.
17299 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
17300 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
17301 color to use for image glyph reliefs.
17302 (x_draw_image_relief): Accept zero tool_bar_button_relief.
17303 (glyph_rect): Remove unused variable `area'.
17304
17305 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
17306 some items.
17307 (x_set_internal_border_width): Set frame garbaged when window
17308 doesn't exist yet.
17309 (Fx_create_frame): Accept zero tool_bar_button_relief.
17310 (x_clear_image_1, four_corners_best, image_background)
17311 (image_background_transparent): New functions.
17312 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
17313 (gs_format): Add `:background' entry.
17314 (lookup_image): Set IMG's background color if specified.
17315 (pbm_load, xbm_load_image, png_load): Set IMG's background field
17316 when appropriate.
17317 (x_clear_image_1): Reset `background_valid' and
17318 `background_transparent_valid' fields.
17319 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
17320 calculating it here. Set IMG's background_transparent field.
17321 (enum xpm_keyword_index): Add XPM_BACKGROUND.
17322 (enum png_keyword_index): Add PNG_BACKGROUND.
17323 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
17324 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
17325 (enum gif_keyword_index): Add GIF_BACKGROUND.
17326 (enum gs_keyword_index): Add GS_BACKGROUND.
17327 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
17328 Pre-calculate image background color where necessary.
17329 (x_create_x_image_and_pixmap, xbm_load, gs_load):
17330 Use display info's n_cbits entry for screen depth.
17331 (Fx_show_tip): Remove unused variables `buffer', `top',
17332 `left', `max_width' and `max_height'.
17333
17334 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
17335
17336 2001-11-18 Gerd Moellmann <gerd@gnu.org>
17337
17338 * puresize.h (BASE_PURESIZE): Increase to 750000.
17339
17340 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17341
17342 * frame.c (Fframe_live_p): Doc fix.
17343
17344 2001-11-18 Richard M. Stallman <rms@gnu.org>
17345
17346 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
17347 (message_dolog_marker3): New static variables hold three markers.
17348 (syms_of_xdisp): Initialize and staticpro them.
17349 (message_dolog): Use message_dolog_marker1..3 instead of
17350 allocating markers each time. Unchain them when done.
17351
17352 2001-11-17 Richard M. Stallman <rms@gnu.org>
17353
17354 * doc.c (Fsnarf_documentation): Doc fix.
17355
17356 2001-11-17 Andreas Schwab <schwab@suse.de>
17357
17358 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
17359
17360 2001-11-17 Richard M. Stallman <rms@gnu.org>
17361
17362 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
17363
17364 2001-11-17 Jason Rumney <jasonr@gnu.org>
17365
17366 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
17367
17368 2001-11-17 Gerd Moellmann <gerd@gnu.org>
17369
17370 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
17371 with invalid position.
17372
17373 2001-11-16 Richard M. Stallman <rms@gnu.org>
17374
17375 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
17376
17377 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
17378 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
17379 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
17380
17381 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
17382
17383 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
17384
17385 * fileio.c (build_annotations): Split off the tail.
17386 (build_annotations_2): New fun. Extracted from build_annotations.
17387 (Fwrite_region): Split the call to build_annotations into two
17388 calls to build_annotations and build_annotations_2.
17389
17390 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17391
17392 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
17393 clear_waiting_for_input with argument.
17394
17395 * xterm.h (x_update_cursor): Remove duplicated prototype.
17396
17397 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
17398
17399 * xterm.c (waiting_for_input): Remove unnecessary declaration.
17400
17401 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
17402
17403 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
17404
17405 * fileio.c (choose_write_coding_system): New fun, extracted
17406 from Fwrite_region.
17407 (Fwrite_region): Use it.
17408
17409 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
17410 (funcall_lambda, run_hook_with_args): Make static and add prototype.
17411 (ml_apply, find_handler_clause): Add prototype.
17412
17413 2001-11-16 Eli Zaretskii <eliz@gnu.org>
17414
17415 * config.in: Add #undef HAVE_COFF_H.
17416
17417 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
17418 Required for ISC 4.1.
17419
17420 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
17421
17422 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
17423 Andrew Wiseman <a.wiseman@btclick.com>.
17424
17425 2001-11-16 Kim F. Storm <storm@cua.dk>
17426
17427 The following changes are made to clean up the various internal
17428 references to the fringes to actually use the term `fringe' for
17429 them. Previously, they were called `flags areas', `bitmap areas',
17430 `left/right side of windows', or implicitly as `flags' or
17431 `bitmaps':
17432
17433 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
17434 Comments fixed. Use renamed symbols.
17435
17436 * dispnew.c: Comment fix. Use renamed symbols.
17437
17438 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
17439 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
17440 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
17441
17442 * msdos.c: Comment fix.
17443
17444 * w32fns.c: Use renamed symbols.
17445
17446 * w32term.c: Comment fixes. Use renamed symbols.
17447 (fringe_bitmap_type): Renamed from bitmap_type.
17448 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
17449 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
17450 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
17451
17452 * w32term.h: Comment fixes. Use renamed symbols.
17453 (fringes_extra): Renamed from flags_areas_extra.
17454 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
17455 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
17456 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
17457 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
17458 (FRAME_X_LEFT_FRINGE_WIDTH):
17459 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
17460 (FRAME_X_RIGHT_FRINGE_WIDTH):
17461 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
17462
17463 * widget.c: Use renamed symbols.
17464
17465 * window.c: Comment fixes. Use renamed symbols.
17466 (coordinates-in-window-p): Doc fix.
17467
17468 * xdisp.c: Comment fixes. Use renamed symbols.
17469
17470 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
17471
17472 * xfns.c: Use renamed symbols.
17473
17474 * xterm.c: Comment fixes. Use renamed symbols.
17475 (fringe_bitmap_type): Renamed from bitmap_type.
17476 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
17477 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
17478 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
17479
17480 * xterm.h: Comment fixes. Use renamed symbols.
17481 (fringes_extra): Renamed from flags_areas_extra.
17482 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
17483 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
17484 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
17485 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
17486 (FRAME_X_LEFT_FRINGE_WIDTH):
17487 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
17488 (FRAME_X_RIGHT_FRINGE_WIDTH):
17489 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
17490
17491 2001-11-15 Jason Rumney <jasonr@gnu.org>
17492
17493 * w32menu.c (add-menu-item): Make help_echo and radio buttons
17494 work for most menu items. From David Ponce
17495 <david.ponce@wanadoo.fr>.
17496
17497 2001-11-15 Gerd Moellmann <gerd@gnu.org>
17498
17499 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
17500 Some x_set_* function expect to be called even if old and new
17501 value are equal.
17502
17503 * xdisp.c (build_desired_tool_bar_string): Accept zero
17504 tool_bar_button_relief.
17505
17506 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
17507
17508 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
17509
17510 * xterm.c (x_draw_bar_cursor): If the background color of the
17511 glyph under the cursor equals the frame's cursor color, use
17512 the glyph's foreground color for drawing the bar cursor.
17513
17514 * dispnew.c (direct_output_forward_char): Fix character/byte
17515 position comparison.
17516
17517 2001-11-15 Miles Bader <miles@gnu.org>
17518
17519 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
17520 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
17521 Update arguments to find_field.
17522 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
17523 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
17524 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
17525 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
17526
17527 2001-11-14 Richard M. Stallman <rms@gnu.org>
17528
17529 * editfns.c (Fpropertize): Allow call with 1 arg.
17530
17531 * dispextern.h (image_background, image_background_transparent):
17532 Conditionalize on HAVE_X_WINDOWS.
17533
17534 2001-11-13 Richard M. Stallman <rms@gnu.org>
17535
17536 * print.c (Fprin1_to_string): Doc fix.
17537
17538 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
17539
17540 * floatfns.c (Fceiling, Ffloor): Doc fixes.
17541
17542 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
17543
17544 * fileio.c (Ffile_accessible_directory_p): Doc fix.
17545
17546 * eval.c (syms_of_eval): Doc fix.
17547
17548 * coding.c (syms_of_coding): Doc fix.
17549
17550 * doc.c (Fsnarf_documentation): Doc fix.
17551
17552 * dispnew.c (syms_of_display): Doc fix.
17553
17554 * category.c (Fget_unused_category): Doc fix.
17555
17556 * buffer.c (syms_of_buffer): Doc fixes.
17557
17558 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
17559
17560 * print.c (prin1, print): Doc fix.
17561
17562 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17563
17564 * fontset.h: Remove declarations of variables
17565 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
17566
17567 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
17568 `Vclip_large_size_font'.
17569
17570 2001-11-13 Jason Rumney <jasonr@gnu.org>
17571
17572 * w32fns.c: Doc fix.
17573
17574 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17575
17576 * xfaces.c (Fface_attributes_as_vector): Doc fix.
17577
17578 * fns.c: Doc fix.
17579
17580 * emacs.c: Doc fix.
17581
17582 * coding.c: Doc fix.
17583
17584 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
17585 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
17586 `new style' [w/`doc:' keyword].
17587
17588 2001-11-12 Richard M. Stallman <rms@gnu.org>
17589
17590 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
17591 LeaveNotify events. Only FocusIn and FocusOut do that now.
17592 (x_display_and_set_cursor): Do display hollow cursors in active
17593 minibuffer windows when they are not selected.
17594
17595 2001-11-12 Jason Rumney <jasonr@gnu.org>
17596
17597 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
17598 * w32term.c: Change doc-string comments to `new style'
17599 [w/`doc:' keyword]. Doc fixes.
17600
17601 * w32fns.c: Don't define max.
17602 (Fx_open_connection): Only execute once.
17603
17604 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17605
17606 * ccl.c: Change macros to use do-while block instead of if-else.
17607 Use braces to follow GNU Coding Standards.
17608
17609 2001-11-11 Richard M. Stallman <rms@gnu.org>
17610
17611 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
17612
17613 * lread.c (read_escape): Use end_of_file_error for reporting eof.
17614
17615 * insdel.c (replace_range): Use adjust_markers_for_replace
17616 instead of adjust_markers_for_delete and adjust_markers_for_insert.
17617
17618 * intervals.h (set_text_properties, set_text_properties_1): Declare.
17619
17620 * textprop.c (set_text_properties_1): New subroutine
17621 broken out of set_text_properties.
17622 (set_text_properties): Use set_text_properties_1.
17623
17624 * intervals.c (graft_intervals_into_buffer):
17625 Use set_text_properties_1 to clear out properties.
17626
17627 * search.c (Freplace_match): Use replace_range to insert
17628 and delete. Don't request property inheritance from
17629 surrounding text.
17630
17631 2001-11-10 Jason Rumney <jasonr@gnu.org>
17632
17633 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
17634 vertical fonts. Allow them if face name is explicitly specified.
17635 Do not give up if we find a font that cannot be converted to an xlfd.
17636
17637 2001-11-10 Gerd Moellmann <gerd@gnu.org>
17638
17639 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
17640 instead of malloc/free.
17641
17642 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17643
17644 * xfaces.c (merge_face_vectors): Use braces to follow GNU
17645 Coding Standards.
17646 (Finternal_set_lisp_face_attribute): Likewise.
17647
17648 * buffer.c (Fbury_buffer): Likewise.
17649
17650 * indent.c (current_column_1): Remove unused variable `prev_col'.
17651
17652 * coding.c (encode_coding): Use precomputed value of `src'.
17653 (encode_coding): Remove unused variable `src_end'.
17654 (code_convert_region): Remove unused variables `count'.
17655
17656 2001-11-07 Jason Rumney <jasonr@gnu.org>
17657
17658 * w32term.c (x_display_and_set_cursor): Do not move system caret
17659 if cursor_glyph is NULL.
17660
17661 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17662
17663 * keymap.c (access_keymap): Fix compilation error.
17664
17665 2001-11-07 Miles Bader <miles@gnu.org>
17666
17667 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
17668
17669 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17670
17671 * intervals.c (graft_intervals_into_buffer):
17672 Remove #ifdef'd-out code.
17673 (graft_intervals_into_buffer): Remove unused variable `middle'.
17674
17675 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
17676 code (eval-current-buffer).
17677 Change doc-string comments to `new style' [w/`doc:' keyword].
17678
17679 2001-11-06 Richard M. Stallman <rms@gnu.org>
17680
17681 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
17682
17683 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
17684
17685 * lread.c (read1): Fix behavior with nested backquoting.
17686
17687 * keyboard.c (make_lispy_event): Check integerness and fix
17688 Lisp_Object/int mixup.
17689
17690 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17691
17692 * fns.c (copy_hash_table): Remove unused variable `v'.
17693
17694 * fontset.c (fontset_font_pattern): Remove unused variable
17695 `family_registry'.
17696
17697 * indent.c (current_column_1): Remove unused variable `prev_col'.
17698
17699 2001-11-05 Richard M. Stallman <rms@gnu.org>
17700
17701 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
17702
17703 * buffer.c (Fkill_buffer): Don't delete auto save file
17704 if buffer is modified.
17705
17706 2001-11-05 Andrew Innes <andrewi@gnu.org>
17707
17708 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
17709 CHECK_NUMBER_CDR.
17710
17711 2001-11-05 Richard M. Stallman <rms@gnu.org>
17712
17713 * unexelf.c (unexec): Minor changes; clean up comments.
17714
17715 2001-11-05 Sam Steingold <sds@gnu.org>
17716
17717 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
17718
17719 2001-11-05 Andreas Schwab <schwab@suse.de>
17720
17721 * sound.c (sound_perror): Save errno from being clobbered.
17722
17723 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
17724
17725 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
17726 the program image directly.
17727
17728 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17729
17730 * buffer.h (Fbuffer_local_value): Add prototype.
17731
17732 2001-11-04 Richard M. Stallman <rms@gnu.org>
17733
17734 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
17735 and CHECK_BUFFER.
17736
17737 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
17738 (record_char): Likewise.
17739
17740 * keyboard.c (make_lispy_event): Don't insist a drag event must
17741 move to a different buffer position. Instead, check for moving at
17742 least double_click_fuzz.
17743
17744 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
17745
17746 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
17747
17748 * indent.c (current_column_1, Fmove_to_column): Separate the code
17749 for display-table glyphs from the code for buffer text, to fix
17750 bugs in the former.
17751
17752 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
17753
17754 * buffer.c (Fbuffer_local_value): New function.
17755 (syms_of_buffer): Defsubr it.
17756
17757 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
17758 value of `cursor-in-non-selected-windows'.
17759
17760 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
17761 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
17762 (syms_of_xdisp): Initialize it.
17763
17764 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17765
17766 * xfns.c (Fx_create_frame): Doc fix.
17767
17768 * coding.c: Change doc-string comments to `new style' [w/`doc:'
17769 keyword].
17770
17771 * eval.c (top_level_value, top_level_set): Remove commented and
17772 #ifdef'd-out code.
17773 (Fdefvar): Fix usage in doc-string.
17774
17775 2001-11-03 Richard M. Stallman <rms@gnu.org>
17776
17777 * xfns.c: Include unistd.h, if it exists.
17778
17779 * editfns.c: Move the include of ctype.h after unistd.h.
17780
17781 * gmalloc.c: Test BROKEN_PROTOTYPES.
17782
17783 2001-11-03 Ken Raeburn <raeburn@gnu.org>
17784
17785 * lisp.h (CHECK_STRING_CAR): New macro.
17786 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
17787 treating XCAR and XCDR as lvalues.
17788 (openp): Use CHECK_STRING_CAR.
17789 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
17790
17791 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
17792
17793 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
17794 (SIGMASKTYPE): Define.
17795
17796 * syssignal.h (sigunblock): Don't define if already defined.
17797
17798 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17799
17800 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
17801 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
17802 Fix typos in comments.
17803
17804 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
17805 and #ifdef'd-out code.
17806 Fix and reindent comments.
17807
17808 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
17809
17810 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
17811 argument `i' in macros.
17812
17813 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
17814 `i' in macros.
17815
17816 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
17817 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
17818 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
17819 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
17820 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
17821 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
17822 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
17823 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
17824 in macros.
17825
17826 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
17827 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
17828 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
17829 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
17830 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
17831 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
17832 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
17833 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
17834 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
17835 (remove unused second argument).
17836
17837 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
17838
17839 * syntax.c (describe_syntax): New wrapper.
17840 (Finternal_describe_syntax_value): Rename from describe_syntax.
17841 Don't insert space at front and \n at the end.
17842 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
17843
17844 * regex.c (re_wctype): Try to fix some warnings.
17845 (regcomp, regexec): Don't forget the __restrict.
17846
17847 2001-11-02 Richard M. Stallman <rms@gnu.org>
17848
17849 * textprop.c (Fget_char_property): Doc fix.
17850
17851 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17852
17853 * process.c (Fstart_process): Add usage to doc-string.
17854
17855 * data.c (Fsetq_default): Ditto.
17856
17857 * callint.c (Finteractive): Ditto.
17858
17859 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
17860
17861 * macros.c: Don't include keymap.h any more.
17862
17863 2001-11-01 Richard M. Stallman <rms@gnu.org>
17864
17865 * data.c (Fmake_local_variable): Doc fix.
17866
17867 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
17868 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
17869
17870 * keymap.c (Fdescribe_buffer_bindings): Print character property
17871 bindings along with or instead of the buffer local map.
17872 Make the overriding maps override what they should.
17873
17874 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17875
17876 * window.c (grow_mini_window): Fix typo in comment.
17877
17878 2001-11-01 Gerd Moellmann <gerd@gnu.org>
17879
17880 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
17881 (XTset_vertical_scroll_bar): Likewise.
17882
17883 * xfns.c (x_build_heuristic_mask): Use four_corners_best
17884 instead of IMAGE_BACKGROUND.
17885
17886 * xfns.c (four_corners_best): Reindent.
17887
17888 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
17889 Handle :box so that it is possible to specify sexprs.
17890
17891 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
17892
17893 * s/hpux11.h: New file.
17894
17895 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17896
17897 * emacs.c (USAGE1): Show command line option --no-window-system
17898 instead of --no-windows in usage.
17899 (standard_args): Rename --no-windows to --no-window-system.
17900 (bug_reporting_address): Follow Emacs coding conventions.
17901
17902 * eval.c (Fcommandp): Doc fix.
17903 Change doc-string comments to `new style' [w/`doc:' keyword].
17904
17905 * frame.c (Fframe_live_p): Doc fix.
17906
17907 * buffer.c (selective-display-ellipses): Doc fix.
17908
17909 2001-10-31 Gerd Moellmann <gerd@gnu.org>
17910
17911 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
17912
17913 * xfaces.c (realize_x_face): If C is not a single-byte character,
17914 set the face's colors_copied_bitwise_p instead of the defaulted_p
17915 members which have a different meaning.
17916 (free_face_colors): Do nothing for a face whose colors have been
17917 copied bitwise.
17918
17919 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
17920
17921 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17922
17923 * marker.c, mocklisp.c: Change doc-string comments to `new style'
17924 [w/`doc:' keyword].
17925
17926 2001-10-31 Gerd Moellmann <gerd@gnu.org>
17927
17928 * fns.c (require_unwind): Return Lisp_Object.
17929
17930 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17931
17932 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
17933 (last-input-char): Revert doc-string to be the same as the
17934 doc-string of `last-input-event'.
17935
17936 * xdisp.c: Fix typos in comments.
17937
17938 2001-10-31 Gerd Moellmann <gerd@gnu.org>
17939
17940 * window.c (grow_mini_window): Handle case that the root
17941 window is already smaller than the nominal mininum height.
17942
17943 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
17944
17945 * emacs.c (main): Don't call keys_of_macros any more.
17946
17947 * lisp.h (keys_of_macros): Remove.
17948
17949 * macros.c (keys_of_macros): Remove.
17950
17951 * xfaces.c (Fface_attribute_relative_p): Declare args.
17952
17953 2001-10-30 Jason Rumney <jasonr@gnu.org>
17954
17955 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
17956 (enum_font_cb2): Ignore fonts with vertical orientation.
17957
17958 2001-10-30 Richard M. Stallman <rms@gnu.org>
17959
17960 * keyboard.c (Finput_pending_p): Doc fix.
17961
17962 2001-10-30 Gerd Moellmann <gerd@gnu.org>
17963
17964 * xterm.c (x_after_update_window_line): Don't run the code
17965 clearing in borders for rows whose visible height is 0.
17966
17967 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
17968 resized_p flag is set. If not set, use the much less flickering
17969 method previously used.
17970
17971 * dispnew.c (change_frame_size_1): Set frame's resized_p.
17972
17973 * frame.h (struct frame) <resized_p>: New member.
17974
17975 * lread.c (to_multibyte): Ensure read_buffer is at least twice
17976 as large as the number of bytes to convert.
17977
17978 * lread.c (to_multibyte): New function.
17979 (read1): Use it.
17980
17981 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
17982
17983 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
17984
17985 2001-10-30 Gerd Moellmann <gerd@gnu.org>
17986
17987 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
17988 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
17989 if the row's fill_line_p is set and drawing the last glyph with
17990 DRAW_IMAGE_{RAISED,SUNKEN}.
17991
17992 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
17993
17994 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
17995
17996 * xmenu.c: Include coding.h and charset.h.
17997 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
17998 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
17999 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
18000 Explicitly set wv->help. Use `TRUE' rather than `True'.
18001 (menu_help_callback): Use empty_string.
18002
18003 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
18004 (Fx_popup_dialog): Explicitly init f.
18005 (w32_menu_display_help): Use empty_string.
18006
18007 2001-10-29 Richard M. Stallman <rms@gnu.org>
18008
18009 * fns.c (Frequire): Detect recursive try to require the same
18010 feature 3 or more levels deep, and get error.
18011 (require_unwind): New subroutine.
18012 (require_nesting_list): New variable.
18013 (syms_of_fns): Init and staticpro it.
18014
18015 * print.c (print_object): Clarify indication of insertion type.
18016
18017 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
18018
18019 * coding.c (syms_of_coding): Document that locale-coding-system is
18020 used for decoding input on X.
18021
18022 * window.c (Fscroll_left, Fscroll_right): Doc fix.
18023
18024 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18025
18026 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
18027 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
18028
18029 2001-10-29 Gerd Moellmann <gerd@gnu.org>
18030
18031 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
18032 use NO_CURSOR if cursor_in_non_selected_windows is false.
18033
18034 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
18035 the slant attribute if FRAME is t.
18036
18037 * xfns.c (x_set_internal_border_width): Set frame garbaged
18038 when X window doesn't exist yet.
18039
18040 * xterm.c (x_after_update_window_line): Clear internal border
18041 in different circumstances.
18042
18043 * xterm.c (XTread_socket) <KeyPress>: Don't use
18044 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
18045 <handa@etl.go.jp>.
18046
18047 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
18048
18049 * m/ibms390.h: New file. From Adam Thornton
18050 <athornton@sinenomine.net>.
18051
18052 2001-10-28 Gerd Moellmann <gerd@gnu.org>
18053
18054 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
18055
18056 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
18057 a loop counter.
18058
18059 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18060
18061 * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
18062
18063 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
18064 keyword].
18065 Fix typos in comments.
18066
18067 * emacs.c (bug_reporting_address): New function.
18068 Use it when displaying usage message.
18069
18070 * minibuf.c (read_minibuf): Remove unused external declaration of
18071 variable `Qread_only'.
18072
18073 * keymap.c (access_keymap): Remove unused variable `charset'.
18074
18075 2001-10-28 Miles Bader <miles@gnu.org>
18076
18077 * xfaces.c (merge_face_heights): Handle TO being relative as well.
18078 Remove #ifdef'd-out code.
18079 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
18080 (syms_of_xfaces): Initialize them.
18081
18082 2001-10-27 Jason Rumney <jasonr@gnu.org>
18083
18084 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
18085 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
18086 position using the system caret.
18087
18088 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
18089 (w32_system_caret_height, w32_system_caret_x)
18090 (w32_system_caret_y): New variables for tracking system caret.
18091 (w32_initialize): Initialize them.
18092 (x_display_and_set_cursor): Make system caret follow the active cursor.
18093
18094 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
18095 New messages types.
18096
18097 * w32term.c (note_mouse_highlight): Clear old help_echo.
18098
18099 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18100
18101 * xterm.c: Fix typo in a comment.
18102
18103 * emacs.c: Fix typos in comments.
18104 Remove unnecessary spaces.
18105 Change doc-string comments to `new style' [w/`doc:' keyword].
18106 (USAGE2): Fix typos in usage string.
18107
18108 * xterm.c: Fix typo in a comment.
18109
18110 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
18111 emacs.c.
18112
18113 2001-10-27 Gerd Moellmann <gerd@gnu.org>
18114
18115 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
18116 instead of 1/2 line_height in the heuristic for skipping
18117 farther backward when target_y was not reached.
18118
18119 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
18120 Display errno only if non-zero.
18121 (sound_warning): New function.
18122 (vox_configure): Don't treat failing to set sample rate as error.
18123 (various places): Improve error messages.
18124
18125 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
18126
18127 * fileio.c (Faccess_file): Run the argument filename through
18128 Fexpand_file_name, before using it.
18129
18130 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
18131 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
18132
18133 2001-10-26 Gerd Moellmann <gerd@gnu.org>
18134
18135 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
18136
18137 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
18138 Fix clearing in the case of scroll bars on the right.
18139
18140 2001-10-26 Juanma Barranquero <lektu@terra.es>
18141
18142 * w32gui.h (XImage): Add a dummy typedef.
18143
18144 2001-10-26 Gerd Moellmann <gerd@gnu.org>
18145
18146 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
18147
18148 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
18149
18150 * frame.c (Fframe_parameter): Fix last change.
18151
18152 * fileio.c: Revert last change (which removed old commented-out
18153 version of expand-file-name). Add a comment that explains why
18154 this old version should not be removed.
18155
18156 2001-10-25 Gerd Moellmann <gerd@gnu.org>
18157
18158 * frame.c (Fframe_parameter): Fix a bug whereby some
18159 ``artificial'' frame parameters, like `minibuffer' were not
18160 obtained by calling Fframe_parameters.
18161
18162 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
18163 cursor differently.
18164
18165 * xdisp.c (move_it_vertically_backward): Compute line height
18166 differently. Add heuristic to try to be more compatible to 20.x.
18167
18168 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
18169
18170 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
18171
18172 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
18173 boolean.
18174
18175 2001-10-25 Miles Bader <miles@gnu.org>
18176
18177 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
18178 BG is a pointer to a structure, not a structure.
18179 (gif_format, png_format): Add missing commas.
18180
18181 2001-10-24 Richard M. Stallman <rms@gnu.org>
18182
18183 * xfaces.c (Fface_attributes_as_vector): New function.
18184 (syms_of_xfaces): Defsubr it.
18185
18186 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18187
18188 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
18189 variable `area'.
18190
18191 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18192
18193 * search.c (scan_newline): Remove unused variable `selective_display'.
18194
18195 2001-10-25 Miles Bader <miles@gnu.org>
18196
18197 * dispextern.h (struct image): Add `background',
18198 `background_valid', and `background_transparent' fields.
18199 (image_background, image_background_transparent): New declarations.
18200 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
18201 * xfns.c (image_background, image_background_transparent)
18202 (four_corners_best): New functions.
18203 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
18204 (gs_format): Add `:background' entry.
18205 (lookup_image): Set IMG's background color if specified.
18206 (pbm_load, xbm_load_image, png_load): Set IMG's background field
18207 when appropriate.
18208 (x_clear_image_1): Reset `background_valid' and
18209 `background_transparent_valid' fields.
18210 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
18211 calculating it here. Set IMG's background_transparent field.
18212 (enum xpm_keyword_index): Add XPM_BACKGROUND.
18213 (enum png_keyword_index): Add PNG_BACKGROUND.
18214 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
18215 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
18216 (enum gif_keyword_index): Add GIF_BACKGROUND.
18217 (enum gs_keyword_index): Add GS_BACKGROUND.
18218 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
18219 Pre-calculate image background color where necessary.
18220 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
18221 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
18222 color to use for image glyph reliefs.
18223
18224 2001-10-24 Gerd Moellmann <gerd@gnu.org>
18225
18226 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
18227 in full-width rows.
18228
18229 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
18230 Fix clearing of area not covered by scroll bar.
18231
18232 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18233
18234 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
18235 and `real_start'.
18236 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
18237 (glyph_rect): Remove unused variable `area'.
18238
18239 2001-10-24 Gerd Moellmann <gerd@gnu.org>
18240
18241 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
18242
18243 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
18244 (row_containing_pos): Take additional argument DY.
18245 Treat rows ending in middle of char differently.
18246 (display_line): Handle tabs on window systems differently.
18247
18248 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
18249 with additional argument.
18250
18251 * dispextern.h (row_containing_pos): Adjust prototype.
18252
18253 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
18254 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
18255 (try_window_id, try_window_reusing_current_matrix)
18256 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
18257 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
18258
18259 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18260
18261 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
18262 gnuemacs).
18263 (HAVE_BOXES): Fix typo in comment.
18264 (push_menu_pane): Fix typo in comment.
18265
18266 * xdisp.c: (display_prop_string_p): Remove unused local declaration
18267 of `Qwhen'.
18268 (single_display_prop_string_p): Remove unused local declarations
18269 of `Qwhen' and `Qmargin'.
18270 (string_buffer_position): Remove unused variable `around'.
18271 (store_frame_title): Remove unused variable `width'.
18272
18273 * window.c: Don't define max.
18274 (coordinates_in_window): Remove unused variable `uy'.
18275
18276 * widget.c: Don't define max.
18277
18278 * process.c: Don't define max.
18279 (create_process): Remove unused variable `buffer'.
18280
18281 2001-10-23 Gerd Moellmann <gerd@gnu.org>
18282
18283 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
18284
18285 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
18286
18287 * xfaces.c (Finternal_set_lisp_face_attribute)
18288 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
18289 frame is on a windowed display.
18290
18291 2001-10-23 Gerd Moellmann <gerd@gnu.org>
18292
18293 * dispnew.c (sync_window_with_frame_matrix_rows):
18294 Fix handling of windows which aren't full-width, fix handling
18295 of marginal areas.
18296
18297 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
18298
18299 2001-10-23 Andreas Schwab <schwab@suse.de>
18300
18301 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
18302 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
18303
18304 2001-10-23 Gerd Moellmann <gerd@gnu.org>
18305
18306 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
18307 REAL_END. Notice if cursor gets overwritten.
18308 (notice_overwritten_cursor): Take X positions as parameters.
18309 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
18310 around call to x_draw_glyphs.
18311
18312 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18313
18314 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
18315 instead of C) and usage.
18316
18317 * editfns.c (char-to-string): Fix argument names (use CHAR instead
18318 of C) and usage.
18319
18320 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
18321 `left', `max_width' and `max_height'.
18322
18323 2001-10-23 Gerd Moellmann <gerd@gnu.org>
18324
18325 * xdisp.c (display_line): For a tab continued to the next line,
18326 set row's ends_in_middle_of_char_p.
18327
18328 2001-10-22 Gerd Moellmann <gerd@gnu.org>
18329
18330 * xdisp.c (display_line): Fix computation of continuation lines
18331 width for TABs.
18332
18333 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18334
18335 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
18336 `Qlaplace'.
18337
18338 * fileio.c: Remove unused code.
18339
18340 2001-10-22 Miles Bader <miles@gnu.org>
18341
18342 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
18343 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
18344 Remove `DOC_STRINGS_IN_COMMENTS' cases.
18345
18346 2001-10-21 Jason Rumney <jasonr@gnu.org>
18347
18348 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
18349
18350 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
18351
18352 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
18353 (Finsert_string): Avoid the multi-line string literals warning.
18354
18355 2001-10-22 Miles Bader <miles@gnu.org>
18356
18357 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
18358 (Fdocumentation): Don't use it.
18359 (syms_of_doc): Don't initialize it.
18360
18361 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
18362 * print.c (Fwith_output_to_temp_buffer): Likewise.
18363 * window.c (Fsave_window_excursion): Likewise.
18364 * editfns.c (Fsave_excursion, Fsave_current_buffer)
18365 (Fsave_restriction): Likewise.
18366 * eval.c (Frun_hooks, Frun_hook_with_args)
18367 (Frun_hook_with_args_until_failure)
18368 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
18369 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
18370 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
18371 (Funwind_protect, Fcondition_case): Likewise.
18372 * coding.c (Ffind_operation_coding_system): Likewise.
18373 * keyboard.c (Ftrack_mouse): Likewise.
18374
18375 2001-10-21 Miles Bader <miles@gnu.org>
18376
18377 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
18378 (Fmake_hash_table): Add usage: string to doc string.
18379 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
18380 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
18381 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
18382 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
18383 (Fml_prefix_argument_loop): Likewise.
18384
18385 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18386
18387 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
18388
18389 * sysdep.c (init_sys_modes): Change doc-string comments to `new
18390 style' [w/`doc:' keyword].
18391
18392 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
18393 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
18394 comments to `new style' [w/`doc:' keyword].
18395
18396 2001-10-21 Jason Rumney <jasonr@gnu.org>
18397
18398 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
18399
18400 * w32term.c (remember_mouse_glyph): New function.
18401 (w32_mouse_position): Use it.
18402 (note_mouse_movement): If the mouse moved off the glyph, remember
18403 its new position.
18404
18405 * w32term.h (struct w32_output): Correct spelling of x_compatible.
18406 (w32_display_info): Add mouse_face_overlay.
18407
18408 * w32term.c (notice_overwritten_cursor): Renamed from
18409 note_overwritten_text_cursor. Rewritten to take glyph widths into
18410 account.
18411 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
18412 (fast_find_string_pos): New function.
18413 (fast_find_position): Return the correct vpos. Add parameter
18414 STOP. In the final row, stop before glyphs having STOP as object.
18415 Don't consider glyphs that are not from a buffer.
18416 (fast_find_position) [0]: Add a presumably more correct version
18417 for after 21.1.
18418 (expose_window_tree, expose_frame): Don't compute intersections here.
18419 (expose_window): Do it here instead.
18420 (expose_window_tree, expose_window, expose_line): Return 1 when
18421 overwriting mouse-face.
18422 (expose_window): If W is the window currently being updated, mark
18423 the frame garbaged.
18424 (expose_frame): If mouse-face was overwritten, redo it.
18425 (x_use_underline_position_properties): New variable.
18426 (syms_of_xterm): DEFVAR_BOOL it.
18427 (x_draw_glyph_string): Add comment to use it in future.
18428 (x_draw_glyph_string): Restore clipping after drawing box.
18429 Fix a computation of the underline position.
18430 (w32_get_glyph_string_clip_rect): Minor cleanup.
18431 (x_fill_stretch_glyph_string): Remove an assertion.
18432 (x_produce_glyphs): Don't convert multibyte characters
18433 to unibyte characters in unibyte buffers.
18434 (cursor_in_mouse_face_p): New function.
18435 (x_draw_stretch_glyph_string): Use it to choose a different GC
18436 when drawing a cursor within highlighted text. Don't draw
18437 background again if it has already been drawn.
18438 (x_draw_glyph_string_box): Don't draw a full-width
18439 box just because the glyph row's full_width_p flag is set.
18440 (x_draw_glyphs): Fix computation of rightmost x for
18441 full-width rows.
18442 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
18443 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
18444 change bottom shadow accordingly. Some cleanup.
18445 (x_update_window_end): Handle overwritten mouse face
18446 also for tool bar windows.
18447 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
18448 DRAW is DRAW_IMAGE_RAISED.
18449 (clear_mouse_face): Return 1 if text with mouse face was
18450 actually redrawn. Make the function static.
18451 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
18452 optimize away highlighting if we pass over that same overlay again.
18453 (note_mouse_highlight): Call mouse_face_overlay_overlaps
18454 to detect a case where we have to highlight a different region
18455 despite not having left the currently highlighted region.
18456 Set mouse_face_overlay in the x_display_info. Avoid changing the
18457 mouse pointer shape when show_mouse_face has already done it, or
18458 there is no need. Handle mouse-face and help-echo in strings.
18459 (glyph_rect): New function.
18460 (w32_mouse_position): Use it to raise the threshold for mouse
18461 movement event generation.
18462 (w32_initialize_display_info): Initialize the x_display_info's
18463 mouse_face_overlay.
18464 (w32_set_vertical_scroll_bar): Don't clear a zero height
18465 or width area.
18466 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
18467 a widget to zero height.
18468
18469 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
18470 Protect unibyte strings created by replacing their multibyte
18471 equivalents in menu_items.
18472 (w32_menu_show): Don't overwrite an item's name with its key
18473 description in case the description is a multibyte string.
18474 (single_submenu): Some cleanup.
18475
18476 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
18477 (postprocess_image): New function.
18478 (lookup_image): Call it for all image types except PostScript.
18479 (x_kill_gs_process): Call postprocess_image.
18480 (tiff_error_handler, tiff_warning_handler): New functions.
18481 (tiff_load): Install them as handlers.
18482 (x_kill_gs_process): Recognize if someone has cleared the image
18483 cache under us.
18484 (valid_image_p): Protect better against invalid image
18485 specifications. Previous code could signal an error.
18486 (Fx_hide_tip, Fshow_tip): Doc fix.
18487 (Fv_max_tooltip_size): New variable.
18488 (syns_of_xfns): DEFVAR_LISP it.
18489 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
18490 window buffer to *tip* right after creating the frame. Set frame's
18491 window_width. Use a maximum tooltip size specified by
18492 Vx_max_tooltip_size, if that has valid contents.
18493 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
18494 Make sure the tooltip is completely visible.
18495 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
18496 (Fx_create_frame): Adjust the frame's height for presence
18497 of the tool bar before calling x_figure_window_size.
18498 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
18499 when the window gets smaller.
18500 (x_set_foreground_color): Set frame's cursor_pixel.
18501 (x_set_foreground_color, x_set_background_color): Cleaned up.
18502 (x_set_font): Handle case of x_new_fontset returning the same name
18503 as before, although there was a change in fontsets.
18504
18505 2001-10-21 Miles Bader <miles@gnu.org>
18506
18507 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
18508 (Flogxor): Add usage: string to doc string.
18509 * charset.c (Fstring): Likewise.
18510 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
18511 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
18512
18513 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18514
18515 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
18516
18517 * alloc.c: Reindent DEFUNs with doc: keywords.
18518
18519 * abbrev.c (Finsert_abbrev_table_description): Reindent.
18520
18521 * frame.c: Change doc-string comments to `new style' [w/`doc:'
18522 keyword].
18523
18524 See ChangeLog.9 for earlier changes.
18525
18526 ;; Local Variables:
18527 ;; coding: iso-2022-7bit
18528 ;; End:
18529
18530 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
18531 Copying and distribution of this file, with or without modification,
18532 are permitted provided the copyright notice and this notice are preserved.
18533
18534 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4