Don't say where to get IDL or its non-free manual.
[bpt/emacs.git] / src / ChangeLog
... / ...
CommitLineData
12005-03-22 Kim F. Storm <storm@cua.dk>
2
3 * xfaces.c (lookup_derived_face): Add arg SIGNAL_P.
4 * dispextern.h (lookup_derived_face): Fix prototype.
5 * msdos.c (XMenuActivate): Fix call to lookup_derived_face.
6
7 * xdisp.c (handle_single_display_spec): Derive left-fringe and
8 right-fringe face from fringe face.
9
10 * fringe.c (draw_fringe_bitmap_1, Fset_fringe_bitmap_face):
11 Derive face from fringe face.
12
132005-03-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
14
15 * xrdb.c (x_load_resources): Undo previous change (2005-03-18).
16
172005-03-22 David Kastrup <dak@gnu.org>
18
19 * textprop.c (Fnext_char_property_change)
20 (Fprevious_char_property_change): allow marker as limit.
21 (Fnext_single_char_property_change)
22 (Fprevious_single_char_property_change): Check that limit is a
23 number in strings.
24 (Fnext_single_char_property_change): Coerce position to integer.
25 (Fprevious_single_char_property_change): Same here.
26
272005-03-21 Thien-Thi Nguyen <ttn@gnu.org>
28
29 * s/openbsd.h (LD_SWITCH_SYSTEM_tmp): Define if undefined.
30
312005-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
32
33 * frame.c (Fignore_event): Remove.
34 (syms_of_frame): Don't defsubr it.
35
36 * keyboard.c (keys_of_keyboard): Just use `ignore' instead of the
37 redundant `ignore-event'.
38
392005-03-19 Eli Zaretskii <eliz@gnu.org>
40
41 * unexec.c (write_segment, unexec): Move these functions to avoid
42 forward references (which cause errors with "gcc -gcoff").
43
442005-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
45
46 * xfns.c (x_create_tip_frame): Remove setting of Vx_resource_name so
47 that it doesn't become "tooltip". The specbind is enough.
48
49 * xrdb.c (x_load_resources): Use different char *helv when I18N
50 is present.
51
522005-03-17 Kenichi Handa <handa@m17n.org>
53
54 * coding.c (syms_of_coding): Docstring of coding-category-list
55 fixed.
56
572005-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
58
59 * xfaces.c (x_update_menu_appearance) [HAVE_X_I18N]:
60 Use xic_create_fontsetname even for non-Motif menus.
61 Don't forget to free the fontsetname.
62
63 * xfns.c (xic_create_fontsetname): Add a final catch-all font pattern.
64
652005-03-17 Richard M. Stallman <rms@gnu.org>
66
67 * dispnew.c (mirror_line_dance): Set W2 according to FRAME_FROM.
68
69 * fileio.c (Fcopy_file, Frename_file, Fadd_name_to_file)
70 (Fmake_symbolic_link): Use G to read the new file name.
71
72 * callint.c (Finteractive): Document G option.
73 (Fcall_interactively): Implement G option.
74
75 * buffer.c (buffer_lisp_local_variables): New function,
76 broken out from Fbuffer_local_variables.
77 (clone_per_buffer_values): Use buffer_lisp_local_variables.
78
792005-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
80
81 * xfns.c (xic_create_fontsetname): Add `motif' argument.
82 Always return a freshly allocated string.
83 (xic_create_xfontset): Adjust call.
84
85 * xfaces.c (x_update_menu_appearance) [USE_MOTIF]:
86 Use xic_create_fontsetname to create a fontset so utf-8 locales work.
87 (dump_realized_face): Fix warning.
88
89 * emacs.c (Fkill_emacs): YAILOM.
90
91 * frame.c (Fignore_event): Fix ancient obscure C-u handling bug.
92
932005-03-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
94
95 * mac.c (HASHKEY_TERMINAL): Remove.
96 (HASHKEY_MAX_NID): New macro.
97 (xrm_q_get_resource_1): Rename from xrm_q_get_resource. Add extra
98 argument.
99 (xrm_q_get_resource): Call xrm_q_get_resource_1 with extra argument.
100 (xrm_create_database, xrm_q_put_resource)
101 (xrm_merge_string_database, xrm_q_get_resource_1)
102 (xrm_q_get_resource): Change resource database representation so
103 that it may not use multiple hash tables for a single database.
104 [TARGET_API_MAC_CARBON] (xrm_cfproperty_list_to_value): YAILOM.
105
1062005-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
107
108 * xmenu.c (ENCODE_MENU_STRING) [HAVE_X_I18N]: Use ENCODE_SYSTEM.
109
110 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [!WINDOWSNT]: Use the
111 locale-coding-system, as was already done for WINDOWSNT.
112
113 * keyboard.c (read_char): Only do the 7-bit-meta -> 27-bit-meta
114 translation for chars in the 0-255 range.
115
1162005-03-16 Lute Kamstra <lute@gnu.org>
117
118 * floatfns.c (Ffloor): Doc fix.
119
1202005-03-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
121
122 * mac.c: Include macterm.h instead of directly including Carbon.h.
123 [TARGET_API_MAC_CARBON] (Qstring, Qnumber, Qboolean, Qdate, Qdata)
124 (Qarray, Qdictionary): New variables.
125 (syms_of_mac) [TARGET_API_MAC_CARBON]: Initialize them.
126 [TARGET_API_MAC_CARBON] (Qutf_8): Add extern.
127 [TARGET_API_MAC_CARBON] (DECODE_UTF_8): New macro.
128 [TARGET_API_MAC_CARBON] (struct cfdict_context): New struct used
129 in callback for CFDictionaryApplyFunction.
130 [TARGET_API_MAC_CARBON] (cfdata_to_lisp, cfstring_to_lisp)
131 (cfnumber_to_lisp, cfdate_to_lisp, cfboolean_to_lisp)
132 (cfobject_desc_to_lisp, cfdictionary_add_to_list)
133 (cfdictionary_puthash, cfproperty_list_to_lisp): New functions.
134 [TARGET_API_MAC_CARBON] (Fmac_get_preference): New function.
135 (syms_of_mac) [TARGET_API_MAC_CARBON]: Defsubr it.
136 (P, LOOSE_BINDING, SINGLE_COMPONENT, HASHKEY_TERMINAL): New macro.
137 (skip_white_space, parse_comment, parse_include_file)
138 (parse_binding, parse_component, parse_resource_name, parse_value)
139 (parse_resource_line, xrm_create_database, xrm_q_put_resource)
140 (xrm_merge_string_database, xrm_q_get_resource, xrm_get_resource)
141 (xrm_cfproperty_list_to_value, xrm_get_preference_database):
142 New functions.
143
144 * macfns.c (mac_get_rdb_resource): Remove function.
145 (x_get_string_resource): Use xrm_get_resource.
146
147 * macgui.h (XrmDatabase): Typedef to Lisp_Object.
148
149 * macterm.c (x_list_fonts): FONT-LIST-CACHE is now cadr part of
150 name_list_element.
151 (mac_make_rdb): Create resource database from preferences and
152 argument string.
153 (mac_term_init): Save resource database to cddr part of
154 name_list_element.
155
156 * macterm.h (xrm_merge_string_database, xrm_get_resource)
157 (xrm_get_preference_database): Add externs.
158 [TARGET_API_MAC_CARBON] (cfdata_to_lisp, cfstring_to_lisp)
159 (cfnumber_to_lisp, cfdate_to_lisp, cfboolean_to_lisp)
160 (cfobject_desc_to_lisp, cfproperty_list_to_lisp): Likewise.
161
162 * process.c (init_process): Change `#ifdef DARWIN' to `#if
163 defined (DARWIN) || defined (MAC_OSX)'
164
165 * s/darwin.h (DARWIN): Don't define.
166
1672005-03-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
168
169 * macfns.c (Qhyper, Qsuper, Qmeta, Qalt, Qctrl, Qcontrol, Qshift):
170 Remove unused variables.
171 (syms_of_macfns): Don't initialize them. Likewise for
172 Qface_set_after_frame_default. Defvar and initialize
173 Vx_window_horizontal_drag_shape.
174 (x_set_mouse_color): Change mouse pointer shape.
175 (mac_window) [!MAC_OSX]: Create root control.
176 (Fx_create_frame): Remove initializations of mouse pointer shapes.
177 (hourglass_started): New function (from xfns.c).
178 (start_hourglass, cancel_hourglass): Put function body in #ifdef
179 MAC_OSX.
180 (show_hourglass) [TARGET_API_MAC_CARBON]: Create progress
181 indicator for each non-tooltip frame if needed, and show it.
182 (hide_hourglass) [TARGET_API_MAC_CARBON]: Hide progress indicators.
183
184 * macgui.h [!TARGET_API_MAC_CARBON]: Include Appearance.h and
185 Controls.h. Use ThemeCursor instead of CursHandle.
186
187 * macterm.c (activate_scroll_bars, deactivate_scroll_bars):
188 Remove functions and declarations.
189 (mac_set_colors): Take argument for saving background color.
190 All callers changed.
191 (XDrawLine, XClearArea, mac_draw_bitmap, XFillRectangle)
192 (mac_draw_rectangle, mac_draw_string_common): Save and Restore
193 background color.
194 (x_update_end, mac_do_track_drag): Don't reset background color.
195 (mac_define_frame_cursor) [!TARGET_API_MAC_CARBON]:
196 Use SetThemeCursor.
197 (x_set_window_size) [TARGET_API_MAC_CARBON]: Move progress
198 indicator control to the upper-right corner of the window.
199 (arrow_cursor) [!TARGET_API_MAC_CARBON]: Remove variable.
200 (do_init_managers) [!TARGET_API_MAC_CARBON]: Don't initialize it.
201 (do_window_update): Update controls after updating content area.
202 (mac_handle_window_event): Remove unused extern.
203 (XTread_socket): Check both control handle and control part code
204 to determine whether a scroll bar is clicked. Activate/deactivate
205 root control instead of contained scroll bar controls.
206 (make_mac_terminal_frame): Use ThemeCursor constants.
207
208 * macterm.h (struct mac_output) [TARGET_API_MAC_CARBON]:
209 New member hourglass_control.
210 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): New defines.
211 (activate_scroll_bars, deactivate_scroll_bars): Remove declarations.
212
2132005-03-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
214
215 * macterm.c (keycode_to_xkeysym_table): Change mapping so that it
216 coincides with that in Apple X11 except `clear', `enter' on
217 laptops, and fn + `enter' on laptops.
218
2192005-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
220
221 * xmenu.c (ENCODE_MENU_STRING): Explicitly use string_make_unibyte.
222 (list_of_panes, list_of_items, Fx_popup_menu): Use XCAR/XCDR.
223 (digest_single_submenu, xmenu_show): Use ENCODE_MENU_STRING.
224
225 * xfns.c (xic_defaut_fontset): New constant.
226 (xic_create_fontsetname): New function.
227 Extracted from create_frame_xic. Try to generate a slightly
228 better fontset.
229 (xic_create_xfontset): Use it.
230 (create_frame_xic): Simplify.
231
2322005-03-11 Stefan Monnier <monnier@iro.umontreal.ca>
233
234 * fileio.c (Fmake_symbolic_link): Fix last change.
235
2362005-03-11 Richard M. Stallman <rms@gnu.org>
237
238 * fileio.c (Frename_file, Fadd_name_to_file)
239 (Fmake_symbolic_link): If NEWNAME or LINKNAME is a directory,
240 expand the basename of FILE relative to it.
241
2422005-03-11 Kenichi Handa <handa@m17n.org>
243
244 * fileio.c (Finsert_file_contents): Call Fcheck_coding_system
245 before calling setup_coding_system so that autoloading of a coding
246 system work.
247
2482005-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
249
250 * xfns.c (hourglass_started): New function.
251
252 * dispextern.h: Declare hourglass_started.
253
254 * keyboard.c (Fexecute_extended_command): Restart hourglass
255 after call to Fcompleting_read if already started.
256
257 * gtkutil.c (xg_update_scrollbar_pos): Call x_sync so that the
258 GTK main loop is entered in xterm.c, thus doing the redraw.
259
2602005-03-10 Kim F. Storm <storm@cua.dk>
261
262 * xdisp.c (pos_visible_p): Fix X value in last line of buffer.
263
2642005-03-08 Kenichi Handa <handa@m17n.org>
265
266 * frame.c (x_set_font): Call set_default_ascii_font if an
267 available font is found.
268
269 * fontset.c (set_default_ascii_font): New function.
270 (syms_of_fontset): Don't set FONTSET_ASCII (Vdefault_fontset) here.
271
272 * fontset.h (set_default_ascii_font): Extern it.
273
2742005-03-07 Kim F. Storm <storm@cua.dk>
275
276 * xdisp.c (CLEAR_IMAGE_CACHE_COUNT): New const.
277 (clear_image_cache_count): New var.
278 (redisplay_internal): Don't clear face and image caches in the
279 middle of redisplay; do it afterwards.
280
281 * blockinput.h (TOTALLY_UNBLOCK_INPUT): Avoid dangling else.
282
283 * xdisp.c (notice_overwritten_cursor): Check that phys_cursor.vpos
284 is valid. If not, clear phys_cursor_on_p and return.
285
2862005-03-07 Andreas Schwab <schwab@suse.de>
287
288 * blockinput.h (UNBLOCK_INPUT_TO): Always call UNBLOCK_INPUT.
289
2902005-03-06 Richard M. Stallman <rms@gnu.org>
291
292 * keyboard.c (Ftop_level): Let Fthrow deal with UNBLOCK_INPUT.
293
294 * eval.c (unwind_to_catch): Use UNBLOCK_INPUT_TO.
295 (Feval, Ffuncall): Use CHECK_CONS_LIST.
296
297 * lisp.h (CHECK_CONS_LIST): New macro (two definitions).
298
299 * blockinput.h (UNBLOCK_INPUT_TO): New macro.
300 (TOTALLY_UNBLOCK_INPUT): Handle a pending signal if any.
301
3022005-03-05 Juri Linkov <juri@jurta.org>
303
304 * emacs.c (USAGE1): Replace Info node name "command arguments"
305 with "emacs invocation".
306 (USAGE3): Fix usage of `--color=MODE' which actually doesn't
307 allow arguments `--color' and `MODE' to be separated by space.
308 Add --no-blinking-cursor, -nbc.
309 (standard_args): Add -nbc, --no-blinking-cursor.
310
3112005-03-04 Thien-Thi Nguyen <ttn@gnu.org>
312
313 * s/vms.h: Define NO_HYPHENS_IN_FILENAMES.
314 * s/vms4-4.h, s/vms5-5.h: Undefine NO_HYPHENS_IN_FILENAMES.
315 * fileio.c (Fexpand_file_name) [VMS]:
316 Use NO_HYPHENS_IN_FILENAMES, not VMS4_4.
317 * doc.c (munge_doc_file_name) [VMS]: Likewise.
318 (Fsnarf_documentation): Call munge_doc_file_name.
319
3202005-03-04 Thien-Thi Nguyen <ttn@gnu.org>
321
322 * s/vms.h (FILE_SYSTEM_CASE): New macro.
323 * fileio.c (Fexpand_file_name) [VMS]: Don't upcase the name
324 "manually"; this is now handled generally via FILE_SYSTEM_CASE.
325
3262005-03-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
327
328 * emacs.c (main): Change `#ifdef HAVE_CARBON' to `#if
329 defined (MAC_OSX) && defined (HAVE_CARBON)'.
330
331 * image.c [!MAC_OSX && TARGET_API_MAC_CARBON]: Include QuickTime.h.
332
333 * mac.c [!MAC_OSX && HAVE_CARBON]: Include Carbon.h.
334 [!MAC_OSX] (select) [TARGET_API_MAC_CARBON]: Use ReceiveNextEvent.
335 (posix_pathname_to_fsspec, fsspec_to_posix_pathname): New functions.
336 (mac_clear_font_name_table): Move extern to macterm.h.
337
338 * macfns.c (install_window_handler): Move extern to macterm.h.
339 (Fx_file_dialog): Check STRINGP (default_filename) to see it is
340 valid. Don't check !NILP (dir) because it is already checked with
341 CHECK_STRING.
342 (Fx_file_dialog) [!MAC_OSX]: Use FSSpec instead of FSRef for
343 specifying the default location and obtaining the selected filename.
344
345 * macgui.h [!MAC_OSX && HAVE_CARBON]: Include Carbon.h.
346
347 * macmenu.c [TARGET_API_MAC_CARBON]: Don't include headers that
348 are included via Carbon.h.
349
350 * macterm.c [TARGET_API_MAC_CARBON && !MAC_OSX]:
351 Define USE_CARBON_EVENTS to 1.
352 (qd) [__MRC__ && TARGET_API_MAC_CARBON]: Don't declare.
353 (x_free_frame_resources): Call remove_window_handler for
354 non-tooltip windows.
355 [TARGET_API_MAC_CARBON]: Don't include headers that are included
356 via Carbon.h.
357 [TARGET_API_MAC_CARBON] (mac_do_track_dragUPP)
358 (mac_do_receive_dragUPP): New variables.
359 (mac_handle_service_event, init_service_handler): Put declarations
360 and definitions in #ifdef MAC_OSX.
361 (install_window_handler) [TARGET_API_MAC_CARBON]: Create UPPs for
362 drag-and-drop handler functions and register them.
363 (remove_window_handler): New function.
364 (do_ae_open_documents, mac_do_receive_drag) [!MAC_OSX]:
365 Use fsspec_to_posix_pathname.
366 (main): Change #if !TARGET_API_MAC_CARBON to #ifdef MAC_OS8.
367 (XTread_socket) [!MAC_OSX]: Don't pass keyboard events to TSM.
368 [MAC_OS8] (make_mac_terminal_frame) [TARGET_API_MAC_CARBON]:
369 Set default cursors.
370 (mac_initialize) [USE_CARBON_EVENTS && !MAC_OSX] : Don't call
371 init_service_handler or init_quit_char_handler.
372 (mac_initialize) [!MAC_OSX]: Don't call MakeMeTheFrontProcess.
373
374 * macterm.h (install_window_handler, remove_window_handler)
375 (posix_pathname_to_fsspec, fsspec_to_posix_pathname)
376 (mac_clear_font_name_table): New externs.
377
3782005-03-03 Thien-Thi Nguyen <ttn@gnu.org>
379
380 * fileio.c (FILE_SYSTEM_CASE): Define macro if not already defined.
381 (Ffile_name_directory): Use FILE_SYSTEM_CASE unconditionally.
382 (Fexpand_file_name): Likewise.
383
3842005-03-03 Thien-Thi Nguyen <ttn@gnu.org>
385
386 * emacs.c (Fkill_emacs): Use EXIT_SUCCESS;
387 no longer special-case VMS. Add bogus return value.
388
3892005-03-02 Kim F. Storm <storm@cua.dk>
390
391 * dispextern.h (XASSERTS): Define to 0 if not already defined.
392 (xassert) [!XASSERTS]: Define dummy version.
393
3942005-03-02 Kim F. Storm <storm@cua.dk>
395
396 * xdisp.c (redisplay_window): YABX (yet another bogus xassert).
397 Reported by David Kastrup.
398
3992005-03-01 Ehud Karni <ehud@unix.mvs.co.il>
400
401 * xdisp.c (get_next_display_element): Fix control and escape
402 glyph from display vector.
403
4042005-03-01 Stefan Monnier <monnier@iro.umontreal.ca>
405
406 * keyboard.c (Fposn_at_x_y): Check integerness of X and Y.
407
4082005-02-27 Richard M. Stallman <rms@gnu.org>
409
410 * xdisp.c (fast_find_position): Rename END to BEG.
411 (syms_of_xdisp) <menu-bar-update-hook>: Doc fix.
412
4132005-02-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
414
415 * gtkutil.c (xg_resize_outer_widget): Remove unneeded call to
416 gtk_window_resize and x_wm_set_size_hint.
417
4182005-02-25 Kim F. Storm <storm@cua.dk>
419
420 * dispextern.h (OVERLAY_STRING_CHUNK_SIZE): Increase from 3 to 16.
421
422 * xdisp.c (init_from_display_pos): Don't read past end of
423 it->overlay_strings array.
424
4252005-02-25 Stephan Stahl <stahl@eos.franken.de> (tiny change)
426
427 * buffer.c (syms_of_buffer): Fix typo.
428
4292005-02-23 Lute Kamstra <lute@gnu.org>
430
431 * buffer.c (Foverlay_buffer): Doc fix.
432
4332005-02-22 Kim F. Storm <storm@cua.dk>
434
435 * minibuf.c (Ftry_completion, Fall_completions): Allow both string
436 and symbol keys in alists and hash tables.
437
438 * xdisp.c (fast_find_position): Fix search for start of overlay.
439
4402005-02-21 Kim F. Storm <storm@cua.dk>
441
442 * window.c (window_scroll_pixel_based): When scrolling backwards,
443 handle partial visible line at end of window even when we hit PT.
444
4452005-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
446
447 * keymap.h: Declare Fcurrent_active_maps, used in doc.c.
448
4492005-02-21 Kim F. Storm <storm@cua.dk>
450
451 * xdisp.c (move_it_vertically_backward): Eliminate two xasserts.
452 I think those asserts are bogus if buffer contains invisible text
453 or images.
454
4552005-02-21 David Kastrup <dak@gnu.org>
456
457 * gtkutil.c (xg_create_frame_widgets): UNBLOCK_INPUT on error.
458
4592005-02-20 Kim F. Storm <storm@cua.dk>
460
461 * xdisp.c (pos_visible_p): Be sure to move to the specified
462 position. Always get the full ascent / descent of the
463 corresponding row, to return reliable rtop and rbot values.
464 (back_to_previous_visible_line_start): Fix 2005-01-18 change.
465 Must look one character back, as back_to_previous_line_start
466 returns position after the newline.
467 (move_it_vertically_backward): Fix heuristic for when to move further
468 back in case line_height * 2/3 is larger than window height.
469 (cursor_row_fully_visible_p): Rename make_cursor_line_fully_visible_p
470 as it does not do anything anymore. Add arg current_matrix_p to
471 use current matrix rather than desired matrix when set.
472 (try_cursor_movement): Don't scroll to make cursor row fully
473 visible if cursor didn't move. This avoids unexpected recentering
474 in case of blinking cursor or accepting process output.
475 Use current matrix to check cursor row visibility.
476 (redisplay_window): Fix whether to recenter or move to top in case
477 cursor line is taller than window height.
478 (find_first_unchanged_at_end_row): Stop search if we reach a row
479 which not enabled (instead of abort).
480
4812005-02-18 Kim F. Storm <storm@cua.dk>
482
483 * xfaces.c (Finternal_set_lisp_face_attribute): Allow :color property
484 to be nil in a :box attribute value list; customize prints that
485 as lisp value when no box color is specified.
486
487 * .gdbinit (pitx, pit): Pretty print display iterator.
488 (prowx, prow): Pretty print glyph row.
489 (pcursorx, pcursor): Pretty print a window cursor.
490 (pwinx, pwin): Pretty print struct window.
491
4922005-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
493
494 * alloc.c (BLOCK_BYTES): Harmless typo.
495
4962005-02-17 Andreas Schwab <schwab@suse.de>
497
498 * xfns.c (hack_wm_protocols): Use correct type for last parameter
499 of XGetWindowProperty to avoid aliasing issues.
500 (Fx_window_property): Likewise.
501
502 * xselect.c (Fx_disown_selection_internal): Use union of struct
503 input_event and struct selection_input_event to avoid aliasing issues.
504
505 * xterm.c (handle_one_xevent): Use union of struct input_event and
506 struct selection_input_event to avoid aliasing issues.
507 (SET_SAVED_MENU_EVENT): Adapt reference to inev.
508
5092005-02-17 Kim F. Storm <storm@cua.dk>
510
511 * dispextern.h (enum it_method): New enum.
512 (GET_FROM_*): Its members.
513 (struct it): Change member method from function pointer to enum.
514
515 * xdisp.c (check_it, init_from_display_pos, handle_stop)
516 (setup_for_ellipsis, handle_single_display_spec)
517 (handle_composition_prop, next_overlay_string)
518 (get_overlay_strings, reseat_1, reseat_to_string)
519 (next_element_from_ellipsis, BUFFER_POS_REACHED_P)
520 (in_display_vector_p, display_line, get_next_display_element):
521 Change it->method from function pointer to enum.
522 (get_next_element): New array to map it->method to function.
523 (get_next_display_element): Use it.
524 (set_iterator_to_next): Use switch instead of if/else chain.
525
5262005-02-15 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
527
528 * w32select.c: Summary: Thorough rework to implement Unicode
529 clipboard operations and delayed rendering.
530
531 Drop last_clipboard_text and related code, keep track of
532 ownership via clipboard_owner instead. Drop old #if0 sections.
533
534 (DEFAULT_LCID, ANSICP, OEMCP, QUNICODE, QANSICP, QOEMCP)
535 (clipboard_owner, modifying_clipboard, cfg_coding_system)
536 (cfg_codepage, cfg_lcid, cfg_clipboard_type, current_text)
537 (current_coding_system, current_requires_encoding)
538 (current_num_nls, current_clipboard_type, current_lcid):
539 New static variables.
540
541 (convert_to_handle_as_ascii, convert_to_handle_as_coded)
542 (render, render_all, run_protected, lisp_error_handler)
543 (owner_callback, create_owner, setup_config)
544 (enum_locale_callback, cp_from_locale, coding_from_cp):
545 New local functions.
546
547 (term_w32select, globals_of_w32select): New global functions.
548
549 (Fw32_set_clipboard_data): Ignore parameter FRAME, use
550 clipboard_owner instead. Use delayed rendering and provide
551 all text formats. Provide CF_LOCALE if necessary.
552
553 (Fw32_get_clipboard_data): Handle CF_UNICODETEXT and
554 CF_LOCALE. Fall back to CF_TEXT, if CF_UNICODETEXT is not
555 available. Force DOS line-ends for decoding.
556
557 (Fx_selection_exists_p): Handle CF_UNICODETEXT.
558
559 (syms_of_w32select): Init and register new variables.
560
561 * w32.h: Add prototypes for globals_of_w32select and
562 term_w32select. Make the neighboring K&R declarations into
563 prototypes, too.
564
565 * emacs.c: Include w32.h to get function prototypes.
566 (main): Call globals_of_w32select.
567
568 * w32.c (term_ntproc): Call term_w32select.
569
570 * s/ms-w32.h: Guard MSC-specific #pragmas with an #ifdef.
571
5722005-02-16 Kim F. Storm <storm@cua.dk>
573
574 * xdisp.c (BUFFER_POS_REACHED_P): Return true if pos reached and
575 at end of display vector.
576
5772005-02-15 Richard M. Stallman <rms@gnu.org>
578
579 * xdisp.c (get_next_display_element): Fix escape-glyph criterion
580 for mode and header lines.
581
582 * lread.c (syms_of_lread) <user-init-file>: Doc fix.
583
584 * keymap.h (describe_map_tree): Change decl.
585
586 * keyboard.c (command_loop_1): Always use safe_run_hooks
587 to run Qdeferred_action_function.
588
589 * keymap.c (describe_map_tree): New arg MENTION_SHADOW. Calls changed.
590 (describe_map, describe_vector): Likewise. When it's 1,
591 don't omit shadowed bindings, instead mark them as shadowed.
592
593 * doc.c (Fsubstitute_command_keys): Compute list of shadowing maps
594 for describe_map_tree. Pass 1 for MENTION_SHADOW.
595
596 * data.c (Fsetq_default): Allow no arg case.
597
5982005-02-14 Kenichi Handa <handa@m17n.org>
599
600 * coding.c (encode_coding_string): Always return a unibyte string.
601 If NOCOPY is nonzero and there's no need of encoding, make STR
602 unibyte directly.
603
604 * xselect.c (lisp_data_to_selection_data): If OBJ is a non-ASCII
605 multibyte string, signal an error instead of aborting.
606
6072005-02-12 Dan Nicolaescu <dann@ics.uci.edu>
608
609 * keyboard.c: If HAVE_FCNTL_H include fcntl.h.
610
6112005-02-12 Kim F. Storm <storm@cua.dk>
612
613 * xdisp.c (expose_window): Don't fix overlaps for mode lines.
614
6152005-02-10 Kim F. Storm <storm@cua.dk>
616
617 * xdisp.c (try_window_id): Set first_unchanged_at_end_row to NULL
618 if it moves outside window or it doesn't display text.
619
6202005-02-09 Kim F. Storm <storm@cua.dk>
621
622 * undo.c (Fprimitive_undo): Check that undo function does not
623 switch buffer.
624
6252005-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
626
627 * xselect.c (selection_data_to_lisp_data): For the special case
628 type == XA_ATOM, data contains array of int, not array of Atom.
629 (x_property_data_to_lisp, selection_data_to_lisp_data):
630 Comment update: data must be array of int for format == 32.
631
6322005-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
633
634 * undo.c (Fprimitive_undo): Check veracity of delta,start,end.
635
6362005-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
637
638 * xfns.c (Fx_change_window_property): Use long array when format is 32.
639 (Fx_window_property): If format is 32 and long is bigger than 32 bits,
640 convert long array returned from XGetWindowProperty to an int array.
641 (x_set_tool_bar_lines): Check that width and height is greater than
642 zero before clearing area.
643
644 * xselect.c (x_reply_selection_request): Pass long array to
645 XChangeProperty so that 64 bit longs are handeled correctly.
646 (x_get_window_property): If format is 32 and long is bigger than 32
647 bits convert data from XGetWindowProperty from long array to int array.
648 (lisp_data_to_selection_data): When the input is a vector and the
649 format is 32, allocate a long array even if long is bigger than 32 bits.
650 (x_fill_property_data): Use char, short and long as the man page
651 for XChangeProperty specifies. This way the data returned is OK for
652 both 32 and 64 bit machines.
653 (x_handle_dnd_message): Calculate size correctly even for 64 bit
654 machines.
655 (Fx_send_client_event): Undo change from 2005-02-05,
656 x_fill_property_data now handles that case.
657
658 * xfns.c (Fx_backspace_delete_keys_p): Add comment about the
659 reason for the approach in the code.
660
6612005-02-07 Kim F. Storm <storm@cua.dk>
662
663 * undo.c (Fprimitive_undo): Record max one dummmy apply element.
664
6652005-02-06 Richard M. Stallman <rms@gnu.org>
666
667 * eval.c (Frun_hook_with_args)
668 (Frun_hook_with_args_until_success)
669 (Frun_hook_with_args_until_failure): Doc fixes.
670
6712005-02-05 Andreas Schwab <schwab@suse.de>
672
673 * sysdep.c (sys_subshell): Properly terminate execlp argument list.
674
6752005-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
676
677 * xselect.c (Fx_send_client_event, x_handle_dnd_message): Handle
678 the longs in a XClientMessageEvent correctly when long is 64 bits.
679
6802005-02-05 Eli Zaretskii <eliz@gnu.org>
681
682 * xfaces.c (face_color_supported_p): Use HAVE_WINDOW_SYSTEM
683 instead of HAVE_X_WINDOWS, for non-X windowed sessions.
684
6852005-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
686
687 * xmenu.c (menubar_selection_callback): Force out GTK buffered
688 events so the menu event comes after them. This is to prevent sit-for
689 from exiting on buffered events directly after a menu selection,
690 lisp code for Help => About Emacs uses sit-for.
691
692 * gtkutil.c (create_menus): Connect selection-done event instead of
693 the deactivate event to deactivate_cb. This will make the last
694 leave event come before the call to deactivate_cb, so the leave
695 event does not make sit-for exit after a menu selection.
696
6972005-02-03 Kim F. Storm <storm@cua.dk>
698
699 * dispnew.c (build_frame_matrix_from_leaf_window)
700 [!GLYPH_DEBUG]: Fix xassert.
701
702 * xfaces.c (x_free_gc) [!GLYPH_DEBUG]: Fix xassert.
703
704 * xfns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
705
7062005-02-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
707
708 * mac.c: Use MAC_OS_X_VERSION_MAX_ALLOWED to conditionalize by
709 the compiling OS version.
710
711 * macfns.c (x_create_tip_frame): Likewise.
712
713 * macterm.c (mac_draw_string_common, x_make_frame_visible): Likewise.
714
7152005-02-03 Richard M. Stallman <rms@gnu.org>
716
717 * xterm.c (x_error_quitter): On GCC 3 and up, specify noinline.
718
719 * xdisp.c (echo_area_display): Clear echo_message_buffer.
720
721 * buffer.c (Fbury_buffer): Doc fix.
722
7232005-02-02 Steven Tamm <steventamm@mac.com>
724
725 * macfns.c (unwind_create_frame): Fixing compile error due to
726 xassert being uncondition, but predicate is.
727 * dispnew.c (update_window): Fixing compile error due to
728 xassert being uncondition, but predicate is.
729
7302005-02-02 Miles Bader <miles@gnu.org>
731
732 * dispextern.h (xassert): Enable unconditionally.
733
7342005-02-02 Kim F. Storm <storm@cua.dk>
735
736 * undo.c (Fprimitive_undo): Fix dummy apply undo entry.
737
7382005-02-02 Kenichi Handa <handa@m17n.org>
739
740 * casefiddle.c (casify_object): Enable changing characters of
741 different byte length.
742 (casify_region): Fix loop condition, args to replace_range_2, and
743 update opoint_byte.
744
745 * insdel.c (replace_range_2): Fix bugs in adjusting markers and point.
746
7472005-02-01 Kim F. Storm <storm@cua.dk>
748
749 * xdisp.c (back_to_previous_visible_line_start): Reset iterator
750 stack before calling handle_display_prop.
751
7522005-01-31 Kim F. Storm <storm@cua.dk>
753
754 * undo.c (Qapply): New lisp var.
755 (syms_of_undo): Intern and staticpro it.
756 (Fprimitive_undo): Support formats (apply FUNNAME . ARGS) and
757 (apply DELTA BEG END FUNNAME . ARGS) instead of (FUNNAME . ARGS).
758
759 * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
760
7612005-01-30 Jesper Harder <harder@phys.au.dk>
762
763 * macterm.c (syms_of_macterm) <mac-reverse-ctrl-meta>
764 <mac-emulate-three-button-mouse>: Fix docstring indentation.
765
7662005-01-29 Luc Teirlinck <teirllm@auburn.edu>
767
768 * undo.c (syms_of_undo) <undo-outer-limit>: Doc update.
769 Increase value to 3 Meg.
770
7712005-01-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
772
773 * xfns.c (show_hourglass): Use FRAME_X_WINDOW as parent for GTK,
774 button events are not received otherwise.
775
7762005-01-29 Richard M. Stallman <rms@gnu.org>
777
778 * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
779
780 * undo.c (Fprimitive_undo): Handle (FUNNAME . ARGS) by calling FUNNAME.
781
7822005-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
783
784 * keymap.c (access_keymap): YAILOM.
785
7862005-01-27 Kim F. Storm <storm@cua.dk>
787
788 * xdisp.c (get_phys_cursor_geometry): New function to calculate
789 phys cursor position and size for hollow cursor. Position is
790 aligned with get_glyph_string_clip_rect and ensures that a hollow
791 cursor is shown, even when the actual glyph is not visible.
792
793 * dispextern.h (get_phys_cursor_geometry): Add prototype.
794
795 * xterm.c (x_clip_to_row): Ensure y >= 0.
796 (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
797
798 * w32term.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
799
800 * macterm.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
801
8022005-01-27 Stefan Monnier <monnier@iro.umontreal.ca>
803
804 * xterm.c (x_error_quitter): Add a prototype. Make it static again.
805
8062005-01-27 Kim F. Storm <storm@cua.dk>
807
808 * xdisp.c (get_glyph_string_clip_rect): Always show a cursor
809 glyph, even when row is only partially visible and actual cursor
810 position is not visible.
811
8122005-01-24 Richard M. Stallman <rms@gnu.org>
813
814 * xterm.c (x_error_quitter): No longer static, and moved after
815 x_error_handler.
816
8172005-01-24 Kim F. Storm <storm@cua.dk>
818
819 * xdisp.c (move_it_by_lines): If we move forward after going too
820 far back, cancel move if end position is same as start position.
821
8222005-01-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
823
824 * dispextern.h (struct glyph_string): New members clip_head and
825 clip_tail.
826
827 * xdisp.c (get_glyph_string_clip_rect): Restrict horizontal clip
828 region to the area between clip_head and clip_tail.
829 (draw_glyphs): Record the area that need to be actually redrawn to
830 the new variables clip_head and clip_tail when there are
831 overhangs. Set values of these variables to the corresponding
832 members in struct glyph_string. Refine x coordinates for
833 notice_overwritten_cursor using clip_head and clip_tail.
834
835 * macgui.h (STORE_XCHARSETSTRUCT): New macro.
836
837 * macterm.c (mac_compute_glyph_string_overhangs): Implement with
838 QDTextBounds.
839 (x_draw_glyph_string): Don't fill the background of the successor
840 of a glyph with a right overhang if the successor will draw a cursor.
841 (XLoadQueryFont): Obtain font metrics using QDTextBounds.
842 (x_redisplay_interface): Add entry for compute_glyph_string_overhangs.
843
8442005-01-24 Kim F. Storm <storm@cua.dk>
845
846 * window.c (window_scroll_pixel_based): Fix scrolling in the wrong
847 direction if window height was smaller than next-screen-context-lines.
848 Now always scroll at least one line in the requested direction.
849 Ensure that we actually do scroll backwards when requested to do so.
850
851 * xdisp.c (redisplay_window): Only try to make cursor line fully
852 visible once (to avoid redisplay loop).
853
8542005-01-23 Kim F. Storm <storm@cua.dk>
855
856 * window.c (Fpos_visible_in_window_p): Simplify return value for
857 partially visible rows.
858 (window_scroll_pixel_based): Adapt to that change.
859
860 * window.c (window_scroll_pixel_based): Force moving to next line
861 if scrolling doesn't move start point, e.g. if looking at tall image.
862
863 * xdisp.c (pos_visible_p): Return 0 if non-interactive.
864 Clear last_height before calling line_bottom_y to get real height.
865 Fix calculation of y.
866
8672005-01-22 Steven Tamm <steventamm@mac.com>
868
869 * s/darwin.h: Removed PTY_ITERATION from here.
870 (DARWIN): Define.
871 * process.c (init_process): Default process-connection-type to
872 nil on darwin 6 or less, t if it is 7 or higher. This way the
873 broken pty behavior is still allowed on darwin 6 for interactive
874 processes for people that know what they are doing.
875
8762005-01-22 Kim F. Storm <storm@cua.dk>
877
878 * window.c (auto_window_vscroll_p): New boolean.
879 (syms_of_window): DEFVAR_BOOL it.
880 (Fpos_visible_in_window_p): Extend return value to include RTOP
881 and RBOT values if FULLY is nil.
882 (window_scroll_pixel_based): Adjust vscroll for partially visible
883 rows if auto_window_vscroll_p is set.
884 (Fset_window_vscroll): Do nothing if vscroll is not modified.
885
886 * xdisp.c (pos_visible_p): Replace FULLY arg by RTOP and RBOT args
887 to return number of partially invisible pixels at top and bottom
888 of the dislay row at POS.
889
890 * lisp.h (pos_visible_p): Fix prototype.
891
8922005-01-21 Richard M. Stallman <rms@gnu.org>
893
894 * fileio.c (Fcopy_file): Doc fix.
895
8962005-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
897
898 * gtkutil.c (xg_tool_bar_detach_callback): Remove unused variable bw.
899 (xg_get_file_name): Move declaration ofx_use_old_gtk_file_dialog to
900 start of function for older compilers.
901
9022005-01-20 Richard M. Stallman <rms@gnu.org>
903
904 * editfns.c (Fmessage): If arg is "", return "" (as before).
905
906 * keymap.c (access_keymap): Protect from bad value of meta_prefix_char.
907
908 * .gdbinit (xgetptr, xgetint, xgettype): Copy $arg0 into a temp
909 variable.
910
9112005-01-20 Steven Tamm <steventamm@mac.com>
912
913 * editfns.c (Voperating_system_release): Add.
914 (init_editfns): Assign new variable operating-system-release
915 based on call to uname if available.
916 (get_operating_system_release): Add function to
917 allow c-level access to operating system release.
918
919 * config.h: Regenerated.
920
921 * s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or less.
922 (MIN_PTY_KERNEL_VERSION): Define minimum kernel version for
923 using ptys as '7'.
924
9252005-01-20 Kim F. Storm <storm@cua.dk>
926
927 * alloc.c (STRING_MARKED_P, VECTOR_MARKED_P): Return boolean.
928
929 * xterm.c (x_draw_glyph_string_box): Fix last_x for full width rows.
930 Thanks to Chong Yidong <cyd@stupidchicken.com> for debugging this.
931
932 * macterm.c (x_draw_glyph_string_box): Likewise.
933
934 * w32term.c (x_draw_glyph_string_box): Likewise.
935
936 * indent.c (Fvertical_motion): Temporarily disable selective display.
937
9382005-01-19 Kim F. Storm <storm@cua.dk>
939
940 * xdisp.c (note_mode_line_or_margin_highlight): Fix :pointer
941 image property.
942
943 * fns.c (sweep_weak_table): Advance prev pointer when we keep a pair.
944
9452005-01-18 Kim F. Storm <storm@cua.dk>
946
947 * xdisp.c (fast_find_position): Backtrack to find first row if
948 charpos is inside a display overlay that spans multiple lines.
949
9502005-01-18 Kenichi Handa <handa@m17n.org>
951
952 * coding.c (decode_coding_iso2022): Translate invalid codes if
953 translation-table is specified.
954
9552005-01-18 Kim F. Storm <storm@cua.dk>
956
957 * xdisp.c (back_to_previous_visible_line_start): Undo 2004-12-28
958 change. If handle_display_prop indicates newline is replaced by
959 image or text, move back to start of relevant overlay or interval
960 and continue scan from there. Simplify.
961
9622005-01-17 Kim F. Storm <storm@cua.dk>
963
964 * dispnew.c (mode_line_string, marginal_area_string):
965 Fix off-by-one error in search for glyph.
966
9672005-01-16 Kim F. Storm <storm@cua.dk>
968
969 * macterm.c (syms_of_macterm) <mac-allow-anti-aliasing>: Doc fix.
970
9712005-01-16 Steven Tamm <steventamm@mac.com>
972
973 * macterm.c (mac_to_x_fontname): Remove spurious argument.
974
9752005-01-16 Andreas Schwab <schwab@suse.de>
976
977 * macterm.c (mac_draw_string_common): Fix compilation on OSX 10.1.
978
9792005-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
980
981 * fringe.c (Fdefine_fringe_bitmap, init_fringe): When assigning
982 fringe_faces, cast result from xmalloc/xrealloc to Lisp_Object *.
983
9842005-01-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
985
986 * keyboard.c (READABLE_EVENTS_DO_TIMERS_NOW)
987 (READABLE_EVENTS_FILTER_EVENTS, READABLE_EVENTS_IGNORE_SQUEEZABLES):
988 New flags for readable_events.
989 (get_filtered_input_pending, readable_filtered_events): Remove.
990 (tracking_off): Call readable_events and get_input_pending with
991 flag READABLE_EVENTS_DO_TIMERS_NOW.
992 (readable_events): Move code from old readable_filtered_events here,
993 but check new READABLE_EVENTS_* in argument flags instead of previous
994 two boolean arguments do_timers_now and filter_events.
995 If we are doing mouse tracking and the mouse moved, return only if
996 READABLE_EVENTS_IGNORE_SQUEEZABLES is not set in flags.
997 (swallow_events): Call get_input_pending with flag
998 READABLE_EVENTS_DO_TIMERS_NOW.
999 (get_input_pending): Move code from old get_filtered_input_pending
1000 here. Replace boolean arguments do_timers_now, filter_events with
1001 flags, and pass flags to readable_events. Document new
1002 READABLE_EVENTS_* flags.
1003 (detect_input_pending_ignore_squeezables): New function.
1004 (detect_input_pending_run_timers): Call get_input_pending with flag
1005 READABLE_EVENTS_DO_TIMERS_NOW.
1006 (Finput_pending_p): Call get_input_pending with flags
1007 READABLE_EVENTS_DO_TIMERS_NOW and READABLE_EVENTS_FILTER_EVENTS.
1008
1009 * dispnew.c (update_window, update_frame_1): Replace calls to
1010 detect_input_pending with detect_input_pending_ignore_squeezables
1011 so that redisplay is not paused if the event queue contains only
1012 mouse movements.
1013
1014 * lisp.h: Declare detect_input_pending_ignore_squeezables.
1015
10162005-01-15 Steven Tamm <steventamm@mac.com>
1017
1018 * macterm.c (Vmac_use_core_graphics): Declare variable for
1019 mac-allow-anti-aliasing.
1020 (syms_of_macterm): DEFVAR_LISP and initialize it.
1021 (mac_draw_string_common): Use core graphics text rendering if
1022 mac-allow-anti-aliasing is enabled.
1023
1024 * macfns.c (Fx_file_dialog): Save As dialog includes only the
1025 file name in the text box.
1026
10272005-01-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1028
1029 * macfns.c (x_set_foreground_color, x_set_background_color):
1030 Sync with xfns.c.
1031 (mac_window, x_create_tip_frame): Use XSetWindowBackground.
1032 * macterm.c (XSetBackground, XSetWindowBackground): New functions.
1033 * macterm.h (XSetBackground, XSetWindowBackground): Add externs.
1034
10352005-01-14 Kim F. Storm <storm@cua.dk>
1036
1037 * keyboard.c (Fposn_at_x_y): Add optional arg WHOLE.
1038
10392005-01-13 Richard M. Stallman <rms@gnu.org>
1040
1041 * keymap.c (Fcurrent_active_maps): Ignore Voverriding_local_map
1042 if Voverriding_terminal_local_map is non-nil.
1043
1044 * keyboard.c (syms_of_keyboard): Doc fix.
1045
10462005-01-13 Kim F. Storm <storm@cua.dk>
1047
1048 * xdisp.c (Fformat_mode_line): Fix last change. Remove NO_PROPS arg
1049 (specify 0 for FACE instead). Reorder arg list. Doc fix.
1050
10512005-01-12 Richard M. Stallman <rms@gnu.org>
1052
1053 * xdisp.c (Fformat_mode_line): New arg FACE specifies a default
1054 face property for characters that don't specify one.
1055
1056 * fns.c (Frequire): Record in load-history unconditionally.
1057
10582005-01-10 Kim F. Storm <storm@cua.dk>
1059
1060 * dispextern.h (merge_faces): Rename from merge_into_realized_face.
1061
1062 * xfaces.c (merge_faces): Rename from merge_into_realized_face.
1063 Callers changed.
1064 Add support to merge with lisp face id too (if face_name is t).
1065
1066 * xdisp.c (get_next_display_element, next_element_from_display_vector):
1067 Don't lookup lface_id from display table glyphs here; instead use
1068 merge_faces to merge the lisp face id into current face.
1069
10702005-01-09 Kim F. Storm <storm@cua.dk>
1071
1072 * dispextern.h (struct it): New member dpvec_face_id.
1073 (merge_into_realized_face): Add prototype.
1074
1075 * xfaces.c (merge_into_realized_face): New function. Used to
1076 merge escape-glyph face or face from display table into current face.
1077
1078 * xdisp.c (Vshow_nonbreak_escape): New lisp var.
1079 (syms_of_xdisp): DEFVAR_LISP it.
1080 (escape_glyph_face): Remove var.
1081 (redisplay_window): Don't initialize it.
1082 (setup_for_ellipsis, get_next_display_element):
1083 Set it->dpvec_face_id to -1.
1084 (get_next_display_element): Test Vshow_nonbreak_escape.
1085 Do not setup escape_glyph_face.
1086 Properly merge escape-glyph face or face from display table with
1087 current face for escape and control characters.
1088 Set it->dpvec_face_id to relevant face id instead of adding it to each
1089 element of display vector.
1090 (next_element_from_display_vector): If it->dpvec_face_id is set,
1091 use that instead of lface_id from glyph itself.
1092
10932005-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1094
1095 * xterm.h (struct x_output): New member, toolbar_detached.
1096
1097 * gtkutil.c (xg_create_frame_widgets): Set initial tool bar height to
1098 38.
1099 (xg_tool_bar_detach_callback): Set toolbar_detached to 1.
1100 (xg_tool_bar_attach_callback): Set toolbar_detached to 0.
1101 (xg_create_tool_bar): Initialize toolbar_detached.
1102 (update_frame_tool_bar): Only set FRAME_TOOLBAR_HEIGHT (f) if
1103 toolbar_detached is zero.
1104
11052005-01-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1106
1107 * xmenu.c (create_and_show_popup_menu): Pass zero as button to
1108 gtk_menu_popup if not for_click, so callbacks for the menu are called.
1109
1110 * gtkutil.c (xg_gtk_scroll_destroy, xg_create_scroll_bar)
1111 (xg_tool_bar_callback, xg_tool_bar_help_callback)
1112 (update_frame_tool_bar): Cast to EMACS_INT to avoid compiler warning.
1113
1114 * xselect.c (x_get_foreign_selection, x_fill_property_data)
1115 (Fx_get_atom_name, Fx_send_client_event): Replace XFLOAT with
1116 XFLOAT_DATA to get extract number from Lisp object.
1117
11182005-01-07 Kim F. Storm <storm@cua.dk>
1119
1120 * xdisp.c (set_iterator_to_next): Fix 2004-12-13 change.
1121 Set stop_charpos to current charpos instead of 0.
1122
11232005-01-06 Nick Roberts <nickrob@snap.net.nz>
1124
1125 * xdisp.c (Fformat_mode_line): First arg now required.
1126
11272005-01-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1128
1129 * macterm.c (XLoadQueryFont): Correctly handle 0 size
1130 font widths that are returned from some Japanese fonts.
1131
11322005-01-06 Kim F. Storm <storm@cua.dk>
1133
1134 * fringe.c (fringe_faces): Change to Lisp_Object pointer.
1135 (draw_fringe_bitmap_1): Lookup user defined fringe faces here.
1136 (destroy_fringe_bitmap): Set fringe_faces element to nil.
1137 (Fdefine_fringe_bitmap, init_fringe): Change allocation of
1138 fringe_faces array and init elements to nil.
1139 (Fset_fringe_bitmap_face): Set fringe_faces to face name instead of
1140 non-persistent face id.
1141 (mark_fringe_data): New function for GC.
1142
1143 * alloc.c (mark_fringe_data): Declare extern.
1144 (Fgarbage_collect): Call mark_fringe_data.
1145
1146 * alloc.c (overrun_check_free): Invalidate freed memory if
1147 XMALLOC_CLEAR_FREE_MEMORY is defined.
1148
11492005-01-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1150
1151 * macfns.c: Include sys/param.h.
1152 [TARGET_API_MAC_CARBON] (mac_nav_event_callback): New declaration
1153 and function.
1154 [TARGET_API_MAC_CARBON] (Fx_file_dialog): Use MAXPATHLEN for size
1155 of filename string. Set event callback function when creating
1156 dialog boxes. Add code conversions for filenames. Don't dispose
1157 apple event descriptor record if failed to create it.
1158
1159 * macterm.c: Include sys/param.h.
1160 [USE_CARBON_EVENTS] (mac_handle_window_event): Add handler for
1161 kEventWindowUpdate.
1162 (install_window_handler) [USE_CARBON_EVENTS]: Register it.
1163 (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Get FSRef instead
1164 of FSSpec from apple event descriptor record.
1165 (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Use MAXPATHLEN for
1166 size of filename string.
1167 [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise.
1168 [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Return error when a
1169 file dialog is in action.
1170 [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise.
1171 Reject only when there are no filename items. Set background color
1172 before (un)highlighting the window below the dragged items.
1173 (XTread_socket) [USE_CARBON_EVENTS]: Don't call do_window_update.
1174
11752005-01-05 Romain Francoise <romain@orebokech.com>
1176
1177 * term.c (encode_terminal_code): Fix buffer size computation.
1178
11792005-01-04 Richard M. Stallman <rms@gnu.org>
1180
1181 * xdisp.c (Fformat_mode_line): Doc fix.
1182
11832005-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
1184
1185 * alloc.c (refill_memory_reserve): Move.
1186 (emacs_blocked_free, emacs_blocked_malloc, emacs_blocked_realloc)
1187 (reset_malloc_hooks, uninterrupt_malloc) [SYNC_INPUT]: Don't define.
1188
11892005-01-03 Richard M. Stallman <rms@gnu.org>
1190
1191 * window.c (window_scroll_pixel_based): Don't correct preserve_y
1192 for CURRENT_HEADER_LINE_HEIGHT when moving backwards.
1193
11942005-01-03 Jason Rumney <jasonr@gnu.org>
1195
1196 * w32bdf.c (w32_load_bdf_font): Set fontp->average_width and
1197 fontp->space_width to FONT_WIDTH so they are valid.
1198
1199 * w32fns.c (w32_load_system_font): Set FONT_WIDTH to maximum, not
1200 average width. Set fontp->average_width and fontp->space_width to
1201 their appropriate values.
1202
1203 * w32term.c (x_new_font): Set FRAME_COLUMN_WIDTH to
1204 fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
1205 fontp->space_width.
1206
12072005-01-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1208
1209 * macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
1210 (x_font_min_bounds, XLoadQueryFont): Use the correct font width
1211 metrics for max and min bounds.
1212 (x_load_font): Correctly calculate average font width metrics.
1213
12142005-01-02 Richard M. Stallman <rms@gnu.org>
1215
1216 * alloc.c (Fgarbage_collect): Don't truncate_undo_list on dead buffers.
1217
12182004-12-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1219
1220 * xterm.c (handle_one_xevent): Clear area in expose event for GTK.
1221
12222004-12-31 Richard M. Stallman <rms@gnu.org>
1223
1224 * xdisp.c (setup_for_ellipsis, get_next_display_element):
1225 Set it->ellipsis_p to 1 or 0.
1226 (display_line): Record whether row ends in mid-ellipsis.
1227 (set_cursor_from_row): If ends in ellipsis. find start of it.
1228 (cursor_row_p): If PT's at the end of the ellipsis the row
1229 ends within, don't display cursor on this row.
1230
1231 * dispextern.h (struct it): New element ellipsis_p.
1232 (struct glyph_row): New element ends_in_ellipsis_p.
1233
1234 * xdisp.c (BUFFER_POS_REACHED_P): We haven't reached the specified
1235 position if we're reading from something other than the buffer.
1236
1237 * window.c (window_scroll_pixel_based): Only look at
1238 Vscroll_preserve_screen_position if the old PT can't be kept.
1239 (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
1240
12412004-12-30 Kim F. Storm <storm@cua.dk>
1242
1243 * xdisp.c (get_line_height_property): New function extracted from
1244 original calc_line_height_property.
1245 (calc_line_height_property): Rework. Handle t and (nil . ratio).
1246 (x_produce_glyphs): Use them to handle line-height and
1247 line-spacing according to new height spec.
1248 (Qtotal): Remove.
1249 (syms_of_xdisp): Remove intern and staticpro for Qtotal.
1250
12512004-12-30 Kenichi Handa <handa@m17n.org>
1252
1253 * fileio.c (Finsert_file_contents): Don't use
1254 current_buffer->buffer_file_coding_system even if REPLACE is
1255 non-nil. Call Qafter_insert_file_set_coding with the second arg VISIT.
1256
1257 * fontset.h (struct font_info): New members space_width and
1258 average_width.
1259
1260 * frame.h (struct frame): New member space_width.
1261 (FRAME_SPACE_WIDTH): New macro.
1262
1263 * xterm.h (struct x_display_info): New member Xatom_AVERAGE_WIDTH.
1264
1265 * xterm.c (x_new_font): Set FRAME_COLUMN_WIDTH to
1266 fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
1267 fontp->space_width.
1268 (x_load_font): Calculate fontp->space_width and fontp->average_width.
1269 (x_term_init): Initialize dpyinfo->Xatom_AVERAGE_WIDTH.
1270
1271 * xdisp.c (x_produce_glyphs): Calculate tab width by
1272 FRAME_SPACE_WIDTH, not FRAME_COLUMN_WIDTH.
1273
12742004-12-29 Sanghyuk Suh <han9kin@mac.com>
1275
1276 * macterm.c (SelectionRange): Add Xcode position apple event struct.
1277 (do_ae_open_documents): Handle Xcode-style file position open events.
1278
12792004-12-29 Luc Teirlinck <teirllm@auburn.edu>
1280
1281 * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Correct typo.
1282
12832004-12-29 Richard M. Stallman <rms@gnu.org>
1284
1285 * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Doc fix.
1286
12872004-12-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1288
1289 * macfns.c (install_window_handler): Modify extern to return OSErr
1290 value.
1291 (mac_window): Handle return value of install_window_handler.
1292
1293 * macterm.c (reflect_byte): Remove function.
1294 (mac_create_bitmap_from_bitmap_data): Don't call reflect_byte.
1295 Lookup table instead.
1296 (mac_do_font_lists): Simplify calculation of the longest
1297 nonspecial string.
1298 (init_mac_drag_n_drop): Remove function and declaration.
1299 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
1300 init_mac_drag_n_drop.
1301 (mac_do_track_drag): New function and declaration.
1302 (install_window_handler): Return OSErr value.
1303 (install_window_handler) [TARGET_API_MAC_CARBON]:
1304 Register handlers for tracking/receiving drag-and-drop items.
1305 (do_ae_open_documents): Generate unibyte strings for filenames.
1306 (mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise.
1307 Reject only non-filename items. Set event modifiers, and return value.
1308
13092004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
1310
1311 * coding.c (decode_coding): Fix previous change.
1312
13132004-12-28 Richard M. Stallman <rms@gnu.org>
1314
1315 * xdisp.c (back_to_previous_visible_line_start):
1316 Don't call handle_display_prop.
1317
13182004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
1319
1320 * coding.c (decode_coding_XXX, decode_composition_emacs_mule)
1321 (decode_coding_emacs_mule, encode_coding_emacs_mule)
1322 (decode_coding_iso2022, encode_designation_at_bol)
1323 (encode_coding_iso2022, decode_coding_sjis_big5, decode_eol)
1324 (decode_coding): Constify arguments and local vars.
1325
13262004-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1327
1328 * xmenu.c (popup_get_selection): Only pop down dialogs
1329 on C-g and Escape.
1330 (popup_get_selection): Remove parameter down_on_keypress.
1331 (create_and_show_popup_menu, create_and_show_dialog):
1332 Remove parameter down_on_keypress to popup_get_selection.
1333
13342004-12-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1335
1336 * dispextern.h: Change HAVE_CARBON to MAC_OS.
1337 (struct glyph_string): Likewise.
1338
1339 * emacs.c (main) [MAC_OS8]: Call mac_term_init instead of
1340 mac_initialize.
1341
1342 * fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name):
1343 Change TARGET_API_MAC_CARBON to HAVE_CARBON.
1344
1345 * fns.c (vector): Change MAC_OSX to MAC_OS.
1346
1347 * frame.c (x_set_frame_parameters, x_report_frame_params)
1348 (x_set_fullscreen): Remove #ifndef HAVE_CARBON.
1349 (x_set_border_width, Vdefault_frame_scroll_bars):
1350 Change HAVE_CARBON to MAC_OS.
1351
1352 * image.c [MAC_OS]: Include sys/stat.h.
1353 [MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and
1354 QuickTimeComponents.h.
1355
1356 * mac.c [!MAC_OSX] (mac_wait_next_event): Add extern.
1357 [!MAC_OSX] (select): Use mac_wait_next_event.
1358 [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to Vexec_suffixes.
1359 [!MAC_OSX] (select, run_mac_command): Change `#ifdef
1360 TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
1361 (mac_clear_font_name_table): Add extern.
1362 (Fmac_clear_font_name_table): New defun.
1363 (syms_of_mac): Defsubr it.
1364 [MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define.
1365 [MAC_OSX] (select_and_poll_event): New function.
1366 [MAC_OSX] (sys_select): Use it.
1367 [MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function.
1368 [MAC_OSX && SELECT_USE_CFSOCKET]
1369 (SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines.
1370 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and
1371 RunLoop for simultaneously monitoring two kinds of inputs, window
1372 events and process outputs, without periodically polling.
1373
1374 * macfns.c (mac_initialized): Remove extern.
1375 (stricmp): Put in #if 0. All callers changed to use xstricmp in
1376 xfaces.c.
1377 (strnicmp): Decrement `n' at the end of each loop, not the beginning.
1378 (check_mac): Use the term "Mac native windows" instead of "Mac OS".
1379 (check_x_display_info, x_display_info_for_name): Sync with xfns.c.
1380 (mac_get_rdb_resource): New function (from w32reg.c).
1381 (x_get_string_resource): Use it.
1382 (install_window_handler): Add extern.
1383 (mac_window): New function.
1384 (Fx_create_frame): Use it instead of make_mac_frame.
1385 Set parameter for Qfullscreen. Call x_wm_set_size_hint.
1386 (Fx_open_connection, Fx_close_connection): New defuns.
1387 (syms_of_macfns): Defsubr them.
1388 (x_create_tip_frame) [TARGET_API_MAC_CARBON]:
1389 Add kWindowNoUpdatesAttribute to the window attribute.
1390 (x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow.
1391 (x_create_tip_frame): Don't call ShowWindow.
1392 (Fx_show_tip): Call ShowWindow.
1393 (Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if
1394 TARGET_API_MAC_CARBON'.
1395 (mac_frame_parm_handlers): Set handlers for Qfullscreen.
1396 (syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0.
1397
1398 * macgui.h [!MAC_OSX]: Don't include Controls.h. Include Windows.h.
1399 (Window): Typedef to WindowPtr and move outside `#if
1400 TARGET_API_MAC_CARBON'.
1401 (XSizeHints): New struct.
1402
1403 * macterm.c (x_update_begin, x_update_end)
1404 [TARGET_API_MAC_CARBON]: Disable screen updates during update of a
1405 frame.
1406 (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
1407 [MAC_OS8]: Use XDrawImageString/XDrawImageString16.
1408 (construct_mouse_click): Put in #if 0.
1409 (x_check_fullscreen, x_check_fullscreen_move): Remove decls.
1410 (x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef
1411 TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
1412 (activate_scroll_bars, deactivate_scroll_bars)
1413 [!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl.
1414 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window
1415 if the position is neither user-specified nor program-specified.
1416 (x_free_frame_resources): Free size_hints.
1417 (x_wm_set_size_hint): Allocate size_hints if needed. Set size_hints.
1418 (mac_clear_font_name_table): New function.
1419 (mac_do_list_fonts): Initialize font_name_table if needed.
1420 (x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT
1421 around mac_do_list_fonts.
1422 (mac_unload_font): New function.
1423 (x_load_font): Add BLOCK_INPUT around XLoadQueryFont.
1424 (init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations
1425 and definitions with #if TARGET_API_MAC_CARBON.
1426 [USE_CARBON_EVENTS] (mac_handle_window_event): Add decl.
1427 (install_window_handler): Add decl.
1428 (do_window_update): Add BeginUpdate/EndUpdate for the tooltip
1429 window. Use UpdateControls. Get the rectangle that should be
1430 updated and restrict the target of expose_frame to it.
1431 (do_grow_window): Set minimum height/width according to size_hints.
1432 (do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow.
1433 (do_zoom_window): Don't use x_set_window_size.
1434 [USE_CARBON_EVENTS] (mac_handle_window_event): New function.
1435 (install_window_handler): New function.
1436 [!USE_CARBON_EVENTS] (mouse_region): New variable.
1437 [!USE_CARBON_EVENTS] (mac_wait_next_event): New function.
1438 (XTread_socket) [USE_CARBON_EVENTS]: Move call to
1439 GetEventDispatcherTarget inside BLOCK_INPUT.
1440 (XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event.
1441 Update mouse_region when mouse is moved.
1442 (make_mac_frame): Remove.
1443 (make_mac_terminal_frame): Put in #ifdef MAC_OS8.
1444 Initialize mouse pointer shapes. Change values of f->left_pos and
1445 f->top_pos. Don't use make_mac_frame. Use NewCWindow.
1446 Don't call ShowWindow.
1447 (mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from
1448 Vinvocation_name and Vsystem_name.
1449 (mac_make_rdb): New function (from w32term.c).
1450 (mac_term_init): Use it. Add BLOCK_INPUT. Error if display has
1451 already been opened. Don't pass argument to
1452 mac_initialize_display_info. Don't set dpyinfo->height/width.
1453 Add entries to x_display_list and x_display_name_list.
1454 (x_delete_display): New function.
1455 (mac_initialize): Don't call mac_initialize_display_info.
1456 (syms_of_macterm) [!MAC_OSX]: Don't call Fprovide.
1457
1458 * macterm.h (check_mac): Add extern.
1459 (struct mac_output): New member size_hints.
1460 (FRAME_SIZE_HINTS): New macro.
1461 (mac_unload_font): Add extern.
1462
1463 * xdisp.c (expose_window, expose_frame): Remove kludges for Mac.
1464
1465 * xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
1466
14672004-12-27 Richard M. Stallman <rms@gnu.org>
1468
1469 * buffer.c (Fbuffer_disable_undo): Delete (move to simple.el).
1470 (syms_of_buffer): Don't defsubr it.
1471
1472 * process.c (list_processes_1): Set undo_list instead
1473 of calling Fbuffer_disable_undo.
1474
1475 * xdisp.c (single_display_spec_string_p): Rename from
1476 single_display_prop_string_p.
1477 (single_display_spec_intangible_p): Rename from
1478 single_display_prop_intangible_p.
1479 (handle_single_display_spec): Rename from handle_single_display_prop.
1480 Rewritten to be easier to understand.
1481
1482 Change in load-history format. Functions now get (defun . NAME),
1483 and variables get just NAME.
1484
1485 * data.c (Fdefalias): Use (defun . FN_NAME) in LOADHIST_ATTACH.
1486
1487 * eval.c (Fdefun, Fdefmacro): Use (defun . FN_NAME) in LOADHIST_ATTACH.
1488 (Fdefvaralias, Fdefvar, Fdefconst): Use just SYM in LOADHIST_ATTACH.
1489 (Qdefvar): Var deleted.
1490 (syms_of_eval): Don't initialze it.
1491
1492 * lread.c (syms_of_lread) <load-history>: Doc fix.
1493
14942004-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1495
1496 * xmenu.c (popup_get_selection): Pop down on C-g.
1497 (set_frame_menubar): Install translations for Lucid/Motif/Lesstif that
1498 pops down menu on C-g.
1499 (xdialog_show): If dialog popped down and no button in the dialog was
1500 pushed, call Fsignal to quit.
1501 (xmenu_show): In no toolkit version, if menu returns NO_SELECT call
1502 Fsignal to quit.
1503
1504 * xfns.c (Fx_file_dialog): Motif/Lesstif version: Pop down on C-g.
1505
1506 * gtkutil.c (xg_initialize): Install bindings for C-g so that
1507 dialogs and menus pop down.
1508
15092004-12-27 Kenichi Handa <handa@m17n.org>
1510
1511 * coding.c (code_convert_region): Fix calculation of `ratio'.
1512
15132004-12-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1514
1515 * gtkutil.c (update_frame_tool_bar): Make the value of
1516 tool-bar-button-margin control margins of images in tool bar.
1517
1518 * alloc.c (check_depth): New variable.
1519 (overrun_check_malloc, overrun_check_realloc): Only add
1520 overhead and write check pattern if check_depth is 1 (to handle
1521 recursive calls). Increase/decrease check_depth in entry/exit.
1522 (overrun_check_free): Only check for overhead if check_depth is 1.
1523 Increase/decrease check_depth in entry/exit.
1524
15252004-12-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1526
1527 * keyboard.c (input_available_signal): Call SIGNAL_THREAD_CHECK
1528 before touching input_available_clear_time, to avoid accessing it
1529 from multiple threads.
1530
15312004-12-23 Jason Rumney <jasonr@gnu.org>
1532
1533 * image.c (__WIN32__) [HAVE_NTGUI]: Define for correct behaviour
1534 of JPEG library.
1535
15362004-12-22 Richard M. Stallman <rms@gnu.org>
1537
1538 * emacs.c (main): If batch mode, set Vundo_outer_limit to nil.
1539
1540 * lisp.h (Vundo_outer_limit): Fix decl.
1541
1542 * undo.c (Vundo_outer_limit): Replaces undo_outer_limit.
1543 Uses changed.
1544 (syms_of_undo): Initialize appropriately.
1545 (truncate_undo_list): If it's nil, there's no limit.
1546
15472004-12-22 Kenichi Handa <handa@m17n.org>
1548
1549 * xselect.c (Fx_get_cut_buffer_internal): Return a unibyte string.
1550
15512004-12-21 Richard M. Stallman <rms@gnu.org>
1552
1553 * eval.c (unwind_to_catch): Clear immediate_quit.
1554
1555 * xdisp.c (get_next_display_element): Display codes 8a0 and 8ad
1556 specially as `\ ' and `\-'.
1557
1558 * keyboard.c (kbd_buffer_store_event_hold):
1559 In the code for while-no-input, handle immediate_quit.
1560
1561 * alloc.c (Fgarbage_collect): Update call to truncate_undo_list.
1562 Call that at the very start.
1563 (undo_limit, undo_strong_limit, undo_outer_limit): Move to undo.c.
1564 (syms_of_alloc): Don't define undo-limit,
1565 undo-strong-limit and undo-outer-limit here.
1566
1567 * undo.c (truncate_undo_list): Return void.
1568 Take just one argument, the buffer.
1569 Make it current, and inhibit recursive GC.
1570 Access and update the undo list directly; return void.
1571 Refer to the undo...limit variables directly.
1572 Test undo_outer_limit only after counting the whole current command.
1573 When it's exceeded, call the function in undo-outer-limit-function.
1574 (undo_limit, undo_strong_limit, undo_outer_limit): From alloc.c.
1575 (Vundo_outer_limit_function): New variable.
1576 (syms_of_undo): Define undo-limit, undo-strong-limit
1577 and undo-outer-limit here, and undo-outer-limit-function.
1578 Doc fixes.
1579
1580 * lisp.h (truncate_undo_list): Update decl.
1581
15822004-12-21 Piet van Oostrum <piet@cs.uu.nl>
1583
1584 * fileio.c (Fread_file_name): Delete duplicates in
1585 file-name-history when history_delete_duplicates is true.
1586
15872004-12-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1588
1589 * macterm.c (mac_do_list_fonts): Fix memory leak
1590
15912004-12-20 Richard M. Stallman <rms@gnu.org>
1592
1593 * regex.c (re_match_2_internal) <symend, wordend>:
1594 Fix calls to UPDATE_SYNTAX_TABLE_FORWARD.
1595
15962004-12-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1597
1598 * macterm.c (endif, x_font_name_to_mac_font_name):
1599 Use maccentraleurroman instead of maccentraleuropean
1600 (mac_c_string_match, mac_do_list_fonts): Speed up font search by
1601 quickly finding a specific font without needing regexps.
1602
16032004-12-15 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1604
1605 * syssignal.h: Declare main_thread.
1606 (SIGNAL_THREAD_CHECK): New macro.
1607
1608 * keyboard.c (input_available_signal): Move thread checking code
1609 to macro SIGNAL_THREAD_CHECK and call that macro.
1610 (interrupt_signal): Call SIGNAL_THREAD_CHECK.
1611
1612 * alloc.c (uninterrupt_malloc): Move main_thread to emacs.c.
1613
1614 * emacs.c: Define main_thread.
1615 (main): Initialize main_thread.
1616 (handle_USR1_signal, handle_USR2_signal, fatal_error_signal)
1617 (memory_warning_signal): Call SIGNAL_THREAD_CHECK.
1618
1619 * floatfns.c (float_error): Call SIGNAL_THREAD_CHECK.
1620
1621 * dispnew.c (window_change_signal): Call SIGNAL_THREAD_CHECK.
1622
1623 * sysdep.c (select_alarm): Call SIGNAL_THREAD_CHECK.
1624
1625 * process.c (send_process_trap, sigchld_handler):
1626 Call SIGNAL_THREAD_CHECK.
1627
1628 * data.c (arith_error): Call SIGNAL_THREAD_CHECK.
1629
1630 * atimer.c (alarm_signal_handler): Call SIGNAL_THREAD_CHECK.
1631
1632 * xterm.c (xg_scroll_callback): Update XG_LAST_SB_DATA before
1633 returning when xg_ignore_gtk_scrollbar is true.
1634
16352004-12-14 Kim F. Storm <storm@cua.dk>
1636
1637 * keyboard.c (read_char): Save and restore echo_string when
1638 handling input method.
1639
16402004-12-13 Richard M. Stallman <rms@gnu.org>
1641
1642 * eval.c (syms_of_eval) <quit-flag>: Doc fix.
1643
1644 * keyboard.c (Vthrow_on_input): New variable.
1645 (syms_of_keyboard): Defvar and initialize it.
1646 (kbd_buffer_store_event_hold): Handle Vthrow_on_input.
1647
1648 * lisp.h (QUIT): Check for Vthrow_on_input.
1649 (Vthrow_on_input): Declare it.
1650
16512004-12-13 Kim F. Storm <storm@cua.dk>
1652
1653 * xdisp.c (set_iterator_to_next): Reset stop_charpos after display
1654 vector.
1655
16562004-12-12 Richard M. Stallman <rms@gnu.org>
1657
1658 * indent.c (Fvertical_motion): Call move_it_by_lines even if LINES = 0.
1659
1660 * minibuf.c (Fall_completions): Add var `zero' and use it in loop.
1661 (Ftry_completion): Really use outer `zero'; eliminate inner one.
1662
16632004-12-12 Kenichi Handa <handa@m17n.org>
1664
1665 * term.c (encode_terminal_code): Fix previous change.
1666
16672004-12-11 Stefan Monnier <monnier@iro.umontreal.ca>
1668
1669 * keyboard.c (handle_async_input): Remove pthread mutex handling.
1670 (input_available_signal): Move pthread thingy to !SYNC_INPUT branch.
1671
1672 * syntax.c (Fforward_word): Avoid non-idempotent side-effects
1673 in macro arguments.
1674
1675 * minibuf.c (Ftry_completion, Fall_completions): Don't use
1676 XFASTINT blindly.
1677
1678 * emacs.c (main, Fdump_emacs): Don't touch malloc hooks if SYNC_INPUT.
1679
16802004-12-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1681
1682 * w32term.c (x_calc_absolute_position): Remove calculation of
1683 difference between inner and outer window. Don't subtract difference
1684 for left and top calculations.
1685
1686 * xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff
1687 for left and top calculations. Remove call to x_real_positions.
1688 [Bug report by Drew Adams in November]
1689 (x_check_expected_move): Do not set change_gravity to 1 when calling
1690 x_set_offset.
1691
16922004-12-08 Richard M. Stallman <rms@gnu.org>
1693
1694 * xdisp.c (get_next_display_element): Use `escape-glyph' for
1695 control chars and escaped octal codes.
1696 (Qescape_glyph): New variable.
1697 (syms_of_xdisp): Initialize it.
1698 (escape_glyph_face): New variable.
1699 (redisplay_window): Initialize it.
1700
17012004-12-07 Paul Eggert <eggert@cs.ucla.edu>
1702
1703 * image.c (our_fill_input_buffer, jpeg_load, CHECK_LIB_AVAILABLE)
1704 (init_image): Use 1 rather than TRUE. TRUE's not always defined.
1705
17062004-12-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1707
1708 * emacs.c (Fdump_emacs): Add ! defined (SYSTEM_MALLOC) around
1709 reset_malloc_hooks.
1710
1711 * keyboard.c (handle_async_input, input_available_signal):
1712 Add ! defined (SYSTEM_MALLOC) around thread code.
1713
1714 * alloc.c: Add comment about the reason for (UN)BLOCK_INPUT_ALLOC.
1715
17162004-12-07 Stefan Monnier <monnier@iro.umontreal.ca>
1717
1718 * eval.c (init_eval_once): Increase max_specpdl_size to 1000.
1719
1720 * config.in: Regenerate.
1721
17222004-12-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1723
1724 * xmenu.c (Fx_popup_menu): Correct documentation about position.
1725 (xmenu_show): Do not call XTranslateCoordinates. Adjust position
1726 if not given by a mouse click to correspond with x-popup-menu
1727 documentation.
1728
1729 * config.in: Regenerate.
1730
1731 * gtkutil.c: Include signal.h and syssignal.h.
1732 (xg_get_file_name): Block and unblock __SIGRTMIN if defined.
1733
1734 * alloc.c: If HAVE_GTK_AND_PTHREAD, include pthread.h,
1735 new variables main_thread and alloc_mutex,
1736 define (UN)BLOCK_INPUT_ALLOC to use alloc_mutex to protect
1737 emacs_blocked_* calls and only do (UN)BLOCK_INPUT in the main thread.
1738 If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same as
1739 (UN)BLOCK_INPUT.
1740 (emacs_blocked_free, emacs_blocked_malloc)
1741 (emacs_blocked_realloc): Use (UN)BLOCK_INPUT_ALLOC.
1742 (uninterrupt_malloc): Initialize main_thread and alloc_mutex.
1743 (reset_malloc_hooks): New function.
1744
1745 * lisp.h: Declare reset_malloc_hooks.
1746
1747 * emacs.c (Fdump_emacs): Call reset_malloc_hooks.
1748
1749 * keyboard.c: Conditionally include pthread.h
1750 (handle_async_input, input_available_signalt): If not in the main
1751 thread, block signal, send signal to main thread and return.
1752
1753 * gtkutil.c (xg_get_file_with_chooser): Handle local files only.
1754 Set current folder in file chooser if default_filename is a directory.
1755
17562004-12-05 Stefan Monnier <monnier@iro.umontreal.ca>
1757
1758 * regex.c (GET_UNSIGNED_NUMBER): Signal an error when reaching the end.
1759 Remove redundant correctness checks.
1760 (regex_compile): Fix up error codes for \{..\} expressions.
1761
17622004-12-05 Richard M. Stallman <rms@gnu.org>
1763
1764 * regex.c (regex_compile): Fix end-of-pattern case for space.
1765
17662004-12-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1767
1768 * macterm.h (cfstring_create_with_utf8_cstring): Add prototype.
1769 * mac.c (cfstring_create_with_utf8_cstring): Add to prevent
1770 crashes with invalid characters.
1771 * macmenu.c (add_menu_item): Use it.
1772 * image.c (image_load_quartz2d): Likewise.
1773 * macfns.c (x_set_name, x_set_title): Likewise.
1774 (Fx_file_dialog): Likewise. Use constant CFRefs instead of
1775 creating them each time for labels.
1776
17772004-12-02 Richard M. Stallman <rms@gnu.org>
1778
1779 * config.in (RE_TRANSLATE_P): If make_number is not a macro,
1780 don't use it here.
1781
1782 * eval.c (Fcalled_interactively_p): Don't check INTERACTIVE.
1783 (interactive_p): Skip Scalled_interactively_p frames
1784 like Sinteractive_p frames.
1785 (unwind_to_catch): Clear handling_signal.
1786
1787 * data.c (Fmake_variable_buffer_local): Doc fix.
1788 (Fmake_local_variable): Doc fix.
1789
1790 * insdel.c (insert_from_string_before_markers)
1791 (insert_from_string): Don't modify buffer on empty insertion.
1792
1793 * window.c (Fget_lru_window, Fget_largest_window): Doc fixes.
1794
17952004-12-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1796
1797 * macmenu.c (add_menu_item): Fallback on MacRoman if encoding
1798 menu text as UTF8 fails.
1799
18002004-12-01 Kim F. Storm <storm@cua.dk>
1801
1802 * alloc.c: Add commentary for last change.
1803 (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): New macros to handle
1804 sizeof(size_t) != 4.
1805 (overrun_check_malloc, overrun_check_realloc, overrun_check_free):
1806 Use them. Also clear header and trailer of freed memory.
1807 (GC_STRING_OVERRUN_COOKIE_SIZE): Rename from GC_STRING_EXTRA.
1808 (string_overrun_cookie): Rename from string_overrun_pattern.
1809 (GC_STRING_EXTRA): Define from GC_STRING_OVERRUN_COOKIE_SIZE.
1810
18112004-12-01 Andreas Schwab <schwab@suse.de>
1812
1813 * lisp.h: Declare string_to_multibyte.
1814
18152004-12-01 Kenichi Handa <handa@m17n.org>
1816
1817 * w32console.c (w32con_write_glyphs): Decide coding here.
1818 Adjusted for the change of encode_terminal_code.
1819
1820 * term.c (encode_terminal_code): Don't make it "static".
1821
18222004-11-30 Kenichi Handa <handa@m17n.org>
1823
1824 * term.c (encode_terminal_buf, encode_terminal_bufsize): New variables.
1825 (encode_terminal_code): Argument changed. Encode all
1826 characters at once, and return a pointer to the result of encoding.
1827 (write_glyphs): Decide coding here. Adjusted for the above change.
1828 (insert_glyphs): Likewise.
1829 (term_init): Initialize encode_terminal_bufsize to 0.
1830
1831 * coding.c (Vcode_conversion_workbuf_name): New variable.
1832 (syms_of_coding): Initialize and staticpro it.
1833 (set_conversion_work_buffer): New function.
1834 (run_pre_post_conversion_on_str): Use it.
1835 (run_pre_write_conversin_on_c_str): New function.
1836
1837 * coding.h (run_pre_write_conversin_on_c_str): Extern it.
1838
18392004-11-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1840
1841 * keyboard.c: Don't undef SIGIO
1842 * s/darwin.h (NO_SOCK_SIGIO): Define NO_SOCK_SIGIO on carbon
1843 * Makefile.in (mac.o): Depend on blockinput.h and atimer.h.
1844 (macfns.o): Don't depend on ccl.h.
1845 * macfns.c (mac_frame_parm_handlers): Set handlers for
1846 Qleft_fringe and Qright_fringe.
1847 * macterm.c (mac_fill_rectangle_to_pixmap)
1848 (mac_draw_rectangle_to_pixmap, mac_copy_area_to_pixmap)
1849 (mac_copy_area_with_mask_to_pixmap, x_draw_image_foreground_1):
1850 Put in #if 0.
1851 (mac_scroll_area) [TARGET_API_MAC_CARBON]: Use ScrollWindowRect.
1852 (x_flush) [TARGET_API_MAC_CARBON]: Don't traverse frames.
1853 (XFlush) [TARGET_API_MAC_CARBON]: Define to an empty replacement.
1854 (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
1855 [!MAC_OS8]: Added ifdef'd out code for os8. Don't use
1856 XDrawImageString. Always draw background and foreground separately.
1857 (x_draw_image_foreground): Use clipping instead of computing the
1858 intersection rectangle.
1859 (x_draw_image_glyph_string): Don't draw an image with mask to a
1860 pixmap.
1861 (x_redisplay_interface): Set flush_display_optional member to 0.
1862 (XTread_socket): Correctly reset the TEConverter
1863 object.
1864
18652004-11-30 Kim F. Storm <storm@cua.dk>
1866
1867 * lisp.h: New defines to enable buffer overrun checking.
1868 (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST)
1869 (XMALLOC_OVERRUN_CHECK, GC_CHECK_CONS_LIST): Add.
1870
1871 * alloc.c: Add more checks for buffer overruns.
1872 (XMALLOC_OVERRUN_CHECK_SIZE, xmalloc_overrun_check_header)
1873 xmalloc_overrun_check_trailer, overrun_check_malloc)
1874 overrun_check_realloc, overrun_check_free): Add.
1875 (GC_STRING_EXTRA, string_overrun_pattern): Add.
1876 (check_sblock, allocate_string_data, compact_small_strings):
1877 Set and check string_overrun_pattern if GC_CHECK_STRING_OVERRUN.
1878 (check_cons_list): Condition on GC_CHECK_CONS_LIST.
1879 (check_string_free_list): Add.
1880 (allocate_string, sweep_strings): Call check_string_free_list.
1881
1882 * emacs.c (malloc_initialize_hook): Don't free malloc_state_ptr if
1883 XMALLOC_OVERRUN_CHECK to avoid crash during load.
1884
18852004-11-29 Kim F. Storm <storm@cua.dk>
1886
1887 * fns.c (concat): Use SAFE_ALLOCA.
1888
18892004-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
1890
1891 * sysdep.c (emacs_write): Don't use QUIT.
1892
18932004-11-29 Kenichi Handa <handa@m17n.org>
1894
1895 * buffer.c (init_buffer): Set current_buffer->directory to a
1896 multibyte string made by string_to_multibyte.
1897
1898 * emacs.c (init_cmdargs): Set unibyte strings in Vcommand_line_args.
1899
19002004-11-27 Andreas Schwab <schwab@suse.de>
1901
1902 * alloc.c (mark_stack): Call GC_MARK_SECONDARY_STACK if defined.
1903
1904 * s/gnu-linux.h: Enable no-op gcpros on ia64.
1905 (GC_MARK_SECONDARY_STACK) [__ia64__]: Define.
1906
1907 * filelock.c (lock_file_1): Call get_boot_time early.
1908 Increase buffer size.
1909
19102004-11-27 Eli Zaretskii <eliz@gnu.org>
1911
1912 * lisp.h (DECL_ALIGN): Define non-trivially only if NO_DECL_ALIGN
1913 is not defined.
1914
19152004-11-27 Kim F. Storm <storm@cua.dk>
1916
1917 * search.c (syms_of_search) <search-spaces-regexp>: Move 'doc:'
1918 marker out of doc string.
1919
19202004-11-26 Stefan Monnier <monnier@iro.umontreal.ca>
1921
1922 * s/darwin.h (POSIX_SIGNALS): Undo the removal of 2002-08-25,
1923 which was not mentioned in the log.
1924
19252004-11-26 Kim F. Storm <storm@cua.dk>
1926
1927 * fringe.c (update_window_fringes): Prefer truncation bitmaps over
1928 angle bitmaps at top/bottom line.
1929
1930 * xdisp.c: Undo recent changes for restoring saved_face_id. Instead,
1931 set it when it->method is set to next_element_from_display_vector.
1932 (setup_for_ellipsis): Add LEN argument. Callers changed.
1933 Set it->saved_face_id.
1934 (get_next_display_element): Use loop instead of recursion.
1935 Set it->saved_face_id. Combine duplicate code for ctr chars.
1936 (next_element_from_display_vector): Do not set it->saved_face_id.
1937 (next_element_from_ellipsis): Use setup_for_ellipsis.
1938
19392004-11-26 Eli Zaretskii <eliz@gnu.org>
1940
1941 * eval.c (Fdefvar): Declare pdl from last change as `volatile' to
1942 prevent compiler warnings.
1943
19442004-11-25 Stefan Monnier <monnier@iro.umontreal.ca>
1945
1946 * keyboard.c (command_loop_1): Print a message describing the key
1947 the user just pressed when this key has no binding.
1948
1949 * sysdep.c (sys_signal): Don't use SA_RESTART if SYNC_INPUT is set.
1950 (emacs_open, emacs_read, emacs_write): Check QUIT when interrupted.
1951
1952 * lread.c (readchar): Check QUIT when `getc' is interrupted.
1953
19542004-11-24 Richard M. Stallman <rms@gnu.org>
1955
1956 * coding.c (run_pre_post_conversion_on_str): Bind Qinhibit_read_only.
1957
1958 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>: Doc fix.
1959
19602004-11-24 Kim F. Storm <storm@cua.dk>
1961
1962 * xdisp.c (move_it_in_display_line_to, display_line):
1963 Restore saved_face_id also when truncate-lines or hscrolled.
1964
19652004-11-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1966
1967 * gtkutil.c (xg_get_file_name): Rename use-old-gtk-file-dialog to
1968 x-use-old-gtk-file-dialog.
1969
1970 * xfns.c: Define x_use_old_gtk_file_dialog.
1971 (syms_of_xfns): Rename use-old-gtk-file-dialog to x-... Move it
1972 outside ifdef USE_GTK.
1973
19742004-11-23 Stefan Monnier <monnier@iro.umontreal.ca>
1975
1976 * coding.h (ENCODE_FILE, DECODE_FILE, ENCODE_SYSTEM, DECODE_SYSTEM):
1977 Don't use XFASTINT blindly.
1978
1979 * config.in (RE_TRANSLATE_P): Don't use XFASTINT blindly.
1980
1981 * indent.c (skip_invisible): Avoid non-idempotent side-effects
1982 in macro arguments.
1983
1984 * keymap.c (Flookup_key): Check INTEGERP before XINT.
1985
1986 * lread.c (oblookup): Don't use XFASTINT blindly.
1987
1988 * window.c (Fset_window_scroll_bars): Don't use XINT if it isn't int.
1989 (decode_next_window_args, window_loop): Don't use XFASTINT blindly.
1990
19912004-11-23 Kim F. Storm <storm@cua.dk>
1992
1993 * dispextern.h (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P)
1994 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Not if dpvec_index is zero.
1995
1996 * xfaces.c (lookup_named_face): Add signal_p arg. Return -1 if
1997 signal_p is zero and face name is unknown.
1998 (Fx_list_fonts): Don't signal error in lookup_named_face.
1999 (Fface_font): Signal error in lookup_named_face.
2000 (ascii_face_of_lisp_face): Likewise.
2001
2002 * dispextern.h (lookup_named_face): Fix prototype.
2003
2004 * xdisp.c (handle_single_display_prop): Don't signal error in
2005 lookup_named_face for unknown fringe face name.
2006 (highlight_trailing_whitespace): Don't signal error in
2007 lookup_named_face if trailing-whitespace face unknown.
2008 (calc_line_height_property): Don't signal error in
2009 lookup_named_face if specified face name is unknown.
2010
2011 * fringe.c (update_window_fringes): Show top row indicator if
2012 window has header-line. Don't show arrow at bob and eob
2013 if the boundary indicators are not used.
2014 (Fset_fringe_bitmap_face): Signal error in lookup_named_face.
2015
2016 * window.c (set_window_buffer): Clear display_error_modiff.
2017
20182004-11-22 Kim F. Storm <storm@cua.dk>
2019
2020 * fringe.c (update_window_fringes): Provide sensible fall-back
2021 value for non-nil indicate-buffer-boundaries setting.
2022
20232004-11-22 Markus Rost <rost@ias.edu>
2024
2025 * minibuf.c (Fminibuffer_complete_and_exit): Fix previous change.
2026
20272004-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
2028
2029 * eval.c (Fdefvar): Warn when var is let-bound but globally void.
2030
20312004-11-21 Kim F. Storm <storm@cua.dk>
2032
2033 * xdisp.c (erase_phys_cursor): Clear hollow cursor inside TEXT_AREA.
2034
2035 * xterm.c (x_clip_to_row): Add area arg. Callers changed.
2036 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
2037
2038 * w32term.c (w32_clip_to_row): Add area arg. Callers changed.
2039 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
2040
2041 * macterm.c (x_clip_to_row): Add area arg. Callers changed.
2042 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
2043
2044 * xdisp.c (move_it_in_display_line_to, display_line):
2045 Restore saved_face_id if overflow-newline-into-fringe is enabled and
2046 line is continued before or in middle of element from display vector.
2047
2048 * indent.c (Fvertical_motion): Fix last change. Use another
2049 method to detect if iterator moved too far ahead after reseat.
2050
2051 * xdisp.c (IT_EXPAND_MATRIX_WIDTH): New macro. Do not
2052 expand matrix width for overflow in zero-width area.
2053 (append_glyph, append_composite_glyph, produce_image_glyph)
2054 (append_stretch_glyph): Use it to avoid loop in redisplay.
2055 (note_mode_line_or_margin_highlight): Don't let help-echo from
2056 string override help-echo from image map.
2057
20582004-11-20 Luc Teirlinck <teirllm@auburn.edu>
2059
2060 * fns.c (Fyes_or_no_p): Call Fread_from_minibuffer with extra argument.
2061 * callint.c (Fcall_interactively): Ditto.
2062
20632004-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
2064
2065 * minibuf.c (Fminibuffer_complete_and_exit):
2066 Fixup the case of the completed value, for case-indep completion.
2067
20682004-11-20 Richard M. Stallman <rms@gnu.org>
2069
2070 * lisp.h (Fread_from_minibuffer): Add arg in decl.
2071
2072 * minibuf.c (read_minibuf): New arg KEEP_ALL. Callers changed.
2073 (Fread_from_minibuffer): New arg KEEP_ALL. Callers changed.
2074
2075 * search.c (Vsearch_spaces_regexp):
2076 Rename from Vsearch_whitespace_regexp. All uses changed.
2077
20782004-11-20 Thien-Thi Nguyen <ttn@gnu.org>
2079
2080 * eval.c (init_eval_once): Increase `max_specpdl_size' to 650.
2081
20822004-11-19 Richard M. Stallman <rms@gnu.org>
2083
2084 * search.c (Vsearch_whitespace_regexp): New variable.
2085 (syms_of_search): Defvar it.
2086 (compile_pattern_1): Call re_set_whitespace_regexp with it.
2087 (search_buffer): No regexp is trivial if Vsearch_whitespace_regexp
2088 is non-nil.
2089 (struct regexp_cache): New element whitespace_regexp.
2090 (syms_of_search): Initialize whitespace_regexp elements.
2091 (compile_pattern): Compare whitespace_regexp elements.
2092 (compile_pattern_1): Set whitespace_regexp elements.
2093
2094 * regex.c (regex_compile): Substitute whitespace_regexp
2095 for spaces, if it is nonzero.
2096 (whitespace_regexp): New variable.
2097 (re_set_whitespace_regexp): New function.
2098
20992004-11-19 Kim F. Storm <storm@cua.dk>
2100
2101 * indent.c (Fvertical_motion): Fix last change.
2102
21032004-11-18 Kim F. Storm <storm@cua.dk>
2104
2105 * indent.c (Fvertical_motion): Undo 2004-11-16 change.
2106 Instead, move back again if reseating moves too far ahead.
2107
21082004-11-17 Luc Teirlinck <teirllm@auburn.edu>
2109
2110 * xdisp.c (message3): Call clear_message.
2111
21122004-11-17 Kim F. Storm <storm@cua.dk>
2113
2114 * xdisp.c (erase_phys_cursor): Adjust cursor row visible height.
2115
21162004-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2117
2118 * gtkutil.c (xg_get_file_name): Typo in HAVE_GTK_FILE_SELECTION_NEW.
2119
2120 * xmenu.c (x_menu_in_use): Remove.
2121 (x_menu_set_in_use): Also set popup_activated_flag.
2122
2123 * xfns.c (Fx_file_dialog): Call popup_activated instead of
2124 x_menu_in_use. Call x_menu_set_in_use in Motif version also.
2125
2126 * xterm.h: (x_menu_in_use): Remove.
2127
21282004-11-16 Richard M. Stallman <rms@gnu.org>
2129
2130 * keymap.c (Fmap_keymap): New arg SORT-FIRST.
2131 Use map-keymap-internal to implement that.
2132
2133 * indent.c (Fvertical_motion): In batch mode, use vmotion directly.
2134
21352004-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
2136
2137 * xdisp.c (get_glyph_string_clip_rect, init_glyph_string): Check it's
2138 a window before using XWINDOW.
2139
2140 * window.c (make_window, Fselect_window, make_dummy_parent)
2141 (save_window_save):
2142 * frame.c (make_frame):
2143 * fns.c (concat): Avoid side-effects inside XSETFASTINT's arguments.
2144
2145 * lisp.h (NILP): Use EQ rather than XFASTINT.
2146
21472004-11-16 Kim F. Storm <storm@cua.dk>
2148
2149 * fringe.c (Fdefine_fringe_bitmap): Always set 'h'. Simplify.
2150
2151 * indent.c (Fvertical_motion): Fix last change. Only reseat when
2152 moving backwards.
2153
21542004-11-16 Luc Teirlinck <teirllm@auburn.edu>
2155
2156 * dispextern.h: Extern reseat_at_previous_visible_line_start.
2157
21582004-11-16 Kenichi Handa <handa@m17n.org>
2159
2160 * xdisp.c (display_mode_element): Fix previous change (calculate
2161 end position of substring to display correctly).
2162
21632004-11-16 Kim F. Storm <storm@cua.dk>
2164
2165 * keyboard.c (Fposn_at_point): Remove extra */ after doc string.
2166 Reported by Andrew M. Scott.
2167
21682004-11-15 Kim F. Storm <storm@cua.dk>
2169
2170 * fns.c (Fsafe_plist_get): New defun.
2171 (syms_of_fns): Defsubr it.
2172
2173 * lisp.h (Fsafe_plist_get): Add EXFUN.
2174
2175 * xdisp.c (store_mode_line_string, produce_stretch_glyph):
2176 Use Fsafe_plist_get.
2177 (note_mode_line_or_margin_highlight, note_mouse_highlight):
2178 Fix image map element parsing. Use Fsafe_plist_get.
2179
21802004-11-15 Richard M. Stallman <rms@gnu.org>
2181
2182 * xdisp.c (get_next_display_element): Fix previous change.
2183
21842004-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2185
2186 * window.c (shrink_windows): Handle special case of one window left
2187 when trying to shrink the final reminder. Grow windows if
2188 total_removed is less than total_shrink.
2189
2190 * xmenu.c (pop_down_menu): Remove global variable current_menu,
2191 extract pointer from arg with XSAVE_VALUE.
2192 (create_and_show_popup_menu, create_and_show_dialog, xmenu_show):
2193 Construct arg to record_unwind_protect with make_save_value.
2194
21952004-11-13 Richard M. Stallman <rms@gnu.org>
2196
2197 * xdisp.c (reseat_at_previous_visible_line_start): No longer static.
2198 (get_next_display_element): Fix previous change to apply only to \n.
2199
2200 * indent.c (Fvertical_motion): Scan to PT from start of line to
2201 make iterator consistent.
2202
2203 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
2204
22052004-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2206
2207 * gtkutil.c (pop_down_file_dialog): Add BLOCK_INPUT.
2208
2209 * xfns.c (Fx_file_dialog): Call x_menu_in_use and x_menu_set_in_use.
2210 Record unwind with clean_up_file_dialog.
2211
2212 * xterm.h (x_menu_in_use, x_menu_set_in_use, x_menu_wait_for_event):
2213 Declare.
2214
2215 * xmenu.c (x_menu_in_use, x_menu_set_in_use): New functions.
2216
22172004-11-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2218
2219 * gtkutil.c (xg_file_sel_ok, xg_file_sel_cancel)
2220 (xg_file_sel_destroy): Remove.
2221 (xg_file_response_cb, pop_down_file_dialog)
2222 (xg_get_file_name_from_chooser, xg_get_file_name_from_selector):
2223 New functions.
2224 (xg_get_file_with_chooser, xg_get_file_with_selection):
2225 Take new arg func, set it to xg_get_file_name_from_chooser/selector.
2226 Move common code to xg_get_file_name. Return widget created.
2227 (xg_get_file_name): Set name, transient for, modal and destroy
2228 with parent here. Connect response signal to xg_file_response_cb,
2229 connect delete-event to gtk_true. Record pop_down_file_dialog
2230 for unwind. Do event loop and call x_menu_wait_for_event in loop.
2231 (xg_create_widget): Make dialogs modal.
2232
2233 * xmenu.c (unuse_menu_items, pop_down_menu): Arg is of type
2234 Lisp_Object.
2235 (popup_get_selection): Move unwind protect ...
2236 (create_and_show_popup_menu, create_and_show_dialog): ... to here.
2237 Move destroy of widget to pop_down_menu.
2238 (popup_widget_loop): Move unwind protect ...
2239 (create_and_show_popup_menu, create_and_show_dialog): ... to here.
2240 Move destroy of widget to pop_down_menu.
2241 (pop_down_menu): BLOCK_INPUT and destroy widget/window.
2242 (xmenu_show): Record unwind pop_down_menu. Move XMenuDestroy,
2243 x_mouse_leave and grabbed = 0 to pop_down_menu.
2244
22452004-11-13 Kim F. Storm <storm@cua.dk>
2246
2247 * xdisp.c (make_cursor_line_fully_visible_p): New variable.
2248 (syms_of_xdisp): DEFVAR_BOOL it.
2249 (make_cursor_line_fully_visible, try_cursor_movement)
2250 (try_window_id): Use it.
2251
22522004-11-12 Kim F. Storm <storm@cua.dk>
2253
2254 * dispextern.h (struct glyph_row): New member extra_line_spacing.
2255 (struct it): New member max_extra_line_spacing.
2256 (MR_PARTIALLY_VISIBLE, MR_PARTIALLY_VISIBLE_AT_TOP)
2257 (MR_PARTIALLY_VISIBLE_AT_BOTTOM): New helper macros.
2258 (MATRIX_ROW_PARTIALLY_VISIBLE_P): Fix to return false if invisible
2259 part of last line is only extra line spacing (so the text on the
2260 line is fully visible). Use helper macros.
2261 Add W arg (to use them). All callers changed.
2262 (MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P)
2263 (MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P): Use helper macros.
2264
2265 * window.c (window_scroll_pixel_based, Frecenter):
2266 Use move_it_vertically_backward directly.
2267 (Frecenter): Fix calculation of new start pos for negative arg.
2268 Before, the new start pos was sometimes chosen too far back, so
2269 the last line became only partially visible, and thus would be
2270 either only semi-visible or automatically scrolled to the middle
2271 of the window by redisplay.
2272
2273 * xdisp.c (init_iterator): Clear it.max_extra_line_spacing.
2274 (move_it_vertically_backward): Don't recure to move further back.
2275 (move_it_vertically): Remove superfluous condition.
2276 (move_it_by_lines): Clear last_height when moved 0 lines.
2277 (resize_mini_window): Use it.max_extra_line_spacing.
2278 (display_tool_bar_line): Clear row->extra_line_spacing.
2279 (try_scrolling): Use move_it_vertically_backward directly.
2280 (redisplay_window): Likewise.
2281 (compute_line_metrics): Set row->extra_line_spacing.
2282 (display_line, display_string): Likewise.
2283 (x_produce_glyphs): Update it->max_extra_line_spacing.
2284
2285 * xmenu.c (pop_down_menu): Return nil.
2286
22872004-11-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2288
2289 * xmenu.c (x_menu_wait_for_event): New function.
2290 (popup_get_selection, popup_widget_loop): Call x_menu_wait_for_event
2291 to handle timers.
2292 (popup_widget_loop): Add argument do_timers.
2293 (create_and_show_popup_menu, create_and_show_dialog): Pass 1 for
2294 do_timers to popup_widget_loop.
2295 (xmenu_show): Call XMenuActivateSetWaitFunction so that
2296 x_menu_wait_for_event is called by XMenuActivate.
2297 (create_and_show_popup_menu): Pass 1 for do_timers to
2298 popup_get_selection.
2299 (pop_down_menu): New function.
2300 (popup_get_selection, popup_widget_loop): Unwind protect to
2301 pop_down_menu.
2302 (popup_widget_loop): Add argument widget.
2303 (create_and_show_popup_menu, create_and_show_dialog): Pass new
2304 argument widget to popup_widget_loop.
2305
23062004-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
2307
2308 * keymap.c (Fkeymap_prompt): Accept symbol keymaps.
2309
23102004-11-09 Kim F. Storm <storm@cua.dk>
2311
2312 * xselect.c: Include <sys/types.h> and <unistd.h> (for getpid).
2313 Fix various comments referring to XEvents instead of input events.
2314 (x_queue_event): Fix format strings.
2315 (x_stop_queuing_selection_requests): Likewise.
2316
2317 * xdisp.c (produce_image_glyph): Remove unused variable 'face_ascent'.
2318 (pint2hrstr): Add extra braces to silence compiler.
2319
2320 * print.c (print_object): Fix format string.
2321
2322 * lread.c (read1): Fix next_char matching.
2323
2324 * lisp.h (Fdelete): Add EXFUN.
2325 (replace_range_2): Add prototype.
2326
2327 * keyboard.c (read_avail_input): Remove unused variable 'discard'.
2328
2329 * intervals.h (NULL_INTERVAL_P): Add separate version when
2330 ENABLE_CHECKING is not defined to silence compiler.
2331 (compare_string_intervals): Add prototype.
2332
2333 * fringe.c (destroy_fringe_bitmap): Fix return type.
2334 (Ffringe_bitmaps_at_pos): Remove unused var 'old_buffer'.
2335
2336 * emacs.c (Fdump_emacs): Fix format string.
2337
2338 * doc.c: Include <ctype.h>.
2339 (Fsubstitute_command_keys): Remove unused variable 'firstkey'.
2340
2341 * data.c (store_symval_forwarding): Remove unused variables.
2342
2343 * callint.c (Fcall_interactively): Remove unused variable 'funcar'.
2344
23452004-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2346
2347 * Makefile.in (stamp-oldxmenu): If HAVE_GTK, don't add dependencies
2348 to ${OLDXMENU}.
2349
23502004-11-09 Kim F. Storm <storm@cua.dk>
2351
2352 * process.c (Fmake_network_process): Remove kludge for interrupted
2353 connects on BSD. If connect is interrupted, just close socket and
2354 start over rather than sleeping and retry with same socket.
2355
23562004-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2357
2358 * .cvsignore: Add buildobj.lst.
2359
2360 * doc.c: New variable Vbuild_files.
2361 (Fsnarf_documentation): If Vbuild_files is nil, populate it with
2362 file names from buildobh.lst. Only attach docstrings from files
2363 that are in Vbuild_files.
2364 (syms_of_doc): Defvar Vbuild_files.
2365
2366 * Makefile.in (SOME_MACHINE_OBJECTS): Add fringe.o, image.o
2367 and w32*.o.
2368 (temacs${EXEEXT}): Generate buildobj.lst when temacs is linked.
2369 (mostlyclean): Rm buildobj.lst
2370
2371 * makefile.w32-in ($(TEMACS)): Generate buildobj.lst when temacs
2372 is linked.
2373
23742004-11-09 Kim F. Storm <storm@cua.dk>
2375
2376 * fringe.c (update_window_fringes): Update fringe bitmaps if
2377 cur and row ends_at_zv_p differs. If bitmaps of a row is updated,
2378 also update previous row to get rid of misc. artifacts.
2379
23802004-11-08 Kim F. Storm <storm@cua.dk>
2381
2382 * xdisp.c (fast_find_position): Fix start pos if header line present.
2383 (note_mouse_highlight): Clear mouse face if we move out of text area.
2384
23852004-11-08 Eli Zaretskii <eliz@gnu.org>
2386
2387 * editfns.c: Move #include "systime.h" before <sys/resource.h>.
2388 Don't include <sys/time.h> explicitly.
2389 Include <stdio.h> unconditionally, not just on MacOS.
2390
23912004-11-08 Kenichi Handa <handa@m17n.org>
2392
2393 * fontset.c (fontset_pattern_regexp): Cancel my previous change;
2394 don't pay attention to '\' before '*'.
2395 (fontset_pattern_regexp): Change the meaning of the second arg.
2396 (Fnew_fontset): Call fs_query_fontset, not Fquery_fontset.
2397 (check_fontset_name): Try NAME as literal at first, and if it
2398 failes, try NAME as pattern.
2399
24002004-11-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2401
2402 * emacs.c (Fdump_emacs): Only output warning on GNU/Linux.
2403
24042004-11-07 Andreas Schwab <schwab@suse.de>
2405
2406 * lisp.h (Fmsdos_downcase_filename): Declare.
2407 * dired.c (Fmsdos_downcase_filename): Don't declare here.
2408 * fileio.c: Likewise.
2409
24102004-11-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2411
2412 * dosfns.c (Fdos_memget, Fdos_memput): Use integer variable offs in
2413 comparisons with integers instead of Lisp_Object address.
2414 (Fmsdos_set_keyboard): Declare argument allkeys.
2415
2416 * msdos.c (IT_set_frame_parameters): Use EQ, not ==, for Lisp_Object:s.
2417
2418 * dired.c (Fmsdos_downcase_filename): Declare extern on MSDOS to avoid
2419 int/Lisp_Object mixup.
2420
2421 * fileio.c: Ditto.
2422
24232004-11-06 Steven Tamm <steventamm@mac.com>
2424
2425 * editfns.c: Need to include sys/time.h before resource.h on darwin.
2426
24272004-11-06 Richard M. Stallman <rms@gnu.org>
2428
2429 * callint.c (Fcall_interactively): Avoid reusing EVENT for other data.
2430
2431 * xfaces.c (merge_named_face): GCPRO the face_name in the
2432 named_merge_point struct that we make.
2433 (merge_face_heights): Eliminate GCPRO arg. All callers changed.
2434
2435 * keyboard.c (command_loop_1): Change Vtransient_mark_mode
2436 before deciding whether to inactivate mark.
2437
24382004-11-06 Lars Brinkhoff <lars@nocrew.org>
2439
2440 * config.in: Regenerate (add HAVE_GETRUSAGE).
2441 * editfns.c (Fget_internal_run_time): New function.
2442 (syms_of_data): Defsubr it.
2443 * fns.c (sxhash): As far as possible, merge calculation of
2444 hash code for symbols and strings.
2445
24462004-11-06 Eli Zaretskii <eliz@gnu.org>
2447
2448 * frame.c (syms_of_frame): Fix the example in the doc string.
2449
24502004-11-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2451
2452 * eval.c (Feval): Remove check for INPUT_BLOCKED_P.
2453
2454 * xmenu.c (popup_get_selection, create_and_show_popup_menu)
2455 (create_and_show_dialog): Revert change from 2004-10-31.
2456
24572004-11-05 Luc Teirlinck <teirllm@auburn.edu>
2458
2459 * macros.c (syms_of_macros) <defining-kbd-macro>: Doc fix.
2460
24612004-11-05 Kim F. Storm <storm@cua.dk>
2462
2463 * print.c (print_object): Print Lisp_Misc_Save_Value objects.
2464
2465 * fileio.c (Ffile_modes): Doc fix.
2466 (auto_save_1): Check for Ffile_modes nil value.
2467
24682004-11-05 Kim F. Storm <storm@cua.dk>
2469
2470 * xselect.c (struct selection_event_queue, selection_queue)
2471 (x_queue_selection_requests, x_queue_event)
2472 (x_start_queuing_selection_requests)
2473 (x_stop_queuing_selection_requests): Add new queue for selection
2474 input events to replace previous XEvent queue in xterm.c.
2475 (queue_selection_requests_unwind): Adapt to new queue.
2476 (x_reply_selection_request): Adapt to new queue.
2477 Unexpect wait_object in case of x errors (memory leak).
2478 (x_handle_selection_request, x_handle_selection_clear): Make static.
2479 (x_handle_selection_event): New function. May queue selection events.
2480 (wait_for_property_change_unwind): Use save_value instead of cons.
2481 Clear property_change_reply_object.
2482 (wait_for_property_change): Abort if already waiting.
2483 Use save_value instead of cons for unwind data.
2484 (x_handle_property_notify): Skip events already arrived, but don't
2485 free them, as "arrived" field is checked by wait_for_property_change,
2486 and it will be freed by unwind or explicit unexpect_property_change.
2487 (x_get_foreign_selection): Add to new queue.
2488 (receive_incremental_selection): Don't unexpect wait_object when done
2489 as it has already been freed by previous wait_for_property_change.
2490
2491 * xterm.h (x_start_queuing_selection_requests)
2492 (x_stop_queuing_selection_requests, x_handle_selection_request)
2493 (x_handle_selection_clear): Remove prototypes.
2494 (x_handle_selection_event): Add prototype.
2495
2496 * xterm.c (handle_one_xevent): Don't queue X selection events
2497 here, it may be too late if we start queuing after we have already
2498 stored some selection events into the kbd buffer.
2499 (struct selection_event_queue, queue, x_queue_selection_requests)
2500 (x_queue_event, x_unqueue_events, x_start_queuing_selection_requests)
2501 (x_stop_queuing_selection_requests): Remove/move to xselect.c.
2502 (x_catch_errors_unwind): Block input around final XSync.
2503
2504 * keyboard.h (kbd_buffer_unget_event): Add prototype.
2505
2506 * keyboard.c (kbd_buffer_store_event_hold): Remove obsolete code.
2507 (kbd_buffer_unget_event): New function.
2508 (kbd_buffer_get_event, swallow_events): Combine SELECTION events
2509 and use x_handle_selection_event.
2510 (mark_kboards): Don't mark x and y of SELECTION_CLEAR_EVENT.
2511
25122004-11-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2513
2514 * xselect.c (TRACE3): New debug macro.
2515 (x_reply_selection_request): Use it.
2516 (receive_incremental_selection): In call to TRACE0, the name of
2517 a symbol is in xname.
2518
25192004-11-05 Kim F. Storm <storm@cua.dk>
2520
2521 * fontset.c (fontset_pattern_regexp): Use unsigned char.
2522
25232004-11-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2524
2525 * fileio.c (Fnext_read_file_uses_dialog_p): New function.
2526
2527 * gtkutil.h (use_old_gtk_file_dialog): Declare.
2528
2529 * gtkutil.c: Make use_old_gtk_file_dialog non-static.
2530 (xg_initialize): Move DEFVAR_BOOL for use_old_gtk_file_dialog ...
2531 * xfns.c (syms_of_xfns): ... to here.
2532
2533 * gtkutil.c (xg_get_file_with_chooser): Expand DEFAULT_FILENAME if
2534 it doesn't start with /.
2535
25362004-11-04 Kenichi Handa <handa@m17n.org>
2537
2538 * fontset.c (fontset_pattern_regexp): If '*' is preceded by '\',
2539 treat it as a literal character.
2540
25412004-11-03 Kim F. Storm <storm@cua.dk>
2542
2543 * .gdbinit (ppt): New function.
2544
25452004-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2546
2547 * xterm.c (x_window_to_scroll_bar): Only call
2548 xg_get_scroll_id_for_window if toolkit scroll bars are used.
2549
2550 * gtkutil.c (xg_get_file_with_chooser): Use GTK_STOCK_OK instead
2551 of save.
2552
25532004-11-02 Andreas Schwab <schwab@suse.de>
2554
2555 * window.c (Fscroll_right): Fix last change.
2556
25572004-11-02 Kim F. Storm <storm@cua.dk>
2558
2559 * Makefile.in (callproc.o): Depend on blockinput.h atimer.h systime.h.
2560
25612004-11-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2562
2563 * callproc.c (Fcall_process): Block input around vfork.
2564
25652004-11-02 Kim F. Storm <storm@cua.dk>
2566
2567 * eval.c (Fcalled_interactively_p): Rename from Fcall_interactive_p.
2568 (syms_of_eval): Defsubr it.
2569
25702004-11-02 Richard M. Stallman <rms@gnu.org>
2571
2572 * insdel.c (replace_range_2): New function.
2573
2574 * casefiddle.c (casify_region): Handle changes in byte-length
2575 using replace_range_2.
2576
2577 * emacs.c (USAGE3): Delete --horizontal-scroll-bars, -hb.
2578
2579 * xdisp.c (back_to_previous_visible_line_start):
2580 Subtract 1 from pos when checking previous newline for invisibility.
2581
2582 * window.c (window_scroll_pixel_based): Update preserve_y
2583 for header line if any.
2584 (Fscroll_left, Fscroll_right): Don't call interactive_p;
2585 use a new second argument instead.
2586
2587 * eval.c (Fcall_interactive_p): New function.
2588 (interactive_p): Don't test INTERACTIVE here.
2589 (Finteractive_p): Doc fix.
2590
2591 * eval.c (Feval): Abort if INPUT_BLOCKED_P.
2592
25932004-11-02 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
2594
2595 * w32fns.c (w32_font_match): Use fast_string_match_ignore_case for
2596 comparing font names.
2597
25982004-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2599
2600 * fileio.c (Fread_file_name): Pass Qt as fifth parameter to
2601 Fx_file_dialog if only directories should be read.
2602
2603 * lisp.h: Fx_file_dialog takes 5 parameters.
2604
2605 * xfns.c (Fx_file_dialog): Both Motif and GTK version:
2606 Add parameter only_dir_p.
2607 In Motif version, don't put DEFAULT_FILENAME in filter part of the
2608 dialog, just text field part. Do not add DEFAULT_FILENAME
2609 to list of files if it isn't there.
2610 In GTK version, pass only_dir_p parameter to xg_get_file_name.
2611
2612 * macfns.c (Fx_file_dialog): Add parameter only_dir_p.
2613 Check only_dir_p instead of comparing prompt to "Dired". When using
2614 a save dialog, add option kNavDontConfirmReplacement, change title
2615 to "Enter name", change text for save button to "Ok".
2616
2617 * w32fns.c (Fx_file_dialog): Add parameter only_dir_p.
2618 Check only_dir_p instead of comparing prompt to "Dired".
2619
2620 * gtkutil.c (xg_get_file_with_chooser)
2621 (xg_get_file_with_selection): New functions, only defined ifdef
2622 HAVE_GTK_FILE_CHOOSER_DIALOG_NEW and HAVE_GTK_FILE_SELECTION_NEW
2623 respectively.
2624 (xg_get_file_name): Add parameter only_dir_p.
2625 Call xg_get_file_with_chooser or xg_get_file_with_selection
2626 depending on HAVE_GTK_FILE* and the value of use_old_gtk_file_dialog.
2627 (xg_initialize): New DEFVAR_BOOL use_old_gtk_file_dialog.
2628
2629 * gtkutil.h (xg_get_file_name): Add parameter only_dir_p.
2630
2631 * config.in: Rebuild (added HAVE_GTK_FILE_*).
2632
26332004-11-01 Kim F. Storm <storm@cua.dk>
2634
2635 * process.c (connect_wait_mask, num_pending_connects):
2636 Only declare and use them if NON_BLOCKING_CONNECT is defined.
2637 (init_process): Initialize them if NON_BLOCKING_CONNECT defined.
2638 (IF_NON_BLOCKING_CONNECT): New helper macro.
2639 (wait_reading_process_output): Only declare and use local vars
2640 Connecting and check_connect when NON_BLOCKING_CONNECT is defined.
2641
26422004-11-01 Andy Petrusenco <Igrek@star-sw.com> (tiny change)
2643
2644 * w32term.c (x_scroll_run): Delete region objects after use.
2645
26462004-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2647
2648 * xmenu.c: Add prototypes for forward function declarations.
2649 (popup_get_selection): Remove parameter do_timers, remove call to
2650 timer_check.
2651 (create_and_show_popup_menu, create_and_show_dialog):
2652 Remove parameter do_timers from call to popup_get_selection.
2653
2654 * xdisp.c (update_tool_bar): Pass a copy of f->tool_bar_items to
2655 tool_bar_items and assign the result to f->tool_bar_items if
2656 not equal. Move BLOCK/UNBLOCK_INPUT from around call to
2657 tool_bar_items to assignment of result.
2658
2659 * atimer.c (alarm_signal_handler): Do not call set_alarm if
2660 pending_atmers is non-zero.
2661
26622004-10-31 Kim F. Storm <storm@cua.dk>
2663
2664 * dispnew.c (margin_glyphs_to_reserve): Don't use ncols_scale_factor.
2665
26662004-10-28 Will <will@glozer.net>
2667
2668 * macterm.c: allow user to assign key modifiers to the Mac Option
2669 key via a 'mac-option-modifier' variable.
2670
26712004-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2672
2673 * xselect.c (Vx_lost_selection_functions, Vx_sent_selection_functions):
2674 Rename from Vx_lost_selection_hooks and Vx_sent_selection_hooks.
2675 (x_handle_selection_request, x_handle_selection_clear)
2676 (x_clear_frame_selections, syms_of_xselect): Adjust accordingly.
2677
26782004-10-28 Richard M. Stallman <rms@gnu.org>
2679
2680 * w32fns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
2681
2682 * xfns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
2683
26842004-10-27 Stefan Monnier <monnier@iro.umontreal.ca>
2685
2686 * syntax.c (scan_sexps_forward): Give precedence to a 2-char
2687 comment-starter over a 1-char one.
2688
26892004-10-27 Richard M. Stallman <rms@gnu.org>
2690
2691 * xdisp.c (get_next_display_element): In mode lines,
2692 treat newline and tab like other control characters.
2693
2694 * editfns.c (Fmessage): Doc fix.
2695
2696 * indent.c (vmotion): When moving up, check the newline before.
2697 Make prevline an int, not a Lisp_Object.
2698
26992004-10-27 Kim F. Storm <storm@cua.dk>
2700
2701 * editfns.c (Fformat): Allocate discarded table with SAFE_ALLOCA.
2702 Only allocate info and discarded tables once.
2703
2704 * lisp.h (USE_SAFE_ALLOCA): Add and init sa_must_free integer.
2705 (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Increment it when malloc is used.
2706 (SAFE_FREE): Test it to determine if we need to unwind to free.
2707 Remove size arg. All users changed.
2708 (SAFE_FREE_LISP) Remove. All users changed to use SAFE_FREE.
2709
27102004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2711
2712 * gtkutil.c: Put empty line between comment and function body.
2713 (xg_destroy_widgets): Rename from remove_from_container.
2714 Just destroy all widgets in list. Argument wcont removed.
2715 (xg_update_menubar, xg_update_submenu): Call xg_destroy_widgets
2716 instead of remove_from_container.
2717 (xg_display_close, xg_create_tool_bar, update_frame_tool_bar)
2718 (free_frame_tool_bar): Add comment.
2719
2720 * xfns.c (xic_create_xfontset): Check that FRAME_XIC_BASE_FONTNAME
2721 is not NULL before strcmp.
2722
27232004-10-26 Kim F. Storm <storm@cua.dk>
2724
2725 * callint.c (Fcall_interactively): Add 'U' code to get the
2726 up-event discarded by a previous 'k' or 'K' argument.
2727
27282004-10-26 David Kastrup <dak@gnu.org>
2729
2730 * buffer.c (syms_of_buffer): Fix a few typos.
2731
27322004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2733
2734 * xsmfns.c: Put empty line between comment and function body.
2735 Use two spaces before comment end.
2736
27372004-10-25 Kenichi Handa <handa@m17n.org>
2738
2739 * fontset.c (fontset_pattern_regexp): Optimize for the case that
2740 PATTERN is full XLFD.
2741
27422004-10-24 Kenichi Handa <handa@m17n.org>
2743
2744 * regex.h (enum reg_errcode_t): New value REG_ERANGEX.
2745
2746 * regex.c (re_error_msgid): Add an entry for REG_ERANGEX.
2747 (regex_compile): Return REG_ERANGEX if appropriate.
2748
27492004-10-22 Kenichi Handa <handa@m17n.org>
2750
2751 * editfns.c (Ftranslate_region_internal): New function.
2752 (syms_of_editfns): Defsubr it.
2753
27542004-10-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2755
2756 * xfns.c (xic_create_xfontset): Initialize missing_list to NULL.
2757
27582004-10-21 K\e,Aa\e(Broly L\e$,1 q\e(Brentey <lorentey@elte.hu>
2759
2760 * xterm.h (x_output): New member `xic_base_fontname'.
2761 (FRAME_XIC_BASE_FONTNAME): New macro.
2762 (xic_free_xfontset): Declare.
2763
2764 * xfns.c (xic_create_xfontset): Share fontsets between frames
2765 based on base_fontname.
2766 (xic_free_xfontset): New function.
2767 (free_frame_xic): Use it.
2768 (xic_set_xfontset): Ditto.
2769
2770 * xterm.c (xim_destroy_callback): Ditto.
2771
2772
27732004-10-20 B. Anyos <banyos@freemail.hu> (tiny change)
2774
2775 * w32term.c (x_draw_glyph_string): Use overline_color for overlines.
2776
27772004-10-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2778
2779 * xterm.h (XSync): If USE_GTK, define XSync as process_all and then
2780 XSync.
2781
2782 * emacs.c (my_heap_start, heap_bss_diff, MAX_HEAP_BSS_DIFF):
2783 New variables and constant.
2784 (main): Calculate heap_bss_diff. If we are dumping and the
2785 heap_bss_diff is greater than MAX_HEAP_BSS_DIFF, set PER_LINUX32
2786 and exec ourself again.
2787 (Fdump_emacs): If heap_bss_diff is greater than MAX_HEAP_BSS_DIFF
2788 print a warning.
2789
2790 * lastfile.c: Make my_endbss and my_endbss_static available on all
2791 platforms.
2792
2793 * Makefile.in (RUN_TEMACS): Remove @SETARCH@.
2794 * config.in (HAVE_PERSONALITY_LINUX32): Regenerate.
2795
27962004-10-19 Luc Teirlinck <teirllm@auburn.edu>
2797
2798 * data.c (Flocal_variable_if_set_p): Doc fix.
2799
28002004-10-19 Jason Rumney <jasonr@gnu.org>
2801
2802 * w32.c (init_environment): Set emacs_dir correctly when running
2803 emacs from the build directory.
2804
28052004-10-19 Richard M. Stallman <rms@gnu.org>
2806
2807 * editfns.c (Fdelete_and_extract_region):
2808 If region is empty, return null string.
2809
28102004-10-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2811
2812 * gtkutil.h (xg_update_scrollbar_pos): Remove arguments real_left
2813 and canon_width.
2814 (xg_frame_cleared): Remove.
2815
2816 * gtkutil.c (xg_frame_cleared, xg_fixed_handle_expose)
2817 (xg_find_top_left_in_fixed): Remove.
2818 (xg_create_scroll_bar): Put an event box widget between
2819 the scroll bar widget and the edit widget.
2820 (xg_show_scroll_bar): Show the parent widget (the event box).
2821 (xg_remove_scroll_bar): Destroy parent (the event box) also.
2822 (xg_update_scrollbar_pos): Remove arguments real_left and canon_width.
2823 Move the parent (the event box) widget inside the fixed widget.
2824 Move window clear to xterm.c.
2825
2826 * gtkutil.h (xg_frame_cleared): Remove.
2827
2828 * xterm.c (x_clear_frame): Remove call to xg_frame_cleared
2829 (x_scroll_bar_create, XTset_vertical_scroll_bar):
2830 Remove arguments left and width to xg_update_scrollbar_pos.
2831 (XTset_vertical_scroll_bar): Do x_clear_area for USE_GTK also.
2832
28332004-10-19 Kenichi Handa <handa@m17n.org>
2834
2835 * xdisp.c (display_mode_element): Fix display of wide chars.
2836
28372004-10-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2838
2839 * gtkutil.c (xg_update_scrollbar_pos): Change XClearWindow to
2840 gdk_window_clear and move gdk_window_process_all_updates after
2841 clear so events are sent to the X server in correct order.
2842
28432004-10-18 Kenichi Handa <handa@m17n.org>
2844
2845 * fontset.c (fs_load_font): Use fast_string_match_ignore_case for
2846 comparing font names.
2847 (fs_query_fontset): Use fast_string_match for comparing fontset names.
2848 (list_fontsets): Likewise.
2849
2850 * search.c (fast_string_match_ignore_case): New function.
2851
2852 * lisp.h (fast_string_match_ignore_case): Extern it.
2853
28542004-10-17 Kim F. Storm <storm@cua.dk>
2855
2856 * xdisp.c (overlay_arrow_at_row): Return overlay string rather
2857 than bitmap if there is not left fringe.
2858 (get_overlay_arrow_glyph_row): Also used on windows system.
2859 (display_line): Display overlay string if no left fringe.
2860
28612004-10-16 Jason Rumney <jasonr@gnu.org>
2862
2863 * w32fns.c (w32_font_match): Encode font name being matched.
2864
28652004-10-16 Richard M. Stallman <rms@gnu.org>
2866
2867 * window.c (Fspecial_display_p): Doc fix.
2868
28692004-10-15 Stefan Monnier <monnier@iro.umontreal.ca>
2870
2871 * doc.c (Fsubstitute_command_keys): Fix remap-handling.
2872 Don't ignore menus, because where-is-internal already does it for us.
2873
28742004-10-15 Kim F. Storm <storm@cua.dk>
2875
2876 * xdisp.c (redisplay_window): Only update fringes and vertical
2877 border on window frames.
2878
28792004-10-14 Andreas Schwab <schwab@suse.de>
2880
2881 * m/ia64.h (DATA_SEG_BITS): Don't define.
2882
28832004-10-14 Kim F. Storm <storm@cua.dk>
2884
2885 * xterm.h: Include Xutil.h after keysym.h to work around bug
2886 in some X versions.
2887
28882004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
2889
2890 * fns.c (map_char_table): Add missing gcpros.
2891
28922004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
2893
2894 * keymap.c (get_keymap): An autoload form is not a keymap.
2895
2896 * textprop.c (syms_of_textprop): Make `syntax-table' nonsticky.
2897
28982004-10-13 Kim F. Storm <storm@cua.dk>
2899
2900 * callproc.c (Fcall_process): Simplify handling of display arg.
2901 Resume `display_on_the_fly' once a coding system is determined.
2902
2903 * xdisp.c (redisplay_preserve_echo_area): Fix last change.
2904
29052004-10-12 Kim F. Storm <storm@cua.dk>
2906
2907 * xdisp.c (redisplay_preserve_echo_area): Flush display in case
2908 caller, such as call-process, is not going to poll for input.
2909 (calc_line_height_property): Handle case where it->object is nil.
2910
2911 * xterm.c (x_redisplay_interface): Fix flush_display_optional.
2912
29132004-10-12 Kenichi Handa <handa@m17n.org>
2914
2915 * xdisp.c (get_next_display_element):
2916 If unibyte_display_via_language_environment is zero, display 8-bit
2917 chars in octal in unibyte buffer.
2918
29192004-10-12 Kim F. Storm <storm@cua.dk>
2920
2921 * doc.c (Fsubstitute_command_keys): Ignore remappings unless there
2922 are no ordinary bindings.
2923
29242004-10-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2925
2926 * xfns.c (syms_of_xfns): Defsubr x-file-dialog for GTK also.
2927
29282004-10-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2929
2930 * macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow.
2931 (x_lower_frame): Add BLOCK_INPUT around SendBehind.
2932 (make_mac_frame): Add BLOCK_INPUT around the making of a
2933 terminal frame.
2934 (mac_initialize): Add BLOCK_INPUT around carbon initialization.
2935 * macgui.h (mktime): Use emacs_mktime.
2936 * macfns.c (Fx_file_dialog): Add BLOCK_INPUT around more code.
2937 Make a cancel file-open dialog be like C-g.
2938 * mac.c (mktime): Use emacs_mktime.
2939 (Fdo_applescript): Add BLOCK_INPUT around do_applescript.
2940 (Fmac_paste_function): Add better error handling for carbon cut/paste.
2941
29422004-10-10 Kim F. Storm <storm@cua.dk>
2943
2944 * keyboard.c (timer_resume_idle): New function to resume idle
2945 timer without resetting timers on the idle list.
2946 (read_char): Use timer_resume_idle. Remove local var last_idle_start.
2947 (timer_start_idle, timer_stop_idle): Declare static.
2948 (read_key_sequence): Use timer_resume_idle instead of timer_start_idle.
2949
2950 * keyboard.h (timer_start_idle, timer_stop_idle): Remove prototypes.
2951
29522004-10-08 Steven Tamm <steventamm@mac.com>
2953
2954 * config.in (HAVE_MALLOC_MALLOC_H): Regenerate.
2955 * macterm.c (mac_check_for_quit_char): Remove warning for using
2956 NULL where 0 should be used.
2957 * unexmacosx.c: Use malloc/malloc.h on Tiger instead of
2958 objc/malloc.h
2959 * mac.c: Include time.h for Tiger compatibility.
2960
29612004-10-07 Kim F. Storm <storm@cua.dk>
2962
2963 * xdisp.c (redisplay_window): Fix flicker on vertical line between
2964 windows. Update vertical line after drawing window fringes, but
2965 only if actually drawing any bitmaps--or there is no fringe.
2966
2967 * xterm.c (x_update_window_end): Likewise.
2968 * macterm.c (x_update_window_end): Likewise.
2969 * w32term.c (x_update_window_end): Likewise.
2970
2971 * fringe.c (draw_window_fringes): Return value now indicates if
2972 any fringe bitmaps were redrawn (or there are no fringes).
2973
2974 * dispextern.h (draw_window_fringes): Update prototype.
2975
29762004-10-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2977
2978 * macfns.c (mac_get_window_bounds): Add extern.
2979 (x_real_positions): Use mac_get_window_bounds.
2980
2981 * macmenu.c (update_submenu_strings): Apply 2004-09-07 change for
2982 xmenu.c (YAILOM).
2983
2984 * macterm.c [!MAC_OSX]: Include Windows.h.
2985 (front_emacs_window): Rename from mac_front_window. All uses
2986 changed. Return the frontmost non-tooltip emacs window.
2987 (mac_get_window_bounds): New function.
2988 (x_calc_absolute_position): Use the difference of width and height
2989 between the inner and outer window.
2990 (x_set_offset): Specify window position by the coordinae of the
2991 outer window. Adjust the position if the title bar is completely
2992 outside the screen.
2993 (app_is_suspended, app_sleep_time): Remove unused variables.
2994 (do_app_resume, do_app_suspend): Remove their contents because
2995 window-activate/deactivate events will do the job.
2996 (do_zoom_window): Remove unused variables. Make compliant to the
2997 standard way of zooming. Set f->left_pos and f->top_pos.
2998 (XTread_socket): Don't use argument `expected'. Don't use
2999 FrontWindow to determine the clicked window. Exclude unprocessed
3000 mouseUp cases in the early stage. Add parentheses to fix operator
3001 precedence.
3002 (XTread_socket) [TARGET_API_MAC_CARBON]: Don't specify drag area.
3003
30042004-10-05 Jan Dj\e,Ad\e(Brv. <jan.h.d@swipnet.se>
3005
3006 * config.in: Regenerate.
3007
3008 * Makefile.in (RUN_TEMACS): Check HAVE_RANDOM_HEAPSTART instead of
3009 HAVE_EXECSHIELD.
3010
30112004-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3012
3013 * xterm.c (x_find_modifier_meanings): Ignore any Super or Hyper for
3014 a row if Alt or Meta has been found for that row. Also stop scanning
3015 for Keysyms for that row.
3016
30172004-10-04 Kim F. Storm <storm@cua.dk>
3018
3019 * fringe.c (Ffringe_bitmaps_at_pos): Change return value from cons
3020 to list. Include overlay arrow bitmap in return value.
3021
3022 * xterm.c (XTset_vertical_scroll_bar): Improve handling of scroll
3023 bars with fractional column width. If scroll bar separates two
3024 windows, move it towards the window it belongs to. Only update
3025 the padding area below the scroll bar widget when necessary,
3026 i.e. when scroll bar widget is created, moved, or resized.
3027
3028 * xdisp.c (define_frame_cursor1): Do not change frame cursor
3029 while tracking/dragging mouse.
3030 (x_draw_vertical_border): Do not draw line if frame has scroll bars.
3031
3032 * window.c (coordinates_in_window): Relax check for cursor
3033 on vertial border between mode lines.
3034 (Fset_window_fringes): Do not allow negative widths.
3035 (Fset_window_scroll_bars): Likewise.
3036
3037 * .gdbinit (pp): Shorthand for p ARG + pr.
3038 (ff): New command: flush frame updates (X only).
3039
30402004-10-03 Michael Albinus <michael.albinus@gmx.de>
3041
3042 * fileio.c (auto_save_1) Call Ffile_modes for remote files.
3043
30442004-09-30 Kenichi Handa <handa@m17n.org>
3045
3046 * process.c (send_process): Free composition data.
3047
3048 * fileio.c (Finsert_file_contents): Free composition data.
3049
3050 * coding.c (code_convert_region): Don't skip ASCIIs if there are
3051 compositions to encode.
3052 (encode_coding_string): Likewise. Free composition data.
3053
30542004-09-30 Florian Weimer <fw@deneb.enyo.de>
3055
3056 * coding.c (code_convert_region): Free composition data.
3057
30582004-09-29 Kim F. Storm <storm@cua.dk>
3059
3060 * fringe.c: Remove limit on number of bitmaps.
3061 (fringe_bitmaps, fringe_faces): Change to pointers.
3062 (max_fringe_bitmaps): New var.
3063 (Fdefine_fringe_bitmap): Expand fringe_bitmaps and fringe_faces.
3064 (init_fringe): Allocate fringe_bitmaps and fringe_faces.
3065
3066 * dispextern.h (FRINGE_ID_BITS): Increase to 16 bits (64K bitmaps).
3067 (struct glyph_row): Reorder fringe_bitmap related fields.
3068 (struct it): Likewise.
3069
3070 * w32term.c (fringe_bmp): Change to pointer.
3071 (max_fringe_bmp): New var.
3072 (w32_define_fringe_bitmap): Expand fringe_bmp.
3073 (w32_draw_fringe_bitmap): Check max_fringe_bmp.
3074 (w32_destroy_fringe_bitmap): Likewise.
3075
30762004-09-29 Kim F. Storm <storm@cua.dk>
3077
3078 * fringe.c: Simplify last change.
3079 (lookup_fringe_bitmap): New function.
3080 (valid_fringe_bitmap_p, resolve_fringe_bitmap): Remove.
3081 (Fdestroy_fringe_bitmap): Use lookup_fringe_bitmap.
3082 Keep standard bitmaps in Vfringe_bitmaps.
3083 (Fdefine_fringe_bitmap): Use lookup_fringe_bitmap.
3084 (Fset_fringe_bitmap_face): Likewise.
3085
3086 * dispextern.h (lookup_fringe_bitmap): Add prototype.
3087 (valid_fringe_bitmap_p): Remove prototype.
3088
3089 * xdisp.c (handle_single_display_prop): Use lookup_fringe_bitmap.
3090
30912004-09-29 Kim F. Storm <storm@cua.dk>
3092
3093 * fringe.c (destroy_fringe_bitmap, init_fringe_bitmap)
3094 (w32_init_fringe, w32_reset_fringes): Fix bootstrap (NULL rif).
3095
3096 * dispextern.h (valid_fringe_bitmap_p): Fix prototype.
3097
3098 * fringe.c (Vfringe_bitmaps): New variable.
3099 (syms_of_fringe): DEFVAR_LISP it.
3100 (valid_fringe_bitmap_p): Rename from valid_fringe_bitmap_id_p.
3101 Change arg to Lisp_Object and fail if not an integer.
3102 (get_fringe_bitmap_name, resolve_fringe_bitmap)
3103 (destroy_fringe_bitmap): New functions.
3104 (Fdestroy_fringe_bitmap): Change arg to bitmap symbol.
3105 Use destroy_fringe_bitmap. Remove symbol from Vfringe_bitmaps and
3106 clear its fringe property.
3107 (init_fringe_bitmap): Use destroy_fringe_bitmap instead of
3108 Fdestroy_fringe_bitmap.
3109 (Fdefine_fringe_bitmap): Add BITMAP arg specifying new or existing
3110 bitmap symbol; remove WHICH arg. Add symbol to Vfringe_bitmaps
3111 and set fringe property. Signal error if no free slots.
3112 (Fset_fringe_bitmap_face): Change arg to bitmap symbol.
3113 (Ffringe_bitmaps_at_pos): Return bitmap symbols instead of numbers.
3114
3115 * xdisp.c (handle_single_display_prop): Fringe bitmaps are now
3116 symbols with a fringe property.
3117
31182004-09-27 Kim F. Storm <storm@cua.dk>
3119
3120 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>:
3121 Doc fix. Format may now be a symbol or alist, not a cons.
3122
3123 * fringe.c (update_window_fringes): Handle new formats of
3124 indicate-buffer-boundaries (symbol or alist). No longer
3125 allow a simple cons.
3126 (Ffringe_bitmaps_at_pos): Use nil value for no bitmap.
3127
31282004-09-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3129
3130 * config.in: Rebuild.
3131
31322004-09-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3133
3134 * config.in: Rebuild.
3135
3136 * Makefile.in: Run setarch i386 ./temacs if exec-shield is present.
3137
31382004-09-18 Stefan Monnier <monnier@iro.umontreal.ca>
3139
3140 * xterm.c (x_term_init): Work around a bug in some X servers.
3141
31422004-09-18 Richard M. Stallman <rms@gnu.org>
3143
3144 * buffer.c (syms_of_buffer) <default-major-mode>: Doc fix.
3145
3146 * xdisp.c (try_window_reusing_current_matrix):
3147 Handle the case where we reach the old displayed text,
3148 out of sync with the old line boundary.
3149
31502004-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
3151
3152 * fileio.c (Finsert_file_contents): Fix case of replacement in a
3153 narrowed buffer.
3154
31552004-09-14 Kim F. Storm <storm@cua.dk>
3156
3157 * puresize.h (PURESIZE_RATIO): Define based on BITS_PER_EMACS_INT.
3158
3159 * xfaces.c (Qface_no_inherit): New var.
3160 (syms_of_xfaces): Intern and staticpro it.
3161 (Finternal_make_lisp_face, Finternal_set_lisp_face_attribute)
3162 (Finternal_copy_lisp_face, update_face_from_frame_parameter):
3163 Don't increment face_change_count when face has non-nil
3164 face-no-inherit property.
3165
31662004-09-13 Stefan Monnier <monnier@iro.umontreal.ca>
3167
3168 * bytecode.c (BYTE_CODE_QUIT): Add missing AFTER_POTENTIAL_GC.
3169 (Fbyte_code): Remove dead code after `wrong_type_argument'.
3170
3171 * alloc.c (Fgarbage_collect): Mark keyboards, gtk data, and specpdl
3172 before doing the mark_stack_check_gcpros since they're not on the stack.
3173
31742004-09-12 Kim F. Storm <storm@cua.dk>
3175
3176 * editfns.c (Fformat): Handle format strings with multiple text
3177 properties. Reverse text property list from the format string,
3178 so the positions are in increasing order.
3179
31802004-09-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3181
3182 * xselect.c (x_reply_selection_request): XSync and UNBLOCK before
3183 x_uncatch_errors so that possible protocol errors are delivered.
3184
31852004-09-10 Eli Zaretskii <eliz@gnu.org>
3186
3187 * Makefile.in (msdos.o): Depend on buffer.h, commands.h, and
3188 blockinput.h.
3189 (dosfns.o): Depend on blockinput.h, window.h, dispextern.h,
3190 charset.h, and coding.h
3191 (w16select.o): Depend on buffer.h, charset.h, coding.h, and composite.h.
3192 (term.o): Depend on window.h and keymap.h.
3193 (abbrev.o): Depend on syntax.h.
3194 (callint.o): Depend on keymap.h.
3195 (casefiddle.o): Depend on charset.h and keymap.h.
3196 (category.o): Depend on keymap.h.
3197 (coding.o): Depend on dispextern.h.
3198 (cmds.o): Depend on keyboard.h and keymap.h.
3199 (dispnew.o): Depend on indent.h and intervals.h.
3200 (doc.o): Depend on keymap.h.
3201 (editfns.o): Depend on frame.h.
3202 (emacs.o): Depend on dispextern.h.
3203 (fileio.o): Don't depend on ccl.h.
3204 (filelock.o): Depend on charset.h and coding.h.
3205 (frame.o): Depend on w32term.h and macterm.h.
3206 (insdel.o): Depend on region-cache.h.
3207 (keyboard.o): Depend on keymap.h, w32term.h, and macterm.h.
3208 (minibuf.o): Depend on $(INTERVALS_SRC) and keymap.h.
3209 (search.o): Depend on $(INTERVALS_SRC).
3210 (syntax.o): Depend on keymap.h, regex.h, and $(INTERVALS_SRC).
3211 (window.o): Depend on keymap.h, blockinput.h, $(INTERVALS_SRC),
3212 xterm.h, w32term.h, and macterm.h.
3213 (xdisp.o): Depend on keyboard.h, $(INTERVALS_SRC), xterm.h,
3214 w32term.h, and macterm.h.
3215 (xfaces.o): Depend on keyboard.h, $(INTERVALS_SRC),
3216 region-cache.h, xterm.h, w32term.h, and macterm.h.
3217 (bytecode.o): Depend on dispextern.h, frame.h, and xterm.h.
3218 (data.o): Depend on frame.h.
3219 (fns.o): Depend on keymap.h, xterm.h, and blockinput.h.
3220 (print.o): Depend on termchar.h and $(INTERVALS_SRC).
3221 (lread.o): Depend on $(INTERVALS_SRC), termhooks.h, and coding.h.
3222 (intervals.o): Depend on keymap.h.
3223
3224 * msdos.c (msdos_set_cursor_shape, IT_display_cursor):
3225 Add debugging print-out to termscript.
3226
32272004-09-09 Richard M. Stallman <rms@gnu.org>
3228
3229 * xdisp.c (decode_mode_spec): Use current buffer for most purposes.
3230
32312004-09-08 Richard M. Stallman <rms@gnu.org>
3232
3233 * window.c (Fset_window_buffer): Doc fix.
3234
3235 * xdisp.c (Fformat_mode_line): New arg BUFFER says which buffer to use.
3236
32372004-09-08 Dan Nicolaescu <dann@ics.uci.edu>
3238
3239 * minibuf.c (history_delete_duplicates): New variable.
3240 (read_minibuf): Use it.
3241 (syms_of_minibuf): Create the corresponding lisp variable.
3242
32432004-09-08 Kim F. Storm <storm@cua.dk>
3244
3245 * xdisp.c (set_cursor_from_row): Also look at 'cursor' property in
3246 overlay just before point.
3247
32482004-09-07 Luc Teirlinck <teirllm@auburn.edu>
3249
3250 * buffer.h (struct buffer): Add auto_save_file_format field.
3251 * buffer.c (reset_buffer, init_buffer_once):
3252 Handle auto_save_file_format field.
3253 (syms_of_buffer): Add DEFVAR_PER_BUFFER for
3254 `buffer-auto-save-file-format'.
3255 * fileio.c: Delete declaration for removed Vauto_save_file_format.
3256 (build_annotations): Adapt to replacement of
3257 `auto-save-file-format' with the new buffer-local variable
3258 `buffer-auto-save-file-format'.
3259 (syms_of_fileio): Delete DEFVAR_LISP for auto-save-file-format.
3260
32612004-09-07 Jason Rumney <jasonr@gnu.org>
3262
3263 * w32term.h (AppendMenuW_Proc): Move declaration from w32menu.c.
3264
3265 * w32fns.c (w32_wnd_proc) [WM_MEASUREITEM, WM_DRAWITEM]:
3266 Handle Unicode menu titles.
3267
32682004-09-07 Kim F. Storm <storm@cua.dk>
3269
3270 * xdisp.c (set_cursor_from_row): Fix last change. Only use 'cursor'
3271 property from text property or overlay strings at point.
3272
32732004-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
3274
3275 * xmenu.c (update_submenu_strings): YAILOM.
3276 (set_frame_menubar): Make sure last_i is initialized.
3277
32782004-09-03 Jason Rumney <jasonr@gnu.org>
3279
3280 * w32menu.c (_widget_value): Add lname and lkey.
3281 (digest_single_submenu): Set lname and lkey in widget_value
3282 instead of name and key.
3283 (update_submenu_strings): New function.
3284 (set_frame_menubar): Remove call to inhibit_garbage_collection,
3285 call update_submenu_strings.
3286
3287 * w32menu.c (globals_of_w32menu): Check for Unicode API.
3288 (digest_single_submenu, w32_menu_show): Encode menu strings as
3289 UTF-8 if Unicode API is available.
3290 (utf8to16): New function.
3291 (add_menu_item): Use it when calling Unicode API.
3292
32932004-09-03 Kim F. Storm <storm@cua.dk>
3294
3295 * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property
3296 in overlay or text-property strings; set cursor on corresponding
3297 glyph rather than at end of the string.
3298
32992004-09-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3300
3301 * macfns.c (x_real_positions): Save the current window port and
3302 set a new one before obtaining the global coordinate.
3303 Use FRAME_MAC_WINDOW.
3304 (x_set_name, x_set_title): Encode title to UTF8.
3305 Use SetWindowTitleWithCFString.
3306 (Fx_server_version): Get correct OS version.
3307
3308 * macmenu.c (add_menu_item): Remove unused variable `i'.
3309 Don't let separator items destroy refence constants of other menu items.
3310
3311 * macterm.c (x_update_end): Move SetPortWindowPort to inside
3312 BLOCK_INPUT.
3313 (x_set_offset): Use FRAME_MAC_WINDOW.
3314
3315 * xdisp.c (note_mouse_highlight): Set the mouse pointer shape to
3316 nontext_cursor if it is on a scroll bar.
3317
3318 * s/darwin.h (LIBS_CARBON): New define to specify libraries for
3319 Carbon support.
3320 (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++.
3321 Use LIBS_CARBON.
3322
33232004-09-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3324
3325 * xfns.c (x_set_name_internal): New function. Check if we shall call
3326 xfree before ENCODE_UTF_8.
3327 (x_set_name, x_set_title): Call x_set_name_internal.
3328
33292004-08-31 NAKAMURA Toshikazu <nr-tkz@nifty.com> (tiny change)
3330
3331 * w32fns.c (w32_load_font): If a BDF font is already loaded, do not
3332 reload it.
3333
33342004-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3335
3336 * macmenu.c (_widget_value): Add lname and lkey.
3337 (single_submenu): Set lname and lkey in widget_value
3338 instead of name and key.
3339 (update_submenu_strings): New function.
3340 (set_frame_menubar): Remove call to inhibit_garbage_collection,
3341 call update_submenu_strings.
3342
3343 * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value
3344 instead of name and key.
3345 (update_submenu_strings): New function.
3346 (set_frame_menubar): Remove call to inhibit_garbage_collection,
3347 call update_submenu_strings.
3348
3349 * gtkutil.h (_widget_value): Added lname and lkey.
3350
33512004-08-30 Steven Tamm <steventamm@mac.com>
3352
3353 * macmenu.c (mac_menu_show): Remove shadowing of menu variable
3354 by using different names for inner loop variables.
3355
33562004-08-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3357
3358 * xmenu.c (set_frame_menubar): Reintroduce inhibit_garbage_collection
3359 from 2002-07-15T00:01:34Z!raeburn@raeburn.org so that strings from ENCODE_UTF_8 isn't GC:ed before used.
3360
3361 * gtkutil.c (xg_create_frame_widgets): Compensate for tool bar when
3362 tool bar items is 0.
3363
33642004-08-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3365
3366 * macmenu.c (ENCODE_MENU_STRING): Added to handle multibyte
3367 strings in menu items.
3368 (single_submenu): Use ENCODE_MENU_STRING
3369 (mac_menu_show): Use ENCODE_MENU_STRING. Reset grabbed because
3370 button release isn't passed to event loop
3371 (add_menu_item): Use SetMenuItemWithCFString
3372
33732004-08-26 Steven Tamm <steventamm@mac.com>
3374
3375 * fileio.c (Fread_file_name): Call x_file_dialog on carbon on
3376 tool-bar/menu click
3377 * macfns.c (Fx_file_dialog): Implemented using NavServices
3378
33792004-08-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3380
3381 * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed.
3382
3383 * xfns.c (x_window_to_frame, x_any_window_to_frame)
3384 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
3385 (x_top_window_to_frame): Return 0 if wdesc is None.
3386
33872004-08-22 Richard M. Stallman <rms@gnu.org>
3388
3389 * process.c (process_send_signal) [SIGNALS_VIA_CHARACTERS,
3390 HAVE_TERMIOS]: If there's no char for this signal, drop through
3391 and use system calls.
3392
3393 * bytecode.c (Fbyte_code) <unwind-protect>: Cannot GC.
3394
33952004-08-20 Kim F. Storm <storm@cua.dk>
3396
3397 * process.c (wait_reading_process_output): Rename from
3398 wait_reading_process_input. All uses changed.
3399 (wait_reading_process_output_1): Rename from
3400 wait_reading_process_input_1. All uses changed.
3401
3402 * dispnew.c (Fsleep_for): Remove obsolete code.
3403
34042004-08-20 Kenichi Handa <handa@m17n.org>
3405
3406 * syntax.c (skip_chars): Fix for unibyte case.
3407
34082004-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
3409
3410 * syntax.c (char_quoted): Mixup byte/char pos.
3411 (back_comment): Fixup globals in all cases.
3412
34132004-08-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3414
3415 * xfns.c (x_set_name, x_set_title): Encode title to UTF8 before
3416 passing it to gtk_window_set_title.
3417
34182004-08-19 Kim F. Storm <storm@cua.dk>
3419
3420 * process.c (wait_reading_process_input): Clean up.
3421 Add wait_for_cell, wait_proc, and just_wait_proc args
3422 to avoid overloading `read_kbd' and `do_display' args.
3423 Change read_kbd arg to int. All callers changed.
3424
3425 * process.c (process_send_signal): Use CDISABLE.
3426
3427 * sysdep.c (child_setup_tty, init_sys_modes): Use CDISABLE.
3428
34292004-08-18 Kim F. Storm <storm@cua.dk>
3430
3431 * process.c (Faccept_process_output): Add arg JUST-THIS-ONE;
3432 forward to wait_reading_process_input via DO_DISPLAY arg.
3433 (wait_reading_process_input): If DO_DISPLAY < 0 for a process
3434 object, only process output from that process; also inhibit
3435 running timers if DO_DISPLAY==-2.
3436
34372004-08-17 Kim F. Storm <storm@cua.dk>
3438
3439 * process.c (process_send_signal): Fix last change--use
3440 _POSIX_VDISABLE instead of CVDISABLE when available.
3441
34422004-08-16 Richard M. Stallman <rms@gnu.org>
3443
3444 * sysdep.c (child_setup_tty) [SIGNALS_VIA_CHARACTERS]:
3445 Set VQUIT and VINTR chars to the standard ones if they are unset.
3446 [AIX]: Don't do that here. And don't force VINTR to standard
3447 when SIGNALS_VIA_CHARACTERS.
3448
3449 * process.c (process_send_signal)
3450 [SIGNALS_VIA_CHARACTERS, HAVE_TERMIOS]: Clean up.
3451 Do nothing if the character is CVDISABLE.
3452
3453 * xfaces.c (merge_face_ref): Specifying `unspecified' is a no-op.
3454
3455 * intervals.c (move_if_not_intangible):
3456 Force POSITION to be between BEGV and ZV.
3457
34582004-08-14 John Paul Wallington <jpw@gnu.org>
3459
3460 * buffer.c (Frestore_buffer_modified_p): Doc fix.
3461
3462 * fileio.c (Fread_file_name): Doc fix.
3463
3464 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
3465
34662004-08-09 Luc Teirlinck <teirllm@auburn.edu>
3467
3468 * keymap.c (Fmake_keymap, Fmap_keymap, Fwhere_is_internal): Doc fixes.
3469
34702004-08-08 Luc Teirlinck <teirllm@auburn.edu>
3471
3472 * keyboard.c: Declare Qdisabled_command_function instead of
3473 Qdisabled_command_hook.
3474 (Fcommand_execute): Use Qdisabled_command_function instead of
3475 Qdisabled_command_hook.
3476 (syms_of_keyboard): Ditto.
3477
34782004-08-07 Luc Teirlinck <teirllm@auburn.edu>
3479
3480 * keymap.c (Flocal_key_binding, Fglobal_key_binding)
3481 (syms_of_keymap) <key-translation-map>: Doc fixes.
3482
34832004-08-07 Stefan Monnier <monnier@iro.umontreal.ca>
3484
3485 * window.c (window_list_1): YAILOM.
3486
3487 * fileio.c (make_temp_name): Handle multibyte prefixes.
3488
34892004-08-06 Luc Teirlinck <teirllm@auburn.edu>
3490
3491 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3492 Doc fix.
3493
34942004-08-03 Kenichi Handa <handa@m17n.org>
3495
3496 * coding.c (decode_coding_string): Adjust coding->consumed, and
3497 etc. with shrinked_bytes.
3498
34992004-08-03 Kim F. Storm <storm@cua.dk>
3500
3501 * indent.c (compute_motion): Fix check for full width window
3502 in non-window case. Do not count left truncation glyph on
3503 window systems.
3504
35052004-08-02 Luc Teirlinck <teirllm@auburn.edu>
3506
3507 * data.c (Finteractive_form): Doc fix.
3508
35092004-08-02 Kim F. Storm <storm@cua.dk>
3510
3511 * indent.c (compute_motion): Use actual window width if WIDTH is -1,
3512 properly accounting for continuation glyph on non-window systems.
3513 (Fcompute_motion): Use actual window width if WIDTH is nil, and
3514 actual window width/height if TOPOS is nil, properly accounting for
3515 continuation glyphs on non-window systems, and optional header lines.
3516 (vmotion): Let compute_motion calculate actual window width.
3517
3518 * window.c (window_scroll_line_based): Let compute_motion
3519 calculate actual window width.
3520
35212004-08-02 Kim F. Storm <storm@cua.dk>
3522
3523 * process.c (read_process_output): Use whole read buffer.
3524 Don't trigger adaptive read buffering on errors.
3525
35262004-07-31 Luc Teirlinck <teirllm@auburn.edu>
3527
3528 * keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes.
3529
3530 * keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix.
3531
3532 * callint.c (Fcall_interactively): Doc fix.
3533
35342004-07-30 Richard M. Stallman <rms@gnu.org>
3535
3536 * abbrev.c (Fexpand_abbrev): Undo previous change.
3537
35382004-07-30 Kim F. Storm <storm@cua.dk>
3539
3540 * editfns.c (Fformat): Allocate extra (dummy) element in info.
3541
35422004-07-28 Luc Teirlinck <teirllm@auburn.edu>
3543
3544 * eval.c (Fdefvar, Fdefconst): Doc fixes.
3545
35462004-07-27 Kim F. Storm <storm@cua.dk>
3547
3548 * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after
3549 we have ensured that the glyph fits on the current line (or returned
3550 MOVE_LINE_CONTINUED otherwise).
3551
35522004-07-26 Kim F. Storm <storm@cua.dk>
3553
3554 * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe
3555 is enabled, return MOVE_LINE_CONTINUED rather than MOVE_POS_MATCH_OR_ZV
3556 if target position is at end of display line but char is not a newline.
3557
35582004-07-25 Richard M. Stallman <rms@gnu.org>
3559
3560 * window.c (coordinates_in_window): Return ON_SCROLL_BAR
3561 instead of ON_VERTICAL_BORDER, when on scroll bar.
3562 (Fcoordinates_in_window_p): Handle ON_SCROLL_BAR--return nil.
3563
3564 * dispextern.h (enum window_part): Add ON_SCROLL_BAR.
3565
3566 * window.c (Fcoordinates_in_window_p):
3567 Take account of FRAME_INTERNAL_BORDER_WIDTH.
3568
3569 * alloc.c (check_cons_list): New function (contents commented out).
3570
35712004-07-24 Luc Teirlinck <teirllm@auburn.edu>
3572
3573 * xfaces.c (Fcolor_supported_p): Doc fix.
3574
3575 * frame.c (Fselect_frame, Fset_frame_selected_window)
3576 (Fframe_visible_p, Fraise_frame): Doc fixes.
3577
35782004-07-24 Richard M. Stallman <rms@gnu.org>
3579
3580 * keyboard.h (not_single_kboard_state): Declare.
3581
3582 * fileio.c (Fwrite_region): Doc fix.
3583
3584 * window.c (Fwindow_at): Take account of FRAME_INTERNAL_BORDER_WIDTH.
3585
3586 * abbrev.c (Fexpand_abbrev): Run Qpre_abbrev_expand_hook
3587 only when a real abbrev is present.
3588
3589 * xfns.c (x_icon_verify): New function.
3590 (Fx_create_frame): Use it.
3591
35922004-07-22 Barry Fishman <barry_fishman@att.net> (tiny change)
3593
3594 * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined.
3595
35962004-07-21 Kim F. Storm <storm@cua.dk>
3597
3598 * window.h (struct glyph_matrix): New members nrows_scale_factor
3599 and ncols_scale_factor.
3600
3601 * window.c (make_window): Initialize nrows_scale_factor and
3602 ncols_scale_factor members.
3603
3604 * dispnew.c (margin_glyphs_to_reserve): Apply ncols_scale_factor.
3605 (allocate_matrices_for_frame_redisplay): Fix left/right margin mix-up.
3606 (required_matrix_height): Apply nrows_scale_factor.
3607 (required_matrix_width): Apply ncols_scale_factor.
3608
3609 * xdisp.c (display_line): Increment nrows_scale_factor and set
3610 fonts_changed_p if past last allocated row.
3611 (append_glyph, append_composite_glyph, produce_image_glyph)
3612 (append_stretch_glyph): Increment ncols_scale_factor and set
3613 fonts_changed_p if current area is full.
3614
36152004-07-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3616
3617 * widget.c (EmacsFrameDestroy): Don't abort if normal_gc is 0.
3618
36192004-07-19 Luc Teirlinck <teirllm@auburn.edu>
3620
3621 * window.c (Fpos_visible_in_window_p, Fset_window_hscroll)
3622 (Fwindow_inside_pixel_edges, Fwindow_end, Fset_window_point)
3623 (Fset_window_start, Fscroll_up, Fscroll_down)
3624 (Fother_window_for_scrolling, Fscroll_other_window)
3625 (Fsave_window_excursion, Fset_window_vscroll)
3626 (syms_of_window) <window-size-fixed>: Doc fixes.
3627
36282004-07-19 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
3629
3630 * w32fns.c (Fx_file_dialog): Use ENCODE_FILE instead of
3631 ENCODE_SYSTEM for filenames.
3632
36332004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3634
3635 * mac.c (sys_select): Block input around call to
3636 ReceiveNextEvent to prevent breakage. Correctly handle
3637 blocking on event queue only by calling ReceiveNextEvent
3638 instead of select (since GUI events aren't on an fd).
3639 (sys_read): Remove function
3640 * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON
3641
36422004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3643
3644 * mac.c (sys_select): Redo sys_select to use alarm-based
3645 polling instead of 1 sec timeouts (like solaris).
3646
3647 * macterm.c (x_make_frame_visible): Comment in polling on
3648 frame creation.
3649
3650 * keyboard.c: Undef SIGIO on Carbon
3651
3652 * atimer.c (alarm_signal_handler): Call alarm handlers after
3653 scheduling.
3654
3655 * eval.c (Feval): Remove quit_char test
3656
3657 * process.c (wait_reading_process_input): Remove clearing
3658 stdin for select call on process input.
3659
36602004-07-18 Luc Teirlinck <teirllm@auburn.edu>
3661
3662 * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Correct
3663 capitalization error in docstring.
3664
36652004-07-17 Juanma Barranquero <lektu@terra.es>
3666
3667 * keyboard.c (not_single_kboard_state): Do nothing unless
3668 MULTI_KBOARD is defined.
3669
36702004-07-17 Richard M. Stallman <rms@gnu.org>
3671
3672 * window.c (coordinates_in_window): Inside the window but outside
3673 its box to the L or R, return ON_VERTICAL_BORDER.
3674 (window_list_1): Rotate the list to start with WINDOW.
3675
3676 * print.c (print_preprocess): Test for print_depth at limit
3677 before entering in being_printed.
3678
3679 * keyboard.c (not_single_kboard_state): New function.
3680 (stuff_buffered_input): Now no-op only if no SIGTSTP.
3681
3682 * frame.c (Fdelete_frame): If we're in single_bboard_state on
3683 this kboard, and we delete its last frame, go to any_kboard_state.
3684
3685 * buffer.c (syms_of_buffer) <transient-mark-mode>: Doc fix.
3686
36872004-07-15 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
3688
3689 * w32fns.c (Fx_file_dialog): Encode strings in system coding
3690 system before passing them to OS functions for display.
3691
36922004-07-15 David Kastrup <dak@gnu.org>
3693
3694 * search.c (syms_of_search): Staticpro `saved_last_thing_searched'.
3695 Apparently fixes an abort condition.
3696
36972004-07-14 Luc Teirlinck <teirllm@auburn.edu>
3698
3699 * fileio.c (Fvisited_file_modtime): Return a list of two integers,
3700 instead of a cons.
3701
37022004-07-14 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
3703
3704 * keyboard.c (echo_dash): Do nothing if there already is a dash
3705 at the end of the echo string.
3706
37072004-07-12 Kim F. Storm <storm@cua.dk>
3708
3709 * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value
3710 if GC_MARK_STACK.
3711
37122004-07-10 Luc Teirlinck <teirllm@auburn.edu>
3713
3714 * buffer.c (Fswitch_to_buffer, Fpop_to_buffer): Doc fixes.
3715
3716 * window.c (Fwindow_buffer, Fother_window, Fget_lru_window)
3717 (Fget_largest_window, Fget_buffer_window, Fdelete_windows_on)
3718 (Freplace_buffer_in_windows, Fset_window_buffer)
3719 (Fselect-window, Fdisplay-buffer, Fsplit_window): Doc fixes.
3720 (syms_of_window): Expand docstring of `display-buffer-function'.
3721
37222004-07-09 Luc Teirlinck <teirllm@auburn.edu>
3723
3724 * editfns.c (Ffloat_time, Fformat_time_string, Fdecode_time)
3725 (Fcurrent_time_string, Fcurrent_time_zone): Mention in docstrings
3726 that time values of the type (HIGH . LOW) are considered obsolete.
3727
37282004-07-06 Luc Teirlinck <teirllm@auburn.edu>
3729
3730 * keyboard.c (syms_of_keyboard): Fix `keyboard-translate-table'
3731 docstring.
3732
3733 * fns.c (Fclear_string): Declare `len' before call to CHECK_STRING.
3734
37352004-07-06 John Paul Wallington <jpw@gnu.org>
3736
3737 * eval.c (Fdefmacro): Signal an error if NAME is not a symbol.
3738
3739 * fns.c (Fclear_string): Signal an error if STRING is not a string.
3740
37412004-07-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3742
3743 * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList
3744 instead of CGMainDisplayID (only in OSX 10.2 and later).
3745
37462004-07-04 John Paul Wallington <jpw@gnu.org>
3747
3748 * fileio.c (read_file_name_completion_ignore_case): New variable.
3749 (syms_of_fileio): Declare and initialise it.
3750 (Fread_file_name): Bind `completion-ignore-case' to respect it.
3751
37522004-07-03 Eli Zaretskii <eliz@gnu.org>
3753
3754 * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects
3755 for event.x and event.y.
3756
37572004-07-01 Kenichi Handa <handa@m17n.org>
3758
3759 * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly
3760 after getting a new string by pre-write-conversion.
3761
37622004-06-30 Stefan Monnier <monnier@iro.umontreal.ca>
3763
3764 * xterm.c (x_detect_focus_change): Remove unused var `nr_events'.
3765 (x_calc_absolute_position): Remove unused var `child'.
3766
3767 * xfaces.c (x_supports_face_attributes_p)
3768 (Fdisplay_supports_face_attributes_p): YAILOM.
3769 (tty_supports_face_attributes_p): Remove unused var `i'.
3770
3771 * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and
3772 back_unibyte_ok.
3773
3774 * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM.
3775
3776 * fontset.c (Fset_fontset_font): Remove unused vars `family' and `registry'.
3777
3778 * Makefile.in (${etc}DOC): Fix file name of make-docfile.
3779
37802004-06-30 Andreas Schwab <schwab@suse.de>
3781
3782 * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES.
3783 (Finit_image_library): Pass LIBRARIES through to
3784 CHECK_LIB_AVAILABLE. Declare parameters. Doc fix.
3785 (lookup_image_type): Pass Qnil as second argument to
3786 Finit_image_library.
3787
3788 * lisp.h (Finit_image_library): Declare.
3789
37902004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3791
3792 * macterm.c (do_window_activate, do_window_deactivate): Remove.
3793 (XTread_socket): Send mouse button events to the toolbox
3794 dispatcher even when the mouse is grabbed. Don't process window
3795 activate events for non-Emacs windows. Replace function calls to
3796 do_window_activate and do_window_deactivate with their contents.
3797 Reset mouse grabbing status when a window is deactivated.
3798
37992004-06-29 Steven Tamm <steventamm@mac.com>
3800
3801 * macterm.c (mac_get_emulated_btn)
3802 (mac_event_to_emacs_modifiers): Fix emulated mouse button
3803 support to correctly mask out modifiers.
3804
38052004-06-29 David Kastrup <dak@gnu.org>
3806
3807 * search.c (Fset_match_data): Allow buffer before end of list
3808 which can happen if set-match-data is using a pre-consed list.
3809
38102004-06-28 Steven Tamm <steventamm@mac.com>
3811
3812 * macterm.c (XTread_socket): Correctly set the frame position
3813 after the window is moved.
3814
38152004-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3816
3817 * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
3818 gpix and gmask just before return to avoid memory leak.
3819 (xg_get_image_for_pixmap): Add workaround for monochrome displays
3820 so insensitive and activated icons look ok.
3821
38222004-06-27 Jason Rumney <jasonr@gnu.org>
3823
3824 * w32fns.c (file_dialog_callback): Disable edit control if set
3825 to directories only on CDN_INITDONE message.
3826 (Fx_file_dialog): Default to directories only when prompt starts
3827 with "Dired".
3828
38292004-06-25 Kim F. Storm <storm@cua.dk>
3830
3831 * alloc.c (allocate_misc): Update total_free_markers.
3832 (free_misc): New function.
3833 (safe_alloca_unwind, free_marker): Use it.
3834
3835 * lisp.h (free_misc): Add prototype.
3836
3837 * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs.
3838
38392004-06-24 Richard M. Stallman <rms@gnu.org>
3840
3841 * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted.
3842 (syms_of_emacs): Lisp variables deleted.
3843
38442004-06-23 David Kastrup <dak@gnu.org>
3845
3846 * search.c (Freplace_match): Adjust the match-data more thoroughly
3847 when replacing strings in the buffer.
3848 (Fmatch_data): When INTEGERS is non-nil and the last match was in
3849 a buffer, add the buffer as last element to the match data.
3850 (Fset_match_data): If an additional element of the match-data is a
3851 buffer, restore it to last_thing_searched.
3852 (save_search_regs): Save last_thing_searched as part of the match data.
3853 (restore_match_data): Restore it again.
3854
38552004-06-23 Luc Teirlinck <teirllm@auburn.edu>
3856
3857 * keymap.c (Ftext_char_description): Doc fix.
3858 * doc.c (Fsnarf_documentation): Doc fix.
3859
38602004-06-22 Kim F. Storm <storm@cua.dk>
3861
3862 * fns.c (Fmapcar, Fmapconcat): GCPRO the args array.
3863
3864 * lisp.h (struct Lisp_Save_Value): New member dogc.
3865 (SAFE_ALLOCA_LISP): Change second arg to number of elements.
3866 Set dogc member in Lisp_Save_Value object so it will be GC'ed.
3867 (SAFE_FREE_LISP): New macro.
3868
3869 * alloc.c (safe_alloca_unwind): Clear dogc and pointer members.
3870 (make_save_value): Init new dogc member.
3871 (mark_object): Mark Lisp_Save_Value pointer array if dogc is set.
3872
3873 * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
3874 SAFE_FREE_LISP macros.
3875
38762004-06-22 Kim F. Storm <storm@cua.dk>
3877
3878 * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects.
3879 Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects
3880 in that memory area are unknown to GC. Add comments.
3881
3882 * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP.
3883
38842004-06-21 Kim F. Storm <storm@cua.dk>
3885
3886 * lisp.h (MAX_ALLOCA): Define here.
3887 (safe_alloca_unwind): Add prototype.
3888 (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros.
3889
3890 * alloc.c (safe_alloca_unwind): New function.
3891
3892 * casefiddle.c (casify_object): Use SAFE_ALLOCA.
3893
3894 * charset.c (Fstring): Use SAFE_ALLOCA.
3895
3896 * coding.c (MAX_ALLOCA): Remove define.
3897
3898 * data.c (MAX_ALLOCA): Remove define.
3899 (Faset): Use SAFE_ALLOCA.
3900
3901 * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA.
3902
3903 * fns.c (string_make_multibyte, string_to_multibyte)
3904 (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA.
3905 (MAX_ALLOCA): Remove define.
3906 (Fbase64_encode_region, Fbase64_encode_string)
3907 (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA.
3908 (Fbase64_encode_region, Fbase64_encode_string): Fix potential
3909 memory leak if encoding fails.
3910
3911 * xdisp.c (add_to_log): Use SAFE_ALLOCA.
3912
39132004-06-21 Eli Zaretskii <eliz@gnu.org>
3914
3915 * print.c (Fwith_output_to_temp_buffer): Doc fix.
3916
39172004-06-20 Richard M. Stallman <rms@gnu.org>
3918
3919 * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix.
3920
3921 * search.c (match_limit): Cleaner err msg when no match data available.
3922
3923 * window.c (syms_of_window): Doc fix.
3924
3925 * keyboard.c (command_loop_1): Handle values `only' and `identity'
3926 for Vtransient_mark_mode.
3927
3928 * buffer.c (syms_of_buffer): Doc fix.
3929
39302004-06-21 David Kastrup <dak@gnu.org>
3931
3932 * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding
3933 and unbinding of `case-fold-search' according to
3934 `completion-ignore-case' around calls of string-match and
3935 predicates, respectively. Should give satisfactory performance
3936 in all relevant cases.
3937
39382004-06-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3939
3940 * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from
3941 clip_x/y_origin.
3942
3943 * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca.
3944
3945 * macfns.c (Fx_display_color_cells): Do not limit return value to 256.
3946
3947 * macterm.c (mac_initialize_display_info): Initialize n_planes correctly
3948 on Mac OSX.
3949
39502004-06-16 Luc Teirlinck <teirllm@auburn.edu>
3951
3952 * buffer.c (syms_of_buffer): Clarify `fill-column' docstring.
3953
39542004-06-16 Kim F. Storm <storm@cua.dk>
3955
3956 * dispextern.h (Vimage_types): Remove extern.
3957
39582004-06-16 Miles Bader <miles@gnu.org>
3959
3960 * image.c (lookup_image_type): Initialize image type if necessary.
3961
39622004-06-15 Kim F. Storm <storm@cua.dk>
3963
3964 * xdisp.c (try_cursor_movement): Exclude header line from scroll
3965 margin at top of window.
3966 (try_window_reusing_current_matrix): Calculate proper cursor position
3967 after scrolling up with non-zero scroll margin, as the old cursor
3968 position corresponds to value of PT before executing this command.
3969 (try_window_id): Consider scroll margin at bottom of window too;
3970 otherwise we fail to scroll when hl-line-mode is enabled.
3971
3972 * syntax.c (skip_chars): Only recognize [:class:] when it has the
3973 proper format and class is a lower-case word.
3974
39752004-06-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3976
3977 * gtkutil.c (xg_get_image_for_pixmap): New function.
3978 (xg_get_gdk_pixmap_and_mask): Remove.
3979 (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of
3980 xg_get_gdk_pixmap_and_mask.
3981
3982 * xterm.h (struct x_display_info): Typo in comment fixed.
3983
39842004-06-14 Juanma Barranquero <lektu@terra.es>
3985
3986 * dispextern.h (Vimage_types): Make it conditional on
3987 HAVE_WINDOW_SYSTEM.
3988
3989 * image.c (Vimage_types): Move from xdisp.c.
3990 (Vimage_type_cache): New variable.
3991 (define_image_type): New argument indicating whether an image
3992 library was loaded; cache loaded status and return t on success,
3993 nil otherwise.
3994 (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros.
3995 (w32_delayed_load): New function to load an image library from a
3996 list of possible filenames.
3997 (init_xpm_functions, init_png_functions, init_jpeg_functions)
3998 (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'.
3999 (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument.
4000 (Finit_image_library): New function, extracted from `init_image'.
4001 Try to initialize an image library on demand and cache whether we
4002 were successful or not.
4003 (syms_of_image): Initialize `Vimage_types' and
4004 `Vimage_type_cache'. Add recognized image types to Vimage_types.
4005 Export `init-image-library'.
4006 (init_image): Remove initialization of all image types, except xbm
4007 and pbm.
4008
4009 * xdisp.c (Vimage_types): Delete (moved to image.c).
4010
40112004-06-14 Andreas Schwab <schwab@suse.de>
4012
4013 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
4014 Avoid calling specbind when completion-regexp-list is empty.
4015
40162004-06-13 Richard M. Stallman <rms@gnu.org>
4017
4018 * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
4019 (re_wctype, re_iswctype, re_wctype_to_bit):
4020 Non-function definitions moved here from regex.c.
4021
4022 * regex.c (re_wctype, re_iswctype): Function defs longer static.
4023 (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
4024 (re_wctype, re_iswctype, re_wctype_to_bit):
4025 Non-function definitions moved to regex.h.
4026
4027 * window.c (Fselect_window): Doc fix.
4028
4029 * syntax.c: Include regex.h.
4030 (skip_chars): New arg HANDLE_ISO_CLASSES. Callers changed.
4031 If requested, make a list of classes, then check the scanned
4032 chars for membership in them.
4033 (in_classes): New function.
4034 Doc fix.
4035
4036 * keyboard.c (cmd_error): Don't call any_kboard_state
4037 if inside a recursive edit level.
4038
40392004-06-13 Lorentey K\e,Aa\e(Broly <lorentey@elte.hu>
4040
4041 * keyboard.c (command_loop): Call any_kboard_state before
4042 command_loop_2 when at top level.
4043
40442004-06-13 Andreas Schwab <schwab@suse.de>
4045
4046 * print.c (print_object): Always use %ld for printing EMACS_INT.
4047
4048 * keyboard.c (cancel_hourglass_unwind): Return a value.
4049 (modify_event_symbol): Always use %ld for printing EMACS_INT.
4050 (Fexecute_extended_command): Likewise.
4051
4052 * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to
4053 avoid clashes.
4054 (SYNTAX): Likewise.
4055 (SYNTAX_WITH_FLAGS): Likewise.
4056 (SYNTAX_MATCH): Likewise.
4057
4058 * syntax.c (char_quoted): Avoid warning about undefined operation.
4059 (find_defun_start): Likewise.
4060 (scan_lists): Likewise.
4061 (INC_FROM): Likewise.
4062 (scan_sexps_forward): Likewise.
4063
4064 * image.c: Include <ctype.h>.
4065
4066 * xfaces.c (face_attr_equal_p): Declare parameters.
4067
40682004-06-13 Kenichi Handa <handa@m17n.org>
4069
4070 * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1.
4071
40722004-06-12 Matthew Mundell <matt@mundell.ukfsn.org>
4073
4074 * eval.c (Fdefun): Signal an error if NAME is not a symbol.
4075
40762004-06-12 Kenichi Handa <handa@m17n.org>
4077
4078 * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in
4079 ccl_prog_stack_struct and update it.
4080 (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook.
4081 (CCL_READ_CHAR): Get instruction counter from eof_ic, not from
4082 ccl->eof_ic on EOF.
4083 (ccl_debug_hook): New function.
4084 (struct ccl_prog_stack): New member eof_ic.
4085 (ccl_driver): Handle EOF in subrountine call correctly.
4086
40872004-06-11 Kenichi Handa <handa@m17n.org>
4088
4089 * coding.c (decode_coding_string): Check CODING_FINISH_INTERRUPT.
4090
40912004-06-11 Kim F. Storm <storm@cua.dk>
4092
4093 * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown.
4094
40952004-06-11 Juanma Barranquero <lektu@terra.es>
4096
4097 * keyboard.c (Fposn_at_point): Doc fix.
4098
40992004-06-11 David Kastrup <dak@gnu.org>
4100
4101 * search.c (match_limit): Don't flag an error if match-data
4102 exceeding the allocated search_regs.num_regs gets requested, just
4103 return Qnil.
4104
41052004-06-08 Miles Bader <miles@gnu.org>
4106
4107 * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected.
4108
41092004-06-07 Juanma Barranquero <lektu@terra.es>
4110
4111 * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time)
4112 (Fcurrent_time_string, Fcurrent_time_zone)
4113 (Finsert_buffer_substring, Ftranspose_regions): Doc fixes.
4114
41152004-06-07 Miles Bader <miles@gnu.org>
4116
4117 * xfaces.c (struct named_merge_point): New type.
4118 (push_named_merge_point): New function.
4119 (merge_named_face): New function.
4120 (merge_face_ref, face_at_buffer_position, face_at_string_position):
4121 Use `merge_named_face'.
4122 (merge_face_inheritance): Function removed.
4123 (merge_face_ref): Rename from `merge_face_vector_with_property'.
4124 Add new `err_msgs' and `named_merge_points' args. Return error
4125 status. Only print error messages if ERR_MSGS is true. Don't try to
4126 do :inherit attribute validation.
4127 (merge_face_heights): Handle `unspecified' in both directions.
4128 (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'.
4129 Call `merge_face_ref' instead of `merge_face_inheritance'.
4130 (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector)
4131 (compute_char_face, face_at_buffer_position)
4132 (face_at_string_position): Call `merge_face_ref' instead of
4133 `merge_face_vector_with_property'.
4134
41352004-06-07 Kenichi Handa <handa@m17n.org>
4136
4137 * coding.c (find_safe_codings): Check NILP (safe_codings) only at
4138 the necessary places.
4139
41402004-06-07 Kim F. Storm <storm@cua.dk>
4141
4142 * process.c (Fdelete_process): Undo 2004-05-28 change.
4143 Instead, call status_notify also for network process.
4144 (status_message): Use process instead of status as arg.
4145 Give messages "deleted" or "connection broken by remote peer" for
4146 an exited network process.
4147 (status_notify): Change call to status_message.
4148 (read_process_output): Increase readmax to 4096. Do not increase
4149 buffer size for datagram channels (default is now large enough).
4150
41512004-06-06 Steven Tamm <tamm@Steven-Tamms-Computer.local>
4152
4153 * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation
4154 problem due to newly defined variable.
4155
41562004-06-06 Miles Bader <miles@gnu.org>
4157
4158 * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
4159 immediately if non-interactive or not initialized.
4160
41612004-06-05 Richard M. Stallman <rms@gnu.org>
4162
4163 * minibuf.c (Fcompleting_read): Doc fix.
4164
41652004-06-05 Andreas Schwab <schwab@suse.de>
4166
4167 * macfns.c (x_create_tip_frame): Fix declaration after statement.
4168
41692004-06-05 Juanma Barranquero <lektu@terra.es>
4170
4171 * keymap.c (Fdescribe_vector): Fix docstring.
4172 (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
4173
41742004-06-05 Miles Bader <miles@gnu.org>
4175
4176 * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
4177 attributes have different values than the default face.
4178
41792004-06-04 Eli Zaretskii <eliz@gnu.org>
4180
4181 * xfaces.c (x_supports_face_attributes_p): Make this function
4182 conditional on HAVE_WINDOW_SYSTEM.
4183 (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]:
4184 Don't call x_supports_face_attributes_p if it was not compiled in.
4185
41862004-06-04 Miles Bader <miles@gnu.org>
4187
4188 * xfaces.c (tty_supports_face_attributes_p): New function, mostly
4189 from Ftty_supports_face_attributes_p.
4190 (x_supports_face_attributes_p): New function.
4191 (Ftty_supports_face_attributes_p): Function deleted.
4192 (Fdisplay_supports_face_attributes_p): New function.
4193 (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
4194 (face_attr_equal_p): New function.
4195 (lface_equal_p): Use it.
4196
41972004-06-03 Juanma Barranquero <lektu@terra.es>
4198
4199 * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
4200 (Vw32_color_map): Fix typo in docstring.
4201 (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
4202 (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
4203 Make argument names match their use in docstring.
4204
42052004-06-02 Juanma Barranquero <lektu@terra.es>
4206
4207 Work around bugs/problems with MinGW builds of graphics libraries
4208 called from MSVC builds of Emacs.
4209
4210 * image.c (lookup_image): Make pointer to img static.
4211 (png_read_from_memory): Disable "global" optimization.
4212
42132004-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
4214
4215 * eval.c (Fcondition_case): Fix usage. Simplify.
4216
4217 * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
4218
42192004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4220
4221 * macfns.c: Don't include ccl.h.
4222 [MAC_OSX]: Don't include QuickTime/QuickTime.h.
4223 [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
4224 TextUtils.h.
4225 (Fx_create_frame): Sync with xfns.c. Initialize cursor descriptors.
4226 (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
4227 display height/width.
4228 (compute_tip_xy, Vx_max_tooltip_size): Declare.
4229 (unwind_create_tip_frame, compute_tip_xy): New functions.
4230 (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
4231 (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
4232 and last_show_tip_args.
4233
4234 * macgui.h [!MAC_OSX]: Include Gestalt.h.
4235 (Cursor, No_Cursor): New defines.
4236 [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro.
4237 [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
4238
4239 * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
4240
4241 * macterm.c: Don't include Gestalt.h.
4242 (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
4243 (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
4244 (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
4245 (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
4246 (mac_copy_area, mac_copy_area_with_mask, x_update_end)
4247 (construct_mouse_click, XTmouse_position)
4248 (x_scroll_bar_report_motion, x_calc_absolute_position)
4249 (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
4250 (XTread_socket, make_mac_frame): Use SetPortWindowPort.
4251 (note_mouse_movement): Clear the mouse face and reset the pointer
4252 shape when the pointer goes outside the frame without grabbing.
4253 (mac_front_window): New function.
4254 (mac_window_to_frame): New macro.
4255 (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
4256 (do_window_activate, do_window_deactivate, do_app_resume)
4257 (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
4258 (do_zoom_window, mac_do_receive_drag, XTread_socket)
4259 (mac_check_for_quit_char): Use mac_front_window and/or
4260 mac_window_to_frame.
4261 (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
4262 scroll-bar click event.
4263 (mac_define_frame_cursor): Change the pointer shape.
4264 (x_free_frame_resources): Reset tip_window to NULL when it is disposed.
4265 [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
4266 [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor.
4267 (do_window_update): Don't do anything if the updated window is the
4268 tooltip window.
4269 (do_mouse_moved): Handle mouse movement events here (previously in
4270 XTread_socket). Clear the mouse face if
4271 dpyinfo->mouse_face_hidden is set.
4272 (do_os_event, do_events): Remove (now in XTread_socket).
4273 (XTread_socket): Immediately return if interrupt_input_blocked.
4274 Loop until all the events in the queue are processed.
4275 Rearrange codes for mouse grabbing. Add tooltip support. Include the
4276 contents of do_os_event and do_events. Remove mouse movement
4277 handling (now in do_mouse_moved). Add the case where
4278 Vmouse_highlight has an integer value.
4279 (NewMacWindow): Remove.
4280 (make_mac_frame): Do what NewMacWindow previously did. Don't do
4281 excess initializations.
4282 (make_mac_terminal_frame): Previous initializations in
4283 make_mac_frame are moved here.
4284 (mac_initialize_display_info):
4285 Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
4286
4287 * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
4288 (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
4289
42902004-05-29 Richard M. Stallman <rms@gnu.org>
4291
4292 * lisp.h (truncate_undo_list): Update decl.
4293
4294 * alloc.c (undo_outer_limit): New variable.
4295 (syms_of_alloc): Defvar it.
4296 (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
4297
4298 * undo.c (truncate_undo_list): New arg LIMITSIZE.
4299
4300 * alloc.c (lisp_align_malloc): Check for base == 0
4301 regardless of HAVE_POSIX_MEMALIGN.
4302 Clean up HAVE_POSIX_MEMALIGN handling of `err'.
4303
43042004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4305
4306 * alloc.c: Undo Kim's recent changes and fix the same bug differently.
4307 (marker_blocks_pending_free): Remove.
4308 (Fgarbage_collect): Sweep after cleaning up undo-lists.
4309 Mark the undo lists after claning them up.
4310 Don't free block in marker_blocks_pending_free.
4311 (mark_buffer): Don't mark undo_list.
4312 (gc_sweep): Sweep hash-tables and strings first.
4313 Do free marker blocks that are empty.
4314
43152004-05-28 Jim Blandy <jimb@redhat.com>
4316
4317 * regex.c (print_partial_compiled_pattern): Add missing 'break'
4318 after 'case wordend'. For symbeg and symend, print to stderr,
4319 like the other cases.
4320
43212004-05-28 Noah Friedman <friedman@splode.com>
4322
4323 * process.c (Fdelete_process): Do not call remove_process.
4324
43252004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4326
4327 * alloc.c (struct backtrace): Remove.
4328 (Fgarbage_collect): Use the new mark_backtrace.
4329
4330 * eval.c (mark_backtrace): New function.
4331
4332 * minibuf.c (run_exit_minibuf_hook): New function.
4333 (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
4334 (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
4335
43362004-05-27 Kim F. Storm <storm@cua.dk>
4337
4338 * xdisp.c (back_to_previous_visible_line_start): Skip backwards
4339 over display properties, e.g. images, that replace buffer text.
4340
43412004-05-25 Kim F. Storm <storm@cua.dk>
4342
4343 * alloc.c (marker_blocks_pending_free): New var.
4344 (gc_sweep): Store free marker blocks on that list.
4345 (Fgarbage_collect): Free them after undo-list cleanup.
4346
4347 * process.c (wait_reading_process_input): Check connect_wait_mask
4348 before actually accepting connection in case it has already been
4349 accepted due to recursion.
4350
43512004-05-23 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
4352
4353 * coding.c (Fset_safe_terminal_coding_system_internal):
4354 Set suppress_error in safe_terminal_coding, not terminal_coding.
4355
43562004-05-22 Richard M. Stallman <rms@gnu.org>
4357
4358 * alloc.c (Fmake_string): Doc fix.
4359
4360 * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
4361 and the alist pairs too.
4362
4363 * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
4364
4365 * emacs.c (main): Update copyright year.
4366
4367 * fileio.c (Fread_file_name): Expand DIR if not absolute.
4368
4369 * insdel.c (del_range_2, replace_range): Don't write an anchor
4370 if the gap is empty.
4371
4372 * xdisp.c (try_scrolling): If scroll-up-aggressively or
4373 scroll-down-aggressively is small but positive, put point
4374 near the screen edge.
4375
43762004-05-22 Juanma Barranquero <lektu@terra.es>
4377
4378 * keymap.c (Fdefine_key): Doc fix.
4379
43802004-05-22 Kim F. Storm <storm@cua.dk>
4381
4382 * alloc.c (struct backtrace): Add debug_on_exit member.
4383 (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
4384 Identify those markers as Lisp_Misc_Free objects. Clear car and cdr of
4385 the removed cons cells.
4386 (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
4387 (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
4388 any cons cells pointing to unallocated stings.
4389 Do not lisp_free any marker blocks, as there may still be pointers
4390 to them from buffer undo lists at this stage of GC.
4391
4392 * keyboard.c (struct backtrace): Add debug_on_exit member.
4393 (Fcommand_execute): Clear it.
4394
43952004-05-20 Luc Teirlinck <teirllm@auburn.edu>
4396
4397 * intervals.c (lookup_char_property): Do not prematurely return nil.
4398
43992004-05-19 Jim Blandy <jimb@redhat.com>
4400
4401 Add support for new '\_<' and '\_>' regexp operators, matching the
4402 beginning and end of symbols.
4403
4404 * regex.c (enum syntaxcode): Add Ssymbol.
4405 (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
4406 (re_opcode_t): New opcodes `symbeg' and `symend'.
4407 (print_partial_compiled_pattern): Print the new opcodes properly.
4408 (regex_compile): Parse the new operators.
4409 (analyse_first): Skip sym(beg|end) (they match only the empty string).
4410 (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
4411 \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
4412 (re_match_2_internal): Match symbeg and symend.
4413
4414 * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
4415
44162004-05-19 Kim F. Storm <storm@cua.dk>
4417
4418 * .gdbinit (xsymbol): Fix last change.
4419
44202004-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
4421
4422 * .gdbinit (xprintstr): New fun.
4423 (xstring, xprintsym): Use it.
4424
4425 * w32proc.c (create_child): Use INTMASK.
4426
4427 * alloc.c (Fgarbage_collect): Do all the marking before flushing
4428 unmarked elements of the undo list.
4429
44302004-05-18 David Ponce <david@dponce.com>
4431
4432 * print.c (print): Reset print_depth before to call print_object.
4433
44342004-05-18 Jason Rumney <jasonr@gnu.org>
4435
4436 * w32console.c: Prefix RIF functions with w32con_ to avoid
4437 namespace clash with functions in term.c and w32term.c.
4438
4439 * w32menu.c (add_menu_item, w32_menu_display_help)
4440 [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
4441
4442 * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
4443
44442004-05-18 Eli Zaretskii <eliz@gnu.org>
4445
4446 * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
4447
4448 * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
4449 with make_number.
4450 (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
4451 with XINT.
4452
44532004-05-18 Kim F. Storm <storm@cua.dk>
4454
4455 * blockinput.h (INPUT_BLOCKED_P): New macros.
4456
4457 * keyboard.c (Frecursive_edit): Return immediately if input blocked.
4458 (Ftop_level): Unblock input if blocked.
4459
4460 * buffer.h (GET_OVERLAYS_AT): New macro.
4461 * msdos.c (IT_note_mouse_highlight): Use it.
4462 * textprop.c (get_char_property_and_overlay): Use it.
4463 * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
4464 * xfaces.c (face_at_buffer_position): Use it.
4465
4466 * print.c (print_object): Increase buf size.
4467
44682004-05-17 Jason Rumney <jasonr@gnu.org>
4469
4470 * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
4471 (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
4472 Lisp_Object using i member.
4473 (w32_quit_key): Rename from Vw32_quit_key, and make an int.
4474 (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
4475 consistently.
4476
4477 * w32proc.c (create_child): Use make_number instead of masking pid.
4478
4479 * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
4480 (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
4481 Use EQ to compare Lisp_Objects.
4482 (w32_parse_hot_key): Use int for lisp_modifiers consistently.
4483
4484 * w32term.c (w32_num_mouse_buttons): Rename from
4485 Vw32_num_mouse_buttons and make it an int.
4486
4487 * w32.c (init_environment): Use it.
4488
4489 * w32fns.c (w32_wnd_proc): Likewise.
4490
4491 * w32proc.c (w32_pipe_read_delay): Rename from
4492 Vw32_pipe_read_delay and make it an int.
4493
4494 * w32.c (_sys_read_ahead): Use it.
4495
4496 * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
4497
4498 * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
4499
4500 * w32inevt.c (w32_console_mouse_position, do_mouse_event)
4501 (key_event): Don't mix Lisp_Object and int.
4502
4503 * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
4504
4505 * keyboard.c (kbd_buffer_get_event): Don't use event->code and
4506 modifiers in language change event.
4507
45082004-05-17 Kim F. Storm <storm@cua.dk>
4509
4510 * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
4511 Such objects may be freed markers which still exist on an undo list.
4512
45132004-05-16 Juanma Barranquero <lektu@terra.es>
4514
4515 * data.c (Fset_default): Make argument names match their use in
4516 docstring.
4517
45182004-05-15 Andreas Schwab <schwab@suse.de>
4519
4520 * emacs.c (gdb_array_mark_flag): Define.
4521 * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
4522
45232004-05-15 Eli Zaretskii <eliz@gnu.org>
4524
4525 * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
4526 __attribute__((__aligned__)), so that USE_LSB_TAG would not become
4527 defined for the MS-DOS build.
4528
45292004-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
4530
4531 * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
4532
45332004-05-14 Kenichi Handa <handa@m17n.org>
4534
4535 * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
4536
45372004-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4538
4539 * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
4540 section to frame.c section.
4541 (Fxw_display_color_p, Fx_file_dialog): Declare if
4542 HAVE_WINDOW_SYSTEM defined.
4543
4544 * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
4545
4546 * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
4547
4548 * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
4549 (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
4550 (XTread_socket): Fix int/Lisp_Object mixup.
4551 (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
4552
4553 * macterm.h (struct frame, struct face, struct image)
4554 (display_x_get_resource, Fx_display_color_p)
4555 (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
4556 Add prototypes.
4557
45582004-05-14 Kim F. Storm <storm@cua.dk>
4559
4560 * process.c (wait_reading_process_input): Make reentrant.
4561 Make Available and Connecting non-static. Save and restore value
4562 of waiting_for_user_input_p.
4563
45642004-05-13 Kim F. Storm <storm@cua.dk>
4565
4566 * keyboard.c (mark_kboards): Don't mark x and y members
4567 that are overloaded in selection request events.
4568
45692004-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
4570
4571 * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
4572
45732004-05-13 Glenn Morris <gmorris@ast.cam.ac.uk>
4574
4575 * window.c (Fdisplay_buffer, Fsplit_window)
4576 (split-height-threshold): Doc fix.
4577
45782004-05-13 Juanma Barranquero <lektu@terra.es>
4579
4580 * xfaces.c (Ftty_supports_face_attributes_p)
4581 (Finternal_copy_lisp_face): Fix typo in docstring.
4582 (Finternal_get_lisp_face_attribute): Fix docstring.
4583
45842004-05-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4585
4586 * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
4587
45882004-05-11 Steven Tamm <steventamm@mac.com>
4589
4590 * macfns.c (Fx_create_frame): Default to using tool-bar by
4591 setting tool-bar-lines to 1 in default-frame-alist.
4592
45932004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4594
4595 * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
4596 (xpm_get_color_table_v, xpm_make_color_table_h)
4597 (xpm_put_color_table_h, xpm_get_color_table_h)
4598 (xpm_str_to_color_key, xpm_load_image, xpm_load)
4599 (syms_of_image): Support XPM on Carbon Emacs. Does not
4600 depend on libXpm, but only supports XPM version 3 without extensions.
4601
46022004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4603
4604 * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
4605 instead of FRAME_X_P
4606
46072004-05-11 Kim F. Storm <storm@cua.dk>
4608
4609 * process.c (read_process_output): Grow decoding_buf when needed;
4610 this could cause a crash in allocate_string and compact_small_strings.
4611
46122004-04-29 Jim Blandy <jimb@redhat.com>
4613
4614 * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
4615 against proper opcode.
4616
46172004-05-10 Juanma Barranquero <lektu@terra.es>
4618
4619 * process.c (Fstart_process): Fix docstring.
4620
4621 * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
4622 (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
4623 (Fsplit_char, Fchar_charset): Make argument names match their use
4624 in docstring.
4625
46262004-05-10 Richard M. Stallman <rms@gnu.org>
4627
4628 * print.c (print_preprocess): Use being_printed, loop_count and
4629 halftail to detect overdeep nesting and cyclic cdr chains.
4630
46312004-05-10 Andreas Schwab <schwab@suse.de>
4632
4633 * lisp.h (Fmake_symbolic_link): Declare.
4634
4635 * fileio.c (Frename_file): Remove extra argument in call to
4636 Fmake_symbolic_link.
4637
46382004-05-10 Kim F. Storm <storm@cua.dk>
4639
4640 * xdisp.c (calc_line_height_property): Use string position when
4641 object is a string.
4642
46432004-05-10 Kenichi Handa <handa@m17n.org>
4644
4645 * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
4646 inhibit-modification-hooks to t temporarily before calling
4647 Ferase_buffer.
4648
4649 * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
4650 inhibit-modification-hooks to t temporarily before calling
4651 Ferase_buffer.
4652
4653 * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
4654 inhibit-modification-hooks to t temporarily before calling
4655 Ferase_buffer.
4656
4657 * fns.c (count_combining): Delete it.
4658 (concat): Don't check combining bytes.
4659
46602004-05-09 Jason Rumney <jasonr@gnu.org>
4661
4662 * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
4663 (globals_of_w32fns): Set it.
4664
46652004-05-09 Piet van Oostrum <piet@cs.uu.nl>
4666
4667 * data.c (Fquo): Simplify.
4668
46692004-05-08 Peter Whaite <emacs@whaite.ca> (tiny change)
4670
4671 * data.c (Fquo): If any argument is float, do the computation in
4672 floating point.
4673
46742004-05-08 Juanma Barranquero <lektu@terra.es>
4675
4676 * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
4677 (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
4678 Fix spelling of Emacs on docstring.
4679 (Fset_process_coding_system, Fprocess_coding_system)
4680 (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
4681 Make argument names match their use in docstring.
4682 (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
4683 Fix docstring.
4684
4685 * editfns.c (Finsert_buffer_substring): Make argument names match their
4686 use in docstring.
4687
4688 * syntax.c (Fmodify_syntax_entry): Fix docstring.
4689
46902004-05-07 Steven Tamm <steventamm@mac.com>
4691
4692 * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
4693 around call to ReceiveEvent to avoid certain crashes.
4694
46952004-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4696
4697 * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
4698 (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
4699 (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
4700 Save/restore the current graphics port and device handle when
4701 drawing into an offscreen graphics world.
4702
4703 * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
4704 (gif_load): Likewise.
4705
47062004-05-07 Juanma Barranquero <lektu@terra.es>
4707
4708 * window.c (Fset_window_buffer): Fix docstring.
4709
47102004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
4711
4712 * emacs.c (main) [VMS]: Fix var ref.
4713
47142004-05-06 Romain Francoise <romain@orebokech.com>
4715
4716 * data.c (Fsetq_default): Fix docstring.
4717
47182004-05-06 Jason Rumney <jasonr@gnu.org>
4719
4720 * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
4721 to avoid name clash.
4722
47232004-05-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4724
4725 * fileio.c (barf_or_query_if_file_exists): Use lstat.
4726 (Frename_file): Handle renaming of symlinks across file systems.
4727 (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
4728
47292004-05-04 Kim F. Storm <storm@cua.dk>
4730
4731 * xdisp.c (Qtotal): New var.
4732 (syms_of_xdisp): Intern and staticpro it.
4733 (calc_line_height_property): New arg total. Set it if
4734 line-spacing property has format (total . VALUE).
4735 (x_produce_glyphs): Ignore line-spacing if line-height is 0.
4736 Handle total line-spacing property.
4737
47382004-05-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4739
4740 * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
4741 "under" scroll bar when size/position changes.
4742
47432004-05-03 Jason Rumney <jasonr@gnu.org>
4744
4745 * makefile.nt: Remove.
4746
47472004-05-02 Eli Zaretskii <eliz@gnu.org>
4748
4749 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
4750 Avoid compiler warnings.
4751
4752 * Makefile.in (region-cache.o): Depend on config.h.
4753
47542004-05-02 Romain Francoise <romain@orebokech.com>
4755
4756 * indent.c (compute_motion): Save vpos in prev_vpos when dealing
4757 with continuation lines, too.
4758
47592004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
4760
4761 * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
4762
47632004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
4764
4765 * xdisp.c (calc_line_height_property): YAILOM (yet another
4766 int/Lisp_Object mixup).
4767
47682004-05-01 Eli Zaretskii <eliz@gnu.org>
4769
4770 * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
4771 undo bad effect of pack(4) in some versions of system headers.
4772
47732004-05-01 Jason Rumney <jasonr@gnu.org>
4774
4775 * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
4776
47772004-04-30 Kim F. Storm <storm@cua.dk>
4778
4779 * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
4780 (syms_of_buffer) <cursor-type>: Doc fix.
4781
4782 * dispextern.h (struct it): Remove member use_default_face.
4783 Add members override_ascent, override_descent, override_boff.
4784
4785 * xdisp.c (init_iterator): Handle line-spacing float value.
4786 Initialize override_ascent member.
4787 (append_space_for_newline): Reset override_ascent.
4788 Remove use_default_face.
4789 (calc_line_height_property): New function to calculate value of
4790 line-height and line-spacing properties. Look at overlays, too.
4791 Set override_ascent, override_descent, override_boff members when
4792 using another face than the current face. Float values are now
4793 relative to the frame default font, by default; accept a cons
4794 of ratio and face name to specify value relative to a specific face.
4795 (x_produce_glyphs): Use calc_line_height_property.
4796 Use override_ascent etc. when set to handle different face heights.
4797 A negative line-spacing property value is interpreted as a total
4798 line height, rather than inter-line spacing.
4799 (note_mouse_highlight): Allocate room for 40 overlays initially.
4800
48012004-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
4802
4803 * data.c (Fsubr_name): New fun.
4804 (syms_of_data): Defsubr it.
4805
48062004-04-29 Kim F. Storm <storm@cua.dk>
4807
4808 * xdisp.c (null_glyph_slice): New var.
4809 (append_glyph, append_composite_glyph, append_stretch_glyph):
4810 Use it to initialize glyph slice.
4811
48122004-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
4813
4814 * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
4815 (on_hot_spot_p): Make sure we always return a value.
4816 (Flookup_image_map): Remove unused var ix and iy.
4817 (note_mode_line_or_margin_highlight): Remove unused var `image'.
4818
48192004-04-27 Eli Zaretskii <eliz@gnu.org>
4820
4821 * msdos.c (init_environment): If one of the TMP... environment
4822 variables is set to a drive letter without a trailing slash,
4823 append a slash.
4824
48252004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
4826
4827 * editfns.c (lisp_time_argument): Provide externally.
4828
4829 * fileio.c (Fset_file_times): New function.
4830 (syms_of_fileio): Intern and staticpro it.
4831
48322004-04-27 Kim F. Storm <storm@cua.dk>
4833
4834 * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
4835 header line strings.
4836
4837 * dispextern.h (struct it): New member use_default_face.
4838
4839 * xdisp.c (Qline_height): New variable.
4840 (syms_of_xdisp): Intern and staticpro it.
4841 (append_space_for_newline): Partially undo 2004-04-25 change;
4842 add default_face_p arg, and restore callers.
4843 Clear it->use_default_face after use.
4844 (x_produce_glyphs): Set default font for ascii char if
4845 it->use_default_font is set. Change line-spacing property to set
4846 just extra line spacing. Handle new line-height property.
4847
48482004-04-26 Andreas Schwab <schwab@suse.de>
4849
4850 * print.c (print_object): Print non-ascii characters in bool
4851 vector representation as octal escapes.
4852
4853 * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
4854 * print.c (print_object): Use it instead of BITS_PER_CHAR for
4855 bool vectors.
4856 * lread.c (read1): Likewise.
4857 * alloc.c (Fmake_bool_vector): Likewise.
4858 * data.c (Faref, Faset): Likewise.
4859 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
4860 (mapcar1): Likewise.
4861
48622004-04-26 Steven Tamm <tamm@Steven-Tamms-Computer.local>
4863
4864 * lread.c (init_lread): Fixing typo HAVE_CARBON test logic
4865
48662004-04-26 Miles Bader <miles@gnu.org>
4867
4868 * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
4869
48702004-04-26 Juanma Barranquero <lektu@terra.es>
4871
4872 * buffer.c (Fpop_to_buffer): Fix docstring.
4873
48742004-04-26 Steven Tamm <steventamm@mac.com>
4875
4876 * lread.c (init_lread): Don't display missing lisp directory
4877 warnings with Carbon Emacs because self-contained bundled Emacs
4878 may be built without correct installation path.
4879
48802004-04-25 Kim F. Storm <storm@cua.dk>
4881
4882 * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
4883
4884 * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
4885
4886 * xdisp.c (append_space_for_newline): Rename from append_space.
4887 Remove DEFAULT_FACE_P arg; always use current face. Callers changed.
4888 (x_produce_glyphs): Handle line-spacing property on newline char.
4889 If value is t, adjust ascent and descent to fit current row height.
4890 If value is an integer or float, set extra_line_spacing to integer
4891 value, or to float value x current line height.
4892
48932004-04-23 Kenichi Handa <handa@m17n.org>
4894
4895 * fontset.c (Finternal_char_font): If POSITION is nil, return
4896 font for displaying CH with the default face.
4897
48982004-04-23 Juanma Barranquero <lektu@terra.es>
4899
4900 * makefile.w32-in: Add "-*- makefile -*-" mode tag.
4901
49022004-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
4903
4904 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
4905 Don't make assumptions about the relative place of i and val.
4906 (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
4907
49082004-04-21 Kim F. Storm <storm@cua.dk>
4909
4910 * dispextern.h (struct glyph_slice): New struct.
4911 (struct glyph): New member slice.
4912 (GLYPH_SLICE_EQUAL_P): New macro.
4913 (GLYPH_EQUAL_P): Use it.
4914 (struct glyph_string): New member slice.
4915 (struct it_slice): New struct.
4916 (struct it): New member slice, add member to stack too.
4917 New member constrain_row_ascent_descent_p.
4918 (image_ascent): Add prototype.
4919
4920 * dispnew.c (buffer_posn_from_coords): Return full image width
4921 and height even for image slices (posn is relative to full image).
4922 (marginal_area_string): Adjust x0,y0 for image slice.
4923
4924 * image.c (image_ascent): Add slice arg; calculate ascent for
4925 image slice (or full image).
4926
4927 * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
4928 (syms_of_keyboard): Defsubr them.
4929
4930 * lisp.h (pos_visible_p): Fix prototype.
4931
4932 * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
4933 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
4934 (x_draw_image_foreground, x_draw_image_relief)
4935 (x_draw_image_foreground_1, x_draw_image_glyph_string):
4936 Draw sliced images.
4937
4938 * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
4939 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
4940 (x_draw_image_foreground, x_draw_image_relief)
4941 (w32_draw_image_foreground_1, x_draw_image_glyph_string):
4942 Draw sliced images.
4943
4944 * w32term.h (image_ascent): Remove prototype.
4945
4946 * window.c (Fpos_visible_in_window_p): Return pixel position if
4947 PARTIALLY arg is non-nil. Simplify. Doc fix.
4948 (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
4949 to return/set vscroll in pixels.
4950
4951 * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
4952
4953 * xdisp.c (Qslice): New variable.
4954 (syms_of_xdisp): Intern and staticpro it.
4955 (pos_visible_p): Return pixel position in new x and y args.
4956 (init_iterator): Reset it->slice info.
4957 (handle_display_prop): Parse (slice ...) property.
4958 (push_it, pop_it): Save/restore slice info.
4959 (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
4960 force repositioning of tall row if window is vscrolled, as that
4961 would reset vscroll.
4962 (append_space): Set it->constrain_row_ascent_descent_p to avoid
4963 increasing row height if row is non-empty.
4964 (fill_image_glyph_string): Copy slice info.
4965 (take_vertical_position_into_account): Simplify.
4966 (produce_image_glyph): Handle iterator slice info, setup glyph
4967 slice info. Do not force minimum line height.
4968 (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
4969 do not increase height (ascent/descent) of non-empty row when
4970 adding normal character glyph; instead reduce glyph ascent/descent
4971 appropriately; if row is higher than current glyph, adjust glyph
4972 descent/ascent to reposition glyph within the existing row.
4973 Likewise, when char is newline, only set ascent/descent if row is
4974 currently empty.
4975 (note_mouse_highlight): Handle hotspots with sliced image.
4976
4977 * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
4978 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
4979 (x_draw_image_foreground, x_draw_image_relief)
4980 (x_draw_image_foreground_1, x_draw_image_glyph_string):
4981 Draw sliced images.
4982
4983 * xterm.h (image_ascent): Remove prototype.
4984
49852004-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
4986
4987 * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
4988
49892004-04-20 John Paul Wallington <jpw@gnu.org>
4990
4991 * fns.c (Fassoc, Feql): Fix indentation.
4992
4993 * fontset.c (regularize_fontname): Rename from regulalize_fontname.
4994
49952004-04-19 John Paul Wallington <jpw@gnu.org>
4996
4997 * fns.c (Feql): New function.
4998 (syms_of_fns): Defsubr it.
4999
50002004-04-18 Jason Rumney <jasonr@gnu.org>
5001
5002 * w32select.c (Fw32_set_clipboard_data): Get sequence number
5003 after closing the clipboard.
5004
50052004-04-16 Luc Teirlinck <teirllm@auburn.edu>
5006
5007 * buffer.c (Fbuffer_base_buffer): Doc fix.
5008
50092004-04-17 Kim F. Storm <storm@cua.dk>
5010
5011 * keymap.c (Fkey_description): Add optional PREFIX arg.
5012 Combine prefix with KEYS to make up the full key sequence to describe.
5013 Correlate meta_prefix_char and following (simple) key to describe
5014 as meta modifier. All callers changed.
5015 (describe_map): Rename arg `keys' to `prefix'. Remove local
5016 `elt_prefix' var. Use Fkey_description with prefix instead of
5017 elt_prefix combined with Fsingle_key_description.
5018 (describe_vector): Declare static. Replace arg `elt_prefix' with
5019 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
5020 if !KEYMAP_P. Use Fkey_description with prefix instead of
5021 Fsingle_key_description.
5022
5023 * keymap.h (Fkey_description): Fix prototype.
5024 (describe_vector): Remove prototype.
5025
5026 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
5027
5028 * image.c (PNG_BG_COLOR_SHIFT): Remove.
5029 (png_load): Fix calculation of transparent background color on X
5030 and W32 platforms.
5031
50322004-04-16 Juanma Barranquero <lektu@terra.es>
5033
5034 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
5035 not too large before computing how much to scroll.
5036
50372004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
5038
5039 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
5040
50412004-04-14 Luc Teirlinck <teirllm@auburn.edu>
5042
5043 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
5044 Add hyperlink to Elisp manual to the docstring.
5045
50462004-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
5047
5048 * callint.c (fix_command): Use XDCR.
5049
50502004-04-14 Nick Roberts <nick@nick.uklinux.net>
5051
5052 * window.c (Fget_lru_window): Doc fix.
5053
50542004-04-14 Kim F. Storm <storm@cua.dk>
5055
5056 * editfns.c (Fformat): Fix allocation size of precision array.
5057
5058 * dispnew.c (update_window): Only set changed_p if
5059 scrolling_window actually did scroll.
5060 (scrolling_window): Only return 1 if we actually did scroll.
5061
5062 * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
5063 height to glyph height when cursor row is not fully visible.
5064 (make_cursor_line_fully_visible): Add FORCE_P arg to return
5065 failure in case row is higher than window. Callers changed.
5066 (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
5067 Try to scroll partially visible, higher-than-window cursor row.
5068 (redisplay_window): Always try to scroll partially visible,
5069 higher-than-window cursor row - both initially and again with
5070 centering_position = 0.
5071 Clear desired matrix before retrying with centering_position = 0.
5072
50732004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
5074
5075 * syntax.c (scan_lists): Simplify backward string scan.
5076 Fix off-by-one boundary check for string and comment fences.
5077
50782004-04-13 Joe Buehler <jbuehler@hekimian.com>
5079
5080 * sheap.c, unexcw.c: New files.
5081
50822004-04-12 Luc Teirlinck <teirllm@auburn.edu>
5083
5084 * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
5085 base buffer has been killed. Correct the error message if the
5086 base buffer does not exist.
5087
50882004-04-12 Joe Buehler <jbuehler@hekimian.com>
5089
5090 * s/cygwin.h: Changes for Cygwin unexec() support, changes in
5091 Cygwin itself. Add support for Xaw3d scrollbars.
5092
5093 * puresize.h: Set up PURE_P() for Cygwin unexec() support.
5094
5095 * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
5096
5097 * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
5098 before Cygwin unexec.
5099
5100 * Makefile.in: Link changes for Cygwin unexec() support.
5101
51022004-04-12 Andreas Schwab <schwab@suse.de>
5103
5104 * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
5105
51062004-04-11 Luc Teirlinck <teirllm@auburn.edu>
5107
5108 * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
5109 IGNORE argument equals NAME. Doc fix.
5110
51112004-04-11 Masatake YAMATO <jet@gyve.org>
5112
5113 * buffer.c (fix_start_end_in_overlays): Make overlays
5114 empty if they are backwards.
5115
51162004-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
5117
5118 * xfaces.c (face_color_supported_p): Fix compilation without X11.
5119
51202004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
5121
5122 * doc.c (Fsnarf_documentation): Ignore new file name entries.
5123
51242004-04-06 Kim F. Storm <storm@cua.dk>
5125
5126 * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
5127 (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
5128
5129 * w32term.c (w32_read_socket): Set mouse_face_hidden after
5130 clearing highlight.
5131
5132 * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
5133
5134 * xterm.c (handle_one_xevent): Set mouse_face_hidden after
5135 clearing highlight.
5136
5137 * indent.c (vmotion): Do not reserve one column for continuation
5138 marks on window frames.
5139
51402004-04-04 Eli Zaretskii <eliz@gnu.org>
5141
5142 * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
5143 from GCC.
5144
51452004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
5146
5147 * .gdbinit-union: Remove.
5148
5149 * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
5150 (xgetptr, xgetint, xgettype): New funs. Use them everywhere.
5151 ($nonvalbits): Remove.
5152 ($valmask): Set it by calling xreload to avoid redundancy.
5153
5154 * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
5155 (gdb_emacs_intbits): Remove.
5156
51572004-03-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5158
5159 * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
5160
51612004-03-30 Kenichi Handa <handa@m17n.org>
5162
5163 * editfns.c (Fformat): Fix initialization of the array info.
5164
51652004-03-30 Kim F. Storm <storm@cua.dk>
5166
5167 * xterm.c (x_mouse_click_focus_ignore_position): New var.
5168 (syms_of_xterm): DEFVAR_BOOL it.
5169 (ignore_next_mouse_click_timeout): New var.
5170 (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
5171 Use it to filter mouse clicks following focus event.
5172
51732004-03-29 David Ponce <david@dponce.com>
5174
5175 * callint.c (Fcall_interactively): Fix last change.
5176
51772004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
5178
5179 * eval.c (Fcommandp): Simplify.
5180
5181 * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
5182 Extend to handle all kinds of functions.
5183
5184 * lisp.h (Finteractive_form): Declare.
5185
5186 * callint.c (Fcall_interactively): Use it.
5187
51882004-03-26 Kim F. Storm <storm@cua.dk>
5189
5190 * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
5191 to catch errors in calc_pixel_width_or_height during redisplay.
5192
51932004-03-26 Masatake YAMATO <jet@gyve.org>
5194
5195 * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
5196
5197 * lisp.h (fix_start_end_in_overlays): Likewise.
5198
5199 * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
5200
5201 * editfns.c (Ftranspose_regions): Likewise.
5202
52032004-03-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5204
5205 * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
5206
52072004-03-19 Richard M. Stallman <rms@gnu.org>
5208
5209 * s/sol2-6.h: Delete previous change.
5210
52112004-03-19 Kim F. Storm <storm@cua.dk>
5212
5213 * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
5214 to_charpos corresponds to newline in right fringe. Use local
5215 BUFFER_POS_REACHED_P macro.
5216
52172004-03-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5218
5219 * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
5220 to compile on non-window system.
5221
52222004-03-19 Kim F. Storm <storm@cua.dk>
5223
5224 * dispextern.h (calc_pixel_width_or_height): Add prototype.
5225
5226 * image.c (Qcenter): Move to xdisp.c.
5227
5228 * xdisp.c (Qcenter): Declare here.
5229 (syms_of_xdisp): Intern and staticpro it.
5230 (handle_single_display_prop): Allow space display property on all
5231 platforms.
5232 (display_mode_line): Set mode_line_p before displaying line.
5233 (calc_pixel_width_or_height): Declare extern. Add separate :align-to
5234 handling. Remove complex cases for fringes and scroll-bars.
5235 Add left, right, and center alignment positions. Add text (area)
5236 width/height. Return width or height for image specs.
5237 (produce_stretch_glyph): Improve handling of :align-to. Is now
5238 relative to left of text area by default, but other base offsets
5239 can be specified -- also for text lines.
5240
5241 * term.c (produce_glyphs): Handle IT_STRETCH.
5242 (produce_stretch_glyph): New function to handle space width and
5243 align-to display properties on non-window systems.
5244
52452004-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
5246
5247 * fileio.c (Fread_file_name): Set completion-ignore-case for
5248 case-insensitive systems.
5249
52502004-03-14 Masatake YAMATO <jet@gyve.org>
5251
5252 * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
5253 when keymap and cursor are setup.
5254
52552004-03-14 Steven Tamm <steventamm@mac.com>
5256
5257 * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
5258
52592004-03-14 Kim F. Storm <storm@cua.dk>
5260
5261 * dispextern.h (x_find_image_file): Add prototype.
5262
5263 * image.c (x_find_image_file): Make extern.
5264
5265 * xfns.c (x_find_image_file): Remove prototype.
5266
52672004-03-13 Eli Zaretskii <eliz@gnu.org>
5268
5269 * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
5270
5271 * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
5272
52732004-03-12 Richard M. Stallman <rms@gnu.org>
5274
5275 * fns.c (internal_equal): New arg PROPS controls comparing
5276 text properties. All callers changed.
5277 (Fequal_including_properties): New function.
5278 (syms_of_fns): defsubr it.
5279
52802004-03-12 Kim F. Storm <storm@cua.dk>
5281
5282 Fix image support on MAC. From YAMAMOTO Mitsuharu.
5283
5284 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
5285 (image_background, image_background_transparent): Fix prototypes.
5286
5287 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
5288
5289 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
5290 (x_query_font, x_find_ccl_program, x_set_window_size)
5291 (x_make_frame_visible, mac_initialize, XCreatePixmap)
5292 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
5293 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
5294
5295 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
5296 (x_query_font, x_find_ccl_program, x_set_window_size)
5297 (x_make_frame_visible, mac_initialize, XCreatePixmap)
5298 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
5299 (mac_draw_line_to_pixmap): Add prototypes.
5300
53012004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5302
5303 * macterm.c (XTread_socket): Fix mouse click on tool bar.
5304
53052004-03-11 Kim F. Storm <storm@cua.dk>
5306
5307 * dispextern.h: Move image related prototypes from xfns.c section
5308 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
5309 HAVE_X_WINDOWS.
5310
5311 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
5312 Move gtkutil.o to new GTK_OBJ list.
5313 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
5314 (GTK_OBJ) [USE_GTK]: New declaration.
5315 (obj): Add $(GTK_OBJ) to list.
5316
53172004-03-11 Steven Tamm <steventamm@mac.com>
5318
5319 * image.c [MAC_OSX]: Include sys/stat.h
5320
5321 * macfns.c (syms_of_macfns): Remove definitions of things now
5322 defined in image.c
5323
53242004-03-11 Kim F. Storm <storm@cua.dk>
5325
5326 The following changes consolidates the identical/similar image
5327 support code previously found in xfns.c, w32fns.c, and macfns.c
5328 into a new file image.c.
5329
5330 * makefile.w32-in (OBJ1): Add image.o.
5331 ($(BLD)/image.$(O)): Add dependencies.
5332
5333 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
5334 (image.o): Add dependencies.
5335
5336 * image.c: New file with consolidated image support code.
5337 (COLOR_TABLE_SUPPORT): New define to control whether
5338 color table support is available (X only).
5339 (Bitmap_Record): Common name for x_bitmap_record,
5340 w32_bitmap_record, and mac_bitmap_record.
5341 (XImagePtr): Common name for pointer to XImage or equivalent.
5342 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
5343 to XImagePtr on X+MAC, and to HDC on W32.
5344 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
5345 (NO_PIXMAP): Common name for "None" or equivalent.
5346 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
5347 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
5348 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
5349 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
5350 Define with suitable equivalents on W32 and MAC for code sharing.
5351 (XDrawLine): Define on MAC for code sharing.
5352 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
5353 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
5354 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5355 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5356 (x_reference_bitmap, x_create_bitmap_from_data)
5357 (x_create_bitmap_from_file, x_destroy_bitmap)
5358 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5359 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5360 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5361 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5362 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5363 (define_image_type, lookup_image_type, valid_image_p)
5364 (image_error, enum image_value_type, struct image_keyword)
5365 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5366 (make_image, free_image, prepare_image_for_display, image_ascent)
5367 (four_corners_best, image_background, image_background_transparent)
5368 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5369 (make_image_cache, free_image_cache, clear_image_cache)
5370 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5371 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5372 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5373 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
5374 (init_image_func_pointer, image_load_quartz2d)
5375 (struct ct_color, init_color_table, free_color_table)
5376 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5377 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5378 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5379 (x_disable_image, x_build_heuristic_mask)
5380 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5381 (TIFF support, GIF support, Ghostscript support): Consolidate image
5382 code from xfns.c, w32fns.c, and macfns.c.
5383 (syms_of_image): Consolidate image related symbol setup here.
5384 (init_image): Consolidate image related initializations here.
5385
5386 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
5387 and init_image. Remove call to init_xfns.
5388
5389 * macterm.h (struct mac_bitmap_record): Add file member.
5390 Not currently used, but simplifies code sharing.
5391
5392 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5393 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5394 (x_reference_bitmap, x_create_bitmap_from_data)
5395 (x_create_bitmap_from_file, x_destroy_bitmap)
5396 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5397 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5398 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5399 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5400 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5401 (define_image_type, lookup_image_type, valid_image_p)
5402 (image_error, enum image_value_type, struct image_keyword)
5403 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5404 (make_image, free_image, prepare_image_for_display, image_ascent)
5405 (four_corners_best, image_background, image_background_transparent)
5406 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5407 (make_image_cache, free_image_cache, clear_image_cache)
5408 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5409 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5410 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5411 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
5412 (init_image_func_pointer, image_load_quartz2d)
5413 (struct ct_color, init_color_table, free_color_table)
5414 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5415 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5416 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5417 (x_disable_image, x_build_heuristic_mask)
5418 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5419 (TIFF support, GIF support, Ghostscript support): Merge with image
5420 code from xfns.c and macfns.c into image.c.
5421 (syms_of_xfns): Move image related symbols to image.c.
5422 (init_external_image_libraries, init_xfns): Remove; initialization
5423 moved to init_image in image.c.
5424
5425 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5426 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5427 (x_reference_bitmap, x_create_bitmap_from_data)
5428 (x_create_bitmap_from_file, x_destroy_bitmap)
5429 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5430 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5431 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5432 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5433 (define_image_type, lookup_image_type, valid_image_p)
5434 (image_error, enum image_value_type, struct image_keyword)
5435 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5436 (make_image, free_image, prepare_image_for_display, image_ascent)
5437 (four_corners_best, image_background, image_background_transparent)
5438 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5439 (make_image_cache, free_image_cache, clear_image_cache)
5440 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5441 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5442 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5443 (struct ct_color, init_color_table, free_color_table)
5444 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5445 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5446 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5447 (x_disable_image, x_build_heuristic_mask)
5448 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5449 (TIFF support, GIF support, Ghostscript support): Merge with image
5450 code from xfns.c and macfns.c into image.c.
5451 (syms_of_xfns): Move image related symbols to image.c.
5452 (init_external_image_libraries, init_xfns): Remove; initialization
5453 moved to init_image in image.c.
5454
5455 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5456 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5457 (x_reference_bitmap, x_create_bitmap_from_data)
5458 (x_create_bitmap_from_file, x_destroy_bitmap)
5459 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5460 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5461 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5462 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5463 (define_image_type, lookup_image_type, valid_image_p)
5464 (image_error, enum image_value_type, struct image_keyword)
5465 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5466 (make_image, free_image, prepare_image_for_display, image_ascent)
5467 (four_corners_best, image_background, image_background_transparent)
5468 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5469 (make_image_cache, free_image_cache, clear_image_cache)
5470 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5471 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5472 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5473 (struct ct_color, init_color_table, free_color_table)
5474 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5475 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5476 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5477 (x_disable_image, x_build_heuristic_mask)
5478 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5479 (TIFF support, GIF support, Ghostscript support): Merge with
5480 w32fns.c and macfns.c image code into image.c.
5481 (syms_of_xfns): Move image related symbols to image.c.
5482 (init_xfns): Remove; initialization moved to init_image in image.c.
5483
5484 * lisp.h (syms_of_image, init_image): Add protoypes.
5485 (init_xfns): Remove prototype.
5486
5487 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5488 (x_reference_bitmap, x_create_bitmap_from_data)
5489 (x_create_bitmap_from_file, x_destroy_bitmap)
5490 (x_create_bitmap_mask): Move prototypes from dispextern.h.
5491 (gamma_correct) [MAC_OS]: Add prototype.
5492
5493 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5494 (x_reference_bitmap, x_create_bitmap_from_data)
5495 (x_create_bitmap_from_file, x_destroy_bitmap)
5496 (x_create_bitmap_mask): Move prototypes to dispextern.h.
5497
54982004-03-09 Kenichi Handa <handa@etlken2>
5499
5500 * coding.c (decode_coding_emacs_mule): Handle insufficent source
5501 correctly.
5502
55032004-03-04 Richard M. Stallman <rms@gnu.org>
5504
5505 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
5506
5507 * window.c (Fdisplay_buffer): Doc fix.
5508
5509 * buffer.c (Fpop_to_buffer): Doc fix.
5510
55112004-03-03 Kim F. Storm <storm@cua.dk>
5512
5513 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
5514
55152004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
5516
5517 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
5518
55192004-03-02 Richard M. Stallman <rms@gnu.org>
5520
5521 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
5522
55232004-03-02 Kenichi Handa <handa@m17n.org>
5524
5525 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
5526
55272004-03-02 Kim F. Storm <storm@cua.dk>
5528
5529 * window.h (struct window): New member overlay_arrow_bitmap.
5530
5531 * window.c (make_window): Initialize overlay_arrow_bitmap.
5532
5533 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
5534 implement and integrate multiple overlay arrows with redisplay.
5535 (syms_of_xdisp): DEFVAR_LISP and initialize it.
5536 (last_arrow_position, last_arrow_string): Replace by properties.
5537 (Qlast_arrow_position, Qlast_arrow_string)
5538 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
5539 (syms_of_xdisp): Intern and staticpro them.
5540 (overlay_arrow_string_or_property, update_overlay_arrows)
5541 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
5542 (overlay_arrow_at_row): New functions for multiple overlay arrows.
5543 (redisplay_internal): Use them instead of directly accessing
5544 Voverlay_arrow_position etc. for multiple overlay arrows.
5545 (mark_window_display_accurate): Use update_overlay_arrows.
5546 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
5547 (try_window_id): Use overlay_arrows_changed_p.
5548 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
5549 (display_line): Use overlay_arrow_at_row to check multiple
5550 overlay arrows, and get relevant overlay-arrow-string and
5551 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
5552 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
5553 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
5554
5555 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
5556 (update_window_fringes): Remove unused code.
5557
55582004-03-01 Jason Rumney <jasonr@gnu.org>
5559
5560 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
5561
55622004-03-01 Juanma Barranquero <lektu@terra.es>
5563
5564 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
5565
5566 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
5567
55682004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5569
5570 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
5571 how many colors can be displayed.
5572
55732004-03-01 Kenichi Handa <handa@m17n.org>
5574
5575 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
5576 correctly.
5577
55782004-02-28 Kim F. Storm <storm@cua.dk>
5579
5580 * dispnew.c (update_window): Update header line also if there are
5581 no other changes in window (move code after set_cursor label).
5582
5583 * lisp.h (mark_window_display_accurate): Remove prototype.
5584
5585 * window.c (window_loop, Fforce_window_update): Force mode line
5586 updates by setting prevent_redisplay_optimizations_p and
5587 update_mode_lines.
5588
55892004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5590
5591 * xfns.c (x_window): Fix indentation.
5592
5593 * xterm.c (x_calc_absolute_position): Call x_real_positions
5594 to get WM window sizes and use those to calculate position.
5595 (x_set_offset): Remove code commented out.
5596
55972004-02-28 Miles Bader <miles@gnu.org>
5598
5599 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
5600
56012004-02-28 Kim F. Storm <storm@cua.dk>
5602
5603 * keyboard.c (kbd_buffer_store_event_hold): New function to store
5604 an event into kbd fifo, but with special handling of quit event;
5605 a quit event is saved for later, and further events are discarded
5606 until the saved quit event has been processed.
5607 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
5608 (gen_help_event): Store help event in kbd fifo.
5609 (NREAD_INPUT_EVENTS): Remove.
5610 (read_avail_input): Adapt to new read_socket_hook interface.
5611 Remove allocation and initialization of local input_event buffer,
5612 as read_socket_hook stores events directly in fifo. Allocate and
5613 initialize local hold_quit event to handle postponed quit event
5614 (and store it if set by kbd_buffer_store_event_hold).
5615
5616 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
5617 (gen_help_event): Fix prototype.
5618
5619 * macterm.c (XTread_socket): Remove bufp_r and
5620 numcharsp args. Add hold_quit arg.
5621 Rework to use just one, local, inev input_event. Store inev
5622 directly in fifo using kbd_buffer_store_event_hold.
5623
5624 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
5625 (read_input_waiting): Adapt to new read_socket_hook interface.
5626 Remove allocation and initialization of local input_event buffer,
5627 as read_socket_hook stores events directly in fifo. Allocate and
5628 initialize local hold_quit event to handle postponed quit event
5629 (and store it if set by kbd_buffer_store_event_hold).
5630
5631 * term.c (read_socket_hook): Fix arg list.
5632
5633 * termhooks.h (read_socket_hook): Fix prototype.
5634
5635 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
5636 numcharsp args. Add hold_quit arg.
5637 Rework to use just one, local, inev input_event. Store inev
5638 directly in fifo using kbd_buffer_store_event_hold.
5639
5640 * w32inevt.h (w32_console_mouse_position): Fix prototype.
5641
5642 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
5643 Add hold_quit arg. Rework to use just one, local, inev
5644 input_event. Store inev directly in fifo using
5645 kbd_buffer_store_event_hold. Update count in one place.
5646 Postpone call to gen_help_event until inev is stored; use new
5647 local do_help for this.
5648 Remove local emacs_event in handing of ButtonPress event; just use
5649 inev instead (so no reason to copy it later).
5650
5651 * xsmfns.c (x_session_check_input): Remove numchars arg.
5652
5653 * xterm.c (x_focus_changed, x_detect_focus_change):
5654 Remove numchars arg. Always store event into bufp arg.
5655 Return nothing. Callers changed accordingly.
5656 (glyph_rect): Simplify.
5657 (STORE_KEYSYM_FOR_DEBUG): New macro.
5658 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
5659 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
5660 (current_hold_quit) [USE_GTK]: Add.
5661 (event_handler_gdk): Adapt to new handle_one_xevent.
5662 (handle_one_xevent): Remove bufp_r and numcharsp args.
5663 Add hold_quit arg. Rework to use just one, local, inev
5664 input_event. Store inev directly in fifo using
5665 kbd_buffer_store_event_hold. Update count in one place.
5666 Postpone call to gen_help_event until inev is stored; use new
5667 local do_help for this.
5668 Simplify handling of keysyms (consolidate common code). Fix bug
5669 where count was updated with nchars instead of nbytes.
5670 Remove local emacs_event in handing of ButtonPress event; just use
5671 inev instead (so no reason to copy it later).
5672 Remove `out' label. Rename label `ret' to `done'; add various
5673 `goto done' to clarify code flow in deeply nested blocks.
5674 (x_dispatch_event): Simplify as handle_one_xevent now calls
5675 kbd_buffer_store_event itself.
5676 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
5677 arg. Call handle_one_xevent with new arglist. Store event from
5678 x_session_check_input in fifo.
5679 [USE_GTK]: Setup current_hold_quit.
5680 Decrement handling_signal before unblocking input.
5681 (x_initialize) [USE_GTK]: Initialize current_count.
5682
5683 * xterm.h (x_session_check_input): Fix prototype.
5684
56852004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5686
5687 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
5688
5689 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
5690 macgui.h).
5691
5692 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
5693
5694 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
5695 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
5696 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
5697 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
5698 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
5699 (Bitmap): Remove typedef.
5700 (Pixmap): Change int to GWorldPtr.
5701
5702 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5703
5704 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5705 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
5706 New #define to extract 16-bit depth color components from unsigned
5707 long representation.
5708 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
5709 colors used for masks.
5710 (struct mac_display_info): Add color_p. Remove n_cbits.
5711
5712 * macfns.c: Include sys/types.h and sys/stat.h.
5713 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
5714 Include QuickTime/QuickTime.h.
5715 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5716 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
5717 functions defined in macterm.c.
5718 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
5719 (ZPixmap): New #define for compatibility with xfns.c.
5720 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5721 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
5722 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
5723 New functions.
5724 (four_corners_best, x_create_x_image_and_pixmap)
5725 (x_destroy_x_image, unwind_create_frame, x_disable_image)
5726 (x_edge_detection, init_color_table, colors_in_color_table)
5727 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
5728 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
5729 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
5730 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
5731 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
5732 long mixup.
5733 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
5734 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
5735 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
5736 (x_set_cursor_type, Fxw_color_values, valid_image_p)
5737 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
5738 (x_alloc_image_color, clear_image_cache, lookup_image)
5739 (x_find_image_file, xbm_read_bitmap_file_data)
5740 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
5741 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
5742 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
5743 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
5744 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
5745 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
5746 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
5747 #if 0.
5748 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
5749 #if 0. Free white_relief.gc and black_relief.gc.
5750 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
5751 New functions (from xfns.c).
5752 (Fx_create_frame): Record unwind_create_frame.
5753 (Fxw_display_color_p): Use dpyinfo->color_p.
5754 (Fx_display_grayscale_p, Fx_display_planes): Don't use
5755 dpyinfo->n_cbits.
5756 (Fx_display_color_cells): Use dpyinfo->n_planes;
5757 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
5758 (Qheuristic, cross_disabled_images, emboss_matrix)
5759 (laplace_matrix): New variables (from xfns.c).
5760 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
5761 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
5762 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
5763 (image_background_transparent): New function (from xfns.c).
5764 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5765 (image_load_quicktime): Add declaration.
5766 [MAC_OSX] (image_load_quartz2d): Likewise.
5767 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
5768 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
5769 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
5770 (xbm_load_image_from_file, x_laplace_read_row)
5771 (x_laplace_write_row, pbm_read_file): Remove functions.
5772 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
5773 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
5774 (colors_in_color_table): Sync with xfns.c (although not used).
5775 (lookup_rgb_color): Don't lookup color table. Just do gamma
5776 correction.
5777 (COLOR_INTENSITY): New #define (from xfns.c).
5778 (x_disable_image): New function (from xfns.c).
5779 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5780 (x_build_heuristic_mask): Sync with xfns.c.
5781 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5782 (HAVE_PBM): Remove #ifdef.
5783 (pbm_load): Sync with xfns.c. Set img->width and img->height
5784 before IMAGE_BACKGROUND.
5785 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
5786 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
5787 Don't enclose with #if HAVE_PNG.
5788 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
5789 symbol _CGImageCreateWithPNGDataProvider is defined.
5790 Otherwise use image_load_quicktime.
5791 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
5792 [HAVE_PNG] (png_load): Sync with xfns.c.
5793 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5794 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
5795 HAVE_JPEG.
5796 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
5797 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
5798 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
5799 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
5800 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
5801 (tiff_image_p, tiff_load): Don't enclose declarations with #if
5802 HAVE_TIFF.
5803 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
5804 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
5805 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
5806 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
5807 New functions (from xfns.c).
5808 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
5809 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
5810 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
5811 Don't enclose with #if HAVE_GIF.
5812 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
5813 animated gif. Otherwise use image_load_quicktime.
5814 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
5815 gif_DrawText to avoid conflict with QuickdrawText.h.
5816 [HAVE_GIF] (gif_load): Sync with xfns.c.
5817 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
5818 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
5819 Ghostscript is not supported yet).
5820 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
5821 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
5822 cross_disabled_images (from xfns.c). Remove #if 0 for supported
5823 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
5824 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
5825 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
5826 HAVE_PNG. Call EnterMovies to support animated gifs.
5827 Call init_image_func_pointer to bind a symbol
5828 _CGImageCreateWithPNGDataProvider if it is defined.
5829
5830 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5831 (x_draw_bar_cursor): Sync declaration with xterm.c.
5832 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
5833 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
5834 graphics).
5835 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
5836 (mac_draw_line_to_pixmap, XCreatePixmap)
5837 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
5838 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
5839 New functions.
5840 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
5841 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
5842 Cast bits to char *.
5843 (reflect_byte): New function (from w32fns.c).
5844 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
5845 due to byte alignment.
5846 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
5847 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
5848 (XSetForeground): Remove static (now used in macfns.c).
5849 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
5850 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
5851 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
5852 (x_draw_glyph_string_box, x_draw_image_foreground)
5853 (x_draw_image_foreground_1, x_draw_image_glyph_string)
5854 (x_draw_stretch_glyph_string, x_draw_glyph_string)
5855 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
5856 Sync with xterm.c.
5857 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
5858 than the xterm.c version when a strictly horizontal or vertical
5859 line is drawn.
5860 (XTset_terminal_window): Add static.
5861 (x_make_frame_visible): Add UNBLOCK_INPUT.
5862 (x_free_frame_resources): New funcion (from xterm.c).
5863 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
5864 occurs in tool bar area.
5865 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
5866 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
5867 Initialize image cache.
5868 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
5869 Enclose unused functions with #if 0.
5870 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
5871 (decode_mac_font_name): New function to apply code conversions
5872 from a mac font name to an XLFD font name according to its script code.
5873 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
5874 font name to a mac font name according to REGISTRY and ENCODING fields.
5875 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
5876 whose name starts with `.'.
5877 (init_font_name_table): Use decode_mac_font_name. Add both
5878 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
5879 of a font is smJapanese.
5880 (mac_do_list_fonts): New function to list fonts that match a given
5881 pattern.
5882 (x_list_fonts, XLoadQueryFont): Use it.
5883 (XLoadQueryFont): Set rbearing field for each variable width
5884 character to avoid needless redraw.
5885 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
5886
58872004-02-26 Kim F. Storm <storm@cua.dk>
5888
5889 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
5890 as read_socket_hook handler on X aborts if buffer is too small
5891 and W32 handler doesn't always check buffer limit.
5892
5893 * xdisp.c (handle_single_display_prop): Handle left-fringe and
5894 right-fringe similar to a display margin image. Specifically,
5895 the characters having the fringe prop are no longer shown, and
5896 we use IT_IMAGE/next_element_from_image with image_id = -1 to
5897 do this. Set fringe bitmap face_id in it->face_id.
5898 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
5899 still realize it->face (i.e. the fringe bitmap face).
5900
59012004-02-25 Miles Bader <miles@gnu.org>
5902
5903 * xdisp.c (check_it): Check string/string_pos consistency.
5904 (init_iterator): Initialize string-related fields properly.
5905
59062004-02-11 Miles Bader <miles@gnu.org>
5907
5908 * xdisp.c (produce_image_glyph): Force negative descents to zero.
5909
59102004-02-10 Miles Bader <miles@gnu.org>
5911
5912 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
5913 BLOCK_INPUT can be nested, so it doesn't make much sense.
5914
59152004-02-24 Michael Mauger <mmaug@yahoo.com>
5916
5917 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
5918 (xbm_read_bitmap_data): Use unsigned char for image data.
5919
59202004-02-23 Luc Teirlinck <teirllm@auburn.edu>
5921
5922 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
5923
59242004-02-22 Jason Rumney <jasonr@gnu.org>
5925
5926 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
5927 correctly over other bitmaps.
5928
59292004-02-21 Eli Zaretskii <eliz@gnu.org>
5930
5931 * emacs.c (USAGE1): Split into two halves.
5932 (USAGE2): Second half of the old USAGE1.
5933 (USAGE3): Rename from USAGE2.
5934 (USAGE4): Rename from USAGE3.
5935
59362004-02-21 Juri Linkov <juri@jurta.org>
5937
5938 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
5939 Fix --multibyte. Move --help, --version to USAGE2. Add alias
5940 --file. Fix -f, -l. Sort options. Untabify.
5941 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
5942
59432004-02-19 Luc Teirlinck <teirllm@auburn.edu>
5944
5945 * category.c (Fdefine_category, Fcategory_docstring)
5946 (Fget_unused_category, Fset_category_table)
5947 (Fcategory_set_mnemonics): Doc fixes.
5948
59492004-02-20 Kim F. Storm <storm@cua.dk>
5950
5951 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
5952 The following changes are relative to the 2004-01-21 revision.
5953 (NREAD_INPUT_EVENTS): Define as max number of input events to read
5954 in one call to read_socket_hook. Value is 8.
5955 (read_avail_input): Separate and rework handling of read_socket_hook
5956 and non-read_socket_hook cases. Use smaller input_event buffer
5957 in read_socket_hook case, and repeat if full buffer is read.
5958 Use new local variable 'discard' to skip input after C-g.
5959 In non-read_socket_hook case, just use a single input_event, and
5960 call kbd_buffer_store_event on the fly for each character.
5961
59622004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
5963
5964 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
5965 Remove unused `gu' alternative.
5966
59672004-02-19 Andreas Schwab <schwab@suse.de>
5968
5969 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
5970 warning.
5971
59722004-02-18 Kim F. Storm <storm@cua.dk>
5973
5974 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
5975 Fix last change.
5976
59772004-02-17 Kim F. Storm <storm@cua.dk>
5978
5979 * xdisp.c (fast_find_position): Fix return value of new version;
5980 it was inverted compared to the 21.1 version.
5981 (get_window_cursor_type): Don't look at glyph if NULL.
5982 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
5983
5984 * keyboard.c: Rework previous change; it didn't consider that the
5985 buf array was allocated on the stack.
5986 (prev_read): Remove variable.
5987 (read_avail_input_buf): New static event buffer array.
5988 (in_read_avail_input): New static variable to handle re-entrancy.
5989 (read_avail_input): Change buf to pinter to read_avail_input_buf.
5990 Use in_read_avail_input to handle re-entrance; when re-entered,
5991 fully initialize and use tmp_buf array instead of read_avail_input_buf.
5992 Do not initialize read_avail_input_buf in full here; instead assume it
5993 is always cleared on entry. To ensure that, we clear (just) the
5994 entries that were used before we return.
5995 (init_keyboard): Initialize read_avail_input_buf here.
5996
59972004-02-16 Jesper Harder <harder@ifa.au.dk>
5998
5999 * cmds.c (Fend_of_line): Doc fix.
6000
60012004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
6002
6003 * keyboard.c (prev_read): New static variable.
6004 (read_avail_input): Use it to zero out only those slots in buf[]
6005 that were used last time we were called.
6006
60072004-02-16 Eli Zaretskii <eliz@gnu.org>
6008
6009 * Makefile.in (obj): Move fringe.o from here...
6010 (XOBJ, MAC_OBJ): ...to here.
6011
60122004-02-16 Stephen Eglen <stephen@gnu.org>
6013
6014 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
6015
60162004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
6017
6018 * data.c (Fbyteorder):
6019 * fringe.c (Fdefine_fringe_bitmap):
6020 * xdisp.c (handle_single_display_prop):
6021 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
6022
60232004-02-16 Jason Rumney <jasonr@gnu.org>
6024
6025 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
6026
60272004-02-15 Steven Tamm <steventamm@mac.com>
6028
6029 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
6030 controlling emulation of a three button mouse with option and
6031 command keys.
6032 (Qreverse, mac_get_enumlated_btn): Handle the emulation
6033 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
6034
60352004-02-15 Kim F. Storm <storm@cua.dk>
6036
6037 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
6038
6039 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
6040 Perform byte-swapping.
6041
60422004-02-14 Kim F. Storm <storm@cua.dk>
6043
6044 * dispextern.h (struct draw_fringe_bitmap_params): Change member
6045 bits from char to short to facilitate wider bitmaps.
6046 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
6047 member.
6048
6049 * fringe.c (struct fringe_bitmap): Change member bits from char to
6050 short to facilitate 16 bits wide bitmaps. Modify all standard
6051 bitmaps accordingly.
6052 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
6053 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
6054 (draw_fringe_bitmap): Ditto.
6055 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
6056 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
6057 handle up to 16 bits wide bitmaps.
6058 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
6059 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
6060
6061 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
6062 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
6063 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
6064
6065 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
6066 so it is no longer necessary to expand them here.
6067
6068 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
6069
60702004-02-12 Kim F. Storm <storm@cua.dk>
6071
6072 * window.c (Fwindow_fringes): Doc fix.
6073
60742004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6075
6076 * xselect.c (x_get_foreign_selection): Add new optional parameter
6077 time_stamp.
6078 (Fx_get_selection_internal): Ditto, pass time_stamp to
6079 x_get_foreign_selection.
6080
6081 * data.c (Fbyteorder): New function.
6082
60832004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6084
6085 * atimer.c: Move include stdio.h to same place as in other files.
6086
6087 * region-cache.c: Ditto.
6088
6089 * sysdep.c: Ditto.
6090
6091 * xfaces.c: Ditto.
6092
60932004-02-09 Sam Steingold <sds@gnu.org>
6094
6095 * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
6096
60972004-02-09 Kim F. Storm <storm@cua.dk>
6098
6099 * fringe.c: New file. Move original fringe related declarations
6100 and code from dispextern.h and xdisp.c here.
6101 Rework code to support user defined fringe bitmaps, redefining
6102 standard bitmaps, ability to overlay user defined bitmap with
6103 overlay arrow bitmap, and add faces to bitmaps.
6104 (Voverflow_newline_into_fringe): Declare here.
6105 (enum fringe_bitmap_align): New enum.
6106 (..._bits): All bitmaps are now defined without bitswapping; that
6107 is now done in init_fringe_once (if necessary).
6108 (standard_bitmaps): New array with specifications for the
6109 standard fringe bitmaps.
6110 (fringe_faces): New array.
6111 (valid_fringe_bitmap_id_p): New function.
6112 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
6113 (draw_fringe_bitmap): New function which draws fringe bitmap,
6114 possibly overlaying bitmap with cursor in right fringe or the
6115 overlay arrow in the left fringe.
6116 (update_window_fringes): Do not handle overlay arrow here.
6117 Compare and copy fringe bitmap faces.
6118 (init_fringe_bitmap): New function.
6119 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
6120 define and destroy user defined fringe bitmaps.
6121 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
6122 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
6123 (syms_of_fringe): New function. Defsubr new DEFUNs.
6124 DEFVAR_LISP Voverflow_newline_into_fringe.
6125 (init_fringe_once, init_fringe): New functions.
6126 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
6127
6128 * Makefile.in (obj): Add fringe.o.
6129 (fringe.o): New dependencies.
6130
6131 * dispextern.h (FRINGE_ID_BITS): New definition for number of
6132 bits allocated to hold a fringe number. Increase number of bits
6133 from 4 to 8 to allow user defined fringe bitmaps.
6134 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
6135 left_user_fringe_face_id, right_user_fringe_bitmap,
6136 right_user_fringe_face_id.
6137 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
6138 Move to new file fringe.c.
6139 (MAX_FRINGE_BITMAPS): Define here.
6140 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
6141 and overlay_p. Change member which to int.
6142 (struct redisplay_interface): New members define_fringe_bitmap
6143 and destroy_fringe_bitmap.
6144 (valid_fringe_bitmap_id_p): Add prototype.
6145 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
6146
6147 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
6148 arrows.
6149 (update_frame): Do flush_display if force_flush_display_p to
6150 ensure display (specifically fringes) are updated in a timely
6151 manner when resizing the frame by dragging the mouse.
6152 (update_window_line): Update row if overlay arrow changed.
6153 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
6154 or overlay arrow changed.
6155
6156 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
6157 syms_of_fringe, and init_fringe.
6158
6159 * frame.h (struct frame): New member force_flush_display_p.
6160
6161 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
6162 Add prototypes.
6163
6164 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
6165 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
6166 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
6167 Use cursor color for displaying cursor in fringe.
6168 (x_redisplay_interface): Add null handlers for
6169 define_fringe_bitmap and destroy_fringe_bitmap functions.
6170
6171 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
6172 xterm.c to handle overlayed fringe bitmaps and to use cursor color
6173 for displaying cursor in fringe.
6174 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
6175 specific functions to define and destroy fringe bitmaps in fringe_bmp.
6176 (w32_redisplay_interface): Add them to redisplay_interface.
6177 (w32_term_init): Call w32_init_fringe instead of explicitly
6178 defining fringe bitmaps in fringe_bmp array.
6179 (x_delete_display): Call w32_reset_fringes instead of explicitly
6180 destroying fringe bitmaps in fringe_bmp array.
6181
6182 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
6183 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
6184 (continued_bits, continuation_bits, ov_bits, first_line_bits)
6185 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
6186 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
6187 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
6188 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
6189 Move fringe handling vars and code to new file fringe.c.
6190 (handle_display_prop): Handle left-fringe and right-fringe
6191 display properties; store user fringe bitmaps in iterator.
6192 (move_it_in_display_line_to): Handle cursor in fringe at eob.
6193 (clear_garbaged_frames): Set force_flush_display_p if resized.
6194 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
6195 (display_line): Handle cursor in fringe at eob.
6196 (display_line): Set row user fringe bitmaps from iterator.
6197
6198 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
6199 Use cursor color for displaying cursor in fringe.
6200 (x_redisplay_interface): Add null handlers for
6201 define_fringe_bitmap and destroy_fringe_bitmap functions.
6202
62032004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6204
6205 * macfns.c (Fx_change_window_property): Make doc string and
6206 parameters same as for X version.
6207
6208 * w32fns.c (Fx_change_window_property): Ditto.
6209
62102004-02-07 Kim F. Storm <storm@cua.dk>
6211
6212 * xdisp.c (hscroll_window_tree): Position cursor near to right
6213 margin in hscrolled window when jumping to end of line (rather
6214 than centering cursor).
6215
6216 * process.c (wait_reading_process_input): Don't do adaptive read
6217 buffering if waiting for a specific process.
6218
62192004-02-05 Luc Teirlinck <teirllm@auburn.edu>
6220
6221 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
6222 (Fread_minibuffer, Feval_minibuffer)
6223 (Fread_string, Fread_no_blanks_input)
6224 (Fcompleting_read): Doc fixes.
6225 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
6226 completion-regexp-list. Define Qcase_fold_search and staticpro it.
6227 (read_minibuf): Fix initial comment.
6228 (Ftry_completion, Fall_completions, Ftest_completion): Bind
6229 case-fold-search to the value of completion-ignore-case when
6230 checking completion-regexp-list.
6231 (Fdisplay_completion_list): Make it handle arguments that are
6232 symbols. Doc fix.
6233
62342004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6235
6236 * xterm.h: Add declaration of free_frame_menubar.
6237
6238 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
6239 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
6240 (Fx_change_window_property): Add declaration of parameters type and
6241 format. Remove unused variable cons.
6242
6243 * xselect.c: Include stdio,h.
6244
62452004-02-05 Kenichi Handa <handa@m17n.org>
6246
6247 * fns.c (Fset_char_table_range): Fix previous change.
6248
6249 * buffer.c (Fset_buffer_multibyte): Fix docstring.
6250
62512004-02-04 Luc Teirlinck <teirllm@auburn.edu>
6252
6253 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
6254
62552004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
6256
6257 * keymap.c (Vmouse_events): Rename from Vmenu_events.
6258 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
6259
62602004-02-04 Kenichi Handa <handa@m17n.org>
6261
6262 * fns.c (Fset_char_table_range): Handle charsets ascii,
6263 eight-bit-control, and eight-bit-graphic correctly.
6264
62652004-02-03 Jason Rumney <jasonr@gnu.org>
6266
6267 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
6268
6269 * w32fns.c (x_to_w32_font): Likewise.
6270
62712004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6272
6273 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
6274 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
6275
6276 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
6277 ClientMessages.
6278
6279 * xselect.c: Include termhooks.h and X11/Xproto.h
6280 (x_check_property_data, x_fill_property_data)
6281 (x_property_data_to_lisp, mouse_position_for_drop)
6282 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
6283 (Fx_send_client_event): Move here from xfns.c.
6284 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
6285
6286 * xfns.c (x-send-client-message): Move to xselect.c
6287 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
6288 OUTER_P.
6289 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
6290 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
6291 if vector_ret_p is true.
6292 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
6293
62942004-02-02 Eli Zaretskii <eliz@gnu.org>
6295
6296 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
6297 basename of FILE relative to it, not FILE itself.
6298
62992004-02-02 Kenichi Handa <handa@m17n.org>
6300
6301 * coding.c (coding_restore_composition): Check invalid
6302 composition data more rigidly.
6303
63042004-01-30 Luc Teirlinck <teirllm@auburn.edu>
6305
6306 * fileio.c (Fread_file_name_internal): Correctly handle the case
6307 where insert-default-directory is nil.
6308 (Fread_file_name): Always return an empty string if the user exits
6309 with an empty minibuffer. Adapt the docstring accordingly.
6310 (syms_of_fileio): Adapt the docstring of insert-default-directory
6311 to the change in Fread_file_name.
6312
63132004-01-29 Eli Zaretskii <eliz@gnu.org>
6314
6315 * alloca.c [!alloca]: Fix the prototype for xfree.
6316
63172004-01-29 Kenichi Handa <handa@m17n.org>
6318
6319 * fns.c (string_char_to_byte): Optimize for ASCII only string.
6320 (string_byte_to_char): Likewise.
6321
63222004-01-28 Peter Runestig <peter@runestig.com>
6323
6324 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
6325
63262004-01-27 Steven Tamm <steventamm@mac.com>
6327
6328 * unexmacosx.c (unexec_copy): Do not copy more than was
6329 requested to prevent overwriting during unexec.
6330
63312004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6332
6333 * process.c (sigchld_handler): Add comment about not calling malloc.
6334
6335 * process.h: Add extern to synch_process_termsig.
6336
63372004-01-27 Steven Tamm <steventamm@mac.com>
6338
6339 * macterm.c (make_mac_frame, make_mac_terminal_frame):
6340 Move setting of scroll bars from make_mac_frame to
6341 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
6342
63432004-01-26 Richard M. Stallman <rms@gnu.org>
6344
6345 * search.c (Freplace_match): Handle nonexistent
6346 back-references properly.
6347
63482004-01-03 Richard M. Stallman <rms@gnu.org>
6349
6350 * window.c (decode_any_window): New function.
6351 (Fwindow_height, Fwindow_width, Fwindow_edges)
6352 (Fwindow_pixel_edges, Fwindow_inside_edges)
6353 (Fwindow_inside_pixel_edges): Use decode_any_window.
6354
63552004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6356
6357 * process.h: synch_process_termsig new variable.
6358
6359 * callproc.c: Define synch_process_termsig.
6360 (Fcall_process): Initiate synch_process_termsig to zero and
6361 check if non-zero and get signal name after subprocess has ended.
6362
6363 * process.c (sigchld_handler): Set synch_process_termsig
6364 if terminated by a signal. synch_process_death setting removed.
6365
6366 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
6367
63682004-01-26 Andreas Schwab <schwab@suse.de>
6369
6370 * print.c (print_preprocess): Declare size as EMACS_INT to not
6371 lose bits.
6372 (print_object): Likewise.
6373 * alloc.c (Fpurecopy): Likewise.
6374
63752004-01-25 Luc Teirlinck <teirllm@auburn.edu>
6376
6377 * window.c (Fwindow_minibuffer_p): Doc fix.
6378
63792004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
6380
6381 * editfns.c (Fformat): Make both passes accept the same set of flags.
6382
63832004-01-23 Kenichi Handa <handa@m17n.org>
6384
6385 * fns.c (Fmd5): If OBJECT is a buffer different from the current
6386 one, set buffer to OBJECT temporarily.
6387
63882004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
6389
6390 * keyboard.c (kbd_buffer_gcpro): Remove.
6391 (kbd_buffer_store_event, clear_event, Fdiscard_input)
6392 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
6393 Don't initialize and/or maintain the variable any more. It was made
6394 redundant by my commit of 2003-06-15.
6395
6396 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
6397
63982004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6399
6400 * lisp.h: Add undef DECL_ALIGN.
6401
64022004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
6403
6404 * process.c (wait_reading_process_input) [SYNC_INPUT]:
6405 Check interrupt_input_pending explicitly.
6406
6407 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
6408
6409 * keyboard.c (handle_async_input): New fun,
6410 extracted from input_available_signal.
6411 (input_available_signal, reinvoke_input_signal): Use it.
6412
64132004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
6414
6415 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
6416
6417 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
6418 manipulation macros for when tags are in the lower bits.
6419 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
6420 (DECL_ALIGN): New macro.
6421 (DEFUN): Use it.
6422
6423 * lisp.h [ENABLE_CHECKING]: Don't force union type.
6424
6425 * s/darwin.h (__attribute__): Remove outdated workaround.
6426
6427 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
6428
6429 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
6430 Don't check range of malloc address.
6431 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
6432
6433 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
6434
6435 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
6436
64372004-01-19 Kenichi Handa <handa@m17n.org>
6438
6439 * fontset.c (fontset_font_pattern): Fix previous change.
6440
64412004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
6442
6443 * xdisp.c (Voverflow_newline_into_fringe)
6444 (move_it_in_display_line_to, redisplay_internal)
6445 (update_window_fringes, redisplay_window, display_line, window):
6446 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
6447 that it compiles without a window-system.
6448 * dispnew.c (direct_output_for_insert, update_window): Likewise.
6449
64502004-01-16 Kim F. Storm <storm@cua.dk>
6451
6452 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
6453
6454 * buffer.c (init_buffer_once): Set buffer_defaults and
6455 buffer_local_flags for indicate_buffer_boundaries.
6456 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
6457 default- variable for it.
6458
6459 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
6460 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
6461 New members exact_window_width_line_p and cursor_in_fringe_p for
6462 overflowing newlines into right fringe.
6463 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
6464 and indicate_bottom_line_p for buffer boundaries and scrolling.
6465 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
6466 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
6467 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
6468 and HOLLOW_SQUARE_BITMAP.
6469 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
6470 Add prototypes.
6471
6472 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
6473 instead of related indicator fields.
6474 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
6475 (direct_output_for_insert): Handle exact width lines like
6476 contined lines. Call update_window_fringes.
6477 (update_window): Call update_window_fringes.
6478 (scrolling_window): Don't skip desired rows with changed bitmaps.
6479 Check if fringe bitmaps changes when assigning scrolled rows.
6480
6481 * xdisp.c (Voverflow_newline_into_fringe): New variable.
6482 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
6483 (move_it_in_display_line_to): Overflow newline into fringe for
6484 rows that are exactly as wide as the window.
6485 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
6486 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
6487 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
6488 (fringe_bitmaps): Add new bitmaps.
6489 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
6490 Select proper bitmap for cursor in fringe when appropriate.
6491 Handle alignment of bitmap to top or bottom of row.
6492 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
6493 done by update_window_fringes.
6494 (update_window_fringes, draw_window_fringes): New functions.
6495 (redisplay_internal): Call update_window_fringes in case only
6496 cursor row is updated.
6497 (redisplay_window): Call update_window_fringes.
6498 Explicitly call draw_window_fringes if redisplay was done using
6499 the current matrix or the overlay arrow is in the window.
6500 (try_window_reusing_current_matrix): Mark scrolled rows for
6501 fringe update (to update buffer-boundaries / scrolling icons).
6502 (find_last_unchanged_at_beg_row): Handle exact width lines line
6503 continued lines.
6504 (display_line): Overflow newline into fringe for rows that are
6505 exactly as wide as the window. Don't append space for newline
6506 in this case.
6507 (notice_overwritten_cursor): Explicitly clear cursor bitmap
6508 in fringe as if it had been overwritten.
6509 (erase_phys_cursor): Erase cursor bitmap in fringe.
6510 (syms_of_xdisp): Mark show-trailing-whitespace and
6511 void-text-area-pointer as user options.
6512 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
6513
6514 * xterm.c (x_update_window_end): Call draw_window_fringes.
6515 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
6516 in row instead of actually drawing fringe bitmaps.
6517 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
6518 (x_draw_window_cursor): Draw cursor in fringe.
6519
6520 * w32term.c (x_update_window_end): Call draw_window_fringes.
6521 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
6522 in row instead of actually drawing fringe bitmaps.
6523 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
6524 (w32_draw_window_cursor): Draw cursor in fringe.
6525
6526 * macterm.c (x_update_window_end): Call draw_window_fringes.
6527 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
6528 in row instead of actually drawing fringe bitmaps.
6529 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
6530 (mac_draw_window_cursor): Draw cursor in fringe.
6531
65322004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6533
6534 * xterm.c (handle_one_xevent): Don't handle characters that are part
6535 of an old style (XLookupString) compose sequence.
6536
65372004-01-15 Kenichi Handa <handa@m17n.org>
6538
6539 * search.c (Freplace_match): Use make_multibyte_string or
6540 make_unibyte_string according to the buffer multibyteness.
6541
65422004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
6543
6544 * alloc.c (struct interval_block, struct string_block)
6545 (struct symbol_block, struct marker_block, live_string_p)
6546 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
6547 Better preserve alignment for objects in blocks.
6548 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
6549
6550 * lread.c (defvar_per_buffer): Remove dead declaration.
6551
6552 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
6553 space size.
6554
65552004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6556
6557 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
6558 if a key press should pop down. Only pop down if a key is pressed
6559 outside the menu/dialog.
6560 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
6561 popup_get_selection.
6562 (create_and_show_dialog): Pass 1 for down_on_keypress to
6563 popup_get_selection.
6564
65652004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6566
6567 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
6568 BLOCK/UNBLOCK_INPUT.
6569
65702004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6571
6572 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
6573 specified.
6574
65752004-01-08 Kenichi Handa <handa@m17n.org>
6576
6577 * editfns.c (Fformat): Fix '&' to '&&'.
6578
65792004-01-08 Andreas Schwab <schwab@suse.de>
6580
6581 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
6582 size if PSEUDOVECTOR_FLAG is set.
6583
65842004-01-07 Kenichi Handa <handa@m17n.org>
6585
6586 * charset.c (Fdeclare_equiv_charset): Fix docstring.
6587
6588 * fontset.c (fontset_ref_via_base): Fix previous change.
6589
65902004-01-07 Kim F. Storm <storm@cua.dk>
6591
6592 * process.c (read_process_output): Only activate adaptive
6593 buffering if we read less than 256 bytes at a time.
6594
65952004-01-06 Kim F. Storm <storm@cua.dk>
6596
6597 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
6598 object and image object. Return glyph width and height.
6599 (mode_line_string, marginal_area_string): Ditto.
6600
6601 * dispextern.h (buffer_posn_from_coords, mode_line_string)
6602 (marginal_area_string): Fix prototypes.
6603
6604 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
6605 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
6606 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
6607
6608 * keyboard.c (make_lispy_position): Use modified mode_line_string,
6609 buffer_posn_from_coords, and marginal_area_string functions to
6610 include both string object and image object in the lispy position.
6611 Also add actual glyph width and height to position.
6612 (read_key_sequence): Use real buffer position from mouse
6613 event to find keymap property even when click is in marginal area.
6614
6615 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
6616 mode_line_string and marginal_area_string functions to handle
6617 both string object and image object properties.
6618
66192004-01-06 Andreas Schwab <schwab@suse.de>
6620
6621 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
6622 character.
6623
66242004-01-02 Andreas Schwab <schwab@suse.de>
6625
6626 * macterm.c (emacs_options, x_initialized, same_x_server):
6627 Remove unused (and duplicated) definitions.
6628
66292004-01-02 Kim F. Storm <storm@cua.dk>
6630
6631 * process.h (struct Lisp_Process): New members for adaptive read
6632 buffering: adaptive_read_buffering, read_output_delay, and
6633 read_output_skip.
6634
6635 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
6636 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
6637 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
6638 (process_output_delay_count, process_output_skip): New vars.
6639 (Vprocess_adaptive_read_buffering): New variable.
6640 (make_process): Initialize adaptive read buffering members.
6641 (Fstart_process): Set adaptive_read_buffering member.
6642 (deactivate_process): Cleanup adaptive read buffering.
6643 (wait_reading_process_input): Temporarily omit delayed
6644 subprocesses from the set of file descriptors to read from;
6645 adjust the select timeout if we skipped any subprocesses.
6646 (read_process_output): Increase adaptive read buffering delay if
6647 we read less than a full buffer; reduce delay when we read a
6648 full buffer.
6649 (send_process): Simplify using local Lisp_Process var.
6650 Reset adaptive read buffering delay after write.
6651 (init_process): Initialize process_output_delay_count and
6652 process_output_skip.
6653 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
6654
66552004-01-01 Jason Rumney <jasonr@gnu.org>
6656
6657 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
6658
66592003-12-30 Luc Teirlinck <teirllm@auburn.edu>
6660
6661 * print.c (Ferror_message_string): Add hyperlink in the docstring
6662 to the definition of `signal' in the Elisp manual.
6663 * eval.c (Fsignal): Ditto.
6664
66652003-12-29 James Clark <jjc@jclark.com>
6666
6667 * fns.c (internal_equal): Return t for two NaN arguments.
6668
66692003-12-29 Richard M. Stallman <rms@gnu.org>
6670
6671 * data.c (store_symval_forwarding): Handle setting
6672 default-fill-column, etc., by changing the value in
6673 buffers that use the default.
6674
6675 * minibuf.c (Fset_minibuffer_window): Doc fix.
6676
6677 * fileio.c (choose_write_coding_system): Ignore auto_saving
6678 if using the visited file for auto saves.
6679 (Fwrite_region): Don't update SAVE_MODIFF
6680 if auto-saving in visited file.
6681
66822003-12-29 Kenichi Handa <handa@m17n.org>
6683
6684 * dispextern.h (face_font_available_p): Extern it.
6685
6686 * fontset.c (Voverriding_fontspec_alist): New variable.
6687 (lookup_overriding_fontspec): New function.
6688 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
6689 (fontset_font_pattern): Likewise.
6690 (regulalize_fontname): New function.
6691 (Fset_fontset_font): Call regulalize_fontname.
6692 (Fset_overriding_fontspec_internal): New function.
6693 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
6694 Defsubr Sset_overriding_fontspec_internal.
6695
6696 * xfaces.c (face_font_available_p): New function.
6697
66982003-12-28 Richard M. Stallman <rms@gnu.org>
6699
6700 * buffer.c (Fother_buffer): Don't crash if BUF is nil
6701 or if its name is nil.
6702
6703 * buffer.c (Fkill_buffer): Don't delete auto-save file
6704 if it's the same as the visited file.
6705
67062003-12-28 Luc Teirlinck <teirllm@auburn.edu>
6707
6708 * coding.c (Fcheck_coding_system): Doc fix.
6709
67102003-12-28 Kim F. Storm <storm@cua.dk>
6711
6712 * Makefile.in (eval.o): Depend on dispextern.h.
6713
6714 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
6715 image glyph using image's ascent.
6716 (mode_line_string): Return image glyph as object clicked on.
6717 Adjust y0 for image glyph using image's ascent.
6718
6719 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
6720 (struct glyph): New members, ascent and descent. Used to save
6721 this glyph's ascent and descent, instead of having.
6722 (struct glyph): Declare member face_id using FACE_ID_BITS.
6723 (find_hot_spot): Add prototype.
6724
6725 * keyboard.c (Qimage): Remove extern (now in lisp.h).
6726 (QCmap): Declare extern.
6727 (make_lispy_position): When position is inside image hot-spot,
6728 use hot-spot element's id as posn element.
6729
6730 * lisp.h (IMAGEP): New macro to test for image object type.
6731 (Qimage): Declare extern.
6732
6733 * macfns.c (Qimage): Remove extern (now in lisp.h).
6734 (valid_image_p, parse_image_spec): Use IMAGEP macro.
6735
6736 * macterm.c (Qface, Qmouse_face): Remove unused externs.
6737
6738 * w32fns.c (Qimage): Remove extern (now in lisp.h).
6739 (valid_image_p, parse_image_spec): Use IMAGEP macro.
6740
6741 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
6742
6743 * w32term.c (Qface, Qmouse_face): Remove unused externs.
6744
6745 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
6746 pointer types.
6747 (Qrelative_width, Qalign_to): Remove unused variables.
6748 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
6749 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
6750 image maps.
6751 (x_y_to_hpos_vpos): Return glyph relative coordinates through
6752 new dx and dy args.
6753 Remove buffer_only_p arg (always 0). Simplify code accordingly.
6754 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
6755 than row's ascent and height, to get sensible height on tall rows.
6756 (build_desired_tool_bar_string): Remove Qimage extern.
6757 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
6758 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
6759 image glyph is alone on the last line.
6760 (append_glyph, append_composite_glyph, produce_image_glyph)
6761 (append_stretch_glyph): Set glyph's ascent and descent.
6762 (on_hot_spot_p): New function to check if position is inside an
6763 rectangular, circular, or polygon-shaped image hot-spot,
6764 (find_hot_spot): New function to search for image hot-spot.
6765 (Flookup_image_map): New defun to search for image hot-spot.
6766 (define_frame_cursor1): New aux function to determine frame pointer.
6767 (note_mode_line_or_margin_highlight, note_mouse_highlight):
6768 Handle `pointer' text property and :pointer image property to
6769 control frame pointer shape. Detect image hot-spots for pointer
6770 and help_echo properties. Use define_frame_cursor1.
6771 (note_mouse_highlight): Use Vvoid_text_area_pointer.
6772 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
6773 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
6774
6775 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
6776
6777 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
6778 (Qimage): Remove extern (now in lisp.h).
6779 (valid_image_p, parse_image_spec): Use IMAGEP macro.
6780
6781 * xmenu.c (show_help_event): Remove unused code.
6782
6783 * xterm.c (Qface, Qmouse_face): Remove unused externs.
6784 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
6785 row's ascent and descent, to get a sensible height on tall rows.
6786
67872003-12-25 Luc Teirlinck <teirllm@auburn.edu>
6788
6789 * minibuf.c (Fcompleting_read): Undo previous change.
6790
67912003-12-25 Lars Hansen <larsh@math.ku.dk>
6792
6793 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
6794 Arguments GCPRO'ed in call to file name handler.
6795
67962003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
6797
6798 * termcap.c (tgetst1): Scan for "%pN"; if all
6799 N are continuous in [1,9], remove all "%pN".
6800
68012003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6802
6803 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
6804
6805 * xfaces.c (lface_fully_specified_p): Take into account that
6806 MAC OS always have unspecified stipple.
6807
68082003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
6809
6810 * tparam.c (tparam1): Add handling for `%pN', which
6811 means use param N for the next substitution.
6812
68132003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
6814
6815 * xfaces.c (Fcolor_gray_p): Fix omission bug:
6816 In case `frame' is nil, consult the selected frame.
6817 (Fcolor_supported_p): Likewise.
6818
68192003-12-23 Luc Teirlinck <teirllm@auburn.edu>
6820
6821 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
6822 Doc fixes.
6823
6824 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
6825 and an integer. Adapt the introductory comment accordingly.
6826 (Fread_from_minibuffer): Delete code moved into read_minibuf.
6827 Doc fix.
6828 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
6829 read_minibuf.
6830 (Fcompleting_read): Delete code moved into read_minibuf.
6831 (Ftest_completion): Make it handle obarrays and hash tables correctly.
6832
68332003-12-03 Kenichi Handa <handa@m17n.org>
6834
6835 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
6836 encoding sequence.
6837
68382003-12-01 Kenichi Handa <handa@m17n.org>
6839
6840 * composite.c (syms_of_composite): Don't make the compostion hash
6841 table week.
6842
68432003-11-30 Luc Teirlinck <teirllm@auburn.edu>
6844
6845 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
6846 * textprop.c (Fget_char_property_and_overlay): New function.
6847 (syms_of_textprop): Defsubr it.
6848
68492003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6850
6851 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
6852 to compile on terminal configuration.
6853
6854 * fileio.c (Fread_file_name): Check use_file_dialog also before
6855 calling Fx_file_dialog.
6856
6857 * fns.c: use_file_dialog: New variable.
6858 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
6859
68602003-11-29 Kim F. Storm <storm@cua.dk>
6861
6862 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
6863 (syms_of_msdos): Don't intern and staticpro them.
6864
68652003-11-27 Kim F. Storm <storm@cua.dk>
6866
6867 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
6868 coordinates relative to glyph at posn. If glyph is an image,
6869 return that as object at posn. Callers changed.
6870 (mode_line_string, marginal_area_string): Calculate and return
6871 pixel coordinates relative to glyph. Callers changed.
6872
6873 * dispextern.h (buffer_posn_from_coords, mode_line_string)
6874 (marginal_area_string): Fix prototypes.
6875 (window_box_left_offset, window_box_right_offset): Add prototypes.
6876
6877 * frame.h (get_specified_cursor_type, get_window_cursor_type):
6878 Remove prototypes.
6879
6880 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
6881
6882 * keyboard.c (make_lispy_position): Add x and y coordinates
6883 relative to the current glyph as 7th element of position.
6884 If glyph is an image, return it in the object element.
6885 (read_key_sequence): Skip checks for keymap property in cases
6886 where POSN_STRING is not a string (e.g. an image).
6887
6888 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
6889 (Vshow_text_cursor_in_void): New variable.
6890 (glyph_to_pixel_coords): Don't use negative hpos.
6891 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
6892 (append_stretch_glyph): Change ascent arg to be actual value
6893 in pixels rather than ratio to height. Callers changed.
6894 (calc_pixel_width_or_height): New aux function, implementing
6895 pixel based artihmetic for glyph widths and heights.
6896 (produce_stretch_glyph): Use calc_pixel_width_or_height for
6897 :width, :height, :align-to, and :ascent, thus allowing these to
6898 be specified in pixels as well as multiples of characters.
6899 Don't produce stretch glyphs with zero width or height.
6900 (get_specified_cursor_type): Declare static.
6901 (get_window_cursor_type): Declare static. Add glyph arg to be
6902 able to know when cursor is on an image; always substitute
6903 hollow-box cursor for filled-box cursor on images, to avoid
6904 negative images and flicker when blinking the cursor.
6905 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
6906 (note_mode_line_or_margin_highlight): Use non-text cursor rather
6907 than vertical scroll-bar cursor in display margins.
6908 (note_mouse_highlight): Use non-text cursor rather than text
6909 cursor in fringes and over images in the text area.
6910 Use non-text cursor when mouse pointer is outside editable text,
6911 i.e. in the void after end-of-line or end-of-buffer; this was
6912 already done for W32, but is now standard for all systems --
6913 user can toggle show-text-cursor-in-void to get old behaviour.
6914 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
6915 Vdisplay_pixels_per_inch.
6916
69172003-11-25 Andreas Schwab <schwab@suse.de>
6918
6919 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
6920 EMACS_INT to not lose bits.
6921 (Ffillarray): Don't set bits beyond the size of a bool vector.
6922
69232003-11-25 Kim F. Storm <storm@cua.dk>
6924
6925 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
6926 define this defun on systems that cannot use stderr as lvalue.
6927
69282003-11-24 Gerd Moellmann <gerd@gnu.org>
6929
6930 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
6931 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
6932 ld's default is incompatible with unexec.
6933
69342003-11-23 Kim F. Storm <storm@cua.dk>
6935
6936 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
6937 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
6938 (Fforce_window_update): New defun.
6939 (syms_of_window): Defsubr it.
6940 (Fset_window_margins, Fset_window_fringes): Doc fix.
6941
6942 * print.c (Fredirect_debugging_output): New defun.
6943 (syms_of_print): Defsubr it.
6944
69452003-11-22 Luc Teirlinck <teirllm@auburn.edu>
6946
6947 * fns.c (Fset_char_table_parent): Doc fix.
6948
69492003-11-22 Kim F. Storm <storm@cua.dk>
6950
6951 * dispnew.c (buffer_posn_from_coords): Return actual row/column
6952 for glyph clicked on, rather than (unused) pixel positions.
6953 (mode_line_string, marginal_area_string): Change X and Y args to
6954 pointers for returning actual row/column for glyph clicked on.
6955 Simplify and optimize loops.
6956
6957 * dispextern.h (mode_line_string, marginal_area_string):
6958 Update prototypes.
6959
6960 * keyboard.c (make_lispy_position): New function for generating
6961 mouse click positions from frame and pixel coordinates.
6962 Enhanced to return buffer position and actual row/column for
6963 events outside the text area using updated mode_line_string and
6964 marginal_area_string functions.
6965 Return left-fringe and right-fringe clicks as such, rather than
6966 clicks in text area.
6967 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
6968 pixel_to_glyph_coords, as we never use the results.
6969 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
6970 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
6971 Eliminate unused code in WHEEL_EVENT handling.
6972 (make_lispy_movement): Use make_lispy_position.
6973
6974 * window.c (coordinates_in_window): Remove redundant tests.
6975 Fix returned X pixel value for left-margin.
6976
6977 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
6978 mode_line_string and marginal_area_string parameters.
6979
69802003-11-22 Lars Hansen <larsh@math.ku.dk>
6981
6982 * w32.c (struct the_group, getgrgid): Add.
6983 * mac.c (struct my_group, getgrgid): Add.
6984
69852003-11-21 Luc Teirlinck <teirllm@auburn.edu>
6986
6987 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
6988
69892003-11-21 Lars Hansen <larsh@math.ku.dk>
6990
6991 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
6992 include in call to file name handler. Optionally translate numeric
6993 UID and GID to strings. Update docstring.
6994 (directory_files_internal): Add parameter ID-FORMAT.
6995 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
6996 include in call to file name handler and call to
6997 directory_files_internal. Update Docstring.
6998 (Fdirectory_files): Add dummy parameter in call to
6999 directory_files_internal.
7000 * lisp.h (Qinteger): Add.
7001 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
7002 (Ffile_attributes): Add parameter.
7003 * data.c (Qinteger): Export.
7004
70052003-11-21 Luc Teirlinck <teirllm@auburn.edu>
7006
7007 * fns.c (Freverse, Fnreverse): Doc fixes.
7008
70092003-11-19 Kim F. Storm <storm@cua.dk>
7010
7011 * xdisp.c (init_iterator): Initialize it->start to position
7012 before reseating (in case start position is invisible).
7013 (init_to_row_start): Set it->start to row-start.
7014 (redisplay_window): Accept optional_new_start if start position
7015 is invisible (in which case IT_CHARPOS overshoots PT).
7016 (display_line): Setup row->start from it->start (rather than
7017 it->current which is wrong if first char on line is invisible).
7018 When done, reseat it->start to it->current (= start of next row).
7019 (expose_area): Fix exposure of text area when first char (e.g. TAB)
7020 is only partially visible.
7021
7022 * dispextern.h (struct it): New member start.
7023
70242003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
7025
7026 * alloc.c (make_float, Fcons): Clear the markbit at init time.
7027 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
7028 of block_index outside of the macro call.
7029 (Fgarbage_collect): Remove null code.
7030
7031 * m/amdx86-64.h: Don't redefine XPNTR.
7032
7033 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
7034 of VALMASK.
7035
7036 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
7037 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
7038 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
7039
7040 * lisp.h (VALMASK): Only define for non-union type.
7041 (MARKBIT): Remove.
7042 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
7043 (XTYPE): Define unconditionally.
7044 (XSETTYPE): Remove one more remnant.
7045 (EQ): Define differently for the union and non-union cases.
7046 (INTMASK): New bit mask.
7047 (struct Lisp_Marker): Move down to prepare for upcoming patch.
7048 (GC_EQ): Delegate to EQ.
7049
7050 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
7051
70522003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7053
7054 * xterm.c (x_window_to_scroll_bar): Move check of display to
7055 where window_id is compared.
7056
70572003-11-17 Kim F. Storm <storm@cua.dk>
7058
7059 * dispextern.h (struct it): New member first_vpos.
7060
7061 * xdisp.c (start_display): Set it->first_vpos.
7062 (try_window_id): Use first_vpos to start display in first _text_
7063 line if no reusable lines at start of window with header line.
7064
70652003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7066
7067 * w32fns.c (XPutPixel):
7068 * w32bdf.c (w32_init_bdf_font):
7069 * sunfns.c (sel_read):
7070 * process.c (Fmake_network_process):
7071 * frame.c (store_frame_param):
7072 * fontset.c (Fset_fontset_font):
7073 * emacs.c (shut_down_emacs):
7074 * ccl.c (ccl_driver): Remove period at end of error message.
7075
7076 * config.in: Regenerate.
7077
7078 * xfns.c (x_window_to_frame, x_any_window_to_frame)
7079 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
7080 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
7081 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
7082 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
7083
7084 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
7085
7086 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
7087 (XTmouse_position, handle_one_xevent): Pass Display* to
7088 x_window_to_scroll_bar.
7089 (x_window_to_scroll_bar): Take a Display* argument.
7090 Check that display for frame is equal to Display* argument.
7091 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
7092 x_display_info_for_display instead. Use Display in xev instead
7093 of GDK_DISPLAY.
7094 (x_dispatch_event): Call x_display_info_for_display.
7095 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
7096 (x_connection_closed): Call xg_display_close for GTK.
7097 (x_term_init): Call xg_display_open for additional displays.
7098 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
7099 for GTK.
7100
7101 * xmenu.c (single_menu_item, mouse_position_for_popup)
7102 (x_activate_menubar): Formatting adjustments.
7103
7104 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
7105 adjustments.
7106
7107 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
7108 (xg_display_close, xg_create_default_cursor)
7109 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
7110 handling.
7111 (xg_left_ptr_cursor): Remove.
7112 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
7113 cursor here.
7114 (xg_win_to_widget): Take Display* argument, call
7115 gdk_xid_table_lookup_for_display.
7116 (xg_create_frame_widgets, xg_get_file_name, create_menus)
7117 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
7118 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
7119 in FRAME_X_DISPLAY_INFO.
7120 (xg_get_scroll_id_for_window): Take Display* argument.
7121 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
7122 (xg_initialize): Remove xg_left_ptr_cursor.
7123
7124 * gtkutil.h (xg_get_scroll_id_for_window, xg_win_to_widget): Add
7125 Display* argument.
7126 (xg_display_open, xg_display_close, xg_create_default_cursor): Declare.
7127
71282003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7129
7130 * xterm.c (x_detect_focus_change): Do not change focus frame for
7131 Enter/LeaveNotify if the current focus frame has explicit focus.
7132
71332003-11-14 Kim F. Storm <storm@cua.dk>
7134
7135 * dispnew.c (update_text_area): Fix redisplay error when hscroll
7136 is active and first glyph is only partially visible.
7137
71382003-11-13 Kenichi Handa <handa@m17n.org>
7139
7140 * xdisp.c (select_frame_for_redisplay): New function.
7141 (redisplay_internal): Record also selected_frame for
7142 unwind_redisplay. Call select_frame_for_redisplay before
7143 redrawing each frame.
7144 (unwind_redisplay): Argument changed to a cons.
7145
71462003-11-12 Luc Teirlinck <teirllm@auburn.edu>
7147
7148 * fns.c (Fstring_to_multibyte): Doc fix.
7149
71502003-11-11 Kenichi Handa <handa@m17n.org>
7151
7152 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
7153
71542003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7155
7156 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
7157 program specified positions.
7158
71592003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7160
7161 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
7162
71632003-11-08 Kenichi Handa <handa@m17n.org>
7164
7165 * Makefile.in (lisp): Add kannada.el.
7166 (shortlisp): Likewise.
7167
71682003-11-07 Kenichi Handa <handa@m17n.org>
7169
7170 * coding.c (coding_allocate_composition_data):
7171 Reset coding->composing to COMPOSITION_NO.
7172 (coding_restore_composition): Detect invalid composition data.
7173 Give Fstring and Fvector a Lispy integer, not C int.
7174
71752003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
7176
7177 * floatfns.c (Flogb): Don't use VALMASK.
7178
7179 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
7180 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
7181
7182 * lisp.h (XINT): Move the cast to clarify what is going on.
7183 (GCTYPEMASK, XSETTYPE): Remove.
7184 (XGCTYPE): Make it an alias of XTYPE.
7185
71862003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7187
7188 * xterm.c (x_term_init): Fix formatting.
7189
71902003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7191
7192 * gtkutil.h (xg_have_tear_offs): Declare.
7193 (xg_keep_popup, xg_did_tearoff): Remove.
7194
7195 * gtkutil.c: Remove variable xg_did_tearoff.
7196 (xg_have_tear_offs): New function.
7197 (tearoff_remove): Just decrease xg_detached_menus.
7198 (tearoff_activate): Increase xg_detached_menus and call
7199 tearoff_remove when tearoff is removed.
7200 (xg_keep_popup): Remove function.
7201 (create_menus): Give add_tearoff_p as argument to recursive
7202 call to create_menus.
7203 (xg_create_widget): Use variables instead of multiple
7204 strcmp. Tell create_menus to create tear off only for
7205 menu bar menus.
7206 (xg_update_menubar): Change title for a detached menu also.
7207 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
7208 of deep_p.
7209 (xg_initialize): Initialize xg_detached_menus, remove
7210 initialization of xg_did_tearoff.
7211
7212 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
7213 xg_have_tear_offs returns non-zero.
7214 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
7215 call to xg_keep_popup.
7216
72172003-11-01 Andrew Choi <akochoi@shaw.ca>
7218
7219 * macterm.c (XTread_socket): Handle menubar selection and grow
7220 window only for mouseDown events.
7221
72222003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7223
7224 * xterm.c (x_term_init): For GTK part, increase x_initialized
7225 to check for more than one display. Use error instead of return 0.
7226
72272003-10-31 Andrew Choi <akochoi@shaw.ca>
7228
7229 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
7230 (copy_dysymtab): Call it.
7231
72322003-10-31 Luc Teirlinck <teirllm@auburn.edu>
7233
7234 * eval.c (Fdefvaralias): Doc fix.
7235
72362003-10-26 Luc Teirlinck <teirllm@auburn.edu>
7237
7238 * data.c (Fsetplist): Doc fix.
7239
72402003-10-14 Lute Kamstra <lute@gnu.org>
7241
7242 * window.c (Fset_window_fringes): Clarify docstring.
7243
72442003-10-14 Kim F. Storm <storm@cua.dk>
7245
7246 * window.c (Fset_window_margins): Simplify arg checking.
7247
72482003-10-13 Richard M. Stallman <rms@gnu.org>
7249
7250 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
7251 (print_partial_compiled_pattern): Replace assert with a printout.
7252 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
7253
7254 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
7255
7256 * window.c (Fset_window_margins): Allow only integers as args.
7257 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
7258 Doc fixes.
7259
72602003-10-13 Lute Kamstra <lute@gnu.org>
7261
7262 * window.c (Fset_window_fringes): Elaborate docstring.
7263
72642003-10-12 Andrew Choi <akochoi@shaw.ca>
7265
7266 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
7267
7268 * s/darwin.h (GC_MARK_STACK): Define.
7269
72702003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7271
7272 * window.c (shrink_windows): New function.
7273 (size_window): Call shrink_windows to calculate window sizes when
7274 shrinking frame with more than one window.
7275
72762003-10-12 Kim F. Storm <storm@cua.dk>
7277
7278 * xdisp.c (compute_fringe_widths): Doc fix.
7279
72802003-10-08 Kenichi Handa <handa@m17n.org>
7281
7282 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
7283
72842003-10-07 Kenichi Handa <handa@m17n.org>
7285
7286 * coding.c (Qcoding_system_define_form): New variable.
7287 (syms_of_coding): Intern and staticpro it.
7288 (Fcheck_coding_system): Try to autoload the definition of
7289 CODING-SYSTEM.
7290
72912003-10-05 Luc Teirlinck <teirllm@auburn.edu>
7292
7293 * fns.c (Frequire): Doc fix.
7294
72952003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7296
7297 * xfns.c (Fx_send_client_event): New function as a base for
7298 manipulating extended window manager hints.
7299 (Fx_send_client_event): Remove unused variable s.
7300
7301 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
7302 that function is removed.
7303
7304 * xterm.c (x_set_offset): Use move_offset_left/top instead of
7305 x/y_pixels_outer_diff.
7306 (x_check_expected_move): Calculate move_offset_left/top.
7307
7308 * xterm.h (struct x_output): New members: move_offset_top/left.
7309
7310 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
7311 call x_set_offset directly.
7312
7313 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
7314
7315 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
7316
7317 * xterm.c (x_delete_display): Free font names and font_encoder
7318 in dpyinfo->font_table.
7319
7320 * xfns.c (Fx_close_connection): Only call XFreeFont here.
7321 Move xfree of font names to x_delete_display.
7322
7323 * xterm.h (struct x_display_info): New member, wm_type.
7324 (struct x_output): New members, expected_top/left and
7325 check_expected_move.
7326
7327 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
7328 is received.
7329 (handle_one_xevent): Rename x_check_expected_move from
7330 x_check_fullscreen_move.
7331 (x_set_offset): Only add WM decoration sizes to modified_top/left
7332 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
7333 (x_check_expected_move): Rename from x_check_fullscreen_move.
7334 Removed fullscreen specific code. Use check_expected_move,
7335 expected_left/top instead. Also, set wm_type.
7336 (x_term_init): Initialize wm_type to unknown.
7337
7338 * frame.c (x_fullscreen_move): Remove addition of WM decoration
7339 sizes to move_x/y.
7340
73412003-10-03 Kenichi Handa <handa@m17n.org>
7342
7343 * macterm.c (x_load_font): Clear all members of FONTP before start
7344 filling them.
7345
73462003-10-02 Kenichi Handa <handa@m17n.org>
7347
7348 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
7349 before calling find_ccl_program_func. Call find_ccl_program_func
7350 only when fontp->font_encoder is not NULL.
7351
7352 * xterm.c (x_load_font): Clear all members of FONTP before start
7353 filling them.
7354
73552003-10-03 John Paul Wallington <jpw@gnu.org>
7356
7357 * keymap.c (map_keymap): Don't abort when binding is a vector.
7358
73592003-10-02 Jason Rumney <jasonr@gnu.org>
7360
7361 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
7362 Sync dependencies with Makefile.in.
7363 (alloca.o): Remove.
7364
7365 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
7366 filling them.
7367
7368 * w32bdf.c (w32_load_bdf_font): Likewise.
7369
73702003-09-30 Richard M. Stallman <rms@gnu.org>
7371
7372 * term.c (set_tty_color_mode): Calculate current_mode_spec
7373 regardless of value of VAL.
7374
7375 * intervals.c (graft_intervals_into_buffer):
7376 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
7377 Handle over_used when splitting UNDER.
7378
73792003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7380
7381 * regex.c (regex_compile): Free the stack when returning from function.
7382
73832003-09-28 Kenichi Handa <handa@m17n.org>
7384
7385 * fontset.c (Finternal_char_font): Change return value to
7386 cons (FONT-NAME . GLYPH-CODE).
7387
73882003-09-28 Eli Zaretskii <eliz@gnu.org>
7389
7390 * term.c (tty_setup_colors): Treat any negative argument as -1.
7391
73922003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
7393
7394 * process.c (send_process): Delete unused temp_buf.
7395
73962003-09-26 Dave Love <fx@gnu.org>
7397
7398 * xterm.c (x_bitmap_mask): Declare.
7399
74002003-09-25 Dave Love <fx@gnu.org>
7401
7402 * Makefile.in (fns.o): Depend on md5.h.
7403
74042003-09-25 Kim F. Storm <storm@cua.dk>
7405
7406 * window.c (set_window_buffer): Fix redisplay problems when
7407 switching between buffers with different display margin widths.
7408
74092003-09-23 Kim F. Storm <storm@cua.dk>
7410
7411 * process.c (set_socket_option): Fix :bindtodevice option.
7412 (Fset_network_process_option): Update process contact list when
7413 setting option succeeds.
7414 (Fmake_network_process): Doc fix.
7415
74162003-09-23 Dave Love <fx@gnu.org>
7417
7418 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
7419
74202003-09-22 Eli Zaretskii <eliz@gnu.org>
7421
7422 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
7423 color mode is an integer number (it could be -1).
7424
74252003-09-22 Richard M. Stallman <rms@gnu.org>
7426
7427 * intervals.c (graft_intervals_into_buffer): Correct the main loop
7428 in the case where OVER is longer than UNDER.
7429
74302003-09-22 Masatake YAMATO <jet@gyve.org>
7431
7432 * window.c (Fset_window_scroll_bars): Validate the value of
7433 `vertical_type'.
7434
74352003-09-21 Kim F. Storm <storm@cua.dk>
7436
7437 * frame.c (Vdefault_frame_scroll_bars): New variable.
7438 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
7439 (syms_of_frame): DEFVAR_LISP it, and initialize according to
7440 window-system default scroll bar position.
7441
7442 * window.c (Fwindow_scroll_bars): Doc fix.
7443
74442003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7445
7446 * xterm.c (x_set_offset): Take window manager decorations into account.
7447
74482003-09-19 Richard M. Stallman <rms@gnu.org>
7449
7450 * atimer.h: Don't include lisp.h.
7451 (P_): Define it here (as well as elsewhere).
7452
7453 * print.c (Fprin1_to_string): Move the PRINTPREPARE
7454 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
7455
7456 * data.c (Fvariable_binding_locus): New function.
7457 (syms_of_data): defsubr it.
7458 (Flocal_variable_p): Delete duplicate call to indirect_variable.
7459
74602003-09-18 Dave Love <fx@gnu.org>
7461
7462 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
7463
7464 * process.c (Fnetwork_interface_info): Fix type error.
7465 (Fnetwork_interface_list): Doc fix.
7466 (read_process_output, read_process_output): Delete unused var.
7467
74682003-09-17 Kim F. Storm <storm@cua.dk>
7469
7470 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
7471 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
7472 (Fnetwork_interface_info): Check that ifreq struct has required
7473 fields before accessing them; this requires that those fields are
7474 defined as macros, which may be too restrictive on some platforms,
7475 but it is better than failing on other platforms.
7476 (syms_of_process): Only defsubr above fns when included.
7477
74782003-09-17 Dave Love <fx@gnu.org>
7479
7480 * unexalpha.c: Don't include varargs.h.
7481
74822003-09-17 Kim F. Storm <storm@cua.dk>
7483
7484 * process.c (Fset_process_sentinel): Add sentinel to childp plist
7485 for network process.
7486 (socket_options): Add `:' prefix to option names. Add optbit field.
7487 (set_socket_option): Remove no_error arg and special handling of s < 0.
7488 Return 1<<optbit for known option, 0 for unknown.
7489 Do not interpret 0 as false for boolean option (only nil).
7490 Pass failed option and value to report_file_error.
7491 (Fset_network_process_options): Replace by Fset_network_process_option.
7492 (Fset_network_process_option): New function to set just one option.
7493 (Fmake_network_process): Allow :coding arg to be a cons.
7494 Allow :server arg to be an integer specifying backlog size.
7495 Remove :options arg, and allow options to be specified directly
7496 as :KEY, VALUE pairs. Parse these options before binding socket.
7497 As before, :reuseaddr t is default for a server process, but this
7498 can now be disabled by specifying :reuseaddr nil.
7499 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
7500 (init_process): Availability of network options is now checked with
7501 simpler syntax (featurep 'make-network-process :OPTION); use loop to
7502 setup features.
7503 (syms_of_process): Fix defsubr's for the replaced functions.
7504
75052003-09-16 Dave Love <fx@gnu.org>
7506
7507 * Makefile.in: Depend on coding.h.
7508
75092003-09-14 Kim F. Storm <storm@cua.dk>
7510
7511 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
7512 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
7513 (syms_of_process): Defsubr them.
7514
7515 * config.in: Regenerate.
7516
75172003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
7518
7519 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
7520 * m/news-r6.h (XUNMARK): Remove.
7521 * m/mips.h (XUNMARK): Remove.
7522 * m/mips-siemens.h (XUNMARK): Remove.
7523 * m/iris4d.h (XUNMARK): Remove.
7524 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
7525
75262003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
7527
7528 * lisp.h (VALBITS): Don't remove 1 for the markbit.
7529 (union Lisp_Object): Use unsigned int for types. Remove markbit.
7530 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
7531 (XTYPE): Use unsigned right-shift.
7532 (XMARKBIT, XMARK, XUNMARK): Remove.
7533
7534 * alloc.c (init_intervals, init_symbol, init_marker):
7535 Don't preallocate anything.
7536 (Fgarbage_collect, mark_object): Ignore the markbit.
7537
7538 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
7539
75402003-09-08 Lute Kamstra <lute@gnu.org>
7541
7542 * xdisp.c (pint2hrstr): New function.
7543 (decode_mode_spec): Add `%i' and `%I' specs.
7544 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
7545 for `mode-line-format'.
7546
75472003-09-07 Andreas Schwab <schwab@suse.de>
7548
7549 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
7550 avoid warning.
7551
75522003-09-07 Eli Zaretskii <eliz@gnu.org>
7553
7554 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
7555
75562003-09-03 Kim F. Storm <storm@cua.dk>
7557
7558 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
7559 change (superseded by 2002-08-30 change); the default blink-off
7560 cursor is now again "no cursor".
7561
75622003-09-01 Jason Rumney <jasonr@gnu.org>
7563
7564 * makefile.w32-in (alloca.o): Remove.
7565 (coding.o): Depend on intervals.h
7566 (emacs.o, bytecode.o): Depend on window.h
7567
75682003-09-01 Dave Love <fx@gnu.org>
7569
7570 * Makefile.in (alloca.o): Remove commands.
7571 (coding.o): Depend on intervals.h composite.h window.h.
7572 (emacs.o): Depend on window.h keyboard.h keymap.h.
7573 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
7574 (bytecode.o): Depend on window.h.
7575
75762003-08-31 Jason Rumney <jasonr@gnu.org>
7577
7578 * w32term.c (w32_per_char_metric): Allow cached metrics to be
7579 returned even when font_type is unknown.
7580
7581 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
7582
75832003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7584
7585 * xterm.c (x_term_init): Initialize new fields in x_display_info.
7586
7587 * xterm.h (struct x_display_info): Add red/green/blue_bits and
7588 *_offset.
7589
7590 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
7591 calculate pixel value.
7592
75932003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
7594
7595 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
7596 Don't tell redisplay display is accurate when it's actually been
7597 paused for pending input.
7598
75992003-08-29 Richard M. Stallman <rms@gnu.org>
7600
7601 * dispnew.c (adjust_glyph_matrix): Call window_box
7602 whenever W is nonzero.
7603
7604 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
7605 (Fkill_local_variable, Fmake_variable_frame_local)
7606 (Flocal_variable_p, Flocal_variable_if_set_p):
7607 Use indirect_variable to trace thru variable aliases.
7608
7609 * config.in: Updated.
7610
7611 * callint.c (Fcall_interactively): Save and restore
7612 Vthis_command, Vthis_original_command, real_this_command,
7613 and current_kboard->Vlast_command.
7614
7615 * abbrev.c (Fexpand_abbrev): Insert before deleting.
7616
76172003-08-29 Gerd Moellmann <gerd@gnu.org>
7618
7619 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
7620
76212003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
7622
7623 * coding.c (decode_coding_iso2022): Initialize local variable c2.
7624 (decode_coding_sjis_big5): Likewise.
7625
76262003-08-27 Jason Rumney <jasonr@gnu.org>
7627
7628 * w32.c (sys_pipe): Protect against file descriptor overflow.
7629
7630 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
7631
7632 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
7633
76342003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
7635
7636 * xfns.c (Vgtk_version_string): New variable.
7637 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
7638
76392003-08-24 Eli Zaretskii <eliz@gnu.org>
7640
7641 * term.c (term_init): Remove `const' from buffer_size's declaration.
7642
7643 * Makefile.in (msdos.o): Depend on intervals.h.
7644
7645 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
7646
76472003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7648
7649 * xterm.h (struct x_display_info): New fields: client_leader_window
7650 and Xatom_wm_client_leader.
7651
7652 * xterm.c (x_initialize): Move call to x_session_initialize to ...
7653 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
7654
7655 * xsmfns.c (create_client_leader_window): New function.
7656 (x_session_initialize): Call create_client_leader_window, take
7657 dpyinfo as argument.
7658
7659 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
7660
7661 * Makefile.in (xsmfns.o): Add more depenedencies.
7662
76632003-08-21 Dave Love <fx@gnu.org>
7664
7665 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
7666
76672003-08-21 Kenichi Handa <handa@m17n.org>
7668
7669 * term.c (term_init): Fix previous change; don't rely on the
7670 length of `buffer' if TERMINFO is defined.
7671
76722003-08-20 Dave Love <fx@gnu.org>
7673
7674 * atimer.h: Include lisp.h.
7675
7676 * lisp.h (EMACS_LISP_H): New.
7677 (popup_activated_flag): Don't declare.
7678
7679 * alloca.c: Some merging with gnulib. Change logic and doc
7680 concerning (x)malloc/(x)free -- no longer Emacs-specific.
7681 [DO_BLOCK_INPUT]: Don't include lisp.h.
7682 (xmalloc, xfree): Declare.
7683 (malloc): Don't declare.
7684
7685 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
7686 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
7687 atimer.h, blockinput.h.
7688
7689 * alloc.c (lisp_align_malloc): Change type of `aligned'.
7690
7691 * alloca.s: Remove.
7692
76932003-08-19 Gerd Moellmann <gerd@gnu.org>
7694
7695 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
7696 use -lncurses.
7697
7698 * term.c (term_init): Use a buffer of size 4096 for tgetent since
7699 FreeBSD returns something longer than 2044. Abort if the end of
7700 the buffer is overwritten.
7701
77022003-08-19 Miles Bader <miles@gnu.org>
7703
7704 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
7705
77062003-08-19 Gerd Moellmann <gerd@gnu.org>
7707
7708 * alloc.c (lisp_align_malloc): Check for memory full when
7709 allocating ablocks, which also avoids freeing a pointer into an
7710 ablocks structure.
7711
7712 * puresize.h (BASE_PURESIZE): Increase to 1100000.
7713
7714 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
7715
77162003-08-16 Richard M. Stallman <rms@gnu.org>
7717
7718 * editfns.c (Fencode_time): Doc fix.
7719
77202003-08-16 David Ponce <david@dponce.com>
7721
7722 * fileio.c (Fwrite_region): Fix conditional expression to issue
7723 the right message.
7724
77252003-08-16 Juri Linkov <juri@jurta.org>
7726
7727 * syntax.c (Fforward_word): Argument changed to optional.
7728 Set default value to 1.
7729
77302003-08-15 Kenichi Handa <handa@m17n.org>
7731
7732 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
7733 what autoscaled.
7734 (best_matching_font): Once we find a better scalable font, set
7735 non_scalable_has_exact_height_p to 1.
7736 (try_font_list): Call try_alternative_families to try any family
7737 with the given registry.
7738
77392003-08-09 Andreas Schwab <schwab@suse.de>
7740
7741 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
7742
7743 * print.c (print_string): Fix printing of multibyte string with
7744 nontrivial printcharfun.
7745
77462003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7747
7748 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
7749
7750 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
7751
77522003-07-31 Kenichi Handa <handa@m17n.org>
7753
7754 * process.c (read_process_output): Return the actually read bytes
7755 instead of the result of decoding.
7756
77572003-07-31 Kenichi Handa <handa@m17n.org>
7758
7759 * xterm.h (struct x_bitmap_record): New member have_mask.
7760
7761 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
7762 to 0.
7763 (x_create_bitmap_from_file): Likewise.
7764 (x_destroy_bitmap): Check have_mask member before freeing a mask.
7765 (x_destroy_all_bitmaps): Likewise.
7766 (x_create_bitmap_mask): Set have_mask member to 1.
7767
77682003-07-30 Richard M. Stallman <rms@gnu.org>
7769
7770 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
7771
77722003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7773
7774 * gtkutil.c (xg_mark_data): Update calls to mark_object.
7775
77762003-07-29 Richard M. Stallman <rms@gnu.org>
7777
7778 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
7779 Conditionalize XIM code on HAVE_XIM.
7780
7781 * fns.c (Fclear_string): New function.
7782 (syms_of_fns): defsubr it.
7783
77842003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
7785
7786 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
7787
77882003-07-22 Stefan Monnier <monnier@cs.yale.edu>
7789
7790 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
7791
7792 * buffer.c (delete_all_overlays): New function.
7793 * buffer.h (delete_all_overlays): Declare.
7794 * coding.c (run_pre_post_conversion_on_str):
7795 * print.c (temp_output_buffer_setup):
7796 * fileio.c (Finsert_file_contents):
7797 * minibuf.c (get_minibuffer): Use it.
7798
77992003-07-22 Andrew Choi <akochoi@shaw.ca>
7800
7801 * unexmacosx.c (unexec_regions_sort_compare):
7802 (unexec_regions_merge): New functions. Sort and merge unexec
7803 regions before dumping them.
7804
78052003-07-22 Dave Love <fx@gnu.org>
7806
7807 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
7808
78092003-07-21 Stefan Monnier <monnier@cs.yale.edu>
7810
7811 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
7812 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
7813 MARKBIT as the gcmarkbit for strings.
7814
78152003-07-21 Richard M. Stallman <rms@gnu.org>
7816
7817 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
7818
7819 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
7820 (syms_of_fns): Corresponding change.
7821
7822 * alloc.c (syms_of_alloc): Doc fixes.
7823
78242003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
7825
7826 * s/netbsd.h: Use -Wl syntax.
7827
78282003-07-17 Richard M. Stallman <rms@gnu.org>
7829
7830 * xterm.c (xim_initialize): Redo 6/24 change.
7831
78322003-07-15 Stefan Monnier <monnier@cs.yale.edu>
7833
7834 * buffer.c (copy_overlays): Use EMACS_INT for positions.
7835 (Fswitch_to_buffer): Don't signal an error when switching to the same
7836 buffer in a dedicated window.
7837
7838 * alloc.c: Use bitmaps for cons, as was done for floats.
7839 (init_float, init_cons): Let the normal code allocate the first block.
7840 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
7841 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
7842 New macros.
7843 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
7844 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
7845 (live_cons_p): Check the pointer is not past the `conses' array.
7846 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
7847 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
7848 (survives_gc_p): Use CONS_MARKED_P and simplify.
7849 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
7850
78512003-07-13 Paul Eggert <eggert@twinsun.com>
7852
7853 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
7854 puts it into BSS instead, at least on Solaris 8 and 9.
7855 This is a valid optimization, and it may occur on other platforms,
7856 so Emacs should not assume that initializing a static variable to
7857 zero puts it into data.
7858 * alloc.c (pure, staticvec):
7859 Initialize these arrays to nonzero, so that they're not
7860 put into BSS by that optimization.
7861
78622003-07-13 Stefan Monnier <monnier@cs.yale.edu>
7863
7864 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
7865 (lisp_align_malloc): Use posix_memalign is available.
7866 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
7867 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
7868 for consistency. Update users.
7869
78702003-07-13 Richard M. Stallman <rms@gnu.org>
7871
7872 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
7873
78742003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
7875
7876 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
7877 and use the Gtk+ function gtk_window_icon_from_file if available.
7878
7879 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
7880 handle mask of bitmaps.
7881 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
7882 mask property.
7883 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
7884
7885 * xterm.h (xg_set_icon): New function.
7886
78872003-07-12 Paul Eggert <eggert@twinsun.com>
7888
7889 * unexelf.c (unexec): Consider a section to precede the .bss
7890 section if its addresses overlap that of .bss.
7891
78922003-07-12 Richard M. Stallman <rms@gnu.org>
7893
7894 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
7895
7896 * config.in (HAVE_CRTIN): Add #undef.
7897 (INLINE): Really inline only if OPTIMIZE is defined.
7898
7899 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
7900 END_FILES_1.
7901 (START_FILES_1, END_FILES_1): New macros (conditional).
7902 (LD_SWITCH_SYSTEM_TEMACS): Define.
7903
7904 * s/openbsd.h: Don't include bsd4-3.h.
7905 (TERMINFO): Define.
7906 (LIBS_TERMCAP): Define.
7907 (LD_SWITCH_SYSTEM): Define (two definitions).
7908
7909 * xfns.c: Include libpng/png.h instead of png.h.
7910
79112003-07-11 Andreas Schwab <schwab@suse.de>
7912
7913 * buffer.c (modify_overlay): Update prototype.
7914 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
7915 Likewise.
7916
79172003-07-09 Stefan Monnier <monnier@cs.yale.edu>
7918
7919 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
7920 (struct interval): Move to intervals.h.
7921 (struct Lisp_Marker): Use EMACS_INT for position info.
7922 (forward_point): Remove prototype of defunct function.
7923 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
7924 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
7925 (syms_of_textprop, set_text_properties): Remove prototypes that are
7926 already in intervals.h.
7927
7928 * intervals.h (struct interval): Move from lisp.h.
7929 Use EMACS_INT for position and size info.
7930
7931 * coding.c: Include intervals.h for Fset_text_properties.
7932
7933 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
7934 position and length information.
7935
79362003-07-09 Stefan Monnier <monnier@cs.yale.edu>
7937
7938 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
7939 position and length information.
7940
79412003-07-09 Stefan Monnier <monnier@cs.yale.edu>
7942
7943 Change overlays_after and overlays_before so the overlays themselves
7944 are linked into lists, rather than using cons cells. After all each
7945 Lisp_Misc already occupies 5 words, so we can add a `next' field to
7946 Lisp_Overlay for free and save up one cons cell per overlay (not
7947 to mention one indirection when traversing the list of overlay).
7948
7949 * lisp.h (struct Lisp_Overlay): New field `next'.
7950
7951 * buffer.h (struct buffer): Change overlays_before and overlays_after
7952 from Lisp lists of overlays to pointers to overlays.
7953
7954 * buffer.c (overlay_strings, recenter_overlay_lists):
7955 Fix typo in eassert in last commit.
7956 (unchain_overlay): New function.
7957 (add_overlay_mod_hooklist): Use AREF.
7958 (copy_overlays, reset_buffer, overlays_at, overlays_in)
7959 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
7960 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
7961 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
7962 (report_overlay_modification, evaporate_overlays, init_buffer_once):
7963 Adjust to new type of overlays_(before|after).
7964
7965 * alloc.c (mark_object): Mark the new `next' field of overlays.
7966 (mark_buffer): Manually mark the overlays_(after|before) fields.
7967
7968 * coding.c (run_pre_post_conversion_on_str):
7969 * editfns.c (overlays_around):
7970 * xdisp.c (load_overlay_strings):
7971 * fileio.c (Finsert_file_contents):
7972 * indent.c (current_column):
7973 * insdel.c (signal_before_change, signal_after_change):
7974 * intervals.c (set_point_both):
7975 * print.c (temp_output_buffer_setup): Use new type for
7976 overlays_(before|after).
7977
79782003-07-08 Stefan Monnier <monnier@cs.yale.edu>
7979
7980 * buffer.c (report_overlay_modification): Don't run hooks while
7981 traversing the list of overlays.
7982
7983 * buffer.h (struct buffer): Use an int for overlay_center.
7984 (overlays_at, evaporate_overlays, recenter_overlay_lists)
7985 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
7986
7987 * buffer.c (reset_buffer, recenter_overlay_lists)
7988 (adjust_overlays_for_insert, adjust_overlays_for_delete)
7989 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
7990 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
7991 (overlays_at, evaporate_overlays, recenter_overlay_lists)
7992 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
7993
7994 * xdisp.c (fast_find_position): Remove unused var.
7995
7996 * cmds.c (Qexpand_abbrev): New sym.
7997 (syms_of_cmds): Initialize it.
7998 (internal_self_insert): Use it to call expand-abbrev.
7999
80002003-07-09 Kim F. Storm <storm@cua.dk>
8001
8002 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
8003 was configured with --without-xim.
8004 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
8005
80062003-07-07 Richard M. Stallman <rms@gnu.org>
8007
8008 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
8009
8010 * alloc.c (Fgarbage_collect): Doc fix.
8011
80122003-07-07 Nozomu Ando <nand@mac.com>
8013
8014 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
8015
80162003-07-06 Stefan Monnier <monnier@cs.yale.edu>
8017
8018 * minibuf.c (read_minibuf): UNGCPRO before returning.
8019 (Ftry_completion, Fall_completions): Doc fix.
8020
8021 * alloc.c (live_float_p): Check that p is not past the `floats' array,
8022 now that `floats' is not the last element of the struct any more.
8023
80242003-07-06 Jason Rumney <jasonr@gnu.org>
8025
8026 * w32term.h (ClipboardSequence_Proc): New type.
8027
8028 * w32fns.c (clipboard_sequence_fn): New variable.
8029 (globals_of_w32fns): Initialize it.
8030
8031 * w32select.c (last_clipboard_sequence_number): New variable.
8032 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
8033 number if possible.
8034
80352003-07-06 Stefan Monnier <monnier@cs.yale.edu>
8036
8037 * m/amdx86-64.h (MARKBIT):
8038 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
8039 MARKBIT and ARRAY_MARK_FLAG any more.
8040
8041 * m/hp800.h (XSETMARKBIT):
8042 * m/sr2k.h (XSETMARKBIT):
8043 * lisp.h (XSETMARKBIT): Remove unused macro.
8044
8045 * lisp.h (mark_object): Change prototype.
8046
8047 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
8048 (last_marked): Change accordingly.
8049 (mark_interval, mark_maybe_object, mark_maybe_pointer)
8050 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
8051 (mark_buffer): Update calls to mark_object.
8052
8053 * bytecode.c (mark_byte_stack):
8054 * fns.c (sweep_weak_table):
8055 * keyboard.c (mark_kboards): Update calls to mark_object.
8056
80572003-07-06 Jason Rumney <jasonr@gnu.org>
8058
8059 * alloc.c (struct ablock): Only include padding when there is some.
8060
80612003-07-04 Stefan Monnier <monnier@cs.yale.edu>
8062
8063 * alloc.c (ALIGN): Add casts to simplify usage.
8064 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
8065 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
8066 (struct ablock, struct ablocks): New types.
8067 (free_ablock): New global var.
8068 (lisp_align_malloc, lisp_align_free): New functions.
8069 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
8070 (struct float_block): Reorder and add gcmarkbits.
8071 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
8072 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
8073 (init_float, make_float): Use lisp_align_malloc.
8074 (free_float, live_float_p): Don't use `type' any more.
8075 (make_float): Use FLOAT_UNMARK to access to mark bit.
8076 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
8077 Use FLOAT_MARKED_P to access the mark bit.
8078 (pure_alloc): Simplify use of ALIGN.
8079 (mark_object): Use FLOAT_MARK to access the mark bit.
8080 (gc_sweep): Use new macros to access the float's mark bit.
8081 (init_alloc_once): Init free_ablock.
8082
8083 * lisp.h (struct Lisp_Float): Remove unused field `type'.
8084
80852003-06-27 Stefan Monnier <monnier@cs.yale.edu>
8086
8087 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
8088 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
8089 (allocate_buffer): Move.
8090 (string_bytes): Don't mask markbit of `size_byte'.
8091 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
8092 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
8093 Use the `size' field of buffers (rather than the `name' field) for
8094 the mark bit, as is done for all other vectorlike objects.
8095 Use the new macros to access the mark bit of vectorlike objects.
8096
80972003-06-26 Richard M. Stallman <rms@gnu.org>
8098
8099 * puresize.h (BASE_PURESIZE): Increment base size.
8100
8101 * xdisp.c (fast_find_position): Enable Gerd's new definition.
8102
8103 * xterm.c (xim_initialize): Undo previous change.
8104
81052003-06-26 Stefan Monnier <monnier@cs.yale.edu>
8106
8107 * alloc.c (survives_gc_p): Simplify.
8108
8109 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
8110
8111 * window.c (Fset_window_dedicated_p): Simplify.
8112 (display_buffer_1): Don't raise the win from which minibuf was entered.
8113 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
8114 (Fminibuffer_selected_window): Simplify.
8115
8116 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
8117
8118 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
8119 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
8120
8121 * insdel.c (check_markers, adjust_markers_for_delete)
8122 (adjust_markers_for_insert, adjust_markers_for_replace)
8123 (prepare_to_modify_buffer, RESTORE_VALUE):
8124 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
8125 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
8126 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
8127 * alloc.c (Fmake_marker, free_marker, gc_sweep):
8128 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
8129 * editfns.c (save_excursion_restore, transpose_markers):
8130 * window.c (delete_window):
8131 * xdisp.c (message_dolog): Update for new types.
8132
81332003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8134
8135 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
8136 (realize_default_face): Use default_face_done_p for the force_p
8137 argument to set_lface_from_font_name. Set default_face_done_p to one.
8138
8139 * frame.c (make_frame): Initialize default_face_done_p.
8140
8141 * frame.h (struct frame): Add default_face_done_p.
8142
8143 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
8144 will be defined.
8145
81462003-06-25 Stefan Monnier <monnier@cs.yale.edu>
8147
8148 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
8149 Initialize the new field `gcmarkbit'.
8150 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
8151 (mark_interval_tree): Don't mark the tree separately from the nodes.
8152 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
8153 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
8154 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
8155
8156 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
8157 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
8158 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
8159 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
8160 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
8161
81622003-06-24 Dave Love <fx@gnu.org>
8163
8164 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
8165
8166 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
8167 from gnulib.
8168
81692003-06-21 Richard M. Stallman <rms@gnu.org>
8170
8171 * fileio.c (Fwrite_region): Alternate messages
8172 for append and partial write.
8173
8174 * keyboard.c (read_key_sequence): When converting upcase fn key to
8175 downcase, update fkey and keytran so `backspace' gets translated.
8176
8177 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
8178
8179 * process.c (wait_reading_process_input): Don't signal SIGIO
8180 in batch mode.
8181
81822003-06-17 Kenichi Handa <handa@m17n.org>
8183
8184 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
8185 composite.h.
8186
8187 * xselect.c: Don't include charset.h, coding.h, composite.h.
8188 (Qforeign_selection): New variable.
8189 (syms_of_xselect): Intern and static it.
8190 (selection_data_to_lisp_data): Return a unibyte string made from
8191 data with `foreign-selection' text property.
8192
81932003-06-15 Stefan Monnier <monnier@cs.yale.edu>
8194
8195 * termhooks.h (EVENT_INIT): New macro.
8196
8197 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
8198
8199 * alloc.c (mark_kboards): Move to keyboard.c.
8200
8201 * keyboard.c (record_asynch_buffer_change, read_avail_input):
8202 * xterm.c (x_dispatch_event):
8203 * xmenu.c (find_and_call_menu_selection):
8204 * xdisp.c (handle_tool_bar_click):
8205 * w32menu.c (menubar_selection_callback):
8206 * sysdep.c (kbd_input_ast, read_input_waiting):
8207 * msdos.c (dos_rawgetc):
8208 * macterm.c (mac_check_for_quit_char):
8209 * macmenu.c (menubar_selection_callback):
8210 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
8211 data to kbd_buffer_store_event.
8212
82132003-06-15 Kim F. Storm <storm@cua.dk>
8214
8215 * xdisp.c (x_fix_overlapping_area): Always use area relative X
8216 to fix redisplay problem with tall characters (such as \e,AC\e(B).
8217
82182003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
8219
8220 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
8221
82222003-06-12 Kenichi Handa <handa@m17n.org>
8223
8224 * fileio.c (Fwrite_region): Save and restore restriction.
8225
82262003-06-12 Dave Love <fx@gnu.org>
8227
8228 * alloca.c (alloca): Declare arg as size_t.
8229
8230 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
8231 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
8232
82332003-06-11 Dave Love <fx@gnu.org>
8234
8235 * search.c (shrink_regexp_cache): Use xrealloc.
8236 (syms_of_search): Use xmalloc.
8237
82382003-06-10 Kim F. Storm <storm@cua.dk>
8239
8240 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
8241 Adjust phys_cursor.x to be relative to window box, rather than
8242 text area before checking -- to ensure cursor is redrawn when
8243 exposing window.
8244 Note: This also fixes a similar (older) bug if display margins
8245 are present.
8246
82472003-06-06 Kenichi Handa <handa@m17n.org>
8248
8249 * coding.c (encoding_buffer_size): If coding->type is
8250 coding_type_ccl, double magnification on CRLF encoding.
8251
82522003-06-06 Jason Rumney <jasonr@gnu.org>
8253
8254 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
8255 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
8256
8257 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
8258 Mac too.
8259
82602003-06-05 Dave Love <fx@gnu.org>
8261
8262 * strftime.c: Merge changes from gnulib.
8263
8264 * mktime.c (__mktime_internal): Merge changes from gnulib
8265 involving year 69 and dst2.
8266
8267 Changes to merge with gnulib version and be consistent with the
8268 autoconf test:
8269
8270 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
8271 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
8272 [HAVE_LOCALE_H]: Include locale.h.
8273 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
8274
82752003-06-05 Kim F. Storm <storm@cua.dk>
8276
8277 * window.c (coordinates_in_window): Convert X and Y to window
8278 relative coordinates inside mode-line and header-line parts.
8279 Convert X and Y to margin area relative coordinates inside left
8280 and right display margin parts.
8281
82822003-06-05 Jason Rumney <jasonr@gnu.org>
8283
8284 * w32fns.c (add_system_logical_colors_to_map): New function.
8285 (Fx_open_connection): Use it.
8286
82872003-06-04 Stefan Monnier <monnier@cs.yale.edu>
8288
8289 * process.c (allocate_pty): Revert part of the previous patch.
8290 (Faccept_process_output): Simplify.
8291
82922003-06-04 Jason Rumney <jasonr@gnu.org>
8293
8294 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
8295
8296 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
8297 (lispy_mouse_wheel_names): Remove.
8298 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
8299 Always define drag_and_drop_syms.
8300
8301 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
8302 WHEEL_EVENT events.
8303
83042003-06-03 Stefan Monnier <monnier@cs.yale.edu>
8305
8306 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
8307
8308 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
8309
83102003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8311
8312 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
8313 menu item label.
8314
83152003-06-03 Richard M. Stallman <rms@gnu.org>
8316
8317 * window.c (Fwindow_edges): Doc fix.
8318 (Fwindow_pixel_edges, Fwindow_inside_edges)
8319 (Fwindow_inside_pixel_edges): New functions.
8320 (syms_of_window): defsubr them.
8321
8322 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
8323 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
8324
83252003-06-02 Stefan Monnier <monnier@cs.yale.edu>
8326
8327 * dispnew.c (Fsit_for): Don't lie about the number of args.
8328
83292003-06-02 Dave Love <fx@gnu.org>
8330
8331 * callproc.c: Use HAVE_FCNTL_H, not USG5.
8332 (syms_of_callproc) <process-environment>: Doc fix.
8333
8334 * doc.c: Use HAVE_FCNTL_H, not USG5.
8335
8336 * xfaces.c (font_rescale_ratio): Fix for K&R.
8337
8338 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
8339
8340 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
8341
8342 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
8343
8344 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
8345 (xg_create_frame_widgets): Use ENCODE_UTF_8.
8346
8347 * xterm.c (Qutf_8): Move to coding.c
8348
8349 * xmenu.c (ENCODE_MENU_STRING): New.
8350 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
8351 Use it.
8352
8353 * coding.h (ENCODE_UTF_8): New.
8354 (Qutf_8): Declare.
8355
8356 * coding.c (Qutf_8): New.
8357 (syms_of_coding): Intern it.
8358
8359 * fns.c: Doc fixes.
8360
83612003-06-02 Kenichi Handa <handa@m17n.org>
8362
8363 * buffer.c (Fset_buffer_multibyte): Fix previous change.
8364
83652003-06-01 Stefan Monnier <monnier@cs.yale.edu>
8366
8367 * lread.c (openp): Make sure STR is a string.
8368
83692003-06-01 David Ponce <david@dponce.com>
8370
8371 * termhooks.h (enum event_kind): Add new WHEEL_EVENT event.
8372 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
8373
8374 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
8375 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
8376 (discard_mouse_events): Discard WHEEL_EVENT events too.
8377 (lispy_wheel_names, wheel_syms): New.
8378 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
8379 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX defined.
8380 (make_lispy_event): Add WHEEL_EVENT handler.
8381
8382 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
8383 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
8384 WHEEL_EVENT events.
8385
83862003-05-31 John Paul Wallington <jpw@gnu.org>
8387
8388 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
8389 timer are in lisp/emacs-lisp.
8390
83912003-05-31 Kenichi Handa <handa@m17n.org>
8392
8393 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
8394 region when a buffer is changed to unibyte.
8395
8396 * charset.h (VALID_LEADING_CODE_P): New macro.
8397 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
8398
8399 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
8400 is nonzero, accept multibyte form of eight-bit-control chars.
8401 (decode_composition_emacs_mule): Likewise.
8402 (decode_coding_emacs_mule): Likewise.
8403 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
8404 multibyte form of eight-bit-control chars.
8405
8406 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
8407 (Finsert_file_contents): If coding-system-for-read is bound to
8408 Qauto_save_coding, use the coding system emacs-mule with special
8409 setting for recovering a file.
8410 (choose_write_coding_system): On auto saving, use the coding
8411 system emacs-mule with special setting for auto saving.
8412 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
8413
84142003-05-30 Kenichi Handa <handa@m17n.org>
8415
8416 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
8417 properly before calling ccl_driver.
8418
8419 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
8420
8421 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is nonzero.
8422 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
8423 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
8424
84252003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
8426
8427 * xfaces.c (realize_default_face): Do not abort if lface is
8428 non-existent - reverts change from 2003-05-19.
8429
84302003-05-29 Kenichi Handa <handa@m17n.org>
8431
8432 * coding.c (decode_coding_iso2022): Pay attention to the byte
8433 sequence of CTEXT extended segment, and retain those bytes as is.
8434
84352003-05-28 Kenichi Handa <handa@m17n.org>
8436
8437 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjust for the name change
8438 of CODING_REPLACEMENT_CHARACTER.
8439 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
8440 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
8441 check this flag on encoding.
8442 (encode_coding_sjis_big5):
8443 Check CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
8444 (Fset_terminal_coding_system_internal):
8445 Set CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
8446 instead of setting CODING_FLAG_ISO_SAFE flag in terminal_coding.flags.
8447
8448 * coding.h (CODING_REPLACEMENT_CHARACTER): Rename from
8449 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
8450 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
8451
84522003-05-28 Richard M. Stallman <rms@gnu.org>
8453
8454 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
8455
8456 * eval.c (unbind_to): Move init of this_binding to separate statement.
8457
84582003-05-28 Kim F. Storm <storm@cua.dk>
8459
8460 * xdisp.c (expose_window): Fix error in calculation of
8461 window relative coordinates of area to redisplay.
8462
84632003-05-27 Jason Rumney <jasonr@gnu.org>
8464
8465 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
8466
84672003-05-27 David Ponce <david@dponce.com>
8468
8469 Handle W32 mouse wheel events as mouse click events, like in X.
8470
8471 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
8472 MOUSE_WHEEL_EVENT anymore.
8473
8474 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
8475 Scrolling down/up the mouse wheel is respectively mapped to mouse
8476 button 4 and 5.
8477 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
8478 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
8479 WM_MOUSEWHEEL events.
8480
84812003-05-27 Andreas Schwab <schwab@suse.de>
8482
8483 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
8484
8485 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
8486 partially visible line.
8487
8488 * alloc.c (Fgarbage_collect): Fix last change.
8489
84902003-05-26 John Paul Wallington <jpw@gnu.org>
8491
8492 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
8493
84942003-05-25 Stefan Monnier <monnier@cs.yale.edu>
8495
8496 * window.c (Fset_window_buffer): Add type of `keep_margins'.
8497 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
8498
8499 * window.h (window_box_text_cols): Declare.
8500
8501 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
8502 (x_draw_vertical_border): Remove unused var `f'.
8503
8504 * xfaces.c (build_scalable_font_name): Remove `unused var
8505 pixel_size' warning.
8506
8507 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
8508
8509 * unexelf.c (unexec): Remove `unused var n' warning.
8510
8511 * strftime.c (my_strftime_localtime_r): Remove `defined but
8512 unused' warning.
8513
8514 * process.c (allocate_pty): Remove `unused var stb' and
8515 `cp might be used uninitialized' warnings.
8516
8517 * dispnew.c (mode_line_string): Remove unused var `f'.
8518
8519 * coding.c (find_safe_codings): Remove unused var `i'.
8520
8521 * bytecode.c (Fbyte_code): Remove `unused val' warning.
8522
8523 * buffer.c (Fkill_buffer): Remove unused var `list'.
8524
8525 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
8526
85272003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8528
8529 * frame.c (make_frame): Condition want_fullscreen with
8530 HAVE_WINDOW_SYSTEM.
8531
85322003-05-25 Juanma Barranquero <lektu@terra.es>
8533
8534 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
8535 (Fwindow_scroll_bars): Fix typo in docstring.
8536
85372003-05-24 Kim F. Storm <storm@cua.dk>
8538
8539 The following changes serve several purposes:
8540
8541 1) Swap the position of fringes and display margins in windows, i.e.
8542 the fringes are now displayed between the margins and the text area
8543 (by default).
8544
8545 2) Allow fringe and scroll bar parameters to be set per-buffer and
8546 per-window (like display margins). Such settings are now stored
8547 in window configurations, preserved when frames are resized, and
8548 copied when windows are split vertically or horizontally.
8549 Several bugs related to display margins have been fixed.
8550
8551 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
8552
8553 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
8554 rather than FRAME_WIDTH (FRAME_FONT (f)).
8555
8556 5) Introduce a consistent naming of variables, members and macros
8557 depending on whether their value is measured in pixels or in
8558 canonical columns/lines. Pixel dimensions are named *_width and
8559 *_height, while canonical columns/lines are named *_cols and
8560 *_lines. Pixel positions are named *_x and *_y, while column/line
8561 positions are named *_col and *_line.
8562
8563 6) Consolidate more of the X, W32, and MAC gui code by moving
8564 common data into struct frame, and generalize it for the non-gui
8565 case by using suitable defaults.
8566
8567 7) Cleanup and consolidate the macros controlling frame and window
8568 layout into frame.h and window.h, and generalize the use of the
8569 various window_box_* functions (enhanced to handle the new fringe
8570 position and the per-window fringe and scroll bar settings).
8571
8572 * frame.h (struct frame): Rename members height to text_lines,
8573 width to text_cols, window_height to total_lines, window_width to
8574 total_cols, new_height to new_text_lines, new_width to
8575 new_text_cols. All uses changed.
8576 (struct frame): New members which consolidate common members of
8577 x_output, w32_output, and mac_output structures: left_pos,
8578 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
8579 win_gravity, size_hint_flags, border_width, internal_border_width,
8580 line_height, fringe_cols, left_fringe_width, right_fringe_width,
8581 want_fullscreen. All uses changed.
8582 (struct frame): New member column_width contaning the canonical
8583 column width, analogue to line_height. All uses changed.
8584 (struct frame): Rename members scroll_bar_pixel_width to
8585 config_scroll_bar_width, and scroll_bar_cols to
8586 config_scroll_bar_cols. All uses changed.
8587 (struct frame): New member scroll_bar_actual_width which
8588 consolidates and renames the vertical_scroll_bar_extra member of
8589 x_output, w32_output, and mac_output structures. All uses changed.
8590 (FRAME_PIXEL_HEIGHT): Rename from PIXEL_HEIGHT and moved
8591 from x/w32/macterm.h files. All uses changed. Also change code
8592 which referred to f->output_data...->pixel_height.
8593 (FRAME_PIXEL_WIDTH): Rename from PIXEL_WIDTH and moved
8594 from x/w32/macterm.h files. All uses changed. Also change code
8595 which referred to f->output_data...->pixel_width.
8596 (FRAME_LINES): Rename from FRAME_HEIGHT. All uses changed.
8597 Also change code which referred to f->height.
8598 (FRAME_COLS): Rename from FRAME_WIDTH. All uses changed.
8599 Also change code which referred to f->width.
8600 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
8601 to update new_text_lines and new_text_cols members directly.
8602 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Rename from
8603 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
8604 (FRAME_CONFIG_SCROLL_BAR_COLS): Rename from
8605 FRAME_SCROLL_BAR_COLS. All uses changed.
8606 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
8607 Rename from FRAME_LEFT_SCROLL_BAR_WIDTH and
8608 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
8609 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
8610 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
8611 (FRAME_TOTAL_COLS): Rename from FRAME_WINDOW_WIDTH.
8612 (SET_FRAME_COLS): Rename from SET_FRAME_WIDTH.
8613 (FRAME_TOTAL_COLS_ARG): Rename from FRAME_WINDOW_WIDTH_ARG.
8614 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
8615 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
8616 (FRAME_LINE_HEIGHT): Rename from CANON_Y_UNIT.
8617 Unconditionally return line_height member (it now has proper value
8618 also for non-window frames).
8619 (FRAME_COLUMN_WIDTH): Rename from CANON_X_UNIT. Unconditionally
8620 return new column_width member (rather than the default font width).
8621 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
8622 (FRAME_RIGHT_FRINGE_WIDTH): Rename from FRAME_X_... and moved
8623 from x/w32/macterm.h files. Unconditionally return corresponding
8624 member of frame structure (they now have proper values also for
8625 non-window frames).
8626 (FRAME_TOTAL_FRINGE_WIDTH): Rename from FRAME_FRINGE_WIDTH.
8627 Calculate return value from left and right widths.
8628 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
8629 internal_border_width member (has proper value for non-window frame).
8630 (FRAME_PIXEL_X_FROM_CANON_X): Rename from PIXEL_X_FROM_CANON_X.
8631 (FRAME_PIXEL_Y_FROM_CANON_Y): Rename from PIXEL_Y_FROM_CANON_Y.
8632 (FRAME_CANON_X_FROM_PIXEL_X): Rename from CANON_X_FROM_PIXEL_X.
8633 (FRAME_CANON_Y_FROM_PIXEL_Y): Rename from CANON_Y_FROM_PIXEL_Y.
8634 (FRAME_LINE_TO_PIXEL_Y): Rename from CHAR_TO_PIXEL_ROW,
8635 consolidated from xterm.h, macterm.h, and w32term.h.
8636 (FRAME_COL_TO_PIXEL_X): Rename from CHAR_TO_PIXEL_COL,
8637 consolidated from xterm.h, macterm.h, and w32term.h.
8638 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Rename from
8639 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
8640 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Rename from
8641 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
8642 (FRAME_PIXEL_Y_TO_LINE): Rename from PIXEL_TO_CHAR_ROW
8643 consolidated from x/mac/w32term.h.
8644 (FRAME_PIXEL_X_TO_COL): Rename from PIXEL_TO_CHAR_COL
8645 consolidated from x/mac/w32term.h.
8646 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Rename from
8647 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
8648 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Rename from
8649 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
8650
8651 * window.h (struct window): Rename members left to left_col,
8652 top to top_line, height to total_lines, width to total_cols,
8653 left_margin_width to left_margin_cols, right_margin_width to
8654 right_margin_cols, orig_height to orig_total_lines, orig_top to
8655 orig_top_line. All uses changed.
8656 (struct window): New members left_fringe_width, right_fringe_width,
8657 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
8658 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
8659 New macros primarily used to simplify other macros.
8660 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
8661 referred to XINT (w->width).
8662 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
8663 referred to XINT (w->height).
8664 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
8665 referred to XINT (w->width) * canon_x_unit.
8666 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
8667 referred to XINT (w->height) * canon_y_unit.
8668 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
8669 referred to XINT (w->left).
8670 (WINDOW_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_EDGE. Change
8671 all uses and code that referred to XINT (w->left) + XINT (w->width).
8672 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
8673 referred to XINT (w->top).
8674 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
8675 referred to XINT (w->top) + XINT (w->height).
8676 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
8677 referred to XINT (w->left) * canon_x_unit.
8678 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
8679 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
8680 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
8681 referred to XINT (w->top) * canon_y_unit.
8682 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
8683 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
8684 (WINDOW_LEFTMOST_P): New macro.
8685 (WINDOW_BOX_LEFT_EDGE_COL): Rename from WINDOW_LEFT_MARGIN.
8686 All uses changed.
8687 (WINDOW_BOX_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_MARGIN.
8688 All uses changed.
8689 (WINDOW_BOX_LEFT_EDGE_X): Rename from
8690 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
8691 Do not exclude left fringe width.
8692 (WINDOW_BOX_RIGHT_EDGE_X): Rename from
8693 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
8694 Do not exclude fringe widths.
8695 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
8696 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
8697 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
8698 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
8699 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
8700 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
8701 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
8702 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
8703 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
8704 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
8705 New macros. Change code which referenced corresponding
8706 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
8707 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
8708 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
8709 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
8710 allow per-window scroll-bar settings.
8711 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
8712 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
8713 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
8714 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
8715 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
8716 FRAME_SCROLL_BAR_WIDTH.
8717 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
8718 (WINDOW_SCROLL_BAR_AREA_X): New macros.
8719 (WINDOW_HEADER_LINE_HEIGHT): Rename from
8720 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
8721 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Rename from
8722 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
8723 (WINDOW_BOX_TEXT_HEIGHT): Rename from
8724 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
8725 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
8726 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
8727 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Move here from dispextern.h.
8728 (WINDOW_LEFT_MARGIN_WIDTH): Rename from
8729 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
8730 (WINDOW_RIGHT_MARGIN_WIDTH): Rename from
8731 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
8732 (window_from_coordinates): Update prototype.
8733 (Fset_window_buffer): Update EXFUN.
8734 (set_window_buffer): Update prototype.
8735
8736 * dispextern.h (struct glyph_matrix): Rename members window_left_x
8737 to window_left_col, window_top_y to window_top_line. All uses
8738 changed.
8739 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
8740 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
8741 internal_border_width is now set to 0 for non-window frames.
8742 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
8743 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
8744 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
8745 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
8746 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
8747 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
8748 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
8749 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
8750 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
8751 Move to window.h and renamed [see window.h changes].
8752 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
8753 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
8754 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
8755 Use WINDOW_TOTAL_LINES.
8756 (frame_update_line_height): Remove prototype.
8757
8758 * buffer.h (struct buffer): Rename members measured in columns:
8759 left_margin_width to left_margin_cols, right_margin_width to
8760 right_margin_cols. All uses changed.
8761 New members left_fringe_width, right_fringe_width,
8762 fringes_outside_margins for per-buffer fringe settings.
8763 New members scroll_bar_width and vertical_scroll_bar_type for
8764 per-buffer scroll bar settings.
8765
8766 * buffer.c (init_buffer_once): Set buffer_defaults and
8767 buffer_local_flags for new buffer-local variables
8768 left_fringe_width, right_fringe_width, fringes_outside_margins,
8769 scroll_bar_width, and vertical_scroll_bar_type.
8770 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
8771 default-* variables for them.
8772
8773 * dispnew.c: Make (many) trivial substitutions for renamed and
8774 new macros in dispextern.h, frame.h and window.h.
8775 (mode_line_string): No need to adjust width for mode lines, as it
8776 is already adjusted by the caller.
8777 (marginal_area_string): Handle fringes inside/outside margins.
8778
8779 * frame.c: Make (many) trivial substitutions for renamed and
8780 new macros in dispextern.h, frame.h and window.h.
8781 (make_frame): Initialize left_fringe_width, right_fringe_width,
8782 fringe_cols, scroll_bar_actual_width, border_width,
8783 internal_border_width, column_width, line_height, x_pixels_diff,
8784 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
8785 members with values suitable for a non-window frames.
8786
8787 * gtkutil.c: Make (many) trivial substitutions for renamed and
8788 new macros in dispextern.h, frame.h and window.h.
8789
8790 * indent.c: Make (few) trivial substitutions for renamed and
8791 new macros in dispextern.h, frame.h and window.h.
8792
8793 * keyboard.c: Make (many) trivial substitutions for renamed and
8794 new macros in dispextern.h, frame.h and window.h.
8795 (make_lispy_event): Use window positions returned from
8796 window_from_coordinates when constructing the lisp event for
8797 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
8798 (incorrect) values locally.
8799 (make_lispy_movement): Use window positions returned from
8800 window_from_coordinates when constructing the lisp event, rather
8801 than calculating (incorrect) values locally.
8802
8803 * scroll.c: Make (some) trivial substitutions for renamed and
8804 new macros in dispextern.h, frame.h and window.h.
8805
8806 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
8807 scroll-bars.
8808
8809 * sysdep.c: Make (few) trivial substitutions for renamed and
8810 new macros in dispextern.h, frame.h and window.h.
8811
8812 * term.c: Make (some) trivial substitutions for renamed and
8813 new macros in dispextern.h, frame.h and window.h.
8814
8815 * widget.c: Make (few) trivial substitutions for renamed and
8816 new macros in dispextern.h, frame.h and window.h.
8817
8818 * window.c: Make (many) trivial substitutions for renamed and
8819 new macros in dispextern.h, frame.h and window.h.
8820 (make_window): Initialize new members
8821 left_margin_cols, right_margin_cols, left_fringe_width,
8822 right_fringe_width, fringes_outside_margins, scroll_bar_width,
8823 and vertical_scroll_bar_type.
8824 (coordinates_in_window): Adapt to new fringe/margin positions
8825 and per-window fringes and scroll-bars.
8826 Fix bug related to incorrectly adjusting coordinates by
8827 frame's internal_border_width (the effect normally negible since
8828 the internal_border_width is typically 0 or 1 pixel, but very
8829 noticeable for an internal_border_width of e.g. 25 pixels).
8830 Upon successful return (other than ON_NOTHING), the coordinates
8831 are now always properly converted to window relative for the
8832 given display element.
8833 (window_from_coordinates): Add new parameters wx and wy to
8834 return the window relative x and y position in the returned
8835 window and part. A null arg means, don't return the position.
8836 All callers changed.
8837 (adjust_window_margins): New function which may reduce the width
8838 of the display margins if a window's text area is too small after
8839 resizing or splitting windows.
8840 (size_window): Fix bug that did not account for display margin
8841 widths when checking the minimum width of a window; use
8842 adjust_window_margins.
8843 (set_window_buffer): Call Fset_window_fringes and
8844 Fset_window_scroll_bars to setup per-window elements.
8845 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
8846 existing display margin, fringe widths, and scroll bar settings
8847 (e.g. after splitting a window or resizing the frame).
8848 All callers changed.
8849 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
8850 (Fsplit_window): Duplicate original window's display margin,
8851 fringe, and scroll-bar settings; then call Fset_window_buffer with
8852 KEEP_MARGINS non-nil. This fixes a bug which caused a split
8853 window to only preserve the display margins in one of the windows.
8854 When splitting horizontally, call adjust_window_margins on both
8855 windows to ensure that the text area of the new windows is non too
8856 narrow. This fixes a bug which could cause Emacs to trap if the
8857 width of the split window was less than the width of the display
8858 margins.
8859 (window_box_text_cols): Rename from window_internal_width.
8860 All uses changed. Adapt to per-window fringes and scroll bars.
8861 Fix bug that caused vertical separator to be subtracted also on
8862 window frames. Fix another bug that did not reduce the returned
8863 value by the columns used for display margins.
8864 (window_scroll_line_based): Fix bug related to scrolling too much
8865 when display margins are present (implicitly fixed by the fix to
8866 window_box_text_cols).
8867 (scroll_left, scroll_right): Fix bug related to scrolling too far
8868 by default when display margins are present (implicitly fixed by
8869 the fix to window_box_text_cols).
8870 (struct saved_window): Rename members left to left_col, top to
8871 top_line, width to total_cols, height to total_lines, orig_top to
8872 orig_top_line, orig_height to orig_total_lines. All uses changed.
8873 New members left_margin_cols, right_margin_cols,
8874 left_fringe_width, right_fringe_width, fringes_outside_margins,
8875 scroll_bar_width, and vertical_scroll_bar_type for saving
8876 per-window display elements.
8877 (Fset_window_configuration): Restore display margins, fringes,
8878 and scroll bar settings. This fixes a bug which caused display
8879 margins to be discarded when saving and restoring a window
8880 configuration.
8881 (save_window_save): Save display margins, fringes, and scroll bar
8882 settings. This fixes a bug which caused display margins to be
8883 discarded when saving and restoring a window configuration.
8884 (Fset_window_margins): Do nothing if display margins are not
8885 really changed. Otherwise, call adjust_window_margins to ensure
8886 the text area doesn't get too narrow. This fixes a bug which
8887 could cause Emacs to trap if setting display margins wider than
8888 the width of the window.
8889 (Fset_window_fringes): New defun to allow user to specifically set
8890 this window's fringe widths and position vs. display margins.
8891 (Fwindow_fringes): New defun to return window's actual fringe settings.
8892 (Fset_window_scroll_bars): New defun to allow user to specifically
8893 set this window's scroll bar width and position.
8894 (Fwindow_scroll_bars): New defun to return window's actual scroll
8895 bar settings.
8896 (compare_window_configurations): Also compare display margins,
8897 fringes, and scroll bar settings.
8898 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
8899
8900 * xdisp.c: Make (many) trivial substitutions for renamed and
8901 new macros in dispextern.h, frame.h and window.h.
8902 (window_box_width): Adapt to per-window fringes and scroll bars,
8903 and new fringe vs. display margin position. Note that returned
8904 value is no longer guaranteed to be a whole multiple of the frame
8905 column width, since per-window fringes may now be any width.
8906 (window_box_left_offset): New function like window_box_left, but
8907 value is relative to left border of window (rather than frame).
8908 (window_box_right_offset): New function like window_box_right,
8909 but value is relative to left border of window.
8910 (window_box_left): Adapt to per-window fringes and scroll bars,
8911 and new fringe vs. display margin position. Simplify by using
8912 WINDOW_LEFT_EDGE_X and window_box_left_offset.
8913 (window_box): Allow null args for unnecessary return values;
8914 change/simplify relevant callers.
8915 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
8916 and new fringe vs. display margin position.
8917 Use window_box_left_offset and window_box_right_offset
8918 (get_glyph_string_clip_rect): Adapt to per-window fringes and
8919 scroll bars, and new fringe vs. display margin position.
8920 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
8921 (draw_fringe_bitmap): Rework to handle per-window fringes and new
8922 fringe vs. display margin position.
8923 (hscroll_window_tree): Use window_box_width instead of window_box.
8924 (redisplay_window): Adapt to per-window scroll bars.
8925 (draw_glyphs): Rework to handle per-window fringes and scroll
8926 bars, and new fringe vs. display margin position.
8927 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
8928 (x_clear_end_of_line): Adapt to per-window fringes and scroll
8929 bars, and new fringe vs. display margin position. Fix bug which
8930 increased total width of full_width rows by width of scroll bars
8931 although window's total width already includes that.
8932 (x_fix_overlapping_area): Simplify using window_box_left_offset.
8933 (expose_area): Simplify using window_box_left_offset.
8934 (x_draw_vertical_border): Handle per-window scroll bar settings,
8935 mixing windows with left, right and no scroll bars.
8936
8937 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
8938 where it's used in x_list_fonts (for clarity).
8939 (frame_update_line_height): Remove unused function; functionality
8940 is now done directly when setting the default font in x_set_font.
8941
8942 * xfns.c: Make (many) trivial substitutions for renamed and
8943 new macros in dispextern.h, frame.h and window.h.
8944
8945 * xmenu.c: Make (some) trivial substitutions for renamed and
8946 new macros in dispextern.h, frame.h and window.h.
8947
8948 * xterm.h (struct x_output): Move members left_pos, top_pos,
8949 border_width, pixel_height, pixel_width, line_height,
8950 internal_border_width, vertical_scroll_bar_extra,
8951 left_fringe_width, right_fringe_width, fringe_cols,
8952 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
8953 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
8954 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
8955 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
8956 (PIXEL_WIDTH, PIXEL_HEIGHT)
8957 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
8958 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
8959 frame.h and renamed [see frame.h changes].
8960 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
8961 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
8962 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
8963 and renamed [see frame.h changes].
8964
8965 * xterm.c: Make (several) trivial substitutions for renamed and
8966 new macros in dispextern.h, frame.h and window.h.
8967 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
8968 (scroll_run): Adapt to new fringe position.
8969 (glyph_rect): Use window coordinates returned from
8970 window_from_coordinates rather than frame_to_window_pixel_xy.
8971 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
8972 scroll-bars.
8973 (handle_one_xevent): Simplify a USE_GTK conditional.
8974 (x_clip_to_row): Remove superfluous whole_line_p arg and code
8975 (fringes are now inside margins, i.e. always in the clipping area).
8976 All callers changed.
8977 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
8978 directly, then call compute_fringe_widths. Don't call
8979 frame_update_line_height.
8980
8981 * w32term.h (struct w32_output): Move members left_pos, top_pos,
8982 border_width, pixel_height, pixel_width, line_height,
8983 internal_border_width, vertical_scroll_bar_extra,
8984 left_fringe_width, right_fringe_width, fringe_cols,
8985 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
8986 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
8987 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
8988 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
8989 (PIXEL_WIDTH, PIXEL_HEIGHT)
8990 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
8991 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
8992 frame.h and renamed [see frame.h changes].
8993 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
8994 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
8995 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
8996 and renamed [see frame.h changes].
8997
8998 * w32term.c: Make (several) trivial substitutions for renamed and
8999 new macros in dispextern.h, frame.h and window.h.
9000 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
9001 (glyph_rect): Use window coordinates returned from
9002 window_from_coordinates rather than frame_to_window_pixel_xy.
9003 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
9004 scroll-bars.
9005 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
9006 (fringes are now inside margins, i.e. always in the clipping area).
9007 All callers changed.
9008 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
9009 directly, then call compute_fringe_widths. Don't call
9010 frame_update_line_height.
9011
9012 * w32console.c: Make (few) trivial substitutions for renamed and
9013 new macros in dispextern.h, frame.h and window.h.
9014
9015 * w32fns.c: Make (many) trivial substitutions for renamed and
9016 new macros in dispextern.h, frame.h and window.h.
9017
9018 * w32menu.c: Make (few) trivial substitutions for renamed and
9019 new macros in dispextern.h, frame.h and window.h.
9020
9021 * macterm.h (struct mac_output): Move members left_pos, top_pos,
9022 border_width, pixel_height, pixel_width, line_height,
9023 internal_border_width, vertical_scroll_bar_extra,
9024 left_fringe_width, right_fringe_width, fringe_cols,
9025 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
9026 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
9027 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
9028 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
9029 (PIXEL_WIDTH, PIXEL_HEIGHT)
9030 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
9031 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
9032 frame.h and renamed [see frame.h changes].
9033 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
9034 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
9035 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
9036 and renamed [see frame.h changes].
9037
9038 * macterm.c: Make (several) trivial substitutions for renamed and
9039 new macros in dispextern.h, frame.h and window.h.
9040 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
9041 (glyph_rect): Use window coordinates returned from
9042 window_from_coordinates rather than frame_to_window_pixel_xy.
9043 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
9044 scroll-bars.
9045 (x_clip_to_row): Remove superfluous whole_line_p arg and code
9046 (fringes are now inside margins, i.e. always in the clipping area).
9047 All callers changed.
9048 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
9049 directly, then call compute_fringe_widths. Don't call
9050 frame_update_line_height.
9051
9052 * macfns.c: Make (several) trivial substitutions for renamed and
9053 new macros in dispextern.h, frame.h and window.h.
9054 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
9055
9056 * macmenu.c: Make (few) trivial substitutions for renamed and
9057 new macros in dispextern.h, frame.h and window.h.
9058
9059 * msdos.h (struct x_output): Remove members left_pos, top_pos,
9060 and line_height, and use corresponding new members in struct
9061 frame. All uses changed.
9062 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
9063 superseeded by corresponding macros in frame.h.
9064
9065 * msdos.c: Make (several) trivial substitutions for renamed and
9066 new macros in dispextern.h, frame.h and window.h.
9067 (IT_note_mouse_highlight): Use updated window coordinates returned
9068 by window_from_coordinates, rather than adjusting them locally.
9069 (internal_terminal_init): No need to initialize line_height here;
9070 it now defaults to 1.
9071
90722003-05-24 Stefan Monnier <monnier@cs.yale.edu>
9073
9074 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
9075 dropping `down' events.
9076
90772003-05-24 Andreas Schwab <schwab@suse.de>
9078
9079 * coding.c (find_safe_codings): Fix last change.
9080
90812003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
9082
9083 * xfns.c (x_window): Fix typo from 2003-05-21 change.
9084
90852003-05-23 Stefan Monnier <monnier@cs.yale.edu>
9086
9087 * xdisp.c (display_mode_element): Increase max depth.
9088 Simplify the error handling code. Use a different error string
9089 for the case where we hit the depth limit.
9090
9091 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
9092
9093 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
9094
90952003-05-21 Stefan Monnier <monnier@cs.yale.edu>
9096
9097 * intervals.c (get_local_map): Don't get char-property of previous
9098 point any more: get_pos_property already does it and better.
9099
91002003-05-21 Dave Love <fx@gnu.org>
9101
9102 [Merged from unicode branch.]
9103
9104 * xfns.c (x_window, x_window): Use use_xim.
9105
9106 * xterm.c (use_xim): Initialize.
9107 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
9108 (x_term_init): Maybe set use_xim.
9109
9110 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
9111
91122003-05-21 Jason Rumney <jasonr@gnu.org>
9113
9114 * unexw32.c (_start): Remove _fmode initialization.
9115
9116 * emacs.c (main) [WINDOWSNT]: Move it here.
9117
91182003-05-20 Dave Love <fx@gnu.org>
9119
9120 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
9121
91222003-05-19 Richard M. Stallman <rms@gnu.org>
9123
9124 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
9125 as value for QCfont attribute.
9126 (realize_default_face): lface should already exist; crash if not.
9127 Specify 0 for FORCE_P when calling set_lface_from_font_name.
9128
9129 * frame.c (Fignore_event): Doc fix.
9130
91312003-05-19 Kenichi Handa <handa@m17n.org>
9132
9133 * coding.c (decode_coding_string): Handle post-read-conversion
9134 even if the coding doesn't require decoding.
9135
91362003-05-18 Richard M. Stallman <rms@gnu.org>
9137
9138 * callproc.c (Fcall_process_region): Doc fix.
9139
91402003-05-17 Stefan Monnier <monnier@cs.yale.edu>
9141
9142 * lread.c (Fload): Print a message if package is obsolete.
9143
9144 * window.c (Fselect_window): Add optional `norecord' arg.
9145 (select_window_1): Fold into Fselect_window.
9146 (select_window_norecord): New function.
9147 (temp_output_buffer_show): Use it. Preserve current buffer.
9148
9149 * window.h (Fselect_window): Update declaration.
9150
9151 * window.c (delete_window, Fother_window, Fset_window_configuration):
9152 * minibuf.c (read_minibuf):
9153 * macterm.c (x_new_focus_frame):
9154 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
9155 * callint.c (Fcall_interactively):
9156 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
9157
9158 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
9159
91602003-05-17 David Kastrup <dak@gnu.org>
9161
9162 * process.c (read_process_output): Back out change from 2003-03-09.
9163
91642003-05-17 Stefan Monnier <monnier@cs.yale.edu>
9165
9166 * editfns.c (get_pos_property): Don't assume that `object' = nil.
9167
9168 * textprop.c (text_property_stickiness): New arg `buffer'.
9169
9170 * intervals.h (text_property_stickiness): New arg `buffer'.
9171 (get_pos_property): Declare.
9172
9173 * intervals.c (get_local_map): Use get_pos_property, to obey
9174 stickiness and empty overlays.
9175 (create_root_interval, graft_intervals_into_buffer): Use BEG.
9176 (merge_properties, intervals_equal, merge_properties_sticky):
9177 Use XCAR, XCDR.
9178 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
9179
91802003-05-17 Richard M. Stallman <rms@gnu.org>
9181
9182 * minibuf.c (read_minibuf): If buffer is empty, record the default
9183 in the history.
9184 (Fminibuffer_complete_word): When deleting the overlap, take account
9185 of its real position.
9186
9187 * fns.c (map_char_table): Fix previous change.
9188
9189 * syntax.c (find_defun_start):
9190 When open_paren_in_column_0_is_defun_start,
9191 return beginning of buffer.
9192
9193 * lisp.h (map_char_table): Declare added arg.
9194
9195 * fns.c (map_char_table): New arg TABLE gets the master table.
9196 All calls changed.
9197 Process default and inheritance, resorting to Faref if necessary.
9198
9199 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
9200 (Faccessible_keymaps): Pass new arg to map_char_table.
9201
9202 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
9203
9204 * casetab.c (set_case_table): Pass new arg to map_char_table.
9205
9206 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
9207
9208 * lisp.h (specbinding_func): New typedef.
9209 (struct specbinding): Use specbinding_func, to put the `volatile'
9210 in the right place.
9211
9212 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
9213 to avoid GCC warning.
9214
92152003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org>
9216
9217 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
9218
92192003-05-15 Stefan Monnier <monnier@cs.yale.edu>
9220
9221 * keyboard.c (apply_modifiers): Don't fill the other cache.
9222
92232003-05-14 Stefan Monnier <monnier@cs.yale.edu>
9224
9225 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
9226
9227 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
9228 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
9229 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
9230 (Fset_window_configuration, Fcurrent_window_configuration)
9231 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
9232 (Fpos_visible_in_window_p, mark_window_cursors_off)
9233 (window_internal_height, window_internal_width, Frecenter)
9234 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
9235 (replace_buffer_in_all_windows, init_window_once, init_window)
9236 (syms_of_window, keys_of_window): Move from lisp.h.
9237 * lisp.h: Move window.c declarations to window.h.
9238
9239 * bytecode.c: Include window.h.
9240 * emacs.c: Include window.h.
9241
9242 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
9243 (keyremap): Add `parent' field.
9244 (keyremap_step): Use it. Remove `parent' argument.
9245 (read_key_sequence): Setup and use the new `parent' field.
9246
92472003-05-11 Stefan Monnier <monnier@cs.yale.edu>
9248
9249 * keyboard.c (adjust_point_for_property): Ensure termination.
9250
92512003-05-10 Stefan Monnier <monnier@cs.yale.edu>
9252
9253 * keyboard.c (follow_key): Remove dead variable `did_meta'.
9254 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
9255 duplicated handling of function-key-map and key-translation-map
9256 in read_key_sequence.
9257 (read_key_sequence): Use them.
9258
9259 * keyboard.c (adjust_point_for_property): Try harder to move point
9260 to the non-sticky end of an invisible property.
9261
9262 * xdisp.c (single_display_prop_intangible_p): Make `space' display
9263 property intangible as well.
9264
92652003-05-10 Andreas Schwab <schwab@suse.de>
9266
9267 * xmenu.c (single_menu_item): Change last parameter to void* to
9268 avoid warning.
9269
92702003-05-09 Richard M. Stallman <rms@gnu.org>
9271
9272 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
9273 Bind Qinhibit_modification_hooks to t so there will be no GC.
9274 Rename local `tem' to `save_deactivate_mark'.
9275
9276 * eval.c (specpdl_ptr): Declare volatile.
9277 (unbind_to): Copy the whole binding and decrement specpdl_ptr
9278 before doing the work of unbinding it.
9279
9280 * lisp.h (struct specbinding): Declare elements volatile.
9281 (specpdl_ptr): Declare volatile.
9282
9283 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
9284
9285 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
9286 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
9287
92882003-05-08 Dave Love <fx@gnu.org>
9289
9290 * coding.c (Vlast_coding_system_used): Doc fix.
9291
92922003-05-07 Jason Rumney <jasonr@gnu.org>
9293
9294 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
9295 when system does not support them.
9296
92972003-05-05 Stefan Monnier <monnier@cs.yale.edu>
9298
9299 * fileio.c (Qwrite_region_annotate_functions): New var.
9300 (build_annotations): Use it to process the global part of the hook.
9301 (syms_of_fileio): Init and staticpro it.
9302
9303 * keyboard.c (safe_run_hooks_error): Display a message instead of
9304 silently ignoring the error.
9305
93062003-05-03 Stefan Monnier <monnier@cs.yale.edu>
9307
9308 * keyboard.c (input_available_signal): Mark static.
9309 (menu_bar_items): Use map_keymap.
9310 (menu_bar_one_keymap): Remove.
9311 (menu_bar_item): Adjust arglist (for use in map_keymap).
9312 Properly hide a second binding when not both are keymaps.
9313
9314 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
9315 (single_keymap_panes): Use it and map_keymap.
9316 (single_menu_item): Use skp as well.
9317
9318 * keymap.h (map_keymap_function_t): New type.
9319 (map_keymap): Declare.
9320
9321 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
9322 (map_keymap_call, Fmap_keymap): New functions.
9323 (syms_of_keymap): Defsubr map-keymap.
9324
93252003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9326
9327 * gtkutil.c (create_dialog, make_widget_for_menu_item)
9328 (make_menu_item, create_menus, xg_update_menu_item): Don't call
9329 ..._with_mnemonic functions for menu items.
9330
93312003-05-01 Kenichi Handa <handa@m17n.org>
9332
9333 * coding.c (coding_system_accept_latin_extra_p): Delete this
9334 function.
9335 (find_safe_codings): Pay attention to
9336 the property tranlsation-table-for-encode of each codings.
9337 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
9338
93392003-05-01 Stefan Monnier <monnier@cs.yale.edu>
9340
9341 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
9342
93432003-04-30 Stefan Monnier <monnier@cs.yale.edu>
9344
9345 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
9346
9347 * lisp.h (CHECK): Wrap args in parenthesis.
9348 (specbind): Fix doc: symbol = Qnil is not supported any more.
9349
9350 * bytecode.c (Fbyte_code) <unwind-protect>:
9351 Use Fprogn rather than 0 and Qnil.
9352
9353 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
9354 `double', and `triple' modifiers as well.
9355
93562003-04-30 Richard M. Stallman <rms@gnu.org>
9357
9358 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
9359
9360 * alloc.c (abort_on_gc): New variable.
9361 (Fgarbage_collect): Abort if abort_on_gc is set.
9362
9363 * lisp.h (abort_on_gc): Add decl.
9364
9365 * eval.c (Fsignal): Clear abort_on_gc.
9366
9367 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
9368 Reinit FORMAT_START and END before second scan.
9369
9370 * xdisp.c (move_it_vertically_backward): Do the final big else
9371 even if nlines is 0.
9372
9373 * xdisp.c (redisplay_internal): Finish the per-frame loop
9374 even if redisplay is suspended by input.
9375
93762003-04-24 Andrew Choi <akochoi@shaw.ca>
9377
9378 * macterm.c (x_list_fonts): Return all fonts that match if
9379 maxnames = -1.
9380
93812003-04-25 Kenichi Handa <handa@m17n.org>
9382
9383 * syntax.c (skip_chars): Fix previous change.
9384
93852003-04-24 Kenichi Handa <handa@m17n.org>
9386
9387 * syntax.c (skip_chars): Make the code faster by using the common
9388 technique of *p, *stop, and *endp.
9389
93902003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9391
9392 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
9393 tool_bar_items so GTK tool bar expose callback does not access items
9394 being updated.
9395
93962003-04-19 Stefan Monnier <monnier@cs.yale.edu>
9397
9398 * eval.c (Fapply): Undo last change and add a comment about why.
9399
94002003-04-18 Miles Bader <miles@gnu.org>
9401
9402 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
9403 pickier PARSE_MULTIBYTE_SEQ.
9404
94052003-04-17 Stefan Monnier <monnier@cs.yale.edu>
9406
9407 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
9408 Use XCDR, XCAR, CONSP.
9409 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
9410 (Fapply): Remove unnecessary GCPRO.
9411
9412 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
9413
9414 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
9415
9416 * buffer.h: Don't hardcode BEG==1.
9417
9418 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
9419
94202003-04-16 Richard M. Stallman <rms@gnu.org>
9421
9422 * xdisp.c (try_window, try_window_reusing_current_matrix):
9423 When at end of window, set window_end_pos to Z-ZV.
9424
9425 * buffer.c (Foverlay_recenter): Doc fix.
9426
94272003-04-14 Stefan Monnier <monnier@cs.yale.edu>
9428
9429 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
9430
94312003-04-14 Andrew Choi <akochoi@shaw.ca>
9432
9433 * macterm.c (mac_check_for_quit_char): Don't check more often than
9434 once a second.
9435
94362003-04-11 Stefan Monnier <monnier@cs.yale.edu>
9437
9438 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
9439 specially, so that they can't hide an implicit switch-frame event.
9440 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
9441 (head_table): Use switch-frame as event_kind for select-window.
9442 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
9443
9444 * editfns.c (Fformat): Lisp_Object/int mixup.
9445 (format2): Remove unused var numargs.
9446
94472003-04-11 Kenichi Handa <handa@m17n.org>
9448
9449 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
9450 (Qafter_insert_file_set_coding): New variable.
9451 (syms_of_fileio): Initialize and staticpro it. Delete declaration
9452 for after-insert-file-adjust-coding-function.
9453 (Finsert_file_contents): Call Qafter_insert_file_set_coding
9454 instead of Vafter_insert_file_adjust_coding_function.
9455
94562003-04-11 Kenichi Handa <handa@m17n.org>
9457
9458 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
9459
9460 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
9461 string. Callers changed.
9462
94632003-04-10 Kenichi Handa <handa@m17n.org>
9464
9465 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
9466 (syms_of_fileio): Declare it as a lisp variable.
9467 (Finsert_file_contents):
9468 Call Vafter_insert_file_adjust_coding_function before calling
9469 decode-format.
9470
94712003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9472
9473 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
9474 get GtkAdjustment as widget now is a GtkRange.
9475
9476 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
9477 GtkRange to avoid memory leak.
9478
94792003-04-09 Kenichi Handa <handa@m17n.org>
9480
9481 * xfaces.c (Vface_font_rescale_alist): New variable.
9482 (struct font_name): New member rescale_ratio.
9483 (font_rescale_ratio): New function.
9484 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
9485 (better_font_p): On comparing point sized, pay attention to
9486 recale_ratio member of fonts.
9487 (build_scalable_font_name): Reflect font->rescale_ratio in the
9488 font name.
9489 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
9490
9491 * lread.c (read1): Before calling index, check if the 2nd
9492 arguemnt is in ASCII range.
9493
94942003-04-08 Richard M. Stallman <rms@gnu.org>
9495
9496 * fileio.c (Ffile_symlink_p): Doc fix.
9497
9498 * editfns.c (Fformat): Translate positions of text properties
9499 in the format string to apply them to the result.
9500
9501 * fileio.c (Finsert_file_contents): Doc fix.
9502 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
9503
95042003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
9505
9506 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
9507
95082003-04-08 Steven Tamm <steventamm@mac.com>
9509
9510 * mac.c (init_mac_osx_environment): Switch libexec and bin so
9511 that self-contained application finds libexec files.
9512
95132003-04-08 Kenichi Handa <handa@m17n.org>
9514
9515 * coding.c (code_convert_region_unwind):
9516 Set Vlast_coding_system_used to the argument.
9517 (code_convert_region): If post-read-conversion function changed
9518 the value of last-coding-sytem, keep the new value in
9519 coding->symbol so that it won't be overridden.
9520 (run_pre_post_conversion_on_str): Likewise.
9521 (coding_system_accept_latin_extra_p): New function.
9522 (find_safe_codings): Pay attention to characters registered in
9523 latin-extra-code-table.
9524
95252003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
9526
9527 * Makefile.in (md5.o): Add missing dependency info.
9528
95292003-04-06 Richard M. Stallman <rms@gnu.org>
9530
9531 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
9532
9533 * marker.c (verify_bytepos): New function.
9534
9535 * intervals.c (set_intervals_multibyte_1): When becoming
9536 multibyte, adjust right and left child sizes to a whole set of
9537 characters. If an interval gets zero total-length, delete it.
9538 If an interval consists of just its children, delete one of them.
9539
9540 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
9541 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
9542
9543 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
9544 All calls deleted.
9545 (lisp_malloc): Do the work here directly.
9546
95472003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
9548
9549 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
9550 char tables.
9551
95522003-04-04 Kenichi Handa <handa@m17n.org>
9553
9554 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
9555 destructively change "%S" to "%s".
9556
95572003-04-03 Miles Bader <miles@gnu.org>
9558
9559 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
9560 always set.
9561
95622003-04-01 Dave Love <fx@gnu.org>
9563
9564 * xfns.c (xpm_lookup_color): Grok "opaque".
9565
95662003-03-31 Andrew Choi <akochoi@shaw.ca>
9567
9568 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
9569 parent window ID.
9570
9571 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
9572
9573 * macterm.h (struct mac_output): Define x_pixels_diff and
9574 y_pixels_diff.
9575
95762003-03-31 Juanma Barranquero <lektu@terra.es>
9577
9578 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
9579 blockinput.h and files included from it.
9580
95812003-03-31 Kim F. Storm <storm@cua.dk>
9582
9583 The following changes consolidates the common code related to
9584 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
9585 files into frame.c.
9586
9587 * frame.c: Include blockinput.h.
9588 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
9589 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
9590 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
9591 related vars here.
9592 (struct frame_parm_table, frame_parms): New table for describing
9593 frame parameters and their associated Q-variable.
9594 The order of the parameters corresponds to the sequence of the
9595 frame_parm_handlers table in redisplay_interface.
9596 (x_fullscreen_move, x_set_frame_parameters)
9597 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
9598 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
9599 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9600 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
9601 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
9602 Generic functions for processing of frame parameters.
9603 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
9604 (display_x_get_resource, x_get_resource_string): Functions for
9605 generic access to X resources.
9606 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
9607 (x_default_parameter, Fx_parse_geometry): Functions for generic
9608 access to frame parameters.
9609 (x_figure_window_size): Generic calculation of frame size.
9610 Fixed to add space needed for tool bar. Also setup size_hint_flags.
9611 (syms_of_frame): Intern and staticpro frame parameter variables.
9612 Defvar_lisp Vx_resource_class and Vx_resource_name here.
9613 Defsubr Sx_get_resource and Sx_parse_geometry.
9614
9615 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
9616 parameter related vars defined in frame.c.
9617 (EMACS_CLASS): Define here.
9618 (enum FULLSCREEN_*): Define here.
9619 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
9620 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
9621 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
9622 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
9623 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
9624 (x_set_visibility, x_set_autoraise, x_set_autolower)
9625 (x_set_unsplittable, x_set_vertical_scroll_bars)
9626 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
9627 (x_figure_window_size): Add prototypes.
9628
9629 * dispextern.h (frame_parm_handler): New typedef.
9630 (struct redisplay_interface): New member frame_parm_handlers.
9631 (enum resource_types): Move declaration here.
9632 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
9633 (x_default_parameter): Add prototypes.
9634
9635 * window.c: Remove extern decl for frame parameter vars.
9636 (change_window_heights): New generic function;
9637 replaces x_change_window_heights. All users changed.
9638
9639 * window.h (change_window_heights): Add prototype.
9640
9641 * xfaces.c: Remove extern decl for frame parameter vars.
9642
9643 * xterm.h (EMACS_CLASS): Remove. Use generic define.
9644 (struct w32_display_info): Fix type of xrdb member.
9645 (enum FULLSCREEN_*): Remove.
9646 Remove prototypes for generic functions (in frame.h).
9647
9648 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9649 parameters now defined in frame.h and frame.c.
9650 (Vx_resource_name): Remove. Use generic var.
9651 (enum x_frame_parms): Remove (bogus, unused enum).
9652 (check_x_display_info): Make non-static (for frame.c).
9653 (struct x_frame_parm_table, x_frame_parms): Remove.
9654 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9655 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9656 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9657 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9658 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9659 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9660 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9661 Remove. Use generic functions instead.
9662 (enum resource_types): Remove.
9663 (x_set_scroll_bar_default_width): New global function (for frame.c).
9664 (Fx_create_frame): Depend on x_figure_window_size to add space for
9665 toolbar and setup size_hint_flags.
9666 (x_frame_parm_handlers): New table for redisplay_interface.
9667 (syms_of_xfns): Don't intern/staticpro removed vars.
9668
9669 * xterm.c: Remove unnecessary extern declarations.
9670 (x_fullscreen_adjust): Remove. Use generic instead.
9671 (x_redisplay_interface): Add x_frame_parm_handlers member.
9672
9673 * w32gui.h (XrmDatabase): New (dummy) typedef.
9674
9675 * w32term.h (EMACS_CLASS): Remove. Use generic define.
9676 (struct w32_display_info): Fix type of xrdb member.
9677 (enum FULLSCREEN_*): Remove.
9678 (x_fullscreen_adjust): Remove prototype.
9679
9680 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9681 parameters now defined in frame.h and frame.c.
9682 (Vx_resource_name): Remove. Use generic var.
9683 (enum x_frame_parms): Remove (bogus, unused enum).
9684 (check_x_display_info): Make non-static (for frame.c).
9685 (struct x_frame_parm_table, x_frame_parms): Remove.
9686 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9687 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9688 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9689 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9690 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9691 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9692 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9693 Remove. Use generic functions instead.
9694 (enum resource_types): Remove.
9695 (x_set_scroll_bar_default_width): New global function (for frame.c).
9696 (Fx_create_frame): Depend on x_figure_window_size to add space for
9697 toolbar and setup size_hint_flags.
9698 (w32_frame_parm_handlers): New table for redisplay_interface.
9699 (syms_of_w32fns): Don't intern/staticpro removed vars.
9700
9701 * w32term.c: Remove unnecessary extern declarations.
9702 (x_fullscreen_adjust): Remove. Use generic instead.
9703 (x_redisplay_interface): Add w32_frame_parm_handlers member.
9704
9705 * w32reg.c (x_get_string_resource): Use XrmDatabase.
9706
9707 * macgui.h (XrmDatabase): New (dummy) typedef.
9708
9709 * macterm.h (EMACS_CLASS): Remove.
9710 (struct mac_display_info): Add xrdb member.
9711 (struct mac_output): Add want_fullscreen member.
9712
9713 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9714 parameters now defined in frame.h and frame.c.
9715 (Vx_resource_name): Remove. Use generic var.
9716 (check_x_display_info): Make non-static (for frame.c).
9717 (struct x_frame_parm_table, x_frame_parms): Remove.
9718 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9719 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9720 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9721 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9722 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9723 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9724 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9725 Remove. Use generic functions instead.
9726 (enum resource_types): Remove.
9727 (x_set_scroll_bar_default_width): New global function (for frame.c).
9728 (mac_frame_parm_handlers): New table for redisplay_interface.
9729 (syms_of_macfns): Don't intern/staticpro removed vars.
9730
9731 * macterm.c: Remove unnecessary extern declarations.
9732 (x_redisplay_interface): Add mac_frame_parm_handlers member.
9733
9734 * Makefile.in (frame.o): Add dependency on blockinput.h and files
9735 included from it (atimer.h and systime.h).
9736
97372003-03-30 Andreas Schwab <schwab@suse.de>
9738
9739 * xdisp.c (x_insert_glyphs): Fix swapped width and height
9740 parameters for shift_glyphs_for_insert.
9741
9742 * macterm.c (x_redisplay_interface): Add missing entry for
9743 draw_vertical_window_border.
9744
97452003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
9746
9747 * fileio.c (Fexpand_file_name): In the no-handler case, after
9748 expanding, look again for a handler and invoke it. This is needed
9749 for filenames like "/foo/../user@host:/bar/../baz" -- the first
9750 expansion produces "/user@host:/bar/../baz" which needs to be
9751 expanded again for the finame result "/user@host:/baz".
9752
97532003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9754
9755 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
9756 of area to be redrawn for better performance.
9757
97582003-03-28 Stefan Monnier <monnier@cs.yale.edu>
9759
9760 * xterm.c (take_vertical_position_into_account): Remove.
9761 (xt_action_hook): Call set_vertical_scroll_bar if needed.
9762 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
9763 (xm_scroll_callback, x_create_toolkit_scroll_bar)
9764 (x_set_toolkit_scroll_bar_thumb): Simplify.
9765 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
9766 (XTread_socket): Remove unused var.
9767 (x_make_frame_invisible): Replace goto with else.
9768
9769 * xdisp.c (set_vertical_scroll_bar): New fun.
9770 (redisplay_window): Use it.
9771
97722003-03-26 Richard M. Stallman <rms@gnu.org>
9773
9774 * xdisp.c (update_tool_bar): Recompute tool bar if
9775 update_mode_lines is set. Set w->update_mode_line
9776 only if the tool bar contents actually change.
9777 (update_menu_bar): Undo previous change.
9778
97792003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9780
9781 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
9782 (xg_frame_set_char_size): Calculate scroll bar width before frame
9783 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
9784 (xg_separator_p): Check for all documented separator types.
9785 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
9786 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
9787
9788 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
9789 so tool bar gets updated.
9790
97912003-03-26 Stefan Monnier <monnier@cs.yale.edu>
9792
9793 * data.c (store_symval_forwarding): Re-instate part of the code
9794 that was deleted with too much enthusiasm.
9795
97962003-03-25 Stefan Monnier <monnier@cs.yale.edu>
9797
9798 * data.c (store_symval_forwarding): Delete special read-only
9799 hack for type == -1, since we now use ->constant instead.
9800 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
9801
9802 * buffer.c (overlays_in): Declare static.
9803 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
9804 `constant' field rather than the variable's `type' field.
9805
98062003-03-24 Andrew Choi <akochoi@shaw.ca>
9807
9808 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
9809
9810 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
9811
9812 * fns.c [MAC_OSX]: Do not redefine vector.
9813
9814 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
9815
9816 * macgui.h: Remove definition of No_Cursor.
9817
9818 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
9819
9820 * xdisp.c: Define No_Cursor.
9821 (x_write_glyphs, notice_overwritten_cursor)
9822 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
9823 (note_mouse_highlight): Remove Mac-specific code.
9824 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
9825
98262003-03-24 John Paul Wallington <jpw@gnu.org>
9827
9828 * xdisp.c (redisplay_window): If mini window's buffer is not
9829 empty, then redisplay it like other windows.
9830
98312003-03-23 Kim F. Storm <storm@cua.dk>
9832
9833 * w32term.c (w32_draw_window_cursor): Fix last change.
9834
98352003-03-23 Kenichi Handa <handa@m17n.org>
9836
9837 * alloc.c (make_string_from_bytes, make_specified_string):
9838 Add `const' for the arg CONTENTS.
9839
9840 * lisp.h (make_string_from_bytes, make_specified_string):
9841 Prototypes adjusted.
9842
98432003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9844
9845 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
9846
9847 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
9848 (XG_SB_RANGE): New define.
9849
9850 * gtkutil.c (xg_fixed_handle_expose): New function.
9851 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
9852 expose events.
9853 (xg_update_scrollbar_pos): Take two more arguments, left and width
9854 of scroll bar including borders.
9855 Clear left and right part outside scroll bar separately as some
9856 themes have bars that are not an even number of pixels.
9857 Don't set reallocate_redraws, don't call
9858 gdk_window_process_all_updates.
9859 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
9860 so no need to change it. Calculate size and value with XG_SB_RANGE.
9861
9862 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
9863 Pass left and width of scroll bar including borders to
9864 xg_update_scrollbar_pos.
9865
98662003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
9867
9868 * Makefile.in: Make sure space precedes end-of-line backslashes.
9869
98702003-03-22 Kim F. Storm <storm@cua.dk>
9871
9872 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
9873 Add generic versions here. Remove system specific versions
9874 defined elsewhere.
9875
9876 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
9877 Add prototypes.
9878
9879 * xterm.h (STORE_NATIVE_RECT): New macro.
9880
98812003-03-21 Kim F. Storm <storm@cua.dk>
9882
9883 * xdisp.c (get_glyph_string_clip_rect):
9884 Use FRAME_INTERNAL_BORDER_WIDTH.
9885
9886 * dispextern.h (struct redisplay_interface): Add active_p
9887 argument to draw_window_cursor member. All uses changed.
9888
98892003-03-21 Kim F. Storm <storm@cua.dk>
9890
9891 The following changes consolidate code related to writing and
9892 inserting glyphs, exposing frame, the tool bar, the mouse face,
9893 the output cursor, and help echo from xterm.c, w32term.c and
9894 macterm.c into xdisp.c. It also generalizes the use of the
9895 window_part enum instead of using numeric values throughout.
9896
9897 * xdisp.c: Consolidate gui-independent code here.
9898 Include keymap.h.
9899 (Qhelp_echo): Import.
9900 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
9901 (help_echo_string, help_echo_window, help_echo_object)
9902 (previous_help_echo_string, help_echo_pos): Declare here.
9903 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
9904 (estimate_mode_line_height): Define here. Handle windowing
9905 systems directly (without using estimate_mode_line_height_hook).
9906 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
9907 (update_window_cursor, update_cursor_in_window_tree)
9908 (fast_find_position, fast_find_string_pos)
9909 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
9910 (expose_area, expose_line, expose_overlaps, expose_window)
9911 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
9912 declared static as they are only used locally in xdisp.c.
9913 (draw_glyphs): Rename from x_draw_glyphs and make static.
9914 (tool_bar_item_info, notice_overwritten_cursor): Make static.
9915 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
9916 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
9917 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
9918 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
9919 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
9920 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
9921 (note_mouse_highlight, x_clear_window_mouse_face)
9922 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
9923 (x_intersect_rectangles): New generic functions for use by xdisp.c
9924 and GUI front-ends.
9925 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
9926 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
9927
9928 * dispextern.h (Display_Info): Generic typedef for *_display_info.
9929 (NativeRectangle): Generic typedef for rectangle type.
9930 (enum window_part): Move here from window.c.
9931 (struct redisplay_interface): New members flush_display_optional,
9932 define_frame_cursor, clear_frame_area, draw_window_cursor,
9933 draw_vertical_window_border, shift_glyphs_for_insert.
9934 Rename member clear_mouse_face to clear_window_mouse_face.
9935 (estimate_mode_line_height_hook): Remove hook.
9936 (auto_raise_tool_bar_buttons_p): Don't declare extern.
9937 (tool_bar_item_info): Remove prototype.
9938 (help_echo_string, help_echo_window, help_echo_object)
9939 (previous_help_echo_string, help_echo_pos)
9940 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
9941 (x_stretch_cursor_p, output_cursor): Declare extern.
9942 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
9943 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
9944 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
9945 (display_and_set_cursor, set_output_cursor, x_cursor_to)
9946 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
9947 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
9948 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
9949 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
9950 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
9951 Add prototypes.
9952 (mode_line_string, marginal_area_string): Fix prototypes.
9953
9954 * window.c (enum window_part): Move to dispextern.h.
9955 (coordinates_in_window): Use enum window_part member names
9956 instead of numbers to describe return value.
9957 (struct check_window_data): Change part member to window_part.
9958 (check_window_containing): Return window_part unaltered.
9959 (window_from_coordinates): Change part arg from int to enum
9960 window_part. Allow part arg to be null. All users changed.
9961
9962 * window.h (window_from_coordinates): Fix prototype.
9963
9964 * term.c (estimate_mode_line_height): Move to xdisp.c.
9965
9966 * keyboard.c (make_lispy_event): Use enum window_part.
9967
9968 * dispnew.c (mode_line_string, marginal_area_string): Use enum
9969 window_part instead of int in arg list. Users changed.
9970
9971 * xterm.h (No_Cursor): Declare as None for X.
9972 (struct mac_output): Replace member cross_cursor by hand_cursor.
9973
9974 * xterm.c: Remove consolidated defines and code.
9975 (BETWEEN): Remove unused macro.
9976 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
9977 (x_define_frame_cursor, x_clear_frame_area)
9978 (x_draw_window_cursor): New X-specific functions for RIF.
9979 (x_redisplay_interface): Add new members.
9980
9981 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
9982
9983 * w32term.h (struct w32_output): Remove cross_cursor member.
9984
9985 * w32term.c: Remove consolidated defines and code.
9986 (BETWEEN): Remove unused macro.
9987 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
9988 (w32_define_frame_cursor, w32_clear_frame_area)
9989 (w32_draw_window_cursor): New W32-specific functions for RIF.
9990 (w32_redisplay_interface): Add new members.
9991
9992 * w32gui.h (No_Cursor): Define as 0 for W32.
9993 (XRectangle): Add X compatible rectangle type.
9994 (NativeRectangle): Declare as RECT for W32.
9995 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
9996
9997 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
9998
9999 * w32console.c: Remove consolidated defines and code.
10000
10001 * msdos.h (Display_Info): Add generic typedef.
10002
10003 * msdos.c: Remove consolidated defines and code.
10004 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
10005
10006 * macterm.h (struct mac_output): Replace member cross_cursor by
10007 hand_cursor.
10008 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
10009
10010 * macterm.c: Remove consolidated defines and code.
10011 (BETWEEN): Remove unused macro.
10012 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
10013 (mac_define_frame_cursor, mac_clear_frame_area)
10014 (mac_draw_window_cursor): New Mac-specific functions for RIF.
10015 (x_redisplay_interface): Add new members.
10016
10017 * macgui.h (No_Cursor): Define as 0 for Mac.
10018 (XRectangle): Add X compatible rectangle type.
10019 (NativeRectangle): Declare as Rect for Mac.
10020 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
10021
10022 * macfns.c (x_set_mouse_color): Setup hand_cursor.
10023 (x_set_cursor_color): Use x_display_and_set_cursor.
10024
10025 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
10026 included from it. Add dependency on keymap.h.
10027
10028 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
10029
100302003-03-21 Kenichi Handa <handa@m17n.org>
10031
10032 * fileio.c (Fexpand_file_name): Fix previous change.
10033
100342003-03-19 Kenichi Handa <handa@m17n.org>
10035
10036 * fileio.c (Ffile_name_directory): Reconstruct file name by
10037 make_specified_string.
10038 (Ffile_name_nondirectory, Ffile_name_as_directory)
10039 (Fdirectory_file_name, Fexpand_file_name)
10040 (Fsubstitute_in_file_name): Likewise.
10041 (Fread_file_name): Compare decoded homedir with DIR and
10042 DEFAULT_FILENAME.
10043
10044 * alloc.c (make_specified_string): If NCHARS is negative, count
10045 the number of characters.
10046
100472003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10048
10049 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
10050 all widgets.
10051
10052 * gtkutil.h: Removed xg_ignore_next_thumb.
10053
100542003-03-18 Kenichi Handa <handa@m17n.org>
10055
10056 * coding.c (Vchar_coding_system_table): Remove this variable.
10057 (Vcoding_system_safe_chars): New variable.
10058 (intersection): Remove this function.
10059 (find_safe_codings): Don't use Vchar_coding_system_table, but try
10060 all codings in SAFE_CODINGS.
10061 (Ffind_coding_systems_region_internal): Adjust for the change of
10062 find_safe_codings. Get generic coding systems from
10063 Vcoding_system_safe_chars.
10064 (Fdefine_coding_system_internal): New function.
10065 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
10066 Initialize and staticpro Vcoding_system_safe_chars.
10067
100682003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10069
10070 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
10071 equal old values before updating.
10072
10073 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
10074
10075 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
10076
100772003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10078
10079 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
10080 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
10081 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
10082 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
10083 (xg_create_scroll_bar): Pass bar to button event callback.
10084 (xg_find_top_left_in_fixed): New function.
10085 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
10086 whole scroll bar area. Get old position with
10087 xg_find_top_left_in_fixed, calculate and only clear needed areas.
10088 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
10089 dragging is in progress. Calculate whole as for Motif.
10090 Remove code that saved last values. Call gtk_range functions to
10091 set scroll bar sizes.
10092
10093 * gtkutil.h: Removed xg_ignore_next_thumb.
10094
100952003-03-17 Juanma Barranquero <lektu@terra.es>
10096
10097 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
10098 and files included from it.
10099
101002003-03-18 Stefan Monnier <monnier@cs.yale.edu>
10101
10102 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
10103 multiple occurrences of the same keymap under different prefixes.
10104 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
10105
101062003-03-16 Jason Rumney <jasonr@gnu.org>
10107
10108 * w32gui.h: Use HDC for Display.
10109
10110 * w32term.c (w32_encode_char): Prevent double-byte chars from
10111 crashing Emacs.
10112
10113 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
10114 as binary.
10115
101162003-03-16 Juanma Barranquero <lektu@terra.es>
10117
10118 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
10119
101202003-03-16 Kim F. Storm <storm@cua.dk>
10121
10122 The following changes consolidate some of the gui-independent
10123 parts of the processing and drawing of "glyph strings" from
10124 xterm.c, w32term.c, and macterm.c into xdisp.c.
10125
10126 * dispextern.h (struct glyph): Reduce face_id member from 22 to
10127 21 bits (this reduces number of faces from 4M to 2M).
10128 Replace W32 specific w32_font_type member (2 bits) by generic
10129 font_type member (3 bits) for portability.
10130 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
10131 (enum draw_glyphs_face): Define here.
10132 (struct glyph_string): Define here. Merge W32 and X versions.
10133 (struct redisplay_interface): New members per_char_metric,
10134 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
10135 (VCENTER_BASELINE_OFFSET): Define here.
10136 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
10137 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
10138
10139 * xdisp.c: Consolidate gui-independent "glyph string" code here.
10140 (dump_glyph_string): Moved here.
10141 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
10142 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
10143 (fill_composite_glyph_string, fill_glyph_string)
10144 (fill_image_glyph_string, fill_stretch_glyph_string)
10145 (left_overwritten, left_overwriting, right_overwritten)
10146 (right_overwriting, get_char_face_and_encoding)
10147 (set_glyph_string_background_width, compute_overhangs_and_x)
10148 (append_glyph, append_composite_glyph, produce_image_glyph)
10149 (take_vertical_position_into_account, append_stretch_glyph)
10150 (produce_stretch_glyph): New generic functions (based on X version).
10151 Call platform specific functions through rif.
10152 (INIT_GLYPH_STRING): New macro, hides W32 details.
10153 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
10154 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
10155 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
10156 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
10157 (notice_overwritten_cursor):
10158 Generic functions exported to platform modules. Users changed.
10159
10160 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
10161 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
10162 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
10163 New macros for consolidated code.
10164
10165 * xterm.c: Remove consolidated defines and code.
10166 (x_per_char_metric, x_encode_char)
10167 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
10168 (x_redisplay_interface): Add new members.
10169
10170 * w32gui.h (Display): Add dummy typedef for consolidation.
10171 (XChar2b): Define alias for wchar_t for consolidation.
10172 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
10173
10174 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
10175 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
10176 New macros for consolidation.
10177
10178 * w32term.c: Remove consolidated defines and code.
10179 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
10180 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
10181 (w32_per_char_metric): Change font_type arg to int for RIF.
10182 (w32_encode_char): Return int according to RIF requirements.
10183 (w32_compute_glyph_string_overhangs): Adapt to RIF.
10184 (w32_get_glyph_overhangs): New function for RIF. Uses generic
10185 x_get_glyph_overhangs.
10186 (w32_redisplay_interface): Add new members.
10187
10188 * macgui.h (XChar2b): Move typedef here for consolidation.
10189 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
10190
10191 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
10192 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
10193 consolidation.
10194
10195 * macterm.c: Remove consolidated defines and code.
10196 (mac_per_char_metric): New function for RIF.
10197 (mac_encode_char): Adapt to new RIF requirements.
10198 (mac_compute_glyph_string_overhangs): Adapt for RIF.
10199 (x_redisplay_interface): Add new members.
10200
102012003-03-15 Stefan Monnier <monnier@cs.yale.edu>
10202
10203 * keymap.c (Vmenu_events): New var.
10204 (syms_of_keymap): Initialize it.
10205 (where_is_internal): Check more carefully what is a menu event.
10206
102072003-03-14 Richard M. Stallman <rms@gnu.org>
10208
10209 * lread.c (read1): After #!, exit loop on eof.
10210
102112003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10212
10213 * gtkutil.h: Add declaration for xg_frame_cleared.
10214
10215 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
10216
10217 * gtkutil.c (struct xg_last_sb_pos): New structure.
10218 (handle_fixed_child): New function.
10219 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
10220 and force a redraw on them.
10221 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
10222 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
10223 so we can avoid unneeded redraws.
10224 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
10225 and force a redraw on the scroll bar.
10226 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
10227 if xg_last_sb_pos shows the positions are up to date.
10228 (xg_frame_cleared): New function.
10229
102302003-03-13 Kenichi Handa <handa@m17n.org>
10231
10232 * coding.c (Fdetect_coding_region): Fix docstring.
10233 (Fdetect_coding_string): Fix docstring.
10234
102352003-03-13 Andreas Schwab <schwab@suse.de>
10236
10237 * gtkutil.c: Add prototype for create_menus.
10238
10239 * data.c (long_to_cons): Fix type of top.
10240
10241 * xselect.c (selection_data_to_lisp_data): Use int instead of
10242 long for an integer of size 4.
10243
10244 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
10245 (xg_tool_bar_help_callback): Likewise.
10246
102472003-03-12 Andreas Schwab <schwab@suse.de>
10248
10249 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
10250
102512003-03-12 Kim F. Storm <storm@cua.dk>
10252
10253 The following changes consolidate the fringe handling from
10254 xterm.c, w32term.c, and macterm.c into xdisp.c.
10255
10256 * xdisp.c: Consolidate fringe handling code here.
10257 (left_bits, right_bits, continued_bits, continuation_bits)
10258 (ov_bits, zv_bits): Define fringe bitmaps.
10259 (fringe_bitmaps): New array holding fringe bitmaps.
10260 (draw_fringe_bitmap): Draw a specific bitmap; call display
10261 specific drawing routine via rif->draw_fringe_bitmap.
10262 (draw_row_fringe_bitmaps): Generic replacement for
10263 x_draw_row_fringe_bitmaps; all callers changed.
10264 (compute_fringe_widths): Generic replacement for
10265 x_compute_fringe_widths; all callers changed.
10266
10267 * dispextern.h (enum fringe_bitmap_type): Define here.
10268 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
10269 (fringe_bitmaps): Declare extern.
10270 (struct redisplay_interface): New member draw_fringe_bitmap.
10271 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
10272
10273 * xterm.c: Remove generic fringe code.
10274 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
10275 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
10276
10277 * w32term.c: Remove generic fringe code.
10278 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
10279 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
10280
10281 * macterm.c: Remove generic fringe code.
10282 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
10283 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
10284
102852003-03-11 Stefan Monnier <monnier@cs.yale.edu>
10286
10287 * print.c (Fprin1_to_string): Return unibyte string if possible.
10288
102892003-03-09 David Kastrup <dak@gnu.org>
10290
10291 * process.c (read_process_output): We have allocated enough space
10292 for readmax and carryover, so actually use the alloted space.
10293
102942003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10295
10296 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
10297 toolkit scrollbar click.
10298
10299 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
10300 for USE_GTK.
10301 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
10302 also.
10303 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
10304 scrollbar and control is pressed, call x_scroll_bar_handle_click.
10305
10306 * gtkutil.h (xg_get_scroll_id_for_window): Declare.
10307
10308 * gtkutil.c (xg_get_scroll_id_for_window): New function.
10309 (xg_tool_bar_item_expose_callback): New function.
10310 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
10311 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
10312 on the tool bar widget.
10313 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
10314 to expose on the tool bar item widgets.
10315
103162003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10317
10318 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
10319 struct image* when deciding to update (struct image* may have been
10320 deleted from the image cache).
10321
10322 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
10323 the event isn't for a frame (i.e. for dialogs).
10324
103252003-03-07 Kenichi Handa <handa@m17n.org>
10326
10327 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
10328 composition components reaches the limit, terminate composing.
10329 (COMPOSITION_OK): New macro.
10330 (detect_coding_iso2022): Use it if an escape sequence for
10331 composition is found.
10332 (coding_restore_composition): Adjust the number of composition
10333 components if it is not sane.
10334
103352003-03-06 Juanma Barranquero <lektu@terra.es>
10336
10337 * w32term.h (struct w32_display_info): Add xrdb member to support
10338 passing resources via -xrm on Windows.
10339
10340 * w32term.c (w32_make_rdb): New function.
10341 (w32_term_init): Use it to initialize xrdb member of w32_display_info
10342 struct. Delete leftover code.
10343
10344 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
10345 for resources passed on the command line.
10346
10347 * w32reg.c (w32_get_rdb_resource): New function.
10348 (x_get_string_resource): Use it, so resources passed with -xrm
10349 supercede the ones in the registry.
10350
103512003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10352
10353 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
10354 instead of x_top_window_to_frame.
10355
103562003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10357
10358 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
10359 when restarting Emacs.
10360
103612003-03-03 Richard M. Stallman <rms@gnu.org>
10362
10363 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
10364 to run kill-buffer-query-functions.
10365 (Qkill_buffer_query_functions): New var.
10366 (syms_of_buffer): Init and staticpro it.
10367
103682003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10369
10370 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
10371
103722003-02-25 Kim F. Storm <storm@cua.dk>
10373
10374 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
10375 If centering point failed to make whole line visible and vscroll
10376 is non-zero, disable vscroll and try centering point again.
10377
10378 * lread.c (read1): Accept `single space' syntax like (? x).
10379
103802003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10381
10382 * keyboard.c (cancel_hourglass_unwind): Surround with
10383 #ifdef HAVE_X_WINDOWS
10384
103852003-02-25 Kenichi Handa <handa@m17n.org>
10386
10387 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
10388 process only when "subprocesses" is defined.
10389
103902003-02-24 Stefan Monnier <monnier@cs.yale.edu>
10391
10392 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
10393
103942003-02-24 Juanma Barranquero <lektu@terra.es>
10395
10396 * callint.c (fix_command): Declare as static void and move before
10397 Fcall_interactively.
10398
10399 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
10400 (syms_of_xdisp): Don't initialize Qwhen.
10401
104022003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10403
10404 * keyboard.c (cancel_hourglass_unwind): New function.
10405 (command_loop_1): Cancel hourglass with unwind-protect.
10406
104072003-02-23 Richard M. Stallman <rms@gnu.org>
10408
10409 * callint.c (fix_command): New subroutine, from Fcall_interactively.
10410 Detect (when ... (region-beginning)) etc.
10411 (Fcall_interactively): Call fix_command.
10412 (Qif, Qwhen): New variables.
10413 (syms_of_callint): Init and staticpro them.
10414
10415 * regex.c (print_partial_compiled_pattern): Output to stderr.
10416
104172003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
10418
10419 * dired.c (directory_files_internal): Don't expand directory.
10420 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
10421 instead. From Lars Hansen <larsh@math.ku.dk>.
10422
104232003-02-22 Stefan Monnier <monnier@cs.yale.edu>
10424
10425 * fns.c (string_to_multibyte): Remove unused var i.
10426 (Flanginfo): Fix int/Lisp_Object mixup.
10427 (void_call2): New fun.
10428 (Fmap_char_table): Use it in place of call2.
10429
10430 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
10431
10432 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
10433
10434 * keymap.c (copy_keymap_1): Make it static.
10435
10436 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
10437
104382003-02-22 David Ponce <david@dponce.com>
10439
10440 * lread.c (Fload): Don't check STRING_MULTIBYTE.
10441
104422003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10443
10444 * process.h: Removed subtty field from struct Lisp_Process.
10445
10446 * process.c (create_process): Remove setting of subtty.
10447 (emacs_get_tty_pgrp): New function.
10448 (Fprocess_running_child_p, process_send_signal):
10449 Call emacs_get_tty_pgrp instead of ioctl.
10450 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
10451
104522003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
10453
10454 * keymap.c (Fdefine_key): Doc fix.
10455
104562003-02-21 Juanma Barranquero <lektu@terra.es>
10457
10458 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
10459
10460 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
10461 POLLING_PROBLEM_IN_SELECT.
10462
10463 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
10464 Delete #undef of POLLING_PROBLEM_IN_SELECT.
10465
10466 * s/hpux10-20.h: New file.
10467
10468 * process.c (wait_reading_process_input):
10469 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
10470
104712003-02-20 Kenichi Handa <handa@m17n.org>
10472
10473 * fontset.c (check_fontset_name): If NAME is nil, return the
10474 default fontset.
10475 (override_font_info): New function.
10476 (Fset_fontset_font): Document that NAME nil means the default fontset.
10477 (Ffontset_info): If FONTSET is not the default fontset, merge
10478 FONTSET onto the copy of the default fontset, and work on that
10479 copy. Document that NAME nil means the default fontset.
10480 (Ffontset_font): Document that NAME nil means the default fontset.
10481
10482 * process.c (setup_process_coding_systems): If the process's
10483 in/out descriptor is -1, do nothing.
10484
104852003-02-19 Andreas Schwab <schwab@suse.de>
10486
10487 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
10488 Add prototypes.
10489
104902003-02-19 Kenichi Handa <handa@m17n.org>
10491
10492 * xfaces.c (try_alternative_families): Try all scalable fonts if
10493 Vscalable_fonts_allowed is not Qt.
10494
104952003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10496
10497 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
10498
104992003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10500
10501 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
10502 names.
10503
10504 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
10505 (sorted_font_list): Move allocation of struct font_name to
10506 x_face_list_fonts.
10507 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
10508 (Fx_list_fonts): Set maxnames to -1 to get all font names.
10509
105102003-02-18 Kim F. Storm <storm@cua.dk>
10511
10512 * lread.c (read1): Fix last change.
10513 "`" is not always special. Allow "?" after a character constant.
10514
105152003-02-18 Andrew Choi <akochoi@shaw.ca>
10516
10517 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
10518
105192003-02-18 Andreas Schwab <schwab@suse.de>
10520
10521 * window.c (window_scroll_pixel_based): Move outside a
10522 multi-glyph character before setting new window start.
10523
10524 * xdisp.c (in_display_vector_p): New function.
10525 * dispextern.h (in_display_vector_p): Declare.
10526
105272003-02-18 Kim F. Storm <storm@cua.dk>
10528
10529 * lread.c (read1): Fix and relax read syntax.
10530 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
10531 Only recognize "," after dotted-pair dot if inside backquote.
10532 Never include "`" or "," (inside backquote) in a symbol.
10533 Allow dotted-pair dot after a character constant.
10534 Allow "`" and "," (inside backquote) after a character constant.
10535
105362003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10537
10538 * gtkutil.c (xg_tool_bar_expose_callback): New function.
10539 (xg_create_tool_bar): Force style of tool bar to be horizontal with
10540 icons. Set name of tool bar to emacs-toolbar.
10541 (update_frame_tool_bar): Connect expose event to
10542 xg_tool_bar_expose_callback.
10543
105442003-02-17 Richard M. Stallman <rms@gnu.org>
10545
10546 * keyboard.c (this_command_key_count_reset): New variable.
10547 Initiatize to 0 where this_command_key_count is set.
10548 (read_char): Save and restore this_command_key_count_reset
10549 around input method code.
10550 (read_char): If this_command_key_count_reset, echo reread commands.
10551 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
10552
105532003-02-17 Kenichi Handa <handa@m17n.org>
10554
10555 * fns.c (string_to_multibyte): Always return a multibyte string.
10556
105572003-02-16 Jason Rumney <jasonr@gnu.org>
10558
10559 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
10560 Negative max_fonts parameter means list all.
10561
105622003-02-14 Dave Love <fx@gnu.org>
10563
10564 * fns.c (Flanginfo): Doc fix.
10565
105662003-02-13 Kim F. Storm <storm@cua.dk>
10567
10568 * lread.c (read_escape): Interpret \s as a SPACE character, except
10569 for \s-X in a character constant which still is the super modifier.
10570 (read1): Signal an `invalid read syntax' error if a character
10571 constant is immediately followed by a digit or symbol character.
10572
10573 * search.c (Fmatch_data): Doc fix. Explicitly state that
10574 match-data is undefined if last search failed.
10575
10576 * keymap.c (Fcommand_remapping): Rename from Fremap_command.
10577 All uses changed.
10578
105792003-02-12 Juanma Barranquero <lektu@terra.es>
10580
10581 * eval.c (Fdefmacro): Fix typo.
10582
105832003-02-12 Kim F. Storm <storm@cua.dk>
10584
10585 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
10586 macro is a string, convert meta modifiers in string when copying
10587 the string into a vector.
10588
105892003-02-11 Kim F. Storm <storm@cua.dk>
10590
10591 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
10592
105932003-02-11 Kenichi Handa <handa@m17n.org>
10594
10595 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
10596
105972003-02-10 Kim F. Storm <storm@cua.dk>
10598
10599 * process.c: Doc fixes.
10600 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
10601
106022003-02-10 Kenichi Handa <handa@m17n.org>
10603
10604 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
10605
10606 * process.c (QCfilter_multibyte): New variable.
10607 (setup_process_coding_systems): New function.
10608 (Fset_process_buffer, Fset_process_filter):
10609 Call setup_process_coding_systems.
10610 (Fstart_process): Initialize the member `filter_multibyte' of
10611 struct Lisp_Process.
10612 (create_process): Call setup_process_coding_systems.
10613 (Fmake_network_process): New keyward `:filter-multibyte'.
10614 Initialize the member `filter_multibyte' of struct Lisp_Process.
10615 Call setup_process_coding_systems.
10616 (server_accept_connection): Call setup_process_coding_systems.
10617 (read_process_output): If the process has a filter, decide the
10618 multibyteness of a string to given to the filter by
10619 `filter_multibyte' member of the process. If the process doesn't
10620 have a filter and the result of conversion is unibyte, use
10621 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
10622 multibyte form.
10623 (Fset_process_coding_system): Call setup_process_coding_systems.
10624 (Fset_process_filter_multibyte): New function.
10625 (Fprocess_filter_multibyte_p): New function.
10626 (syms_of_process): Intern and staticpro QCfilter_multibyte.
10627 Defsubr Sset_process_filter_multibyte and
10628 Sprocess_filter_multibyte_p.
10629
10630 * process.h (struct Lisp_Process): New member filter_multibyte.
10631
10632 * lisp.h (setup_process_coding_systems): Add prototype.
10633
10634 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
10635 process, update coding systems for the process.
10636
106372003-02-09 Kenichi Handa <handa@m17n.org>
10638
10639 * fns.c (string_to_multibyte): New function.
10640 (Fstring_to_multibyte): New function.
10641 (syms_of_fns): Defsubr it.
10642
106432003-02-08 Andreas Schwab <schwab@suse.de>
10644
10645 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
10646 instead of the substitution.
10647
106482003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10649
10650 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
10651
10652 * xmenu.c (menu_position_func): Adjust menu popup position so that
10653 the menu is fully visible.
10654
106552003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10656
10657 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
10658 (x_make_frame_invisible, x_wm_set_icon_position):
10659 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
10660
10661 * xfns.c (x_set_name, x_set_title): Ditto.
10662
106632003-02-04 Richard M. Stallman <rms@gnu.org>
10664
10665 * keyboard.c (echo_now): Update before_command_echo_length.
10666 (Freset_this_command_lengths): Reset this_command_key_count etc.
10667 immediately rather than arranging to do it later.
10668 (before_command_key_count_1, before_command_echo_length_1)
10669 (before_command_restore_flag): Vars deleted.
10670 (add_command_key): Don't handle before_command_restore_flag.
10671 (read_char, record_menu_key): Don't update before_command_key_count or
10672 before_command_echo_length.
10673 (read_char): Don't handle before_command_restore_flag.
10674
10675 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
10676 in direct-output clauses if it wouldn't be called in the ordinary case.
10677
106782003-02-04 Kim F. Storm <storm@cua.dk>
10679
10680 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
10681
106822003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10683
10684 * gtkutil.c (remove_from_container): Copying list is not needed.
10685 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
10686 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
10687 on list returned from gtk_container_get_children to avoid memory leak.
10688
106892003-02-01 Jason Rumney <jasonr@gnu.org>
10690
10691 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
10692 local malloc.
10693 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
10694 definitions in xpm.h.
10695 (init_xpm_functions): New function.
10696 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
10697 (init_external_image_libraries): Try to load libXpm.dll.
10698
10699 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
10700 timestamp.
10701
107022003-01-31 Dave Love <fx@gnu.org>
10703
10704 * syntax.c (Fskip_chars_forward)
10705 (open-paren-in-column-0-is-defun-start): Doc fix.
10706
107072003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
10708
10709 * fileio.c: Support // at start of name for Cygwin (just added proper
10710 preprocessor tests).
10711
10712 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
10713
10714 * Makefile.in: Use @EXEEXT@ for Cygwin.
10715
10716 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
10717
10718 * s/cygwin.h: Added for Cygwin port.
10719
107202003-01-31 Juanma Barranquero <lektu@terra.es>
10721
10722 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
10723 when including gif_lib.h.
10724 (init_gif_functions, init_tiff_functions): New functions.
10725 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
10726 Windows. Disable color table lookups. Call library functions
10727 through pointers determined at runtime.
10728 (init_external_image_libraries): Try to load libungif.dll and
10729 libtiff.dll.
10730
107312003-01-31 Kenichi Handa <handa@m17n.org>
10732
10733 * xdisp.c (SKIP_GLYPHS): New macro.
10734 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
10735
107362003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10737
10738 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
10739
107402003-01-30 Dave Love <fx@gnu.org>
10741
10742 * alloc.c (Vgc_elapsed, gcs_done): New variables.
10743 (Fgarbage_collect): Use them.
10744 (init_alloc, syms_of_alloc): Set them up.
10745
107462003-01-30 Juanma Barranquero <lektu@terra.es>
10747
10748 * w32fns.c (init_external_image_libraries): Add missing operator.
10749
107502003-01-29 Jason Rumney <jasonr@gnu.org>
10751
10752 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
10753 an alternative name for jpeg.dll.
10754
107552003-01-29 Kenichi Handa <handa@m17n.org>
10756
10757 * xdisp.c (set_cursor_from_row): Pay attention to string display
10758 properties.
10759
107602003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
10761
10762 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
10763 <escape>.
10764 (keycode_to_xkeysym_table): Reformat and add more comments.
10765 (XTread_socket): Drop special case for backspace.
10766
107672003-01-28 Andrew Choi <akochoi@shaw.ca>
10768
10769 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
10770 values in old-style RGB specs.
10771
107722003-01-27 Juanma Barranquero <lektu@terra.es>
10773
10774 * w32fns.c (init_external_image_libraries): Try alternate names for the
10775 jpeg dll.
10776
107772003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10778
10779 * gtkutil.c (create_dialog, xg_separator_p)
10780 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
10781 before calling strcmp or strlen.
10782
107832003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10784
10785 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
10786 and handle image load failure.
10787
107882003-01-26 Jason Rumney <jasonr@gnu.org>
10789
10790 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
10791 New functions.
10792 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
10793 Disable color table lookups. Call jpeg library functions
10794 through pointers determined at runtime.
10795 (init_external_image_libraries): Try to load jpeg.dll.
10796
107972003-01-25 Richard M. Stallman <rms@gnu.org>
10798
10799 * lisp.h: Declare format2 instead of format1.
10800
10801 * fileio.c (barf_or_query_if_file_exists):
10802 Call format2 instead of format1.
10803
10804 * editfns.c (format2): New function, replaces format1
10805 but takes exactly two Lisp Objects as format args.
10806
10807 * buffer.c (Fkill_buffer): Call format2 instead of format1.
10808
108092003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10810
10811 * xterm.h: Change to return value of x_dispatch_event to int.
10812
10813 * xterm.c (x_filter_event): New function.
10814 (event_handler_gdk, XTread_socket): Call x_filter_event.
10815 (x_dispatch_event): Change to return value of finish.
10816 (event_handler_gdk): Use return value from x_dispatch_event.
10817
10818 * xfns.c (x_window): Call create_frame_xic for GTK version to
10819 initialize input methods.
10820
10821 * gtkutil.h: Add (void) prototypes.
10822
10823 * gtkutil.c (create_menus): Remove code that puts the help menu to
10824 the right.
10825
108262003-01-25 Jason Rumney <jasonr@gnu.org>
10827
10828 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
10829 [HAVE_PNG]: Sync with xfns.c version.
10830 (png_load): Adjust colors for Windows. Use Windows
10831 bitmaps. Disable color table lookups.
10832 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
10833 (init_png_functions): New function.
10834 (png_read_from_memory, png_load): Call png library functions
10835 through pointers determined at runtime.
10836 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
10837 (init_external_image_libraries): New function.
10838 (init_xfns): Call it.
10839
108402003-01-24 Andreas Schwab <schwab@suse.de>
10841
10842 * minibuf.c (Fminibuffer_message): Verify type of parameter.
10843
108442003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10845
10846 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
10847 of static initializer.
10848
108492003-01-24 Dave Love <fx@gnu.org>
10850
10851 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
10852 architectures.
10853
10854 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
10855 Use __alignof__.
10856
108572003-01-24 Kenichi Handa <handa@m17n.org>
10858
10859 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
10860 It it is nonzero, don't pretend that an invisible area doesn't exist.
10861 (command_loop_1): Call adjust_point_for_property with proper
10862 second arg.
10863
108642003-01-22 Jason Rumney <jasonr@gnu.org>
10865
10866 Sync changes with xterm.c and xfns.c.
10867
10868 * w32term.c (x_draw_glyph_string_foreground)
10869 (x_draw_composite_glyph_string_foreground): Implement overstriking.
10870
10871 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
10872 phys_cursor's hpos is overwritten. This is still not completely
10873 correct, as it doesn't really make sense to use hpos at all to
10874 get the cursor glyph (as that is relative to the width of the
10875 characters on the line, which may have changed during the update).
10876
10877 * w32term.c (notice_overwritten_cursor): Handle the special case
10878 of the cursor being in the first blank non-text line at the
10879 end of a window.
10880
10881 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
10882 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
10883 Compute from the x position returned by x_draw_glyphs.
10884
10885 (x_display_and_set_cursor): Don't set phys_cursor_width here,
10886 except for NO_CURSOR and system caret, to make phys_cursor_width
10887 contain what its name suggests.
10888 (notice_overwritten_cursor): Consider the cursor image erased if
10889 the output area intersects the cursor image in y-direction.
10890
10891 * w32term.c (note_mode_line_or_margin_highlight): Rename from
10892 note_mode_line_highlight and extend.
10893
10894 * w32term.c (last_window): New variable.
10895 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
10896 (note_mouse_movement): Remove reimplemented code in #if 0.
10897
10898 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
10899 not update_mode_lines, and always set it to 1.
10900
109012003-01-21 Jason Rumney <jasonr@gnu.org>
10902
10903 * w32fns.c (IDC_HAND): Define it if system headers don't.
10904
109052003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
10906
10907 * w32term.h (struct w32_output): New member hand_cursor.
10908 (WM_EMACS_SETCURSOR): New message definition.
10909
10910 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
10911 function w32_define_cursor.
10912 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
10913 position, change member name output_data.x to output_data.w32 and
10914 add function w32_define_cursor.
10915 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
10916 and change member name output_data.x to output_data.w32.
10917 (w32_initialize_display_info):
10918 Setup dpyinfo->vertical_scroll_bar_cursor.
10919
10920 * w32fns.c (Vx_hand_shape): New variable.
10921 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
10922 WM_EMACS_SETCURSOR.
10923 (x-create-frame): Setup Cursor types.
10924
109252003-01-21 David Ponce <david@dponce.com>
10926
10927 * w32term.c (w32_encode_char): For DIM=1 charset, set
10928 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
10929 x_encode_char change by Kenichi Handa <handa@m17n.org> on
10930 2002-09-30.)
10931 (w32_draw_relief_rect): Declare all args.
10932 (w32_define_cursor): New.
10933
10934 * w32fns.c (w32_load_cursor): New function.
10935 (w32_init_class): Use it.
10936 (x_put_x_image): Declare all args.
10937
109382003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk>
10939
10940 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
10941
109422003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10943
10944 * gtkutil.c: Must include stdio.h before termhooks.h
10945
109462003-01-21 Dave Love <fx@gnu.org>
10947
10948 * alloc.c (Fgc_status): Print zombie list.
10949 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
10950 Fix assignment of zombies.
10951 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
10952 Don't take car of non-cons.
10953
10954 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10955
10956 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10957
109582003-01-20 David Ponce <david@dponce.com>
10959
10960 * w32menu.c (digest_single_submenu): Declare all args.
10961
10962 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
10963 changes in xmenu.c:
10964
10965 (parse_single_submenu): Use individual keymap's prompt
10966 string as pane name, if there is one.
10967 (set_frame_menubar): Save menu_items_n_panes from each call to
10968 parse_single_submenu and use it when calling digest_single_submenu.
10969
109702003-01-20 Steven Tamm <steventamm@mac.com>
10971
10972 * macterm.c (XTread_socket): Checks for valid, visible window
10973 before sending a scroll-wheel event.
10974
109752003-01-20 Richard M. Stallman <rms@gnu.org>
10976
10977 * xdisp.c (redisplay_window): If mini window's buffer is not
10978 a minibuffer, then redisplay it like other windows.
10979
109802003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10981
10982 * gtkutil.c (xg_create_frame_widgets): Check if there is an
10983 external tool bar before setting tool bar height.
10984
109852003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10986
10987 * xterm.c (handle_one_xevent): Surround popup_activated
10988 with #ifdef:s for non-toolkit version.
10989
10990 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
10991 (gtkutil.o): New file.
10992 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
10993 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
10994
10995 * gtkutil.c: New file for GTK version.
10996
10997 * gtkutil.h: New file for GTK version.
10998
10999 * xterm.h: Add xt_or_gtk_widget.
11000 Include gtk files for USE_GTK.
11001 (struct x_output): Add toolbar_height.
11002 (struct x_output): Add GTK widgets and Gdk size_hints.
11003 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
11004 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
11005 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
11006
11007 * xterm.c: Include gtkutil.h for USE_GTK.
11008 (free_frame_menubar): Declare extern void for USE_GTK.
11009 (note_mouse_highlight): Check popup_activated for USE_GTK.
11010 (xt_action_hook): Don't compile if USE_GTK.
11011 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
11012 (xg_scroll_callback): New function.
11013 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
11014 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
11015 for USE_GTK.
11016 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
11017 xg_show_scroll_bar for USE_GTK.
11018 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
11019 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
11020 (event_handler_gdk): New function for USE_GTK.
11021 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
11022 (handle_one_xevent): Make sure widget is mapped before
11023 calling x_real_positions for USE_GTK.
11024 (XTread_socket): Add GTK event loop for USE_GTK.
11025 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
11026 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
11027 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
11028 (x_iconify_frame): Add code for USE_GTK.
11029 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
11030 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
11031 is in gtkutil.c.
11032 (x_term_init): Add initialization for GTK.
11033 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
11034
11035 * xmenu.c: Include gtkutil.h for USE_GTK.
11036 (Fx_popup_menu): Use current position if x and y is NIL.
11037 (single_menu_item, single_menu_item, Fx_popup_dialog):
11038 Check for USE_GTK.
11039 (popup_widget_loop): New function for USE_GTK.
11040 (x_activate_menubar): Add code for USE_GTK.
11041 (popup_activate_callback, popup_deactivate_callback)
11042 (menu_highlight_callback, menubar_selection_callback):
11043 Add USE_GTK versions.
11044 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
11045 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
11046 (free_frame_menubar): Only compile if not USE_GTK. GTK version
11047 is in gtkutil.c.
11048 (popup_selection_callback): New version for USE_GTK.
11049 (create_and_show_popup_menu): New fuction, one USE_GTK version and
11050 one USE_X_TOOLKIT version.
11051 (xmenu_show): Call create_and_show_popup_menu.
11052 (dialog_selection_callback): New version for USE_GTK.
11053 (create_and_show_dialog): New fuction, one USE_GTK version and
11054 one USE_X_TOOLKIT version.
11055 (xdialog_show): Call create_and_show_dialog.
11056
11057 * xfns.c: Include gtkutil for USE_GTK.
11058 (x_window_to_frame, x_any_window_to_frame)
11059 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
11060 (x_top_window_to_frame): Add code for USE_GTK.
11061 (x_set_background_color): Call xg_set_background_color for GTK.
11062 (x_set_menu_bar_lines): Check for USE_GTK.
11063 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
11064 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
11065 (x_window): Call xg_create_frame_widgets for USE_GTK.
11066 (Fx_create_frame): Check for USE_GTK
11067 (Fx_file_dialog): New implementation for USE_GTK.
11068
11069 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
11070 (update_menu_bar): Add check for USE_GTK.
11071 (update_tool_bar): Add check for USE_GTK and external tool bar.
11072 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
11073 (redisplay_internal): Add check for USE_GTK and popup_activated.
11074 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
11075 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
11076 (display_menu_bar): Add check for USE_GTK
11077
11078 * lisp.h (Vx_resource_name): Declare extern.
11079
11080 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
11081 for USE_GTK.
11082 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
11083
11084 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
11085 (FRAME_EXTERNAL_TOOL_BAR): New macro.
11086 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
11087
11088 * fileio.c (Fread_file_name): Add check for USE_GTK.
11089
11090 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
11091 Add check for USE_GTK.
11092
11093 * config.in: Added HAVE_GTK
11094
11095 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
11096
110972003-01-18 Stefan Monnier <monnier@cs.yale.edu>
11098
11099 * charset.h (Funibyte_char_to_multibyte): Export.
11100
111012003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11102
11103 * xmenu.c (mouse_position_for_popup): New function.
11104 (Fx_popup_menu): Call mouse_position_for_popup for X and
11105 mouse_position_hook for others.
11106
111072003-01-17 Kim F. Storm <storm@cua.dk>
11108
11109 * editfns.c (Finsert): Mention `string-make-multibyte' and
11110 `string-as-multibyte' in doc string.
11111
111122003-01-17 Kenichi Handa <handa@m17n.org>
11113
11114 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
11115
11116 * editfns.c (Fformat): Convert an unibyte char argument that is
11117 formatted by "%c" to multibyte if the total result must be a
11118 multibyte string.
11119
111202003-01-16 Kim F. Storm <storm@cua.dk>
11121
11122 * process.c (set-process-filter): Document unibyte/multibyte-ness
11123 of string argument.
11124
111252003-01-16 Kenichi Handa <handa@m17n.org>
11126
11127 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
11128
11129 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
11130 (re_search_2): Likewise.
11131
111322003-01-15 Kenichi Handa <handa@m17n.org>
11133
11134 * xdisp.c (message_dolog): Fix bug of the case that *Message*
11135 buffer is unibyte.
11136
111372003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
11138
11139 * fns.c (Fsubstring): Clarify doc string.
11140
11141 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
11142 (Fprevious_char_property_change)
11143 (Fnext_single_char_property_change)
11144 (Fprevious_single_char_property_change, Fnext_property_change)
11145 (Fnext_single_property_change, Fprevious_property_change)
11146 (Fprevious_single_property_change, Fadd_text_properties)
11147 (Fput_text_property, Fset_text_properties)
11148 (Fremove_text_properties, Fremove_list_of_text_properties)
11149 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
11150
111512003-01-14 Kim F. Storm <storm@cua.dk>
11152
11153 * process.h (struct Lisp_Process): New member plist replaces old
11154 member private_vars. All uses changed.
11155
11156 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
11157 (QCplist): Rename from QCvars. Change all uses.
11158 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
11159 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
11160 (syms_of_process): Intern, staticpro, defsubr these.
11161 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
11162
111632003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
11164
11165 * m/delta.h: Remove (obsolete).
11166
111672003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
11168
11169 * fileio.c (Fdelete_directory, Fdelete_file): Document the
11170 behaviour in front of symlinks.
11171 (Fdelete_file): Raise an error on directories.
11172
111732003-01-13 Dave Love <fx@gnu.org>
11174
11175 * fns.c (Freverse): Use QUIT.
11176
111772003-01-13 Richard M. Stallman <rms@gnu.org>
11178
11179 * minibuf.c (minibuffer_completion_contents):
11180 Error if point is inside prompt.
11181
11182 * keyboard.c (command_loop_1): Don't redisplay directly
11183 if there's a post-command-hook.
11184
11185 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
11186 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
11187
111882003-01-12 Kim F. Storm <storm@cua.dk>
11189
11190 * process.h (struct Lisp_Process): New member private_vars.
11191
11192 * process.c (QCvars): New variable.
11193 (syms_of_process): Intern and staticpro it.
11194 (Fset_process_contact): Removed function.
11195 (Fprocess_variable, Fset_process_variable): New functions.
11196 (syms_of_process): Defsubr them.
11197 (Fstart_process): Initialize private_vars plist to nil.
11198 (Fmake_network_process): New arg :vars to setup the private
11199 variables for new network process.
11200 (server_accept_connection): Copy server's private variables to
11201 client process.
11202
11203 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
11204 crashes). Code rewritten and simplified. Now directly aligns the
11205 pointer and recalculates pure_bytes_used, rather than aligning the
11206 size and adjusting the pointer.
11207
112082003-01-11 Kim F. Storm <storm@cua.dk>
11209
11210 * process.c (Fset_process_contact): New function.
11211 (syms_of_process): defsubr it.
11212 (make-network-process): Update doc.
11213
112142003-01-10 Andreas Schwab <schwab@suse.de>
11215
11216 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
11217 Reported by Berthold Gunreben <b.gunreben@web.de>.
11218
112192003-01-10 Dave Love <fx@gnu.org>
11220
11221 * composite.c (syms_of_composite): Make composition_hash_table weak.
11222
112232003-01-09 Kim F. Storm <storm@cua.dk>
11224
11225 * process.c (Fmake_network_process): Convert new port number
11226 to host byte order for `:service t' case. From Mario Lang.
11227
112282003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11229
11230 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
11231 instead of XtAppProcessEvent.
11232
11233 * xterm.c (handle_one_xevent): New function.
11234 (x_dispatch_event): New function.
11235 (XTread_socket): Call handle_one_xevent.
11236
11237 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
11238
11239 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
11240 call XQueryPointer to get coordinates.
11241 (popup_get_selection): Do not set popup_activated_flag to zero,
11242 let popup_deactivate_callback do that. Needed for Motif.
11243 Call x_dispatch_event instead of XtDispatchEvent.
11244 (xmenu_show): Calculate root coordinate from frame top/left position.
11245
112462003-01-08 Kim F. Storm <storm@cua.dk>
11247
11248 * process.c (server_accept_connection): Fix recording of new
11249 connection's local address in :local property of contact info.
11250 (Fmake_network_process): Record local network address for new
11251 client processes in :local property of contact info.
11252 (format-network-address): Add arg OMIT-PORT. Change callers.
11253
112542003-01-07 Dave Love <fx@gnu.org>
11255
11256 * Makefile.in (fns.o): Depend on coding.h.
11257
112582003-01-07 Markus Rost <rost@math.ohio-state.edu>
11259
11260 * minibuf.c (Fread_variable): Doc fix.
11261
11262 * eval.c (Fuser_variable_p): Doc change. For custom variables,
11263 use the same test as for custom-variable-p.
11264
112652003-01-05 Richard M. Stallman <rms@gnu.org>
11266
11267 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
11268 Count LAST_LINE_MISFIT in scroll margin for end of window.
11269 Move label too_near_end before setting SCROLL_MARGIN_POS.
11270 Set LAST_LINE_MISFIT before jumping there.
11271
11272 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
11273 scroll_conservatively case. If scrolling that much doesn't change
11274 STARTP, move it down one line.
11275
11276 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
11277 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
11278
11279 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
11280 selected frame.
11281
11282 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
11283 (syms_of_keymap): Staticpro them.
11284 (Fapropos_internal): Initialize them and clear them out.
11285 Don't GCPRO them.
11286
11287 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
11288 Doc fixes.
11289
11290 * lisp.h: New misc type Lisp_Save_Value.
11291 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
11292 (XSAVE_VALUE): New macro.
11293 (struct Lisp_Save_Value): New data type.
11294 (union Lisp_Misc): Add u_save_value alternative.
11295 (make_save_value): Declare.
11296
11297 * alloc.c (make_save_value): New function.
11298
11299 * xterm.c (x_catch_errors): Save dpy using make_save_value.
11300 (x_catch_errors_unwind): Call XSync.
11301
113022003-01-01 Richard M. Stallman <rms@gnu.org>
11303
11304 * window.c (window_scroll_pixel_based): Partially undo last change.
11305
11306 * keyboard.c (command_loop_1): Call adjust_point_for_property
11307 in direct action cases for Qforward_char and Qbackward_char.
11308 Set already_adjusted so it won't be done twice.
11309
113102002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk>
11311
11312 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
11313 type definition of size_t.
11314
113152003-01-02 Steven Tamm <steventamm@mac.com>
11316
11317 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
11318 distinguish Carbon GUI builds from X11 builds on darwin.
11319
113202002-12-30 Steven Tamm <steventamm@mac.com>
11321
11322 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
11323 to default to t.
11324
113252002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
11326
11327 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
11328
113292002-12-28 Steven Tamm <steventamm@mac.com>
11330
11331 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
11332 allow building in a different directory than source. Uses some
11333 GNU Make extensions, but there is no other make on Mac OS X.
11334
113352002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
11336
11337 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
11338 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
11339 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
11340 (Fstring_to_number): Mention the returned value in the doc strings.
11341
113422002-12-23 Richard M. Stallman <rms@gnu.org>
11343
11344 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
11345 <scroll-down-aggressively>: Doc fix.
11346
11347 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
11348 string as pane name, if there is one.
11349 (set_frame_menubar): Save menu_items_n_panes from each call to
11350 parse_single_submenu and use it when calling digest_single_submenu.
11351
11352 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
11353 Don't try to make last line fully visible if it is past end of window.
11354
113552002-12-22 Steven Tamm <steventamm@mac.com>
11356
11357 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
11358 (mac_menu_show): Add support for hierarchical popup menus.
11359 (add_menu_item): Remove indentation support.
11360 (fill_submenu, fill_menu): Create hierarchical menus
11361 instead of using indentation.
11362
113632002-12-22 Richard M. Stallman <rms@gnu.org>
11364
11365 * xdisp.c (try_cursor_movement): Don't call try_window here.
11366 (redisplay_window): Never redisplay minibuffer when inactive.
11367
11368 * window.c (select_window_1): Undo 9/21 change.
11369
113702002-12-22 Steven Tamm <steventamm@mac.com>
11371
11372 * macterm.c (XTread_socket): Call KeyTranslate for control and
11373 meta to deal correctly shifted non-alpha characters, like C-S-5
11374 being treated like C-%. Does not look for shift key to deal
11375 with masking off control-key with mac-reverse-ctrl-meta.
11376
113772002-12-21 Richard M. Stallman <rms@gnu.org>
11378
11379 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
11380 If it is non-nil, run timers. Use an unwind-protect to requeue
11381 the events that were read ahead.
11382 (popup_get_selection_unwind): New subroutine.
11383 (popup_get_selection_queue): File-scope variable now holds that queue.
11384 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
11385 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
11386 Use an unwind-protect to pop down the dialog box.
11387 (xdialog_show_unwind): New subroutine implements that.
11388
11389 * xdisp.c (row_containing_pos): Change exit test using last_y.
11390 (try_window_id): Abort if row_containing_pos returns null.
11391
11392 * lread.c (load_error_handler): New function.
11393 (Fload): Handle errors in Fsubstitute_in_file_name.
11394 Don't expect Fsignal to return.
11395
11396 * eval.c: Errors and throws work right with interrupt blocking.
11397 (struct catchtag): New elt interrupt_input_blocked.
11398 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
11399 (internal_catch, Fcondition_case, internal_condition_case)
11400 (internal_condition_case_1, internal_condition_case_2): Save it.
11401 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
11402
11403 * editfns.c (Fformat): Add parens.
11404
11405 * dired.c (file_name_completion): Fix that change.
11406 Delete special quit-handling code; just use QUIT.
11407
114082002-12-21 Tak Ota <Takaaki.Ota@am.sony.com>
11409
11410 * dired.c (file_name_completion): Close directory on error
11411 just as in directory_files_internal.
11412
114132002-12-19 David Kastrup <David.Kastrup@t-online.de>
11414
11415 * window.c (Fset_window_configuration): Set old_point to correct
11416 value when new_current_buffer == current_buffer.
11417
114182002-12-17 Ben Key <bkey1@tampabay.rr.com>
11419
11420 Revisited my earlier fix for the following entry in etc/PROBLEMS:
11421 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
11422 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
11423
11424 These changes were in part based upon suggestions made by Peter
11425 'Luna' Runestig [peter@runestig.com].
11426
11427 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token)
11428 (g_b_init_get_token_information, g_b_init_lookup_account_sid)
11429 (g_b_init_get_sid_identifier_authority ): Add several static
11430 global variables.
11431
11432 * w32.c (globals_of_w32): New function. Used to initialize those
11433 global variables that must always be initialized on startup even
11434 when the global variable initialized is non zero. Its primary
11435 purpose at this time is to set the global variables
11436 g_b_init_is_windows_9x, g_b_init_open_process_token,
11437 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
11438 g_b_init_get_sid_identifier_authority to 0 on startup.
11439 Called from main.
11440
11441 * w32.c (is_windows_9x): Perform initialization only if
11442 g_b_init_is_windows_9x is equal to 0. On initialization set
11443 g_b_init_is_windows_9x equal to 1.
11444
11445 * w32.c (open_process_token): Perform initialization only if
11446 g_b_init_open_process_token is equal to 0. On initialization set
11447 g_b_init_open_process_token equal to 1.
11448
11449 * w32.c (get_token_information): Perform initialization only if
11450 g_b_init_get_token_information is equal to 0. On initialization
11451 set g_b_init_get_token_information equal to 1.
11452
11453 * w32.c (lookup_account_sid): Perform initialization only if
11454 g_b_init_lookup_account_sid is equal to 0. On initialization
11455 set g_b_init_lookup_account_sid equal to 1.
11456
11457 * w32.c (get_sid_identifier_authority): Perform initialization
11458 only if g_b_init_get_sid_identifier_authority is equal to 0.
11459 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
11460
11461 * w32fns.c (globals_of_w32fns): New function. Used to initialize
11462 those global variables that must always be initialized on startup
11463 even when the global variable initialized is non zero.
11464 Its primary purpose at this time is to initialize the global variable
11465 track_mouse_event_fn.
11466
11467 * w32fns.c (w32_wnd_proc): Remove initialization of
11468 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
11469
11470 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
11471
11472 * w32menu.c (globals_of_w32menu): New function. Used to
11473 initialize those global variables that must always be initialized
11474 on startup even when the global variable initialized is non zero.
11475 Its primary purpose at this time is to initialize the global
11476 variables get_menu_item_info and set_menu_item_info.
11477
11478 * w32menu.c (initialize_frame_menubar): Remove initialization of
11479 get_menu_item_info and set_menu_item_info.
11480
11481 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
11482
11483 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
11484 Declare them.
11485
11486 * emacs.c (main): Call globals_of_w32 prior to calling
11487 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
11488 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
11489 is defined.
11490
11491 * w32term.c (x_update_window_begin): Fix Windows API error
11492 detected by BoundsChecker. Test to determine if
11493 w32_system_caret_hwnd is NULL prior to attempting to use
11494 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
11495
11496 * w32term.c (x_update_window_end): Fix Windows API error
11497 detected by BoundsChecker. Test to determine if
11498 w32_system_caret_hwnd is NULL prior to attempting to use
11499 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
11500
115012002-12-17 Kenichi Handa <handa@m17n.org>
11502
11503 * coding.c (coding_system_require_warning): New variable.
11504 (syms_of_coding): DEFVAR it.
11505
11506 * coding.h (coding_system_require_warning): Extern it.
11507
11508 * fileio.c (choose_write_coding_system): Even if
11509 Vcoding_system_for_write is non-nil, if
11510 coding_system_require_warning is nonzero, call
11511 Vselect_safe_coding_system_function.
11512
115132002-12-17 Markus Rost <rost@math.ohio-state.edu>
11514
11515 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
11516 (lisp): Add font-core.
11517
115182002-12-13 Stefan Monnier <monnier@cs.yale.edu>
11519
11520 * textprop.c (text_read_only): New arg `propval'.
11521 (get_char_property_and_overlay): Remove unused var `next_overlay'.
11522 (verify_interval_modification): Use text_read_only's new arg.
11523
115242002-12-13 Kenichi Handa <handa@m17n.org>
11525
11526 * coding.c (Funencodable_char_position): Set pend correctly.
11527
115282002-12-12 Jason Rumney <jasonr@gnu.org>
11529
11530 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
11531 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
11532 Be more careful about when help_events are generated.
11533
115342002-12-12 Steven Tamm <steventamm@mac.com>
11535
11536 * macterm.c (mac_check_for_quit_char): Correctly set the
11537 modifiers of the event to 0.
11538 * mac.c (sys_select): Duplicate rfds before calling select to
11539 ensure that rfds survive the while loop.
11540
115412002-12-11 Kim F. Storm <storm@cua.dk>
11542
11543 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
11544 row_containing_pos returned NULL.
11545
115462002-12-10 Steven Tamm <steventamm@mac.com>
11547
11548 * mac.c (sys_read): Fix sys_read to not call select if IO is
11549 non-blocking.
11550 (sys_select): Fix sys_select to not use a timeout larger than
11551 the one given.
11552
115532002-12-10 Juanma Barranquero <lektu@terra.es>
11554
11555 * editfns.c (Fformat): Use alloca, not _alloca.
11556
115572002-12-09 Richard M. Stallman <rms@gnu.org>
11558
11559 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
11560 as the last thing.
11561
115622002-12-09 Dave Love <fx@gnu.org>
11563
11564 * s/sol2-8.h: Removed. (Not necessary.)
11565
115662002-12-09 Matthew Swift <swift@alum.mit.edu>
11567
11568 * editfns.c (Fformat): Handle precision in string conversion
11569 specifiers like libc functions do (ie, print at most that many
11570 characters).
11571
115722002-12-08 Richard M. Stallman <rms@gnu.org>
11573
11574 * xdisp.c (row_containing_pos): Check more carefully
11575 whether charpos is really in the row before returning it.
11576
115772002-12-07 Steven Tamm <steventamm@mac.com>
11578
11579 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
11580
11581 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
11582 each stack frame. This may change as it could be time consuming.
11583
11584 * macterm.c (mac_check_for_quit_char, quit_char_comp)
11585 (init_quit_char_handler, mac_determine_quit_char_modifiers)
11586 (mac_initialize): Add code to check for pressing of quit_char
11587 in the OS event queue.
11588
11589 * mac.c (sys_select): Call mac_check_for_quit_char every second
11590 while blocking on select.
11591
11592 * mac.c (sys_read): Use sys_select to test for input first
11593 before calling read, to allow C-g to break.
11594
115952002-12-07 Richard M. Stallman <rms@gnu.org>
11596
11597 * minibuf.c (Fcompleting_read): Doc fix.
11598
11599 * lread.c (syms_of_lread) <load-history>: Doc fix.
11600
11601 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
11602
11603 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
11604 autoload.
11605
11606 * data.c (Fdefalias): Record in load-history redefining an autoload.
11607
11608 * alloca.c: Undo ifdef change accidentally made on 12-04.
11609
116102002-12-06 Francesco Potorti` <pot@gnu.org>
11611
11612 * xfns.c (png_load): Avoid double gamma correction for PNG images.
11613
116142002-12-04 Richard M. Stallman <rms@gnu.org>
11615
11616 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
11617
11618 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
11619
11620 * alloca.c: Don't use #error.
11621
116222002-12-03 Dave Love <fx@gnu.org>
11623
11624 * buffer.c (Qucs_set_table_for_input): New.
11625 (Fget_buffer_create): Use it.
11626 (Qset_buffer_major_mode_hook): Deleted.
11627 (Fset_buffer_major_mode): Revert previous change.
11628 (init_buffer_once): Intern ucs-set-table-for-input.
11629 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
11630 Add &Qucs_set_table_for_input.
11631
116322002-12-03 Andreas Schwab <schwab@suse.de>
11633
11634 * callint.c (Fcall_interactively): Use next_event only if less
11635 than key_count.
11636
116372002-12-02 Andrew Choi <akochoi@shaw.ca>
11638
11639 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
11640 names to 255 characters.
11641
11642 * macterm.c (XTread_socket): If all frames have been collapsed,
11643 expand the first one before handling drag-and-drop events.
11644
11645 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
11646 which is detected by autoconf.
11647
116482002-12-01 Steven Tamm <steventamm@mac.com>
11649
11650 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
11651 offset in two hints table to allow prebinding to be redone and
11652 allow the executable to be stripped.
11653
116542002-11-29 Dave Love <fx@gnu.org>
11655
11656 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
11657 already provided.
11658
116592002-11-29 Richard M. Stallman <rms@gnu.org>
11660
11661 * xdisp.c (start_display): Check more intelligently for
11662 whether the line is continued.
11663 (move_it_vertically_backward): Clear it->continuation_lines_width.
11664
116652002-11-28 Dave Love <fx@gnu.org>
11666
11667 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
11668 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
11669
116702002-11-27 Steven Tamm <steventamm@mac.com>
11671
11672 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
11673 more descriptive error output from lread.c:Fload upon most require
11674 cycles during boostrapping.
11675
116762002-11-27 Jason Rumney <jasonr@gnu.org>
11677
11678 * fileio.c (Finsert_file_contents): Give a more appropriate error
11679 for files bigger than 2Gb when off_t is 32 bit.
11680
11681 * dired.c (Ffile_attributes): Don't return negative file sizes for
11682 files bigger than 2Gb when off_t is 32 bit.
11683
116842002-11-27 Dave Love <fx@gnu.org>
11685
11686 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
11687
11688 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
11689 Test GETPGRP_VOID instead.
11690 [BSD_TERMIOS]: Remove definitions (never used).
11691
11692 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
11693 Don't define.
11694 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
11695
11696 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
11697
116982002-11-25 Jason Rumney <jasonr@gnu.org>
11699
11700 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
11701 supported.
11702
117032002-11-25 Dave Love <fx@gnu.org>
11704
11705 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
11706
11707 * Makefile.in (TEMACS_LDFLAGS): Update last change.
11708
117092002-11-25 Andreas Schwab <schwab@suse.de>
11710
11711 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
11712
117132002-11-24 Steven Tamm <steventamm@mac.com>
11714
11715 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
11716 determine the size of pointers alloced in unexed space instead
11717 of using possibly invalid emacs_zone pointers. This fixes the
11718 binary incompatibility problems caused by updates to libSystem.B.
11719
117202002-11-24 Richard M. Stallman <rms@gnu.org>
11721
11722 * search.c (Fstring_match): Doc fix.
11723
11724 * callint.c (Fcall_interactively): If a command fails because
11725 `*' detects a read-only buffer, but RECORD_FLAG is set,
11726 record it anyway if the args don't actually do tty input.
11727
117282002-11-22 Dave Love <fx@gnu.org>
11729
11730 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
11731
11732 * keyboard.c (interrupt_signal): Provide forward declaration.
11733 (kbd_buffer_store_event): Don't declare interrupt_signal.
11734
11735 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
11736
117372002-11-21 Richard M. Stallman <rms@gnu.org>
11738
11739 * eval.c (interactive_p): Skip any number of bytecode
11740 and special form frames, in any order.
11741
117422002-11-20 Jason Rumney <jasonr@gnu.org>
11743
11744 * w32fns.c (convert_mono_to_color_image): New function.
11745 (xbm_load, xbm_load_image): Use it when foreground or background
11746 is explicitly set.
11747
117482002-11-19 Dave Love <fx@gnu.org>
11749
11750 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
11751
117522002-11-18 Jason Rumney <jasonr@gnu.org>
11753
11754 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
11755 (XPutPixel): Swap blue and red.
11756 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
11757 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11758 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
11759 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
11760
117612002-11-18 Dave Love <fx@gnu.org>
11762
11763 * m/orion105.h (HAVE_ALLOCA): Don't define.
11764
11765 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
11766
11767 * m/intel386.h: Don't include alloca.h or define alloca.
11768
11769 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
11770 malloc, realloc, calloc.
11771
11772 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
11773 (bcmp): Don't define.
11774
11775 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
11776
11777 * m/amdahl.h: Don't define LIB_STANDARD.
11778
11779 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
11780
11781 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
11782
11783 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
11784 Don't include alloca.h.
11785
11786 * s/aix3-2.h (HAVE_FSYNC): Don't define.
11787
11788 * regex.c (_GNU_SOURCE): Don't define.
11789
11790 * process.c (_GNU_SOURCE): Don't define.
11791
11792 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
11793
117942002-11-18 Markus Rost <rost@math.ohio-state.edu>
11795
11796 * s/sol2-8.h: Include sol2-6.h.
11797
117982002-11-18 Miles Bader <miles@gnu.org>
11799
11800 * dispextern.h (struct face): Add `overstrike' field.
11801 * xterm.c (x_draw_glyph_string_foreground)
11802 (x_draw_composite_glyph_string_foreground): Implement overstriking.
11803 * xfaces.c (load_face_font): Set `face->overstrike' based on
11804 result from choose_face_font.
11805 (best_matching_font, choose_face_font): Add `needs_overstrike'
11806 argument, and use it to return whether overstriking is desirable
11807 for this face/font combo.
11808 (set_font_frame_param: Pass new argument to choose_face_font.
11809
118102002-11-17 Ben Key <BKey1@tampabay.rr.com>
11811
11812 This change is my fix for the following entry in etc/PROBLEMS:
11813 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
11814 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
11815
11816 * w32.c: Added wrapper functions around the win32 API functions
11817 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
11818 GetSidIdentifierAuthority. These wrapper functions serve two
11819 purposes:
11820 1. They ensure that the wrapped function can never be called
11821 when Emacs is running on an operating system on which they are
11822 not supported (Microsoft Windows 95 / 98 / ME).
11823 2. They call the wrapped functions via function pointers rather
11824 than calling them directly. This avoids taking advantage of the
11825 undocumented fact that although these functions are not supported
11826 in the 9x branch of Microsoft Windows, the functions do exist in
11827 the version of advapi32.dll that is found in the 9x branch of
11828 Microsoft Windows.
11829
11830 * w32.c (init_user_info): Replace the calls to the win32 API
11831 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
11832 and GetSidIdentifierAuthority with calls to the newly added
11833 wrapper functions.
11834
11835 * w32.h: Added extern declarations for the following functions:
11836 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
11837 syms_of_w32menu, and void syms_of_fontset.
11838
11839 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
11840 function pointer track_mouse_event_fn in the handler for the
11841 WM_SETFOCUS message.
11842
11843 * w32menu.c (initialize_frame_menubar): Add code to
11844 reinitialize the function pointers set_menu_item_info and
11845 get_menu_item_info.
11846
118472002-11-17 Ben Key <BKey1@tampabay.rr.com>
11848
11849 * sound.c: Added a partial implementation of play-sound-internal
11850 for Microsoft Windows. Added various #ifdef / #else / #endif
11851 code blocks to separate the code that will compile under
11852 Microsoft Windows from the code that is specific to Gnu/Linux.
11853 Moved several blocks of code around to make this separation of code
11854 into Windows compatible and Gnu/Linux compatible code blocks easier.
11855
11856 * makefile.w32-in: Include sound.c and link with WinMM.lib.
11857
11858 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
11859 added support for play-sound-internal under Windows would be
11860 included in the build of Emacs.
11861
118622002-11-16 Jason Rumney <jasonr@gnu.org>
11863
11864 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
11865
11866 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
11867
118682002-11-15 Stefan Monnier <monnier@cs.yale.edu>
11869
11870 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
11871 (adjust_point_for_property): Move out of display and invisible even if
11872 we were already inside before (in case a property was added while
11873 we weren't looking). Be more careful when handling invisible props.
11874 Skip invisible text as if it really wasn't there at all.
11875
118762002-11-15 Jason Rumney <jasonr@gnu.org>
11877
11878 * w32term.c (x_draw_image_foreground)
11879 (w32_draw_image_foreground_1): Use standard copy and invert
11880 operations to draw images.
11881
11882 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
11883 depth of 1.
11884 (xbm_read_bitmap_data): Invert bits as xbm is read in.
11885 (XPutPixel): Don't invert bits here.
11886
118872002-11-15 Jason Rumney <jasonr@gnu.org>
11888
11889 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
11890 (w32_draw_image_foreground_1): Handle image masks.
11891 (x_draw_image_glyph_string): Don't BitBlt transparently.
11892
11893 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
11894 (x_from_xcolors): Adjust RGB values for W32.
11895 (image_background, image_background_transparent)
11896 (postprocess_image, x_to_xcolors, x_disable_image)
11897 (x_build_heuristic_mask): Adapt for W32 and enable.
11898 (x_create_x_image_and_pixmap): Mark images with palettes as such.
11899 (xbm_load): Remove unused variable.
11900
119012002-11-14 Richard M. Stallman <rms@gnu.org>
11902
11903 * buffer.c (syms_of_buffer): Doc fix.
11904
119052002-11-14 Dave Love <fx@gnu.org>
11906
11907 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
11908
11909 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
11910 * xmenu.c (unuse_menu_items, digest_single_submenu):
11911 * xfns.c (x_put_x_image):
11912 * xdisp.c (message2_nolog, set_message):
11913 * undo.c (record_point):
11914 * terminfo.c (tparam):
11915 * syntax.c (scan_sexps_forward):
11916 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11917 * composite.c (update_compositions):
11918 * cm.c (calccost, cmgoto):
11919 * charset.c (c_string_width): Declare all args (per C99).
11920
11921 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
11922
11923 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
11924 Don't declare.
11925
11926 * emacs.c (main) [!VMS]: Avoid third arg.
11927
11928 * fns.c (Fcopy_sequence): Doc fix.
11929 (Fmap_char_table): Cast `call2'.
11930
119312002-11-14 Francesco Potorti` <pot@gnu.org>
11932
11933 * s/sol2-8.h: New file.
11934
119352002-11-14 Kim F. Storm <storm@cua.dk>
11936
11937 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
11938 dependency on `risky-local-variable' and the :propertize form.
11939
119402002-11-12 Stefan Monnier <monnier@cs.yale.edu>
11941
11942 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
11943
11944 * syntax.c (scan_sexps_forward): Undo last patch.
11945 Use a more obvious fix: check eob before updating the syntax table.
11946
119472002-11-09 Stefan Monnier <monnier@cs.yale.edu>
11948
11949 * syntax.c (scan_sexps_forward): Update syntax table before reading
11950 a char rather than after so we don't update the table past eob.
11951
119522002-11-09 Dave Love <fx@gnu.org>
11953
11954 * buffer.c (Fset_buffer_major_mode): Fix last change.
11955
11956 * regex.c (regexec): Fix pmatch declaration.
11957
11958 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
11959
11960 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
11961 to self-inserting characters.
11962 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
11963
11964 * coding.c (Vtranslation_table_for_input): New.
11965 (syms_of_coding): DEFVAR it.
11966
119672002-11-08 Juanma Barranquero <lektu@terra.es>
11968
11969 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
11970 window.
11971
119722002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11973
11974 * process.c (Fformat_network_address): Remove unused locals p,
11975 cp, and i.
11976
119772002-11-06 Dave Love <fx@gnu.org>
11978
11979 * buffer.c (Qset_buffer_major_mode_hook): New.
11980 (Fset_buffer_major_mode): Use it.
11981
119822002-11-06 Richard M. Stallman <rms@gnu.org>
11983
11984 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
11985 and stop_polling.
11986
11987 * process.c (wait_reading_process_input):
11988 Test POLLING_PROBLEM_IN_SELECT, not hpux.
11989 Avoid initialization for auto Lisp_Object var.
11990
11991 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
11992
11993 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
11994
119952002-11-05 Richard M. Stallman <rms@gnu.org>
11996
11997 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
11998
11999 * callint.c (Fcall_interactively): New local filter_specs.
12000 (Fcall_interactively): Check for progn as well as let.
12001 Add a gcpro.
12002 (Qprogn): New variable.
12003 (syms_of_callint): Staticpro and init Qprogn.
12004
120052002-11-04 John Paul Wallington <jpw@shootybangbang.com>
12006
12007 * lread.c (Feval_buffer): Doc fix.
12008
120092002-11-04 Dave Love <fx@gnu.org>
12010
12011 * keyboard.c (read_char): Always translate iff
12012 Vkeyboard_translate_table is a char table and c is valid.
12013
12014 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12015 and fix C types.
12016
120172002-11-03 Stefan Monnier <monnier@cs.yale.edu>
12018
12019 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
12020
12021 * editfns.c (get_pos_property): Don't hardcode Qfield.
12022
12023 * keyboard.c (adjust_point_for_property): Handle `display' prop on
12024 overlays. Also handle `invisible' prop.
12025
120262002-11-02 Stefan Monnier <monnier@cs.yale.edu>
12027
12028 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
12029 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
12030
120312002-11-01 Andreas Schwab <schwab@suse.de>
12032
12033 * editfns.c (Fmessage): Revert last change to properly handle %%.
12034
120352002-11-01 Stefan Monnier <monnier@cs.yale.edu>
12036
12037 * xmenu.c (unuse_menu_items): New fun.
12038 (menu_items_inuse): New var.
12039 (syms_of_xmenu): Initialize it.
12040 (init_menu_items): Use it to detect re-entrance.
12041 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
12042 (Fx_popup_menu): Remove spurious XSETFRAME.
12043
12044 * editfns.c (find_field): Make an exception for nil fields.
12045
120462002-11-01 Dave Love <fx@gnu.org>
12047
12048 * m/gec63.h: Deleted.
12049
120502002-10-31 Dave Love <fx@gnu.org>
12051
12052 * xterm.c (XTread_socket): Fix last change.
12053 (xaw_scroll_callback): Cast call_data to long to avoid warning.
12054
120552002-10-31 Stefan Monnier <monnier@cs.yale.edu>
12056
12057 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
12058
120592002-10-30 Stefan Monnier <monnier@cs.yale.edu>
12060
12061 * editfns.c (overlays_around, get_pos_property): New funs.
12062 (find_field): Use them.
12063 Also be careful not to modify POS before its last use.
12064 (Fmessage): Don't Fformat if there's nothing to format.
12065
120662002-10-30 Dave Love <fx@gnu.org>
12067
12068 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
12069 [HAVE_PTY_H]; Include pty.h.
12070
12071 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
12072
12073 * xterm.c (Qeql): Declare.
12074 (Vx_keysym_table): New.
12075 (syms_of_xterm): Initialize it.
12076 (XTread_socket): Use it. Deal with ASCII keysyms.
12077 (XSetIMValues) [HAVE_X11R6]: Prototype.
12078
12079 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
12080 (lispy_kana_keys): Comment out.
12081 (make_lispy_event) [XK_kana_A]: Comment out.
12082 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
12083 Fix sprintf call.
12084
12085 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
12086 regexp.h change).
12087 (TERMINFO, LIBS_TERMCAP): Define.
12088
12089 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
12090 (bcmp): Define conditional on HAVE_BCMP.
12091 (NO_SIOCTL_H): Don't define.
12092 (TIOCSIGSEND): Don't make conditional on IRIX6.
12093
12094 * s/sol2-5.h: Don't include strings.h.
12095 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
12096
12097 * s/irix6-0.h (IRIX6): Don't define.
12098 (bcopy, bcmp, bzero): Don't undef.
12099
12100 * s/irix6-5.h: Don't include strings.h.
12101 (IRIX6): Don't define.
12102 (bcopy, bcmp, bzero): Don't undef.
12103
12104 * syntax.c (Fforward_comment): Doc fix.
12105
121062002-10-29 Kim F. Storm <storm@cua.dk>
12107
12108 * process.c (Fsignal_process): Allow PROCESS to be specified by
12109 name in addition to pid (as integer or string).
12110
121112002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
12112
12113 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
12114 environments.
12115
121162002-10-27 Kim F. Storm <storm@cua.dk>
12117
12118 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
12119
12120 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
12121
12122 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
12123
12124 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
12125
121262002-10-26 Richard M. Stallman <rms@gnu.org>
12127
12128 * editfns.c (Fformat): Detect invalid format letters for floats.
12129
121302002-10-25 Kenichi Handa <handa@m17n.org>
12131
12132 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
12133 (x_set_title): Likewise.
12134
121352002-10-25 Juanma Barranquero <lektu@terra.es>
12136
12137 * macgui.h:
12138 * w32gui.h: Remove definition of XColor.
12139
12140 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
12141
121422002-10-24 Kim F. Storm <storm@cua.dk>
12143
12144 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
12145 Callers changed (supply dummy arg).
12146
12147 * lisp.h (get_window_cursor_type): Update prototype.
12148
12149 * w32term.c (x_display_and_set_cursor): Get active_cursor from
12150 get_window_cursor_type to track system caret.
12151
121522002-10-24 Kim F. Storm <storm@cua.dk>
12153
12154 * process.c (Fformat_network_address): New function.
12155 (syms_of_process): Defsubr it.
12156 (list_processes_1): Use it to format :local/:remote address if
12157 service/host is not set; before Emacs would crash in that case.
12158 (Fmake_network_process): Don't use Ffind_operation_coding_system
12159 to setup coding system if host or service is not set.
12160
121612002-10-23 Juanma Barranquero <lektu@terra.es>
12162
12163 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
12164
12165 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
12166 COLORREF.
12167
12168 * macgui.h:
12169 * w32gui.h: Add definition of XColor.
12170
12171 * macfns.c:
12172 * w32fns.c:
12173 * xfaces.c: Remove definition of XColor.
12174
121752002-10-22 Stefan Monnier <monnier@cs.yale.edu>
12176
12177 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
12178
12179 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
12180 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
12181 window if it is dedicated.
12182 (Fshrink_window): Add preserve_before as was done for enlarge_window.
12183 (Vspecial_display_function): Update docstring.
12184
12185 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
12186 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
12187 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
12188
121892002-10-21 Stefan Monnier <monnier@cs.yale.edu>
12190
12191 * casefiddle.c (casify_region): Don't treat a prefix char as part
12192 of a word when at the beginning.
12193
121942002-10-17 Juanma Barranquero <lektu@terra.es>
12195
12196 * lread.c (syms_of_lread): Fix typos.
12197
121982002-10-17 Dave Love <fx@gnu.org>
12199
12200 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
12201
122022002-10-16 Richard M. Stallman <rms@gnu.org>
12203
12204 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
12205
122062002-10-14 Juanma Barranquero <lektu@terra.es>
12207
12208 * w16select.c (syms_of_win16select): Fix docstring for
12209 `selection-coding-system'.
12210
12211 * w32select.c (syms_of_w32select): Likewise.
12212
122132002-10-14 Stefan Monnier <monnier@cs.yale.edu>
12214
12215 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
12216 a backslash-quoted char.
12217 (scan_lists, scan_sexps_forward): Pacify the compiler.
12218
122192002-10-13 Richard M. Stallman <rms@gnu.org>
12220
12221 * window.c (window_scroll): Set immediate_quit.
12222
12223 * print.c (print): When backquote form is the car of a list,
12224 output in old style. Use old_backquote_output to output all
12225 comma forms inside it in old style too.
12226
12227 * buffer.h (struct buffer): Move `undo_list' down below `name'.
12228
122292002-10-11 Markus Rost <rost@math.ohio-state.edu>
12230
12231 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
12232 batch mode).
12233
12234 * lread.c (Fload): Doc fix (load-suffixes).
12235
122362002-10-10 Steven Tamm <steventamm@mac.com>
12237
12238 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
12239 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
12240 Also switch the default to Qnil from Qt.
12241
122422002-10-08 Kenichi Handa <handa@m17n.org>
12243
12244 * coding.c (code_convert_region): When we need more GAP for
12245 conversion, pay attention to the case that coding->produced is not
12246 greater than coding->consumed.
12247
122482002-10-07 Richard M. Stallman <rms@gnu.org>
12249
12250 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
12251
122522002-10-06 Andrew Choi <akochoi@shaw.ca>
12253
12254 * macmenu.c (mac_menu_show): Add j to count menu items; match
12255 menu_item_selection to it to find selected item.
12256
122572002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12258
12259 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
12260 cases. The correct fix is to pass ReparentNotify to Xt.
12261 The shell widget interprets ConfigureNotify differently depending
12262 on if it has been reparented or not.
12263
122642002-10-05 Markus Rost <rost@math.ohio-state.edu>
12265
12266 * editfns.c (Fformat_time_string): Doc fix.
12267
122682002-10-05 John Paul Wallington <jpw@shootybangbang.com>
12269
12270 * fns.c (Flength): Doc fix.
12271
122722002-10-04 Stefan Monnier <monnier@cs.yale.edu>
12273
12274 * keyboard.c (keyremap): New struct.
12275 (read_key_sequence): Use it: globally replace keytran_foo with
12276 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
12277 keytran_next and fkey_next to just `next'.
12278
122792002-10-04 Steven Tamm <steventamm@mac.com>
12280
12281 * macterm.c (keycode_to_xkeysym_table): Change return to be
12282 treated like an X keysym.
12283
122842002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12285
12286 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
12287 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
12288 This is to also handle x/y changes that occur because of a resize.
12289
122902002-10-02 John Paul Wallington <jpw@shootybangbang.com>
12291
12292 * frame.c (Vdelete_frame_functions): New variable.
12293 (syms_of_frame): Initialize and defvar it.
12294 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
12295 it when frame's `tooltip' parameter is non-nil.
12296
12297 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
12298
12299 * w32fns.c (x_create_tip_frame): Likewise.
12300
12301 * macfns.c (x_create_tip_frame): Likewise.
12302
123032002-09-30 Kenichi Handa <handa@m17n.org>
12304
12305 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
12306 -1 before calling ccl_driver.
12307
12308 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
12309 Only when it is non-nil, handle composition sequence.
12310 (setup_coding_system) <0>: Don't force composition handling.
12311
12312 * Makefile.in (lisp, shortlisp): Add utf-16.elc
12313
123142002-09-29 Richard M. Stallman <rms@gnu.org>
12315
12316 * search.c (Freplace_match): Adjust match data for the substitution
12317 just made in the buffer.
12318
12319 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
12320 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
12321
123222002-09-27 Richard M. Stallman <rms@gnu.org>
12323
12324 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
12325 (read_char): Use them. Do all exits thru the end of the function.
12326
123272002-09-27 Kenichi Handa <handa@etl.go.jp>
12328
12329 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
12330 is nil.
12331
123322002-09-26 Richard M. Stallman <rms@gnu.org>
12333
12334 * regex.h (__restrict_arr): Don't define if already defined.
12335
12336 * coding.c (run_pre_post_conversion_on_str):
12337 Save and restore Vdeactivate_mark.
12338
123392002-09-26 John Paul Wallington <jpw@shootybangbang.com>
12340
12341 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
12342
123432002-09-26 Kenichi Handa <handa@etl.go.jp>
12344
12345 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
12346 nonzero, try face's family at first. Otherwise try FAMILY at first.
12347 (choose_face_font): If C is a single byte char or latin-1, call
12348 try_font_list with PREFER_FACE_FAMILY 1.
12349
123502002-09-21 Richard M. Stallman <rms@gnu.org>
12351
12352 * window.c (select_window_1): Don't select frame.
12353 Set frame's selected window only when frame itself is selected.
12354 (Fselect_window): Doc fix.
12355
123562002-09-18 Kim F. Storm <storm@cua.dk>
12357
12358 * process.c (make-network-process): Doc fix (there is no
12359 network-server-log-function hook).
12360
123612002-09-18 Richard M. Stallman <rms@gnu.org>
12362
12363 * print.c (print): Clear out the unused parts of Vprint_number_table.
12364 (syms_of_print): Doc fix for `print-number-table'.
12365
12366 * unexelf.c (unexec): Undo previous change.
12367
123682002-09-17 Andreas Schwab <schwab@suse.de>
12369
12370 * m/alpha.h [LINUX]: Don't define DATA_START.
12371
123722002-09-16 Dave Love <fx@gnu.org>
12373
12374 * unexelf.c (unexec): Deal with .got, reinstating change from
12375 25-08-1999.
12376
123772002-09-13 Richard M. Stallman <rms@gnu.org>
12378
12379 * s/sol2-6.h (UNEXEC): Comment out definition.
12380
12381 * unexsol.c (unexec): Don't downcase first letter of error msg.
12382
12383 * xfaces.c (Fcolor_supported_p): Just one arg is required.
12384
123852002-09-12 Markus Rost <rost@math.ohio-state.edu>
12386
12387 * unexsol.c: Include buffer.h, charset.h, coding.h.
12388
123892002-09-11 Richard M. Stallman <rms@gnu.org>
12390
12391 * unexsol.c: Don't use report_file_error; do it by hand
12392 using dlerror.
12393
12394 * process.c (wait_reading_process_input, both versions):
12395 Before calling turn_on_atimers, call stop_polling.
12396
12397 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
12398
12399 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
12400 we go to too_near_end, call clear_glyph_matrix.
12401 (redisplay_window): After make_cursor_line_fully_visible,
12402 call clear_glyph_matrix and bypass `goto done'.
12403
12404 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
12405 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
12406
124072002-09-10 Richard M. Stallman <rms@gnu.org>
12408
12409 * fileio.c (Fdo_auto_save): Catch error making directory.
12410 Only call push_message if we need to.
12411 At the same time, make an unwind-protect to pop it.
12412 Rename local message_p to old_message_p.
12413 (do_auto_save_make_dir, do_auto_save_eh): New functions.
12414 (do_auto_save_unwind): Don't call pop_message.
12415
12416 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
12417
12418 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
12419
12420 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
12421
12422 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
12423
124242002-09-10 Stefan Monnier <monnier@cs.yale.edu>
12425
12426 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
12427 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
12428 (re_match_2_internal): Be more careful with infinite loops.
12429
124302002-09-10 Kim F. Storm <storm@cua.dk>
12431
12432 * macros.c (end_kbd_macro): New function.
12433 (Fend_kbd_macro): Use it.
12434
12435 * macros.h (end_kbd_macro): Declare extern.
12436
12437 * keyboard.c (Fdiscard_input): If defining keyboard macro,
12438 end and save it instead of discarding it.
12439
124402002-09-09 Markus Rost <rost@math.ohio-state.edu>
12441
12442 * s/sol2-6.h: Fix typo. Add comment.
12443
124442002-09-09 Richard M. Stallman <rms@gnu.org>
12445
12446 * regex.c (regnum_t): Use signed int, not unsigned int.
12447
12448 * s/sol2-6.h: New file.
12449
12450 * s/sol2-5.h (UNEXEC): Definition deleted.
12451
124522002-09-08 Kim F. Storm <storm@cua.dk>
12453
12454 * macros.c (executing_macro_index): Change type to EMACS_INT.
12455 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
12456
12457 * macros.h (executing_macro_index): Change type to EMACS_INT.
12458
124592002-09-06 Richard M. Stallman <rms@gnu.org>
12460
12461 * casetab.c (set_case_table): Make canon table point to eqv table.
12462
124632002-09-06 Juanma Barranquero <lektu@terra.es>
12464
12465 * coding.c (syms_of_coding): Fix spacing.
12466
12467 * composite.c (Fcompose_region_internal)
12468 (Fcompose_string_internal): Likewise.
12469
12470 * data.c (Flsh): Likewise.
12471
12472 * fontset.c (Fset_fontset_font): Likewise.
12473
12474 * macfns.c (Fx_server_max_request_size): Likewise.
12475
12476 * w16select.c (syms_of_win16select): Likewise.
12477
12478 * w32select.c (syms_of_w32select): Likewise.
12479
12480 * xselect.c (syms_of_xselect): Likewise.
12481
124822002-09-05 Richard M. Stallman <rms@gnu.org>
12483
12484 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
12485 call EXTEND_RANGE_TABLE and return a proper value.
12486 (set_image_of_range): Don't call set_image_of_range_1
12487 if no TRANSLATE or if range includes all of Latin-1.
12488 Only call it for the Latin-1 part of the range.
12489 For other cases, make two separate ranges,
12490 one for the original specified characters and one for
12491 their case-conversions.
12492
124932002-09-04 Richard M. Stallman <rms@gnu.org>
12494
12495 * s/sol2-5.h (UNEXEC): Use unexsol.o.
12496
12497 * window.c (displayed_window_lines): Correct for one-off bug
12498 in HEIGHT on non-window displays.
12499
12500 * regex.c (set_image_of_range_1): New function.
12501 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
12502 Return a value to indicate running out of memory.
12503 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
12504 (extend_range_table_work_area): New subroutine.
12505 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
12506 Different calling conventions, and used from set_image_of_range{,_1}.
12507 (IMMEDIATE_QUIT_CHECK): Definitions moved.
12508
125092002-09-04 Juanma Barranquero <lektu@terra.es>
12510
12511 * makefile.w32-in: All dependencies updated.
12512
125132002-09-01 Richard M. Stallman <rms@gnu.org>
12514
12515 * unexsol.c: New file.
12516
12517 * xfns.c (Qbox): Declare external, don't define.
12518
12519 * xdisp.c (redisplay_window) <force-start case>:
12520 If point is on semi-visible last line, reposition
12521 it at previous line.
12522
12523 * alloc.c (display_malloc_warning): Use display-warning.
12524 (malloc_warning_1): Function deleted.
12525
12526 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
12527
12528 * lread.c (read1): Handle #! by skipping the line.
12529
125302002-08-31 Richard M. Stallman <rms@gnu.org>
12531
12532 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
12533 Don't include LDFLAGS.
12534 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
12535
125362002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
12537
12538 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
12539 member of x_display_info unless we compile for some window system.
12540
125412002-08-31 Kim F. Storm <storm@cua.dk>
12542
12543 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
12544 (get_window_cursor_type): Don't use them.
12545 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
12546
125472002-08-30 Kenichi Handa <handa@etl.go.jp>
12548
12549 * xdisp.c (get_next_display_element): Fix previous change.
12550
125512002-08-30 Andrew Choi <akochoi@shaw.ca>
12552
12553 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
12554 (expose_window): Use it to fix the display of overlapping
12555 rows (merge code from xterm.c).
12556
12557 * macfns.c (Qbox): Add extern declaration.
12558
125592002-08-30 Juanma Barranquero <lektu@terra.es>
12560
12561 * w32fns.c (Qbox): Make extern.
12562 (syms_of_w32fns): Remove initialization of Qbox.
12563
125642002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
12565
12566 * xfns.c (Fx_open_connection): Fix error message.
12567
125682002-08-30 Kim F. Storm <storm@cua.dk>
12569
12570 The following changes consolidates the handling of the cursor
12571 type in xdisp.c, moving duplicate code and functionality from
12572 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
12573
12574 * frame.h (enum text_cursor_kinds): Consolidated here.
12575 Added DEFAULT_CURSOR value.
12576 (struct frame) <desired_cursor, cursor_width>
12577 <blink_off_cursor, blink_off_cursor_width>: New fields.
12578 Consolidated from output_x, output_w32 and output_mac structs.
12579 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12580 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
12581
12582 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
12583 Variables consolidated here.
12584 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
12585 (Vcursor_in_non_selected_windows): Renamed from
12586 cursor_in_non_selected_windows and changed to Lisp_Object.
12587 (syms_of_xdisp): Define and staticpro new and moved variables.
12588 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
12589 consolidated here. Recognize Qhollow setting.
12590 (set_frame_cursor_types): New function to set frame cursor types
12591 based on the frame parameters.
12592 (get_window_cursor_type): New function to calculate new cursor
12593 type and width for the specified window. Based on duplicated
12594 code consolidated here.
12595 Enhancements: cursor-in-non-selected-windows may be a cursor type,
12596 check buffer-local alternate-cursor-type and blink-cursor-alist
12597 before using built-in blink off methods.
12598
12599 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
12600
12601 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
12602 (get_specified_cursor_type, get_window_cursor_type)
12603 (set_frame_cursor_types): Added prototypes.
12604
12605 * macfns.c (x_specified_cursor_type): Removed.
12606 (x_set_cursor_type): Use set_frame_cursor_types.
12607 (Qbar, Qbox): Removed.
12608 (syms_of_macfns): Don't intern or staticpro them.
12609
12610 * macterm.c (x_specified_cursor_type): Remove prototype.
12611 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12612 (x_display_and_set_cursor): Use get_window_cursor_type.
12613 Remove unused local variables cursor_non_selected, active_cursor.
12614 Redraw cursor if hbar cursor width changes.
12615 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
12616
12617 * macterm.h (enum text_cursor_kinds): Removed.
12618 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
12619 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12620 (FRAME_DESIRED_CURSOR): Macro removed.
12621
12622 * w32fns.c (Vblink_cursor_alist): Removed.
12623 (Qbar, Qhbar, Qbox, Qhollow): Removed.
12624 (syms_of_w32fns): Don't intern, staticpro, or define them.
12625 (x_specified_cursor_type): Removed.
12626 (x_set_cursor_type): Use set_frame_cursor_types.
12627
12628 * w32term.c (x_specified_cursor_type): Remove prototype.
12629 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12630 (x_display_and_set_cursor): Use get_window_cursor_type.
12631 Remove unused local variables cursor_off_state.
12632 Redraw cursor if hbar cursor width changes.
12633 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
12634
12635 * w32term.h (enum text_cursor_kinds): Removed.
12636 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
12637 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12638 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12639 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
12640 (struct w32_display_info) <x_highlight_frame>: Renamed member from
12641 w32_highlight_frame.
12642
12643 * xfns.c (Vblink_cursor_alist): Removed.
12644 (Qbar, Qhbar, Qbox, Qhollow): Removed.
12645 (syms_of_xfns): Don't intern, staticpro, or define them.
12646 (x_specified_cursor_type): Removed.
12647 (x_set_cursor_type): Use set_frame_cursor_types.
12648
12649 * xterm.c (x_specified_cursor_type): Remove prototype.
12650 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12651 (x_display_and_set_cursor): Use get_window_cursor_type.
12652 Remove unused local variables cursor_off_state.
12653 Redraw cursor if hbar cursor width changes.
12654
12655 * xterm.h (enum text_cursor_kinds): Removed.
12656 (struct output_x) <current_cursor, desired_cursor, cursor_width>
12657 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12658 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12659 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
12660 (x_specified_cursor_type): Remove prototype.
12661
126622002-08-28 Richard M. Stallman <rms@gnu.org>
12663
12664 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
12665 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
12666 (Vblink_cursor_alist): New variable.
12667 (syms_of_w32fns): Initialize and defvar it.
12668 (x_specified_cursor_type): Recognize Qbox for filled box.
12669 Exceptions are hollow boxes.
12670 (Qbox, Qhollow): New variables.
12671 (syms_of_w32fns): Initialize and staticpro them.
12672
12673 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
12674 New macros.
12675 (struct w32_output): New fields blink_off_cursor,
12676 blink_off_cursor_width.
12677 (FRAME_CURSOR_WIDTH): New macro.
12678
12679 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
12680 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
12681
12682 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
12683 for bar cursor.
12684
12685 * w32term.c (expose_overlaps): New function.
12686 (expose_window): Use it to fix the display of overlapping rows.
12687
126882002-08-28 Simon Josefsson <jas@extundo.com>
12689
12690 * xfns.c (Fx_open_connection): Improve help when X connection
12691 fails, xhost is insecure and xauth is better.
12692
126932002-08-28 Juanma Barranquero <lektu@terra.es>
12694
12695 * makefile.w32-in: Add missing dependencies on w32term.h and
12696 composite.h.
12697
12698 * emacs.c (USAGE1): Add missing newline.
12699
127002002-08-27 Andrew Choi <akochoi@shaw.ca>
12701
12702 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
12703
127042002-08-27 Richard M. Stallman <rms@gnu.org>
12705
12706 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
12707 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
12708 (Vblink_cursor_alist): New variable.
12709 (syms_of_xfns): Initialize and defvar it.
12710 (x_specified_cursor_type): Recognize Qbox for filled box.
12711 Exceptions are hollow boxes.
12712 (Qbox, Qhollow): New variables.
12713 (syms_of_xfns): Initialize and staticpro them.
12714
12715 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
12716 New macros.
12717 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
12718
12719 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
12720 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
12721
12722 * emacs.c (main): Handle --script.
12723 (USAGE1): Mention --script.
12724 (standard_args): Define sort order for --script.
12725
127262002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
12727
12728 * xdisp.c (redisplay_updating_p): Variable removed.
12729 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
12730 New variables.
12731 (init_iterator): Don't free realized faces if
12732 inhibit_free_realized_faces is set.
12733 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
12734 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
12735 initialize Qinhibit_free_realized_faces.
12736
12737 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
12738 when iterator is adding glyphs to a glyph matrix.
12739
127402002-08-27 Kenichi Handa <handa@etl.go.jp>
12741
12742 * xdisp.c (get_next_display_element): In unibyte case, don't use
12743 octal form for such eight-bit characters that can be converted to
12744 multibyte char.
12745
127462002-08-26 Kim F. Storm <storm@cua.dk>
12747
12748 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize
12749 foreground and background colors. From Joe Buehler.
12750
127512002-08-26 Miles Bader <miles@gnu.org>
12752
12753 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
12754
127552002-08-25 Andrew Choi <akochoi@shaw.ca>
12756
12757 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
12758 defined instead of MAC_OSX.
12759
12760 * s/darwin.h (select): Define select to sys_select only if
12761 HAVE_CARBON is defined.
12762 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
12763 (DONT_REOPEN_PTY): #def it.
12764
12765 * macterm.c (XTread_socket): Remove code to call
12766 SendEventToEventTarget for keys with command modifiers when
12767 mac_command_key_is_meta is nil.
12768
127692002-08-24 Andreas Schwab <schwab@suse.de>
12770
12771 * eval.c (Fdefvar): Fix last change.
12772
127732002-08-23 Richard M. Stallman <rms@gnu.org>
12774
12775 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
12776 Record variables in load history as (defvar . VAR).
12777 (Fdefvar): Don't record in load history if no initial value.
12778 (Qdefvar): New variable.
12779 (syms_of_eval): Init and staticpro it.
12780
12781 * lread.c (syms_of_lread): Doc fix.
12782 (build_load_history): Use Fmember to see if a definition
12783 is already in the Vload_history element.
12784
12785 * process.c (Fstart_process): Remove /: from program name.
12786
12787 * emacs.c (decode_env_path): Don't add /: if file name handler
12788 has a `safe-magic' property.
12789
12790 * callproc.c (Fcall_process): Remove /: from program name.
12791
127922002-08-23 Stefan Monnier <monnier@cs.yale.edu>
12793
12794 * regex.c (PATFETCH): Remove the translating fetch.
12795 (PATFETCH_RAW): Rename to PATFETCH.
12796 (set_image_of_range): New fun.
12797 (SET_RANGE_TABLE_WORK_AREA): Use it.
12798 (regex_compile): Don't translate the pattern chars so eagerly.
12799 Only do it when inserting an `exactn' bytecode or when handling
12800 a char-range.
12801 (mutually_exclusive_p): Avoid empty statement.
12802
128032002-08-22 Kim F. Storm <storm@cua.dk>
12804
12805 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
12806 end up on a partially visible line; this reverts a specific part
12807 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
12808 display error which has been reported several times now.
12809 However it introduces the problem that changes was supposed to fix.
12810 See my comments in the source if you want to debug this further.
12811
128122002-08-20 Kenichi Handa <handa@etl.go.jp>
12813
12814 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12815
128162002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
12817
12818 * msdos.c (croak): Add `void' to definition.
12819
12820 * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]:
12821 Don't define them, they are defined in msdos.c.
12822
12823 * mem-limits.h [MSDOS]: Declare etext.
12824
12825 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
12826 `const' since CORRECT_DIR_SEPS modifies its target.
12827
128282002-08-19 Kim F. Storm <storm@cua.dk>
12829
12830 * keyboard.c (Fclear_this_command_keys): Add optional arg
12831 KEEP-RECORD to avoid clearing lossage when we just want to clear
12832 the current key sequence (kmacro needs this).
12833
128342002-08-19 Kenichi Handa <handa@localhost>
12835
12836 * composite.c (run_composition_function): Call FUNC if it is fboundp.
12837
12838 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
12839 cons, return Qnil.
12840
128412002-08-17 Richard M. Stallman <rms@gnu.org>
12842
12843 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
12844
12845 * sysdep.c [!VMS]: Include sys/files.h.
12846
12847 * editfns.c (save_restriction_restore): Defend from unchained marker.
12848
12849 * buffer.c (overlays_at): Handle extending vec uniformly.
12850 (overlays_in): Handle extending vec from length 0 as in overlays_at.
12851
128522002-08-15 Andrew Choi <akochoi@shaw.ca>
12853
12854 * mac.c (init_mac_osx_environment): New function.
12855
12856 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
12857
128582002-08-14 Kim F. Storm <storm@cua.dk>
12859
12860 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
12861 executing macro before appending to it (when used from Lisp).
12862 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
12863 which is called prior to each iteration of macro (for kmacro.el).
12864 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
12865
12866 * lisp.h (Fexecute_kbd_macro): Update prototype.
12867
12868 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
12869
128702002-08-14 Kenichi Handa <handa@etl.go.jp>
12871
12872 * xselect.c (QUTF8_STRING): New variable.
12873 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
12874 (x_atom_to_symbol): Likewise.
12875 (x_get_local_selection): New argument local_request. If it is
12876 nonzero, call handler_fn with the second arg nil.
12877 (x_handle_selection_request): Call x_get_local_selection with
12878 local_request 0.
12879 (lisp_data_to_selection_data): Don't encode the string here.
12880 (Fx_get_selection_internal): Call x_get_local_selection with
12881 local_request 1.
12882 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
12883
12884 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
12885
12886 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
12887
128882002-08-13 Richard M. Stallman <rms@gnu.org>
12889
12890 * minibuf.c (Fminibufferp): New function.
12891 (syms_of_minibuf): Defsubr it.
12892 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
12893
128942002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
12895
12896 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
12897
128982002-08-12 Richard M. Stallman <rms@gnu.org>
12899
12900 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
12901 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
12902 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
12903 already.
12904
12905 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
12906
129072002-08-11 Andrew Choi <akochoi@shaw.ca>
12908
12909 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
12910 (Vmac_pass_command_to_system): New variable.
12911 (Vmac_pass_control_to_system): New variable.
12912 (do_mouse_moved): Check wp with is_emacs_window.
12913 (XTread_socket): Check window_ptr with is_emacs_window.
12914 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
12915 events back to Mac Toolbox for processing, depending on values of
12916 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
12917 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
12918 Vmac_pass_control_to_system.
12919
129202002-08-10 Kenichi Handa <handa@etl.go.jp>
12921
12922 * coding.c (unencodable_char_position): New function.
12923 (Funencodable_char_position): New function.
12924 (syms_of_coding): Defsubr Funencodable_char_position.
12925
129262002-08-10 Andrew Choi <akochoi@shaw.ca>
12927
12928 * mac.c (sys_select) [MAC_OSX]: New function.
12929
12930 * macterm.c (MakeMeTheFrontProcess): New function.
12931 (mac_initialize): Call MakeMeTheFrontProcess.
12932
12933 * s/darwin.h: Define select to sys_select.
12934
129352002-08-09 Richard M. Stallman <rms@gnu.org>
12936
12937 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
12938
129392002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
12940
12941 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
12942 end of the buffer.
12943
129442002-08-08 Ken Raeburn <raeburn@mit.edu>
12945
12946 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
12947
12948 * puresize.h (BASE_PURESIZE): Increase to 910000.
12949
129502002-08-08 Kenichi Handa <handa@etl.go.jp>
12951
12952 * coding.c (Ffind_operation_coding_system): For write-region, if
12953 VISIT is a filename, make it the target.
12954
129552002-08-07 Richard M. Stallman <rms@gnu.org>
12956
12957 * alloc.c (mark_object): Detect long lists for debugging.
12958 (mark_object_loop_halt): New variable.
12959
12960 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
12961
12962 * data.c (Fmake_variable_frame_local): Doc fix.
12963
129642002-08-01 David Ponce <david@dponce.com>
12965
12966 * w32menu.c (local_heap, local_alloc, local_free): New macros.
12967 (malloc_widget_value, free_widget_value)
12968 (w32_free_submenu_strings): Use them.
12969
12970 (push_submenu_start, push_submenu_end, push_left_right_boundary)
12971 (push_menu_pane, push_menu_item, single_keymap_panes)
12972 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
12973 (single_submenu, set_frame_menubar)
12974 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
12975
12976 (Fx_popup_menu): Don't show pop up menu until preceding one is
12977 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
12978
12979 * w32menu.c: Changes adapted from xmenu.c
12980 (set_frame_menubar): First parse all submenus,
12981 then make widget_value trees from them.
12982 Don't allocate any widget_value objects
12983 until we are done with the parsing.
12984 (parse_single_submenu): New function.
12985 (digest_single_submenu): New function.
12986 (single_submenu): Function deleted, replaced by those two.
12987
129882002-08-04 Andrew Choi <akochoi@shaw.ca>
12989
12990 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
12991 returns a valid window pointer before proceeding for keyDown and
12992 autoKey events.
12993
129942002-08-03 Andrew Choi <akochoi@shaw.ca>
12995
12996 * macterm.c (USE_CARBON_EVENTS): New macro.
12997 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
12998 (x_iconify_frame): Call CollapseWindow.
12999 (Vmac_reverse_ctrl_meta): New variable.
13000 (Vmac_wheel_button_is_mouse_2): New variable.
13001 (init_mac_drag_n_drop): New function.
13002 (mac_do_receive_drag): New function.
13003 (mac_handle_service_event): New function.
13004 (init_service_handler): New function.
13005 (mac_to_emacs_modifiers): New function.
13006 (mac_event_to_emacs_modifiers): New function.
13007 (mac_get_mouse_btn): New function.
13008 (mac_convert_event_ref): New function.
13009 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
13010 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
13011 mac_get_mouse_btn.
13012 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
13013
13014 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
13015 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
13016 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
13017 TOOL_BAR_EVENT for MAC_OS as well.
13018 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
13019 as for WINDOWS_NT.
13020 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
13021
13022 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
13023
130242002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
13025
13026 * xdisp.c (forward_to_next_line_start): Fix a condition that
13027 lead to a newline being skipped.
13028
130292002-08-02 Andrew Choi <akochoi@shaw.ca>
13030
13031 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
13032
130332002-08-01 Richard M. Stallman <rms@gnu.org>
13034
13035 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
13036
130372002-07-31 Andrew Choi <akochoi@shaw.ca>
13038
13039 * macfns.c: #undef init_process before #define-ing it.
13040
13041 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
13042 HAVE_CARBON is defined.
13043
130442002-07-31 Richard M. Stallman <rms@gnu.org>
13045
13046 * xmenu.c (set_frame_menubar): First parse all submenus,
13047 then make widget_value trees from them.
13048 Don't allocate any widget_value objects
13049 until we are done with the parsing.
13050 (parse_single_submenu): New function.
13051 (digest_single_submenu): New function.
13052 (single_submenu): Function deleted, replaced by those two.
13053
130542002-07-30 Juanma Barranquero <lektu@terra.es>
13055
13056 * w32proc.c (syms_of_ntproc): Fix docstring of
13057 `w32-get-true-file-attributes'.
13058
130592002-07-28 Richard M. Stallman <rms@gnu.org>
13060
13061 * s/hpux8.h (HPUX8): Define this before including hpux.h.
13062 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
13063
13064 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
13065
13066 * keyboard.c (make_lispy_event):
13067 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
13068 Explicitly clear up_modifier in event->modifiers.
13069
130702002-07-27 Richard M. Stallman <rms@gnu.org>
13071
13072 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
13073
13074 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
13075 for bar cursor.
13076
130772002-07-26 Kenichi Handa <handa@etl.go.jp>
13078
13079 * coding.c (detect_coding_iso2022): While checking a byte sequence
13080 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
13081 it in the normal loop.
13082
130832002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
13084
13085 * xterm.c (expose_overlaps): New function.
13086 (expose_window): Use it to fix the display of overlapping rows.
13087
13088 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
13089
130902002-07-23 Ken Raeburn <raeburn@gnu.org>
13091
13092 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
13093 since it only depends on XUINT.
13094
13095 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
13096 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
13097 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
13098 Macros deleted.
13099
13100 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
13101 its value over other approaches.
13102 * sysdep.c (start_of_data): Don't define the function if a macro
13103 form has been defined.
13104
131052002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
13106
13107 * xdisp.c (redisplay_updating_p): New variable.
13108 (init_iterator): Don't free realized faces when
13109 redisplay_updating_p is set.
13110 (redisplay_internal): Set redisplay_updating_p while updating
13111 the display.
13112
131132002-07-23 Richard M. Stallman <rms@gnu.org>
13114
13115 * editfns.c (Fmessage): Treat "" like nil.
13116
131172002-07-23 Kenichi Handa <handa@etl.go.jp>
13118
13119 * xdisp.c (face_before_or_after_it_pos):
13120 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
13121
131222002-07-22 Juanma Barranquero <lektu@terra.es>
13123
13124 * callproc.c (init_callproc) [DOS_NT]:
13125 Initialize Vshared_game_score_directory to nil.
13126 (syms_of_callproc) [DOS_NT]: Likewise.
13127
131282002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
13129
13130 * xdisp.c (display_line): Replace an abort with xassert.
13131
131322002-07-21 Richard M. Stallman <rms@gnu.org>
13133
13134 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
13135 and END_UNCHANGED when setting buffer_unchanged_p.
13136 Use current_matrix_up_to_date_p to decide whether to use
13137 try_cursor_movement.
13138
13139 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
13140
13141 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
13142
13143 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
13144 Set to nil if dir does not exist.
13145 (syms_of_callproc): Init unconditionally and simply.
13146
13147 * buffer.c (Fbuffer_list): Doc fix.
13148
131492002-07-21 Ken Raeburn <raeburn@gnu.org>
13150
13151 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
13152
13153 * buffer.c (mmap_realloc): When shrinking, make sure number of
13154 pages to unmap is rounded towards zero.
13155
13156 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
13157 (XSETINT): Deleted.
13158
13159 * m/att3b.h (XINT): Don't define.
13160 (VALBITS, VALMASK, XTYPE): Deleted.
13161 (DATA_SEG_BITS): Define.
13162 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
13163 ARRAY_MARK_FLAG): Deleted.
13164 (DATA_SEG_BITS): Define.
13165 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
13166 (DATA_SEG_BITS): Define.
13167
131682002-07-20 Richard M. Stallman <rms@gnu.org>
13169
13170 * print.c (print_error_message): New args CONTEXT and CALLER.
13171 Calls changed.
13172
13173 * lisp.h (print_error_message): Declare new args.
13174
13175 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
13176 and CONTEXT to print_error_message, don't print them here.
13177 For a Quit, don't use Vsignaling_function.
13178 Call message_log_maybe_newline.
13179
13180 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
13181
131822002-07-20 Kim F. Storm <storm@cua.dk>
13183
13184 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
13185
131862002-07-19 Ken Raeburn <raeburn@gnu.org>
13187
13188 * bytecode.c (struct byte_stack): Pointers into byte string now
13189 point to const.
13190 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
13191 const.
13192 * charset.h (BCOPY_SHORT): Source pointer now points to const.
13193 * coding.c (encode_eol, detect_coding, detect_eol):
13194 (decode_coding, encode_coding, detect_coding_system):
13195 Source strings now treated as const.
13196 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
13197 modify Lisp string contents.
13198 * coding.h (decode_coding, encode_coding, detect_coding,
13199 detect_eol): Declarations updated.
13200 * composite.c (compose_chars_in_text): Treat Lisp string contents
13201 as const.
13202 * dispnew.c (safe_bcopy): Source pointer now points to const.
13203 * lisp.h (STRING_COPYIN): New macro.
13204 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
13205 (internal_with_output_to_temp_buffer): Declarations updated.
13206 * print.c (temp_output_buffer_setup):
13207 (internal_with_output_to_temp_buffer): Buffer name argument is now
13208 pointer to const.
13209 * sound.c (struct sound_device): Function pointer field "write"
13210 buffer argument now points to const.
13211 (vox_write): Buffer argument points to const.
13212 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
13213 contents as const.
13214 * sysdep.c (emacs_write): Buffer pointer now const.
13215 * term.c (encode_terminal_code): Buffer pointer now const.
13216 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
13217 (x_face_list_fonts, x_update_menu_appearance):
13218 (hash_string_case_insensitive): Treat Lisp string contents as const.
13219
132202002-07-19 Juanma Barranquero <lektu@terra.es>
13221
13222 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
13223
13224 * fileio.c (syms_of_fileio): Likewise.
13225 (Ffile_name_as_directory): Fix argument name in docstring.
13226 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
13227
132282002-07-18 Richard M. Stallman <rms@gnu.org>
13229
13230 * data.c (Fdefalias): Doc fix.
13231
132322002-07-17 Dave Love <fx@gnu.org>
13233
13234 * intervals.h (text_property_stickiness): Use P_.
13235
13236 * ccl.c: Remove `emacs' conditionals.
13237 (ccl_backtrace_table): Fix size spec.
13238 (ccl_driver): Fix type errors.
13239
132402002-07-16 Ken Raeburn <raeburn@gnu.org>
13241
13242 * alloc.c (xstrdup, make_string, make_unibyte_string)
13243 (make_multibyte_string, build_string): String pointer args now
13244 point to const.
13245 * charset.c (find_charset_in_text, c_string_width):
13246 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
13247 * fileio.c (report_file_error):
13248 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
13249 (count_combining_before, count_combining_after, insert_1_both):
13250 (insert, insert_and_inherit, insert_string):
13251 (insert_before_markers, insert_before_markers_and_inherit):
13252 * lread.c (intern, oblookup, hash_string):
13253 * minibuf.c (temp_echo_area_glyphs):
13254 * search.c (fast_c_string_match_ignore_case):
13255 * sysdep.c (emacs_open, set_file_times):
13256 * xfaces.c (xstricmp):
13257 * xdisp.c (store_frame_title, string_char_and_length):
13258 (message_dolog, message2, message2_nolog, set_message): Likewise.
13259 (set_message_1): Cast message string argument to const pointer.
13260 * editfns.c (general_insert_function): Insertion function now
13261 takes pointer to const for input data.
13262 * charset.h (find_charset_in_text, c_string_width):
13263 (parse_str_as_multibyte): Declarations updated.
13264 * dispextern.h (xstricmp): Declaration updated.
13265 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
13266 (count_size_as_multibyte, count_combining_before):
13267 (count_combining_after, insert_1, insert_1_both, message_dolog):
13268 (insert, insert_and_inherit, insert_before_markers)
13269 (insert_before_markers_and_inherit, set_message, message2):
13270 (message2_dolog, build_string, make_string, make_unibyte_string):
13271 (make_multibyte_string, intern, oblookup, report_file_error):
13272 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
13273 (emacs_open, xstrdup): Declarations updated.
13274 * systime.h (set_file_times): Declaration updated.
13275
13276 * charset.c (find_charset_in_text, lisp_string_width): Use const
13277 for pointer to lisp string data.
13278 * charset.h (FETCH_STRING_CHAR_ADVANCE):
13279 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
13280 * coding.c (Ffind_coding_systems_region_interval):
13281 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
13282 (Fmake_directory_internal, Fdelete_directory):
13283 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
13284 * fontset.c (font_family_registry, fs_query_fontset):
13285 (list_fontsets):
13286 * frame.c (Fframe_parameter):
13287 * keyboard.c (cmd_error_internal):
13288 * keymap.c (Fdescribe_buffer_bindings):
13289 * lread.c (complete_filename_p, openp):
13290 * minibuf.c (Fminibuffer_complete_word):
13291 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
13292 (face_before_or_after_it_pos, next_element_from_string):
13293 (get_overlay_arrow_glyph_row, display_mode_element):
13294 (decode_mode_spec_coding):
13295 * xterm.c (same_x_server): Likewise.
13296
13297 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
13298 settings of non-existent fields.
13299
13300 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
13301 copy a lisp value.
13302
13303 * lread.c (Fintern_soft): Use string macros instead of
13304 Lisp_String fields.
13305 * keyboard.c (echo_char, parse_modifiers_uncached):
13306 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
13307 * textprop.c (validate_interval_range, interval_of): Likewise.
13308
13309 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
13310
13311 * charset.h (FETCH_STRING_CHAR_ADVANCE)
13312 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
13313 XSTRING()->size_byte.
13314
13315 * lisp.h (SDATA, SREF): Produce rvalue.
13316 (SSET): New macro.
13317 * alloc.c (make_event_array): Use SSET for storing into a string.
13318 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
13319 a string.
13320 * casefiddle.c (casify_object): Use SSET.
13321 * charset.h (FETCH_STRING_CHAR_ADVANCE)
13322 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
13323 address of string contents.
13324 * data.c (Faref): Use SDATA.
13325 (Faset): Use SDATA, SSET.
13326 * dired.c (directory_files_internal): Use SSET.
13327 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
13328 (Fread_file_name): Use SREF, SSET.
13329 * fns.c (concat): Use SSET.
13330 (concat, Fdelete): Use SDATA.
13331 * insdel.c (insert_from_string_1): Use SDATA.
13332 * keyboard.c (Fevent_convert_list): Use SREF.
13333 * lread.c (Fload): Use SDATA, SSET.
13334 * macfns.c (validate_x_resource_name): Use SSET.
13335 * process.c (status_message): Use SSET.
13336 * search.c (wordify): Use SDATA.
13337 (Freplace_match): Use SREF.
13338 * w32fns.c (validate_x_resource_name): Use SSET.
13339 * xfns.c (validate_x_resource_name): Use SSET.
13340 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
13341
133422002-07-16 Richard M. Stallman <rms@gnu.org>
13343
13344 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
13345
13346 * xdisp.c (reconsider_clip_changes):
13347 Don't test prevent_redisplay_optimizations_p.
13348 (redisplay_internal): Test prevent_redisplay_optimizations_p
13349 along with clip_changed in some cases.
13350 (try_window_id): Likewise.
13351 (redisplay_window): New local var buffer_unchanged_p.
13352
13353 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
13354
13355 * process.c (create_process): Test USG_SUBTTY_WORKS.
13356 (process_send_signal): Clean up handling of GID.
13357 Detect errors in ioctls meant to set GID.
13358
13359 * window.c (temp_output_buffer_show):
13360 Don't set prevent_redisplay_optimizations_p.
13361
133622002-07-15 Juanma Barranquero <lektu@terra.es>
13363
13364 * eval.c (Fdefvaralias): Add docstring argument.
13365
133662002-07-15 Ken Raeburn <raeburn@gnu.org>
13367
13368 * lisp.h (STRING_INTERVALS): Produce rvalue.
13369 (STRING_SET_INTERVALS): New macro.
13370 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
13371 * fns.c (Fstring_as_multibyte): Likewise.
13372 * intervals.c (balance_possible_root_interval, delete_interval)
13373 (create_root_interval, copy_intervals_to_string): Likewise.
13374 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
13375 instead of 0.
13376
133772002-07-14 Ken Raeburn <raeburn@gnu.org>
13378
13379 * lisp.h (STRING_SET_CHARS): New macro.
13380 (SCHARS, SBYTES): Produce rvalues.
13381 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
13382 * fns.c (concat): Likewise.
13383 * lread.c (read_vector): Likewise.
13384
13385 * lisp.h (SMBP): Delete. All uses changed to STRING_MULTIBYTE.
13386 (STRING_SET_UNIBYTE): New macro.
13387 (SET_STRING_BYTES): Delete. Callers (all of which supplied a
13388 length of -1) changed to use STRING_SET_UNIBYTE.
13389 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
13390 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
13391 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
13392 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
13393 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
13394 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
13395 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
13396 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
13397 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
13398 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
13399 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
13400 STRING_BYTES or indirection changed to SCHARS, SBYTES,
13401 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
13402 unchanged for now.
13403
134042002-07-13 Kim F. Storm <storm@cua.dk>
13405
13406 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
13407
134082002-07-12 Richard M. Stallman <rms@gnu.org>
13409
13410 * fileio.c (Fwrite_region): Doc fix.
13411
13412 * print.c (print_error_message): Don't handle Vsignaling_function here.
13413
13414 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
13415 (command_loop_1): Avoid certain actions after memory-full error.
13416
13417 * eval.c (Fsignal): Don't call cancel_hourglass.
13418 For a memory-full error, don't call Vsignal_hook_function
13419 and don't set Vsignaling_function.
13420
13421 * process.c (process_send_signal): Add abort call.
13422
134232002-07-11 Markus Rost <rost@math.ohio-state.edu>
13424
13425 * keymap.c (Fkey_binding): Fix typo.
13426
134272002-07-11 Richard M. Stallman <rms@gnu.org>
13428
13429 * alloc.c (Vmemory_full): New variable.
13430 (Vmemory_signal_data): Rename from memory_signal_data.
13431 Uses changed.
13432 (syms_of_alloc): Defvar them.
13433 (memory_full, buffer_memory_full): Set Vmemory_full.
13434
13435 * lisp.h (Vmemory_full): Add declaration.
13436 (current_column, indented_beyond_p): Change declaration.
13437
13438 * indent.c (last_known_column): Declare as double, not float.
13439 (current_column, current_column_1, string_display_width)
13440 (position_indentation): Return `double'.
13441 (indented_beyond_p): Arg `column' is `double'. Callers changed.
13442
13443 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
13444 (back_to_previous_visible_line_start)
13445 (reseat_at_next_visible_line_start, next_element_from_buffer):
13446 Use `double', not `float', when calling indented_beyond_p.
13447
13448 * s/hpux11.h (BROKEN_SA_RESTART): Define.
13449
13450 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
13451
134522002-07-11 Juanma Barranquero <lektu@terra.es>
13453
13454 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
13455 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
13456 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
13457 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
13458 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
13459 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
13460
134612002-07-10 Juanma Barranquero <lektu@terra.es>
13462
13463 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
13464 All callers changed.
13465
134662002-07-09 Stefan Monnier <monnier@cs.yale.edu>
13467
13468 * data.c (Fdefalias): Add an optional `docstring' argument.
13469 (set_internal, Fsetq_default): Use XCAR/XCDR.
13470
13471 * composite.c (HASH_VALUE, HASH_KEY):
13472 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
13473
134742002-07-09 Kenichi Handa <handa@etl.go.jp>
13475
13476 * callproc.c (Fcall_process): Fix previous change.
13477
134782002-07-07 Stefan Monnier <monnier@cs.yale.edu>
13479
13480 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
13481 Add support for hash-tables.
13482 (Ftry_completion): Return t even if the string appears multiple times.
13483
13484 * fns.c (Fnconc): Use XCDR.
13485 (Fprovide): Use CONSP and XCDR.
13486 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
13487 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
13488 (Fmake_hash_table): Accept `:size nil'.
13489 (Fmakehash): Delete: moved to subr.el.
13490 (syms_of_fns): Don't defsubr makehash.
13491
13492 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
13493 (HASH_TABLE_SIZE): Move from fns.c.
13494
134952002-07-07 Richard M. Stallman <rms@gnu.org>
13496
13497 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
13498 Instead just return 0 when there is something to be done.
13499 (try_scrolling): If make_cursor_line_fully_visible returns 0,
13500 retry scrolling as if cursor were off the bottom.
13501 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
13502 return CURSOR_MOVEMENT_MUST_SCROLL.
13503 (redisplay_window): If make_cursor_line_fully_visible returns 0,
13504 go to try_to_scroll.
13505
13506 * buffer.c (Fbuffer_local_value): Store current value into its binding
13507 so we get the up-to-date value for the binding that is loaded.
13508
13509 * eval.c (Fdefmacro): Doc fix.
13510
135112002-07-05 Dave Love <fx@gnu.org>
13512
13513 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
13514 correctly.
13515
13516 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
13517 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
13518 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
13519 CCL_LookupCharConstTbl.
13520 (syms_of_ccl): Defvar translation-hash-table-vector.
13521
135222002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13523
13524 * xdisp.c: Remove unused variable `face'.
13525
135262002-07-04 Juanma Barranquero <lektu@terra.es>
13527
13528 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
13529 obsolescence information.
13530
135312002-07-03 Andrew Choi <akochoi@shaw.ca>
13532
13533 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
13534 pattern. Search cache first.
13535 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
13536 for Japanese font.
13537 (XLoadQueryFont): Use it.
13538
135392002-07-02 Richard M. Stallman <rms@gnu.org>
13540
13541 * keymap.c (Fdefine_key): Doc fix.
13542
13543 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
13544
135452002-07-02 Juanma Barranquero <lektu@terra.es>
13546
13547 * keymap.c (syms_of_keymap): Fix typo.
13548
135492002-07-01 Andrew Choi <akochoi@shaw.ca>
13550
13551 * s/darwin.h: Define POSIX_SIGNALS.
13552
13553 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
13554 and FSRefMakePath to convert FSSpec returned with Apple Event to
13555 Posix pathname.
13556 (mac_initialize) [TARGET_API_MAC_CARBON]:
13557 Call init_required_apple_events and disable the `Quit' menu item
13558 provided automatically by the Carbon Toolbox.
13559
135602002-07-01 Dave Love <fx@gnu.org>
13561
13562 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13563 for K&R.
13564
13565 * xterm.c: Fix prototype for K&R.
13566
13567 * term.c (costs_set): Declare static, non-initialized for pcc.
13568
135692002-07-01 Richard M. Stallman <rms@gnu.org>
13570
13571 * keyboard.c (timer_last_idleness_start_time): New variable.
13572 (timer_start_idle): Set that.
13573 (read_key_sequence): Use that to reset timer_idleness_start_time
13574 to previous value.
13575
13576 * window.c (Frecenter): With arg, set optional_new_start.
13577
13578 * xdisp.c (redisplay_internal): Make optional_new_start really work.
13579
13580 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
13581 buffer for completion.
13582
135832002-06-29 Ken Raeburn <raeburn@gnu.org>
13584
13585 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
13586
135872002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
13588
13589 * keyboard.c (readable_filtered_events): New function that filters
13590 FOCUS_IN_EVENT depending on parameter.
13591 (readable_events): Calls readable_filtered_events, not filtering
13592 FOCUS_IN_EVENT.
13593 (get_filtered_input_pending): New function, filtering parameter passed
13594 to readable_filtered_events.
13595 (get_input_pending): Calls get_filtered_input_pending, not filtering
13596 FOCUS_IN_EVENT.
13597 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
13598 FOCUS_IN_EVENT.
13599
13600 * xterm.h (struct x_output): Add focus_state.
13601
13602 * xterm.c (x_focus_changed): New function.
13603 (x_detect_focus_change): New function.
13604 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
13605 EnterNotify and LeaveNotify to track X focus changes.
13606
136072002-06-28 Andreas Schwab <schwab@suse.de>
13608
13609 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
13610
136112002-06-27 Kim F. Storm <storm@cua.dk>
13612
13613 * xdisp.c: (mode_line_string_list, mode_line_string_face)
13614 (mode_line_string_face_prop): New variables.
13615 (store_mode_line_string): New function.
13616 (display_mode_element): Use store_mode_line_string to
13617 add mode-line string elements to mode_line_string_list
13618 when mode_line_string_list is non-nil.
13619 (Fformat_mode_line): Now returns propertized string by
13620 default. New arg NO-PROPS to ignore properties.
13621 (decode_mode_spec): Only add two dashes for %- in propertized
13622 mode-line string.
13623 (syms_of_xdisp): Init and staticpro mode_line_string_list.
13624
136252002-06-27 Stefan Monnier <monnier@cs.yale.edu>
13626
13627 * minibuf.c (minibuffer_completion_contents): Add return type.
13628
136292002-06-27 Juanma Barranquero <lektu@terra.es>
13630
13631 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
13632
136332002-06-26 Juanma Barranquero <lektu@terra.es>
13634
13635 * fileio.c (read_file_name_cleanup): Add missing return.
13636
136372002-06-26 Richard M. Stallman <rms@gnu.org>
13638
13639 * window.c (Frecenter): Don't set force_start flag.
13640
13641 * minibuf.c (do_completion, Fminibuffer_complete_word)
13642 (Fminibuffer_completion_help): Complete just the text before point.
13643 (minibuffer_completion_contents): New function.
13644
13645 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
13646
13647 * frame.c (frames_bury_buffer): Function deleted.
13648
136492002-06-25 Miles Bader <miles@gnu.org>
13650
13651 * callint.c (Fcall_interactively): When checking to see if doprnt hit
13652 the end of callint_message, allow for a terminating '\0'.
13653
136542002-06-24 Juanma Barranquero <lektu@terra.es>
13655
13656 * w32select.c: Include composite.h
13657
13658 * w16select.c: Likewise.
13659
136602002-06-24 Kenichi Handa <handa@etl.go.jp>
13661
13662 * callproc.c (Fcall_process): If code detection is necessary,
13663 call detect_coding directly here.
13664
13665 * coding.c (detect_eol): Preserve coding->cmp_data.
13666
13667 * w16select.c (Fw16_get_clipboard_data):
13668 * w32fns.c (w32_to_x_font):
13669 * w32select.c (Fw32_get_clipboard_data):
13670 * xselect.c (selection_data_to_lisp_data):
13671 * xterm.c (XTread_socket): Disable composition handling.
13672
136732002-06-24 Stefan Monnier <monnier@cs.yale.edu>
13674
13675 * print.c (temp_output_buffer_setup): Kill all local variables.
13676
136772002-06-22 Stefan Monnier <monnier@cs.yale.edu>
13678
13679 * lread.c (Fread): Remove redundant and imprecise declaration.
13680
13681 * xfns.c (check_x_display_info): Use check_x_frame.
13682
13683 * .gdbinit (xprintsym): Use the new `xname' field.
13684 (xsymbol): Use it.
13685
136862002-06-22 Jason Rumney <jasonr@gnu.org>
13687
13688 * w32fns.c (file_dialog_callback): New function.
13689 (Fx_file_dialog): Allow selecting directories as well as files.
13690
136912002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13692
13693 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
13694 OpenBSD. Add support for mipseb-*-netbsd* machines.
13695
136962002-06-17 Andrew Choi <akochoi@shaw.ca>
13697
13698 * macterm.c (mac_scroll_area): Set foreground and backcolor to
13699 black and white before scrolling. Restore frame background and
13700 foreground color after scrolling.
13701 (do_window_update): Call XClearWindow before calling expose_frame.
13702 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
13703 FRAME_FOREGROUND_PIXEL of frame.
13704
13705 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
13706 test Mac command key as <ALT> key.
13707
137082002-06-17 Stefan Monnier <monnier@cs.yale.edu>
13709
13710 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
13711
13712 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
13713 Lookup keys in function-key-map immediately so that key-translation-map
13714 can be applied earlier.
13715 Remove function_key_possible and key_translation_possible, replaced
13716 by checking `keytran_start < t'.
13717
13718 * .gdbinit (xsymbol): Use the new `xname' field.
13719
137202002-06-17 Andrew Choi <akochoi@shaw.ca>
13721
13722 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
13723 test Mac command key as <ALT> key.
13724
13725 * mac.c (do_applescript): Call initialize_applescript if necessary
13726 when first called. Dispose of result_desc only when there is no error.
13727 (Fdo_applescript): Use %d format specifier instead of %ld.
13728
137292002-06-16 Andrew Choi <akochoi@shaw.ca>
13730
13731 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
13732 of FrontWindow for cases keyDown and autoKey.
13733
13734 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
13735 Vdefault_fontset to Monaco with mac-roman coding.
13736
13737 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
13738 init_process before and after inclusion of Carbon/Carbon.h, resp.
13739
13740 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
13741 cursor_gc.
13742 (add_font_name_table_entry): New function.
13743 (init_font_name_table): Use add_font_name_table_entry; add italic,
13744 bold, and bold-italic entries for truetype fonts.
13745
13746 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
13747 for Mac too.
13748 (try_font_list) [MAC_OS]: If no font matches given registry, try
13749 fonts with any registry matching face_family.
13750 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
13751
13752 * s/darwin.h: If autoconf detects the Ncurses library, define
13753 LIBS_TERMCAP to -lncurses to use it.
13754
137552002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
13756
13757 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
13758
137592002-06-15 Richard M. Stallman <rms@gnu.org>
13760
13761 * window.c (Fset_window_configuration): Explicitly preserve
13762 the point value that new_current_buffer had at the start.
13763
137642002-06-14 Juanma Barranquero <lektu@terra.es>
13765
13766 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
13767 Fix typos.
13768
137692002-06-14 Kim F. Storm <storm@cua.dk>
13770
13771 * insdel.c (insert_1_both, insert_from_string_1)
13772 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
13773 insert happened in the end_unchanged region. Otherwise, the
13774 redisplay may be confused and duplicate the last line in the
13775 buffer [seen after save-buffer when require-final-newline==t].
13776
137772002-06-13 Jason Rumney <jasonr@gnu.org>
13778
13779 * w32.c (init_environment): Remove EMACSLOCKDIR.
13780 (stat): Swap _S_IFDIR and _S_IFREG.
13781
137822002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13783
13784 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
13785 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
13786 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
13787 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
13788 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
13789 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
13790 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
13791 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
13792 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
13793 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
13794 SELECTION_REQUEST_EVENT, selection_clear_event to
13795 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
13796 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
13797 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
13798 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
13799 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
13800 no_event to NO_EVENT.
13801
138022002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13803
13804 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
13805
138062002-06-12 Stefan Monnier <monnier@cs.yale.edu>
13807
13808 * intervals.c (textget): Don't forget to `return'.
13809 (lookup_char_property): Use XCAR/XCDR.
13810
138112002-06-12 Juanma Barranquero <lektu@terra.es>
13812
13813 * xdisp.c (Fformat_mode_line): Fix typo.
13814
138152002-06-12 Kim F. Storm <storm@cua.dk>
13816
13817 * xdisp.c (Fformat_mode_line): New function.
13818 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
13819 (store_frame_title_char, store_frame_title): Use unconditionally.
13820 (init_xdisp): Defsubr Fformat_mode_line.
13821 Initialize frame_title_buf etc. unconditionally.
13822
138232002-06-11 Stefan Monnier <monnier@cs.yale.edu>
13824
13825 * keyboard.c (read_key_sequence):
13826 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
13827 things through those maps after downcasing events.
13828 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
13829 applies after function-key-map.
13830 Make sure that keytran can be done in the middle in the sequence.
13831 Be careful not to throw away events past the one we downcase.
13832
13833 * lread.c (read_integer): Remove unused var `tem'.
13834 (read1): Fix int/Lisp_Object mixup.
13835
13836 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
13837
138382002-06-11 Richard M. Stallman <rms@gnu.org>
13839
13840 * keyboard.c (readable_events): Ignore any number of
13841 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
13842
138432002-06-09 Miles Bader <miles@gnu.org>
13844
13845 * xfaces.c (Ftty_supports_face_attributes_p): New function.
13846 (parse_rgb_list, tty_lookup_color): New functions.
13847 (tty_defined_color): Use `tty_lookup_color' to do all the work.
13848 (color_distance, Fcolor_distance): New functions.
13849 (TTY_SAME_COLOR_THRESHOLD): New macro.
13850 (Qtty_color_standard_values): New variable.
13851 (syms_of_xfaces): Initialize new vars & functions.
13852
138532002-06-08 Colin Walters <walters@verbum.org>
13854
13855 * textprop.c (Vchar_property_alias_alist): New variable.
13856 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
13857
13858 * intervals.c (lookup_char_property): New function for looking up
13859 overlay and text properties, created from textget.
13860 (textget): Use it.
13861
13862 * intervals.h (lookup_char_property): Declare.
13863 (Vchar_property_alias_alist): Declare.
13864
13865 * buffer.c (Foverlay_get): Use lookup_char_property.
13866
138672002-06-07 Sam Steingold <sds@gnu.org>
13868
13869 * xselect.c (lisp_data_to_selection_data): Fix last change:
13870 *data_ret is not a Lisp string, while unibyte_string is.
13871
138722002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
13873
13874 * xselect.c (lisp_data_to_selection_data): Fix last change:
13875 set size_ret.
13876
138772002-06-07 Andreas Schwab <schwab@suse.de>
13878
13879 * m/amdx86-64.h: New file.
13880
138812002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
13882
13883 * fns.c (Fstring_make_unibyte): Doc fix.
13884
13885 * xselect.c (lisp_data_to_selection_data): If the requested type
13886 is STRING, call string_make_unibyte to encode the selected text
13887 as a string.
13888
13889 * window.c (Fset_window_hscroll): Doc fix.
13890
138912002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13892
13893 * fileio.c (choose_write_coding_system):
13894 Call select-safe-coding-system properly.
13895
138962002-06-03 Richard M. Stallman <rms@gnu.org>
13897
13898 * xdisp.c (message_with_string): Error if STRING is not a string.
13899
13900 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
13901
13902 * fileio.c (choose_write_coding_system): Pass FILE arg to
13903 Vselect_safe_coding_system_function.
13904
139052002-06-03 Ken Raeburn <raeburn@gnu.org>
13906
13907 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
13908
139092002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
13910
13911 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
13912 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
13913 * keymap.c (describe_command): Likewise.
13914 * minibuf.c (read_minibuf): Likewise.
13915
13916 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
13917 Cast `current_column' return value to int.
13918 (back_to_previous_visible_line_start)
13919 (reseat_at_next_visible_line_start, next_element_from_buffer):
13920 Cast `indented_beyond_p' 3rd arg to float.
13921
13922 * indent.c (last_known_column): Now a float.
13923 (current_column_1, position_indentation, current_column)
13924 (string_display_width): Return float.
13925 (Fcurrent_column): Cast `current_column' return value to int.
13926 (Fcurrent_indentation): Cast `position_indentation' retval to int.
13927 (indented_beyond_p): Third arg now a float.
13928 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
13929
13930 * lisp.h (current_column): Now returns float.
13931 (indented_beyond_p): 3rd arg now a float.
13932
139332002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
13934
13935 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
13936 is Qcompound_text_with_extensions.
13937
13938 * xselect.c (lisp_data_to_selection_data): Always set selection
13939 type as string if x_encode_text returns streingp non-NULL.
13940
13941 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
13942
139432002-05-30 Richard M. Stallman <rms@gnu.org>
13944
13945 * window.c (Fset_window_configuration): Correct the handling
13946 of point in current buffer, to work with multiple windows.
13947
139482002-05-29 Colin Walters <walters@verbum.org>
13949
13950 * lread.c (Fread_from_string): Don't depend on order of evaluation
13951 for C function parameters.
13952
139532002-05-28 Richard M. Stallman <rms@gnu.org>
13954
13955 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
13956 way for blinked-off state and for a nonselected window.
13957
13958 * window.c (window_scroll_pixel_based): Don't call Fbolp;
13959 instead, see if the new start pos is at beginning of line.
13960
13961 * fileio.c (Fwrite_region): If START is a string, don't
13962 make any annotations.
13963
13964 * eval.c (syms_of_eval): Doc fix.
13965
139662002-05-28 Colin Walters <walters@debian.org>
13967
13968 * emacs.c (USAGE1): Add --no-splash.
13969 (standard_args): Ditto.
13970
139712002-05-28 Colin Walters <walters@gnu.org>
13972
13973 * lread.c (readchar_count): New variable.
13974 (readchar): Increment it.
13975 (unreadchar): Decrement it.
13976 (read_multibyte): Decrement it.
13977 (Vread_with_symbol_positions): New variable.
13978 (Vread_symbol_positions_list): New variable.
13979 (read_internal_start): New function, created from Fread and
13980 Fread_from_string. Handle Vread_symbol_positions_list and
13981 Vread_with_symbol_positions.
13982 (readevalloop, Fread, Fread_from_string): Use it.
13983 (read1): Use readchar_count to add symbol positions to
13984 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
13985 (syms_of_lread): DEFVAR_LISP and initialize them.
13986
13987 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
13988 (substitute_object_recurse, substitute_object_in_subtree)
13989 (substitute_in_interval): Prototype.
13990 (read_multibyte): Return c if it's less than zero.
13991
139922002-05-28 Kim F. Storm <storm@cua.dk>
13993
13994 * fileio.c (Fread_file_name_internal): Added brute-force
13995 speed up for using predicate file-directory-p.
13996
139972002-05-28 Kim F. Storm <storm@cua.dk>
13998
13999 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
14000 New variables.
14001 (syms_of_fileio): DEFVAR_LISP them.
14002 (read_file_name_cleanup): New unwind function.
14003 (Fread_file_name_internal): Only return completions satifying
14004 Vread_file_name_predicate. Temporarily unwind protect and rebind
14005 default-directory while checking completions against the predicate.
14006 (Fread_file_name): Added PREDICATE argument. Specbind it to
14007 Vread_file_name_predicate during completion.
14008 Call Vread_file_name_function to read the file name if non-nil.
14009
14010 * lisp.h (Fread_file_name): Now has 6 args.
14011
14012 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
14013 predicate for Fread_file_name when reading directory name.
14014 Supply Qnil for predicate in other calls to Fread_file_name.
14015
140162002-05-26 Miles Bader <miles@gnu.org>
14017
14018 * term.c (tty_capable_p): New function.
14019 * dispextern.h (tty_capable_p): New function declaration.
14020 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
14021 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
14022
140232002-05-23 Stefan Monnier <monnier@cs.yale.edu>
14024
14025 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
14026 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
14027 (Vwrite_region_annotate_functions): Docstring fix.
14028
140292002-05-23 Kim F. Storm <storm@cua.dk>
14030
14031 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
14032 phys_cursor's hpos is overwritten. This is still not completely
14033 correct, as it doesn't really make sense to use hpos at all to
14034 get the cursor glyph (as that is relative to the width of the
14035 characters on the line, which may have changed during the update).
14036
140372002-05-22 Jason Rumney <jasonr@gnu.org>
14038
14039 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
14040 Lisp_Object.
14041 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
14042 Use modified enumfont_t struct.
14043
14044 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
14045
14046 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
14047 Handle the `hbar' cursor type.
14048 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
14049
14050 * w32fns.c (Qhbar): New variable.
14051 (x_specified_cursor_type): Use it.
14052
140532002-05-21 Ken Raeburn <raeburn@gnu.org>
14054
14055 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
14056 now, when the address is needed.
14057
140582002-05-21 Colin Walters <walters@gnu.org>
14059
14060 * Makefile.in (shortlisp): Add font-core.el.
14061
140622002-05-20 Richard M. Stallman <rms@gnu.org>
14063
14064 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
14065
14066 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
14067 equivalent key bindings here.
14068
140692002-05-20 Ken Raeburn <raeburn@gnu.org>
14070
14071 Change symbol structure to contain a lisp object for the symbol
14072 name:
14073 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
14074 object field named "xname".
14075 (SYMBOL_NAME): New macro.
14076 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
14077 name field.
14078 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
14079 (mark_object, gc_sweep): Use symbol xname field and XSTRING
14080 instead of name field.
14081 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
14082 SYMBOL_NAME instead of XSYMBOL and name field.
14083 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
14084 instead of XSYMBOL and name field.
14085 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
14086 and SYMBOL_NAME instead of XSYMBOL and name field.
14087 * coding.c (Fread_coding_system, code_convert_region1)
14088 (code_convert_string1, code_convert_string_norecord)
14089 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
14090 XSYMBOL and name field.
14091 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
14092 (Fmake_variable_buffer_local, Fmake_local_variable)
14093 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
14094 of XSYMBOL and name field.
14095 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
14096 XSYMBOL and name field.
14097 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
14098 instead of XSYMBOL and name field.
14099 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
14100 XSYMBOL and name field.
14101 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
14102 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
14103 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
14104 instead of XSYMBOL and name field.
14105 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
14106 (parse_modifiers, apply_modifiers, Fevent_convert_list)
14107 (parse_solitary_modifier, Fexecute_extended_command):
14108 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
14109 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
14110 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
14111 of XSYMBOL and name field.
14112 (describe_command, describe_translation): Use SYMBOL_NAME and
14113 assignment instead of XSYMBOL and name field and XSETSTRING.
14114 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
14115 instead of XSYMBOL and name field.
14116 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
14117 name field and XSETSTRING.
14118 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
14119 of XSYMBOL and name field.
14120 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
14121 assignment instead of XSYMBOL and name field and XSETSTRING.
14122 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
14123 XSTRING instead of XSYMBOL and name field.
14124 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
14125 and XSTRING instead of XSYMBOL and name field.
14126 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
14127 and XSTRING instead of XSYMBOL and name field.
14128 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
14129 XSTRING instead of XSYMBOL and name field.
14130 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
14131 of XSYMBOL and name field.
14132 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
14133 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
14134
141352002-05-19 Ken Raeburn <raeburn@gnu.org>
14136
14137 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
14138 and XCDR real rvalues in most configurations.
14139
14140 * buffer.c (fix_overlays_in_range, fix_overlays_before):
14141 Don't take the address of the cdr part of a cons cell; instead, track
14142 the parent cell and call XSETCDR, or set the variable for the head
14143 of the list if we haven't started down the list yet.
14144
141452002-05-19 Richard M. Stallman <rms@gnu.org>
14146
14147 * doc.c (reread_doc_file): Don't ask for confirmation.
14148
141492002-05-18 Jason Rumney <jasonr@gnu.org>
14150
14151 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
14152 (xbm_load_image): Use it.
14153 (xbm_load): Ditto.
14154 (xbm_read_bitmap_data): Reverted to xfns.c version.
14155 From David Ponce <david@dponce.com>.
14156
141572002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
14158
14159 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
14160 2.02 and later.
14161
141622002-05-16 Juanma Barranquero <lektu@terra.es>
14163
14164 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
14165
141662002-05-15 Stefan Monnier <monnier@cs.yale.edu>
14167
14168 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
14169 meaningful test.
14170 (read_char_minibuf_menu_prompt): Fix typo.
14171
141722002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
14173
14174 * eval.c (Fcommandp): Doc fix.
14175
141762002-05-13 Stefan Monnier <monnier@cs.yale.edu>
14177
14178 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
14179 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
14180 (Fset_keymap_parent): Gcpro a bit more.
14181 (access_keymap): Gcpro around meta_map call and around the main loop.
14182 (get_keyelt): Gcpro when following indirect references.
14183 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
14184 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
14185 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
14186 Remove useless ad-hoc remap code.
14187
141882002-05-13 Richard M. Stallman <rms@gnu.org>
14189
14190 * search.c (search_buffer): Give up boyer moore search if inverse
14191 translation change charset_base.
14192
141932002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
14194
14195 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
14196 characters is carried over from the previous block of text, adjust
14197 coding->produced to account for the extra character.
14198
141992002-05-11 Andreas Schwab <schwab@suse.de>
14200
14201 * coding.c (intersection): Keep the elements of the returned list
14202 in the same order as in the first list.
14203
142042002-05-11 Kim F. Storm <storm@cua.dk>
14205
14206 * keymap.c (current_minor_maps): Fix resizing of cmm_maps;
14207 only update cmm_size if realloc actually succeeds.
14208 Testing with initial size of 2 elements revealed that using
14209 realloc on GNU/Linux would cause a random trap in xmalloc
14210 later on, so I rewrote the code to use malloc/bcopy/free instead
14211 of realloc.
14212
142132002-05-10 Jason Rumney <jasonr@gnu.org>
14214
14215 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
14216
142172002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
14218
14219 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
14220 parens, to ensure correct evaluation order.
14221
142222002-05-10 Kim F. Storm <storm@cua.dk>
14223
14224 * keymap.c (Vemulation_mode_map_alists): New variable.
14225 (syms_of_keymap): DEFVAR_LISP it.
14226 (current_minor_maps): Process keymap alists in that list before
14227 minor-mode-overriding-map-alist and minor-mode-map-alist.
14228
142292002-05-09 Richard M. Stallman <rms@gnu.org>
14230
14231 * search.c (Freplace_match): Doc fix.
14232
142332002-05-09 Kim F. Storm <storm@cua.dk>
14234
14235 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
14236 Enlarge cursor rectangle drawn around image with non-zero relief.
14237
14238 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
14239 Enlarge cursor rectangle drawn around image with non-zero relief.
14240
14241 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
14242 Enlarge cursor rectangle drawn around image with non-zero relief.
14243
142442002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
14245
14246 * xselect.c (lisp_data_to_selection_data): Don't set selection
14247 type if comes from the Lisp object's car. If the selection
14248 contains a pure ASCII text, always return QSTRING as its type.
14249
142502002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14251
14252 * mac.c (mac-cut-function): Doc fix.
14253
142542002-05-05 Richard M. Stallman <rms@gnu.org>
14255
14256 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
14257
142582002-05-04 Jason Rumney <jasonr@gnu.org>
14259
14260 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
14261 for event-click-count.
14262
14263 * process.c (init_process): Only add server subfeature if we can
14264 use non-blocking I/O.
14265
142662002-05-04 Andrew Choi <akochoi@shaw.ca>
14267
14268 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
14269 repeatedly.
14270
142712002-05-03 Jason Rumney <jasonr@gnu.org>
14272
14273 * process.c (Fmake_network_process): Only support server sockets
14274 when we can make them non-blocking.
14275
14276 * s/ms-w32.h (HAVE_SELECT): Define.
14277
14278 * w32.h (FILE_NDELAY): New flag.
14279
14280 * w32.c (sys_getpeername, fcntl): New functions.
14281 (_sys_read_ahead): Temporarily block on non-blocking sockets.
14282
14283 * w32proc.c: include sys/file.h.
14284
142852002-05-03 Colin Walters <walters@verbum.org>
14286
14287 * callproc.c (Vgame_score_directory): Renamed to
14288 Vshared_game_score_directory.
14289
142902002-04-30 Richard M. Stallman <rms@gnu.org>
14291
14292 * s/gnu.h [emacs]: Include stdio.h.
14293 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
14294
14295 * eval.c (do_autoload): Error if called while preparing to dump.
14296
14297 * fns.c (Frequire): Error if need to load while preparing to dump.
14298
142992002-04-28 Colin Walters <walters@verbum.org>
14300
14301 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
14302 Default to "~/.emacs.d/games".
14303
143042002-04-29 Stefan Monnier <monnier@cs.yale.edu>
14305
14306 * lread.c (openp): Change arg exec_only to predicate.
14307 (build_load_history): Use XCAR/XCDR.
14308 (Flocate_file_internal): New fun.
14309 (syms_of_lread): Defsubr it.
14310 (Fload): Update call to openp.
14311
14312 * lisp.h (openp): Update prototype.
14313
14314 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
14315 * w32proc.c (sys_spawnve):
14316 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
14317 * w32.c (check_windows_init_file):
14318 * sound.c (Fplay_sound_internal):
14319 * process.c (Fstart_process):
14320 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
14321 * mac.c (run_mac_command):
14322 * emacs.c (init_cmdargs):
14323 * callproc.c (Fcall_process): Update call to openp.
14324
14325 * textprop.c (remove_properties): Don't use XCAR without CONSP.
14326
14327 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
14328
143292002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14330
14331 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
14332 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
14333
143342002-04-28 Richard M. Stallman <rms@gnu.org>
14335
14336 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
14337
14338 * eval.c (Fcommandp): New arg for_call_interactively.
14339 * lisp.h (Fcommandp): Declare new arg.
14340
143412002-04-28 Jason Rumney <jasonr@gnu.org>
14342
14343 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
14344
14345 * w32.c (stat, fstat): Use file index information to generate
14346 inodes for directories where available.
14347
143482002-04-26 Andrew Choi <akochoi@shaw.ca>
14349
14350 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
14351 [HAVE_CARBON]: Include Mac object files.
14352
14353 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
14354 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
14355 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
14356 MAC_OSX, and MAC_OS instead of macintosh.
14357
14358 * editfns.c [MAC_OS8]: Include stdio.h.
14359
14360 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
14361
14362 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
14363 Apple Monaco.
14364
14365 * process.c (QCfamily, QCfilte): Declare extern.
14366 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
14367 calling select.
14368
14369 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
14370
14371 * tparam.c [MAC_OSX]: Don't define BC and UP.
14372
14373 * config.in [HAVE_CARBON]: Add.
14374
14375 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
14376 Move here from mac/src and mac/inc.
14377
14378 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
14379
143802002-04-26 Gerd Moellmann <gerd@gnu.org>
14381
14382 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
14383 Compute phys_cursor_width from the x position returned
14384 by x_draw_glyhs, which is cheaper.
14385 (x_display_and_set_cursor): Compute the buffer-local value
14386 of `cursor-in-non-selected-windows' only when needed.
14387
143882002-04-25 Gerd Moellmann <gerd@gnu.org>
14389
14390 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
14391 cursor on a stretch glyph has a width that depends on
14392 x_stretch_cursor_p.
14393
143942002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14395
14396 * abbrev.c (abbrev-start-location): Doc fix.
14397
14398 * indent.c (Fvertical_motion): Fix last change.
14399
144002002-04-25 Gerd Moellmann <gerd@gnu.org>
14401
14402 * indent.c (Fvertical_motion): Move to the start of the line
14403 containing PT before moving up or down.
14404
144052002-04-24 Gerd Moellmann <gerd@gnu.org>
14406
14407 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
14408 case of writing a whole row, more or less analogous to the case of
14409 writing only parts of a row.
14410
14411 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
14412 0 for NO_CURSOR.
14413
14414 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
14415
144162002-04-23 Colin Walters <walters@verbum.org>
14417
14418 * buffer.c (syms_of_buffer): Doc fix.
14419
144202002-04-23 Gerd Moellmann <gerd@gnu.org>
14421
14422 * xterm.c (notice_overwritten_cursor): Handle the special case
14423 of the cursor being in the first blank non-text line at the
14424 end of a window.
14425
14426 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
14427 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
14428 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
14429 bar cursors only, to make phys_cursor_width contain what its name
14430 suggests.
14431 (notice_overwritten_cursor): Consider the cursor image erased if
14432 the output area intersects the cursor image in y-direction.
14433
144342002-04-23 Simon Marshall <simon@gnu.org>
14435
14436 * xfns.c (x_set_mouse_color): Change default for cross_cursor
14437 to XC_hand2.
14438
144392002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14440
14441 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
14442
144432002-04-22 Kim F. Storm <storm@cua.dk>
14444
14445 * textprop.c (remove_properties): Fixed trap for malformed plist.
14446
144472002-04-22 Richard M. Stallman <rms@gnu.org>
14448
14449 * cmds.c (Fend_of_line): Handle intangible text in mid line.
14450
14451 * window.c (make_window): Initialize height_fixed_p,
14452 last_cursor_off_p, and p->cursor_off_p slots.
14453
144542002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14455
14456 * fns.c (use-dialog-box): Doc fix.
14457
144582002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14459
14460 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
14461 variables `row', `i' and `area'.
14462 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
14463 toolkit library.
14464
144652002-04-19 Stefan Monnier <monnier@cs.yale.edu>
14466
14467 * xfaces.c (clear_font_table): Don't free the default font of
14468 a frame even if it's on another display.
14469 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
14470 that could be Qt.
14471
144722002-04-19 Juanma Barranquero <lektu@terra.es>
14473
14474 * indent.c (Fmove_to_column): Remove unused local variable
14475 `next_boundary_byte'.
14476 (current_column_1): Likewise.
14477
144782002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
14479
14480 * msdos.c (Qhbar): New variable.
14481 (syms_of_msdos): Intern and staticpro it.
14482 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
14483 cursor type.
14484
144852002-04-19 Dave Lambert <dlambert@acm.org>
14486
14487 Theses change implement an underscore-like (`hbar') cursor.
14488
14489 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
14490
14491 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
14492 Handle the `hbar' cursor type.
14493 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
14494
14495 * xfns.c (Qhbar): New variable.
14496 (syms_of_xfns): Intern and staticpro it.
14497 (x_specified_cursor_type): Handle `hbar' cursor.
14498
14499 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
14500 not defined.
14501
145022002-04-18 Richard M. Stallman <rms@gnu.org>
14503
14504 * textprop.c (remove_properties): New arg LIST allows scanning
14505 either a list or a plist.
14506 (interval_has_some_properties_list): New function, like
14507 interval_has_some_properties using list instead of plist.
14508 All callers changed.
14509 (Fremove_list_of_text_properties): New function.
14510 (syms_of_textprop): Defsubr it.
14511
145122002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
14513
14514 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
14515
145162002-04-17 Juanma Barranquero <lektu@terra.es>
14517
14518 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
14519
145202002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
14521
14522 * window.c (coordinates_in_window): Don't report on margin area
14523 if its width is zero.
14524
145252002-04-16 Jason Rumney <jasonr@gnu.org>
14526
14527 * w32fns.c (Fx_file_dialog): Decode file name before using.
14528
14529 * w32term.c (construct_drag_n_drop): Likewise.
14530
145312002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
14532
14533 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
14534 store load-history in pure space.
14535
14536 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
14537
145382002-04-16 Stefan Monnier <monnier@cs.yale.edu>
14539
14540 * xterm.c (Qlatin_1, Qutf_8): New vars.
14541 (syms_of_xterm): Initialize them.
14542 (XTread_socket): Eliminate incorrect optimization that tried to avoid
14543 decoding the output of X*LookupString.
14544 Always use latin-1 to decode the output of XLookupString.
14545 Try Xutf8LookupString if XmbLookupString failed.
14546
14547 * region-cache.c (new_region_cache): Use BEG.
14548
145492002-04-16 Gerd Moellmann <gerd@gnu.org>
14550
14551 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
14552 configuration files.
14553 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
14554 returns 0.
14555
145562002-04-15 Andreas Schwab <schwab@suse.de>
14557
14558 * config.in: Regenerated using autoheader.
14559
14560 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
14561 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
14562 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
14563 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
14564 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
14565 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
14566 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
14567 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
14568 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
14569 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
14570 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
14571 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
14572 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
14573 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
14574 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
14575 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
14576 STACK_DIRECTION, now set by autoconf.
14577
145782002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14579
14580 * dispnew.c (marginal_area_string): Sort arguments.
14581
14582 * dispextern.h (marginal_area_string): Add prototype.
14583
145842002-04-13 Richard M. Stallman <rms@gnu.org>
14585
14586 * fileio.c (Finsert_file_contents):
14587 Don't call temp_output_buffer_setup--do just part, by hand.
14588
14589 * coding.c (run_pre_post_conversion_on_str):
14590 Don't call temp_output_buffer_setup--do just part, by hand.
14591
14592 * keyboard.c (command_loop_1): Don't call start_hourglass
14593 or cancel_hourglass when executing a macro.
14594
14595 * marker.c (count_markers): New function.
14596
14597 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
14598 grow without limit. Move recently used elements to the front.
14599
146002002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
14601
14602 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
14603
146042002-04-12 Gerd Moellmann <gerd@gnu.org>
14605
14606 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
14607 rows marginal areas.
14608 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
14609 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14610
14611 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
14612
146132002-04-12 Dave Love <fx@gnu.org>
14614
14615 * dispnew.c (marginal_area_string): New.
14616
14617 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
14618 (Qleft_margin, Qright_margin): Declare.
14619 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
14620
14621 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
14622 note_mode_line_highlight and extended.
14623
14624 * keyboard.c (Qleft_margin, Qright_margin): Declare.
14625 (make_lispy_event): Deal with mouse events in margins.
14626
146272002-04-12 Stefan Monnier <monnier@cs.yale.edu>
14628
14629 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
14630
14631 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
14632 than deactivating the mark if tmm is set to `lambda'.
14633 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
14634 Use a single event for HELP_EVENT.
14635 (Fexecute_extended_command): Save last_point_position.
14636
146372002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14638
14639 * lisp.h (Fpropertize): Add prototype.
14640
14641 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
14642
146432002-04-10 Colin Walters <walters@verbum.org>
14644
14645 * config.in: Add HAVE_SHARED_GAME_DIR.
14646
14647 * callproc.c: (Vgame_score_directory): New variable.
14648 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
14649
146502002-04-10 Richard M. Stallman <rms@gnu.org>
14651
14652 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
14653
146542002-04-09 Stefan Monnier <monnier@cs.yale.edu>
14655
14656 * minibuf.c (read_minibuf): Use empty_string.
14657 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
14658 Short-circuit the search as soon as it "failed".
14659 (Fall_completions): Allow lambda forms and lists of strings for alist.
14660 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
14661 when require_match is nil.
14662 (Ftest_completion): Rename from `test_completion' and export to elisp.
14663 Call the predicate also when alist is a list.
14664 Obey Vcompletion_regexp_list.
14665 (do_completion, Fminibuffer_complete_and_exit): Use it.
14666 (Fassoc_string): Rename from `assoc_for_completion'.
14667 Allow list of strings as well and export to elisp.
14668
146692002-04-08 Stefan Monnier <monnier@cs.yale.edu>
14670
14671 * puresize.h (BASE_PURESIZE): Increase to 900KB.
14672
146732002-04-08 Juanma Barranquero <lektu@terra.es>
14674
14675 * w32.c (sys_accept): Don't hide variable `s'.
14676
146772002-04-05 Gerd Moellmann <gerd@gnu.org>
14678
14679 * callint.c (Fcall_interactively): Use INTEGERP instead of
14680 NUMBERP for checking Vhistory_length.
14681
146822002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14683
14684 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
14685 Doc fix to reflect it.
14686
146872002-04-04 Richard M. Stallman <rms@gnu.org>
14688
14689 * xdisp.c (display_mode_element): New arg RISKY.
14690 Disregard text props found or specified within a variable
14691 that isn't marked risky-local-variable.
14692 (Qrisky_local_variable): New variable.
14693 (syms_of_xdisp): Init and staticpro it.
14694
146952002-04-04 Stefan Monnier <monnier@cs.yale.edu>
14696
14697 * undo.c (record_point): New fun.
14698 (record_delete, record_insert): Use it.
14699
147002002-04-03 Juanma Barranquero <lektu@terra.es>
14701
14702 * doc.c (Fdocumentation): Add missing parentheses.
14703 (Fdocumentation_property): Likewise.
14704
147052002-04-03 Stefan Monnier <monnier@cs.yale.edu>
14706
14707 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
14708 data is 0, just return nil.
14709
147102002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
14711
14712 * msdos.c (syms_of_msdos): Fix last change with
14713 mouse_autoselect_window.
14714
147152002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14716
14717 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
14718 mouse_autoselect_window.
14719
147202002-04-02 Stefan Monnier <monnier@cs.yale.edu>
14721
14722 * keyboard.c (make_lispy_event): Handle unknown keysyms together
14723 with system-specific keysyms. Use it also for unknown function keys.
14724
14725 * doc.c (reread_doc_file): Return whether reload was attempted.
14726 (Fdocumentation, Fdocumentation_property): Don't try to reload
14727 if the doc is 0 and only ask once.
14728
14729 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
14730
147312002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
14732
14733 * keyboard.c (read_char): If the event was Qselect_window,
14734 restore timer_idleness_start_time to its previous value.
14735
14736 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
14737
147382002-04-01 Stefan Monnier <monnier@cs.yale.edu>
14739
14740 * region-cache.c (new_region_cache): Use BEG.
14741
14742 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
14743 Use BEG and BEG_BYTE.
14744
14745 * doc.c (get_doc_string): Return nil if the location is wrong.
14746 (reread_doc_file): New fun.
14747 (Fdocumentation, Fdocumentation_property):
14748 Call it if get_doc_string fails.
14749 (Fsnarf_documentation): Make it work for a dumped Emacs.
14750
14751 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
14752 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
14753
14754 * charset.c (Fstring): Allow 0 arguments.
14755
14756 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
14757
14758 * process.c (DATAGRAM_CONN_P, list_processes_1)
14759 (Fprocess_datagram_address, Fset_process_datagram_address)
14760 (Fset_network_process_options, server_accept_connection):
14761 Fix some int/Lisp_Object confusions (thank you union types).
14762
147632002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14764
14765 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
14766
14767 * w32term.c: Likewise.
14768 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
14769
14770 * keyboard.c (Qselect_window): New symbol.
14771 (head_table): Use it.
14772 (keys_of_keyboard): Bound select-window event to handle-select-window.
14773 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
14774
14775 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
14776 (last_window): New variable.
14777 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
14778 (note_mouse_movement): Remove reimplemented code in #if 0.
14779 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
14780 Emacs windows.
14781
14782 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
14783
147842002-03-31 Gerd Moellmann <gerd@gnu.org>
14785
14786 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
14787 Callers changed.
14788
147892002-03-30 Richard M. Stallman <rms@gnu.org>
14790
14791 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
14792 loop whenever it stops making progress.
14793
14794 * widget.c (set_frame_size): Don't call change_frame_size.
14795
147962002-03-30 Gerd Moellmann <gerd@gnu.org>
14797
14798 * dispnew.c (direct_output_for_insert):
14799 Call mark_window_display_accurate.
14800
148012002-03-29 Jason Rumney <jasonr@gnu.org>
14802
14803 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
14804
148052002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
14806
14807 * Makefile.in (lread.o): Depend on coding.h.
14808
14809 * lread.c (openp, Fload): Encode the file name before passing it
14810 to `stat', `access', and `emacs_open'.
14811 (openp): GCPRO the encoded file name. Don't recompute Lisp
14812 strings unnecessarily.
14813
148142002-03-29 Kim F. Storm <storm@cua.dk>
14815
14816 * fns.c (Flax_plist_put): Doc fix.
14817
148182002-03-28 Miles Bader <miles@gnu.org>
14819
14820 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
14821
148222002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14823
14824 * process.c (set-network-process-options): Add usage.
14825 (make-network-process): Doc fix.
14826
148272002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
14828
14829 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
14830
148312002-03-26 Richard M. Stallman <rms@gnu.org>
14832
14833 * fns.c (Fsubstring_no_properties): New function.
14834 (Flax_plist_get, Flax_plist_put): New functions.
14835 (syms_of_fns): defsubr them.
14836
14837 * xdisp.c (update_menu_bar): Test only update_mode_lines;
14838 don't test or alter w->update_mode_line.
14839
14840 * window.c (Fdisplay_buffer): Doc fix.
14841
148422002-03-24 Richard M. Stallman <rms@gnu.org>
14843
14844 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
14845
148462002-03-24 Gerd Moellmann <gerd@gnu.org>
14847
14848 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
14849 (Fdefmacro): Handle `(declare ...)'.
14850 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
14851 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
14852
148532002-03-24 Jason Rumney <jasonr@gnu.org>
14854
14855 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
14856 (xbm_file_p): Add prototypes.
14857 (xbm_format, xbm_image_p): Sync with xfns.c.
14858 (reflect_byte): New function.
14859 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
14860 (xbm_load_image): Create bitmaps with a depth of 1.
14861 (init_xfns): Enable XBM images.
14862
148632002-03-23 Jason Rumney <jasonr@gnu.org>
14864
14865 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
14866 correctly. Do not pass up_modifier to keyboard buffer.
14867
14868 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
14869
148702002-03-22 Stefan Monnier <monnier@cs.yale.edu>
14871
14872 * Makefile.in (bootstrapclean): New target.
14873 (bootstrap-temacs, bootstrap-doc): Remove.
14874 (bootstrap-emacs): Use a bog-standard `temacs'.
14875 Don't bother to build a DOC file.
14876
14877 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
14878
14879 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
14880 in temacs even if !CANNOT_DUMP.
14881 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
14882
14883 * alloc.c (check_pure_size): Only output a warning.
14884
148852002-03-22 Jason Rumney <jasonr@gnu.org>
14886
14887 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
14888 supported.
14889
14890 * w32term.c (zv_bits): Declare as short, for word alignment.
14891 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
14892 (syms_of_w32term): Define x-use-underline-position-properties.
14893
14894 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
14895 (clear_image_cache): Block input, fix logic, clear matrices in
14896 all frames that share this cache.
14897
148982002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
14899
14900 * emacs.c (main): Update the Copyright year in the blurb printed
14901 by "emacs --version".
14902
14903 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
14904
14905 * xterm.c (XTread_socket): If XK_ISO_Lock and
14906 XK_ISO_Last_Group_Lock are defined, handle keysyms between
14907 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
14908
149092002-03-21 Kim F. Storm <storm@cua.dk>
14910
14911 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
14912 menu-bar bindings in keymap and local-map properties _are_ used.
14913 But try keymap property first in accordance with 2002-01-03 patch.
14914 Added comment describing why this is not always reliable.
14915 (tool_bar_items): Ditto for tool-bar.
14916
149172002-03-21 Jason Rumney <jasonr@gnu.org>
14918
14919 * w32fns.c (x_clear_image_1): Disable color table code.
14920
149212002-03-21 Kim F. Storm <storm@cua.dk>
14922
14923 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
14924 removed the wrong version of the DEFUN macro; fixed it.
14925
14926 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
14927 Fmember rather than Fmemq).
14928 (Fprovide): Check that subfeatures is a list.
14929
14930 * process.c (QCfeature, QCdatagram): Removed variables.
14931 (QCtype, Qdatagram): New variables.
14932 (network_process_featurep): Removed function.
14933 (Fmake_network_process): Removed :feature check.
14934 Use :type 'datagram instead of :datagram t to create a datagram
14935 socket. This allows us to add other connection types (e.g. raw
14936 sockets) later in a consistent manner.
14937 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
14938 supported subfeatures for feature make-network-process.
14939 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
14940 Intern and staticpro QCtype and Qdatagram.
14941 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
14942
14943 * xfns.c: (QCtype): Remove duplicate declaration and
14944 initialization (is now declared in process.c).
14945
14946 * w32fns.c: (QCtype): Remove duplicate declaration and
14947 initialization (is now declared in process.c).
14948
149492002-03-21 Richard M. Stallman <rms@gnu.org>
14950
14951 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
14952 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
14953 when jumping to `fail' to avoid undoing reg changes in the
14954 last iteration of the loop.
14955 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
14956
14957 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
14958 Depend on process.h.
14959
149602002-03-20 Jason Rumney <jasonr@gnu.org>
14961
14962 Most of the following changes are still conditional on HAVE_IMAGES
14963 which is not set by default on Windows.
14964
14965 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
14966
14967 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
14968 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
14969 (four_corners_best, x_clear_image_1, x_clear_image)
14970 (x_alloc_image_color, postprocess_image)
14971 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
14972 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
14973 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
14974
14975 * w32gui.h (struct XImage): Define.
14976
14977 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
14978 extract mouse co-ordinates.
14979
149802002-03-20 Jason Rumney <jasonr@gnu.org>
14981
14982 * w32.c (init_winsock): Dynamically load new server and UDP
14983 socket functions.
14984 (socket_to_fd): New function.
14985 (sys_socket): Use it.
14986 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
14987 (sys_recvfrom, sys_sendto): New wrapper functions.
14988
14989 * process.c (QCfamily, QCfilter): Remove duplicate declaration
14990 and initialization.
14991
14992 * makefile.w32-in (LIBS): Remove $(WSOCK32).
14993
149942002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
14995
14996 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
14997 Don't use "sun" as a variable, it's a predefined constant on Sun
14998 machines.
14999
150002002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15001
15002 * bytecode.c (Fbyte_code): Revert last change.
15003
150042002-03-19 Kim F. Storm <storm@cua.dk>
15005
15006 * makefile.w32-in (LIBS): Add $(WSOCK32).
15007 From David Ponce <dponce@voila.fr>.
15008
150092002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15010
15011 * process.c (wait_reading_process_input): Move variables `pname'
15012 and `pnamelen' down where they are used.
15013
15014 * bytecode.c (Fbyte_code): Discard unused computed value to
15015 prevent gcc warning.
15016
15017 * lisp.h (Fplist_member): Add prototype.
15018
150192002-03-18 Kim F. Storm <storm@cua.dk>
15020
15021 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
15022 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
15023
15024 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
15025 Remove explicit GNU_LINUX settings for datagram support.
15026
150272002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15028
15029 * process.c (Fmake_network_process): Remove unused variable `sa'.
15030 Doc fix. Add usage:.
15031 (set_socket_options): Remove unused variables `optnum' and `opttype'.
15032
150332002-03-17 Richard M. Stallman <rms@gnu.org>
15034
15035 * xdisp.c (cursor_type_changed): New variable.
15036 (redisplay_internal): Redisplay all windows if cursor_type_changed.
15037 Clear it when clearing windows_or_buffers_changed.
15038 (try_cursor_movement, redisplay_window, try_window_id)
15039 (try_window_reusing_current_matrix): Test cursor_type_changed
15040 along with windows_or_buffers_changed.
15041
15042 * window.h (cursor_type_changed): New variable.
15043
15044 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
15045 not update_mode_lines, and always set it to 1.
15046
15047 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
15048 if no frames needed redrawing.
15049
150502002-03-17 Kim F. Storm <storm@cua.dk>
15051
15052 The following changes add support for network server processes,
15053 datagram connections, and local (unix) sockets.
15054
15055 * process.h (struct Lisp_Process): New member log.
15056 Doc fix: Member command used to indicate stopped network process.
15057 Doc fix: Member childp contains plist for network process.
15058 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
15059
15060 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
15061 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
15062 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
15063 New variables.
15064 (NETCONN1_P): New macro.
15065 (DATAGRAM_SOCKETS): New conditional symbol.
15066 (datagram_address): New array.
15067 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
15068 (status_message): Use concat3.
15069 (Fprocess_status): Add `listen' status to doc string. Return `stop'
15070 for a stopped network process.
15071 (Fset_process_buffer): Update contact plist for network process.
15072 (Fset_process_filter): Ditto. Don't enable input for stopped
15073 network processes. Server must listen, even if filter is t.
15074 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
15075 New functions.
15076 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
15077 (Fprocess_contact): Added KEY argument. Handle datagrams.
15078 (list_processes_1): Optionally show only processes with the query
15079 on exit flag set. Dynamically adjust column widths. Omit tty
15080 column if not needed. Report stopped network processes.
15081 Identify server and datagram network processes.
15082 (Flist_processes): New optional arg `query-only'.
15083 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
15084 (conv_lisp_to_sockaddr, set_socket_options)
15085 (network_process_featurep, unwind_request_sigio): New helper functions.
15086 (Fprocess_datagram_address, Fset_process_datagram_address):
15087 (Fset_network_process_options): New lisp functions.
15088 (Fopen_network_stream): Removed. Now defined in simple.el.
15089 (Fmake_network_process): New lisp function. Code is based on previous
15090 Fopen_network_stream, but heavily reworked with new property list based
15091 argument list, support for datagrams, server processes, and local
15092 sockets in addition to old client-only functionality.
15093 (server_accept_connection): New function.
15094 (wait_reading_process_input): Use it to handle incoming connects.
15095 Do not enable input on a new connection if process is stopped.
15096 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
15097 (send_process): Handle datagram sockets.
15098 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
15099 network process is indicated by setting command field to t .
15100 (Fprocess_send_eof): No-op if datagram connection.
15101 (Fstatus_notify): Don't read input for a stream server socket or a
15102 stopped network process.
15103 (init_process): Initialize datagram_address array.
15104 (syms_of_process): Intern and staticpro new variables, defsubr new
15105 functions.
15106
151072002-03-16 Jason Rumney <jasonr@gnu.org>
15108
15109 * w32fns.c (w32_to_all_x_charsets): Return correct type in
15110 startup case.
15111
151122002-03-16 Richard M. Stallman <rms@gnu.org>
15113
15114 * xdisp.c (redisplay_internal, redisplay_windows):
15115 Use list_of_error to call internal_condition_case_1.
15116 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
15117 so as to catch all errors with no possibility of debugger redisplay.
15118 (list_of_error): New variable.
15119 (syms_of_xdisp): Init and staticpro it.
15120
15121 * print.c (print_object): Delete `\ ' from printed rep of frame.
15122
151232002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
15124
15125 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
15126 until its implementation is fixed.
15127
151282002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15129
15130 * xfns.c (png_load): Remove unused variable `gamma_str'.
15131
151322002-03-14 Richard M. Stallman <rms@gnu.org>
15133
15134 * xfns.c (x_real_positions): Handle failure in XQueryTree.
15135
151362002-03-14 Miles Bader <miles@gnu.org>
15137
15138 * intervals.c (adjust_for_invis_intang): New function.
15139 (set_point_both): Use `adjust_for_invis_intang' to do most of the
15140 work for dealing with invisible+intangible regions. Do so before
15141 and after both forward and backward movements, to handle both
15142 front-sticky and rear-sticky cases.
15143 * textprop.c (text_property_stickiness): Function moved here from
15144 `editfns.c'.
15145 * intervals.h (text_property_stickiness): New declaration.
15146 * editfns.c (char_property_eq): Function removed.
15147 (text_property_stickiness): Function moved to `textprop.c'.
15148
151492002-03-13 Jason Rumney <jasonr@gnu.org>
15150
15151 * config.in: Add STRFTIME_NO_POSIX2.
15152
15153 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
15154 and %OX when underlying strftime does not.
15155
151562002-03-13 Stefan Monnier <monnier@cs.yale.edu>
15157
15158 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
15159 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
15160 line) to avoid annoying flicker.
15161 (xm_scroll_callback): Get rid of the now unnecessary kludge.
15162 (XTread_socket): Mark it static.
15163
15164 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
15165
151662002-03-13 Kim F. Storm <storm@cua.dk>
15167
15168 * puresize.h (BASE_PURESIZE): Increase to 775000.
15169
151702002-03-12 Juanma Barranquero <lektu@terra.es>
15171
15172 * editfns.c (syms_of_editfns): Fix typo.
15173
151742002-03-12 Gerd Moellmann <gerd@gnu.org>
15175
15176 * xsmfns.c: Include stdio.h because termhooks.h needs it.
15177 Include termopt.h for interrupt_input.
15178
151792002-03-11 Andreas Schwab <schwab@suse.de>
15180
15181 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
15182
151832002-03-11 Gerd Moellmann <gerd@gnu.org>
15184
15185 * xterm.c (note_mouse_movement): Put code for
15186 x_autoselect_window_p in #if 0.
15187
15188 * lread.c (Fload): Don't assume that message_with_string uses the
15189 string it is given like a C string.
15190
151912002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15192
15193 * xterm.h (x_session_check_input, x_session_initialize): Declare.
15194
15195 * xterm.c: (XTread_socket): Add call to x_session_check_input and
15196 x_session_have_connection.
15197 (x_initialize): Add call to x_session_initialize.
15198
15199 * termhooks.h (enum event_kind): Add save_session_event.
15200
15201 * keyboard.c: Add Emacs event save_session_event.
15202
15203 * emacs.c (main): Add call to syms_of_xsmfns.
15204
15205 * lisp.h (syms_of_xsmfns): Declare extern.
15206
15207 * config.in: Add HAVE_X_SM.
15208
15209 * Makefile.in (LIBXT): Add -lSM -lICE
15210 if HAVE_X_SM and not USE_X_TOOLKIT.
15211 (XOBJ): New file xsmfns.c added.
15212
15213 * xsmfns.c: New file for X session management.
15214
152152002-03-09 Jason Rumney <jasonr@gnu.org>
15216
15217 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
15218 read-only when setting modified time.
15219
152202002-03-08 Gerd Moellmann <gerd@gnu.org>
15221
15222 * xdisp.c (move_it_vertically_backward): At the end of the function,
15223 when moving forward by lines, treat terminal frames specially.
15224
15225 * keyboard.c (echo_char): Make sure to add a separator between
15226 keys even if echo_dash hasn't been called.
15227
15228 * xdisp.c: Use new string macros.
15229 (update_echo_area): Pass number of bytes to message3 instead of
15230 number of chars.
15231 (set_message_1): Don't access a string's size_byte directly.
15232 (decode_mode_spec_coding): Use number of bytes of eoltype string
15233 instead number of chars.
15234
15235 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
15236
152372002-03-08 Juanma Barranquero <lektu@terra.es>
15238
15239 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
15240 24-bit.
15241
152422002-03-06 Jason Rumney <jasonr@gnu.org>
15243
15244 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
15245
152462002-03-06 Gerd Moellmann <gerd@gnu.org>
15247
15248 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
15249 (cancel_echoing, echo_length, echo_truncate): Changed to
15250 work with new kboard definition.
15251 (echo_now): Use message3_nolog instead of message2_nolog.
15252
15253 * alloc.c (mark_kboards): Mark echo_string.
15254
15255 * keyboard.h (ECHOBUFSIZE): Removed.
15256 (struct kboard): Member echoptr removed, member echobuf renamed
15257 to echo_string.
15258
15259 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
15260 message3 instead of message2 to display the message using STRING's
15261 text properties.
15262
152632002-03-05 Andreas Schwab <schwab@suse.de>
15264
15265 * xdisp.c (hscroll_margin): Change to EMACS_INT.
15266
152672002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
15268
15269 * frame.c (default-frame-alist): Explain that setting it doesn't
15270 affect existing frames.
15271
152722002-03-05 Stefan Monnier <monnier@cs.yale.edu>
15273
15274 * indent.c (skip_invisible): Fix my brain fart.
15275
15276 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
15277
152782002-03-04 Stefan Monnier <monnier@cs.yale.edu>
15279
15280 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
15281 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
15282 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
15283 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
15284 and variables to use EMACS_INT instead of just int.
15285
15286 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
15287
152882002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
15289
15290 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
15291 environment, pass it down with corrected value.
15292
152932002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15294
15295 * lread.c (read_filtered_event): Do not call start_hourglass
15296 before returning.
15297
152982002-03-04 Juanma Barranquero <lektu@terra.es>
15299
15300 * w32term.c (x_display_and_set_cursor): Fix typo.
15301
153022002-03-03 Richard M. Stallman <rms@gnu.org>
15303
15304 * fileio.c (Fmake_temp_name): Doc fix.
15305
153062002-03-03 Gary Wong <gtw@gnu.org>
15307
15308 * termcap.c [!emacs]: Replace ospeed for building standalone
15309 libtermcap, for binary compatibility.
15310
15311 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
15312
153132002-03-03 Richard M. Stallman <rms@gnu.org>
15314
15315 * xrdb.c (file_p): Rename arg `path' to `filename'.
15316
15317 * abbrev.c (Fexpand_abbrev): Increment plist as use count
15318 only if it is an integer.
15319
15320 * xfns.c (png_load): Set screen_gamma based on f->gamma.
15321 If png_get_sRGB gives an answer, call png_set_gamma
15322 using the default image gamma value.
15323
15324 * lread.c (read1): When reading from a file, default string to
15325 multibyte only if it has some multibyte characters.
15326
15327 * print.c (print_object): Output multibyte chars 128...255
15328 using \x even if ! print_escape_multibyte.
15329
15330 * xdisp.c (display_mode_element): Move the places where
15331 bytepos, charpos, this, and lisp_string are set.
15332 Use lisp_string to set bytepos.
15333
15334 * xdisp.c (redisplay_internal):
15335 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
15336
15337 * xdisp.c (display_mode_element): Merge properties specified with
15338 :propertize onto those that come with the string.
15339
153402002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
15341
15342 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
15343 automatic-hscrolling. Users changed.
15344 <hscroll-margin>: Renamed from automatic-hscroll-margin.
15345 Users changed.
15346 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
15347
153482002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
15349
15350 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
15351
153522002-03-02 Kim F. Storm <storm@cua.dk>
15353
15354 * window.c (Fminibuffer_selected_window): New function.
15355 (syms_of_window): Defsubr it.
15356
153572002-03-01 Kim F. Storm <storm@cua.dk>
15358
15359 * window.h (struct window): New member phys_cursor_width.
15360
15361 * window.c (make_window, replace_window): Init phys_cursor_width.
15362
15363 * xterm.c (x_display_and_set_cursor): Blink box cursor using
15364 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
15365
15366 * w32term.c (x_display_and_set_cursor): Blink box cursor using
15367 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
15368
15369 * lisp.h (GCPRO6): New macro.
15370
15371 * process.c (Fopen_network_stream): Use GCPRO6.
15372
153732002-03-01 Kim F. Storm <storm@cua.dk>
15374
15375 * process.c (Qconnect, Qfailed): New variables.
15376 (syms_of_process): Intern and staticpro them.
15377 (Fprocess_status): Document connect and failed return values.
15378 [NON_BLOCKING_CONNECT]: New conditional.
15379 (connect_wait_mask, num_pending_connects): New variables.
15380 (status_message): Convert Qfailed status.
15381 (Fopen_network_stream): Added support for non-blocking connect.
15382 New optional args: filter, sentinel, non_blocking. Doc updated.
15383 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
15384 (deactivate_process): Handle pending non-blocking connect.
15385 (wait_reading_process_input): Poll for status of non-blocking
15386 connects. Exec sentinel directly when connect succeeds.
15387 (status_notify): Don't read process output if not yet connected.
15388
153892002-02-28 Kim F. Storm <storm@cua.dk>
15390
15391 * window.c: (minibuf_selected_window): Renamed from
15392 Vminibuf_selected_window. Users changed.
15393 (syms_of_window): Staticpro it.
15394
153952002-02-26 Kim F. Storm <storm@cua.dk>
15396
15397 The following changes add a new Vminibuf_selected_window variable
15398 which is similar to Vminibuf_scroll_window, but which is only set
15399 on entry to the minibuffer (from a non-minibuffer window):
15400
15401 * window.c: (Vminibuf_selected_window): New variable.
15402 (struct save_window_data): New member minibuf_selected_window.
15403 (Fset_window_configuration): Restore Vminibuf_selected_window.
15404 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
15405 Set minibuf_scroll_window member to nil if minibuf_level is 0.
15406 (compare_window_configurations): Compare minibuf_selected_window.
15407
15408 * window.h: (Vminibuf_selected_window): Declare extern.
15409
15410 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
15411 entry to minibuffer or on entry from a non-minibuffer window.
15412
15413 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
15414 Vminibuf_selected_window instead of Vminibuf_scroll_window.
15415
15416 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
15417 instead of Vminibuf_scroll_window when deciding in which window
15418 the region should be highlighted. Consequently, the region remains
15419 highlighteded even when a completion buffer is also displayed.
15420
154212002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
15422
15423 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
15424
15425 * xselect.c (Qcompound_text_with_extensions): Renamed from
15426 Qcompound_text_no_extensions.
15427 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
15428
154292002-02-26 Juanma Barranquero <lektu@terra.es>
15430
15431 * w32proc.c (syms_of_ntproc): Doc fix.
15432
154332002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15434
15435 * intervals.h: Include "dispextern.h" unconditionally.
15436
154372002-02-24 Jason Rumney <jasonr@gnu.org>
15438
15439 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
15440 and disp-table.elc.
15441 (lisp): Add emacs-lisp/backquote.elc.
15442
154432002-02-24 Kim F. Storm <storm@cua.dk>
15444
15445 * keymap.c (Flookup_key): Fix problem in 2001-12-28 patch:
15446 The validation of the event type was too strict as it didn't
15447 allow string events; buffer names are used in bindings for
15448 menu-bar-select-buffer (see `menu-bar-update-buffers').
15449
154502002-02-23 Kim F. Storm <storm@cua.dk>
15451
15452 The following changes rework my patch of 2002-02-06 which
15453 added command remapping by entering the commands directly into
15454 the keymaps. Now, command remapping uses an explicit `remap'
15455 prefix in the keymaps, i.e. [remap COMMAND].
15456
15457 * keymap.c (Qremap, remap_command_vector): New variables.
15458 (is_command_symbol): Remove function.
15459 (Fdefine_key): No longer accept a symbol for KEY.
15460 Added validation of [remap COMMAND] argument for KEY.
15461 The DEF is no longer required to be a symbol when remapping a command.
15462 (Fremap_command): New function to remap command through keymaps.
15463 (Flookup_key): Perform command remapping initiated by
15464 Fremap_command directly for speed.
15465 (Fkey_binding): Use Fremap_command for command remapping.
15466 (where_is_internal): Handle new command remapping representation.
15467 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
15468 staticpro them. Defsubr Fremap_command.
15469
15470 * keymap.h (Fremap_command): Declare extern.
15471 (is_command_symbol): Remove extern.
15472
15473 * keyboard.c (command_loop_1): Use Fremap_command for command
15474 remapping; now try command remapping for all symbols.
15475
154762002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
15477
15478 * coding.h (run_pre_post_conversion_on_str): Add prototype.
15479
154802002-02-23 Jason Rumney <jasonr@gnu.org>
15481
15482 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
15483 on the string before encoding it.
15484 (Fw32_get_clipboard_data): Run post-read-conversion on the string
15485 after decoding it.
15486
15487 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
15488
154892002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15490
15491 * w32term.c (enter_timestamp): Remove unused static variable to
15492 prevent warning.
15493
15494 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
15495
154962002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
15497
15498 * w16select.c (Fw16_get_clipboard_data): Fix last change.
15499
15500 * xselect.c (selection_data_to_lisp_data): Fix last change.
15501
155022002-02-22 Jason Rumney <jasonr@gnu.org>
15503
15504 * w32term.h (struct w32_output): New member menu_command_in_progress.
15505
15506 * w32menu.c (menubar_selection_callback): Free the menu and
15507 clear the menu_command_in_progress flag.
15508
15509 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
15510 (menu_free_timer): New variable.
15511 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
15512 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
15513 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
15514 menu command is in progress.
15515 <WM_COMMAND>: Set the menu_command_in_progress flag.
15516 Kill any menu_free_timer that is running.
15517
15518 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
15519 Call ExtTextOutA rather than ExtTextOut.
15520
155212002-02-22 Eli Zaretskii <eliz@gnu.org>
15522
15523 * puresize.h (BASE_PURESIZE): Increase to 755000.
15524
155252002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15526
15527 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
15528 on the string before encoding it.
15529 (Fw16_get_clipboard_data): Run post-read-conversion on the string
15530 after decoding it.
15531
155322002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15533
15534 Support for ICCCM Extended Segments in X selections:
15535
15536 * xselect.c <Qcompound_text_no_extensions>: New variable.
15537 (syms_of_xselect): Intern and staticpro it.
15538 (selection_data_to_lisp_data): Run post-read-conversion on decoded
15539 selection text.
15540 (lisp_data_to_selection_data): If next-selection-coding-system is
15541 compound-text-no-extensions, set the type of selection to be
15542 compound-text.
15543
15544 * xterm.h (x_encode_text): Update prototype.
15545
15546 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
15547 callers changed. If SELECTIONP is non-zero, run the
15548 pre-write-conversion function before encoding the selection text.
15549
155502002-02-21 Kim F. Storm <storm@cua.dk>
15551
15552 * frame.c (syms_of_frame): Change mouse-highlight default to t.
15553
15554 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
15555 Correct composing of language-change event.
15556
155572002-02-20 Kim F. Storm <storm@cua.dk>
15558
15559 * keyboard.c (menu_bar_items): Don't include keymap or local-map
15560 bindings at PT when building menu (the menu is not updated often
15561 enough for this to work reliable).
15562 (tool_bar_items): Likewise.
15563 (current_active_maps): Removed unused (and buggy) function.
15564
155652002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15566
15567 * xfns.c (gif_load): Use correct width and height for GIF images.
15568
155692002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
15570
15571 * floatfns.c (Fatan): Accept an optional second arg and call
15572 atan2 if passed 2 args.
15573
155742002-02-18 Jason Rumney <jasonr@gnu.org>
15575
15576 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
15577
155782002-02-17 Jason Rumney <jasonr@gnu.org>
15579
15580 * w32term.c (x_autoselect_window_p): New variable.
15581 (syms_of_w32term): DEFVAR_BOOL and initialize it.
15582 (note_mouse_movement): Use it.
15583
15584 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
15585
15586 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
15587
15588 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
15589 New variables.
15590 (syms_of_w32fns): Intern and staticpro them.
15591 (x_frame_parms) <"fullscreen">: New parameter.
15592 (x_fullscreen_move, x_set_fullscreen): New functions.
15593 (x_set_frame_parameters): Support Qfullscreen.
15594 (x_real_positions): Save x/y_pixels_diff frame params.
15595 (x_figure_window_size): Support full-screen frames.
15596 (Fx_create_frame): Default the fullscreen parameter.
15597
15598 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
15599 (x_fullscreen_adjust): New functions.
15600 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
15601 fullscreen. Call x_check_fullscreen_move, and set the
15602 want_fullscreen member of output_data.w32
15603 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
15604
15605 * w32term.h: New enum for FULLSCREEN_* constants.
15606 (struct w32_output): New members want_fullscreen, x_pixels_diff,
15607 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
15608 (x-fullscreen-adjust): New prototype.
15609
156102002-02-17 Kim F. Storm <storm@cua.dk>
15611
15612 * frame.c: (Vmouse_highlight): New variable.
15613 (syms_of_frame): DEFVAR_LISP it.
15614
15615 * frame.h: (Vmouse_highlight): Declare extern.
15616
15617 * xterm.h (struct x_display_info): Add mouse_face_hidden.
15618
15619 * xterm.c (disable_mouse_highlight): Removed variable.
15620 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
15621 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15622 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
15623 and on after keyboard input.
15624 (x_term_init): Initialize mouse_face_hidden.
15625
15626 * msdos.h (struct display_info): Add mouse_face_hidden.
15627
15628 * msdos.c (disable_mouse_highlight): Removed variable.
15629 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15630 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
15631 (internal_terminal_init): Initialize mouse_face_hidden.
15632 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
15633 and on after keyboard input.
15634
15635 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
15636
15637 * w32term.c (disable_mouse_highlight): Removed variable.
15638 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
15639 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15640 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
15641 and on after keyboard input.
15642 (w32_initialize_display_info): Initialize mouse_face_hidden.
15643
156442002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
15645
15646 * msdos.c (last_mouse_window): New variable.
15647 (dos_rawgetc): Fix last change--if the mouse is in the same window
15648 as recorded in last_mouse_window, don't select this window.
15649
15650 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
15651
15652 * msdos.c (x_autoselect_window_p): New variable.
15653 (syms_of_msdos): Defvar it.
15654 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
15655 which the last mouse movement occured, unless it is already selected.
15656
15657 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
15658 New variables.
15659 (syms_of_xdisp): DEVFAR them.
15660 (hscroll_window_tree): Use automatic_hscroll_margin and
15661 Vautomatic_hscroll_step to compute the amount of window scrolling.
15662
156632002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15664
15665 * xterm.c (x-autoselect-window): New variable.
15666 (note_mouse_movement): Use it.
15667
15668 * keyboard.c: Do not include "systime.h" twice.
15669
156702002-02-15 Andreas Schwab <schwab@suse.de>
15671
15672 * puresize.h (PURESIZE_RATIO): Increase to 9/5.
15673
15674 * alloc.c (NSTATICS): Increase to 1280.
15675
156762002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
15677
15678 * alloc.c (NSTATICS): Bump to 1026.
15679
15680 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
15681 (Vx_super_keysym): New variables.
15682 (syms_of_xterm): DEFVAR_LISP them.
15683 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
15684 variables to determine which keys to use for the various modifiers.
15685
156862002-02-13 Kim F. Storm <storm@cua.dk>
15687
15688 * window.c: (Vmode_line_in_non_selected_windows): Removed.
15689 (mode_line_in_non_selected_windows): New variable.
15690 (syms_of_window): DEFVAR_BOOL it.
15691
15692 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
15693 Use mode_line_in_non_selected_windows.
15694 (mode_line_in_non_selected_windows): Declare extern.
15695 (Vmode_line_in_non_selected_windows): Removed extern.
15696
156972002-02-13 Richard M. Stallman <rms@gnu.org>
15698
15699 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
15700 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
15701 (Fclear_this_command_keys): Doc fixes.
15702
15703 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
15704 (update_face_from_frame_parameter): Increment face_change_count
15705 and windows_or_buffers_changed to force redisplay using changed faces.
15706
15707 * xdisp.c (QCpropertize): New variable.
15708 (mode_line_proptrans_alist): New variable.
15709 (display_mode_element): New arg PROPS; all calls changed.
15710 Implement this, for strings.
15711 Handle literal output of strings by sharing the
15712 main-line code for strings, using local var `literal'.
15713 Handle :propertize feature.
15714 (syms_of_xdisp): Initialze and staticpro QCpropertize and
15715 mode_line_proptrans_alist.
15716
157172002-02-11 Kim F. Storm <storm@cua.dk>
15718
15719 * window.c: (Vmode_line_in_non_selected_windows): New variable.
15720 (syms_of_window): DEFVAR_LISP it.
15721
15722 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
15723 (CURRENT_MODE_LINE_FACE_ID): Use it.
15724 (Vmode_line_in_non_selected_windows): Declare extern.
15725
15726 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
15727 to get mode line face.
15728
157292002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
15730
15731 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
15732 variables; cus-start.el doesn't need them anymore.
15733
157342002-02-09 Kim F. Storm <storm@cua.dk>
15735
15736 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
15737 reduction. This fixes a display problem where stray newlines were
15738 inserted in the window (corrected by C-l). Clarified code (IMHO).
15739
157402002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
15741
15742 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
15743
15744 * xdisp.c (display_mode_lines): Fix last change.
15745
157462002-02-09 Jason Rumney <jasonr@gnu.org>
15747
15748 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
15749 match each other.
15750 (w32_load_system_font): Prevent Cleartype fonts from loading.
15751 (Fx_show_tip): Ensure tip frames are above other topmost windows.
15752
157532002-02-09 Kim F. Storm <storm@cua.dk>
15754
15755 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
15756 (CURRENT_MODE_LINE_HEIGHT): Use it.
15757 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
15758
15759 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
15760 (pos_visible_p, handle_face_prop): Likewise.
15761 (display_mode_lines): Likewise, but for the real selected window.
15762 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
15763
15764 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
15765 in non-selected windows.
15766 (realize_basic_faces): Realize it.
15767 (syms_of_term): Intern and staticpro it.
15768
157692002-02-08 Kim F. Storm <storm@cua.dk>
15770
15771 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
15772 Changed mail addresses to emacs-devel@gnu.org.
15773
157742002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
15775
15776 * fileio.c (Fsubstitute_in_file_name): If the file name includes
15777 ~user, and there's no such user, don't discard everything before ~user.
15778
15779 * floatfns.c (Fround): Doc fix.
15780
157812002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15782
15783 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
15784
157852002-02-07 Stefan Monnier <monnier@cs.yale.edu>
15786
15787 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
15788
157892002-02-07 Kim F. Storm <storm@cua.dk>
15790
15791 * keymap.c (where_is_internal): Only check whether definition is
15792 remapped if it fulfills is_command_symbol.
15793
157942002-02-07 Andreas Schwab <schwab@suse.de>
15795
15796 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
15797
15798 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
15799
158002002-02-06 Kim F. Storm <storm@cua.dk>
15801
15802 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
15803 defining command remapping. Doc updated.
15804 (Flookup_key): Remap command through keymap if KEY is a symbol.
15805 (is_command_symbol): New function.
15806 (Fkey_binding): Use it. New optional argument NO-REMAP.
15807 Doc updated. Callers changed. Perform command remapping via
15808 recursive call unless that arg is non-nil.
15809 (where_is_internal): New argument no_remap. Callers changed.
15810 Call recursively to find original key bindings for a remapped
15811 comand unless that arg is non-nil.
15812 (Fwhere_is_internal): New optional argument NO-REMAP.
15813 Doc updated. Callers changed. Pass arg to where_is_internal.
15814
15815 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
15816 (is_command_symbol): Add prototype.
15817
15818 * keyboard.c (Vthis_original_command): New variable.
15819 (syms_of_keyboard): DEFVAR_LISP it.
15820 (command_loop_1): Set it, and perform command remapping.
15821
158222002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15823
15824 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
15825
158262002-02-06 Jason Rumney <jasonr@gnu.org>
15827
15828 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
15829
158302002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
15831
15832 * charset.c (get_charset_id): Use if-else instead of ?:.
15833
158342002-02-06 Richard M. Stallman <rms@gnu.org>
15835
15836 * filelock.c (S_ISLNK): Define if not defined.
15837
158382002-02-03 Richard M. Stallman <rms@gnu.org>
15839
15840 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
15841
15842 * lread.c (read1): Redesign strategy for force_multibyte and
15843 force_singlebyte. Now is_multibyte records whether read_buffer
15844 is multibyte. Encountering any multibyte character makes it so.
15845
158462002-02-02 Stefan Monnier <monnier@cs.yale.edu>
15847
15848 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
15849 with the same sequence, map that sequence to f10 rather than f0.
15850
158512002-02-03 Andreas Schwab <schwab@suse.de>
15852
15853 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
15854 latter never being defined on GNU/Linux.
15855
158562002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
15857
15858 * xfaces.c (realize_default_face): Don't set the weight and slant of
15859 the default face to Qnormal, unless these attributes are unspecified.
15860
158612002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15862
15863 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
15864 Call cancel_hourglass unconditionally.
15865
15866 * eval.c (Fsignal): Remove duplicated declaration of
15867 the variable `display_hourglass_p'.
15868
158692002-01-31 Richard M. Stallman <rms@gnu.org>
15870
15871 * editfns.c (region_limit): Nicer error message.
15872
15873 * coding.c (decode_composition_emacs_mule):
15874 Give up if NCOMPONENT gets too large to index `component'.
15875
15876 * callint.c (check_mark): New arg to specify clearer error message.
15877 Callers changed.
15878
158792002-01-27 Richard M. Stallman <rms@gnu.org>
15880
15881 * minibuf.c (Fcompleting_read): Doc fix.
15882
158832002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15884
15885 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
15886 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
15887 Fix doc-strings.
15888
158892002-01-26 Richard M. Stallman <rms@gnu.org>
15890
15891 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
15892
15893 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
15894 and scroll_up_aggressively.
15895
158962002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15897
15898 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
15899
159002002-01-25 Stefan Monnier <monnier@cs.yale.edu>
15901
15902 * textprop.c (Fnext_property_change, Fnext_single_property_change)
15903 (Fprevious_property_change, Fprevious_single_property_change):
15904 Stay within the narrowed-buffer boundaries.
15905
159062002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
15907
15908 * term.c (Ftty_display_color_cells): New function.
15909 (syms_of_term): Defsubr it.
15910 (Ftty_display_color_cells, Ftty_display_color_p): Change the
15911 argument name to DISPLAY. Doc fix.
15912
15913 * dispextern.h: Add prototype for set_tty_color_mode and
15914 tty_setup_colors.
15915
159162002-01-24 Jason Rumney <jasonr@gnu.org>
15917
15918 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
15919 If region left to draw is not what was expected, mark the frame as
15920 garbaged.
15921
15922 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
15923 Combine the regions returned by BeginPaint and GetUpdateRect.
15924
159252002-01-23 Jason Rumney <jasonr@gnu.org>
15926
15927 * w32term.c (x_update_window_begin): Only hide caret if
15928 w32_use_visible_system_caret is set.
15929 (x_update_window_end): Only show caret if
15930 w32_use_visible_system_caret is set.
15931 (syms_of_w32term): Handle SystemParametersInfo call failing.
15932
15933 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
15934
159352002-01-22 Richard M. Stallman <rms@gnu.org>
15936
15937 * unexelf.c (unexec): Define n so as to cause compilation error
15938 for the code where people have often written n instead of nn.
15939
15940 * .gdbinit (hookpost-run): Defined.
15941
159422002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15943
15944 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
15945
159462002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15947
15948 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
15949 if fullscreen is being set.
15950
159512002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15952
15953 * minibuf.c (Fminibuffer_contents)
15954 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
15955 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
15956
159572002-01-21 Richard M. Stallman <rms@gnu.org>
15958
15959 * window.c (check_frame_size): Fix minimum height calculation.
15960
159612002-01-20 Ken Raeburn <raeburn@gnu.org>
15962
15963 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
15964 height before comparison.
15965 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
15966
159672002-01-20 Jason Rumney <jasonr@gnu.org>
15968
15969 * w32term.c (w32_system_caret_width): Remove.
15970 (w32_use_visible_system_caret): New user flag.
15971 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
15972 Windows reports a screen reader running.
15973 (x_update_window_begin): Hide the system caret.
15974 (x_update_window_end): Show the system caret.
15975 (x_display_and_set_cursor): Don't draw a cursor when
15976 w32_use_visible_system_caret is set. Do not adjust width.
15977
15978 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
15979 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
15980 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
15981 the user requests it. Use system default width when creating.
15982 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
15983
15984 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
15985 New window messages.
15986
159872002-01-20 Richard M. Stallman <rms@gnu.org>
15988
15989 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
15990
159912002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15992
15993 * doprnt.c (doprnt1): Fix typos in error call.
15994
159952002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
15996
15997 * unexelf.c (unexec) [__sgi]: Support the .got sections.
15998
159992002-01-20 Jason Rumney <jasonr@gnu.org>
16000
16001 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
16002 that Windows returns. If a double check fails, try to guess how
16003 ExtTextOut is going to act.
16004
16005 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
16006 in place of stricmp.
16007 (w32_list_synthesized_fonts): Removed.
16008 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
16009 (struct enumfont_t): New element; list.
16010 (enum_font_cb2): List all style and charset variations of a font.
16011 (Fw32_select_font): New optional argument; include_proportional.
16012 Exclude vertical fonts. Exclude proportional fonts unless
16013 include_proportional is non-nil.
16014 (w32_enable_synthesized_fonts): Change to a boolean.
16015 (Fw32_send_sys_command): Doc fix.
16016
160172002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16018
16019 * dispnew.c (update_frame): Move the variable `tem' to the block
16020 where it is used.
16021
160222002-01-19 Jason Rumney <jasonr@gnu.org>
16023
16024 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
16025 call to face-set-after-frame-default.
16026
160272002-01-18 Richard M. Stallman <rms@gnu.org>
16028
16029 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
16030 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
16031
160322002-01-17 Richard M. Stallman <rms@gnu.org>
16033
16034 * window.c (enlarge_window): When exceeding size of parent,
16035 directly delete all the siblings instead of trying to resize it.
16036
160372002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16038
16039 * term.c (set_tty_color_mode): Remove unused variable `tem'.
16040
160412002-01-16 Henrik Enberg <henrik@enberg.org>
16042
16043 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
16044
160452002-01-16 Kim F. Storm <storm@cua.dk>
16046
16047 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
16048 is invisible. This can happen if cursor is on top line of a
16049 window, and we switch to a buffer with a header line.
16050
16051 * w32term.c (x_erase_phys_cursor): Ditto.
16052
160532002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16054
16055 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
16056 `dont_resize' only when used.
16057
16058 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
16059
160602002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
16061
16062 * xdisp.c (display_mode_element): When computing charpos, depend
16063 on multibyteness of elt, not the text in field.
16064
160652002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16066
16067 * buffer.c (Fkill_all_local_variables):
16068 Increment `update_mode_lines' only once.
16069
160702002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16071
16072 * lisp.h (adjust_after_replace_noundo)
16073 (Fupdate_coding_systems_internal): Add prototypes.
16074
16075 * sound.c (Fplay_sound): Initialize header_size also for :data case.
16076
160772002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
16078
16079 Support for the --color command-line argument and tty-color-mode
16080 frame parameter:
16081
16082 * term.c (tty_default_color_capabilities, tty_setup_colors)
16083 (set_tty_color_mode): New functions.
16084 (term_init): Call tty_default_color_capabilities.
16085 (Qtty_color_mode_alist): New variable.
16086 (syms_of_term): Intern and staticpro it.
16087
16088 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
16089 frames.
16090 (do_switch_frame): For termcap frames, switch the tty
16091 color mode as specified by the frame's parameters.
16092 (Qtty_color_mode): New variable.
16093 (syms_of_frame): Intern and staticpro it.
16094
16095 * emacs.c (USAGE2): Add the --color option.
16096 (standard_args): Ditto.
16097
160982002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
16099
16100 * xterm.h (struct x_output): New members want_fullscreen,
16101 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
16102 y_pixels_outer_diff.
16103 New enum for FULLSCREEN_* constants.
16104 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
16105 is NULL.
16106 (x_fullscreen_adjust): Add prototype.
16107
16108 * emacs.c (USAGE2): Add the new full-screen arguments.
16109 (standard_args): Ditto.
16110
16111 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
16112 New variables.
16113 (syms_of_xfns): Intern and staticpro them.
16114 (x_frame_parms) <"fullscreen">: New parameter.
16115 (x_fullscreen_move, x_set_fullscreen): New functions.
16116 (x_set_frame_parameters): Support for Qfullscreen.
16117 (x_real_positions): More accurate computation of the frame position.
16118 (x_figure_window_size): Support full-screen frames.
16119 (Fx_create_frame): Default the fullscreen parameter.
16120
16121 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
16122 (XTread_socket) <Expose>: Call x_check_fullscreen.
16123 <ConfigureNotify>: Don't resize to fullscreen.
16124 Call x_check_fullscreen_move, and set the want_fullscreen member of
16125 output_data.x.
16126
161272002-01-13 Jason Rumney <jasonr@gnu.org>
16128
16129 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
16130 for mice with more than 3 buttons.
16131
16132 * w32term.c (parse_button): New parameter xbutton. Callers changed.
16133 (w32_read_socket): Handle new "XBUTTON" messages.
16134
16135 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
16136 (syms_of_w32fns): DEFVAR_BOOL it.
16137 (w32_wnd_proc): Handle new "XBUTTON" messages.
16138
161392002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16140
16141 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
16142
161432002-01-13 Andreas Schwab <schwab@suse.de>
16144
16145 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
16146
161472002-01-12 Andreas Schwab <schwab@suse.de>
16148
16149 * .gdbinit (xbuffer): Remove address operator since data is now a
16150 pointer.
16151
161522002-01-11 Richard M. Stallman <rms@gnu.org>
16153
16154 * insdel.c (adjust_after_replace_noundo): New function.
16155
16156 * coding.c (code_convert_region): Don't copy old text if undo disabled.
16157
161582002-01-09 Jason Rumney <jasonr@gnu.org>
16159
16160 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
16161 when checking for multiple frames.
16162
161632002-01-08 Richard M. Stallman <rms@gnu.org>
16164
16165 * window.c (delete_window): Rewrite the code for changing the
16166 selected window to handle the case where WINDOW is not a leaf.
16167
161682002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
16169
16170 * process.c (send_process): Set src_multibyte to 1 after the call
16171 top setup_coding_system, not before the call.
16172
161732002-01-07 Jason Rumney <jasonr@gnu.org>
16174
16175 * xmenu.c (set_frame_menubar, xmenu_show):
16176 (xdialog_show): Initialize wv->help to Qnil.
16177
16178 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
16179 (w32_dialog_show): Initialize wv->help to Qnil.
16180
161812002-01-06 Jason Rumney <jasonr@gnu.org>
16182
16183 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
16184
16185 * w32menu.c (w32_menu_display_help): Revert last change.
16186
16187 * xmenu.c (menu_highlight_callback): Revert last change.
16188
161892002-01-06 Andreas Schwab <schwab@suse.de>
16190
16191 * insdel.c (make_gap_larger): Make sure buffer size does not
16192 overflow range of int.
16193
161942002-01-05 Jason Rumney <jasonr@gnu.org>
16195
16196 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
16197 OVERLAPS_P.
16198
16199 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
16200
16201 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
16202 to the left or to the right of the pointer, put it against
16203 the left screen edge.
16204 (x_frame_parms): Add missing braces around initializer.
16205
16206 * w32term.c (x_setup_relief_colors): Don't compute an image's
16207 background color if it doesn't have a Pixmap.
16208 (notice_overwritten_cursor): Don't depend on
16209 output_cursor and updated_area. Compare pixel coordinates with
16210 window's cursor pixel coordinates.
16211 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
16212 Call notice_overwritten_cursor with new arg list.
16213 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
16214 unconditionally.
16215 (x_draw_image_relief): Use predefined macro instead of
16216 constant when the value of `tool_bar_button_relief' is negative.
16217
16218 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
16219
162202002-01-04 Richard M. Stallman <rms@gnu.org>
16221
16222 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
16223
162242002-01-03 Richard M. Stallman <rms@gnu.org>
16225
16226 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
16227 (Fkey_binding): Try the `keymap' property map first.
16228 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
16229 minor mode bindings.
16230
162312002-01-03 Kim F. Storm <storm@cua.dk>
16232
16233 * keyboard.c (read_key_sequence): Fix cast of submaps arg to bcopy.
16234
162352002-01-02 Richard M. Stallman <rms@gnu.org>
16236
16237 * keyboard.c (read_key_sequence): Handle the keymap property
16238 before minor mode maps.
16239
16240 * editfns.c (Fformat): Update thissize from field_width
16241 based on the actual width, in the string case.
16242
162432002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16244
16245 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
16246 when used as truth value to prevent gcc warnings.
16247
16248 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
16249 * w32proc.c: Include <config.h>.
16250
162512002-01-01 Andreas Schwab <schwab@suse.de>
16252
16253 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
16254 not EMACS_INT, to make them compatible with DEFVAR_INT.
16255 * lisp.h (max_specpdl_size): Adjust declaration.
16256
162572002-01-01 Richard M. Stallman <rms@gnu.org>
16258
16259 * print.c (print_object): Test print_escape_nonascii only for
16260 unibyte strings.
16261 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
16262 when outputting to a multibyte buffer.
16263
162642001-12-29 Richard M. Stallman <rms@gnu.org>
16265
16266 * print.c (print_object): In multibyte string, use hex escapes.
16267 Use octal only for unibyte strings.
16268 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
16269
16270 * lread.c (read_escape): New arg BYTEREP for reporting whether
16271 escape forces unibyte or multibyte.
16272 (read1): When reading a string, take note of that info.
16273
162742001-12-29 Ken Raeburn <raeburn@gnu.org>
16275
16276 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
16277 comparison to test lisp value returned by Fget.
16278
162792001-12-29 Richard M. Stallman <rms@gnu.org>
16280
16281 * lisp.h (max_specpdl_size): Add declaration.
16282
16283 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
16284
16285 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
16286 Handle modifier bits. Correct typo in error message.
16287
162882001-12-28 Richard M. Stallman <rms@gnu.org>
16289
16290 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
16291 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
16292 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16293 Update calls to Fdefine_abbrev.
16294 (write_abbrev): Update for changed data format.
16295 Don't list "system" abbrevs.
16296 (Fexpand_abbrev): Update use count with new data format.
16297 (describe_abbrev): Update for changed data format.
16298 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
16299
16300 * config.in (HAVE_MBSINIT): Add #undef.
16301
16302 * strftime.c (mbsinit): Define as no-op if not available.
16303
16304 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
16305 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
16306
16307 * keymap.c (Flookup_key): Error message if key has wrong data type.
16308 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
16309 (exclude_key): New variable.
16310
163112001-12-28 Gerd Moellmann <gerd@gnu.org>
16312
16313 * xterm.c (x_setup_relief_colors): Don't compute an image's
16314 background color if it doesn't have a Pixmap.
16315
16316 * xterm.c (notice_overwritten_cursor): Don't depend on
16317 output_cursor and updated_area. Compare pixel coordinates with
16318 window's cursor pixel coordinates.
16319 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
16320 Call notice_overwritten_cursor with new arg list.
16321 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
16322 unconditionally.
16323
16324 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
16325 height of the cursor line to the amount to scroll.
16326
163272001-12-27 Richard M. Stallman <rms@gnu.org>
16328
16329 * intervals.c (set_point_both): The position after an invisible,
16330 intangible character is not an acceptable stopping point.
16331
163322001-12-27 Ken Raeburn <raeburn@gnu.org>
16333
16334 * window.c (enlarge_window): In new preserve_before code, convert
16335 CURBEG from lisp object to integer before doing arithmetic.
16336
163372001-12-27 Richard M. Stallman <rms@gnu.org>
16338
16339 * bytecode.c (Fbyte_code): Undo previous change.
16340
163412001-12-26 Kim F. Storm <storm@cua.dk>
16342
16343 * keyboard.c (record_char): Ignore duplicate help-echo events only
16344 separated by mouse-movement. When tracking mouse, only record
16345 first and last mouse-movement event in same window.
16346 Don't record mouse-movement events in keyboard macros.
16347
163482001-12-25 Richard M. Stallman <rms@gnu.org>
16349
16350 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
16351 (Fenlarge_window): New arg PRESERVE_BEFORE.
16352
16353 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
16354 instead of Fstring_as_unibyte.
16355
163562001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16357
16358 The following changes remove mocklisp support:
16359
16360 * mocklisp.h, mocklisp.c: Files removed.
16361
16362 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
16363 `Qmocklisp' and `Qmocklisp_arguments'.
16364 Remove prototype of syms_of_mocklisp.
16365
16366 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
16367
16368 * callint.c: Do not include mocklisp.h.
16369 (Fcall_interactively): Do not test for mocklisp case.
16370
16371 * eval.c: Remove variables `Qmocklisp_arguments',
16372 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
16373 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
16374 Do not test for mocklisp case.
16375 (Fwhile): Remove unused variable `tem'.
16376 (syms_of_eval): Remove variable `moclisp-arguments'.
16377
16378 * data.c (wrong_type_argument): Remove mocklisp case.
16379
16380 * doc.c (Fdocumentation): Remove mocklisp case.
16381
16382 * emacs.c (main): Do not call syms_of_mocklisp.
16383
163842001-12-21 Richard M. Stallman <rms@gnu.org>
16385
16386 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
16387 to the left or to the right of the pointer, put it against
16388 the left screen edge.
16389
163902001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
16391
16392 * Makefile.in (distclean): Remove .gdbinit if we are building
16393 outside the source tree.
16394
163952001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
16396
16397 * w32.c (emacs_root_dir): New function.
16398
16399 * msdos.c (emacs_root_dir): New function.
16400
16401 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
16402 of the current drive as the fallback for default_directory.
16403
16404 * dired.c (file_name_completion): Run the elements of
16405 completion-ignored-extensions through ENCODE_FILE.
16406
16407 * lisp.h (scmp): Remove prototype, since it's now a static
16408 function private to dired.c.
16409
164102001-12-18 Richard M. Stallman <rms@gnu.org>
16411
16412 * dired.c (scmp): Function moved from minibuf.c.
16413 Delete multibyte handling--used only on encoded strings.
16414
16415 * minibuf.c (scmp): Function moved to dired.c.
16416
16417 * fns.c (merge): Add QUIT call.
16418
164192001-12-18 Dave Love <fx@gnu.org>
16420
16421 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
16422 language/georgian.el.
16423
164242001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
16425
16426 * Makefile.in (lisp, shortlisp): Synchronize with changes to
16427 lisp/Makefile.in:DONTCOMPILE.
16428
164292001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16430
16431 * xdisp.c (window_box_height): Do not return negative values.
16432 From Gerd Moellmann <gerd@gnu.org>.
16433
16434 * keyboard.c (head_table): Add missing braces around initializer.
16435
16436 * term.c (keys): Likewise.
16437
16438 * xfns.c (x_frame_parms, visual_classes): Likewise.
16439
164402001-12-17 Sam Steingold <sds@gnu.org>
16441
16442 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
16443 patch (COMPOSING_P, not COMPOSING).
16444
164452001-12-17 Richard M. Stallman <rms@gnu.org>
16446
16447 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
16448
16449 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
16450 before calling decode_coding.
16451
16452 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
16453
16454 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
16455 instead of only for COMPOSITION_DISABLED.
16456
164572001-12-16 Richard M. Stallman <rms@gnu.org>
16458
16459 * alloc.c (pure_alloc): After overflow, allocate just a small block.
16460
16461 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
16462
16463 * buffer.h (struct buffer): New field `display_error_modiff'.
16464 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
16465
16466 * window.c (Frecenter): Clear display_error_modiff field.
16467
16468 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
16469 Call redisplay_window, but not if display_error_modiff field says no.
16470 (redisplay_window_error): New function.
16471 (displayed_buffer): New variable.
16472 (redisplay_internal, redisplay_windows): Call the new functions
16473 instead of redisplay_window directly.
16474
164752001-12-15 Richard M. Stallman <rms@gnu.org>
16476
16477 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
16478
164792001-12-14 Andrew Innes <andrewi@gnu.org>
16480
16481 * makefile.w32-in (EMACSLOADPATH): Define.
16482 ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs.
16483 (bootstrap-temacs): Remove dependency on bootstrap-clean.
16484
164852001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
16486
16487 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
16488 parameter have a numeric value all the time.
16489
16490 * w32fns.c (x_report_frame_params): Likewise.
16491
164922001-12-12 Richard M. Stallman <rms@gnu.org>
16493
16494 * fileio.c (Fwrite_region): Doc fix.
16495
16496 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
16497 (redisplay_internal): Call clear_image_cache only for window terminals.
16498
164992001-12-12 Gerd Moellmann <gerd@gnu.org>
16500
16501 * xdisp.c (move_it_vertically_backward): Change heuristic
16502 for the case that we didn't move far enough initially.
16503
16504 * window.c (Frecenter): Simplify computation in the case of window
16505 system frames and ARG < 0; use window_box_height.
16506
165072001-12-11 Richard M. Stallman <rms@gnu.org>
16508
16509 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
16510 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
16511
165122001-12-11 Andrew Innes <andrewi@gnu.org>
16513
16514 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
16515 arg is negative.
16516
165172001-12-11 Richard M. Stallman <rms@gnu.org>
16518
16519 * m/hp800.h: Split the __hpux conditional into the parts
16520 that are right for GNU/Linux too and the parts that are not.
16521 Use the former if GNU_LINUX.
16522 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
16523
16524 * s/gnu-linux.h (GNU_LINUX): Defined.
16525
165262001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16527
16528 * macros.c, msdos.c, w16select.c: Change doc-string comments to
16529 `new style' [w/`doc:' keyword].
16530
165312001-12-10 Jason Rumney <jasonr@gnu.org>
16532
16533 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
16534 before using.
16535
165362001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16537
16538 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
16539 keyword].
16540
165412001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
16542
16543 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
16544
16545 * s/hpux10.h (srand48): Don't undefine.
16546
165472001-12-09 Jason Rumney <jasonr@gnu.org>
16548
16549 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
16550 Add comment to explain where the struct came from.
16551 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
16552 (add_menu_item): Process pop-up menus first to avoid memory leak.
16553 (add_menu_item, w32_menu_display_help): Use `help' field as
16554 Lisp_Object.
16555 (w32_free_submenu_strings): Only free owner-drawn strings.
16556
165572001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16558
16559 * COPYING: Moved back.
16560
16561 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
16562 Add parentheses around && within ||.
16563
16564 * indent.c (compute_motion): Likewise.
16565
16566 * intervals.c (merge_properties_sticky): Likewise.
16567
16568 * coding.c (setup_coding_system, shrink_encoding_region)
16569 (Fdecode_sjis_char): Likewise.
16570
165712001-12-07 Andreas Schwab <schwab@suse.de>
16572
16573 * xdisp.c (display_mode_element): Don't read past end of string if
16574 it ends with '%'.
16575
16576 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
16577 can hold.
16578
16579 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
16580 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
16581 type changed to Lisp_Object.
16582 (syms_of_data): DEFVAR_LISP them.
16583
165842001-12-07 Richard M. Stallman <rms@gnu.org>
16585
16586 * callproc.c (init_callproc): Set Vdata_directory based on the source
16587 location whenever Emacs was run uninstalled.
16588
165892001-12-06 Paul Eggert <eggert@twinsun.com>
16590
16591 * config.in (HAVE_WORKING_VFORK): New #undefs.
16592 * process.c (create_process):
16593 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
16594 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
16595 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
16596 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
16597 * m/intel386.h (HAVE_VFORK): Likewise.
16598 * m/mips-siemens.h (HAVE_VFORK): Likewise.
16599 * m/mips.h (HAVE_VFORK): Likewise.
16600 * s/freebsd.h (vfork): Remove #define.
16601 * s/lynxos.h (HAVE_VFORK): Remove #undef.
16602 * s/usg5-4-2.h: Fix comment about vfork.
16603
166042001-12-06 Richard M. Stallman <rms@gnu.org>
16605
16606 * s/hpux10.h (random): Add undef.
16607 (HAVE_RANDOM): Define it just once.
16608
166092001-12-06 Stefan Monnier <monnier@cs.yale.edu>
16610
16611 * eval.c: Undo last change: the standard syntax is not wanted.
16612
166132001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
16614
16615 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
16616 scroll bars of the frame before deleting the frame itself. If the
16617 frame has a widget, delete the frame with XtDestroyWidget, and do
16618 not call XDestroyWindow before that.
16619
166202001-12-06 Kim F. Storm <storm@cua.dk>
16621
16622 * xfns.c (x_report_frame_params): Return actual fringe widths.
16623
16624 * w32fns.c (x_report_frame_params): Return actual fringe widths.
16625
166262001-12-05 Andrew Innes <andrewi@gnu.org>
16627
16628 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
16629 excessively large.
16630
16631 * insdel.c (make_gap_larger): New function.
16632 (make_gap_smaller): New function.
16633 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
16634 Call make_gap_smaller if arg is negative.
16635
166362001-12-04 Stefan Monnier <monnier@cs.yale.edu>
16637
16638 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
16639 Pass a dummy argument when calling interrupt_signal.
16640 (parse_menu_item): Mark disabled items before checking for empty def.
16641 (read_char_minibuf_menu_prompt): Make safety more visible.
16642 (read_key_sequence): Add a `first_unbound' variable.
16643 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
16644 unbound prefix as soon as we can detect it.
16645
16646 * doc.c (Fsnarf_documentation): Add prototype.
16647 (get_doc_string): Handle negative arguments.
16648 (Fdocumentation): Use AREF and ASIZE.
16649 Move the calls to get_doc_string to a single place.
16650 Don't confuse an interactive-spec for a docstring reference.
16651 (Fdocumentation_property): Take advantage of the fact that
16652 get_doc_string now ignores the sign of the docstring position.
16653
16654 * eval.c: Use standard syntax for usage in docstrings.
16655
166562001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16657
16658 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
16659
166602001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16661
16662 * xterm.c (x_draw_image_relief): Use predefined macro instead of
16663 constant when the value of `tool_bar_button_relief' is negative.
16664
166652001-12-02 Richard M. Stallman <rms@gnu.org>
16666
16667 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
16668 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
16669
16670 * fileio.c (read_non_regular): Delete Fsignal call.
16671
166722001-12-01 Stefan Monnier <monnier@cs.yale.edu>
16673
16674 * lisp.h (run_hook_list_with_args): Undo last change.
16675
166762001-12-01 Gerd Moellmann <gerd@gnu.org>
16677
16678 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
16679
166802001-12-01 Jason Rumney <jasonr@gnu.org>
16681
16682 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
16683
16684 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
16685 [!WM_MOUSELEAVE]: Define.
16686
16687 * w32menu.c (current_popup_menu, get_menu_item_info):
16688 (set_menu_item_info): New vars.
16689 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
16690 (w32_menu_show): Set current_popup_menu.
16691 (add_menu_item): Allocate new strings for owner-drawn menu items
16692 and help strings.
16693 Use owner-draw for disabled menu items again.
16694 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
16695 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
16696
16697 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
16698 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
16699 <WM_EXITMENULOOP>: Free menu strings.
16700 <WM_MOUSELEAVE>: Stop tracking mouse.
16701 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
16702
16703 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
16704 and mouse face.
16705
167062001-12-01 Kim F. Storm <storm@cua.dk>
16707
16708 The following changes add left-fringe and right-fringe
16709 frame parameters to adjust fringe widths, or remove one or
16710 both fringes.
16711
16712 * frame.h (struct frame): Remove trunc_area_pixel_width and
16713 trunc_area_cols fields.
16714 (Qleft_fringe, Qright_fringe): Declare.
16715 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
16716
16717 * frame.c (Qleft_fringe, Qright_fringe): New vars.
16718 (syms_of_frame): Initialize them.
16719
16720 * window.c (coordinates_in_window): Handle separate left and right
16721 fringe widths.
16722
16723 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
16724 and fringe_cols fields.
16725 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
16726 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
16727 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
16728 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
16729 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
16730 (x_compute_fringe_widths): Add prototype.
16731
16732 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
16733 fill fringe evenly with small dashes.
16734 (x_draw_fringe_bitmap): Clear background if necessary. Align and
16735 clip the new ZV bitmap to avoid jitter between rows.
16736 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
16737 background. Don't draw fringe bitmaps if fringe width is zero.
16738 (x_compute_fringe_widths): New function.
16739 (x_new_font, x_set_window_size_1): Use it.
16740
16741 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
16742 (x_set_frame_parameters): Process `font' parameter before other
16743 parameters as fringe widths depend on it.
16744 (x_set_fringe_width): New function.
16745 (x_figure_window_size): Use x_compute_fringe_widths.
16746 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
16747 parameters.
16748
16749 * widget.c (set_frame_size): Use x_compute_fringe_widths.
16750 (EmacsFrameSetCharSize): Ditto.
16751
16752 * w32term.h: Merged changes from xterm.h.
16753 * w32term.c: Merged changes from xterm.c.
16754 * w32fns.c: Merged changes from xfns.c.
16755
167562001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16757
16758 * COPYING: Removed.
16759
167602001-11-29 Dave Love <fx@gnu.org>
16761
16762 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
16763 extra extra slot.
16764 (detect_coding_mask): Fix call of detect_coding_iso2022.
16765
167662001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16767
16768 * fileio.c (file-name-coding-system)
16769 (default-file-name-coding-system): Doc fix (links to referenced
16770 variables added).
16771
167722001-11-28 Stefan Monnier <monnier@cs.yale.edu>
16773
16774 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
16775 Add dummy uses of gcproN variables.
16776
16777 * category.c (describe_category, describe_category_1)
16778 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
16779 (syms_of_category): Don't defsubr Sdescribe_categories.
16780
167812001-11-28 Richard M. Stallman <rms@gnu.org>
16782
16783 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
16784
16785 * Makefile.in (lispdir): New variable, referring to build dir.
16786 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
16787
167882001-11-28 Andrew Innes <andrewi@gnu.org>
16789
16790 * w32menu.c (w32_menu_display_help): Actually add the new argument
16791 OWNER.
16792
167932001-11-28 Jason Rumney <jasonr@gnu.org>
16794
16795 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
16796 menu items. From David Ponce <dponce@wanadoo.fr>.
16797 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
16798 conditionally.
16799 (w32_menu_display_help): New argument OWNER. Rewritten to store a
16800 help event in the owner frame's keyboard buffer.
16801
16802 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
16803 (Fx_show_tip): Don't subtract last width from row width.
16804
16805 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
16806 (w32_read_socket): Use EQ to compare frames.
16807
168082001-11-28 Gerd Moellmann <gerd@gnu.org>
16809
16810 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
16811 OVERLAPS_P.
16812
168132001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16814
16815 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
16816 `gcpro3' and `gcpro4'.
16817
16818 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
16819
168202001-11-28 Stefan Monnier <monnier@cs.yale.edu>
16821
16822 * ccl.c: Use AREF and ASIZE.
16823
168242001-11-27 Stefan Monnier <monnier@cs.yale.edu>
16825
16826 * lisp.h (run_hook_list_with_args): Remove.
16827 (LIST_END_P): Fix call to wrong_type_argument.
16828 (make_fixnum_or_float): Use EMACS_INT rather than int.
16829
168302001-11-26 Stefan Monnier <monnier@cs.yale.edu>
16831
16832 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
16833 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
16834
16835 * eval.c: Use AREF and ASIZE.
16836 (Ffetch_bytecode): Add the file name to the error message.
16837
16838 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
16839 which match the end of the file-name.
16840 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
16841 is not a valid env var, but leave it as is instead.
16842
16843 * keymap.c (access_keymap): Handle t bindings like nil bindings.
16844 Make nil bindings in char-tables transparent.
16845 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
16846
168472001-11-26 Richard M. Stallman <rms@gnu.org>
16848
16849 * textprop.c (set_text_properties_1): Allow START, END in either order.
16850 Do nothing if range is empty.
16851
16852 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
16853
16854 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
16855 (clean): Not here.
16856
168572001-11-25 Stefan Monnier <monnier@cs.yale.edu>
16858
16859 * textprop.c (set_text_properties_1): Clearly mark that the
16860 interval should not be empty.
16861
16862 * intervals.c (graft_intervals_into_buffer):
16863 Don't call set_text_properties_1 on an empty interval.
16864
168652001-11-25 Richard M. Stallman <rms@gnu.org>
16866
16867 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
16868
16869 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
16870 don't lose the data in it.
16871
168722001-11-25 Juanma Barranquero <lektu@terra.es>
16873
16874 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
16875
16876 * buffer.c (Fkill_buffer): Likewise.
16877
16878 * print.c (temp_output_buffer_setup): Likewise.
16879
168802001-11-25 Stefan Monnier <monnier@cs.yale.edu>
16881
16882 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
16883
168842001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
16885
16886 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
16887 Niemitalo <kon@iki.fi>.
16888
168892001-11-25 Jason Rumney <jasonr@gnu.org>
16890
16891 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
16892
16893 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
16894 (Fx_show_tip): Block input during frame creation.
16895 (Fx_show_tip, Fx_hide_tip): Enable.
16896
168972001-11-24 Richard M. Stallman <rms@gnu.org>
16898
16899 * lread.c (Fload): Detect recursive load error for more than 3
16900 nestings of the same file.
16901 (Vrecursive_load_depth_limit): Variable deleted.
16902 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
16903
169042001-11-24 Jason Rumney <jasonr@gnu.org>
16905
16906 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
16907 mouse position if either left or top is not specified.
16908
16909 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
16910 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
16911 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
16912 (my_create_tip_window): Assign tip_window.
16913 (x_create_tip_frame): Use same defaults as X.
16914 (compute_tip_xy): Remove unused variable. Use full screen width.
16915 (Fx_show_tip): Do not double height. Call ShowWindow directly.
16916
16917 * w32term.c (x_after_update_window_line): Doc fix.
16918 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
16919 frames.
16920 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
16921
16922 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
16923 for all Windowed systems.
16924
169252001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
16926
16927 * msdos.c (IT_clear_screen): If the frame's faces are not yet
16928 realized, use the initial screen colors to clear the screen.
16929
169302001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16931
16932 * textprop.c (Fset_text_properties): Remove unused variables
16933 `unchanged', `prev_changed', `s' and `len'.
16934
16935 * search.c (Freplace_match): Remove unused variable `inslen'.
16936
16937 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
16938
169392001-11-22 Jason Rumney <jasonr@gnu.org>
16940
16941 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
16942 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
16943 (my_create_tip_window): New function.
16944 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
16945 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
16946
169472001-11-20 Jason Rumney <jasonr@gnu.org>
16948
16949 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
16950 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
16951
16952 * w32fns.c (Vw32_system_coding_system): Remove.
16953 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
16954
169552001-11-19 Stefan Monnier <monnier@cs.yale.edu>
16956
16957 * fileio.c (Fwrite_region): Move choose_write_coding_system to
16958 after build_annotations.
16959
16960 * syntax.c (describe_syntax): Add dummy arg.
16961 (describe_syntax_1): Update call to describe_vector.
16962
16963 * category.c (describe_category): Add dummy arg.
16964 (describe_category_1): Update call to describe_vector.
16965
16966 * keymap.c (Fdescribe_vector): Add `describer' parameter.
16967 (describe_command, describe_translation): Add dummy second param.
16968 (describe_map): Call elt_describer with two arguments.
16969 (describe_vector_princ): Add `fun' parameter.
16970 Call it instead of the hardcoded `princ'.
16971 (describe_vector): Add arg `args'.
16972 Pass it as a new second argument to elt_describer.
16973
16974 * keymap.h (describe_vector): Update prototype.
16975
16976 * frame.c: Don't include keymap.h any more.
16977 (keys_of_frame): Remove.
16978
16979 * lisp.h (keys_of_frame): Remove declaration.
16980
16981 * emacs.c (main): Don't call `keys_of_frame' any more.
16982
169832001-11-14 Andreas Schwab <schwab@suse.de>
16984
16985 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
16986 if defined, 0 otherwise.
16987 (MAP_FAILED): Define if not defined and use it to test mmap failure.
16988 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
16989
169902001-11-19 Richard M. Stallman <rms@gnu.org>
16991
16992 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
16993
169942001-11-18 Jason Rumney <jasonr@gnu.org>
16995
16996 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
16997 (x_draw_bar_cursor): If the background color of the glyph under
16998 the cursor equals the frame's cursor color, use the glyph's
16999 foreground color for drawing the bar cursor.
17000 (x_after_update_window_line): Clear internal border in different
17001 circumstances.
17002 (w32_set_vertical_scroll_bar): Check for width and height > 0.
17003 (w32_draw_relief_rect): Correct relief by 1 pixel.
17004 (x_set_glyph_string_background_width):
17005 Set extends_to_end_of_line_p if the row's fill_line_p is set and
17006 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
17007 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
17008 if cursor_in_non_selected_windows is false.
17009 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
17010 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
17011 Notice if cursor gets overwritten.
17012 (notice_overwritten_cursor): Renamed from
17013 note_overwritten_text_cursor. Rewritten to take glyph widths
17014 into account, and to take X positions as parameters.
17015 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
17016 around call to x_draw_glyphs.
17017 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
17018 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
17019 color to use for image glyph reliefs.
17020 (x_draw_image_relief): Accept zero tool_bar_button_relief.
17021 (glyph_rect): Remove unused variable `area'.
17022
17023 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
17024 some items.
17025 (x_set_internal_border_width): Set frame garbaged when window
17026 doesn't exist yet.
17027 (Fx_create_frame): Accept zero tool_bar_button_relief.
17028 (x_clear_image_1, four_corners_best, image_background)
17029 (image_background_transparent): New functions.
17030 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
17031 (gs_format): Add `:background' entry.
17032 (lookup_image): Set IMG's background color if specified.
17033 (pbm_load, xbm_load_image, png_load): Set IMG's background field
17034 when appropriate.
17035 (x_clear_image_1): Reset `background_valid' and
17036 `background_transparent_valid' fields.
17037 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
17038 calculating it here. Set IMG's background_transparent field.
17039 (enum xpm_keyword_index): Add XPM_BACKGROUND.
17040 (enum png_keyword_index): Add PNG_BACKGROUND.
17041 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
17042 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
17043 (enum gif_keyword_index): Add GIF_BACKGROUND.
17044 (enum gs_keyword_index): Add GS_BACKGROUND.
17045 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
17046 Pre-calculate image background color where necessary.
17047 (x_create_x_image_and_pixmap, xbm_load, gs_load):
17048 Use display info's n_cbits entry for screen depth.
17049 (Fx_show_tip): Remove unused variables `buffer', `top',
17050 `left', `max_width' and `max_height'.
17051
17052 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
17053
170542001-11-18 Gerd Moellmann <gerd@gnu.org>
17055
17056 * puresize.h (BASE_PURESIZE): Increase to 750000.
17057
170582001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17059
17060 * frame.c (Fframe_live_p): Doc fix.
17061
170622001-11-18 Richard M. Stallman <rms@gnu.org>
17063
17064 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
17065 (message_dolog_marker3): New static variables hold three markers.
17066 (syms_of_xdisp): Initialize and staticpro them.
17067 (message_dolog): Use message_dolog_marker1..3 instead of
17068 allocating markers each time. Unchain them when done.
17069
170702001-11-17 Richard M. Stallman <rms@gnu.org>
17071
17072 * doc.c (Fsnarf_documentation): Doc fix.
17073
170742001-11-17 Andreas Schwab <schwab@suse.de>
17075
17076 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
17077
170782001-11-17 Richard M. Stallman <rms@gnu.org>
17079
17080 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
17081
170822001-11-17 Jason Rumney <jasonr@gnu.org>
17083
17084 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
17085
170862001-11-17 Gerd Moellmann <gerd@gnu.org>
17087
17088 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
17089 with invalid position.
17090
170912001-11-16 Richard M. Stallman <rms@gnu.org>
17092
17093 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
17094
17095 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
17096 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
17097 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
17098
17099 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
17100
171012001-11-16 Stefan Monnier <monnier@cs.yale.edu>
17102
17103 * fileio.c (build_annotations): Split off the tail.
17104 (build_annotations_2): New fun. Extracted from build_annotations.
17105 (Fwrite_region): Split the call to build_annotations into two
17106 calls to build_annotations and build_annotations_2.
17107
171082001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17109
17110 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
17111 clear_waiting_for_input with argument.
17112
17113 * xterm.h (x_update_cursor): Remove duplicated prototype.
17114
17115 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
17116
17117 * xterm.c (waiting_for_input): Remove unnecessary declaration.
17118
17119 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
17120
171212001-11-16 Stefan Monnier <monnier@cs.yale.edu>
17122
17123 * fileio.c (choose_write_coding_system): New fun, extracted
17124 from Fwrite_region.
17125 (Fwrite_region): Use it.
17126
17127 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
17128 (funcall_lambda, run_hook_with_args): Make static and add prototype.
17129 (ml_apply, find_handler_clause): Add prototype.
17130
171312001-11-16 Eli Zaretskii <eliz@gnu.org>
17132
17133 * config.in: Add #undef HAVE_COFF_H.
17134
17135 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
17136 Required for ISC 4.1.
17137
171382001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
17139
17140 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
17141 Andrew Wiseman <a.wiseman@btclick.com>.
17142
171432001-11-16 Kim F. Storm <storm@cua.dk>
17144
17145 The following changes are made to clean up the various internal
17146 references to the fringes to actually use the term `fringe' for
17147 them. Previously, they were called `flags areas', `bitmap areas',
17148 `left/right side of windows', or implicitly as `flags' or
17149 `bitmaps':
17150
17151 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
17152 Comments fixed. Use renamed symbols.
17153
17154 * dispnew.c: Comment fix. Use renamed symbols.
17155
17156 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
17157 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
17158 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
17159
17160 * msdos.c: Comment fix.
17161
17162 * w32fns.c: Use renamed symbols.
17163
17164 * w32term.c: Comment fixes. Use renamed symbols.
17165 (fringe_bitmap_type): Renamed from bitmap_type.
17166 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
17167 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
17168 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
17169
17170 * w32term.h: Comment fixes. Use renamed symbols.
17171 (fringes_extra): Renamed from flags_areas_extra.
17172 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
17173 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
17174 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
17175 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
17176 (FRAME_X_LEFT_FRINGE_WIDTH):
17177 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
17178 (FRAME_X_RIGHT_FRINGE_WIDTH):
17179 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
17180
17181 * widget.c: Use renamed symbols.
17182
17183 * window.c: Comment fixes. Use renamed symbols.
17184 (coordinates-in-window-p): Doc fix.
17185
17186 * xdisp.c: Comment fixes. Use renamed symbols.
17187
17188 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
17189
17190 * xfns.c: Use renamed symbols.
17191
17192 * xterm.c: Comment fixes. Use renamed symbols.
17193 (fringe_bitmap_type): Renamed from bitmap_type.
17194 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
17195 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
17196 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
17197
17198 * xterm.h: Comment fixes. Use renamed symbols.
17199 (fringes_extra): Renamed from flags_areas_extra.
17200 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
17201 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
17202 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
17203 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
17204 (FRAME_X_LEFT_FRINGE_WIDTH):
17205 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
17206 (FRAME_X_RIGHT_FRINGE_WIDTH):
17207 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
17208
172092001-11-15 Jason Rumney <jasonr@gnu.org>
17210
17211 * w32menu.c (add-menu-item): Make help_echo and radio buttons
17212 work for most menu items. From David Ponce
17213 <david.ponce@wanadoo.fr>.
17214
172152001-11-15 Gerd Moellmann <gerd@gnu.org>
17216
17217 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
17218 Some x_set_* function expect to be called even if old and new
17219 value are equal.
17220
17221 * xdisp.c (build_desired_tool_bar_string): Accept zero
17222 tool_bar_button_relief.
17223
17224 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
17225
17226 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
17227
17228 * xterm.c (x_draw_bar_cursor): If the background color of the
17229 glyph under the cursor equals the frame's cursor color, use
17230 the glyph's foreground color for drawing the bar cursor.
17231
17232 * dispnew.c (direct_output_forward_char): Fix character/byte
17233 position comparison.
17234
172352001-11-15 Miles Bader <miles@gnu.org>
17236
17237 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
17238 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
17239 Update arguments to find_field.
17240 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
17241 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
17242 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
17243 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
17244
172452001-11-14 Richard M. Stallman <rms@gnu.org>
17246
17247 * editfns.c (Fpropertize): Allow call with 1 arg.
17248
17249 * dispextern.h (image_background, image_background_transparent):
17250 Conditionalize on HAVE_X_WINDOWS.
17251
172522001-11-13 Richard M. Stallman <rms@gnu.org>
17253
17254 * print.c (Fprin1_to_string): Doc fix.
17255
17256 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
17257
17258 * floatfns.c (Fceiling, Ffloor): Doc fixes.
17259
17260 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
17261
17262 * fileio.c (Ffile_accessible_directory_p): Doc fix.
17263
17264 * eval.c (syms_of_eval): Doc fix.
17265
17266 * coding.c (syms_of_coding): Doc fix.
17267
17268 * doc.c (Fsnarf_documentation): Doc fix.
17269
17270 * dispnew.c (syms_of_display): Doc fix.
17271
17272 * category.c (Fget_unused_category): Doc fix.
17273
17274 * buffer.c (syms_of_buffer): Doc fixes.
17275
172762001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
17277
17278 * print.c (prin1, print): Doc fix.
17279
172802001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17281
17282 * fontset.h: Remove declarations of variables
17283 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
17284
17285 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
17286 `Vclip_large_size_font'.
17287
172882001-11-13 Jason Rumney <jasonr@gnu.org>
17289
17290 * w32fns.c: Doc fix.
17291
172922001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17293
17294 * xfaces.c (Fface_attributes_as_vector): Doc fix.
17295
17296 * fns.c: Doc fix.
17297
17298 * emacs.c: Doc fix.
17299
17300 * coding.c: Doc fix.
17301
17302 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
17303 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
17304 `new style' [w/`doc:' keyword].
17305
173062001-11-12 Richard M. Stallman <rms@gnu.org>
17307
17308 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
17309 LeaveNotify events. Only FocusIn and FocusOut do that now.
17310 (x_display_and_set_cursor): Do display hollow cursors in active
17311 minibuffer windows when they are not selected.
17312
173132001-11-12 Jason Rumney <jasonr@gnu.org>
17314
17315 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
17316 * w32term.c: Change doc-string comments to `new style'
17317 [w/`doc:' keyword]. Doc fixes.
17318
17319 * w32fns.c: Don't define max.
17320 (Fx_open_connection): Only execute once.
17321
173222001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17323
17324 * ccl.c: Change macros to use do-while block instead of if-else.
17325 Use braces to follow GNU Coding Standards.
17326
173272001-11-11 Richard M. Stallman <rms@gnu.org>
17328
17329 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
17330
17331 * lread.c (read_escape): Use end_of_file_error for reporting eof.
17332
17333 * insdel.c (replace_range): Use adjust_markers_for_replace
17334 instead of adjust_markers_for_delete and adjust_markers_for_insert.
17335
17336 * intervals.h (set_text_properties, set_text_properties_1): Declare.
17337
17338 * textprop.c (set_text_properties_1): New subroutine
17339 broken out of set_text_properties.
17340 (set_text_properties): Use set_text_properties_1.
17341
17342 * intervals.c (graft_intervals_into_buffer):
17343 Use set_text_properties_1 to clear out properties.
17344
17345 * search.c (Freplace_match): Use replace_range to insert
17346 and delete. Don't request property inheritance from
17347 surrounding text.
17348
173492001-11-10 Jason Rumney <jasonr@gnu.org>
17350
17351 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
17352 vertical fonts. Allow them if face name is explicitly specified.
17353 Do not give up if we find a font that cannot be converted to an xlfd.
17354
173552001-11-10 Gerd Moellmann <gerd@gnu.org>
17356
17357 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
17358 instead of malloc/free.
17359
173602001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17361
17362 * xfaces.c (merge_face_vectors): Use braces to follow GNU
17363 Coding Standards.
17364 (Finternal_set_lisp_face_attribute): Likewise.
17365
17366 * buffer.c (Fbury_buffer): Likewise.
17367
17368 * indent.c (current_column_1): Remove unused variable `prev_col'.
17369
17370 * coding.c (encode_coding): Use precomputed value of `src'.
17371 (encode_coding): Remove unused variable `src_end'.
17372 (code_convert_region): Remove unused variables `count'.
17373
173742001-11-07 Jason Rumney <jasonr@gnu.org>
17375
17376 * w32term.c (x_display_and_set_cursor): Do not move system caret
17377 if cursor_glyph is NULL.
17378
173792001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17380
17381 * keymap.c (access_keymap): Fix compilation error.
17382
173832001-11-07 Miles Bader <miles@gnu.org>
17384
17385 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
17386
173872001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17388
17389 * intervals.c (graft_intervals_into_buffer):
17390 Remove #ifdef'd-out code.
17391 (graft_intervals_into_buffer): Remove unused variable `middle'.
17392
17393 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
17394 code (eval-current-buffer).
17395 Change doc-string comments to `new style' [w/`doc:' keyword].
17396
173972001-11-06 Richard M. Stallman <rms@gnu.org>
17398
17399 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
17400
174012001-11-06 Stefan Monnier <monnier@cs.yale.edu>
17402
17403 * lread.c (read1): Fix behavior with nested backquoting.
17404
17405 * keyboard.c (make_lispy_event): Check integerness and fix
17406 Lisp_Object/int mixup.
17407
174082001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17409
17410 * fns.c (copy_hash_table): Remove unused variable `v'.
17411
17412 * fontset.c (fontset_font_pattern): Remove unused variable
17413 `family_registry'.
17414
17415 * indent.c (current_column_1): Remove unused variable `prev_col'.
17416
174172001-11-05 Richard M. Stallman <rms@gnu.org>
17418
17419 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
17420
17421 * buffer.c (Fkill_buffer): Don't delete auto save file
17422 if buffer is modified.
17423
174242001-11-05 Andrew Innes <andrewi@gnu.org>
17425
17426 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
17427 CHECK_NUMBER_CDR.
17428
174292001-11-05 Richard M. Stallman <rms@gnu.org>
17430
17431 * unexelf.c (unexec): Minor changes; clean up comments.
17432
174332001-11-05 Sam Steingold <sds@gnu.org>
17434
17435 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
17436
174372001-11-05 Andreas Schwab <schwab@suse.de>
17438
17439 * sound.c (sound_perror): Save errno from being clobbered.
17440
174412001-11-05 Dale Hagglund <rdh@yottayotta.com>
17442
17443 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
17444 the program image directly.
17445
174462001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17447
17448 * buffer.h (Fbuffer_local_value): Add prototype.
17449
174502001-11-04 Richard M. Stallman <rms@gnu.org>
17451
17452 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
17453 and CHECK_BUFFER.
17454
17455 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
17456 (record_char): Likewise.
17457
17458 * keyboard.c (make_lispy_event): Don't insist a drag event must
17459 move to a different buffer position. Instead, check for moving at
17460 least double_click_fuzz.
17461
17462 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
17463
17464 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
17465
17466 * indent.c (current_column_1, Fmove_to_column): Separate the code
17467 for display-table glyphs from the code for buffer text, to fix
17468 bugs in the former.
17469
174702001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
17471
17472 * buffer.c (Fbuffer_local_value): New function.
17473 (syms_of_buffer): Defsubr it.
17474
17475 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
17476 value of `cursor-in-non-selected-windows'.
17477
17478 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
17479 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
17480 (syms_of_xdisp): Initialize it.
17481
174822001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17483
17484 * xfns.c (Fx_create_frame): Doc fix.
17485
17486 * coding.c: Change doc-string comments to `new style' [w/`doc:'
17487 keyword].
17488
17489 * eval.c (top_level_value, top_level_set): Remove commented and
17490 #ifdef'd-out code.
17491 (Fdefvar): Fix usage in doc-string.
17492
174932001-11-03 Richard M. Stallman <rms@gnu.org>
17494
17495 * xfns.c: Include unistd.h, if it exists.
17496
17497 * editfns.c: Move the include of ctype.h after unistd.h.
17498
17499 * gmalloc.c: Test BROKEN_PROTOTYPES.
17500
175012001-11-03 Ken Raeburn <raeburn@gnu.org>
17502
17503 * lisp.h (CHECK_STRING_CAR): New macro.
17504 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
17505 treating XCAR and XCDR as lvalues.
17506 (openp): Use CHECK_STRING_CAR.
17507 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
17508
175092001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
17510
17511 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
17512 (SIGMASKTYPE): Define.
17513
17514 * syssignal.h (sigunblock): Don't define if already defined.
17515
175162001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17517
17518 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
17519 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
17520 Fix typos in comments.
17521
17522 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
17523 and #ifdef'd-out code.
17524 Fix and reindent comments.
17525
17526 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
17527
17528 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
17529 argument `i' in macros.
17530
17531 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
17532 `i' in macros.
17533
17534 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
17535 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
17536 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
17537 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
17538 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
17539 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
17540 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
17541 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
17542 in macros.
17543
17544 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
17545 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
17546 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
17547 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
17548 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
17549 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
17550 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
17551 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
17552 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
17553 (remove unused second argument).
17554
175552001-11-02 Stefan Monnier <monnier@cs.yale.edu>
17556
17557 * syntax.c (describe_syntax): New wrapper.
17558 (Finternal_describe_syntax_value): Rename from describe_syntax.
17559 Don't insert space at front and \n at the end.
17560 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
17561
17562 * regex.c (re_wctype): Try to fix some warnings.
17563 (regcomp, regexec): Don't forget the __restrict.
17564
175652001-11-02 Richard M. Stallman <rms@gnu.org>
17566
17567 * textprop.c (Fget_char_property): Doc fix.
17568
175692001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17570
17571 * process.c (Fstart_process): Add usage to doc-string.
17572
17573 * data.c (Fsetq_default): Ditto.
17574
17575 * callint.c (Finteractive): Ditto.
17576
175772001-11-01 Stefan Monnier <monnier@cs.yale.edu>
17578
17579 * macros.c: Don't include keymap.h any more.
17580
175812001-11-01 Richard M. Stallman <rms@gnu.org>
17582
17583 * data.c (Fmake_local_variable): Doc fix.
17584
17585 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
17586 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
17587
17588 * keymap.c (Fdescribe_buffer_bindings): Print character property
17589 bindings along with or instead of the buffer local map.
17590 Make the overriding maps override what they should.
17591
175922001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17593
17594 * window.c (grow_mini_window): Fix typo in comment.
17595
175962001-11-01 Gerd Moellmann <gerd@gnu.org>
17597
17598 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
17599 (XTset_vertical_scroll_bar): Likewise.
17600
17601 * xfns.c (x_build_heuristic_mask): Use four_corners_best
17602 instead of IMAGE_BACKGROUND.
17603
17604 * xfns.c (four_corners_best): Reindent.
17605
17606 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
17607 Handle :box so that it is possible to specify sexprs.
17608
176092001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
17610
17611 * s/hpux11.h: New file.
17612
176132001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17614
17615 * emacs.c (USAGE1): Show command line option --no-window-system
17616 instead of --no-windows in usage.
17617 (standard_args): Rename --no-windows to --no-window-system.
17618 (bug_reporting_address): Follow Emacs coding conventions.
17619
17620 * eval.c (Fcommandp): Doc fix.
17621 Change doc-string comments to `new style' [w/`doc:' keyword].
17622
17623 * frame.c (Fframe_live_p): Doc fix.
17624
17625 * buffer.c (selective-display-ellipses): Doc fix.
17626
176272001-10-31 Gerd Moellmann <gerd@gnu.org>
17628
17629 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
17630
17631 * xfaces.c (realize_x_face): If C is not a single-byte character,
17632 set the face's colors_copied_bitwise_p instead of the defaulted_p
17633 members which have a different meaning.
17634 (free_face_colors): Do nothing for a face whose colors have been
17635 copied bitwise.
17636
17637 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
17638
176392001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17640
17641 * marker.c, mocklisp.c: Change doc-string comments to `new style'
17642 [w/`doc:' keyword].
17643
176442001-10-31 Gerd Moellmann <gerd@gnu.org>
17645
17646 * fns.c (require_unwind): Return Lisp_Object.
17647
176482001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17649
17650 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
17651 (last-input-char): Revert doc-string to be the same as the
17652 doc-string of `last-input-event'.
17653
17654 * xdisp.c: Fix typos in comments.
17655
176562001-10-31 Gerd Moellmann <gerd@gnu.org>
17657
17658 * window.c (grow_mini_window): Handle case that the root
17659 window is already smaller than the nominal mininum height.
17660
176612001-10-30 Stefan Monnier <monnier@cs.yale.edu>
17662
17663 * emacs.c (main): Don't call keys_of_macros any more.
17664
17665 * lisp.h (keys_of_macros): Remove.
17666
17667 * macros.c (keys_of_macros): Remove.
17668
17669 * xfaces.c (Fface_attribute_relative_p): Declare args.
17670
176712001-10-30 Jason Rumney <jasonr@gnu.org>
17672
17673 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
17674 (enum_font_cb2): Ignore fonts with vertical orientation.
17675
176762001-10-30 Richard M. Stallman <rms@gnu.org>
17677
17678 * keyboard.c (Finput_pending_p): Doc fix.
17679
176802001-10-30 Gerd Moellmann <gerd@gnu.org>
17681
17682 * xterm.c (x_after_update_window_line): Don't run the code
17683 clearing in borders for rows whose visible height is 0.
17684
17685 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
17686 resized_p flag is set. If not set, use the much less flickering
17687 method previously used.
17688
17689 * dispnew.c (change_frame_size_1): Set frame's resized_p.
17690
17691 * frame.h (struct frame) <resized_p>: New member.
17692
17693 * lread.c (to_multibyte): Ensure read_buffer is at least twice
17694 as large as the number of bytes to convert.
17695
17696 * lread.c (to_multibyte): New function.
17697 (read1): Use it.
17698
176992001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
17700
17701 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
17702
177032001-10-30 Gerd Moellmann <gerd@gnu.org>
17704
17705 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
17706 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
17707 if the row's fill_line_p is set and drawing the last glyph with
17708 DRAW_IMAGE_{RAISED,SUNKEN}.
17709
17710 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
17711
177122001-10-29 Stefan Monnier <monnier@cs.yale.edu>
17713
17714 * xmenu.c: Include coding.h and charset.h.
17715 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
17716 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
17717 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
17718 Explicitly set wv->help. Use `TRUE' rather than `True'.
17719 (menu_help_callback): Use empty_string.
17720
17721 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
17722 (Fx_popup_dialog): Explicitly init f.
17723 (w32_menu_display_help): Use empty_string.
17724
177252001-10-29 Richard M. Stallman <rms@gnu.org>
17726
17727 * fns.c (Frequire): Detect recursive try to require the same
17728 feature 3 or more levels deep, and get error.
17729 (require_unwind): New subroutine.
17730 (require_nesting_list): New variable.
17731 (syms_of_fns): Init and staticpro it.
17732
17733 * print.c (print_object): Clarify indication of insertion type.
17734
177352001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
17736
17737 * coding.c (syms_of_coding): Document that locale-coding-system is
17738 used for decoding input on X.
17739
17740 * window.c (Fscroll_left, Fscroll_right): Doc fix.
17741
177422001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17743
17744 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
17745 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
17746
177472001-10-29 Gerd Moellmann <gerd@gnu.org>
17748
17749 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
17750 use NO_CURSOR if cursor_in_non_selected_windows is false.
17751
17752 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
17753 the slant attribute if FRAME is t.
17754
17755 * xfns.c (x_set_internal_border_width): Set frame garbaged
17756 when X window doesn't exist yet.
17757
17758 * xterm.c (x_after_update_window_line): Clear internal border
17759 in different circumstances.
17760
17761 * xterm.c (XTread_socket) <KeyPress>: Don't use
17762 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
17763 <handa@etl.go.jp>.
17764
177652001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
17766
17767 * m/ibms390.h: New file. From Adam Thornton
17768 <athornton@sinenomine.net>.
17769
177702001-10-28 Gerd Moellmann <gerd@gnu.org>
17771
17772 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
17773
17774 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
17775 a loop counter.
17776
177772001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17778
17779 * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
17780
17781 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
17782 keyword].
17783 Fix typos in comments.
17784
17785 * emacs.c (bug_reporting_address): New function.
17786 Use it when displaying usage message.
17787
17788 * minibuf.c (read_minibuf): Remove unused external declaration of
17789 variable `Qread_only'.
17790
17791 * keymap.c (access_keymap): Remove unused variable `charset'.
17792
177932001-10-28 Miles Bader <miles@gnu.org>
17794
17795 * xfaces.c (merge_face_heights): Handle TO being relative as well.
17796 Remove #ifdef'd-out code.
17797 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
17798 (syms_of_xfaces): Initialize them.
17799
178002001-10-27 Jason Rumney <jasonr@gnu.org>
17801
17802 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
17803 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
17804 position using the system caret.
17805
17806 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
17807 (w32_system_caret_height, w32_system_caret_x)
17808 (w32_system_caret_y): New variables for tracking system caret.
17809 (w32_initialize): Initialize them.
17810 (x_display_and_set_cursor): Make system caret follow the active cursor.
17811
17812 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
17813 New messages types.
17814
17815 * w32term.c (note_mouse_highlight): Clear old help_echo.
17816
178172001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17818
17819 * xterm.c: Fix typo in a comment.
17820
17821 * emacs.c: Fix typos in comments.
17822 Remove unnecessary spaces.
17823 Change doc-string comments to `new style' [w/`doc:' keyword].
17824 (USAGE2): Fix typos in usage string.
17825
17826 * xterm.c: Fix typo in a comment.
17827
17828 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
17829 emacs.c.
17830
178312001-10-27 Gerd Moellmann <gerd@gnu.org>
17832
17833 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
17834 instead of 1/2 line_height in the heuristic for skipping
17835 farther backward when target_y was not reached.
17836
17837 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
17838 Display errno only if non-zero.
17839 (sound_warning): New function.
17840 (vox_configure): Don't treat failing to set sample rate as error.
17841 (various places): Improve error messages.
17842
178432001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
17844
17845 * fileio.c (Faccess_file): Run the argument filename through
17846 Fexpand_file_name, before using it.
17847
17848 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
17849 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
17850
178512001-10-26 Gerd Moellmann <gerd@gnu.org>
17852
17853 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
17854
17855 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
17856 Fix clearing in the case of scroll bars on the right.
17857
178582001-10-26 Juanma Barranquero <lektu@terra.es>
17859
17860 * w32gui.h (XImage): Add a dummy typedef.
17861
178622001-10-26 Gerd Moellmann <gerd@gnu.org>
17863
17864 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
17865
178662001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
17867
17868 * frame.c (Fframe_parameter): Fix last change.
17869
17870 * fileio.c: Revert last change (which removed old commented-out
17871 version of expand-file-name). Add a comment that explains why
17872 this old version should not be removed.
17873
178742001-10-25 Gerd Moellmann <gerd@gnu.org>
17875
17876 * frame.c (Fframe_parameter): Fix a bug whereby some
17877 ``artificial'' frame parameters, like `minibuffer' were not
17878 obtained by calling Fframe_parameters.
17879
17880 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
17881 cursor differently.
17882
17883 * xdisp.c (move_it_vertically_backward): Compute line height
17884 differently. Add heuristic to try to be more compatible to 20.x.
17885
178862001-10-25 Stefan Monnier <monnier@cs.yale.edu>
17887
17888 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
17889
17890 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
17891 boolean.
17892
178932001-10-25 Miles Bader <miles@gnu.org>
17894
17895 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
17896 BG is a pointer to a structure, not a structure.
17897 (gif_format, png_format): Add missing commas.
17898
178992001-10-24 Richard M. Stallman <rms@gnu.org>
17900
17901 * xfaces.c (Fface_attributes_as_vector): New function.
17902 (syms_of_xfaces): Defsubr it.
17903
179042001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17905
17906 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
17907 variable `area'.
17908
179092001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17910
17911 * search.c (scan_newline): Remove unused variable `selective_display'.
17912
179132001-10-25 Miles Bader <miles@gnu.org>
17914
17915 * dispextern.h (struct image): Add `background',
17916 `background_valid', and `background_transparent' fields.
17917 (image_background, image_background_transparent): New declarations.
17918 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
17919 * xfns.c (image_background, image_background_transparent)
17920 (four_corners_best): New functions.
17921 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
17922 (gs_format): Add `:background' entry.
17923 (lookup_image): Set IMG's background color if specified.
17924 (pbm_load, xbm_load_image, png_load): Set IMG's background field
17925 when appropriate.
17926 (x_clear_image_1): Reset `background_valid' and
17927 `background_transparent_valid' fields.
17928 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
17929 calculating it here. Set IMG's background_transparent field.
17930 (enum xpm_keyword_index): Add XPM_BACKGROUND.
17931 (enum png_keyword_index): Add PNG_BACKGROUND.
17932 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
17933 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
17934 (enum gif_keyword_index): Add GIF_BACKGROUND.
17935 (enum gs_keyword_index): Add GS_BACKGROUND.
17936 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
17937 Pre-calculate image background color where necessary.
17938 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
17939 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
17940 color to use for image glyph reliefs.
17941
179422001-10-24 Gerd Moellmann <gerd@gnu.org>
17943
17944 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
17945 in full-width rows.
17946
17947 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
17948 Fix clearing of area not covered by scroll bar.
17949
179502001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17951
17952 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
17953 and `real_start'.
17954 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
17955 (glyph_rect): Remove unused variable `area'.
17956
179572001-10-24 Gerd Moellmann <gerd@gnu.org>
17958
17959 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
17960
17961 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
17962 (row_containing_pos): Take additional argument DY.
17963 Treat rows ending in middle of char differently.
17964 (display_line): Handle tabs on window systems differently.
17965
17966 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
17967 with additional argument.
17968
17969 * dispextern.h (row_containing_pos): Adjust prototype.
17970
17971 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
17972 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
17973 (try_window_id, try_window_reusing_current_matrix)
17974 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
17975 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
17976
179772001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17978
17979 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
17980 gnuemacs).
17981 (HAVE_BOXES): Fix typo in comment.
17982 (push_menu_pane): Fix typo in comment.
17983
17984 * xdisp.c: (display_prop_string_p): Remove unused local declaration
17985 of `Qwhen'.
17986 (single_display_prop_string_p): Remove unused local declarations
17987 of `Qwhen' and `Qmargin'.
17988 (string_buffer_position): Remove unused variable `around'.
17989 (store_frame_title): Remove unused variable `width'.
17990
17991 * window.c: Don't define max.
17992 (coordinates_in_window): Remove unused variable `uy'.
17993
17994 * widget.c: Don't define max.
17995
17996 * process.c: Don't define max.
17997 (create_process): Remove unused variable `buffer'.
17998
179992001-10-23 Gerd Moellmann <gerd@gnu.org>
18000
18001 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
18002
180032001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
18004
18005 * xfaces.c (Finternal_set_lisp_face_attribute)
18006 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
18007 frame is on a windowed display.
18008
180092001-10-23 Gerd Moellmann <gerd@gnu.org>
18010
18011 * dispnew.c (sync_window_with_frame_matrix_rows):
18012 Fix handling of windows which aren't full-width, fix handling
18013 of marginal areas.
18014
18015 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
18016
180172001-10-23 Andreas Schwab <schwab@suse.de>
18018
18019 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
18020 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
18021
180222001-10-23 Gerd Moellmann <gerd@gnu.org>
18023
18024 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
18025 REAL_END. Notice if cursor gets overwritten.
18026 (notice_overwritten_cursor): Take X positions as parameters.
18027 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
18028 around call to x_draw_glyphs.
18029
180302001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18031
18032 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
18033 instead of C) and usage.
18034
18035 * editfns.c (char-to-string): Fix argument names (use CHAR instead
18036 of C) and usage.
18037
18038 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
18039 `left', `max_width' and `max_height'.
18040
180412001-10-23 Gerd Moellmann <gerd@gnu.org>
18042
18043 * xdisp.c (display_line): For a tab continued to the next line,
18044 set row's ends_in_middle_of_char_p.
18045
180462001-10-22 Gerd Moellmann <gerd@gnu.org>
18047
18048 * xdisp.c (display_line): Fix computation of continuation lines
18049 width for TABs.
18050
180512001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18052
18053 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
18054 `Qlaplace'.
18055
18056 * fileio.c: Remove unused code.
18057
180582001-10-22 Miles Bader <miles@gnu.org>
18059
18060 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
18061 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
18062 Remove `DOC_STRINGS_IN_COMMENTS' cases.
18063
180642001-10-21 Jason Rumney <jasonr@gnu.org>
18065
18066 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
18067
180682001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
18069
18070 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
18071 (Finsert_string): Avoid the multi-line string literals warning.
18072
180732001-10-22 Miles Bader <miles@gnu.org>
18074
18075 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
18076 (Fdocumentation): Don't use it.
18077 (syms_of_doc): Don't initialize it.
18078
18079 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
18080 * print.c (Fwith_output_to_temp_buffer): Likewise.
18081 * window.c (Fsave_window_excursion): Likewise.
18082 * editfns.c (Fsave_excursion, Fsave_current_buffer)
18083 (Fsave_restriction): Likewise.
18084 * eval.c (Frun_hooks, Frun_hook_with_args)
18085 (Frun_hook_with_args_until_failure)
18086 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
18087 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
18088 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
18089 (Funwind_protect, Fcondition_case): Likewise.
18090 * coding.c (Ffind_operation_coding_system): Likewise.
18091 * keyboard.c (Ftrack_mouse): Likewise.
18092
180932001-10-21 Miles Bader <miles@gnu.org>
18094
18095 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
18096 (Fmake_hash_table): Add usage: string to doc string.
18097 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
18098 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
18099 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
18100 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
18101 (Fml_prefix_argument_loop): Likewise.
18102
181032001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18104
18105 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
18106
18107 * sysdep.c (init_sys_modes): Change doc-string comments to `new
18108 style' [w/`doc:' keyword].
18109
18110 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
18111 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
18112 comments to `new style' [w/`doc:' keyword].
18113
181142001-10-21 Jason Rumney <jasonr@gnu.org>
18115
18116 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
18117
18118 * w32term.c (remember_mouse_glyph): New function.
18119 (w32_mouse_position): Use it.
18120 (note_mouse_movement): If the mouse moved off the glyph, remember
18121 its new position.
18122
18123 * w32term.h (struct w32_output): Correct spelling of x_compatible.
18124 (w32_display_info): Add mouse_face_overlay.
18125
18126 * w32term.c (notice_overwritten_cursor): Renamed from
18127 note_overwritten_text_cursor. Rewritten to take glyph widths into
18128 account.
18129 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
18130 (fast_find_string_pos): New function.
18131 (fast_find_position): Return the correct vpos. Add parameter
18132 STOP. In the final row, stop before glyphs having STOP as object.
18133 Don't consider glyphs that are not from a buffer.
18134 (fast_find_position) [0]: Add a presumably more correct version
18135 for after 21.1.
18136 (expose_window_tree, expose_frame): Don't compute intersections here.
18137 (expose_window): Do it here instead.
18138 (expose_window_tree, expose_window, expose_line): Return 1 when
18139 overwriting mouse-face.
18140 (expose_window): If W is the window currently being updated, mark
18141 the frame garbaged.
18142 (expose_frame): If mouse-face was overwritten, redo it.
18143 (x_use_underline_position_properties): New variable.
18144 (syms_of_xterm): DEFVAR_BOOL it.
18145 (x_draw_glyph_string): Add comment to use it in future.
18146 (x_draw_glyph_string): Restore clipping after drawing box.
18147 Fix a computation of the underline position.
18148 (w32_get_glyph_string_clip_rect): Minor cleanup.
18149 (x_fill_stretch_glyph_string): Remove an assertion.
18150 (x_produce_glyphs): Don't convert multibyte characters
18151 to unibyte characters in unibyte buffers.
18152 (cursor_in_mouse_face_p): New function.
18153 (x_draw_stretch_glyph_string): Use it to choose a different GC
18154 when drawing a cursor within highlighted text. Don't draw
18155 background again if it has already been drawn.
18156 (x_draw_glyph_string_box): Don't draw a full-width
18157 box just because the glyph row's full_width_p flag is set.
18158 (x_draw_glyphs): Fix computation of rightmost x for
18159 full-width rows.
18160 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
18161 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
18162 change bottom shadow accordingly. Some cleanup.
18163 (x_update_window_end): Handle overwritten mouse face
18164 also for tool bar windows.
18165 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
18166 DRAW is DRAW_IMAGE_RAISED.
18167 (clear_mouse_face): Return 1 if text with mouse face was
18168 actually redrawn. Make the function static.
18169 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
18170 optimize away highlighting if we pass over that same overlay again.
18171 (note_mouse_highlight): Call mouse_face_overlay_overlaps
18172 to detect a case where we have to highlight a different region
18173 despite not having left the currently highlighted region.
18174 Set mouse_face_overlay in the x_display_info. Avoid changing the
18175 mouse pointer shape when show_mouse_face has already done it, or
18176 there is no need. Handle mouse-face and help-echo in strings.
18177 (glyph_rect): New function.
18178 (w32_mouse_position): Use it to raise the threshold for mouse
18179 movement event generation.
18180 (w32_initialize_display_info): Initialize the x_display_info's
18181 mouse_face_overlay.
18182 (w32_set_vertical_scroll_bar): Don't clear a zero height
18183 or width area.
18184 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
18185 a widget to zero height.
18186
18187 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
18188 Protect unibyte strings created by replacing their multibyte
18189 equivalents in menu_items.
18190 (w32_menu_show): Don't overwrite an item's name with its key
18191 description in case the description is a multibyte string.
18192 (single_submenu): Some cleanup.
18193
18194 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
18195 (postprocess_image): New function.
18196 (lookup_image): Call it for all image types except PostScript.
18197 (x_kill_gs_process): Call postprocess_image.
18198 (tiff_error_handler, tiff_warning_handler): New functions.
18199 (tiff_load): Install them as handlers.
18200 (x_kill_gs_process): Recognize if someone has cleared the image
18201 cache under us.
18202 (valid_image_p): Protect better against invalid image
18203 specifications. Previous code could signal an error.
18204 (Fx_hide_tip, Fshow_tip): Doc fix.
18205 (Fv_max_tooltip_size): New variable.
18206 (syns_of_xfns): DEFVAR_LISP it.
18207 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
18208 window buffer to *tip* right after creating the frame. Set frame's
18209 window_width. Use a maximum tooltip size specified by
18210 Vx_max_tooltip_size, if that has valid contents.
18211 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
18212 Make sure the tooltip is completely visible.
18213 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
18214 (Fx_create_frame): Adjust the frame's height for presence
18215 of the tool bar before calling x_figure_window_size.
18216 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
18217 when the window gets smaller.
18218 (x_set_foreground_color): Set frame's cursor_pixel.
18219 (x_set_foreground_color, x_set_background_color): Cleaned up.
18220 (x_set_font): Handle case of x_new_fontset returning the same name
18221 as before, although there was a change in fontsets.
18222
182232001-10-21 Miles Bader <miles@gnu.org>
18224
18225 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
18226 (Flogxor): Add usage: string to doc string.
18227 * charset.c (Fstring): Likewise.
18228 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
18229 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
18230
182312001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18232
18233 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
18234
18235 * alloc.c: Reindent DEFUNs with doc: keywords.
18236
18237 * abbrev.c (Finsert_abbrev_table_description): Reindent.
18238
18239 * frame.c: Change doc-string comments to `new style' [w/`doc:'
18240 keyword].
18241
18242See ChangeLog.9 for earlier changes.
18243
18244;; Local Variables:
18245;; coding: iso-2022-7bit
18246;; End:
18247
18248 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
18249 Copying and distribution of this file, with or without modification,
18250 are permitted provided the copyright notice and this notice are preserved.
18251
18252;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4