(connect_wait_mask, num_pending_connects): Only
[bpt/emacs.git] / src / ChangeLog
1 2004-11-01 Kim F. Storm <storm@cua.dk>
2
3 * process.c (connect_wait_mask, num_pending_connects): Only
4 declare and use them if NON_BLOCKING_CONNECT is defined.
5 (init_process): Initialize them if NON_BLOCKING_CONNECT defined.
6 (IF_NON_BLOCKING_CONNECT): New helper macro.
7 (wait_reading_process_output): Only declare and use local vars
8 Connecting and check_connect when NON_BLOCKING_CONNECT is defined.
9
10 2004-11-01 Andy Petrusenco <Igrek@star-sw.com> (tiny change)
11
12 * w32term.c (x_scroll_run): Delete region objects after use.
13
14 2004-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15
16 * xmenu.c: Add prototypes for forward function declarations.
17 (popup_get_selection): Remove parameter do_timers, remove call to
18 timer_check.
19 (create_and_show_popup_menu, create_and_show_dialog): Remove
20 parameter do_timers from call to popup_get_selection.
21
22 * xdisp.c (update_tool_bar): Pass a copy of f->tool_bar_items to
23 tool_bar_items and assign the result to f->tool_bar_items if
24 not equal. Move BLOCK/UNBLOCK_INPUT from around call to
25 tool_bar_items to assignment of result.
26
27 * atimer.c (alarm_signal_handler): Do not call set_alarm if
28 pending_atmers is non-zero.
29
30 2004-10-31 Kim F. Storm <storm@cua.dk>
31
32 * dispnew.c (margin_glyphs_to_reserve): Don't use ncols_scale_factor.
33
34 2004-10-28 Will <will@glozer.net>
35
36 * macterm.c: allow user to assign key modifiers to the Mac Option
37 key via a 'mac-option-modifier' variable.
38
39 2004-10-28 Stefan <monnier@iro.umontreal.ca>
40
41 * xselect.c (Vx_lost_selection_functions, Vx_sent_selection_functions):
42 Rename from Vx_lost_selection_hooks and Vx_sent_selection_hooks.
43 (x_handle_selection_request, x_handle_selection_clear)
44 (x_clear_frame_selections, syms_of_xselect): Adjust accordingly.
45
46 2004-10-28 Richard M. Stallman <rms@gnu.org>
47
48 * w32fns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
49
50 * xfns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
51
52 2004-10-27 Stefan Monnier <monnier@iro.umontreal.ca>
53
54 * syntax.c (scan_sexps_forward): Give precedence to a 2-char
55 comment-starter over a 1-char one.
56
57 2004-10-27 Richard M. Stallman <rms@gnu.org>
58
59 * xdisp.c (get_next_display_element): In mode lines,
60 treat newline and tab like other control characters.
61
62 * editfns.c (Fmessage): Doc fix.
63
64 * indent.c (vmotion): When moving up, check the newline before.
65 Make prevline an int, not a Lisp_Object.
66
67 2004-10-27 Kim F. Storm <storm@cua.dk>
68
69 * editfns.c (Fformat): Allocate discarded table with SAFE_ALLOCA.
70 Only allocate info and discarded tables once.
71
72 * lisp.h (USE_SAFE_ALLOCA): Add and init sa_must_free integer.
73 (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Increment it when malloc is used.
74 (SAFE_FREE): Test it to determine if we need to unwind to free.
75 Remove size arg. All users changed.
76 (SAFE_FREE_LISP) Remove. All users changed to use SAFE_FREE.
77
78 2004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
79
80 * gtkutil.c: Put empty line between comment and function body.
81 (xg_destroy_widgets): Rename from remove_from_container.
82 Just destroy all widgets in list. Argument wcont removed.
83 (xg_update_menubar, xg_update_submenu): Call xg_destroy_widgets
84 instead of remove_from_container.
85 (xg_display_close, xg_create_tool_bar, update_frame_tool_bar)
86 (free_frame_tool_bar): Add comment.
87
88 * xfns.c (xic_create_xfontset): Check that FRAME_XIC_BASE_FONTNAME
89 is not NULL before strcmp.
90
91 2004-10-26 Kim F. Storm <storm@cua.dk>
92
93 * callint.c (Fcall_interactively): Add 'U' code to get the
94 up-event discarded by a previous 'k' or 'K' argument.
95
96 2004-10-26 David Kastrup <dak@gnu.org>
97
98 * buffer.c (syms_of_buffer): Fix a few typos.
99
100 2004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
101
102 * xsmfns.c: Put empty line between comment and function body.
103 Use two spaces before comment end.
104
105 2004-10-25 Kenichi Handa <handa@m17n.org>
106
107 * fontset.c (fontset_pattern_regexp): Optimize for the case that
108 PATTERN is full XLFD.
109
110 2004-10-24 Kenichi Handa <handa@m17n.org>
111
112 * regex.h (enum reg_errcode_t): New value REG_ERANGEX.
113
114 * regex.c (re_error_msgid): Add an entry for REG_ERANGEX.
115 (regex_compile): Return REG_ERANGEX if appropriate.
116
117 2004-10-22 Kenichi Handa <handa@m17n.org>
118
119 * editfns.c (Ftranslate_region_internal): New function.
120 (syms_of_editfns): Defsubr it.
121
122 2004-10-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
123
124 * xfns.c (xic_create_xfontset): Initialize missing_list to NULL.
125
126 2004-10-21 K\e,Aa\e(Broly L\e$,1 q\e(Brentey <lorentey@elte.hu>
127
128 * xterm.h (x_output): New member `xic_base_fontname'.
129 (FRAME_XIC_BASE_FONTNAME): New macro.
130 (xic_free_xfontset): Declare.
131
132 * xfns.c (xic_create_xfontset): Share fontsets between frames
133 based on base_fontname.
134 (xic_free_xfontset): New function.
135 (free_frame_xic): Use it.
136 (xic_set_xfontset): Ditto.
137
138 * xterm.c (xim_destroy_callback): Ditto.
139
140
141 2004-10-20 B. Anyos <banyos@freemail.hu> (tiny change)
142
143 * w32term.c (x_draw_glyph_string): Use overline_color for overlines.
144
145 2004-10-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
146
147 * xterm.h (XSync): If USE_GTK, define XSync as process_all and then
148 XSync.
149
150 * emacs.c (my_heap_start, heap_bss_diff, MAX_HEAP_BSS_DIFF):
151 New variables and constant.
152 (main): Calculate heap_bss_diff. If we are dumping and the
153 heap_bss_diff is greater than MAX_HEAP_BSS_DIFF, set PER_LINUX32
154 and exec ourself again.
155 (Fdump_emacs): If heap_bss_diff is greater than MAX_HEAP_BSS_DIFF
156 print a warning.
157
158 * lastfile.c: Make my_endbss and my_endbss_static available on all
159 platforms.
160
161 * Makefile.in (RUN_TEMACS): Remove @SETARCH@.
162 * config.in (HAVE_PERSONALITY_LINUX32): Regenerate.
163
164 2004-10-19 Luc Teirlinck <teirllm@auburn.edu>
165
166 * data.c (Flocal_variable_if_set_p): Doc fix.
167
168 2004-10-19 Jason Rumney <jasonr@gnu.org>
169
170 * w32.c (init_environment): Set emacs_dir correctly when running
171 emacs from the build directory.
172
173 2004-10-19 Richard M. Stallman <rms@gnu.org>
174
175 * editfns.c (Fdelete_and_extract_region):
176 If region is empty, return null string.
177
178 2004-10-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
179
180 * gtkutil.h (xg_update_scrollbar_pos): Remove arguments real_left
181 and canon_width.
182 (xg_frame_cleared): Remove.
183
184 * gtkutil.c (xg_frame_cleared, xg_fixed_handle_expose)
185 (xg_find_top_left_in_fixed): Remove.
186 (xg_create_scroll_bar): Put an event box widget between
187 the scroll bar widget and the edit widget.
188 (xg_show_scroll_bar): Show the parent widget (the event box).
189 (xg_remove_scroll_bar): Destroy parent (the event box) also.
190 (xg_update_scrollbar_pos): Remove arguments real_left and canon_width.
191 Move the parent (the event box) widget inside the fixed widget.
192 Move window clear to xterm.c.
193
194 * gtkutil.h (xg_frame_cleared): Remove.
195
196 * xterm.c (x_clear_frame): Remove call to xg_frame_cleared
197 (x_scroll_bar_create, XTset_vertical_scroll_bar):
198 Remove arguments left and width to xg_update_scrollbar_pos.
199 (XTset_vertical_scroll_bar): Do x_clear_area for USE_GTK also.
200
201 2004-10-19 Kenichi Handa <handa@m17n.org>
202
203 * xdisp.c (display_mode_element): Fix display of wide chars.
204
205 2004-10-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
206
207 * gtkutil.c (xg_update_scrollbar_pos): Change XClearWindow to
208 gdk_window_clear and move gdk_window_process_all_updates after
209 clear so events are sent to the X server in correct order.
210
211 2004-10-18 Kenichi Handa <handa@m17n.org>
212
213 * fontset.c (fs_load_font): Use fast_string_match_ignore_case for
214 comparing font names.
215 (fs_query_fontset): Use fast_string_match for comparing fontset names.
216 (list_fontsets): Likewise.
217
218 * search.c (fast_string_match_ignore_case): New function.
219
220 * lisp.h (fast_string_match_ignore_case): Extern it.
221
222 2004-10-17 Kim F. Storm <storm@cua.dk>
223
224 * xdisp.c (overlay_arrow_at_row): Return overlay string rather
225 than bitmap if there is not left fringe.
226 (get_overlay_arrow_glyph_row): Also used on windows system.
227 (display_line): Display overlay string if no left fringe.
228
229 2004-10-16 Jason Rumney <jasonr@gnu.org>
230
231 * w32fns.c (w32_font_match): Encode font name being matched.
232
233 2004-10-16 Richard M. Stallman <rms@gnu.org>
234
235 * window.c (Fspecial_display_p): Doc fix.
236
237 2004-10-15 Stefan <monnier@iro.umontreal.ca>
238
239 * doc.c (Fsubstitute_command_keys): Fix remap-handling.
240 Don't ignore menus, because where-is-internal already does it for us.
241
242 2004-10-15 Kim F. Storm <storm@cua.dk>
243
244 * xdisp.c (redisplay_window): Only update fringes and vertical
245 border on window frames.
246
247 2004-10-14 Andreas Schwab <schwab@suse.de>
248
249 * m/ia64.h (DATA_SEG_BITS): Don't define.
250
251 2004-10-14 Kim F. Storm <storm@cua.dk>
252
253 * xterm.h: Include Xutil.h after keysym.h to work around bug
254 in some X versions.
255
256 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
257
258 * fns.c (map_char_table): Add missing gcpros.
259
260 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
261
262 * keymap.c (get_keymap): An autoload form is not a keymap.
263
264 * textprop.c (syms_of_textprop): Make `syntax-table' nonsticky.
265
266 2004-10-13 Kim F. Storm <storm@cua.dk>
267
268 * callproc.c (Fcall_process): Simplify handling of display arg.
269 Resume `display_on_the_fly' once a coding system is determined.
270
271 * xdisp.c (redisplay_preserve_echo_area): Fix last change.
272
273 2004-10-12 Kim F. Storm <storm@cua.dk>
274
275 * xdisp.c (redisplay_preserve_echo_area): Flush display in case
276 caller, such as call-process, is not going to poll for input.
277 (calc_line_height_property): Handle case where it->object is nil.
278
279 * xterm.c (x_redisplay_interface): Fix flush_display_optional.
280
281 2004-10-12 Kenichi Handa <handa@m17n.org>
282
283 * xdisp.c (get_next_display_element):
284 If unibyte_display_via_language_environment is zero, display 8-bit
285 chars in octal in unibyte buffer.
286
287 2004-10-12 Kim F. Storm <storm@cua.dk>
288
289 * doc.c (Fsubstitute_command_keys): Ignore remappings unless there
290 are no ordinary bindings.
291
292 2004-10-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
293
294 * xfns.c (syms_of_xfns): Defsubr x-file-dialog for GTK also.
295
296 2004-10-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
297
298 * macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow.
299 (x_lower_frame): Add BLOCK_INPUT around SendBehind.
300 (make_mac_frame): Add BLOCK_INPUT around the making of a
301 terminal frame.
302 (mac_initialize): Add BLOCK_INPUT around carbon initialization.
303 * macgui.h (mktime): Use emacs_mktime.
304 * macfns.c (Fx_file_dialog): Add BLOCK_INPUT around more code.
305 Make a cancel file-open dialog be like C-g.
306 * mac.c (mktime): Use emacs_mktime.
307 (Fdo_applescript): Add BLOCK_INPUT around do_applescript.
308 (Fmac_paste_function): Add better error handling for carbon cut/paste.
309
310 2004-10-10 Kim F. Storm <storm@cua.dk>
311
312 * keyboard.c (timer_resume_idle): New function to resume idle
313 timer without resetting timers on the idle list.
314 (read_char): Use timer_resume_idle. Remove local var last_idle_start.
315 (timer_start_idle, timer_stop_idle): Declare static.
316 (read_key_sequence): Use timer_resume_idle instead of timer_start_idle.
317
318 * keyboard.h (timer_start_idle, timer_stop_idle): Remove prototypes.
319
320 2004-10-08 Steven Tamm <steventamm@mac.com>
321
322 * config.in (HAVE_MALLOC_MALLOC_H): Regenerate.
323 * macterm.c (mac_check_for_quit_char): Remove warning for using
324 NULL where 0 should be used.
325 * unexmacosx.c: Use malloc/malloc.h on Tiger instead of
326 objc/malloc.h
327 * mac.c: Include time.h for Tiger compatibility.
328
329 2004-10-07 Kim F. Storm <storm@cua.dk>
330
331 * xdisp.c (redisplay_window): Fix flicker on vertical line between
332 windows. Update vertical line after drawing window fringes, but
333 only if actually drawing any bitmaps--or there is no fringe.
334
335 * xterm.c (x_update_window_end): Likewise.
336 * macterm.c (x_update_window_end): Likewise.
337 * w32term.c (x_update_window_end): Likewise.
338
339 * fringe.c (draw_window_fringes): Return value now indicates if
340 any fringe bitmaps were redrawn (or there are no fringes).
341
342 * dispextern.h (draw_window_fringes): Update prototype.
343
344 2004-10-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
345
346 * macfns.c (mac_get_window_bounds): Add extern.
347 (x_real_positions): Use mac_get_window_bounds.
348
349 * macmenu.c (update_submenu_strings): Apply 2004-09-07 change for
350 xmenu.c (YAILOM).
351
352 * macterm.c [!MAC_OSX]: Include Windows.h.
353 (front_emacs_window): Rename from mac_front_window. All uses
354 changed. Return the frontmost non-tooltip emacs window.
355 (mac_get_window_bounds): New function.
356 (x_calc_absolute_position): Use the difference of width and height
357 between the inner and outer window.
358 (x_set_offset): Specify window position by the coordinae of the
359 outer window. Adjust the position if the title bar is completely
360 outside the screen.
361 (app_is_suspended, app_sleep_time): Remove unused variables.
362 (do_app_resume, do_app_suspend): Remove their contents because
363 window-activate/deactivate events will do the job.
364 (do_zoom_window): Remove unused variables. Make compliant to the
365 standard way of zooming. Set f->left_pos and f->top_pos.
366 (XTread_socket): Don't use argument `expected'. Don't use
367 FrontWindow to determine the clicked window. Exclude unprocessed
368 mouseUp cases in the early stage. Add parentheses to fix operator
369 precedence.
370 (XTread_socket) [TARGET_API_MAC_CARBON]: Don't specify drag area.
371
372
373 2004-10-05 Jan Dj\e,Ad\e(Brv. <jan.h.d@swipnet.se>
374
375 * config.in: Regenerate.
376
377 * Makefile.in (RUN_TEMACS): Check HAVE_RANDOM_HEAPSTART instead of
378 HAVE_EXECSHIELD.
379
380 2004-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
381
382 * xterm.c (x_find_modifier_meanings): Ignore any Super or Hyper for
383 a row if Alt or Meta has been found for that row. Also stop scanning
384 for Keysyms for that row.
385
386 2004-10-04 Kim F. Storm <storm@cua.dk>
387
388 * fringe.c (Ffringe_bitmaps_at_pos): Change return value from cons
389 to list. Include overlay arrow bitmap in return value.
390
391 * xterm.c (XTset_vertical_scroll_bar): Improve handling of scroll
392 bars with fractional column width. If scroll bar separates two
393 windows, move it towards the window it belongs to. Only update
394 the padding area below the scroll bar widget when necessary,
395 i.e. when scroll bar widget is created, moved, or resized.
396
397 * xdisp.c (define_frame_cursor1): Do not change frame cursor
398 while tracking/dragging mouse.
399 (x_draw_vertical_border): Do not draw line if frame has scroll bars.
400
401 * window.c (coordinates_in_window): Relax check for cursor
402 on vertial border between mode lines.
403 (Fset_window_fringes): Do not allow negative widths.
404 (Fset_window_scroll_bars): Likewise.
405
406 * .gdbinit (pp): Shorthand for p ARG + pr.
407 (ff): New command: flush frame updates (X only).
408
409 2004-10-03 Michael Albinus <michael.albinus@gmx.de>
410
411 * fileio.c (auto_save_1) Call Ffile_modes for remote files.
412
413 2004-09-30 Kenichi Handa <handa@m17n.org>
414
415 * process.c (send_process): Free composition data.
416
417 * fileio.c (Finsert_file_contents): Free composition data.
418
419 * coding.c (code_convert_region): Don't skip ASCIIs if there are
420 compositions to encode.
421 (encode_coding_string): Likewise. Free composition data.
422
423 2004-09-30 Florian Weimer <fw@deneb.enyo.de> (tiny change)
424
425 * coding.c (code_convert_region): Free composition data.
426
427 2004-09-29 Kim F. Storm <storm@cua.dk>
428
429 * fringe.c: Remove limit on number of bitmaps.
430 (fringe_bitmaps, fringe_faces): Change to pointers.
431 (max_fringe_bitmaps): New var.
432 (Fdefine_fringe_bitmap): Expand fringe_bitmaps and fringe_faces.
433 (init_fringe): Allocate fringe_bitmaps and fringe_faces.
434
435 * dispextern.h (FRINGE_ID_BITS): Increase to 16 bits (64K bitmaps).
436 (struct glyph_row): Reorder fringe_bitmap related fields.
437 (struct it): Likewise.
438
439 * w32term.c (fringe_bmp): Change to pointer.
440 (max_fringe_bmp): New var.
441 (w32_define_fringe_bitmap): Expand fringe_bmp.
442 (w32_draw_fringe_bitmap): Check max_fringe_bmp.
443 (w32_destroy_fringe_bitmap): Likewise.
444
445 2004-09-29 Kim F. Storm <storm@cua.dk>
446
447 * fringe.c: Simplify last change.
448 (lookup_fringe_bitmap): New function.
449 (valid_fringe_bitmap_p, resolve_fringe_bitmap): Remove.
450 (Fdestroy_fringe_bitmap): Use lookup_fringe_bitmap.
451 Keep standard bitmaps in Vfringe_bitmaps.
452 (Fdefine_fringe_bitmap): Use lookup_fringe_bitmap.
453 (Fset_fringe_bitmap_face): Likewise.
454
455 * dispextern.h (lookup_fringe_bitmap): Add prototype.
456 (valid_fringe_bitmap_p): Remove prototype.
457
458 * xdisp.c (handle_single_display_prop): Use lookup_fringe_bitmap.
459
460 2004-09-29 Kim F. Storm <storm@cua.dk>
461
462 * fringe.c (destroy_fringe_bitmap, init_fringe_bitmap)
463 (w32_init_fringe, w32_reset_fringes): Fix bootstrap (NULL rif).
464
465 * dispextern.h (valid_fringe_bitmap_p): Fix prototype.
466
467 * fringe.c (Vfringe_bitmaps): New variable.
468 (syms_of_fringe): DEFVAR_LISP it.
469 (valid_fringe_bitmap_p): Rename from valid_fringe_bitmap_id_p.
470 Change arg to Lisp_Object and fail if not an integer.
471 (get_fringe_bitmap_name, resolve_fringe_bitmap)
472 (destroy_fringe_bitmap): New functions.
473 (Fdestroy_fringe_bitmap): Change arg to bitmap symbol.
474 Use destroy_fringe_bitmap. Remove symbol from Vfringe_bitmaps and
475 clear its fringe property.
476 (init_fringe_bitmap): Use destroy_fringe_bitmap instead of
477 Fdestroy_fringe_bitmap.
478 (Fdefine_fringe_bitmap): Add BITMAP arg specifying new or existing
479 bitmap symbol; remove WHICH arg. Add symbol to Vfringe_bitmaps
480 and set fringe property. Signal error if no free slots.
481 (Fset_fringe_bitmap_face): Change arg to bitmap symbol.
482 (Ffringe_bitmaps_at_pos): Return bitmap symbols instead of numbers.
483
484 * xdisp.c (handle_single_display_prop): Fringe bitmaps are now
485 symbols with a fringe property.
486
487 2004-09-27 Kim F. Storm <storm@cua.dk>
488
489 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>:
490 Doc fix. Format may now be a symbol or alist, not a cons.
491
492 * fringe.c (update_window_fringes): Handle new formats of
493 indicate-buffer-boundaries (symbol or alist). No longer
494 allow a simple cons.
495 (Ffringe_bitmaps_at_pos): Use nil value for no bitmap.
496
497 2004-09-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
498
499 * config.in: Rebuild.
500
501 2004-09-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
502
503 * config.in: Rebuild.
504
505 * Makefile.in: Run setarch i386 ./temacs if exec-shield is present.
506
507 2004-09-18 Stefan Monnier <monnier@iro.umontreal.ca>
508
509 * xterm.c (x_term_init): Work around a bug in some X servers.
510
511 2004-09-18 Richard M. Stallman <rms@gnu.org>
512
513 * buffer.c (syms_of_buffer) <default-major-mode>: Doc fix.
514
515 * xdisp.c (try_window_reusing_current_matrix):
516 Handle the case where we reach the old displayed text,
517 out of sync with the old line boundary.
518
519 2004-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
520
521 * fileio.c (Finsert_file_contents): Fix case of replacement in a
522 narrowed buffer.
523
524 2004-09-14 Kim F. Storm <storm@cua.dk>
525
526 * puresize.h (PURESIZE_RATIO): Define based on BITS_PER_EMACS_INT.
527
528 * xfaces.c (Qface_no_inherit): New var.
529 (syms_of_xfaces): Intern and staticpro it.
530 (Finternal_make_lisp_face, Finternal_set_lisp_face_attribute)
531 (Finternal_copy_lisp_face, update_face_from_frame_parameter):
532 Don't increment face_change_count when face has non-nil
533 face-no-inherit property.
534
535 2004-09-13 Stefan Monnier <monnier@iro.umontreal.ca>
536
537 * bytecode.c (BYTE_CODE_QUIT): Add missing AFTER_POTENTIAL_GC.
538 (Fbyte_code): Remove dead code after `wrong_type_argument'.
539
540 * alloc.c (Fgarbage_collect): Mark keyboards, gtk data, and specpdl
541 before doing the mark_stack_check_gcpros since they're not on the stack.
542
543 2004-09-12 Kim F. Storm <storm@cua.dk>
544
545 * editfns.c (Fformat): Handle format strings with multiple text
546 properties. Reverse text property list from the format string,
547 so the positions are in increasing order.
548
549 2004-09-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
550
551 * xselect.c (x_reply_selection_request): XSync and UNBLOCK before
552 x_uncatch_errors so that possible protocol errors are delivered.
553
554 2004-09-10 Eli Zaretskii <eliz@gnu.org>
555
556 * Makefile.in (msdos.o): Depend on buffer.h, commands.h, and
557 blockinput.h.
558 (dosfns.o): Depend on blockinput.h, window.h, dispextern.h,
559 charset.h, and coding.h
560 (w16select.o): Depend on buffer.h, charset.h, coding.h, and composite.h.
561 (term.o): Depend on window.h and keymap.h.
562 (abbrev.o): Depend on syntax.h.
563 (callint.o): Depend on keymap.h.
564 (casefiddle.o): Depend on charset.h and keymap.h.
565 (category.o): Depend on keymap.h.
566 (coding.o): Depend on dispextern.h.
567 (cmds.o): Depend on keyboard.h and keymap.h.
568 (dispnew.o): Depend on indent.h and intervals.h.
569 (doc.o): Depend on keymap.h.
570 (editfns.o): Depend on frame.h.
571 (emacs.o): Depend on dispextern.h.
572 (fileio.o): Don't depend on ccl.h.
573 (filelock.o): Depend on charset.h and coding.h.
574 (frame.o): Depend on w32term.h and macterm.h.
575 (insdel.o): Depend on region-cache.h.
576 (keyboard.o): Depend on keymap.h, w32term.h, and macterm.h.
577 (minibuf.o): Depend on $(INTERVALS_SRC) and keymap.h.
578 (search.o): Depend on $(INTERVALS_SRC).
579 (syntax.o): Depend on keymap.h, regex.h, and $(INTERVALS_SRC).
580 (window.o): Depend on keymap.h, blockinput.h, $(INTERVALS_SRC),
581 xterm.h, w32term.h, and macterm.h.
582 (xdisp.o): Depend on keyboard.h, $(INTERVALS_SRC), xterm.h,
583 w32term.h, and macterm.h.
584 (xfaces.o): Depend on keyboard.h, $(INTERVALS_SRC),
585 region-cache.h, xterm.h, w32term.h, and macterm.h.
586 (bytecode.o): Depend on dispextern.h, frame.h, and xterm.h.
587 (data.o): Depend on frame.h.
588 (fns.o): Depend on keymap.h, xterm.h, and blockinput.h.
589 (print.o): Depend on termchar.h and $(INTERVALS_SRC).
590 (lread.o): Depend on $(INTERVALS_SRC), termhooks.h, and coding.h.
591 (intervals.o): Depend on keymap.h.
592
593 * msdos.c (msdos_set_cursor_shape, IT_display_cursor):
594 Add debugging print-out to termscript.
595
596 2004-09-09 Richard M. Stallman <rms@gnu.org>
597
598 * xdisp.c (decode_mode_spec): Use current buffer for most purposes.
599
600 2004-09-08 Richard M. Stallman <rms@gnu.org>
601
602 * window.c (Fset_window_buffer): Doc fix.
603
604 * xdisp.c (Fformat_mode_line): New arg BUFFER says which buffer to use.
605
606 2004-09-08 Dan Nicolaescu <dann@ics.uci.edu>
607
608 * minibuf.c (history_delete_duplicates): New variable.
609 (read_minibuf): Use it.
610 (syms_of_minibuf): Create the corresponding lisp variable.
611
612 2004-09-08 Kim F. Storm <storm@cua.dk>
613
614 * xdisp.c (set_cursor_from_row): Also look at 'cursor' property in
615 overlay just before point.
616
617 2004-09-07 Luc Teirlinck <teirllm@auburn.edu>
618
619 * buffer.h (struct buffer): Add auto_save_file_format field.
620 * buffer.c (reset_buffer, init_buffer_once):
621 Handle auto_save_file_format field.
622 (syms_of_buffer): Add DEFVAR_PER_BUFFER for
623 `buffer-auto-save-file-format'.
624 * fileio.c: Delete declaration for removed Vauto_save_file_format.
625 (build_annotations): Adapt to replacement of
626 `auto-save-file-format' with the new buffer-local variable
627 `buffer-auto-save-file-format'.
628 (syms_of_fileio): Delete DEFVAR_LISP for auto-save-file-format.
629
630 2004-09-07 Jason Rumney <jasonr@gnu.org>
631
632 * w32term.h (AppendMenuW_Proc): Move declaration from w32menu.c.
633
634 * w32fns.c (w32_wnd_proc) [WM_MEASUREITEM, WM_DRAWITEM]:
635 Handle Unicode menu titles.
636
637 2004-09-07 Kim F. Storm <storm@cua.dk>
638
639 * xdisp.c (set_cursor_from_row): Fix last change. Only use 'cursor'
640 property from text property or overlay strings at point.
641
642 2004-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
643
644 * xmenu.c (update_submenu_strings): YAILOM.
645 (set_frame_menubar): Make sure last_i is initialized.
646
647 2004-09-03 Jason Rumney <jasonr@gnu.org>
648
649 * w32menu.c (_widget_value): Add lname and lkey.
650 (digest_single_submenu): Set lname and lkey in widget_value
651 instead of name and key.
652 (update_submenu_strings): New function.
653 (set_frame_menubar): Remove call to inhibit_garbage_collection,
654 call update_submenu_strings.
655
656 * w32menu.c (globals_of_w32menu): Check for Unicode API.
657 (digest_single_submenu, w32_menu_show): Encode menu strings as
658 UTF-8 if Unicode API is available.
659 (utf8to16): New function.
660 (add_menu_item): Use it when calling Unicode API.
661
662 2004-09-03 Kim F. Storm <storm@cua.dk>
663
664 * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property
665 in overlay or text-property strings; set cursor on corresponding
666 glyph rather than at end of the string.
667
668 2004-09-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
669
670 * macfns.c (x_real_positions): Save the current window port and
671 set a new one before obtaining the global coordinate.
672 Use FRAME_MAC_WINDOW.
673 (x_set_name, x_set_title): Encode title to UTF8.
674 Use SetWindowTitleWithCFString.
675 (Fx_server_version): Get correct OS version.
676
677 * macmenu.c (add_menu_item): Remove unused variable `i'.
678 Don't let separator items destroy refence constants of other menu items.
679
680 * macterm.c (x_update_end): Move SetPortWindowPort to inside
681 BLOCK_INPUT.
682 (x_set_offset): Use FRAME_MAC_WINDOW.
683
684 * xdisp.c (note_mouse_highlight): Set the mouse pointer shape to
685 nontext_cursor if it is on a scroll bar.
686
687 * s/darwin.h (LIBS_CARBON): New define to specify libraries for
688 Carbon support.
689 (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++.
690 Use LIBS_CARBON.
691
692 2004-09-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
693
694 * xfns.c (x_set_name_internal): New function. Check if we shall call
695 xfree before ENCODE_UTF_8.
696 (x_set_name, x_set_title): Call x_set_name_internal.
697
698 2004-08-31 NAKAMURA Toshikazu <nr-tkz@nifty.com> (tiny change)
699
700 * w32fns.c (w32_load_font): If a BDF font is already loaded, do not
701 reload it.
702
703 2004-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
704
705 * macmenu.c (_widget_value): Add lname and lkey.
706 (single_submenu): Set lname and lkey in widget_value
707 instead of name and key.
708 (update_submenu_strings): New function.
709 (set_frame_menubar): Remove call to inhibit_garbage_collection,
710 call update_submenu_strings.
711
712 * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value
713 instead of name and key.
714 (update_submenu_strings): New function.
715 (set_frame_menubar): Remove call to inhibit_garbage_collection,
716 call update_submenu_strings.
717
718 * gtkutil.h (_widget_value): Added lname and lkey.
719
720 2004-08-30 Steven Tamm <steventamm@mac.com>
721
722 * macmenu.c (mac_menu_show): Remove shadowing of menu variable
723 by using different names for inner loop variables.
724
725 2004-08-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
726
727 * xmenu.c (set_frame_menubar): Reintroduce inhibit_garbage_collection
728 from 2002-07-15T00:01:34Z!raeburn@raeburn.org so that strings from ENCODE_UTF_8 isn't GC:ed before used.
729
730 * gtkutil.c (xg_create_frame_widgets): Compensate for tool bar when
731 tool bar items is 0.
732
733 2004-08-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
734
735 * macmenu.c (ENCODE_MENU_STRING): Added to handle multibyte
736 strings in menu items.
737 (single_submenu): Use ENCODE_MENU_STRING
738 (mac_menu_show): Use ENCODE_MENU_STRING. Reset grabbed because
739 button release isn't passed to event loop
740 (add_menu_item): Use SetMenuItemWithCFString
741
742 2004-08-26 Steven Tamm <steventamm@mac.com>
743
744 * fileio.c (Fread_file_name): Call x_file_dialog on carbon on
745 tool-bar/menu click
746 * macfns.c (Fx_file_dialog): Implemented using NavServices
747
748 2004-08-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
749
750 * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed.
751
752 * xfns.c (x_window_to_frame, x_any_window_to_frame)
753 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
754 (x_top_window_to_frame): Return 0 if wdesc is None.
755
756 2004-08-22 Richard M. Stallman <rms@gnu.org>
757
758 * process.c (process_send_signal) [SIGNALS_VIA_CHARACTERS,
759 HAVE_TERMIOS]: If there's no char for this signal, drop through
760 and use system calls.
761
762 * bytecode.c (Fbyte_code) <unwind-protect>: Cannot GC.
763
764 2004-08-20 Kim F. Storm <storm@cua.dk>
765
766 * process.c (wait_reading_process_output): Rename from
767 wait_reading_process_input. All uses changed.
768 (wait_reading_process_output_1): Rename from
769 wait_reading_process_input_1. All uses changed.
770
771 * dispnew.c (Fsleep_for): Remove obsolete code.
772
773 2004-08-20 Kenichi Handa <handa@m17n.org>
774
775 * syntax.c (skip_chars): Fix for unibyte case.
776
777 2004-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
778
779 * syntax.c (char_quoted): Mixup byte/char pos.
780 (back_comment): Fixup globals in all cases.
781
782 2004-08-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
783
784 * xfns.c (x_set_name, x_set_title): Encode title to UTF8 before
785 passing it to gtk_window_set_title.
786
787 2004-08-19 Kim F. Storm <storm@cua.dk>
788
789 * process.c (wait_reading_process_input): Clean up.
790 Add wait_for_cell, wait_proc, and just_wait_proc args
791 to avoid overloading `read_kbd' and `do_display' args.
792 Change read_kbd arg to int. All callers changed.
793
794 * process.c (process_send_signal): Use CDISABLE.
795
796 * sysdep.c (child_setup_tty, init_sys_modes): Use CDISABLE.
797
798 2004-08-18 Kim F. Storm <storm@cua.dk>
799
800 * process.c (Faccept_process_output): Add arg JUST-THIS-ONE;
801 forward to wait_reading_process_input via DO_DISPLAY arg.
802 (wait_reading_process_input): If DO_DISPLAY < 0 for a process
803 object, only process output from that process; also inhibit
804 running timers if DO_DISPLAY==-2.
805
806 2004-08-17 Kim F. Storm <storm@cua.dk>
807
808 * process.c (process_send_signal): Fix last change--use
809 _POSIX_VDISABLE instead of CVDISABLE when available.
810
811 2004-08-16 Richard M. Stallman <rms@gnu.org>
812
813 * sysdep.c (child_setup_tty) [SIGNALS_VIA_CHARACTERS]:
814 Set VQUIT and VINTR chars to the standard ones if they are unset.
815 [AIX]: Don't do that here. And don't force VINTR to standard
816 when SIGNALS_VIA_CHARACTERS.
817
818 * process.c (process_send_signal)
819 [SIGNALS_VIA_CHARACTERS, HAVE_TERMIOS]: Clean up.
820 Do nothing if the character is CVDISABLE.
821
822 * xfaces.c (merge_face_ref): Specifying `unspecified' is a no-op.
823
824 * intervals.c (move_if_not_intangible):
825 Force POSITION to be between BEGV and ZV.
826
827 2004-08-14 John Paul Wallington <jpw@gnu.org>
828
829 * buffer.c (Frestore_buffer_modified_p): Doc fix.
830
831 * fileio.c (Fread_file_name): Doc fix.
832
833 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
834
835 2004-08-09 Luc Teirlinck <teirllm@auburn.edu>
836
837 * keymap.c (Fmake_keymap, Fmap_keymap, Fwhere_is_internal): Doc fixes.
838
839 2004-08-08 Luc Teirlinck <teirllm@auburn.edu>
840
841 * keyboard.c: Declare Qdisabled_command_function instead of
842 Qdisabled_command_hook.
843 (Fcommand_execute): Use Qdisabled_command_function instead of
844 Qdisabled_command_hook.
845 (syms_of_keyboard): Ditto.
846
847 2004-08-07 Luc Teirlinck <teirllm@auburn.edu>
848
849 * keymap.c (Flocal_key_binding, Fglobal_key_binding)
850 (syms_of_keymap) <key-translation-map>: Doc fixes.
851
852 2004-08-07 Stefan Monnier <monnier@iro.umontreal.ca>
853
854 * window.c (window_list_1): YAILOM.
855
856 * fileio.c (make_temp_name): Handle multibyte prefixes.
857
858 2004-08-06 Luc Teirlinck <teirllm@auburn.edu>
859
860 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
861 Doc fix.
862
863 2004-08-03 Kenichi Handa <handa@m17n.org>
864
865 * coding.c (decode_coding_string): Adjust coding->consumed, and
866 etc. with shrinked_bytes.
867
868 2004-08-03 Kim F. Storm <storm@cua.dk>
869
870 * indent.c (compute_motion): Fix check for full width window
871 in non-window case. Do not count left truncation glyph on
872 window systems.
873
874 2004-08-02 Luc Teirlinck <teirllm@auburn.edu>
875
876 * data.c (Finteractive_form): Doc fix.
877
878 2004-08-02 Kim F. Storm <storm@cua.dk>
879
880 * indent.c (compute_motion): Use actual window width if WIDTH is -1,
881 properly accounting for continuation glyph on non-window systems.
882 (Fcompute_motion): Use actual window width if WIDTH is nil, and
883 actual window width/height if TOPOS is nil, properly accounting for
884 continuation glyphs on non-window systems, and optional header lines.
885 (vmotion): Let compute_motion calculate actual window width.
886
887 * window.c (window_scroll_line_based): Let compute_motion
888 calculate actual window width.
889
890 2004-08-02 Kim F. Storm <storm@cua.dk>
891
892 * process.c (read_process_output): Use whole read buffer.
893 Don't trigger adaptive read buffering on errors.
894
895 2004-07-31 Luc Teirlinck <teirllm@auburn.edu>
896
897 * keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes.
898
899 * keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix.
900
901 * callint.c (Fcall_interactively): Doc fix.
902
903 2004-07-30 Richard M. Stallman <rms@gnu.org>
904
905 * abbrev.c (Fexpand_abbrev): Undo previous change.
906
907 2004-07-30 Kim F. Storm <storm@cua.dk>
908
909 * editfns.c (Fformat): Allocate extra (dummy) element in info.
910
911 2004-07-28 Luc Teirlinck <teirllm@auburn.edu>
912
913 * eval.c (Fdefvar, Fdefconst): Doc fixes.
914
915 2004-07-27 Kim F. Storm <storm@cua.dk>
916
917 * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after
918 we have ensured that the glyph fits on the current line (or returned
919 MOVE_LINE_CONTINUED otherwise).
920
921 2004-07-26 Kim F. Storm <storm@cua.dk>
922
923 * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe
924 is enabled, return MOVE_LINE_CONTINUED rather than MOVE_POS_MATCH_OR_ZV
925 if target position is at end of display line but char is not a newline.
926
927 2004-07-25 Richard M. Stallman <rms@gnu.org>
928
929 * window.c (coordinates_in_window): Return ON_SCROLL_BAR
930 instead of ON_VERTICAL_BORDER, when on scroll bar.
931 (Fcoordinates_in_window_p): Handle ON_SCROLL_BAR--return nil.
932
933 * dispextern.h (enum window_part): Add ON_SCROLL_BAR.
934
935 * window.c (Fcoordinates_in_window_p):
936 Take account of FRAME_INTERNAL_BORDER_WIDTH.
937
938 * alloc.c (check_cons_list): New function (contents commented out).
939
940 2004-07-24 Luc Teirlinck <teirllm@auburn.edu>
941
942 * xfaces.c (Fcolor_supported_p): Doc fix.
943
944 * frame.c (Fselect_frame, Fset_frame_selected_window)
945 (Fframe_visible_p, Fraise_frame): Doc fixes.
946
947 2004-07-24 Richard M. Stallman <rms@gnu.org>
948
949 * keyboard.h (not_single_kboard_state): Declared.
950
951 * fileio.c (Fwrite_region): Doc fix.
952
953 * window.c (Fwindow_at): Take account of FRAME_INTERNAL_BORDER_WIDTH.
954
955 * abbrev.c (Fexpand_abbrev): Run Qpre_abbrev_expand_hook
956 only when a real abbrev is present.
957
958 * xfns.c (x_icon_verify): New function.
959 (Fx_create_frame): Use it.
960
961 2004-07-22 Barry Fishman <barry_fishman@att.net> (tiny change)
962
963 * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined.
964
965 2004-07-21 Kim F. Storm <storm@cua.dk>
966
967 * window.h (struct glyph_matrix): New members nrows_scale_factor
968 and ncols_scale_factor.
969
970 * window.c (make_window): Initialize nrows_scale_factor and
971 ncols_scale_factor members.
972
973 * dispnew.c (margin_glyphs_to_reserve): Apply ncols_scale_factor.
974 (allocate_matrices_for_frame_redisplay): Fix left/right margin mix-up.
975 (required_matrix_height): Apply nrows_scale_factor.
976 (required_matrix_width): Apply ncols_scale_factor.
977
978 * xdisp.c (display_line): Increment nrows_scale_factor and set
979 fonts_changed_p if past last allocated row.
980 (append_glyph, append_composite_glyph, produce_image_glyph)
981 (append_stretch_glyph): Increment ncols_scale_factor and set
982 fonts_changed_p if current area is full.
983
984 2004-07-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
985
986 * widget.c (EmacsFrameDestroy): Don't abort if normal_gc is 0.
987
988 2004-07-19 Luc Teirlinck <teirllm@auburn.edu>
989
990 * window.c (Fpos_visible_in_window_p, Fset_window_hscroll)
991 (Fwindow_inside_pixel_edges, Fwindow_end, Fset_window_point)
992 (Fset_window_start, Fscroll_up, Fscroll_down)
993 (Fother_window_for_scrolling, Fscroll_other_window)
994 (Fsave_window_excursion, Fset_window_vscroll)
995 (syms_of_window) <window-size-fixed>: Doc fixes.
996
997 2004-07-19 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
998
999 * w32fns.c (Fx_file_dialog): Use ENCODE_FILE instead of
1000 ENCODE_SYSTEM for filenames.
1001
1002 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1003
1004 * mac.c (sys_select): Block input around call to
1005 ReceiveNextEvent to prevent breakage. Correctly handle
1006 blocking on event queue only by calling ReceiveNextEvent
1007 instead of select (since GUI events aren't on an fd).
1008 (sys_read): Remove function
1009 * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON
1010
1011 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1012
1013 * mac.c (sys_select): Redo sys_select to use alarm-based
1014 polling instead of 1 sec timeouts (like solaris).
1015
1016 * macterm.c (x_make_frame_visible): Comment in polling on
1017 frame creation.
1018
1019 * keyboard.c: Undef SIGIO on Carbon
1020
1021 * atimer.c (alarm_signal_handler): Call alarm handlers after
1022 scheduling.
1023
1024 * eval.c (Feval): Remove quit_char test
1025
1026 * process.c (wait_reading_process_input): Remove clearing
1027 stdin for select call on process input.
1028
1029 2004-07-18 Luc Teirlinck <teirllm@auburn.edu>
1030
1031 * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Correct
1032 capitalization error in docstring.
1033
1034 2004-07-17 Juanma Barranquero <lektu@terra.es>
1035
1036 * keyboard.c (not_single_kboard_state): Do nothing unless
1037 MULTI_KBOARD is defined.
1038
1039 2004-07-17 Richard M. Stallman <rms@gnu.org>
1040
1041 * window.c (coordinates_in_window): Inside the window but outside
1042 its box to the L or R, return ON_VERTICAL_BORDER.
1043 (window_list_1): Rotate the list to start with WINDOW.
1044
1045 * print.c (print_preprocess): Test for print_depth at limit
1046 before entering in being_printed.
1047
1048 * keyboard.c (not_single_kboard_state): New function.
1049 (stuff_buffered_input): Now no-op only if no SIGTSTP.
1050
1051 * frame.c (Fdelete_frame): If we're in single_bboard_state on
1052 this kboard, and we delete its last frame, go to any_kboard_state.
1053
1054 * buffer.c (syms_of_buffer) <transient-mark-mode>: Doc fix.
1055
1056 2004-07-15 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
1057
1058 * w32fns.c (Fx_file_dialog): Encode strings in system coding
1059 system before passing them to OS functions for display.
1060
1061 2004-07-15 David Kastrup <dak@gnu.org>
1062
1063 * search.c (syms_of_search): Staticpro `saved_last_thing_searched'.
1064 Apparently fixes an abort condition.
1065
1066 2004-07-14 Luc Teirlinck <teirllm@auburn.edu>
1067
1068 * fileio.c (Fvisited_file_modtime): Return a list of two integers,
1069 instead of a cons.
1070
1071 2004-07-14 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
1072
1073 * keyboard.c (echo_dash): Do nothing if there already is a dash
1074 at the end of the echo string.
1075
1076 2004-07-12 Kim F. Storm <storm@cua.dk>
1077
1078 * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value
1079 if GC_MARK_STACK.
1080
1081 2004-07-10 Luc Teirlinck <teirllm@auburn.edu>
1082
1083 * buffer.c (Fswitch_to_buffer, Fpop_to_buffer): Doc fixes.
1084
1085 * window.c (Fwindow_buffer, Fother_window, Fget_lru_window)
1086 (Fget_largest_window, Fget_buffer_window, Fdelete_windows_on)
1087 (Freplace_buffer_in_windows, Fset_window_buffer)
1088 (Fselect-window, Fdisplay-buffer, Fsplit_window): Doc fixes.
1089 (syms_of_window): Expand docstring of `display-buffer-function'.
1090
1091 2004-07-09 Luc Teirlinck <teirllm@auburn.edu>
1092
1093 * editfns.c (Ffloat_time, Fformat_time_string, Fdecode_time)
1094 (Fcurrent_time_string, Fcurrent_time_zone): Mention in docstrings
1095 that time values of the type (HIGH . LOW) are considered obsolete.
1096
1097 2004-07-06 Luc Teirlinck <teirllm@auburn.edu>
1098
1099 * keyboard.c (syms_of_keyboard): Fix `keyboard-translate-table'
1100 docstring.
1101
1102 * fns.c (Fclear_string): Declare `len' before call to CHECK_STRING.
1103
1104 2004-07-06 John Paul Wallington <jpw@gnu.org>
1105
1106 * eval.c (Fdefmacro): Signal an error if NAME is not a symbol.
1107
1108 * fns.c (Fclear_string): Signal an error if STRING is not a string.
1109
1110 2004-07-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1111
1112 * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList
1113 instead of CGMainDisplayID (only in OSX 10.2 and later).
1114
1115 2004-07-04 John Paul Wallington <jpw@gnu.org>
1116
1117 * fileio.c (read_file_name_completion_ignore_case): New variable.
1118 (syms_of_fileio): Declare and initialise it.
1119 (Fread_file_name): Bind `completion-ignore-case' to respect it.
1120
1121 2004-07-03 Eli Zaretskii <eliz@gnu.org>
1122
1123 * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects
1124 for event.x and event.y.
1125
1126 2004-07-01 Kenichi Handa <handa@m17n.org>
1127
1128 * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly
1129 after getting a new string by pre-write-conversion.
1130
1131 2004-06-30 Stefan Monnier <monnier@iro.umontreal.ca>
1132
1133 * xterm.c (x_detect_focus_change): Remove unused var `nr_events'.
1134 (x_calc_absolute_position): Remove unused var `child'.
1135
1136 * xfaces.c (x_supports_face_attributes_p)
1137 (Fdisplay_supports_face_attributes_p): YAILOM.
1138 (tty_supports_face_attributes_p): Remove unused var `i'.
1139
1140 * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and
1141 back_unibyte_ok.
1142
1143 * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM.
1144
1145 * fontset.c (Fset_fontset_font): Remove unused vars `family' and `registry'.
1146
1147 * Makefile.in (${etc}DOC): Fix file name of make-docfile.
1148
1149 2004-06-30 Andreas Schwab <schwab@suse.de>
1150
1151 * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES.
1152 (Finit_image_library): Pass LIBRARIES through to
1153 CHECK_LIB_AVAILABLE. Declare parameters. Doc fix.
1154 (lookup_image_type): Pass Qnil as second argument to
1155 Finit_image_library.
1156
1157 * lisp.h: Declare Finit_image_library.
1158
1159 2004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1160
1161 * macterm.c (do_window_activate, do_window_deactivate): Remove.
1162 (XTread_socket): Send mouse button events to the toolbox
1163 dispatcher even when the mouse is grabbed. Don't process window
1164 activate events for non-Emacs windows. Replace function calls to
1165 do_window_activate and do_window_deactivate with their contents.
1166 Reset mouse grabbing status when a window is deactivated.
1167
1168 2004-06-29 Steven Tamm <steventamm@mac.com>
1169
1170 * macterm.c (mac_get_emulated_btn)
1171 (mac_event_to_emacs_modifiers): Fix emulated mouse button
1172 support to correctly mask out modifiers.
1173
1174 2004-06-29 David Kastrup <dak@gnu.org>
1175
1176 * search.c (Fset_match_data): Allow buffer before end of list
1177 which can happen if set-match-data is using a pre-consed list.
1178
1179 2004-06-28 Steven Tamm <steventamm@mac.com>
1180
1181 * macterm.c (XTread_socket): Correctly set the frame position
1182 after the window is moved.
1183
1184 2004-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1185
1186 * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
1187 gpix and gmask just before return to avoid memory leak.
1188 (xg_get_image_for_pixmap): Add workaround for monochrome displays
1189 so insensitive and activated icons look ok.
1190
1191 2004-06-27 Jason Rumney <jasonr@gnu.org>
1192
1193 * w32fns.c (file_dialog_callback): Disable edit control if set
1194 to directories only on CDN_INITDONE message.
1195 (Fx_file_dialog): Default to directories only when prompt starts
1196 with "Dired".
1197
1198 2004-06-25 Kim F. Storm <storm@cua.dk>
1199
1200 * alloc.c (allocate_misc): Update total_free_markers.
1201 (free_misc): New function.
1202 (safe_alloca_unwind, free_marker): Use it.
1203
1204 * lisp.h (free_misc): Add prototype.
1205
1206 * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs.
1207
1208 2004-06-24 Richard M. Stallman <rms@gnu.org>
1209
1210 * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted.
1211 (syms_of_emacs): Lisp variables deleted.
1212
1213 2004-06-23 David Kastrup <dak@gnu.org>
1214
1215 * search.c (Freplace_match): Adjust the match-data more thoroughly
1216 when replacing strings in the buffer.
1217 (Fmatch_data): When INTEGERS is non-nil and the last match was in
1218 a buffer, add the buffer as last element to the match data.
1219 (Fset_match_data): If an additional element of the match-data is a
1220 buffer, restore it to last_thing_searched.
1221 (save_search_regs): Save last_thing_searched as part of the match data.
1222 (restore_match_data): Restore it again.
1223
1224 2004-06-23 Luc Teirlinck <teirllm@auburn.edu>
1225
1226 * keymap.c (Ftext_char_description): Doc fix.
1227 * doc.c (Fsnarf_documentation): Doc fix.
1228
1229 2004-06-22 Kim F. Storm <storm@cua.dk>
1230
1231 * fns.c (Fmapcar, Fmapconcat): GCPRO the args array.
1232
1233 * lisp.h (struct Lisp_Save_Value): New member dogc.
1234 (SAFE_ALLOCA_LISP): Change second arg to number of elements.
1235 Set dogc member in Lisp_Save_Value object so it will be GC'ed.
1236 (SAFE_FREE_LISP): New macro.
1237
1238 * alloc.c (safe_alloca_unwind): Clear dogc and pointer members.
1239 (make_save_value): Init new dogc member.
1240 (mark_object): Mark Lisp_Save_Value pointer array if dogc is set.
1241
1242 * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
1243 SAFE_FREE_LISP macros.
1244
1245 2004-06-22 Kim F. Storm <storm@cua.dk>
1246
1247 * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects.
1248 Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects
1249 in that memory area are unknown to GC. Add comments.
1250
1251 * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP.
1252
1253 2004-06-21 Kim F. Storm <storm@cua.dk>
1254
1255 * lisp.h (MAX_ALLOCA): Define here.
1256 (safe_alloca_unwind): Add prototype.
1257 (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros.
1258
1259 * alloc.c (safe_alloca_unwind): New function.
1260
1261 * casefiddle.c (casify_object): Use SAFE_ALLOCA.
1262
1263 * charset.c (Fstring): Use SAFE_ALLOCA.
1264
1265 * coding.c (MAX_ALLOCA): Remove define.
1266
1267 * data.c (MAX_ALLOCA): Remove define.
1268 (Faset): Use SAFE_ALLOCA.
1269
1270 * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA.
1271
1272 * fns.c (string_make_multibyte, string_to_multibyte)
1273 (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA.
1274 (MAX_ALLOCA): Remove define.
1275 (Fbase64_encode_region, Fbase64_encode_string)
1276 (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA.
1277 (Fbase64_encode_region, Fbase64_encode_string): Fix potential
1278 memory leak if encoding fails.
1279
1280 * xdisp.c (add_to_log): Use SAFE_ALLOCA.
1281
1282 2004-06-21 Eli Zaretskii <eliz@gnu.org>
1283
1284 * print.c (Fwith_output_to_temp_buffer): Doc fix.
1285
1286 2004-06-20 Richard M. Stallman <rms@gnu.org>
1287
1288 * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix.
1289
1290 * search.c (match_limit): Cleaner err msg when no match data available.
1291
1292 * window.c (syms_of_window): Doc fix.
1293
1294 * keyboard.c (command_loop_1): Handle values `only' and `identity'
1295 for Vtransient_mark_mode.
1296
1297 * buffer.c (syms_of_buffer): Doc fix.
1298
1299 2004-06-21 David Kastrup <dak@gnu.org>
1300
1301 * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding
1302 and unbinding of `case-fold-search' according to
1303 `completion-ignore-case' around calls of string-match and
1304 predicates, respectively. Should give satisfactory performance
1305 in all relevant cases.
1306
1307 2004-06-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1308
1309 * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from
1310 clip_x/y_origin.
1311
1312 * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca.
1313
1314 * macfns.c (Fx_display_color_cells): Do not limit return value to 256.
1315
1316 * macterm.c (mac_initialize_display_info): Initialize n_planes correctly
1317 on Mac OSX.
1318
1319 2004-06-16 Luc Teirlinck <teirllm@auburn.edu>
1320
1321 * buffer.c (syms_of_buffer): Clarify `fill-column' docstring.
1322
1323 2004-06-16 Kim F. Storm <storm@cua.dk>
1324
1325 * dispextern.h (Vimage_types): Remove extern.
1326
1327 2004-06-16 Miles Bader <miles@gnu.org>
1328
1329 * image.c (lookup_image_type): Initialize image type if necessary.
1330
1331 2004-06-15 Kim F. Storm <storm@cua.dk>
1332
1333 * xdisp.c (try_cursor_movement): Exclude header line from scroll
1334 margin at top of window.
1335 (try_window_reusing_current_matrix): Calculate proper cursor position
1336 after scrolling up with non-zero scroll margin, as the old cursor
1337 position corresponds to value of PT before executing this command.
1338 (try_window_id): Consider scroll margin at bottom of window too;
1339 otherwise we fail to scroll when hl-line-mode is enabled.
1340
1341 * syntax.c (skip_chars): Only recognize [:class:] when it has the
1342 proper format and class is a lower-case word.
1343
1344 2004-06-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1345
1346 * gtkutil.c (xg_get_image_for_pixmap): New function.
1347 (xg_get_gdk_pixmap_and_mask): Remove.
1348 (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of
1349 xg_get_gdk_pixmap_and_mask.
1350
1351 * xterm.h (struct x_display_info): Typo in comment fixed.
1352
1353 2004-06-14 Juanma Barranquero <lektu@terra.es>
1354
1355 * dispextern.h (Vimage_types): Make it conditional on
1356 HAVE_WINDOW_SYSTEM.
1357
1358 * image.c (Vimage_types): Move from xdisp.c.
1359 (Vimage_type_cache): New variable.
1360 (define_image_type): New argument indicating whether an image
1361 library was loaded; cache loaded status and return t on success,
1362 nil otherwise.
1363 (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros.
1364 (w32_delayed_load): New function to load an image library from a
1365 list of possible filenames.
1366 (init_xpm_functions, init_png_functions, init_jpeg_functions)
1367 (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'.
1368 (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument.
1369 (Finit_image_library): New function, extracted from `init_image'.
1370 Try to initialize an image library on demand and cache whether we
1371 were successful or not.
1372 (syms_of_image): Initialize `Vimage_types' and
1373 `Vimage_type_cache'. Add recognized image types to Vimage_types.
1374 Export `init-image-library'.
1375 (init_image): Remove initialization of all image types, except xbm
1376 and pbm.
1377
1378 * xdisp.c (Vimage_types): Delete (moved to image.c).
1379
1380 2004-06-14 Andreas Schwab <schwab@suse.de>
1381
1382 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
1383 Avoid calling specbind when completion-regexp-list is empty.
1384
1385 2004-06-13 Richard M. Stallman <rms@gnu.org>
1386
1387 * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
1388 (re_wctype, re_iswctype, re_wctype_to_bit):
1389 Non-function definitions moved here from regex.c.
1390
1391 * regex.c (re_wctype, re_iswctype): Function defs longer static.
1392 (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
1393 (re_wctype, re_iswctype, re_wctype_to_bit):
1394 Non-function definitions moved to regex.h.
1395
1396 * window.c (Fselect_window): Doc fix.
1397
1398 * syntax.c: Include regex.h.
1399 (skip_chars): New arg HANDLE_ISO_CLASSES. Callers changed.
1400 If requested, make a list of classes, then check the scanned
1401 chars for membership in them.
1402 (in_classes): New function.
1403 Doc fix.
1404
1405 * keyboard.c (cmd_error): Don't call any_kboard_state
1406 if inside a recursive edit level.
1407
1408 2004-06-13 Lorentey K\e,Aa\e(Broly <lorentey@elte.hu>
1409
1410 * keyboard.c (command_loop): Call any_kboard_state before
1411 command_loop_2 when at top level.
1412
1413 2004-06-13 Andreas Schwab <schwab@suse.de>
1414
1415 * print.c (print_object): Always use %ld for printing EMACS_INT.
1416
1417 * keyboard.c (cancel_hourglass_unwind): Return a value.
1418 (modify_event_symbol): Always use %ld for printing EMACS_INT.
1419 (Fexecute_extended_command): Likewise.
1420
1421 * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to
1422 avoid clashes.
1423 (SYNTAX): Likewise.
1424 (SYNTAX_WITH_FLAGS): Likewise.
1425 (SYNTAX_MATCH): Likewise.
1426
1427 * syntax.c (char_quoted): Avoid warning about undefined operation.
1428 (find_defun_start): Likewise.
1429 (scan_lists): Likewise.
1430 (INC_FROM): Likewise.
1431 (scan_sexps_forward): Likewise.
1432
1433 * image.c: Include <ctype.h>.
1434
1435 * xfaces.c (face_attr_equal_p): Declare parameters.
1436
1437 2004-06-13 Kenichi Handa <handa@m17n.org>
1438
1439 * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1.
1440
1441 2004-06-12 Matthew Mundell <matt@mundell.ukfsn.org>
1442
1443 * eval.c (Fdefun): Signal an error if NAME is not a symbol.
1444
1445 2004-06-12 Kenichi Handa <handa@m17n.org>
1446
1447 * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in
1448 ccl_prog_stack_struct and update it.
1449 (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook.
1450 (CCL_READ_CHAR): Get instruction counter from eof_ic, not from
1451 ccl->eof_ic on EOF.
1452 (ccl_debug_hook): New function.
1453 (struct ccl_prog_stack): New member eof_ic.
1454 (ccl_driver): Handle EOF in subrountine call correctly.
1455
1456 2004-06-11 Kenichi Handa <handa@m17n.org>
1457
1458 * coding.c (decode_coding_string): Check CODING_FINISH_INTERRUPT.
1459
1460 2004-06-11 Kim F. Storm <storm@cua.dk>
1461
1462 * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown.
1463
1464 2004-06-11 Juanma Barranquero <lektu@terra.es>
1465
1466 * keyboard.c (Fposn_at_point): Doc fix.
1467
1468 2004-06-11 David Kastrup <dak@gnu.org>
1469
1470 * search.c (match_limit): Don't flag an error if match-data
1471 exceeding the allocated search_regs.num_regs gets requested, just
1472 return Qnil.
1473
1474 2004-06-08 Miles Bader <miles@gnu.org>
1475
1476 * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected.
1477
1478 2004-06-07 Juanma Barranquero <lektu@terra.es>
1479
1480 * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time)
1481 (Fcurrent_time_string, Fcurrent_time_zone)
1482 (Finsert_buffer_substring, Ftranspose_regions): Doc fixes.
1483
1484 2004-06-07 Miles Bader <miles@gnu.org>
1485
1486 * xfaces.c (struct named_merge_point): New type.
1487 (push_named_merge_point): New function.
1488 (merge_named_face): New function.
1489 (merge_face_ref, face_at_buffer_position, face_at_string_position):
1490 Use `merge_named_face'.
1491 (merge_face_inheritance): Function removed.
1492 (merge_face_ref): Rename from `merge_face_vector_with_property'.
1493 Add new `err_msgs' and `named_merge_points' args. Return error
1494 status. Only print error messages if ERR_MSGS is true. Don't try to
1495 do :inherit attribute validation.
1496 (merge_face_heights): Handle `unspecified' in both directions.
1497 (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'.
1498 Call `merge_face_ref' instead of `merge_face_inheritance'.
1499 (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector)
1500 (compute_char_face, face_at_buffer_position)
1501 (face_at_string_position): Call `merge_face_ref' instead of
1502 `merge_face_vector_with_property'.
1503
1504 2004-06-07 Kenichi Handa <handa@m17n.org>
1505
1506 * coding.c (find_safe_codings): Check NILP (safe_codings) only at
1507 the necessary places.
1508
1509 2004-06-07 Kim F. Storm <storm@cua.dk>
1510
1511 * process.c (Fdelete_process): Undo 2004-05-28 change.
1512 Instead, call status_notify also for network process.
1513 (status_message): Use process instead of status as arg.
1514 Give messages "deleted" or "connection broken by remote peer" for
1515 an exited network process.
1516 (status_notify): Change call to status_message.
1517 (read_process_output): Increase readmax to 4096. Do not increase
1518 buffer size for datagram channels (default is now large enough).
1519
1520 2004-06-06 Steven Tamm <tamm@Steven-Tamms-Computer.local>
1521
1522 * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation
1523 problem due to newly defined variable.
1524
1525 2004-06-06 Miles Bader <miles@gnu.org>
1526
1527 * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
1528 immediately if non-interactive or not initialized.
1529
1530 2004-06-05 Richard M. Stallman <rms@gnu.org>
1531
1532 * minibuf.c (Fcompleting_read): Doc fix.
1533
1534 2004-06-05 Andreas Schwab <schwab@suse.de>
1535
1536 * macfns.c (x_create_tip_frame): Fix declaration after statement.
1537
1538 2004-06-05 Juanma Barranquero <lektu@terra.es>
1539
1540 * keymap.c (Fdescribe_vector): Fix docstring.
1541 (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
1542
1543 2004-06-05 Miles Bader <miles@gnu.org>
1544
1545 * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
1546 attributes have different values than the default face.
1547
1548 2004-06-04 Eli Zaretskii <eliz@gnu.org>
1549
1550 * xfaces.c (x_supports_face_attributes_p): Make this function
1551 conditional on HAVE_WINDOW_SYSTEM.
1552 (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]:
1553 Don't call x_supports_face_attributes_p if it was not compiled in.
1554
1555 2004-06-04 Miles Bader <miles@gnu.org>
1556
1557 * xfaces.c (tty_supports_face_attributes_p): New function, mostly
1558 from Ftty_supports_face_attributes_p.
1559 (x_supports_face_attributes_p): New function.
1560 (Ftty_supports_face_attributes_p): Function deleted.
1561 (Fdisplay_supports_face_attributes_p): New function.
1562 (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
1563 (face_attr_equal_p): New function.
1564 (lface_equal_p): Use it.
1565
1566 2004-06-03 Juanma Barranquero <lektu@terra.es>
1567
1568 * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
1569 (Vw32_color_map): Fix typo in docstring.
1570 (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
1571 (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
1572 Make argument names match their use in docstring.
1573
1574 2004-06-02 Juanma Barranquero <lektu@terra.es>
1575
1576 Work around bugs/problems with MinGW builds of graphics libraries
1577 called from MSVC builds of Emacs.
1578
1579 * image.c (lookup_image): Make pointer to img static.
1580 (png_read_from_memory): Disable "global" optimization.
1581
1582 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
1583
1584 * eval.c (Fcondition_case): Fix usage. Simplify.
1585
1586 * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
1587
1588 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1589
1590 * macfns.c: Don't include ccl.h.
1591 [MAC_OSX]: Don't include QuickTime/QuickTime.h.
1592 [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
1593 TextUtils.h.
1594 (Fx_create_frame): Sync with xfns.c. Initialize cursor descriptors.
1595 (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
1596 display height/width.
1597 (compute_tip_xy, Vx_max_tooltip_size): Declare.
1598 (unwind_create_tip_frame, compute_tip_xy): New functions.
1599 (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
1600 (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
1601 and last_show_tip_args.
1602
1603 * macgui.h [!MAC_OSX]: Include Gestalt.h.
1604 (Cursor, No_Cursor): New defines.
1605 [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro.
1606 [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
1607
1608 * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
1609
1610 * macterm.c: Don't include Gestalt.h.
1611 (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
1612 (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
1613 (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
1614 (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
1615 (mac_copy_area, mac_copy_area_with_mask, x_update_end)
1616 (construct_mouse_click, XTmouse_position)
1617 (x_scroll_bar_report_motion, x_calc_absolute_position)
1618 (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
1619 (XTread_socket, make_mac_frame): Use SetPortWindowPort.
1620 (note_mouse_movement): Clear the mouse face and reset the pointer
1621 shape when the pointer goes outside the frame without grabbing.
1622 (mac_front_window): New function.
1623 (mac_window_to_frame): New macro.
1624 (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
1625 (do_window_activate, do_window_deactivate, do_app_resume)
1626 (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
1627 (do_zoom_window, mac_do_receive_drag, XTread_socket)
1628 (mac_check_for_quit_char): Use mac_front_window and/or
1629 mac_window_to_frame.
1630 (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
1631 scroll-bar click event.
1632 (mac_define_frame_cursor): Change the pointer shape.
1633 (x_free_frame_resources): Reset tip_window to NULL when it is disposed.
1634 [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
1635 [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor.
1636 (do_window_update): Don't do anything if the updated window is the
1637 tooltip window.
1638 (do_mouse_moved): Handle mouse movement events here (previously in
1639 XTread_socket). Clear the mouse face if
1640 dpyinfo->mouse_face_hidden is set.
1641 (do_os_event, do_events): Remove (now in XTread_socket).
1642 (XTread_socket): Immediately return if interrupt_input_blocked.
1643 Loop until all the events in the queue are processed.
1644 Rearrange codes for mouse grabbing. Add tooltip support. Include the
1645 contents of do_os_event and do_events. Remove mouse movement
1646 handling (now in do_mouse_moved). Add the case where
1647 Vmouse_highlight has an integer value.
1648 (NewMacWindow): Remove.
1649 (make_mac_frame): Do what NewMacWindow previously did. Don't do
1650 excess initializations.
1651 (make_mac_terminal_frame): Previous initializations in
1652 make_mac_frame are moved here.
1653 (mac_initialize_display_info):
1654 Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
1655
1656 * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
1657 (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
1658
1659 2004-05-29 Richard M. Stallman <rms@gnu.org>
1660
1661 * lisp.h (truncate_undo_list): Update decl.
1662
1663 * alloc.c (undo_outer_limit): New variable.
1664 (syms_of_alloc): Defvar it.
1665 (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
1666
1667 * undo.c (truncate_undo_list): New arg LIMITSIZE.
1668
1669 * alloc.c (lisp_align_malloc): Check for base == 0
1670 regardless of HAVE_POSIX_MEMALIGN.
1671 Clean up HAVE_POSIX_MEMALIGN handling of `err'.
1672
1673 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
1674
1675 * alloc.c: Undo Kim's recent changes and fix the same bug differently.
1676 (marker_blocks_pending_free): Remove.
1677 (Fgarbage_collect): Sweep after cleaning up undo-lists.
1678 Mark the undo lists after claning them up.
1679 Don't free block in marker_blocks_pending_free.
1680 (mark_buffer): Don't mark undo_list.
1681 (gc_sweep): Sweep hash-tables and strings first.
1682 Do free marker blocks that are empty.
1683
1684 2004-05-28 Jim Blandy <jimb@redhat.com>
1685
1686 * regex.c (print_partial_compiled_pattern): Add missing 'break'
1687 after 'case wordend'. For symbeg and symend, print to stderr,
1688 like the other cases.
1689
1690 2004-05-28 Noah Friedman <friedman@splode.com>
1691
1692 * process.c (Fdelete_process): Do not call remove_process.
1693
1694 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
1695
1696 * alloc.c (struct backtrace): Remove.
1697 (Fgarbage_collect): Use the new mark_backtrace.
1698
1699 * eval.c (mark_backtrace): New function.
1700
1701 * minibuf.c (run_exit_minibuf_hook): New function.
1702 (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
1703 (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
1704
1705 2004-05-27 Kim F. Storm <storm@cua.dk>
1706
1707 * xdisp.c (back_to_previous_visible_line_start): Skip backwards
1708 over display properties, e.g. images, that replace buffer text.
1709
1710 2004-05-25 Kim F. Storm <storm@cua.dk>
1711
1712 * alloc.c (marker_blocks_pending_free): New var.
1713 (gc_sweep): Store free marker blocks on that list.
1714 (Fgarbage_collect): Free them after undo-list cleanup.
1715
1716 * process.c (wait_reading_process_input): Check connect_wait_mask
1717 before actually accepting connection in case it has already been
1718 accepted due to recursion.
1719
1720 2004-05-23 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu> (tiny change)
1721
1722 * coding.c (Fset_safe_terminal_coding_system_internal):
1723 Set suppress_error in safe_terminal_coding, not terminal_coding.
1724
1725 2004-05-22 Richard M. Stallman <rms@gnu.org>
1726
1727 * alloc.c (Fmake_string): Doc fix.
1728
1729 * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
1730 and the alist pairs too.
1731
1732 * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
1733
1734 * emacs.c (main): Update copyright year.
1735
1736 * fileio.c (Fread_file_name): Expand DIR if not absolute.
1737
1738 * insdel.c (del_range_2, replace_range): Don't write an anchor
1739 if the gap is empty.
1740
1741 * xdisp.c (try_scrolling): If scroll-up-aggressively or
1742 scroll-down-aggressively is small but positive, put point
1743 near the screen edge.
1744
1745 2004-05-22 Juanma Barranquero <lektu@terra.es>
1746
1747 * keymap.c (Fdefine_key): Doc fix.
1748
1749 2004-05-22 Kim F. Storm <storm@cua.dk>
1750
1751 * alloc.c (struct backtrace): Add debug_on_exit member.
1752 (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
1753 Identify those markers as Lisp_Misc_Free objects. Clear car and cdr of
1754 the removed cons cells.
1755 (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
1756 (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
1757 any cons cells pointing to unallocated stings.
1758 Do not lisp_free any marker blocks, as there may still be pointers
1759 to them from buffer undo lists at this stage of GC.
1760
1761 * keyboard.c (struct backtrace): Add debug_on_exit member.
1762 (Fcommand_execute): Clear it.
1763
1764 2004-05-20 Luc Teirlinck <teirllm@auburn.edu>
1765
1766 * intervals.c (lookup_char_property): Do not prematurely return nil.
1767
1768 2004-05-19 Jim Blandy <jimb@redhat.com>
1769
1770 Add support for new '\_<' and '\_>' regexp operators, matching the
1771 beginning and end of symbols.
1772
1773 * regex.c (enum syntaxcode): Add Ssymbol.
1774 (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
1775 (re_opcode_t): New opcodes `symbeg' and `symend'.
1776 (print_partial_compiled_pattern): Print the new opcodes properly.
1777 (regex_compile): Parse the new operators.
1778 (analyse_first): Skip sym(beg|end) (they match only the empty string).
1779 (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
1780 \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
1781 (re_match_2_internal): Match symbeg and symend.
1782
1783 * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
1784
1785 2004-05-19 Kim F. Storm <storm@cua.dk>
1786
1787 * .gdbinit (xsymbol): Fix last change.
1788
1789 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
1790
1791 * .gdbinit (xprintstr): New fun.
1792 (xstring, xprintsym): Use it.
1793
1794 * w32proc.c (create_child): Use INTMASK.
1795
1796 * alloc.c (Fgarbage_collect): Do all the marking before flushing
1797 unmarked elements of the undo list.
1798
1799 2004-05-18 David Ponce <david@dponce.com>
1800
1801 * print.c (print): Reset print_depth before to call print_object.
1802
1803 2004-05-18 Jason Rumney <jasonr@gnu.org>
1804
1805 * w32console.c: Prefix RIF functions with w32con_ to avoid
1806 namespace clash with functions in term.c and w32term.c.
1807
1808 * w32menu.c (add_menu_item, w32_menu_display_help)
1809 [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
1810
1811 * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
1812
1813 2004-05-18 Eli Zaretskii <eliz@gnu.org>
1814
1815 * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
1816
1817 * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
1818 with make_number.
1819 (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
1820 with XINT.
1821
1822 2004-05-18 Kim F. Storm <storm@cua.dk>
1823
1824 * blockinput.h (INPUT_BLOCKED_P): New macros.
1825
1826 * keyboard.c (Frecursive_edit): Return immediately if input blocked.
1827 (Ftop_level): Unblock input if blocked.
1828
1829 * buffer.h (GET_OVERLAYS_AT): New macro.
1830 * msdos.c (IT_note_mouse_highlight): Use it.
1831 * textprop.c (get_char_property_and_overlay): Use it.
1832 * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
1833 * xfaces.c (face_at_buffer_position): Use it.
1834
1835 * print.c (print_object): Increase buf size.
1836
1837 2004-05-17 Jason Rumney <jasonr@gnu.org>
1838
1839 * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
1840 (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
1841 Lisp_Object using i member.
1842 (w32_quit_key): Rename from Vw32_quit_key, and make an int.
1843 (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
1844 consistently.
1845
1846 * w32proc.c (create_child): Use make_number instead of masking pid.
1847
1848 * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
1849 (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
1850 Use EQ to compare Lisp_Objects.
1851 (w32_parse_hot_key): Use int for lisp_modifiers consistently.
1852
1853 * w32term.c (w32_num_mouse_buttons): Rename from
1854 Vw32_num_mouse_buttons and make it an int.
1855
1856 * w32.c (init_environment): Use it.
1857
1858 * w32fns.c (w32_wnd_proc): Likewise.
1859
1860 * w32proc.c (w32_pipe_read_delay): Rename from
1861 Vw32_pipe_read_delay and make it an int.
1862
1863 * w32.c (_sys_read_ahead): Use it.
1864
1865 * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
1866
1867 * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
1868
1869 * w32inevt.c (w32_console_mouse_position, do_mouse_event)
1870 (key_event): Don't mix Lisp_Object and int.
1871
1872 * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
1873
1874 * keyboard.c (kbd_buffer_get_event): Don't use event->code and
1875 modifiers in language change event.
1876
1877 2004-05-17 Kim F. Storm <storm@cua.dk>
1878
1879 * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
1880 Such objects may be freed markers which still exist on an undo list.
1881
1882 2004-05-16 Juanma Barranquero <lektu@terra.es>
1883
1884 * data.c (Fset_default): Make argument names match their use in
1885 docstring.
1886
1887 2004-05-15 Andreas Schwab <schwab@suse.de>
1888
1889 * emacs.c (gdb_array_mark_flag): Define.
1890 * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
1891
1892 2004-05-15 Eli Zaretskii <eliz@gnu.org>
1893
1894 * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
1895 __attribute__((__aligned__)), so that USE_LSB_TAG would not become
1896 defined for the MS-DOS build.
1897
1898 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
1899
1900 * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
1901
1902 2004-05-14 Kenichi Handa <handa@m17n.org>
1903
1904 * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
1905
1906 2004-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1907
1908 * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
1909 section to frame.c section.
1910 (Fxw_display_color_p, Fx_file_dialog): Declare if
1911 HAVE_WINDOW_SYSTEM defined.
1912
1913 * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
1914
1915 * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
1916
1917 * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
1918 (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
1919 (XTread_socket): Fix int/Lisp_Object mixup.
1920 (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
1921
1922 * macterm.h (struct frame, struct face, struct image)
1923 (display_x_get_resource, Fx_display_color_p)
1924 (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
1925 Add prototypes.
1926
1927 2004-05-14 Kim F. Storm <storm@cua.dk>
1928
1929 * process.c (wait_reading_process_input): Make reentrant.
1930 Make Available and Connecting non-static. Save and restore value
1931 of waiting_for_user_input_p.
1932
1933 2004-05-13 Kim F. Storm <storm@cua.dk>
1934
1935 * keyboard.c (mark_kboards): Don't mark x and y members
1936 that are overloaded in selection request events.
1937
1938 2004-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
1939
1940 * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
1941
1942 2004-05-13 Glenn Morris <gmorris@ast.cam.ac.uk>
1943
1944 * window.c (Fdisplay_buffer, Fsplit_window)
1945 (split-height-threshold): Doc fix.
1946
1947 2004-05-13 Juanma Barranquero <lektu@terra.es>
1948
1949 * xfaces.c (Ftty_supports_face_attributes_p)
1950 (Finternal_copy_lisp_face): Fix typo in docstring.
1951 (Finternal_get_lisp_face_attribute): Fix docstring.
1952
1953 2004-05-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1954
1955 * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
1956
1957 2004-05-11 Steven Tamm <steventamm@mac.com>
1958
1959 * macfns.c (Fx_create_frame): Default to using tool-bar by
1960 setting tool-bar-lines to 1 in default-frame-alist.
1961
1962 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1963
1964 * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
1965 (xpm_get_color_table_v, xpm_make_color_table_h)
1966 (xpm_put_color_table_h, xpm_get_color_table_h)
1967 (xpm_str_to_color_key, xpm_load_image, xpm_load)
1968 (syms_of_image): Support XPM on Carbon Emacs. Does not
1969 depend on libXpm, but only supports XPM version 3 without extensions.
1970
1971 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1972
1973 * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
1974 instead of FRAME_X_P
1975
1976 2004-05-11 Kim F. Storm <storm@cua.dk>
1977
1978 * process.c (read_process_output): Grow decoding_buf when needed;
1979 this could cause a crash in allocate_string and compact_small_strings.
1980
1981 2004-04-29 Jim Blandy <jimb@redhat.com>
1982
1983 * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
1984 against proper opcode.
1985
1986 2004-05-10 Juanma Barranquero <lektu@terra.es>
1987
1988 * process.c (Fstart_process): Fix docstring.
1989
1990 * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
1991 (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
1992 (Fsplit_char, Fchar_charset): Make argument names match their use
1993 in docstring.
1994
1995 2004-05-10 Richard M. Stallman <rms@gnu.org>
1996
1997 * print.c (print_preprocess): Use being_printed, loop_count and
1998 halftail to detect overdeep nesting and cyclic cdr chains.
1999
2000 2004-05-10 Andreas Schwab <schwab@suse.de>
2001
2002 * lisp.h: Declare Fmake_symbolic_link.
2003
2004 * fileio.c (Frename_file): Remove extra argument in call to
2005 Fmake_symbolic_link.
2006
2007 2004-05-10 Kim F. Storm <storm@cua.dk>
2008
2009 * xdisp.c (calc_line_height_property): Use string position when
2010 object is a string.
2011
2012 2004-05-10 Kenichi Handa <handa@m17n.org>
2013
2014 * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
2015 inhibit-modification-hooks to t temporarily before calling
2016 Ferase_buffer.
2017
2018 * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
2019 inhibit-modification-hooks to t temporarily before calling
2020 Ferase_buffer.
2021
2022 * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
2023 inhibit-modification-hooks to t temporarily before calling
2024 Ferase_buffer.
2025
2026 * fns.c (count_combining): Delete it.
2027 (concat): Don't check combining bytes.
2028
2029 2004-05-09 Jason Rumney <jasonr@gnu.org>
2030
2031 * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
2032 (globals_of_w32fns): Set it.
2033
2034 2004-05-09 Piet van Oostrum <piet@cs.uu.nl> (tiny change)
2035
2036 * data.c (Fquo): Simplify.
2037
2038 2004-05-08 Peter Whaite <emacs@whaite.ca> (tiny change)
2039
2040 * data.c (Fquo): If any argument is float, do the computation in
2041 floating point.
2042
2043 2004-05-08 Juanma Barranquero <lektu@terra.es>
2044
2045 * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
2046 (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
2047 Fix spelling of Emacs on docstring.
2048 (Fset_process_coding_system, Fprocess_coding_system)
2049 (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
2050 Make argument names match their use in docstring.
2051 (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
2052 Fix docstring.
2053
2054 * editfns.c (Finsert_buffer_substring): Make argument names match their
2055 use in docstring.
2056
2057 * syntax.c (Fmodify_syntax_entry): Fix docstring.
2058
2059 2004-05-07 Steven Tamm <steventamm@mac.com>
2060
2061 * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
2062 around call to ReceiveEvent to avoid certain crashes.
2063
2064 2004-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2065
2066 * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
2067 (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
2068 (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
2069 Save/restore the current graphics port and device handle when
2070 drawing into an offscreen graphics world.
2071
2072 * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
2073 (gif_load): Likewise.
2074
2075 2004-05-07 Juanma Barranquero <lektu@terra.es>
2076
2077 * window.c (Fset_window_buffer): Fix docstring.
2078
2079 2004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
2080
2081 * emacs.c (main) [VMS]: Fix var ref.
2082
2083 2004-05-06 Romain Francoise <romain@orebokech.com> (tiny change)
2084
2085 * data.c (Fsetq_default): Fix docstring.
2086
2087 2004-05-06 Jason Rumney <jasonr@gnu.org>
2088
2089 * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
2090 to avoid name clash.
2091
2092 2004-05-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2093
2094 * fileio.c (barf_or_query_if_file_exists): Use lstat.
2095 (Frename_file): Handle renaming of symlinks across file systems.
2096 (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
2097
2098 2004-05-04 Kim F. Storm <storm@cua.dk>
2099
2100 * xdisp.c (Qtotal): New var.
2101 (syms_of_xdisp): Intern and staticpro it.
2102 (calc_line_height_property): New arg total. Set it if
2103 line-spacing property has format (total . VALUE).
2104 (x_produce_glyphs): Ignore line-spacing if line-height is 0.
2105 Handle total line-spacing property.
2106
2107 2004-05-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2108
2109 * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
2110 "under" scroll bar when size/position changes.
2111
2112 2004-05-03 Jason Rumney <jasonr@gnu.org>
2113
2114 * makefile.nt: Remove.
2115
2116 2004-05-02 Eli Zaretskii <eliz@gnu.org>
2117
2118 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
2119 Avoid compiler warnings.
2120
2121 * Makefile.in (region-cache.o): Depend on config.h.
2122
2123 2004-05-02 Romain Francoise <romain@orebokech.com> (tiny change)
2124
2125 * indent.c (compute_motion): Save vpos in prev_vpos when dealing
2126 with continuation lines, too.
2127
2128 2004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
2129
2130 * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
2131
2132 2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
2133
2134 * xdisp.c (calc_line_height_property): YAILOM (yet another
2135 int/Lisp_Object mixup).
2136
2137 2004-05-01 Eli Zaretskii <eliz@gnu.org>
2138
2139 * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
2140 undo bad effect of pack(4) in some versions of system headers.
2141
2142 2004-05-01 Jason Rumney <jasonr@gnu.org>
2143
2144 * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
2145
2146 2004-04-30 Kim F. Storm <storm@cua.dk>
2147
2148 * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
2149 (syms_of_buffer) <cursor-type>: Doc fix.
2150
2151 * dispextern.h (struct it): Remove member use_default_face.
2152 Add members override_ascent, override_descent, override_boff.
2153
2154 * xdisp.c (init_iterator): Handle line-spacing float value.
2155 Initialize override_ascent member.
2156 (append_space_for_newline): Reset override_ascent.
2157 Remove use_default_face.
2158 (calc_line_height_property): New function to calculate value of
2159 line-height and line-spacing properties. Look at overlays, too.
2160 Set override_ascent, override_descent, override_boff members when
2161 using another face than the current face. Float values are now
2162 relative to the frame default font, by default; accept a cons
2163 of ratio and face name to specify value relative to a specific face.
2164 (x_produce_glyphs): Use calc_line_height_property.
2165 Use override_ascent etc. when set to handle different face heights.
2166 A negative line-spacing property value is interpreted as a total
2167 line height, rather than inter-line spacing.
2168 (note_mouse_highlight): Allocate room for 40 overlays initially.
2169
2170 2004-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
2171
2172 * data.c (Fsubr_name): New fun.
2173 (syms_of_data): Defsubr it.
2174
2175 2004-04-29 Kim F. Storm <storm@cua.dk>
2176
2177 * xdisp.c (null_glyph_slice): New var.
2178 (append_glyph, append_composite_glyph, append_stretch_glyph):
2179 Use it to initialize glyph slice.
2180
2181 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
2182
2183 * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
2184 (on_hot_spot_p): Make sure we always return a value.
2185 (Flookup_image_map): Remove unused var ix and iy.
2186 (note_mode_line_or_margin_highlight): Remove unused var `image'.
2187
2188 2004-04-27 Eli Zaretskii <eliz@gnu.org>
2189
2190 * msdos.c (init_environment): If one of the TMP... environment
2191 variables is set to a drive letter without a trailing slash,
2192 append a slash.
2193
2194 2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
2195
2196 * editfns.c (lisp_time_argument): Provide externally.
2197
2198 * fileio.c (Fset_file_times): New function.
2199 (syms_of_fileio): Intern and staticpro it.
2200
2201 2004-04-27 Kim F. Storm <storm@cua.dk>
2202
2203 * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
2204 header line strings.
2205
2206 * dispextern.h (struct it): New member use_default_face.
2207
2208 * xdisp.c (Qline_height): New variable.
2209 (syms_of_xdisp): Intern and staticpro it.
2210 (append_space_for_newline): Partially undo 2004-04-25 change;
2211 add default_face_p arg, and restore callers.
2212 Clear it->use_default_face after use.
2213 (x_produce_glyphs): Set default font for ascii char if
2214 it->use_default_font is set. Change line-spacing property to set
2215 just extra line spacing. Handle new line-height property.
2216
2217 2004-04-26 Andreas Schwab <schwab@suse.de>
2218
2219 * print.c (print_object): Print non-ascii characters in bool
2220 vector representation as octal escapes.
2221
2222 * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
2223 * print.c (print_object): Use it instead of BITS_PER_CHAR for
2224 bool vectors.
2225 * lread.c (read1): Likewise.
2226 * alloc.c (Fmake_bool_vector): Likewise.
2227 * data.c (Faref, Faset): Likewise.
2228 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
2229 (mapcar1): Likewise.
2230
2231 2004-04-26 Steven Tamm <tamm@Steven-Tamms-Computer.local>
2232
2233 * lread.c (init_lread): Fixing typo HAVE_CARBON test logic
2234
2235 2004-04-26 Miles Bader <miles@gnu.org>
2236
2237 * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
2238
2239 2004-04-26 Juanma Barranquero <lektu@terra.es>
2240
2241 * buffer.c (Fpop_to_buffer): Fix docstring.
2242
2243 2004-04-26 Steven Tamm <steventamm@mac.com>
2244
2245 * lread.c (init_lread): Don't display missing lisp directory
2246 warnings with Carbon Emacs because self-contained bundled Emacs
2247 may be built without correct installation path.
2248
2249 2004-04-25 Kim F. Storm <storm@cua.dk>
2250
2251 * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
2252
2253 * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
2254
2255 * xdisp.c (append_space_for_newline): Rename from append_space.
2256 Remove DEFAULT_FACE_P arg; always use current face. Callers changed.
2257 (x_produce_glyphs): Handle line-spacing property on newline char.
2258 If value is t, adjust ascent and descent to fit current row height.
2259 If value is an integer or float, set extra_line_spacing to integer
2260 value, or to float value x current line height.
2261
2262 2004-04-23 Kenichi Handa <handa@m17n.org>
2263
2264 * fontset.c (Finternal_char_font): If POSITION is nil, return
2265 font for displaying CH with the default face.
2266
2267 2004-04-23 Juanma Barranquero <lektu@terra.es>
2268
2269 * makefile.w32-in: Add "-*- makefile -*-" mode tag.
2270
2271 2004-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
2272
2273 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
2274 Don't make assumptions about the relative place of i and val.
2275 (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
2276
2277 2004-04-21 Kim F. Storm <storm@cua.dk>
2278
2279 * dispextern.h (struct glyph_slice): New struct.
2280 (struct glyph): New member slice.
2281 (GLYPH_SLICE_EQUAL_P): New macro.
2282 (GLYPH_EQUAL_P): Use it.
2283 (struct glyph_string): New member slice.
2284 (struct it_slice): New struct.
2285 (struct it): New member slice, add member to stack too.
2286 New member constrain_row_ascent_descent_p.
2287 (image_ascent): Add prototype.
2288
2289 * dispnew.c (buffer_posn_from_coords): Return full image width
2290 and height even for image slices (posn is relative to full image).
2291 (marginal_area_string): Adjust x0,y0 for image slice.
2292
2293 * image.c (image_ascent): Add slice arg; calculate ascent for
2294 image slice (or full image).
2295
2296 * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
2297 (syms_of_keyboard): Defsubr them.
2298
2299 * lisp.h (pos_visible_p): Fix prototype.
2300
2301 * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
2302 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
2303 (x_draw_image_foreground, x_draw_image_relief)
2304 (x_draw_image_foreground_1, x_draw_image_glyph_string):
2305 Draw sliced images.
2306
2307 * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
2308 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
2309 (x_draw_image_foreground, x_draw_image_relief)
2310 (w32_draw_image_foreground_1, x_draw_image_glyph_string):
2311 Draw sliced images.
2312
2313 * w32term.h (image_ascent): Remove prototype.
2314
2315 * window.c (Fpos_visible_in_window_p): Return pixel position if
2316 PARTIALLY arg is non-nil. Simplify. Doc fix.
2317 (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
2318 to return/set vscroll in pixels.
2319
2320 * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
2321
2322 * xdisp.c (Qslice): New variable.
2323 (syms_of_xdisp): Intern and staticpro it.
2324 (pos_visible_p): Return pixel position in new x and y args.
2325 (init_iterator): Reset it->slice info.
2326 (handle_display_prop): Parse (slice ...) property.
2327 (push_it, pop_it): Save/restore slice info.
2328 (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
2329 force repositioning of tall row if window is vscrolled, as that
2330 would reset vscroll.
2331 (append_space): Set it->constrain_row_ascent_descent_p to avoid
2332 increasing row height if row is non-empty.
2333 (fill_image_glyph_string): Copy slice info.
2334 (take_vertical_position_into_account): Simplify.
2335 (produce_image_glyph): Handle iterator slice info, setup glyph
2336 slice info. Do not force minimum line height.
2337 (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
2338 do not increase height (ascent/descent) of non-empty row when
2339 adding normal character glyph; instead reduce glyph ascent/descent
2340 appropriately; if row is higher than current glyph, adjust glyph
2341 descent/ascent to reposition glyph within the existing row.
2342 Likewise, when char is newline, only set ascent/descent if row is
2343 currently empty.
2344 (note_mouse_highlight): Handle hotspots with sliced image.
2345
2346 * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
2347 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
2348 (x_draw_image_foreground, x_draw_image_relief)
2349 (x_draw_image_foreground_1, x_draw_image_glyph_string):
2350 Draw sliced images.
2351
2352 * xterm.h (image_ascent): Remove prototype.
2353
2354 2004-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
2355
2356 * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
2357
2358 2004-04-20 John Paul Wallington <jpw@gnu.org>
2359
2360 * fns.c (Fassoc, Feql): Fix indentation.
2361
2362 * fontset.c (regularize_fontname): Rename from regulalize_fontname.
2363
2364 2004-04-19 John Paul Wallington <jpw@gnu.org>
2365
2366 * fns.c (Feql): New function.
2367 (syms_of_fns): Defsubr it.
2368
2369 2004-04-18 Jason Rumney <jasonr@gnu.org>
2370
2371 * w32select.c (Fw32_set_clipboard_data): Get sequence number
2372 after closing the clipboard.
2373
2374 2004-04-16 Luc Teirlinck <teirllm@auburn.edu>
2375
2376 * buffer.c (Fbuffer_base_buffer): Doc fix.
2377
2378 2004-04-17 Kim F. Storm <storm@cua.dk>
2379
2380 * keymap.c (Fkey_description): Add optional PREFIX arg.
2381 Combine prefix with KEYS to make up the full key sequence to describe.
2382 Correlate meta_prefix_char and following (simple) key to describe
2383 as meta modifier. All callers changed.
2384 (describe_map): Rename arg `keys' to `prefix'. Remove local
2385 `elt_prefix' var. Use Fkey_description with prefix instead of
2386 elt_prefix combined with Fsingle_key_description.
2387 (describe_vector): Declare static. Replace arg `elt_prefix' with
2388 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
2389 if !KEYMAP_P. Use Fkey_description with prefix instead of
2390 Fsingle_key_description.
2391
2392 * keymap.h (Fkey_description): Fix prototype.
2393 (describe_vector): Remove prototype.
2394
2395 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
2396
2397 * image.c (PNG_BG_COLOR_SHIFT): Remove.
2398 (png_load): Fix calculation of transparent background color on X
2399 and W32 platforms.
2400
2401 2004-04-16 Juanma Barranquero <lektu@terra.es>
2402
2403 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
2404 not too large before computing how much to scroll.
2405
2406 2004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
2407
2408 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
2409
2410 2004-04-14 Luc Teirlinck <teirllm@auburn.edu>
2411
2412 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
2413 Add hyperlink to Elisp manual to the docstring.
2414
2415 2004-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
2416
2417 * callint.c (fix_command): Use XDCR.
2418
2419 2004-04-14 Nick Roberts <nick@nick.uklinux.net>
2420
2421 * window.c (Fget_lru_window): Doc fix.
2422
2423 2004-04-14 Kim F. Storm <storm@cua.dk>
2424
2425 * editfns.c (Fformat): Fix allocation size of precision array.
2426
2427 * dispnew.c (update_window): Only set changed_p if
2428 scrolling_window actually did scroll.
2429 (scrolling_window): Only return 1 if we actually did scroll.
2430
2431 * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
2432 height to glyph height when cursor row is not fully visible.
2433 (make_cursor_line_fully_visible): Add FORCE_P arg to return
2434 failure in case row is higher than window. Callers changed.
2435 (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
2436 Try to scroll partially visible, higher-than-window cursor row.
2437 (redisplay_window): Always try to scroll partially visible,
2438 higher-than-window cursor row - both initially and again with
2439 centering_position = 0.
2440 Clear desired matrix before retrying with centering_position = 0.
2441
2442 2004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
2443
2444 * syntax.c (scan_lists): Simplify backward string scan.
2445 Fix off-by-one boundary check for string and comment fences.
2446
2447 2004-04-13 Joe Buehler <jbuehler@hekimian.com>
2448
2449 * sheap.c, unexcw.c: New files.
2450
2451 2004-04-12 Luc Teirlinck <teirllm@auburn.edu>
2452
2453 * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
2454 base buffer has been killed. Correct the error message if the
2455 base buffer does not exist.
2456
2457 2004-04-12 Joe Buehler <jbuehler@hekimian.com>
2458
2459 * s/cygwin.h: Changes for Cygwin unexec() support, changes in
2460 Cygwin itself. Add support for Xaw3d scrollbars.
2461
2462 * puresize.h: Set up PURE_P() for Cygwin unexec() support.
2463
2464 * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
2465
2466 * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
2467 before Cygwin unexec.
2468
2469 * Makefile.in: Link changes for Cygwin unexec() support.
2470
2471 2004-04-12 Andreas Schwab <schwab@suse.de>
2472
2473 * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
2474
2475 2004-04-11 Luc Teirlinck <teirllm@auburn.edu>
2476
2477 * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
2478 IGNORE argument equals NAME. Doc fix.
2479
2480 2004-04-11 Masatake YAMATO <jet@gyve.org>
2481
2482 * buffer.c (fix_start_end_in_overlays): Make overlays
2483 empty if they are backwards.
2484
2485 2004-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2486
2487 * xfaces.c (face_color_supported_p): Fix compilation without X11.
2488
2489 2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
2490
2491 * doc.c (Fsnarf_documentation): Ignore new file name entries.
2492
2493 2004-04-06 Kim F. Storm <storm@cua.dk>
2494
2495 * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
2496 (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
2497
2498 * w32term.c (w32_read_socket): Set mouse_face_hidden after
2499 clearing highlight.
2500
2501 * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
2502
2503 * xterm.c (handle_one_xevent): Set mouse_face_hidden after
2504 clearing highlight.
2505
2506 * indent.c (vmotion): Do not reserve one column for continuation
2507 marks on window frames.
2508
2509 2004-04-04 Eli Zaretskii <eliz@gnu.org>
2510
2511 * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
2512 from GCC.
2513
2514 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
2515
2516 * .gdbinit-union: Remove.
2517
2518 * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
2519 (xgetptr, xgetint, xgettype): New funs. Use them everywhere.
2520 ($nonvalbits): Remove.
2521 ($valmask): Set it by calling xreload to avoid redundancy.
2522
2523 * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
2524 (gdb_emacs_intbits): Remove.
2525
2526 2004-03-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2527
2528 * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
2529
2530 2004-03-30 Kenichi Handa <handa@m17n.org>
2531
2532 * editfns.c (Fformat): Fix initialization of the array info.
2533
2534 2004-03-30 Kim F. Storm <storm@cua.dk>
2535
2536 * xterm.c (x_mouse_click_focus_ignore_position): New var.
2537 (syms_of_xterm): DEFVAR_BOOL it.
2538 (ignore_next_mouse_click_timeout): New var.
2539 (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
2540 Use it to filter mouse clicks following focus event.
2541
2542 2004-03-29 David Ponce <david@dponce.com>
2543
2544 * callint.c (Fcall_interactively): Fix last change.
2545
2546 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
2547
2548 * eval.c (Fcommandp): Simplify.
2549
2550 * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
2551 Extend to handle all kinds of functions.
2552
2553 * lisp.h (Finteractive_form): Declare.
2554
2555 * callint.c (Fcall_interactively): Use it.
2556
2557 2004-03-26 Kim F. Storm <storm@cua.dk>
2558
2559 * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
2560 to catch errors in calc_pixel_width_or_height during redisplay.
2561
2562 2004-03-26 Masatake YAMATO <jet@gyve.org>
2563
2564 * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
2565
2566 * lisp.h (fix_start_end_in_overlays): Likewise.
2567
2568 * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
2569
2570 * editfns.c (Ftranspose_regions): Likewise.
2571
2572 2004-03-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2573
2574 * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
2575
2576 2004-03-19 Richard M. Stallman <rms@gnu.org>
2577
2578 * s/sol2-6.h: Delete previous change.
2579
2580 2004-03-19 Kim F. Storm <storm@cua.dk>
2581
2582 * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
2583 to_charpos corresponds to newline in right fringe. Use local
2584 BUFFER_POS_REACHED_P macro.
2585
2586 2004-03-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2587
2588 * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
2589 to compile on non-window system.
2590
2591 2004-03-19 Kim F. Storm <storm@cua.dk>
2592
2593 * dispextern.h (calc_pixel_width_or_height): Add prototype.
2594
2595 * image.c (Qcenter): Move to xdisp.c.
2596
2597 * xdisp.c (Qcenter): Declare here.
2598 (syms_of_xdisp): Intern and staticpro it.
2599 (handle_single_display_prop): Allow space display property on all
2600 platforms.
2601 (display_mode_line): Set mode_line_p before displaying line.
2602 (calc_pixel_width_or_height): Declare extern. Add separate :align-to
2603 handling. Remove complex cases for fringes and scroll-bars.
2604 Add left, right, and center alignment positions. Add text (area)
2605 width/height. Return width or height for image specs.
2606 (produce_stretch_glyph): Improve handling of :align-to. Is now
2607 relative to left of text area by default, but other base offsets
2608 can be specified -- also for text lines.
2609
2610 * term.c (produce_glyphs): Handle IT_STRETCH.
2611 (produce_stretch_glyph): New function to handle space width and
2612 align-to display properties on non-window systems.
2613
2614 2004-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
2615
2616 * fileio.c (Fread_file_name): Set completion-ignore-case for
2617 case-insensitive systems.
2618
2619 2004-03-14 Masatake YAMATO <jet@gyve.org>
2620
2621 * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
2622 when keymap and cursor are setup.
2623
2624 2004-03-14 Steven Tamm <steventamm@mac.com>
2625
2626 * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
2627
2628 2004-03-14 Kim F. Storm <storm@cua.dk>
2629
2630 * dispextern.h (x_find_image_file): Add prototype.
2631
2632 * image.c (x_find_image_file): Make extern.
2633
2634 * xfns.c (x_find_image_file): Remove prototype.
2635
2636 2004-03-13 Eli Zaretskii <eliz@gnu.org>
2637
2638 * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
2639
2640 * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
2641
2642 2004-03-12 Richard M. Stallman <rms@gnu.org>
2643
2644 * fns.c (internal_equal): New arg PROPS controls comparing
2645 text properties. All callers changed.
2646 (Fequal_including_properties): New function.
2647 (syms_of_fns): defsubr it.
2648
2649 2004-03-12 Kim F. Storm <storm@cua.dk>
2650
2651 Fix image support on MAC. From YAMAMOTO Mitsuharu.
2652
2653 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
2654 (image_background, image_background_transparent): Fix prototypes.
2655
2656 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
2657
2658 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
2659 (x_query_font, x_find_ccl_program, x_set_window_size)
2660 (x_make_frame_visible, mac_initialize, XCreatePixmap)
2661 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
2662 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
2663
2664 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
2665 (x_query_font, x_find_ccl_program, x_set_window_size)
2666 (x_make_frame_visible, mac_initialize, XCreatePixmap)
2667 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
2668 (mac_draw_line_to_pixmap): Add prototypes.
2669
2670 2004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2671
2672 * macterm.c (XTread_socket): Fix mouse click on tool bar.
2673
2674 2004-03-11 Kim F. Storm <storm@cua.dk>
2675
2676 * dispextern.h: Move image related prototypes from xfns.c section
2677 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
2678 HAVE_X_WINDOWS.
2679
2680 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
2681 Move gtkutil.o to new GTK_OBJ list.
2682 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
2683 (GTK_OBJ) [USE_GTK]: New declaration.
2684 (obj): Add $(GTK_OBJ) to list.
2685
2686 2004-03-11 Steven Tamm <steventamm@mac.com>
2687
2688 * image.c [MAC_OSX]: Include sys/stat.h
2689
2690 * macfns.c (syms_of_macfns): Remove definitions of things now
2691 defined in image.c
2692
2693 2004-03-11 Kim F. Storm <storm@cua.dk>
2694
2695 The following changes consolidates the identical/similar image
2696 support code previously found in xfns.c, w32fns.c, and macfns.c
2697 into a new file image.c.
2698
2699 * makefile.w32-in (OBJ1): Add image.o.
2700 ($(BLD)/image.$(O)): Add dependencies.
2701
2702 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
2703 (image.o): Add dependencies.
2704
2705 * image.c: New file with consolidated image support code.
2706 (COLOR_TABLE_SUPPORT): New define to control whether
2707 color table support is available (X only).
2708 (Bitmap_Record): Common name for x_bitmap_record,
2709 w32_bitmap_record, and mac_bitmap_record.
2710 (XImagePtr): Common name for pointer to XImage or equivalent.
2711 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
2712 to XImagePtr on X+MAC, and to HDC on W32.
2713 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
2714 (NO_PIXMAP): Common name for "None" or equivalent.
2715 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
2716 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
2717 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
2718 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
2719 Define with suitable equivalents on W32 and MAC for code sharing.
2720 (XDrawLine): Define on MAC for code sharing.
2721 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
2722 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
2723 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
2724 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
2725 (x_reference_bitmap, x_create_bitmap_from_data)
2726 (x_create_bitmap_from_file, x_destroy_bitmap)
2727 (x_destroy_all_bitmaps, x_create_bitmap_mask)
2728 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
2729 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
2730 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
2731 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
2732 (define_image_type, lookup_image_type, valid_image_p)
2733 (image_error, enum image_value_type, struct image_keyword)
2734 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
2735 (make_image, free_image, prepare_image_for_display, image_ascent)
2736 (four_corners_best, image_background, image_background_transparent)
2737 (x_clear_image_1, x_clear_image, x_alloc_image_color)
2738 (make_image_cache, free_image_cache, clear_image_cache)
2739 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
2740 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
2741 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
2742 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
2743 (init_image_func_pointer, image_load_quartz2d)
2744 (struct ct_color, init_color_table, free_color_table)
2745 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
2746 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
2747 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
2748 (x_disable_image, x_build_heuristic_mask)
2749 (XBM support, XPM support, PBM support, PNG support, JPEG support)
2750 (TIFF support, GIF support, Ghostscript support): Consolidate image
2751 code from xfns.c, w32fns.c, and macfns.c.
2752 (syms_of_image): Consolidate image related symbol setup here.
2753 (init_image): Consolidate image related initializations here.
2754
2755 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
2756 and init_image. Remove call to init_xfns.
2757
2758 * macterm.h (struct mac_bitmap_record): Add file member.
2759 Not currently used, but simplifies code sharing.
2760
2761 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
2762 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
2763 (x_reference_bitmap, x_create_bitmap_from_data)
2764 (x_create_bitmap_from_file, x_destroy_bitmap)
2765 (x_destroy_all_bitmaps, x_create_bitmap_mask)
2766 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
2767 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
2768 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
2769 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
2770 (define_image_type, lookup_image_type, valid_image_p)
2771 (image_error, enum image_value_type, struct image_keyword)
2772 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
2773 (make_image, free_image, prepare_image_for_display, image_ascent)
2774 (four_corners_best, image_background, image_background_transparent)
2775 (x_clear_image_1, x_clear_image, x_alloc_image_color)
2776 (make_image_cache, free_image_cache, clear_image_cache)
2777 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
2778 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
2779 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
2780 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
2781 (init_image_func_pointer, image_load_quartz2d)
2782 (struct ct_color, init_color_table, free_color_table)
2783 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
2784 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
2785 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
2786 (x_disable_image, x_build_heuristic_mask)
2787 (XBM support, XPM support, PBM support, PNG support, JPEG support)
2788 (TIFF support, GIF support, Ghostscript support): Merge with image
2789 code from xfns.c and macfns.c into image.c.
2790 (syms_of_xfns): Move image related symbols to image.c.
2791 (init_external_image_libraries, init_xfns): Remove; initialization
2792 moved to init_image in image.c.
2793
2794 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
2795 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
2796 (x_reference_bitmap, x_create_bitmap_from_data)
2797 (x_create_bitmap_from_file, x_destroy_bitmap)
2798 (x_destroy_all_bitmaps, x_create_bitmap_mask)
2799 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
2800 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
2801 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
2802 (define_image_type, lookup_image_type, valid_image_p)
2803 (image_error, enum image_value_type, struct image_keyword)
2804 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
2805 (make_image, free_image, prepare_image_for_display, image_ascent)
2806 (four_corners_best, image_background, image_background_transparent)
2807 (x_clear_image_1, x_clear_image, x_alloc_image_color)
2808 (make_image_cache, free_image_cache, clear_image_cache)
2809 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
2810 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
2811 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
2812 (struct ct_color, init_color_table, free_color_table)
2813 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
2814 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
2815 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
2816 (x_disable_image, x_build_heuristic_mask)
2817 (XBM support, XPM support, PBM support, PNG support, JPEG support)
2818 (TIFF support, GIF support, Ghostscript support): Merge with image
2819 code from xfns.c and macfns.c into image.c.
2820 (syms_of_xfns): Move image related symbols to image.c.
2821 (init_external_image_libraries, init_xfns): Remove; initialization
2822 moved to init_image in image.c.
2823
2824 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
2825 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
2826 (x_reference_bitmap, x_create_bitmap_from_data)
2827 (x_create_bitmap_from_file, x_destroy_bitmap)
2828 (x_destroy_all_bitmaps, x_create_bitmap_mask)
2829 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
2830 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
2831 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
2832 (define_image_type, lookup_image_type, valid_image_p)
2833 (image_error, enum image_value_type, struct image_keyword)
2834 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
2835 (make_image, free_image, prepare_image_for_display, image_ascent)
2836 (four_corners_best, image_background, image_background_transparent)
2837 (x_clear_image_1, x_clear_image, x_alloc_image_color)
2838 (make_image_cache, free_image_cache, clear_image_cache)
2839 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
2840 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
2841 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
2842 (struct ct_color, init_color_table, free_color_table)
2843 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
2844 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
2845 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
2846 (x_disable_image, x_build_heuristic_mask)
2847 (XBM support, XPM support, PBM support, PNG support, JPEG support)
2848 (TIFF support, GIF support, Ghostscript support): Merge with
2849 w32fns.c and macfns.c image code into image.c.
2850 (syms_of_xfns): Move image related symbols to image.c.
2851 (init_xfns): Remove; initialization moved to init_image in image.c.
2852
2853 * lisp.h (syms_of_image, init_image): Add protoypes.
2854 (init_xfns): Remove prototype.
2855
2856 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
2857 (x_reference_bitmap, x_create_bitmap_from_data)
2858 (x_create_bitmap_from_file, x_destroy_bitmap)
2859 (x_create_bitmap_mask): Move prototypes from dispextern.h.
2860 (gamma_correct) [MAC_OS]: Add prototype.
2861
2862 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
2863 (x_reference_bitmap, x_create_bitmap_from_data)
2864 (x_create_bitmap_from_file, x_destroy_bitmap)
2865 (x_create_bitmap_mask): Move prototypes to dispextern.h.
2866
2867 2004-03-09 Kenichi Handa <handa@etlken2>
2868
2869 * coding.c (decode_coding_emacs_mule): Handle insufficent source
2870 correctly.
2871
2872 2004-03-04 Richard M. Stallman <rms@gnu.org>
2873
2874 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
2875
2876 * window.c (Fdisplay_buffer): Doc fix.
2877
2878 * buffer.c (Fpop_to_buffer): Doc fix.
2879
2880 2004-03-03 Kim F. Storm <storm@cua.dk>
2881
2882 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
2883
2884 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
2885
2886 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
2887
2888 2004-03-02 Richard M. Stallman <rms@gnu.org>
2889
2890 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
2891
2892 2004-03-02 Kenichi Handa <handa@m17n.org>
2893
2894 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
2895
2896 2004-03-02 Kim F. Storm <storm@cua.dk>
2897
2898 * window.h (struct window): New member overlay_arrow_bitmap.
2899
2900 * window.c (make_window): Initialize overlay_arrow_bitmap.
2901
2902 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
2903 implement and integrate multiple overlay arrows with redisplay.
2904 (syms_of_xdisp): DEFVAR_LISP and initialize it.
2905 (last_arrow_position, last_arrow_string): Replace by properties.
2906 (Qlast_arrow_position, Qlast_arrow_string)
2907 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
2908 (syms_of_xdisp): Intern and staticpro them.
2909 (overlay_arrow_string_or_property, update_overlay_arrows)
2910 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
2911 (overlay_arrow_at_row): New functions for multiple overlay arrows.
2912 (redisplay_internal): Use them instead of directly accessing
2913 Voverlay_arrow_position etc. for multiple overlay arrows.
2914 (mark_window_display_accurate): Use update_overlay_arrows.
2915 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
2916 (try_window_id): Use overlay_arrows_changed_p.
2917 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
2918 (display_line): Use overlay_arrow_at_row to check multiple
2919 overlay arrows, and get relevant overlay-arrow-string and
2920 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
2921 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
2922 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
2923
2924 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
2925 (update_window_fringes): Remove unused code.
2926
2927 2004-03-01 Jason Rumney <jasonr@gnu.org>
2928
2929 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
2930
2931 2004-03-01 Juanma Barranquero <lektu@terra.es>
2932
2933 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
2934
2935 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
2936
2937 2004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2938
2939 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
2940 how many colors can be displayed.
2941
2942 2004-03-01 Kenichi Handa <handa@m17n.org>
2943
2944 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
2945 correctly.
2946
2947 2004-02-28 Kim F. Storm <storm@cua.dk>
2948
2949 * dispnew.c (update_window): Update header line also if there are
2950 no other changes in window (move code after set_cursor label).
2951
2952 * lisp.h (mark_window_display_accurate): Remove prototype.
2953
2954 * window.c (window_loop, Fforce_window_update): Force mode line
2955 updates by setting prevent_redisplay_optimizations_p and
2956 update_mode_lines.
2957
2958 2004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2959
2960 * xfns.c (x_window): Fix indentation.
2961
2962 * xterm.c (x_calc_absolute_position): Call x_real_positions
2963 to get WM window sizes and use those to calculate position.
2964 (x_set_offset): Remove code commented out.
2965
2966 2004-02-28 Miles Bader <miles@gnu.org>
2967
2968 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
2969
2970 2004-02-28 Kim F. Storm <storm@cua.dk>
2971
2972 * keyboard.c (kbd_buffer_store_event_hold): New function to store
2973 an event into kbd fifo, but with special handling of quit event;
2974 a quit event is saved for later, and further events are discarded
2975 until the saved quit event has been processed.
2976 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
2977 (gen_help_event): Store help event in kbd fifo.
2978 (NREAD_INPUT_EVENTS): Remove.
2979 (read_avail_input): Adapt to new read_socket_hook interface.
2980 Remove allocation and initialization of local input_event buffer,
2981 as read_socket_hook stores events directly in fifo. Allocate and
2982 initialize local hold_quit event to handle postponed quit event
2983 (and store it if set by kbd_buffer_store_event_hold).
2984
2985 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
2986 (gen_help_event): Fix prototype.
2987
2988 * macterm.c (XTread_socket): Remove bufp_r and
2989 numcharsp args. Add hold_quit arg.
2990 Rework to use just one, local, inev input_event. Store inev
2991 directly in fifo using kbd_buffer_store_event_hold.
2992
2993 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
2994 (read_input_waiting): Adapt to new read_socket_hook interface.
2995 Remove allocation and initialization of local input_event buffer,
2996 as read_socket_hook stores events directly in fifo. Allocate and
2997 initialize local hold_quit event to handle postponed quit event
2998 (and store it if set by kbd_buffer_store_event_hold).
2999
3000 * term.c (read_socket_hook): Fix arg list.
3001
3002 * termhooks.h (read_socket_hook): Fix prototype.
3003
3004 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
3005 numcharsp args. Add hold_quit arg.
3006 Rework to use just one, local, inev input_event. Store inev
3007 directly in fifo using kbd_buffer_store_event_hold.
3008
3009 * w32inevt.h (w32_console_mouse_position): Fix prototype.
3010
3011 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
3012 Add hold_quit arg. Rework to use just one, local, inev
3013 input_event. Store inev directly in fifo using
3014 kbd_buffer_store_event_hold. Update count in one place.
3015 Postpone call to gen_help_event until inev is stored; use new
3016 local do_help for this.
3017 Remove local emacs_event in handing of ButtonPress event; just use
3018 inev instead (so no reason to copy it later).
3019
3020 * xsmfns.c (x_session_check_input): Remove numchars arg.
3021
3022 * xterm.c (x_focus_changed, x_detect_focus_change):
3023 Remove numchars arg. Always store event into bufp arg.
3024 Return nothing. Callers changed accordingly.
3025 (glyph_rect): Simplify.
3026 (STORE_KEYSYM_FOR_DEBUG): New macro.
3027 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
3028 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
3029 (current_hold_quit) [USE_GTK]: Add.
3030 (event_handler_gdk): Adapt to new handle_one_xevent.
3031 (handle_one_xevent): Remove bufp_r and numcharsp args.
3032 Add hold_quit arg. Rework to use just one, local, inev
3033 input_event. Store inev directly in fifo using
3034 kbd_buffer_store_event_hold. Update count in one place.
3035 Postpone call to gen_help_event until inev is stored; use new
3036 local do_help for this.
3037 Simplify handling of keysyms (consolidate common code). Fix bug
3038 where count was updated with nchars instead of nbytes.
3039 Remove local emacs_event in handing of ButtonPress event; just use
3040 inev instead (so no reason to copy it later).
3041 Remove `out' label. Rename label `ret' to `done'; add various
3042 `goto done' to clarify code flow in deeply nested blocks.
3043 (x_dispatch_event): Simplify as handle_one_xevent now calls
3044 kbd_buffer_store_event itself.
3045 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
3046 arg. Call handle_one_xevent with new arglist. Store event from
3047 x_session_check_input in fifo.
3048 [USE_GTK]: Setup current_hold_quit.
3049 Decrement handling_signal before unblocking input.
3050 (x_initialize) [USE_GTK]: Initialize current_count.
3051
3052 * xterm.h (x_session_check_input): Fix prototype.
3053
3054 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3055
3056 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
3057
3058 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
3059 macgui.h).
3060
3061 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
3062
3063 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
3064 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
3065 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
3066 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
3067 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
3068 (Bitmap): Remove typedef.
3069 (Pixmap): Change int to GWorldPtr.
3070
3071 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
3072
3073 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
3074 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
3075 New #define to extract 16-bit depth color components from unsigned
3076 long representation.
3077 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
3078 colors used for masks.
3079 (struct mac_display_info): Add color_p. Remove n_cbits.
3080
3081 * macfns.c: Include sys/types.h and sys/stat.h.
3082 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
3083 Include QuickTime/QuickTime.h.
3084 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
3085 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
3086 functions defined in macterm.c.
3087 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
3088 (ZPixmap): New #define for compatibility with xfns.c.
3089 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
3090 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
3091 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
3092 New functions.
3093 (four_corners_best, x_create_x_image_and_pixmap)
3094 (x_destroy_x_image, unwind_create_frame, x_disable_image)
3095 (x_edge_detection, init_color_table, colors_in_color_table)
3096 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
3097 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
3098 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
3099 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
3100 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
3101 long mixup.
3102 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
3103 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
3104 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
3105 (x_set_cursor_type, Fxw_color_values, valid_image_p)
3106 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
3107 (x_alloc_image_color, clear_image_cache, lookup_image)
3108 (x_find_image_file, xbm_read_bitmap_file_data)
3109 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
3110 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
3111 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
3112 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
3113 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
3114 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
3115 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
3116 #if 0.
3117 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
3118 #if 0. Free white_relief.gc and black_relief.gc.
3119 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
3120 New functions (from xfns.c).
3121 (Fx_create_frame): Record unwind_create_frame.
3122 (Fxw_display_color_p): Use dpyinfo->color_p.
3123 (Fx_display_grayscale_p, Fx_display_planes): Don't use
3124 dpyinfo->n_cbits.
3125 (Fx_display_color_cells): Use dpyinfo->n_planes;
3126 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
3127 (Qheuristic, cross_disabled_images, emboss_matrix)
3128 (laplace_matrix): New variables (from xfns.c).
3129 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
3130 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
3131 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
3132 (image_background_transparent): New function (from xfns.c).
3133 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
3134 (image_load_quicktime): Add declaration.
3135 [MAC_OSX] (image_load_quartz2d): Likewise.
3136 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
3137 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
3138 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
3139 (xbm_load_image_from_file, x_laplace_read_row)
3140 (x_laplace_write_row, pbm_read_file): Remove functions.
3141 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
3142 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
3143 (colors_in_color_table): Sync with xfns.c (although not used).
3144 (lookup_rgb_color): Don't lookup color table. Just do gamma
3145 correction.
3146 (COLOR_INTENSITY): New #define (from xfns.c).
3147 (x_disable_image): New function (from xfns.c).
3148 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
3149 (x_build_heuristic_mask): Sync with xfns.c.
3150 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
3151 (HAVE_PBM): Remove #ifdef.
3152 (pbm_load): Sync with xfns.c. Set img->width and img->height
3153 before IMAGE_BACKGROUND.
3154 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
3155 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
3156 Don't enclose with #if HAVE_PNG.
3157 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
3158 symbol _CGImageCreateWithPNGDataProvider is defined.
3159 Otherwise use image_load_quicktime.
3160 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
3161 [HAVE_PNG] (png_load): Sync with xfns.c.
3162 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
3163 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
3164 HAVE_JPEG.
3165 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
3166 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
3167 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
3168 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
3169 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
3170 (tiff_image_p, tiff_load): Don't enclose declarations with #if
3171 HAVE_TIFF.
3172 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
3173 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
3174 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
3175 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
3176 New functions (from xfns.c).
3177 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
3178 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
3179 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
3180 Don't enclose with #if HAVE_GIF.
3181 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
3182 animated gif. Otherwise use image_load_quicktime.
3183 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
3184 gif_DrawText to avoid conflict with QuickdrawText.h.
3185 [HAVE_GIF] (gif_load): Sync with xfns.c.
3186 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
3187 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
3188 Ghostscript is not supported yet).
3189 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
3190 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
3191 cross_disabled_images (from xfns.c). Remove #if 0 for supported
3192 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
3193 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
3194 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
3195 HAVE_PNG. Call EnterMovies to support animated gifs.
3196 Call init_image_func_pointer to bind a symbol
3197 _CGImageCreateWithPNGDataProvider if it is defined.
3198
3199 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
3200 (x_draw_bar_cursor): Sync declaration with xterm.c.
3201 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
3202 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
3203 graphics).
3204 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
3205 (mac_draw_line_to_pixmap, XCreatePixmap)
3206 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
3207 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
3208 New functions.
3209 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
3210 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
3211 Cast bits to char *.
3212 (reflect_byte): New function (from w32fns.c).
3213 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
3214 due to byte alignment.
3215 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
3216 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
3217 (XSetForeground): Remove static (now used in macfns.c).
3218 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
3219 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
3220 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
3221 (x_draw_glyph_string_box, x_draw_image_foreground)
3222 (x_draw_image_foreground_1, x_draw_image_glyph_string)
3223 (x_draw_stretch_glyph_string, x_draw_glyph_string)
3224 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
3225 Sync with xterm.c.
3226 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
3227 than the xterm.c version when a strictly horizontal or vertical
3228 line is drawn.
3229 (XTset_terminal_window): Add static.
3230 (x_make_frame_visible): Add UNBLOCK_INPUT.
3231 (x_free_frame_resources): New funcion (from xterm.c).
3232 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
3233 occurs in tool bar area.
3234 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
3235 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
3236 Initialize image cache.
3237 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
3238 Enclose unused functions with #if 0.
3239 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
3240 (decode_mac_font_name): New function to apply code conversions
3241 from a mac font name to an XLFD font name according to its script code.
3242 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
3243 font name to a mac font name according to REGISTRY and ENCODING fields.
3244 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
3245 whose name starts with `.'.
3246 (init_font_name_table): Use decode_mac_font_name. Add both
3247 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
3248 of a font is smJapanese.
3249 (mac_do_list_fonts): New function to list fonts that match a given
3250 pattern.
3251 (x_list_fonts, XLoadQueryFont): Use it.
3252 (XLoadQueryFont): Set rbearing field for each variable width
3253 character to avoid needless redraw.
3254 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
3255
3256 2004-02-26 Kim F. Storm <storm@cua.dk>
3257
3258 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
3259 as read_socket_hook handler on X aborts if buffer is too small
3260 and W32 handler doesn't always check buffer limit.
3261
3262 * xdisp.c (handle_single_display_prop): Handle left-fringe and
3263 right-fringe similar to a display margin image. Specifically,
3264 the characters having the fringe prop are no longer shown, and
3265 we use IT_IMAGE/next_element_from_image with image_id = -1 to
3266 do this. Set fringe bitmap face_id in it->face_id.
3267 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
3268 still realize it->face (i.e. the fringe bitmap face).
3269
3270 2004-02-25 Miles Bader <miles@gnu.org>
3271
3272 * xdisp.c (check_it): Check string/string_pos consistency.
3273 (init_iterator): Initialize string-related fields properly.
3274
3275 2004-02-11 Miles Bader <miles@gnu.org>
3276
3277 * xdisp.c (produce_image_glyph): Force negative descents to zero.
3278
3279 2004-02-10 Miles Bader <miles@gnu.org>
3280
3281 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
3282 BLOCK_INPUT can be nested, so it doesn't make much sense.
3283
3284 2004-02-24 Michael Mauger <mmaug@yahoo.com>
3285
3286 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
3287 (xbm_read_bitmap_data): Use unsigned char for image data.
3288
3289 2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
3290
3291 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
3292
3293 2004-02-22 Jason Rumney <jasonr@gnu.org>
3294
3295 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
3296 correctly over other bitmaps.
3297
3298 2004-02-21 Eli Zaretskii <eliz@gnu.org>
3299
3300 * emacs.c (USAGE1): Split into two halves.
3301 (USAGE2): Second half of the old USAGE1.
3302 (USAGE3): Rename from USAGE2.
3303 (USAGE4): Rename from USAGE3.
3304
3305 2004-02-21 Juri Linkov <juri@jurta.org>
3306
3307 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
3308 Fix --multibyte. Move --help, --version to USAGE2. Add alias
3309 --file. Fix -f, -l. Sort options. Untabify.
3310 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
3311
3312 2004-02-19 Luc Teirlinck <teirllm@auburn.edu>
3313
3314 * category.c (Fdefine_category, Fcategory_docstring)
3315 (Fget_unused_category, Fset_category_table)
3316 (Fcategory_set_mnemonics): Doc fixes.
3317
3318 2004-02-20 Kim F. Storm <storm@cua.dk>
3319
3320 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
3321 The following changes are relative to the 2004-01-21 revision.
3322 (NREAD_INPUT_EVENTS): Define as max number of input events to read
3323 in one call to read_socket_hook. Value is 8.
3324 (read_avail_input): Separate and rework handling of read_socket_hook
3325 and non-read_socket_hook cases. Use smaller input_event buffer
3326 in read_socket_hook case, and repeat if full buffer is read.
3327 Use new local variable 'discard' to skip input after C-g.
3328 In non-read_socket_hook case, just use a single input_event, and
3329 call kbd_buffer_store_event on the fly for each character.
3330
3331 2004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
3332
3333 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
3334 Remove unused `gu' alternative.
3335
3336 2004-02-19 Andreas Schwab <schwab@suse.de>
3337
3338 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
3339 warning.
3340
3341 2004-02-18 Kim F. Storm <storm@cua.dk>
3342
3343 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
3344 Fix last change.
3345
3346 2004-02-17 Kim F. Storm <storm@cua.dk>
3347
3348 * xdisp.c (fast_find_position): Fix return value of new version;
3349 it was inverted compared to the 21.1 version.
3350 (get_window_cursor_type): Don't look at glyph if NULL.
3351 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
3352
3353 * keyboard.c: Rework previous change; it didn't consider that the
3354 buf array was allocated on the stack.
3355 (prev_read): Remove variable.
3356 (read_avail_input_buf): New static event buffer array.
3357 (in_read_avail_input): New static variable to handle re-entrancy.
3358 (read_avail_input): Change buf to pinter to read_avail_input_buf.
3359 Use in_read_avail_input to handle re-entrance; when re-entered,
3360 fully initialize and use tmp_buf array instead of read_avail_input_buf.
3361 Do not initialize read_avail_input_buf in full here; instead assume it
3362 is always cleared on entry. To ensure that, we clear (just) the
3363 entries that were used before we return.
3364 (init_keyboard): Initialize read_avail_input_buf here.
3365
3366 2004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change)
3367
3368 * cmds.c (Fend_of_line): Doc fix.
3369
3370 2004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
3371
3372 * keyboard.c (prev_read): New static variable.
3373 (read_avail_input): Use it to zero out only those slots in buf[]
3374 that were used last time we were called.
3375
3376 2004-02-16 Eli Zaretskii <eliz@gnu.org>
3377
3378 * Makefile.in (obj): Move fringe.o from here...
3379 (XOBJ, MAC_OBJ): ...to here.
3380
3381 2004-02-16 Stephen Eglen <stephen@gnu.org>
3382
3383 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
3384
3385 2004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
3386
3387 * data.c (Fbyteorder):
3388 * fringe.c (Fdefine_fringe_bitmap):
3389 * xdisp.c (handle_single_display_prop):
3390 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
3391
3392 2004-02-16 Jason Rumney <jasonr@gnu.org>
3393
3394 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
3395
3396 2004-02-15 Steven Tamm <steventamm@mac.com>
3397
3398 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
3399 controlling emulation of a three button mouse with option and
3400 command keys.
3401 (Qreverse, mac_get_enumlated_btn): Handle the emulation
3402 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
3403
3404 2004-02-15 Kim F. Storm <storm@cua.dk>
3405
3406 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
3407
3408 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
3409 Perform byte-swapping.
3410
3411 2004-02-14 Kim F. Storm <storm@cua.dk>
3412
3413 * dispextern.h (struct draw_fringe_bitmap_params): Change member
3414 bits from char to short to facilitate wider bitmaps.
3415 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
3416 member.
3417
3418 * fringe.c (struct fringe_bitmap): Change member bits from char to
3419 short to facilitate 16 bits wide bitmaps. Modify all standard
3420 bitmaps accordingly.
3421 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
3422 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
3423 (draw_fringe_bitmap): Ditto.
3424 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
3425 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
3426 handle up to 16 bits wide bitmaps.
3427 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
3428 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
3429
3430 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
3431 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
3432 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
3433
3434 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
3435 so it is no longer necessary to expand them here.
3436
3437 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
3438
3439 2004-02-12 Kim F. Storm <storm@cua.dk>
3440
3441 * window.c (Fwindow_fringes): Doc fix.
3442
3443 2004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3444
3445 * xselect.c (x_get_foreign_selection): Add new optional parameter
3446 time_stamp.
3447 (Fx_get_selection_internal): Ditto, pass time_stamp to
3448 x_get_foreign_selection.
3449
3450 * data.c (Fbyteorder): New function.
3451
3452 2004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3453
3454 * atimer.c: Move include stdio.h to same place as in other files.
3455
3456 * region-cache.c: Ditto.
3457
3458 * sysdep.c: Ditto.
3459
3460 * xfaces.c: Ditto.
3461
3462 2004-02-09 Sam Steingold <sds@gnu.org>
3463
3464 * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
3465
3466 2004-02-09 Kim F. Storm <storm@cua.dk>
3467
3468 * fringe.c: New file. Move original fringe related declarations
3469 and code from dispextern.h and xdisp.c here.
3470 Rework code to support user defined fringe bitmaps, redefining
3471 standard bitmaps, ability to overlay user defined bitmap with
3472 overlay arrow bitmap, and add faces to bitmaps.
3473 (Voverflow_newline_into_fringe): Declare here.
3474 (enum fringe_bitmap_align): New enum.
3475 (..._bits): All bitmaps are now defined without bitswapping; that
3476 is now done in init_fringe_once (if necessary).
3477 (standard_bitmaps): New array with specifications for the
3478 standard fringe bitmaps.
3479 (fringe_faces): New array.
3480 (valid_fringe_bitmap_id_p): New function.
3481 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
3482 (draw_fringe_bitmap): New function which draws fringe bitmap,
3483 possibly overlaying bitmap with cursor in right fringe or the
3484 overlay arrow in the left fringe.
3485 (update_window_fringes): Do not handle overlay arrow here.
3486 Compare and copy fringe bitmap faces.
3487 (init_fringe_bitmap): New function.
3488 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
3489 define and destroy user defined fringe bitmaps.
3490 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
3491 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
3492 (syms_of_fringe): New function. Defsubr new DEFUNs.
3493 DEFVAR_LISP Voverflow_newline_into_fringe.
3494 (init_fringe_once, init_fringe): New functions.
3495 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
3496
3497 * Makefile.in (obj): Add fringe.o.
3498 (fringe.o): New dependencies.
3499
3500 * dispextern.h (FRINGE_ID_BITS): New definition for number of
3501 bits allocated to hold a fringe number. Increase number of bits
3502 from 4 to 8 to allow user defined fringe bitmaps.
3503 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
3504 left_user_fringe_face_id, right_user_fringe_bitmap,
3505 right_user_fringe_face_id.
3506 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
3507 Move to new file fringe.c.
3508 (MAX_FRINGE_BITMAPS): Define here.
3509 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
3510 and overlay_p. Change member which to int.
3511 (struct redisplay_interface): New members define_fringe_bitmap
3512 and destroy_fringe_bitmap.
3513 (valid_fringe_bitmap_id_p): Add prototype.
3514 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
3515
3516 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
3517 arrows.
3518 (update_frame): Do flush_display if force_flush_display_p to
3519 ensure display (specifically fringes) are updated in a timely
3520 manner when resizing the frame by dragging the mouse.
3521 (update_window_line): Update row if overlay arrow changed.
3522 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
3523 or overlay arrow changed.
3524
3525 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
3526 syms_of_fringe, and init_fringe.
3527
3528 * frame.h (struct frame): New member force_flush_display_p.
3529
3530 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
3531 Add prototypes.
3532
3533 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
3534 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
3535 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
3536 Use cursor color for displaying cursor in fringe.
3537 (x_redisplay_interface): Add null handlers for
3538 define_fringe_bitmap and destroy_fringe_bitmap functions.
3539
3540 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
3541 xterm.c to handle overlayed fringe bitmaps and to use cursor color
3542 for displaying cursor in fringe.
3543 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
3544 specific functions to define and destroy fringe bitmaps in fringe_bmp.
3545 (w32_redisplay_interface): Add them to redisplay_interface.
3546 (w32_term_init): Call w32_init_fringe instead of explicitly
3547 defining fringe bitmaps in fringe_bmp array.
3548 (x_delete_display): Call w32_reset_fringes instead of explicitly
3549 destroying fringe bitmaps in fringe_bmp array.
3550
3551 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
3552 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
3553 (continued_bits, continuation_bits, ov_bits, first_line_bits)
3554 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
3555 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
3556 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
3557 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
3558 Move fringe handling vars and code to new file fringe.c.
3559 (handle_display_prop): Handle left-fringe and right-fringe
3560 display properties; store user fringe bitmaps in iterator.
3561 (move_it_in_display_line_to): Handle cursor in fringe at eob.
3562 (clear_garbaged_frames): Set force_flush_display_p if resized.
3563 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
3564 (display_line): Handle cursor in fringe at eob.
3565 (display_line): Set row user fringe bitmaps from iterator.
3566
3567 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
3568 Use cursor color for displaying cursor in fringe.
3569 (x_redisplay_interface): Add null handlers for
3570 define_fringe_bitmap and destroy_fringe_bitmap functions.
3571
3572 2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3573
3574 * macfns.c (Fx_change_window_property): Make doc string and
3575 parameters same as for X version.
3576
3577 * w32fns.c (Fx_change_window_property): Ditto.
3578
3579 2004-02-07 Kim F. Storm <storm@cua.dk>
3580
3581 * xdisp.c (hscroll_window_tree): Position cursor near to right
3582 margin in hscrolled window when jumping to end of line (rather
3583 than centering cursor).
3584
3585 * process.c (wait_reading_process_input): Don't do adaptive read
3586 buffering if waiting for a specific process.
3587
3588 2004-02-05 Luc Teirlinck <teirllm@auburn.edu>
3589
3590 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
3591 (Fread_minibuffer, Feval_minibuffer)
3592 (Fread_string, Fread_no_blanks_input)
3593 (Fcompleting_read): Doc fixes.
3594 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
3595 completion-regexp-list. Define Qcase_fold_search and staticpro it.
3596 (read_minibuf): Fix initial comment.
3597 (Ftry_completion, Fall_completions, Ftest_completion): Bind
3598 case-fold-search to the value of completion-ignore-case when
3599 checking completion-regexp-list.
3600 (Fdisplay_completion_list): Make it handle arguments that are
3601 symbols. Doc fix.
3602
3603 2004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3604
3605 * xterm.h: Add declaration of free_frame_menubar.
3606
3607 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
3608 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
3609 (Fx_change_window_property): Add declaration of parameters type and
3610 format. Remove unused variable cons.
3611
3612 * xselect.c: Include stdio,h.
3613
3614 2004-02-05 Kenichi Handa <handa@m17n.org>
3615
3616 * fns.c (Fset_char_table_range): Fix previous change.
3617
3618 * buffer.c (Fset_buffer_multibyte): Fix docstring.
3619
3620 2004-02-04 Luc Teirlinck <teirllm@auburn.edu>
3621
3622 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
3623
3624 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
3625
3626 * keymap.c (Vmouse_events): Rename from Vmenu_events.
3627 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
3628
3629 2004-02-04 Kenichi Handa <handa@m17n.org>
3630
3631 * fns.c (Fset_char_table_range): Handle charsets ascii,
3632 eight-bit-control, and eight-bit-graphic correctly.
3633
3634 2004-02-03 Jason Rumney <jasonr@gnu.org>
3635
3636 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
3637
3638 * w32fns.c (x_to_w32_font): Likewise.
3639
3640 2004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3641
3642 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
3643 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
3644
3645 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
3646 ClientMessages.
3647
3648 * xselect.c: Include termhooks.h and X11/Xproto.h
3649 (x_check_property_data, x_fill_property_data)
3650 (x_property_data_to_lisp, mouse_position_for_drop)
3651 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
3652 (Fx_send_client_event): Move here from xfns.c.
3653 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
3654
3655 * xfns.c (x-send-client-message): Move to xselect.c
3656 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
3657 OUTER_P.
3658 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
3659 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
3660 if vector_ret_p is true.
3661 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
3662
3663 2004-02-02 Eli Zaretskii <eliz@gnu.org>
3664
3665 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
3666 basename of FILE relative to it, not FILE itself.
3667
3668 2004-02-02 Kenichi Handa <handa@m17n.org>
3669
3670 * coding.c (coding_restore_composition): Check invalid
3671 composition data more rigidly.
3672
3673 2004-01-30 Luc Teirlinck <teirllm@auburn.edu>
3674
3675 * fileio.c (Fread_file_name_internal): Correctly handle the case
3676 where insert-default-directory is nil.
3677 (Fread_file_name): Always return an empty string if the user exits
3678 with an empty minibuffer. Adapt the docstring accordingly.
3679 (syms_of_fileio): Adapt the docstring of insert-default-directory
3680 to the change in Fread_file_name.
3681
3682 2004-01-29 Eli Zaretskii <eliz@gnu.org>
3683
3684 * alloca.c [!alloca]: Fix the prototype for xfree.
3685
3686 2004-01-29 Kenichi Handa <handa@m17n.org>
3687
3688 * fns.c (string_char_to_byte): Optimize for ASCII only string.
3689 (string_byte_to_char): Likewise.
3690
3691 2004-01-28 Peter Runestig <peter@runestig.com>
3692
3693 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
3694
3695 2004-01-27 Steven Tamm <steventamm@mac.com>
3696
3697 * unexmacosx.c (unexec_copy): Do not copy more than was
3698 requested to prevent overwriting during unexec.
3699
3700 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3701
3702 * process.c (sigchld_handler): Add comment about not calling malloc.
3703
3704 * process.h: Add extern to synch_process_termsig.
3705
3706 2004-01-27 Steven Tamm <steventamm@mac.com>
3707
3708 * macterm.c (make_mac_frame, make_mac_terminal_frame):
3709 Move setting of scroll bars from make_mac_frame to
3710 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
3711
3712 2004-01-26 Richard M. Stallman <rms@gnu.org>
3713
3714 * search.c (Freplace_match): Handle nonexistent
3715 back-references properly.
3716
3717 2004-01-03 Richard M. Stallman <rms@gnu.org>
3718
3719 * window.c (decode_any_window): New function.
3720 (Fwindow_height, Fwindow_width, Fwindow_edges)
3721 (Fwindow_pixel_edges, Fwindow_inside_edges)
3722 (Fwindow_inside_pixel_edges): Use decode_any_window.
3723
3724 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3725
3726 * process.h: synch_process_termsig new variable.
3727
3728 * callproc.c: Define synch_process_termsig.
3729 (Fcall_process): Initiate synch_process_termsig to zero and
3730 check if non-zero and get signal name after subprocess has ended.
3731
3732 * process.c (sigchld_handler): Set synch_process_termsig
3733 if terminated by a signal. synch_process_death setting removed.
3734
3735 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
3736
3737 2004-01-26 Andreas Schwab <schwab@suse.de>
3738
3739 * print.c (print_preprocess): Declare size as EMACS_INT to not
3740 lose bits.
3741 (print_object): Likewise.
3742 * alloc.c (Fpurecopy): Likewise.
3743
3744 2004-01-25 Luc Teirlinck <teirllm@auburn.edu>
3745
3746 * window.c (Fwindow_minibuffer_p): Doc fix.
3747
3748 2004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
3749
3750 * editfns.c (Fformat): Make both passes accept the same set of flags.
3751
3752 2004-01-23 Kenichi Handa <handa@m17n.org>
3753
3754 * fns.c (Fmd5): If OBJECT is a buffer different from the current
3755 one, set buffer to OBJECT temporarily.
3756
3757 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
3758
3759 * keyboard.c (kbd_buffer_gcpro): Remove.
3760 (kbd_buffer_store_event, clear_event, Fdiscard_input)
3761 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
3762 Don't initialize and/or maintain the variable any more. It was made
3763 redundant by my commit of 2003-06-15.
3764
3765 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
3766
3767 2004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3768
3769 * lisp.h: Add undef DECL_ALIGN.
3770
3771 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
3772
3773 * process.c (wait_reading_process_input) [SYNC_INPUT]:
3774 Check interrupt_input_pending explicitly.
3775
3776 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
3777
3778 * keyboard.c (handle_async_input): New fun,
3779 extracted from input_available_signal.
3780 (input_available_signal, reinvoke_input_signal): Use it.
3781
3782 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
3783
3784 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
3785
3786 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
3787 manipulation macros for when tags are in the lower bits.
3788 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
3789 (DECL_ALIGN): New macro.
3790 (DEFUN): Use it.
3791
3792 * lisp.h [ENABLE_CHECKING]: Don't force union type.
3793
3794 * s/darwin.h (__attribute__): Remove outdated workaround.
3795
3796 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
3797
3798 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
3799 Don't check range of malloc address.
3800 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
3801
3802 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
3803
3804 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
3805
3806 2004-01-19 Kenichi Handa <handa@m17n.org>
3807
3808 * fontset.c (fontset_font_pattern): Fix previous change.
3809
3810 2004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
3811
3812 * xdisp.c (Voverflow_newline_into_fringe)
3813 (move_it_in_display_line_to, redisplay_internal)
3814 (update_window_fringes, redisplay_window, display_line, window):
3815 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
3816 that it compiles without a window-system.
3817 * dispnew.c (direct_output_for_insert, update_window): Likewise.
3818
3819 2004-01-16 Kim F. Storm <storm@cua.dk>
3820
3821 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
3822
3823 * buffer.c (init_buffer_once): Set buffer_defaults and
3824 buffer_local_flags for indicate_buffer_boundaries.
3825 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
3826 default- variable for it.
3827
3828 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
3829 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
3830 New members exact_window_width_line_p and cursor_in_fringe_p for
3831 overflowing newlines into right fringe.
3832 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
3833 and indicate_bottom_line_p for buffer boundaries and scrolling.
3834 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
3835 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
3836 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
3837 and HOLLOW_SQUARE_BITMAP.
3838 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
3839 Add prototypes.
3840
3841 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
3842 instead of related indicator fields.
3843 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
3844 (direct_output_for_insert): Handle exact width lines like
3845 contined lines. Call update_window_fringes.
3846 (update_window): Call update_window_fringes.
3847 (scrolling_window): Don't skip desired rows with changed bitmaps.
3848 Check if fringe bitmaps changes when assigning scrolled rows.
3849
3850 * xdisp.c (Voverflow_newline_into_fringe): New variable.
3851 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
3852 (move_it_in_display_line_to): Overflow newline into fringe for
3853 rows that are exactly as wide as the window.
3854 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
3855 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
3856 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
3857 (fringe_bitmaps): Add new bitmaps.
3858 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
3859 Select proper bitmap for cursor in fringe when appropriate.
3860 Handle alignment of bitmap to top or bottom of row.
3861 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
3862 done by update_window_fringes.
3863 (update_window_fringes, draw_window_fringes): New functions.
3864 (redisplay_internal): Call update_window_fringes in case only
3865 cursor row is updated.
3866 (redisplay_window): Call update_window_fringes.
3867 Explicitly call draw_window_fringes if redisplay was done using
3868 the current matrix or the overlay arrow is in the window.
3869 (try_window_reusing_current_matrix): Mark scrolled rows for
3870 fringe update (to update buffer-boundaries / scrolling icons).
3871 (find_last_unchanged_at_beg_row): Handle exact width lines line
3872 continued lines.
3873 (display_line): Overflow newline into fringe for rows that are
3874 exactly as wide as the window. Don't append space for newline
3875 in this case.
3876 (notice_overwritten_cursor): Explicitly clear cursor bitmap
3877 in fringe as if it had been overwritten.
3878 (erase_phys_cursor): Erase cursor bitmap in fringe.
3879 (syms_of_xdisp): Mark show-trailing-whitespace and
3880 void-text-area-pointer as user options.
3881 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
3882
3883 * xterm.c (x_update_window_end): Call draw_window_fringes.
3884 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
3885 in row instead of actually drawing fringe bitmaps.
3886 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
3887 (x_draw_window_cursor): Draw cursor in fringe.
3888
3889 * w32term.c (x_update_window_end): Call draw_window_fringes.
3890 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
3891 in row instead of actually drawing fringe bitmaps.
3892 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
3893 (w32_draw_window_cursor): Draw cursor in fringe.
3894
3895 * macterm.c (x_update_window_end): Call draw_window_fringes.
3896 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
3897 in row instead of actually drawing fringe bitmaps.
3898 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
3899 (mac_draw_window_cursor): Draw cursor in fringe.
3900
3901 2004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3902
3903 * xterm.c (handle_one_xevent): Don't handle characters that are part
3904 of an old style (XLookupString) compose sequence.
3905
3906 2004-01-15 Kenichi Handa <handa@m17n.org>
3907
3908 * search.c (Freplace_match): Use make_multibyte_string or
3909 make_unibyte_string according to the buffer multibyteness.
3910
3911 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
3912
3913 * alloc.c (struct interval_block, struct string_block)
3914 (struct symbol_block, struct marker_block, live_string_p)
3915 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
3916 Better preserve alignment for objects in blocks.
3917 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
3918
3919 * lread.c (defvar_per_buffer): Remove dead declaration.
3920
3921 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
3922 space size.
3923
3924 2004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3925
3926 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
3927 if a key press should pop down. Only pop down if a key is pressed
3928 outside the menu/dialog.
3929 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
3930 popup_get_selection.
3931 (create_and_show_dialog): Pass 1 for down_on_keypress to
3932 popup_get_selection.
3933
3934 2004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3935
3936 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
3937 BLOCK/UNBLOCK_INPUT.
3938
3939 2004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3940
3941 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
3942 specified.
3943
3944 2004-01-08 Kenichi Handa <handa@m17n.org>
3945
3946 * editfns.c (Fformat): Fix '&' to '&&'.
3947
3948 2004-01-08 Andreas Schwab <schwab@suse.de>
3949
3950 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
3951 size if PSEUDOVECTOR_FLAG is set.
3952
3953 2004-01-07 Kenichi Handa <handa@m17n.org>
3954
3955 * charset.c (Fdeclare_equiv_charset): Fix docstring.
3956
3957 * fontset.c (fontset_ref_via_base): Fix previous change.
3958
3959 2004-01-07 Kim F. Storm <storm@cua.dk>
3960
3961 * process.c (read_process_output): Only activate adaptive
3962 buffering if we read less than 256 bytes at a time.
3963
3964 2004-01-06 Kim F. Storm <storm@cua.dk>
3965
3966 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
3967 object and image object. Return glyph width and height.
3968 (mode_line_string, marginal_area_string): Ditto.
3969
3970 * dispextern.h (buffer_posn_from_coords, mode_line_string)
3971 (marginal_area_string): Fix prototypes.
3972
3973 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
3974 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
3975 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
3976
3977 * keyboard.c (make_lispy_position): Use modified mode_line_string,
3978 buffer_posn_from_coords, and marginal_area_string functions to
3979 include both string object and image object in the lispy position.
3980 Also add actual glyph width and height to position.
3981 (read_key_sequence): Use real buffer position from mouse
3982 event to find keymap property even when click is in marginal area.
3983
3984 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
3985 mode_line_string and marginal_area_string functions to handle
3986 both string object and image object properties.
3987
3988 2004-01-06 Andreas Schwab <schwab@suse.de>
3989
3990 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
3991 character.
3992
3993 2004-01-02 Andreas Schwab <schwab@suse.de>
3994
3995 * macterm.c (emacs_options, x_initialized, same_x_server):
3996 Remove unused (and duplicated) definitions.
3997
3998 2004-01-02 Kim F. Storm <storm@cua.dk>
3999
4000 * process.h (struct Lisp_Process): New members for adaptive read
4001 buffering: adaptive_read_buffering, read_output_delay, and
4002 read_output_skip.
4003
4004 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
4005 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
4006 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
4007 (process_output_delay_count, process_output_skip): New vars.
4008 (Vprocess_adaptive_read_buffering): New variable.
4009 (make_process): Initialize adaptive read buffering members.
4010 (Fstart_process): Set adaptive_read_buffering member.
4011 (deactivate_process): Cleanup adaptive read buffering.
4012 (wait_reading_process_input): Temporarily omit delayed
4013 subprocesses from the set of file descriptors to read from;
4014 adjust the select timeout if we skipped any subprocesses.
4015 (read_process_output): Increase adaptive read buffering delay if
4016 we read less than a full buffer; reduce delay when we read a
4017 full buffer.
4018 (send_process): Simplify using local Lisp_Process var.
4019 Reset adaptive read buffering delay after write.
4020 (init_process): Initialize process_output_delay_count and
4021 process_output_skip.
4022 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
4023
4024 2004-01-01 Jason Rumney <jasonr@gnu.org>
4025
4026 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
4027
4028 2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
4029
4030 * print.c (Ferror_message_string): Add hyperlink in the docstring
4031 to the definition of `signal' in the Elisp manual.
4032 * eval.c (Fsignal): Ditto.
4033
4034 2003-12-29 James Clark <jjc@jclark.com> (tiny change)
4035
4036 * fns.c (internal_equal): Return t for two NaN arguments.
4037
4038 2003-12-29 Richard M. Stallman <rms@gnu.org>
4039
4040 * data.c (store_symval_forwarding): Handle setting
4041 default-fill-column, etc., by changing the value in
4042 buffers that use the default.
4043
4044 * minibuf.c (Fset_minibuffer_window): Doc fix.
4045
4046 * fileio.c (choose_write_coding_system): Ignore auto_saving
4047 if using the visited file for auto saves.
4048 (Fwrite_region): Don't update SAVE_MODIFF
4049 if auto-saving in visited file.
4050
4051 2003-12-29 Kenichi Handa <handa@m17n.org>
4052
4053 * dispextern.h (face_font_available_p): Extern it.
4054
4055 * fontset.c (Voverriding_fontspec_alist): New variable.
4056 (lookup_overriding_fontspec): New function.
4057 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
4058 (fontset_font_pattern): Likewise.
4059 (regulalize_fontname): New function.
4060 (Fset_fontset_font): Call regulalize_fontname.
4061 (Fset_overriding_fontspec_internal): New function.
4062 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
4063 Defsubr Sset_overriding_fontspec_internal.
4064
4065 * xfaces.c (face_font_available_p): New function.
4066
4067 2003-12-28 Richard M. Stallman <rms@gnu.org>
4068
4069 * buffer.c (Fother_buffer): Don't crash if BUF is nil
4070 or if its name is nil.
4071
4072 * buffer.c (Fkill_buffer): Don't delete auto-save file
4073 if it's the same as the visited file.
4074
4075 2003-12-28 Luc Teirlinck <teirllm@auburn.edu>
4076
4077 * coding.c (Fcheck_coding_system): Doc fix.
4078
4079 2003-12-28 Kim F. Storm <storm@cua.dk>
4080
4081 * Makefile.in (eval.o): Depend on dispextern.h.
4082
4083 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
4084 image glyph using image's ascent.
4085 (mode_line_string): Return image glyph as object clicked on.
4086 Adjust y0 for image glyph using image's ascent.
4087
4088 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
4089 (struct glyph): New members, ascent and descent. Used to save
4090 this glyph's ascent and descent, instead of having.
4091 (struct glyph): Declare member face_id using FACE_ID_BITS.
4092 (find_hot_spot): Add prototype.
4093
4094 * keyboard.c (Qimage): Remove extern (now in lisp.h).
4095 (QCmap): Declare extern.
4096 (make_lispy_position): When position is inside image hot-spot,
4097 use hot-spot element's id as posn element.
4098
4099 * lisp.h (IMAGEP): New macro to test for image object type.
4100 (Qimage): Declare extern.
4101
4102 * macfns.c (Qimage): Remove extern (now in lisp.h).
4103 (valid_image_p, parse_image_spec): Use IMAGEP macro.
4104
4105 * macterm.c (Qface, Qmouse_face): Remove unused externs.
4106
4107 * w32fns.c (Qimage): Remove extern (now in lisp.h).
4108 (valid_image_p, parse_image_spec): Use IMAGEP macro.
4109
4110 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
4111
4112 * w32term.c (Qface, Qmouse_face): Remove unused externs.
4113
4114 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
4115 pointer types.
4116 (Qrelative_width, Qalign_to): Remove unused variables.
4117 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
4118 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
4119 image maps.
4120 (x_y_to_hpos_vpos): Return glyph relative coordinates through
4121 new dx and dy args.
4122 Remove buffer_only_p arg (always 0). Simplify code accordingly.
4123 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
4124 than row's ascent and height, to get sensible height on tall rows.
4125 (build_desired_tool_bar_string): Remove Qimage extern.
4126 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
4127 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
4128 image glyph is alone on the last line.
4129 (append_glyph, append_composite_glyph, produce_image_glyph)
4130 (append_stretch_glyph): Set glyph's ascent and descent.
4131 (on_hot_spot_p): New function to check if position is inside an
4132 rectangular, circular, or polygon-shaped image hot-spot,
4133 (find_hot_spot): New function to search for image hot-spot.
4134 (Flookup_image_map): New defun to search for image hot-spot.
4135 (define_frame_cursor1): New aux function to determine frame pointer.
4136 (note_mode_line_or_margin_highlight, note_mouse_highlight):
4137 Handle `pointer' text property and :pointer image property to
4138 control frame pointer shape. Detect image hot-spots for pointer
4139 and help_echo properties. Use define_frame_cursor1.
4140 (note_mouse_highlight): Use Vvoid_text_area_pointer.
4141 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
4142 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
4143
4144 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
4145
4146 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
4147 (Qimage): Remove extern (now in lisp.h).
4148 (valid_image_p, parse_image_spec): Use IMAGEP macro.
4149
4150 * xmenu.c (show_help_event): Remove unused code.
4151
4152 * xterm.c (Qface, Qmouse_face): Remove unused externs.
4153 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
4154 row's ascent and descent, to get a sensible height on tall rows.
4155
4156 2003-12-25 Luc Teirlinck <teirllm@auburn.edu>
4157
4158 * minibuf.c (Fcompleting_read): Undo previous change.
4159
4160 2003-12-25 Lars Hansen <larsh@math.ku.dk>
4161
4162 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
4163 Arguments GCPRO'ed in call to file name handler.
4164
4165 2003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
4166
4167 * termcap.c (tgetst1): Scan for "%pN"; if all
4168 N are continuous in [1,9], remove all "%pN".
4169
4170 2003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4171
4172 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
4173
4174 * xfaces.c (lface_fully_specified_p): Take into account that
4175 MAC OS always have unspecified stipple.
4176
4177 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
4178
4179 * tparam.c (tparam1): Add handling for `%pN', which
4180 means use param N for the next substitution.
4181
4182 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
4183
4184 * xfaces.c (Fcolor_gray_p): Fix omission bug:
4185 In case `frame' is nil, consult the selected frame.
4186 (Fcolor_supported_p): Likewise.
4187
4188 2003-12-23 Luc Teirlinck <teirllm@auburn.edu>
4189
4190 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
4191 Doc fixes.
4192
4193 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
4194 and an integer. Adapt the introductory comment accordingly.
4195 (Fread_from_minibuffer): Delete code moved into read_minibuf.
4196 Doc fix.
4197 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
4198 read_minibuf.
4199 (Fcompleting_read): Delete code moved into read_minibuf.
4200 (Ftest_completion): Make it handle obarrays and hash tables correctly.
4201
4202 2003-12-03 Kenichi Handa <handa@m17n.org>
4203
4204 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
4205 encoding sequence.
4206
4207 2003-12-01 Kenichi Handa <handa@m17n.org>
4208
4209 * composite.c (syms_of_composite): Don't make the compostion hash
4210 table week.
4211
4212 2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
4213
4214 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
4215 * textprop.c (Fget_char_property_and_overlay): New function.
4216 (syms_of_textprop): Defsubr it.
4217
4218 2003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4219
4220 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
4221 to compile on terminal configuration.
4222
4223 * fileio.c (Fread_file_name): Check use_file_dialog also before
4224 calling Fx_file_dialog.
4225
4226 * fns.c: use_file_dialog: New variable.
4227 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
4228
4229 2003-11-29 Kim F. Storm <storm@cua.dk>
4230
4231 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
4232 (syms_of_msdos): Don't intern and staticpro them.
4233
4234 2003-11-27 Kim F. Storm <storm@cua.dk>
4235
4236 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
4237 coordinates relative to glyph at posn. If glyph is an image,
4238 return that as object at posn. Callers changed.
4239 (mode_line_string, marginal_area_string): Calculate and return
4240 pixel coordinates relative to glyph. Callers changed.
4241
4242 * dispextern.h (buffer_posn_from_coords, mode_line_string)
4243 (marginal_area_string): Fix prototypes.
4244 (window_box_left_offset, window_box_right_offset): Add prototypes.
4245
4246 * frame.h (get_specified_cursor_type, get_window_cursor_type):
4247 Remove prototypes.
4248
4249 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
4250
4251 * keyboard.c (make_lispy_position): Add x and y coordinates
4252 relative to the current glyph as 7th element of position.
4253 If glyph is an image, return it in the object element.
4254 (read_key_sequence): Skip checks for keymap property in cases
4255 where POSN_STRING is not a string (e.g. an image).
4256
4257 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
4258 (Vshow_text_cursor_in_void): New variable.
4259 (glyph_to_pixel_coords): Don't use negative hpos.
4260 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
4261 (append_stretch_glyph): Change ascent arg to be actual value
4262 in pixels rather than ratio to height. Callers changed.
4263 (calc_pixel_width_or_height): New aux function, implementing
4264 pixel based artihmetic for glyph widths and heights.
4265 (produce_stretch_glyph): Use calc_pixel_width_or_height for
4266 :width, :height, :align-to, and :ascent, thus allowing these to
4267 be specified in pixels as well as multiples of characters.
4268 Don't produce stretch glyphs with zero width or height.
4269 (get_specified_cursor_type): Declare static.
4270 (get_window_cursor_type): Declare static. Add glyph arg to be
4271 able to know when cursor is on an image; always substitute
4272 hollow-box cursor for filled-box cursor on images, to avoid
4273 negative images and flicker when blinking the cursor.
4274 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
4275 (note_mode_line_or_margin_highlight): Use non-text cursor rather
4276 than vertical scroll-bar cursor in display margins.
4277 (note_mouse_highlight): Use non-text cursor rather than text
4278 cursor in fringes and over images in the text area.
4279 Use non-text cursor when mouse pointer is outside editable text,
4280 i.e. in the void after end-of-line or end-of-buffer; this was
4281 already done for W32, but is now standard for all systems --
4282 user can toggle show-text-cursor-in-void to get old behaviour.
4283 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
4284 Vdisplay_pixels_per_inch.
4285
4286 2003-11-25 Andreas Schwab <schwab@suse.de>
4287
4288 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
4289 EMACS_INT to not lose bits.
4290 (Ffillarray): Don't set bits beyond the size of a bool vector.
4291
4292 2003-11-25 Kim F. Storm <storm@cua.dk>
4293
4294 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
4295 define this defun on systems that cannot use stderr as lvalue.
4296
4297 2003-11-24 Gerd Moellmann <gerd@gnu.org>
4298
4299 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
4300 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
4301 ld's default is incompatible with unexec.
4302
4303 2003-11-23 Kim F. Storm <storm@cua.dk>
4304
4305 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
4306 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
4307 (Fforce_window_update): New defun.
4308 (syms_of_window): Defsubr it.
4309 (Fset_window_margins, Fset_window_fringes): Doc fix.
4310
4311 * print.c (Fredirect_debugging_output): New defun.
4312 (syms_of_print): Defsubr it.
4313
4314 2003-11-22 Luc Teirlinck <teirllm@auburn.edu>
4315
4316 * fns.c (Fset_char_table_parent): Doc fix.
4317
4318 2003-11-22 Kim F. Storm <storm@cua.dk>
4319
4320 * dispnew.c (buffer_posn_from_coords): Return actual row/column
4321 for glyph clicked on, rather than (unused) pixel positions.
4322 (mode_line_string, marginal_area_string): Change X and Y args to
4323 pointers for returning actual row/column for glyph clicked on.
4324 Simplify and optimize loops.
4325
4326 * dispextern.h (mode_line_string, marginal_area_string):
4327 Update prototypes.
4328
4329 * keyboard.c (make_lispy_position): New function for generating
4330 mouse click positions from frame and pixel coordinates.
4331 Enhanced to return buffer position and actual row/column for
4332 events outside the text area using updated mode_line_string and
4333 marginal_area_string functions.
4334 Return left-fringe and right-fringe clicks as such, rather than
4335 clicks in text area.
4336 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
4337 pixel_to_glyph_coords, as we never use the results.
4338 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
4339 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
4340 Eliminate unused code in WHEEL_EVENT handling.
4341 (make_lispy_movement): Use make_lispy_position.
4342
4343 * window.c (coordinates_in_window): Remove redundant tests.
4344 Fix returned X pixel value for left-margin.
4345
4346 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
4347 mode_line_string and marginal_area_string parameters.
4348
4349 2003-11-22 Lars Hansen <larsh@math.ku.dk>
4350
4351 * w32.c (struct the_group, getgrgid): Add.
4352 * mac.c (struct my_group, getgrgid): Add.
4353
4354 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
4355
4356 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
4357
4358 2003-11-21 Lars Hansen <larsh@math.ku.dk>
4359
4360 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
4361 include in call to file name handler. Optionally translate numeric
4362 UID and GID to strings. Update docstring.
4363 (directory_files_internal): Add parameter ID-FORMAT.
4364 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
4365 include in call to file name handler and call to
4366 directory_files_internal. Update Docstring.
4367 (Fdirectory_files): Add dummy parameter in call to
4368 directory_files_internal.
4369 * lisp.h (Qinteger): Add.
4370 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
4371 (Ffile_attributes): Add parameter.
4372 * data.c (Qinteger): Export.
4373
4374 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
4375
4376 * fns.c (Freverse, Fnreverse): Doc fixes.
4377
4378 2003-11-19 Kim F. Storm <storm@cua.dk>
4379
4380 * xdisp.c (init_iterator): Initialize it->start to position
4381 before reseating (in case start position is invisible).
4382 (init_to_row_start): Set it->start to row-start.
4383 (redisplay_window): Accept optional_new_start if start position
4384 is invisible (in which case IT_CHARPOS overshoots PT).
4385 (display_line): Setup row->start from it->start (rather than
4386 it->current which is wrong if first char on line is invisible).
4387 When done, reseat it->start to it->current (= start of next row).
4388 (expose_area): Fix exposure of text area when first char (e.g. TAB)
4389 is only partially visible.
4390
4391 * dispextern.h (struct it): New member start.
4392
4393 2003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
4394
4395 * alloc.c (make_float, Fcons): Clear the markbit at init time.
4396 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
4397 of block_index outside of the macro call.
4398 (Fgarbage_collect): Remove null code.
4399
4400 * m/amdx86-64.h: Don't redefine XPNTR.
4401
4402 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
4403 of VALMASK.
4404
4405 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
4406 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
4407 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
4408
4409 * lisp.h (VALMASK): Only define for non-union type.
4410 (MARKBIT): Remove.
4411 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
4412 (XTYPE): Define unconditionally.
4413 (XSETTYPE): Remove one more remnant.
4414 (EQ): Define differently for the union and non-union cases.
4415 (INTMASK): New bit mask.
4416 (struct Lisp_Marker): Move down to prepare for upcoming patch.
4417 (GC_EQ): Delegate to EQ.
4418
4419 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
4420
4421 2003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4422
4423 * xterm.c (x_window_to_scroll_bar): Move check of display to
4424 where window_id is compared.
4425
4426 2003-11-17 Kim F. Storm <storm@cua.dk>
4427
4428 * dispextern.h (struct it): New member first_vpos.
4429
4430 * xdisp.c (start_display): Set it->first_vpos.
4431 (try_window_id): Use first_vpos to start display in first _text_
4432 line if no reusable lines at start of window with header line.
4433
4434 2003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4435
4436 * w32fns.c (XPutPixel):
4437 * w32bdf.c (w32_init_bdf_font):
4438 * sunfns.c (sel_read):
4439 * process.c (Fmake_network_process):
4440 * frame.c (store_frame_param):
4441 * fontset.c (Fset_fontset_font):
4442 * emacs.c (shut_down_emacs):
4443 * ccl.c (ccl_driver): Remove period at end of error message.
4444
4445 * config.in: Regenerate.
4446
4447 * xfns.c (x_window_to_frame, x_any_window_to_frame)
4448 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
4449 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
4450 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
4451 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
4452
4453 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
4454
4455 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
4456 (XTmouse_position, handle_one_xevent): Pass Display* to
4457 x_window_to_scroll_bar.
4458 (x_window_to_scroll_bar): Take a Display* argument.
4459 Check that display for frame is equal to Display* argument.
4460 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
4461 x_display_info_for_display instead. Use Display in xev instead
4462 of GDK_DISPLAY.
4463 (x_dispatch_event): Call x_display_info_for_display.
4464 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
4465 (x_connection_closed): Call xg_display_close for GTK.
4466 (x_term_init): Call xg_display_open for additional displays.
4467 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
4468 for GTK.
4469
4470 * xmenu.c (single_menu_item, mouse_position_for_popup)
4471 (x_activate_menubar): Formatting adjustments.
4472
4473 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
4474 adjustments.
4475
4476 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
4477 (xg_display_close, xg_create_default_cursor)
4478 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
4479 handling.
4480 (xg_left_ptr_cursor): Remove.
4481 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
4482 cursor here.
4483 (xg_win_to_widget): Take Display* argument, call
4484 gdk_xid_table_lookup_for_display.
4485 (xg_create_frame_widgets, xg_get_file_name, create_menus)
4486 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
4487 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
4488 in FRAME_X_DISPLAY_INFO.
4489 (xg_get_scroll_id_for_window): Take Display* argument.
4490 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
4491 (xg_initialize): Remove xg_left_ptr_cursor.
4492
4493 * gtkutil.h: xg_get_scroll_id_for_window, xg_win_to_widget takes
4494 Display* argument also. Declare xg_display_open,
4495 xg_display_close, xg_create_default_cursor.
4496
4497 2003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4498
4499 * xterm.c (x_detect_focus_change): Do not change focus frame for
4500 Enter/LeaveNotify if the current focus frame has explicit focus.
4501
4502 2003-11-14 Kim F. Storm <storm@cua.dk>
4503
4504 * dispnew.c (update_text_area): Fix redisplay error when hscroll
4505 is active and first glyph is only partially visible.
4506
4507 2003-11-13 Kenichi Handa <handa@m17n.org>
4508
4509 * xdisp.c (select_frame_for_redisplay): New function.
4510 (redisplay_internal): Record also selected_frame for
4511 unwind_redisplay. Call select_frame_for_redisplay before
4512 redrawing each frame.
4513 (unwind_redisplay): Argument changed to a cons.
4514
4515 2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
4516
4517 * fns.c (Fstring_to_multibyte): Doc fix.
4518
4519 2003-11-11 Kenichi Handa <handa@m17n.org>
4520
4521 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
4522
4523 2003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4524
4525 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
4526 program specified positions.
4527
4528 2003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4529
4530 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
4531
4532 2003-11-08 Kenichi Handa <handa@m17n.org>
4533
4534 * Makefile.in (lisp): Add kannada.el.
4535 (shortlisp): Likewise.
4536
4537 2003-11-07 Kenichi Handa <handa@m17n.org>
4538
4539 * coding.c (coding_allocate_composition_data):
4540 Reset coding->composing to COMPOSITION_NO.
4541 (coding_restore_composition): Detect invalid composition data.
4542 Give Fstring and Fvector a Lispy integer, not C int.
4543
4544 2003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
4545
4546 * floatfns.c (Flogb): Don't use VALMASK.
4547
4548 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
4549 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
4550
4551 * lisp.h (XINT): Move the cast to clarify what is going on.
4552 (GCTYPEMASK, XSETTYPE): Remove.
4553 (XGCTYPE): Make it an alias of XTYPE.
4554
4555 2003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4556
4557 * xterm.c (x_term_init): Fix formatting.
4558
4559 2003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4560
4561 * gtkutil.h: Declare xg_have_tear_offs, remove xg_keep_popup
4562 and xg_did_tearoff.
4563
4564 * gtkutil.c: Remove variable xg_did_tearoff.
4565 (xg_have_tear_offs): New function.
4566 (tearoff_remove): Just decrease xg_detached_menus.
4567 (tearoff_activate): Increase xg_detached_menus and call
4568 tearoff_remove when tearoff is removed.
4569 (xg_keep_popup): Remove function.
4570 (create_menus): Give add_tearoff_p as argument to recursive
4571 call to create_menus.
4572 (xg_create_widget): Use variables instead of multiple
4573 strcmp. Tell create_menus to create tear off only for
4574 menu bar menus.
4575 (xg_update_menubar): Change title for a detached menu also.
4576 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
4577 of deep_p.
4578 (xg_initialize): Initialize xg_detached_menus, remove
4579 initialization of xg_did_tearoff.
4580
4581 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
4582 xg_have_tear_offs returns non-zero.
4583 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
4584 call to xg_keep_popup.
4585
4586 2003-11-01 Andrew Choi <akochoi@shaw.ca>
4587
4588 * macterm.c (XTread_socket): Handle menubar selection and grow
4589 window only for mouseDown events.
4590
4591 2003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4592
4593 * xterm.c (x_term_init): For GTK part, increase x_initialized
4594 to check for more than one display. Use error instead of return 0.
4595
4596 2003-10-31 Andrew Choi <akochoi@shaw.ca>
4597
4598 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
4599 (copy_dysymtab): Call it.
4600
4601 2003-10-31 Luc Teirlinck <teirllm@auburn.edu>
4602
4603 * eval.c (Fdefvaralias): Doc fix.
4604
4605 2003-10-26 Luc Teirlinck <teirllm@auburn.edu>
4606
4607 * data.c (Fsetplist): Doc fix.
4608
4609 2003-10-14 Lute Kamstra <lute@gnu.org>
4610
4611 * window.c (Fset_window_fringes): Clarify docstring.
4612
4613 2003-10-14 Kim F. Storm <storm@cua.dk>
4614
4615 * window.c (Fset_window_margins): Simplify arg checking.
4616
4617 2003-10-13 Richard M. Stallman <rms@gnu.org>
4618
4619 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
4620 (print_partial_compiled_pattern): Replace assert with a printout.
4621 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
4622
4623 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
4624
4625 * window.c (Fset_window_margins): Allow only integers as args.
4626 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
4627 Doc fixes.
4628
4629 2003-10-13 Lute Kamstra <lute@gnu.org>
4630
4631 * window.c (Fset_window_fringes): Elaborate docstring.
4632
4633 2003-10-12 Andrew Choi <akochoi@shaw.ca>
4634
4635 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
4636
4637 * s/darwin.h (GC_MARK_STACK): Define.
4638
4639 2003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4640
4641 * window.c (shrink_windows): New function.
4642 (size_window): Call shrink_windows to calculate window sizes when
4643 shrinking frame with more than one window.
4644
4645 2003-10-12 Kim F. Storm <storm@cua.dk>
4646
4647 * xdisp.c (compute_fringe_widths): Doc fix.
4648
4649 2003-10-08 Kenichi Handa <handa@m17n.org>
4650
4651 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
4652
4653 2003-10-07 Kenichi Handa <handa@m17n.org>
4654
4655 * coding.c (Qcoding_system_define_form): New variable.
4656 (syms_of_coding): Intern and staticpro it.
4657 (Fcheck_coding_system): Try to autoload the definition of
4658 CODING-SYSTEM.
4659
4660 2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
4661
4662 * fns.c (Frequire): Doc fix.
4663
4664 2003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4665
4666 * xfns.c (Fx_send_client_event): New function as a base for
4667 manipulating extended window manager hints.
4668 (Fx_send_client_event): Remove unused variable s.
4669
4670 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
4671 that function is removed.
4672
4673 * xterm.c (x_set_offset): Use move_offset_left/top instead of
4674 x/y_pixels_outer_diff.
4675 (x_check_expected_move): Calculate move_offset_left/top.
4676
4677 * xterm.h (struct x_output): New members: move_offset_top/left.
4678
4679 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
4680 call x_set_offset directly.
4681
4682 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
4683
4684 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
4685
4686 * xterm.c (x_delete_display): Free font names and font_encoder
4687 in dpyinfo->font_table.
4688
4689 * xfns.c (Fx_close_connection): Only call XFreeFont here.
4690 Move xfree of font names to x_delete_display.
4691
4692 * xterm.h (struct x_display_info): New member, wm_type.
4693 (struct x_output): New members, expected_top/left and
4694 check_expected_move.
4695
4696 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
4697 is received.
4698 (handle_one_xevent): Rename x_check_expected_move from
4699 x_check_fullscreen_move.
4700 (x_set_offset): Only add WM decoration sizes to modified_top/left
4701 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
4702 (x_check_expected_move): Rename from x_check_fullscreen_move.
4703 Removed fullscreen specific code. Use check_expected_move,
4704 expected_left/top instead. Also, set wm_type.
4705 (x_term_init): Initialize wm_type to unknown.
4706
4707 * frame.c (x_fullscreen_move): Remove addition of WM decoration
4708 sizes to move_x/y.
4709
4710 2003-10-03 Kenichi Handa <handa@m17n.org>
4711
4712 * macterm.c (x_load_font): Clear all members of FONTP before start
4713 filling them.
4714
4715 2003-10-02 Kenichi Handa <handa@m17n.org>
4716
4717 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
4718 before calling find_ccl_program_func. Call find_ccl_program_func
4719 only when fontp->font_encoder is not NULL.
4720
4721 * xterm.c (x_load_font): Clear all members of FONTP before start
4722 filling them.
4723
4724 2003-10-03 John Paul Wallington <jpw@gnu.org>
4725
4726 * keymap.c (map_keymap): Don't abort when binding is a vector.
4727
4728 2003-10-02 Jason Rumney <jasonr@gnu.org>
4729
4730 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
4731 Sync dependencies with Makefile.in.
4732 (alloca.o): Remove.
4733
4734 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
4735 filling them.
4736
4737 * w32bdf.c (w32_load_bdf_font): Likewise.
4738
4739 2003-09-30 Richard M. Stallman <rms@gnu.org>
4740
4741 * term.c (set_tty_color_mode): Calculate current_mode_spec
4742 regardless of value of VAL.
4743
4744 * intervals.c (graft_intervals_into_buffer):
4745 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
4746 Handle over_used when splitting UNDER.
4747
4748 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4749
4750 * regex.c (regex_compile): Free the stack when returning from function.
4751
4752 2003-09-28 Kenichi Handa <handa@m17n.org>
4753
4754 * fontset.c (Finternal_char_font): Change return value to
4755 cons (FONT-NAME . GLYPH-CODE).
4756
4757 2003-09-28 Eli Zaretskii <eliz@gnu.org>
4758
4759 * term.c (tty_setup_colors): Treat any negative argument as -1.
4760
4761 2003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
4762
4763 * process.c (send_process): Delete unused temp_buf.
4764
4765 2003-09-26 Dave Love <fx@gnu.org>
4766
4767 * xterm.c (x_bitmap_mask): Declare.
4768
4769 2003-09-25 Dave Love <fx@gnu.org>
4770
4771 * Makefile.in (fns.o): Depend on md5.h.
4772
4773 2003-09-25 Kim F. Storm <storm@cua.dk>
4774
4775 * window.c (set_window_buffer): Fix redisplay problems when
4776 switching between buffers with different display margin widths.
4777
4778 2003-09-23 Kim F. Storm <storm@cua.dk>
4779
4780 * process.c (set_socket_option): Fix :bindtodevice option.
4781 (Fset_network_process_option): Update process contact list when
4782 setting option succeeds.
4783 (Fmake_network_process): Doc fix.
4784
4785 2003-09-23 Dave Love <fx@gnu.org>
4786
4787 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
4788
4789 2003-09-22 Eli Zaretskii <eliz@gnu.org>
4790
4791 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
4792 color mode is an integer number (it could be -1).
4793
4794 2003-09-22 Richard M. Stallman <rms@gnu.org>
4795
4796 * intervals.c (graft_intervals_into_buffer): Correct the main loop
4797 in the case where OVER is longer than UNDER.
4798
4799 2003-09-22 Masatake YAMATO <jet@gyve.org>
4800
4801 * window.c (Fset_window_scroll_bars): Validate the value of
4802 `vertical_type'.
4803
4804 2003-09-21 Kim F. Storm <storm@cua.dk>
4805
4806 * frame.c (Vdefault_frame_scroll_bars): New variable.
4807 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
4808 (syms_of_frame): DEFVAR_LISP it, and initialize according to
4809 window-system default scroll bar position.
4810
4811 * window.c (Fwindow_scroll_bars): Doc fix.
4812
4813 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4814
4815 * xterm.c (x_set_offset): Take window manager decorations into account.
4816
4817 2003-09-19 Richard M. Stallman <rms@gnu.org>
4818
4819 * atimer.h: Don't include lisp.h.
4820 (P_): Define it here (as well as elsewhere).
4821
4822 * print.c (Fprin1_to_string): Move the PRINTPREPARE
4823 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
4824
4825 * data.c (Fvariable_binding_locus): New function.
4826 (syms_of_data): defsubr it.
4827 (Flocal_variable_p): Delete duplicate call to indirect_variable.
4828
4829 2003-09-18 Dave Love <fx@gnu.org>
4830
4831 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
4832
4833 * process.c (Fnetwork_interface_info): Fix type error.
4834 (Fnetwork_interface_list): Doc fix.
4835 (read_process_output, read_process_output): Delete unused var.
4836
4837 2003-09-17 Kim F. Storm <storm@cua.dk>
4838
4839 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
4840 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
4841 (Fnetwork_interface_info): Check that ifreq struct has required
4842 fields before accessing them; this requires that those fields are
4843 defined as macros, which may be too restrictive on some platforms,
4844 but it is better than failing on other platforms.
4845 (syms_of_process): Only defsubr above fns when included.
4846
4847 2003-09-17 Dave Love <fx@gnu.org>
4848
4849 * unexalpha.c: Don't include varargs.h.
4850
4851 2003-09-17 Kim F. Storm <storm@cua.dk>
4852
4853 * process.c (Fset_process_sentinel): Add sentinel to childp plist
4854 for network process.
4855 (socket_options): Add `:' prefix to option names. Add optbit field.
4856 (set_socket_option): Remove no_error arg and special handling of s < 0.
4857 Return 1<<optbit for known option, 0 for unknown.
4858 Do not interpret 0 as false for boolean option (only nil).
4859 Pass failed option and value to report_file_error.
4860 (Fset_network_process_options): Replace by Fset_network_process_option.
4861 (Fset_network_process_option): New function to set just one option.
4862 (Fmake_network_process): Allow :coding arg to be a cons.
4863 Allow :server arg to be an integer specifying backlog size.
4864 Remove :options arg, and allow options to be specified directly
4865 as :KEY, VALUE pairs. Parse these options before binding socket.
4866 As before, :reuseaddr t is default for a server process, but this
4867 can now be disabled by specifying :reuseaddr nil.
4868 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
4869 (init_process): Availability of network options is now checked with
4870 simpler syntax (featurep 'make-network-process :OPTION); use loop to
4871 setup features.
4872 (syms_of_process): Fix defsubr's for the replaced functions.
4873
4874 2003-09-16 Dave Love <fx@gnu.org>
4875
4876 * Makefile.in: Depend on coding.h.
4877
4878 2003-09-14 Kim F. Storm <storm@cua.dk>
4879
4880 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
4881 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
4882 (syms_of_process): Defsubr them.
4883
4884 * config.in: Regenerate.
4885
4886 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
4887
4888 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
4889 * m/news-r6.h (XUNMARK): Remove.
4890 * m/mips.h (XUNMARK): Remove.
4891 * m/mips-siemens.h (XUNMARK): Remove.
4892 * m/iris4d.h (XUNMARK): Remove.
4893 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
4894
4895 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
4896
4897 * lisp.h (VALBITS): Don't remove 1 for the markbit.
4898 (union Lisp_Object): Use unsigned int for types. Remove markbit.
4899 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
4900 (XTYPE): Use unsigned right-shift.
4901 (XMARKBIT, XMARK, XUNMARK): Remove.
4902
4903 * alloc.c (init_intervals, init_symbol, init_marker):
4904 Don't preallocate anything.
4905 (Fgarbage_collect, mark_object): Ignore the markbit.
4906
4907 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
4908
4909 2003-09-08 Lute Kamstra <lute@gnu.org>
4910
4911 * xdisp.c (pint2hrstr): New function.
4912 (decode_mode_spec): Add `%i' and `%I' specs.
4913 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
4914 for `mode-line-format'.
4915
4916 2003-09-07 Andreas Schwab <schwab@suse.de>
4917
4918 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
4919 avoid warning.
4920
4921 2003-09-07 Eli Zaretskii <eliz@gnu.org>
4922
4923 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
4924
4925 2003-09-03 Kim F. Storm <storm@cua.dk>
4926
4927 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
4928 change (superseded by 2002-08-30 change); the default blink-off
4929 cursor is now again "no cursor".
4930
4931 2003-09-01 Jason Rumney <jasonr@gnu.org>
4932
4933 * makefile.w32-in (alloca.o): Remove.
4934 (coding.o): Depend on intervals.h
4935 (emacs.o, bytecode.o): Depend on window.h
4936
4937 2003-09-01 Dave Love <fx@gnu.org>
4938
4939 * Makefile.in (alloca.o): Remove commands.
4940 (coding.o): Depend on intervals.h composite.h window.h.
4941 (emacs.o): Depend on window.h keyboard.h keymap.h.
4942 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
4943 (bytecode.o): Depend on window.h.
4944
4945 2003-08-31 Jason Rumney <jasonr@gnu.org>
4946
4947 * w32term.c (w32_per_char_metric): Allow cached metrics to be
4948 returned even when font_type is unknown.
4949
4950 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
4951
4952 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4953
4954 * xterm.c (x_term_init): Initialize new fields in x_display_info.
4955
4956 * xterm.h (struct x_display_info): Add red/green/blue_bits and
4957 *_offset.
4958
4959 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
4960 calculate pixel value.
4961
4962 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
4963
4964 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
4965 Don't tell redisplay display is accurate when it's actually been
4966 paused for pending input.
4967
4968 2003-08-29 Richard M. Stallman <rms@gnu.org>
4969
4970 * dispnew.c (adjust_glyph_matrix): Call window_box
4971 whenever W is nonzero.
4972
4973 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4974 (Fkill_local_variable, Fmake_variable_frame_local)
4975 (Flocal_variable_p, Flocal_variable_if_set_p):
4976 Use indirect_variable to trace thru variable aliases.
4977
4978 * config.in: Updated.
4979
4980 * callint.c (Fcall_interactively): Save and restore
4981 Vthis_command, Vthis_original_command, real_this_command,
4982 and current_kboard->Vlast_command.
4983
4984 * abbrev.c (Fexpand_abbrev): Insert before deleting.
4985
4986 2003-08-29 Gerd Moellmann <gerd@gnu.org>
4987
4988 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
4989
4990 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
4991
4992 * coding.c (decode_coding_iso2022): Initialize local variable c2.
4993 (decode_coding_sjis_big5): Likewise.
4994
4995 2003-08-27 Jason Rumney <jasonr@gnu.org>
4996
4997 * w32.c (sys_pipe): Protect against file descriptor overflow.
4998
4999 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
5000
5001 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
5002
5003 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
5004
5005 * xfns.c (Vgtk_version_string): New variable.
5006 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
5007
5008 2003-08-24 Eli Zaretskii <eliz@gnu.org>
5009
5010 * term.c (term_init): Remove `const' from buffer_size's declaration.
5011
5012 * Makefile.in (msdos.o): Depend on intervals.h.
5013
5014 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
5015
5016 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5017
5018 * xterm.h (struct x_display_info): New fields: client_leader_window
5019 and Xatom_wm_client_leader.
5020
5021 * xterm.c (x_initialize): Move call to x_session_initialize to ...
5022 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
5023
5024 * xsmfns.c (create_client_leader_window): New function.
5025 (x_session_initialize): Call create_client_leader_window, take
5026 dpyinfo as argument.
5027
5028 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
5029
5030 * Makefile.in (xsmfns.o): Add more depenedencies.
5031
5032 2003-08-21 Dave Love <fx@gnu.org>
5033
5034 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
5035
5036 2003-08-21 Kenichi Handa <handa@m17n.org>
5037
5038 * term.c (term_init): Fix previous change; don't rely on the
5039 length of `buffer' if TERMINFO is defined.
5040
5041 2003-08-20 Dave Love <fx@gnu.org>
5042
5043 * atimer.h: Include lisp.h.
5044
5045 * lisp.h (EMACS_LISP_H): New.
5046 (popup_activated_flag): Don't declare.
5047
5048 * alloca.c: Some merging with gnulib. Change logic and doc
5049 concerning (x)malloc/(x)free -- no longer Emacs-specific.
5050 [DO_BLOCK_INPUT]: Don't include lisp.h.
5051 (xmalloc, xfree): Declare.
5052 (malloc): Don't declare.
5053
5054 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
5055 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
5056 atimer.h, blockinput.h.
5057
5058 * alloc.c (lisp_align_malloc): Change type of `aligned'.
5059
5060 * alloca.s: Removed.
5061
5062 2003-08-19 Gerd Moellmann <gerd@gnu.org>
5063
5064 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
5065 use -lncurses.
5066
5067 * term.c (term_init): Use a buffer of size 4096 for tgetent since
5068 FreeBSD returns something longer than 2044. Abort if the end of
5069 the buffer is overwritten.
5070
5071 2003-08-19 Miles Bader <miles@gnu.org>
5072
5073 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
5074
5075 2003-08-19 Gerd Moellmann <gerd@gnu.org>
5076
5077 * alloc.c (lisp_align_malloc): Check for memory full when
5078 allocating ablocks, which also avoids freeing a pointer into an
5079 ablocks structure.
5080
5081 * puresize.h (BASE_PURESIZE): Increase to 1100000.
5082
5083 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
5084
5085 2003-08-16 Richard M. Stallman <rms@gnu.org>
5086
5087 * editfns.c (Fencode_time): Doc fix.
5088
5089 2003-08-16 David Ponce <david@dponce.com>
5090
5091 * fileio.c (Fwrite_region): Fix conditional expression to issue
5092 the right message.
5093
5094 2003-08-16 Juri Linkov <juri@jurta.org> (tiny change)
5095
5096 * syntax.c (Fforward_word): Argument changed to optional.
5097 Set default value to 1.
5098
5099 2003-08-15 Kenichi Handa <handa@m17n.org>
5100
5101 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
5102 what autoscaled.
5103 (best_matching_font): Once we find a better scalable font, set
5104 non_scalable_has_exact_height_p to 1.
5105 (try_font_list): Call try_alternative_families to try any family
5106 with the given registry.
5107
5108 2003-08-09 Andreas Schwab <schwab@suse.de>
5109
5110 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
5111
5112 * print.c (print_string): Fix printing of multibyte string with
5113 nontrivial printcharfun.
5114
5115 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5116
5117 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
5118
5119 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
5120
5121 2003-07-31 Kenichi Handa <handa@m17n.org>
5122
5123 * process.c (read_process_output): Return the actually read bytes
5124 instead of the result of decoding.
5125
5126 2003-07-31 Kenichi Handa <handa@m17n.org>
5127
5128 * xterm.h (struct x_bitmap_record): New member have_mask.
5129
5130 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
5131 to 0.
5132 (x_create_bitmap_from_file): Likewise.
5133 (x_destroy_bitmap): Check have_mask member before freeing a mask.
5134 (x_destroy_all_bitmaps): Likewise.
5135 (x_create_bitmap_mask): Set have_mask member to 1.
5136
5137 2003-07-30 Richard M. Stallman <rms@gnu.org>
5138
5139 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
5140
5141 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5142
5143 * gtkutil.c (xg_mark_data): Update calls to mark_object.
5144
5145 2003-07-29 Richard M. Stallman <rms@gnu.org>
5146
5147 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
5148 Conditionalize XIM code on HAVE_XIM.
5149
5150 * fns.c (Fclear_string): New function.
5151 (syms_of_fns): defsubr it.
5152
5153 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
5154
5155 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
5156
5157 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
5158
5159 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
5160
5161 * buffer.c (delete_all_overlays): New function.
5162 * buffer.h (delete_all_overlays): Declare.
5163 * coding.c (run_pre_post_conversion_on_str):
5164 * print.c (temp_output_buffer_setup):
5165 * fileio.c (Finsert_file_contents):
5166 * minibuf.c (get_minibuffer): Use it.
5167
5168 2003-07-22 Andrew Choi <akochoi@shaw.ca>
5169
5170 * unexmacosx.c (unexec_regions_sort_compare):
5171 (unexec_regions_merge): New functions. Sort and merge unexec
5172 regions before dumping them.
5173
5174 2003-07-22 Dave Love <fx@gnu.org>
5175
5176 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
5177
5178 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
5179
5180 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
5181 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
5182 MARKBIT as the gcmarkbit for strings.
5183
5184 2003-07-21 Richard M. Stallman <rms@gnu.org>
5185
5186 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
5187
5188 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
5189 (syms_of_fns): Corresponding change.
5190
5191 * alloc.c (syms_of_alloc): Doc fixes.
5192
5193 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
5194
5195 * s/netbsd.h: Use -Wl syntax.
5196
5197 2003-07-17 Richard M. Stallman <rms@gnu.org>
5198
5199 * xterm.c (xim_initialize): Redo 6/24 change.
5200
5201 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
5202
5203 * buffer.c (copy_overlays): Use EMACS_INT for positions.
5204 (Fswitch_to_buffer): Don't signal an error when switching to the same
5205 buffer in a dedicated window.
5206
5207 * alloc.c: Use bitmaps for cons, as was done for floats.
5208 (init_float, init_cons): Let the normal code allocate the first block.
5209 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
5210 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
5211 New macros.
5212 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
5213 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
5214 (live_cons_p): Check the pointer is not past the `conses' array.
5215 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
5216 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
5217 (survives_gc_p): Use CONS_MARKED_P and simplify.
5218 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
5219
5220 2003-07-13 Paul Eggert <eggert@twinsun.com>
5221
5222 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
5223 puts it into BSS instead, at least on Solaris 8 and 9.
5224 This is a valid optimization, and it may occur on other platforms,
5225 so Emacs should not assume that initializing a static variable to
5226 zero puts it into data.
5227 * alloc.c (pure, staticvec):
5228 Initialize these arrays to nonzero, so that they're not
5229 put into BSS by that optimization.
5230
5231 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
5232
5233 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
5234 (lisp_align_malloc): Use posix_memalign is available.
5235 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
5236 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
5237 for consistency. Update users.
5238
5239 2003-07-13 Richard M. Stallman <rms@gnu.org>
5240
5241 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
5242
5243 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
5244
5245 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
5246 and use the Gtk+ function gtk_window_icon_from_file if available.
5247
5248 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
5249 handle mask of bitmaps.
5250 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
5251 mask property.
5252 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
5253
5254 * xterm.h (xg_set_icon): New function.
5255
5256 2003-07-12 Paul Eggert <eggert@twinsun.com>
5257
5258 * unexelf.c (unexec): Consider a section to precede the .bss
5259 section if its addresses overlap that of .bss.
5260
5261 2003-07-12 Richard M. Stallman <rms@gnu.org>
5262
5263 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
5264
5265 * config.in (HAVE_CRTIN): Add #undef.
5266 (INLINE): Really inline only if OPTIMIZE is defined.
5267
5268 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
5269 END_FILES_1.
5270 (START_FILES_1, END_FILES_1): New macros (conditional).
5271 (LD_SWITCH_SYSTEM_TEMACS): Define.
5272
5273 * s/openbsd.h: Don't include bsd4-3.h.
5274 (TERMINFO): Define.
5275 (LIBS_TERMCAP): Define.
5276 (LD_SWITCH_SYSTEM): Define (two definitions).
5277
5278 * xfns.c: Include libpng/png.h instead of png.h.
5279
5280 2003-07-11 Andreas Schwab <schwab@suse.de>
5281
5282 * buffer.c (modify_overlay): Update prototype.
5283 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
5284 Likewise.
5285
5286 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
5287
5288 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
5289 (struct interval): Move to intervals.h.
5290 (struct Lisp_Marker): Use EMACS_INT for position info.
5291 (forward_point): Remove prototype of defunct function.
5292 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
5293 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
5294 (syms_of_textprop, set_text_properties): Remove prototypes that are
5295 already in intervals.h.
5296
5297 * intervals.h (struct interval): Move from lisp.h.
5298 Use EMACS_INT for position and size info.
5299
5300 * coding.c: Include intervals.h for Fset_text_properties.
5301
5302 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
5303 position and length information.
5304
5305 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
5306
5307 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
5308 position and length information.
5309
5310 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
5311
5312 Change overlays_after and overlays_before so the overlays themselves
5313 are linked into lists, rather than using cons cells. After all each
5314 Lisp_Misc already occupies 5 words, so we can add a `next' field to
5315 Lisp_Overlay for free and save up one cons cell per overlay (not
5316 to mention one indirection when traversing the list of overlay).
5317
5318 * lisp.h (struct Lisp_Overlay): New field `next'.
5319
5320 * buffer.h (struct buffer): Change overlays_before and overlays_after
5321 from Lisp lists of overlays to pointers to overlays.
5322
5323 * buffer.c (overlay_strings, recenter_overlay_lists):
5324 Fix typo in eassert in last commit.
5325 (unchain_overlay): New function.
5326 (add_overlay_mod_hooklist): Use AREF.
5327 (copy_overlays, reset_buffer, overlays_at, overlays_in)
5328 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
5329 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
5330 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
5331 (report_overlay_modification, evaporate_overlays, init_buffer_once):
5332 Adjust to new type of overlays_(before|after).
5333
5334 * alloc.c (mark_object): Mark the new `next' field of overlays.
5335 (mark_buffer): Manually mark the overlays_(after|before) fields.
5336
5337 * coding.c (run_pre_post_conversion_on_str):
5338 * editfns.c (overlays_around):
5339 * xdisp.c (load_overlay_strings):
5340 * fileio.c (Finsert_file_contents):
5341 * indent.c (current_column):
5342 * insdel.c (signal_before_change, signal_after_change):
5343 * intervals.c (set_point_both):
5344 * print.c (temp_output_buffer_setup): Use new type for
5345 overlays_(before|after).
5346
5347 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
5348
5349 * buffer.c (report_overlay_modification): Don't run hooks while
5350 traversing the list of overlays.
5351
5352 * buffer.h (struct buffer): Use an int for overlay_center.
5353 (overlays_at, evaporate_overlays, recenter_overlay_lists)
5354 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
5355
5356 * buffer.c (reset_buffer, recenter_overlay_lists)
5357 (adjust_overlays_for_insert, adjust_overlays_for_delete)
5358 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
5359 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
5360 (overlays_at, evaporate_overlays, recenter_overlay_lists)
5361 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
5362
5363 * xdisp.c (fast_find_position): Remove unused var.
5364
5365 * cmds.c (Qexpand_abbrev): New sym.
5366 (syms_of_cmds): Initialize it.
5367 (internal_self_insert): Use it to call expand-abbrev.
5368
5369 2003-07-09 Kim F. Storm <storm@cua.dk>
5370
5371 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
5372 was configured with --without-xim.
5373 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
5374
5375 2003-07-07 Richard M. Stallman <rms@gnu.org>
5376
5377 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
5378
5379 * alloc.c (Fgarbage_collect): Doc fix.
5380
5381 2003-07-07 Nozomu Ando <nand@mac.com> (tiny change)
5382
5383 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
5384
5385 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
5386
5387 * minibuf.c (read_minibuf): UNGCPRO before returning.
5388 (Ftry_completion, Fall_completions): Doc fix.
5389
5390 * alloc.c (live_float_p): Check that p is not past the `floats' array,
5391 now that `floats' is not the last element of the struct any more.
5392
5393 2003-07-06 Jason Rumney <jasonr@gnu.org>
5394
5395 * w32term.h (ClipboardSequence_Proc): New type.
5396
5397 * w32fns.c (clipboard_sequence_fn): New variable.
5398 (globals_of_w32fns): Initialize it.
5399
5400 * w32select.c (last_clipboard_sequence_number): New variable.
5401 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
5402 number if possible.
5403
5404 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
5405
5406 * m/amdx86-64.h (MARKBIT):
5407 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
5408 MARKBIT and ARRAY_MARK_FLAG any more.
5409
5410 * m/hp800.h (XSETMARKBIT):
5411 * m/sr2k.h (XSETMARKBIT):
5412 * lisp.h (XSETMARKBIT): Remove unused macro.
5413
5414 * lisp.h (mark_object): Change prototype.
5415
5416 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
5417 (last_marked): Change accordingly.
5418 (mark_interval, mark_maybe_object, mark_maybe_pointer)
5419 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
5420 (mark_buffer): Update calls to mark_object.
5421
5422 * bytecode.c (mark_byte_stack):
5423 * fns.c (sweep_weak_table):
5424 * keyboard.c (mark_kboards): Update calls to mark_object.
5425
5426 2003-07-06 Jason Rumney <jasonr@gnu.org>
5427
5428 * alloc.c (struct ablock): Only include padding when there is some.
5429
5430 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
5431
5432 * alloc.c (ALIGN): Add casts to simplify usage.
5433 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
5434 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
5435 (struct ablock, struct ablocks): New types.
5436 (free_ablock): New global var.
5437 (lisp_align_malloc, lisp_align_free): New functions.
5438 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
5439 (struct float_block): Reorder and add gcmarkbits.
5440 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
5441 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
5442 (init_float, make_float): Use lisp_align_malloc.
5443 (free_float, live_float_p): Don't use `type' any more.
5444 (make_float): Use FLOAT_UNMARK to access to mark bit.
5445 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
5446 Use FLOAT_MARKED_P to access the mark bit.
5447 (pure_alloc): Simplify use of ALIGN.
5448 (mark_object): Use FLOAT_MARK to access the mark bit.
5449 (gc_sweep): Use new macros to access the float's mark bit.
5450 (init_alloc_once): Init free_ablock.
5451
5452 * lisp.h (struct Lisp_Float): Remove unused field `type'.
5453
5454 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
5455
5456 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
5457 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
5458 (allocate_buffer): Move.
5459 (string_bytes): Don't mask markbit of `size_byte'.
5460 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
5461 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
5462 Use the `size' field of buffers (rather than the `name' field) for
5463 the mark bit, as is done for all other vectorlike objects.
5464 Use the new macros to access the mark bit of vectorlike objects.
5465
5466 2003-06-26 Richard M. Stallman <rms@gnu.org>
5467
5468 * puresize.h (BASE_PURESIZE): Increment base size.
5469
5470 * xdisp.c (fast_find_position): Enable Gerd's new definition.
5471
5472 * xterm.c (xim_initialize): Undo previous change.
5473
5474 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
5475
5476 * alloc.c (survives_gc_p): Simplify.
5477
5478 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
5479
5480 * window.c (Fset_window_dedicated_p): Simplify.
5481 (display_buffer_1): Don't raise the win from which minibuf was entered.
5482 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
5483 (Fminibuffer_selected_window): Simplify.
5484
5485 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
5486
5487 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
5488 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
5489
5490 * insdel.c (check_markers, adjust_markers_for_delete)
5491 (adjust_markers_for_insert, adjust_markers_for_replace)
5492 (prepare_to_modify_buffer, RESTORE_VALUE):
5493 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
5494 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
5495 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
5496 * alloc.c (Fmake_marker, free_marker, gc_sweep):
5497 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
5498 * editfns.c (save_excursion_restore, transpose_markers):
5499 * window.c (delete_window):
5500 * xdisp.c (message_dolog): Update for new types.
5501
5502 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5503
5504 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
5505 (realize_default_face): Use default_face_done_p for the force_p
5506 argument to set_lface_from_font_name. Set default_face_done_p to one.
5507
5508 * frame.c (make_frame): Initialize default_face_done_p.
5509
5510 * frame.h (struct frame): Add default_face_done_p.
5511
5512 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
5513 will be defined.
5514
5515 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
5516
5517 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
5518 Initialize the new field `gcmarkbit'.
5519 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
5520 (mark_interval_tree): Don't mark the tree separately from the nodes.
5521 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
5522 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
5523 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
5524
5525 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
5526 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
5527 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
5528 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
5529 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
5530
5531 2003-06-24 Dave Love <fx@gnu.org>
5532
5533 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
5534
5535 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
5536 from gnulib.
5537
5538 2003-06-21 Richard M. Stallman <rms@gnu.org>
5539
5540 * fileio.c (Fwrite_region): Alternate messages
5541 for append and partial write.
5542
5543 * keyboard.c (read_key_sequence): When converting upcase fn key to
5544 downcase, update fkey and keytran so `backspace' gets translated.
5545
5546 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
5547
5548 * process.c (wait_reading_process_input): Don't signal SIGIO
5549 in batch mode.
5550
5551 2003-06-17 Kenichi Handa <handa@m17n.org>
5552
5553 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
5554 composite.h.
5555
5556 * xselect.c: Don't include charset.h, coding.h, composite.h.
5557 (Qforeign_selection): New variable.
5558 (syms_of_xselect): Intern and static it.
5559 (selection_data_to_lisp_data): Return a unibyte string made from
5560 data with `foreign-selection' text property.
5561
5562 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
5563
5564 * termhooks.h (EVENT_INIT): New macro.
5565
5566 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
5567
5568 * alloc.c (mark_kboards): Move to keyboard.c.
5569
5570 * keyboard.c (record_asynch_buffer_change, read_avail_input):
5571 * xterm.c (x_dispatch_event):
5572 * xmenu.c (find_and_call_menu_selection):
5573 * xdisp.c (handle_tool_bar_click):
5574 * w32menu.c (menubar_selection_callback):
5575 * sysdep.c (kbd_input_ast, read_input_waiting):
5576 * msdos.c (dos_rawgetc):
5577 * macterm.c (mac_check_for_quit_char):
5578 * macmenu.c (menubar_selection_callback):
5579 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
5580 data to kbd_buffer_store_event.
5581
5582 2003-06-15 Kim F. Storm <storm@cua.dk>
5583
5584 * xdisp.c (x_fix_overlapping_area): Always use area relative X
5585 to fix redisplay problem with tall characters (such as \e,AC\e(B).
5586
5587 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
5588
5589 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
5590
5591 2003-06-12 Kenichi Handa <handa@m17n.org>
5592
5593 * fileio.c (Fwrite_region): Save and restore restriction.
5594
5595 2003-06-12 Dave Love <fx@gnu.org>
5596
5597 * alloca.c (alloca): Declare arg as size_t.
5598
5599 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
5600 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
5601
5602 2003-06-11 Dave Love <fx@gnu.org>
5603
5604 * search.c (shrink_regexp_cache): Use xrealloc.
5605 (syms_of_search): Use xmalloc.
5606
5607 2003-06-10 Kim F. Storm <storm@cua.dk>
5608
5609 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
5610 Adjust phys_cursor.x to be relative to window box, rather than
5611 text area before checking -- to ensure cursor is redrawn when
5612 exposing window.
5613 Note: This also fixes a similar (older) bug if display margins
5614 are present.
5615
5616 2003-06-06 Kenichi Handa <handa@m17n.org>
5617
5618 * coding.c (encoding_buffer_size): If coding->type is
5619 coding_type_ccl, double magnification on CRLF encoding.
5620
5621 2003-06-06 Jason Rumney <jasonr@gnu.org>
5622
5623 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
5624 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
5625
5626 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
5627 Mac too.
5628
5629 2003-06-05 Dave Love <fx@gnu.org>
5630
5631 * strftime.c: Merge changes from gnulib.
5632
5633 * mktime.c (__mktime_internal): Merge changes from gnulib
5634 involving year 69 and dst2.
5635
5636 Changes to merge with gnulib version and be consistent with the
5637 autoconf test:
5638
5639 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
5640 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
5641 [HAVE_LOCALE_H]: Include locale.h.
5642 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
5643
5644 2003-06-05 Kim F. Storm <storm@cua.dk>
5645
5646 * window.c (coordinates_in_window): Convert X and Y to window
5647 relative coordinates inside mode-line and header-line parts.
5648 Convert X and Y to margin area relative coordinates inside left
5649 and right display margin parts.
5650
5651 2003-06-05 Jason Rumney <jasonr@gnu.org>
5652
5653 * w32fns.c (add_system_logical_colors_to_map): New function.
5654 (Fx_open_connection): Use it.
5655
5656 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
5657
5658 * process.c (allocate_pty): Revert part of the previous patch.
5659 (Faccept_process_output): Simplify.
5660
5661 2003-06-04 Jason Rumney <jasonr@gnu.org>
5662
5663 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
5664
5665 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
5666 (lispy_mouse_wheel_names): Remove.
5667 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
5668 Always define drag_and_drop_syms.
5669
5670 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
5671 WHEEL_EVENT events.
5672
5673 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
5674
5675 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
5676
5677 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
5678
5679 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5680
5681 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
5682 menu item label.
5683
5684 2003-06-03 Richard M. Stallman <rms@gnu.org>
5685
5686 * window.c (Fwindow_edges): Doc fix.
5687 (Fwindow_pixel_edges, Fwindow_inside_edges)
5688 (Fwindow_inside_pixel_edges): New functions.
5689 (syms_of_window): defsubr them.
5690
5691 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
5692 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
5693
5694 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
5695
5696 * dispnew.c (Fsit_for): Don't lie about the number of args.
5697
5698 2003-06-02 Dave Love <fx@gnu.org>
5699
5700 * callproc.c: Use HAVE_FCNTL_H, not USG5.
5701 (syms_of_callproc) <process-environment>: Doc fix.
5702
5703 * doc.c: Use HAVE_FCNTL_H, not USG5.
5704
5705 * xfaces.c (font_rescale_ratio): Fix for K&R.
5706
5707 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
5708
5709 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
5710
5711 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
5712
5713 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
5714 (xg_create_frame_widgets): Use ENCODE_UTF_8.
5715
5716 * xterm.c (Qutf_8): Move to coding.c
5717
5718 * xmenu.c (ENCODE_MENU_STRING): New.
5719 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
5720 Use it.
5721
5722 * coding.h (ENCODE_UTF_8): New.
5723 (Qutf_8): Declare.
5724
5725 * coding.c (Qutf_8): New.
5726 (syms_of_coding): Intern it.
5727
5728 * fns.c: Doc fixes.
5729
5730 2003-06-02 Kenichi Handa <handa@m17n.org>
5731
5732 * buffer.c (Fset_buffer_multibyte): Fix previous change.
5733
5734 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
5735
5736 * lread.c (openp): Make sure STR is a string.
5737
5738 2003-06-01 David Ponce <david@dponce.com>
5739
5740 * termhooks.h (enum event_kind): Added new WHEEL_EVENT event.
5741 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
5742
5743 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
5744 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
5745 (discard_mouse_events): Discard WHEEL_EVENT events too.
5746 (lispy_wheel_names, wheel_syms): New.
5747 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
5748 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX
5749 defined.
5750 (make_lispy_event): Add WHEEL_EVENT handler.
5751
5752 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
5753 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
5754 WHEEL_EVENT events.
5755
5756 2003-05-31 John Paul Wallington <jpw@gnu.org>
5757
5758 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
5759 timer are in lisp/emacs-lisp.
5760
5761 2003-05-31 Kenichi Handa <handa@m17n.org>
5762
5763 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
5764 region when a buffer is changed to unibyte.
5765
5766 * charset.h (VALID_LEADING_CODE_P): New macro.
5767 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
5768
5769 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
5770 is nonzero, accept multibyte form of eight-bit-control chars.
5771 (decode_composition_emacs_mule): Likewise.
5772 (decode_coding_emacs_mule): Likewise.
5773 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
5774 multibyte form of eight-bit-control chars.
5775
5776 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
5777 (Finsert_file_contents): If coding-system-for-read is bound to
5778 Qauto_save_coding, use the coding system emacs-mule with special
5779 setting for recovering a file.
5780 (choose_write_coding_system): On auto saving, use the coding
5781 system emacs-mule with special setting for auto saving.
5782 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
5783
5784 2003-05-30 Kenichi Handa <handa@m17n.org>
5785
5786 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
5787 properly before calling ccl_driver.
5788
5789 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
5790
5791 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is
5792 nonzero.
5793 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
5794 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
5795
5796 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
5797
5798 * xfaces.c (realize_default_face): Do not abort if lface is
5799 non-existent - reverts change from 2003-05-19.
5800
5801 2003-05-29 Kenichi Handa <handa@m17n.org>
5802
5803 * coding.c (decode_coding_iso2022): Pay attention to the byte
5804 sequence of CTEXT extended segment, and retain those bytes as is.
5805
5806 2003-05-28 Kenichi Handa <handa@m17n.org>
5807
5808 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change
5809 of CODING_REPLACEMENT_CHARACTER.
5810 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
5811 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
5812 check this flag on encoding.
5813 (encode_coding_sjis_big5): Check
5814 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
5815 (Fset_terminal_coding_system_internal): Set
5816 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
5817 instead of setting CODING_FLAG_ISO_SAFE flag in
5818 terminal_coding.flags.
5819
5820 * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from
5821 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
5822 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
5823
5824 2003-05-28 Richard M. Stallman <rms@gnu.org>
5825
5826 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
5827
5828 * eval.c (unbind_to): Move init of this_binding to separate statement.
5829
5830 2003-05-28 Kim F. Storm <storm@cua.dk>
5831
5832 * xdisp.c (expose_window): Fix error in calculation of
5833 window relative coordinates of area to redisplay.
5834
5835 2003-05-27 Jason Rumney <jasonr@gnu.org>
5836
5837 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
5838
5839 2003-05-27 David Ponce <david@dponce.com>
5840
5841 Handle W32 mouse wheel events as mouse click events, like in X.
5842
5843 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
5844 MOUSE_WHEEL_EVENT anymore.
5845
5846 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
5847 Scrolling down/up the mouse wheel is respectively mapped to mouse
5848 button 4 and 5.
5849 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
5850 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
5851 WM_MOUSEWHEEL events.
5852
5853 2003-05-27 Andreas Schwab <schwab@suse.de>
5854
5855 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
5856
5857 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
5858 partially visible line.
5859
5860 * alloc.c (Fgarbage_collect): Fix last change.
5861
5862 2003-05-26 John Paul Wallington <jpw@gnu.org>
5863
5864 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
5865
5866 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
5867
5868 * window.c (Fset_window_buffer): Add type of `keep_margins'.
5869 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
5870
5871 * window.h (window_box_text_cols): Declare.
5872
5873 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
5874 (x_draw_vertical_border): Remove unused var `f'.
5875
5876 * xfaces.c (build_scalable_font_name): Remove `unused var
5877 pixel_size' warning.
5878
5879 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
5880
5881 * unexelf.c (unexec): Remove `unused var n' warning.
5882
5883 * strftime.c (my_strftime_localtime_r): Remove `defined but
5884 unused' warning.
5885
5886 * process.c (allocate_pty): Remove `unused var stb' and
5887 `cp might be used uninitialized' warnings.
5888
5889 * dispnew.c (mode_line_string): Remove unused var `f'.
5890
5891 * coding.c (find_safe_codings): Remove unused var `i'.
5892
5893 * bytecode.c (Fbyte_code): Remove `unused val' warning.
5894
5895 * buffer.c (Fkill_buffer): Remove unused var `list'.
5896
5897 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
5898
5899 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5900
5901 * frame.c (make_frame): Condition want_fullscreen with
5902 HAVE_WINDOW_SYSTEM.
5903
5904 2003-05-25 Juanma Barranquero <lektu@terra.es>
5905
5906 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
5907 (Fwindow_scroll_bars): Fix typo in docstring.
5908
5909 2003-05-24 Kim F. Storm <storm@cua.dk>
5910
5911 The following changes serve several purposes:
5912
5913 1) Swap the position of fringes and display margins in windows, i.e.
5914 the fringes are now displayed between the margins and the text area
5915 (by default).
5916
5917 2) Allow fringe and scroll bar parameters to be set per-buffer and
5918 per-window (like display margins). Such settings are now stored
5919 in window configurations, preserved when frames are resized, and
5920 copied when windows are split vertically or horizontally.
5921 Several bugs related to display margins have been fixed.
5922
5923 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
5924
5925 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
5926 rather than FRAME_WIDTH (FRAME_FONT (f)).
5927
5928 5) Introduce a consistent naming of variables, members and macros
5929 depending on whether their value is measured in pixels or in
5930 canonical columns/lines. Pixel dimensions are named *_width and
5931 *_height, while canonical columns/lines are named *_cols and
5932 *_lines. Pixel positions are named *_x and *_y, while column/line
5933 positions are named *_col and *_line.
5934
5935 6) Consolidate more of the X, W32, and MAC gui code by moving
5936 common data into struct frame, and generalize it for the non-gui
5937 case by using suitable defaults.
5938
5939 7) Cleanup and consolidate the macros controlling frame and window
5940 layout into frame.h and window.h, and generalize the use of the
5941 various window_box_* functions (enhanced to handle the new fringe
5942 position and the per-window fringe and scroll bar settings).
5943
5944 * frame.h (struct frame): Rename members height to text_lines,
5945 width to text_cols, window_height to total_lines, window_width to
5946 total_cols, new_height to new_text_lines, new_width to
5947 new_text_cols. All uses changed.
5948 (struct frame): New members which consolidate common members of
5949 x_output, w32_output, and mac_output structures: left_pos,
5950 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
5951 win_gravity, size_hint_flags, border_width, internal_border_width,
5952 line_height, fringe_cols, left_fringe_width, right_fringe_width,
5953 want_fullscreen. All uses changed.
5954 (struct frame): New member column_width contaning the canonical
5955 column width, analogue to line_height. All uses changed.
5956 (struct frame): Rename members scroll_bar_pixel_width to
5957 config_scroll_bar_width, and scroll_bar_cols to
5958 config_scroll_bar_cols. All uses changed.
5959 (struct frame): New member scroll_bar_actual_width which
5960 consolidates and renames the vertical_scroll_bar_extra member of
5961 x_output, w32_output, and mac_output structures. All uses changed.
5962 (FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
5963 from x/w32/macterm.h files. All uses changed. Also change code
5964 which referred to f->output_data...->pixel_height.
5965 (FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
5966 from x/w32/macterm.h files. All uses changed. Also change code
5967 which referred to f->output_data...->pixel_width.
5968 (FRAME_LINES): Renamed from FRAME_HEIGHT. All uses changed.
5969 Also change code which referred to f->height.
5970 (FRAME_COLS): Renamed from FRAME_WIDTH. All uses changed.
5971 Also change code which referred to f->width.
5972 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
5973 to update new_text_lines and new_text_cols members directly.
5974 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
5975 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
5976 (FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
5977 FRAME_SCROLL_BAR_COLS. All uses changed.
5978 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
5979 Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
5980 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
5981 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
5982 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
5983 (FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
5984 (SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
5985 (FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
5986 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
5987 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
5988 (FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT. Unconditionally
5989 return line_height member (it now has proper value also for
5990 non-window frames).
5991 (FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT. Unconditionally
5992 return new column_width member (rather than the default font width).
5993 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
5994 (FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
5995 from x/w32/macterm.h files. Unconditionally return corresponding
5996 member of frame structure (they now have proper values also for
5997 non-window frames).
5998 (FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
5999 Calculate return value from left and right widths.
6000 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
6001 internal_border_width member (has proper value for non-window frame).
6002 (FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
6003 (FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
6004 (FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
6005 (FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
6006 (FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
6007 consolidated from xterm.h, macterm.h, and w32term.h.
6008 (FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
6009 consolidated from xterm.h, macterm.h, and w32term.h.
6010 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
6011 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
6012 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
6013 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
6014 (FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
6015 consolidated from x/mac/w32term.h.
6016 (FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
6017 consolidated from x/mac/w32term.h.
6018 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
6019 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
6020 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
6021 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
6022
6023 * window.h (struct window): Rename members left to left_col,
6024 top to top_line, height to total_lines, width to total_cols,
6025 left_margin_width to left_margin_cols, right_margin_width to
6026 right_margin_cols, orig_height to orig_total_lines, orig_top to
6027 orig_top_line. All uses changed.
6028 (struct window): New members left_fringe_width, right_fringe_width,
6029 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
6030 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
6031 New macros primarily used to simplify other macros.
6032 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
6033 referred to XINT (w->width).
6034 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
6035 referred to XINT (w->height).
6036 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
6037 referred to XINT (w->width) * canon_x_unit.
6038 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
6039 referred to XINT (w->height) * canon_y_unit.
6040 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
6041 referred to XINT (w->left).
6042 (WINDOW_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_EDGE. Change
6043 all uses and code that referred to XINT (w->left) + XINT (w->width).
6044 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
6045 referred to XINT (w->top).
6046 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
6047 referred to XINT (w->top) + XINT (w->height).
6048 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
6049 referred to XINT (w->left) * canon_x_unit.
6050 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
6051 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
6052 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
6053 referred to XINT (w->top) * canon_y_unit.
6054 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
6055 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
6056 (WINDOW_LEFTMOST_P): New macro.
6057 (WINDOW_BOX_LEFT_EDGE_COL): Renamed from WINDOW_LEFT_MARGIN.
6058 All uses changed.
6059 (WINDOW_BOX_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_MARGIN.
6060 All uses changed.
6061 (WINDOW_BOX_LEFT_EDGE_X): Renamed from
6062 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
6063 Do not exclude left fringe width.
6064 (WINDOW_BOX_RIGHT_EDGE_X): Renamed from
6065 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
6066 Do not exclude fringe widths.
6067 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
6068 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
6069 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
6070 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
6071 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
6072 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
6073 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
6074 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
6075 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
6076 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
6077 New macros. Change code which referenced corresponding
6078 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
6079 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
6080 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
6081 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
6082 allow per-window scroll-bar settings.
6083 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
6084 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
6085 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
6086 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
6087 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
6088 FRAME_SCROLL_BAR_WIDTH.
6089 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
6090 (WINDOW_SCROLL_BAR_AREA_X): New macros.
6091 (WINDOW_HEADER_LINE_HEIGHT): Renamed from
6092 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
6093 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Renamed from
6094 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
6095 (WINDOW_BOX_TEXT_HEIGHT): Renamed from
6096 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
6097 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
6098 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
6099 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Moved here from dispextern.h.
6100 (WINDOW_LEFT_MARGIN_WIDTH): Renamed from
6101 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
6102 (WINDOW_RIGHT_MARGIN_WIDTH): Renamed from
6103 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
6104 (window_from_coordinates): Update prototype.
6105 (Fset_window_buffer): Update EXFUN.
6106 (set_window_buffer): Update prototype.
6107
6108 * dispextern.h (struct glyph_matrix): Rename members window_left_x
6109 to window_left_col, window_top_y to window_top_line. All uses
6110 changed.
6111 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
6112 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
6113 internal_border_width is now set to 0 for non-window frames.
6114 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
6115 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
6116 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
6117 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
6118 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
6119 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
6120 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
6121 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
6122 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
6123 Move to window.h and renamed [see window.h changes].
6124 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
6125 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
6126 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
6127 Use WINDOW_TOTAL_LINES.
6128 (frame_update_line_height): Remove prototype.
6129
6130 * buffer.h (struct buffer): Rename members measured in columns:
6131 left_margin_width to left_margin_cols, right_margin_width to
6132 right_margin_cols. All uses changed.
6133 New members left_fringe_width, right_fringe_width,
6134 fringes_outside_margins for per-buffer fringe settings.
6135 New members scroll_bar_width and vertical_scroll_bar_type for
6136 per-buffer scroll bar settings.
6137
6138 * buffer.c (init_buffer_once): Set buffer_defaults and
6139 buffer_local_flags for new buffer-local variables
6140 left_fringe_width, right_fringe_width, fringes_outside_margins,
6141 scroll_bar_width, and vertical_scroll_bar_type.
6142 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
6143 default-* variables for them.
6144
6145 * dispnew.c: Make (many) trivial substitutions for renamed and
6146 new macros in dispextern.h, frame.h and window.h.
6147 (mode_line_string): No need to adjust width for mode lines, as it
6148 is already adjusted by the caller.
6149 (marginal_area_string): Handle fringes inside/outside margins.
6150
6151 * frame.c: Make (many) trivial substitutions for renamed and
6152 new macros in dispextern.h, frame.h and window.h.
6153 (make_frame): Initialize left_fringe_width, right_fringe_width,
6154 fringe_cols, scroll_bar_actual_width, border_width,
6155 internal_border_width, column_width, line_height, x_pixels_diff,
6156 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
6157 members with values suitable for a non-window frames.
6158
6159 * gtkutil.c: Make (many) trivial substitutions for renamed and
6160 new macros in dispextern.h, frame.h and window.h.
6161
6162 * indent.c: Make (few) trivial substitutions for renamed and
6163 new macros in dispextern.h, frame.h and window.h.
6164
6165 * keyboard.c: Make (many) trivial substitutions for renamed and
6166 new macros in dispextern.h, frame.h and window.h.
6167 (make_lispy_event): Use window positions returned from
6168 window_from_coordinates when constructing the lisp event for
6169 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
6170 (incorrect) values locally.
6171 (make_lispy_movement): Use window positions returned from
6172 window_from_coordinates when constructing the lisp event, rather
6173 than calculating (incorrect) values locally.
6174
6175 * scroll.c: Make (some) trivial substitutions for renamed and
6176 new macros in dispextern.h, frame.h and window.h.
6177
6178 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
6179 scroll-bars.
6180
6181 * sysdep.c: Make (few) trivial substitutions for renamed and
6182 new macros in dispextern.h, frame.h and window.h.
6183
6184 * term.c: Make (some) trivial substitutions for renamed and
6185 new macros in dispextern.h, frame.h and window.h.
6186
6187 * widget.c: Make (few) trivial substitutions for renamed and
6188 new macros in dispextern.h, frame.h and window.h.
6189
6190 * window.c: Make (many) trivial substitutions for renamed and
6191 new macros in dispextern.h, frame.h and window.h.
6192 (make_window): Initialize new members
6193 left_margin_cols, right_margin_cols, left_fringe_width,
6194 right_fringe_width, fringes_outside_margins, scroll_bar_width,
6195 and vertical_scroll_bar_type.
6196 (coordinates_in_window): Adapted to new fringe/margin positions
6197 and per-window fringes and scroll-bars.
6198 Fix bug related to incorrectly adjusting coordinates by
6199 frame's internal_border_width (the effect normally negible since
6200 the internal_border_width is typically 0 or 1 pixel, but very
6201 noticeable for an internal_border_width of e.g. 25 pixels).
6202 Upon successful return (other than ON_NOTHING), the coordinates
6203 are now always properly converted to window relative for the
6204 given display element.
6205 (window_from_coordinates): Add new parameters wx and wy to
6206 return the window relative x and y position in the returned
6207 window and part. A null arg means, don't return the position.
6208 All callers changed.
6209 (adjust_window_margins): New function which may reduce the width
6210 of the display margins if a window's text area is too small after
6211 resizing or splitting windows.
6212 (size_window): Fix bug that did not account for display margin
6213 widths when checking the minimum width of a window; use
6214 adjust_window_margins.
6215 (set_window_buffer): Call Fset_window_fringes and
6216 Fset_window_scroll_bars to setup per-window elements.
6217 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
6218 existing display margin, fringe widths, and scroll bar settings
6219 (e.g. after splitting a window or resizing the frame).
6220 All callers changed.
6221 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
6222 (Fsplit_window): Duplicate original window's display margin,
6223 fringe, and scroll-bar settings; then call Fset_window_buffer with
6224 KEEP_MARGINS non-nil. This fixes a bug which caused a split
6225 window to only preserve the display margins in one of the windows.
6226 When splitting horizontally, call adjust_window_margins on both
6227 windows to ensure that the text area of the new windows is non too
6228 narrow. This fixes a bug which could cause Emacs to trap if the
6229 width of the split window was less than the width of the display
6230 margins.
6231 (window_box_text_cols): Renamed from window_internal_width.
6232 All uses changed. Adapt to per-window fringes and scroll bars.
6233 Fix bug that caused vertical separator to be subtracted also on
6234 window frames. Fix another bug that did not reduce the returned
6235 value by the columns used for display margins.
6236 (window_scroll_line_based): Fix bug related to scrolling too much
6237 when display margins are present (implicitly fixed by the fix to
6238 window_box_text_cols).
6239 (scroll_left, scroll_right): Fix bug related to scrolling too far
6240 by default when display margins are present (implicitly fixed by
6241 the fix to window_box_text_cols).
6242 (struct saved_window): Rename members left to left_col, top to
6243 top_line, width to total_cols, height to total_lines, orig_top to
6244 orig_top_line, orig_height to orig_total_lines. All uses changed.
6245 New members left_margin_cols, right_margin_cols,
6246 left_fringe_width, right_fringe_width, fringes_outside_margins,
6247 scroll_bar_width, and vertical_scroll_bar_type for saving
6248 per-window display elements.
6249 (Fset_window_configuration): Restore display margins, fringes,
6250 and scroll bar settings. This fixes a bug which caused display
6251 margins to be discarded when saving and restoring a window
6252 configuration.
6253 (save_window_save): Save display margins, fringes, and scroll bar
6254 settings. This fixes a bug which caused display margins to be
6255 discarded when saving and restoring a window configuration.
6256 (Fset_window_margins): Do nothing if display margins are not
6257 really changed. Otherwise, call adjust_window_margins to ensure
6258 the text area doesn't get too narrow. This fixes a bug which
6259 could cause Emacs to trap if setting display margins wider than
6260 the width of the window.
6261 (Fset_window_fringes): New defun to allow user to specifically set
6262 this window's fringe widths and position vs. display margins.
6263 (Fwindow_fringes): New defun to return window's actual fringe
6264 settings.
6265 (Fset_window_scroll_bars): New defun to allow user to specifically
6266 set this window's scroll bar width and position.
6267 (Fwindow_scroll_bars): New defun to return window's actual scroll
6268 bar settings.
6269 (compare_window_configurations): Also compare display margins,
6270 fringes, and scroll bar settings.
6271 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
6272
6273 * xdisp.c: Make (many) trivial substitutions for renamed and
6274 new macros in dispextern.h, frame.h and window.h.
6275 (window_box_width): Adapt to per-window fringes and scroll bars,
6276 and new fringe vs. display margin position. Note that returned
6277 value is no longer guaranteed to be a whole multiple of the frame
6278 column width, since per-window fringes may now be any width.
6279 (window_box_left_offset): New function like window_box_left, but
6280 value is relative to left border of window (rather than frame).
6281 (window_box_right_offset): New function like window_box_right,
6282 but value is relative to left border of window.
6283 (window_box_left): Adapt to per-window fringes and scroll bars,
6284 and new fringe vs. display margin position. Simplify by using
6285 WINDOW_LEFT_EDGE_X and window_box_left_offset.
6286 (window_box): Allow null args for unnecessary return values;
6287 change/simplify relevant callers.
6288 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
6289 and new fringe vs. display margin position.
6290 Use window_box_left_offset and window_box_right_offset
6291 (get_glyph_string_clip_rect): Adapt to per-window fringes and
6292 scroll bars, and new fringe vs. display margin position.
6293 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
6294 (draw_fringe_bitmap): Rework to handle per-window fringes and new
6295 fringe vs. display margin position.
6296 (hscroll_window_tree): Use window_box_width instead of window_box.
6297 (redisplay_window): Adapt to per-window scroll bars.
6298 (draw_glyphs): Rework to handle per-window fringes and scroll
6299 bars, and new fringe vs. display margin position.
6300 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
6301 (x_clear_end_of_line): Adapt to per-window fringes and scroll
6302 bars, and new fringe vs. display margin position. Fix bug which
6303 increased total width of full_width rows by width of scroll bars
6304 although window's total width already includes that.
6305 (x_fix_overlapping_area): Simplify using window_box_left_offset.
6306 (expose_area): Simplify using window_box_left_offset.
6307 (x_draw_vertical_border): Handle per-window scroll bar settings,
6308 mixing windows with left, right and no scroll bars.
6309
6310 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
6311 where it's used in x_list_fonts (for clarity).
6312 (frame_update_line_height): Remove unused function; functionality
6313 is now done directly when setting the default font in x_set_font.
6314
6315 * xfns.c: Make (many) trivial substitutions for renamed and
6316 new macros in dispextern.h, frame.h and window.h.
6317
6318 * xmenu.c: Make (some) trivial substitutions for renamed and
6319 new macros in dispextern.h, frame.h and window.h.
6320
6321 * xterm.h (struct x_output): Move members left_pos, top_pos,
6322 border_width, pixel_height, pixel_width, line_height,
6323 internal_border_width, vertical_scroll_bar_extra,
6324 left_fringe_width, right_fringe_width, fringe_cols,
6325 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
6326 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
6327 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
6328 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
6329 (PIXEL_WIDTH, PIXEL_HEIGHT)
6330 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
6331 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
6332 frame.h and renamed [see frame.h changes].
6333 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
6334 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
6335 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
6336 and renamed [see frame.h changes].
6337
6338 * xterm.c: Make (several) trivial substitutions for renamed and
6339 new macros in dispextern.h, frame.h and window.h.
6340 (x_draw_glyph_string_box): Adapt to per-window fringes and
6341 scroll-bars.
6342 (scroll_run): Adapt to new fringe position.
6343 (glyph_rect): Use window coordinates returned from
6344 window_from_coordinates rather than frame_to_window_pixel_xy.
6345 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
6346 scroll-bars.
6347 (handle_one_xevent): Simplify a USE_GTK conditional.
6348 (x_clip_to_row): Remove superfluous whole_line_p arg and code
6349 (fringes are now inside margins, i.e. always in the clipping area).
6350 All callers changed.
6351 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
6352 directly, then call compute_fringe_widths. Don't call
6353 frame_update_line_height.
6354
6355 * w32term.h (struct w32_output): Move members left_pos, top_pos,
6356 border_width, pixel_height, pixel_width, line_height,
6357 internal_border_width, vertical_scroll_bar_extra,
6358 left_fringe_width, right_fringe_width, fringe_cols,
6359 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
6360 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
6361 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
6362 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
6363 (PIXEL_WIDTH, PIXEL_HEIGHT)
6364 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
6365 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
6366 frame.h and renamed [see frame.h changes].
6367 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
6368 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
6369 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
6370 and renamed [see frame.h changes].
6371
6372 * w32term.c: Make (several) trivial substitutions for renamed and
6373 new macros in dispextern.h, frame.h and window.h.
6374 (x_draw_glyph_string_box): Adapt to per-window fringes and
6375 scroll-bars.
6376 (glyph_rect): Use window coordinates returned from
6377 window_from_coordinates rather than frame_to_window_pixel_xy.
6378 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
6379 scroll-bars.
6380 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
6381 (fringes are now inside margins, i.e. always in the clipping area).
6382 All callers changed.
6383 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
6384 directly, then call compute_fringe_widths. Don't call
6385 frame_update_line_height.
6386
6387 * w32console.c: Make (few) trivial substitutions for renamed and
6388 new macros in dispextern.h, frame.h and window.h.
6389
6390 * w32fns.c: Make (many) trivial substitutions for renamed and
6391 new macros in dispextern.h, frame.h and window.h.
6392
6393 * w32menu.c: Make (few) trivial substitutions for renamed and
6394 new macros in dispextern.h, frame.h and window.h.
6395
6396 * macterm.h (struct mac_output): Move members left_pos, top_pos,
6397 border_width, pixel_height, pixel_width, line_height,
6398 internal_border_width, vertical_scroll_bar_extra,
6399 left_fringe_width, right_fringe_width, fringe_cols,
6400 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
6401 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
6402 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
6403 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
6404 (PIXEL_WIDTH, PIXEL_HEIGHT)
6405 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
6406 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
6407 frame.h and renamed [see frame.h changes].
6408 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
6409 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
6410 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
6411 and renamed [see frame.h changes].
6412
6413 * macterm.c: Make (several) trivial substitutions for renamed and
6414 new macros in dispextern.h, frame.h and window.h.
6415 (x_draw_glyph_string_box): Adapt to per-window fringes and
6416 scroll-bars.
6417 (glyph_rect): Use window coordinates returned from
6418 window_from_coordinates rather than frame_to_window_pixel_xy.
6419 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
6420 scroll-bars.
6421 (x_clip_to_row): Remove superfluous whole_line_p arg and code
6422 (fringes are now inside margins, i.e. always in the clipping area).
6423 All callers changed.
6424 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
6425 directly, then call compute_fringe_widths. Don't call
6426 frame_update_line_height.
6427
6428 * macfns.c: Make (several) trivial substitutions for renamed and
6429 new macros in dispextern.h, frame.h and window.h.
6430 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
6431
6432 * macmenu.c: Make (few) trivial substitutions for renamed and
6433 new macros in dispextern.h, frame.h and window.h.
6434
6435 * msdos.h (struct x_output): Remove members left_pos, top_pos,
6436 and line_height, and use corresponding new members in struct
6437 frame. All uses changed.
6438 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
6439 superseeded by corresponding macros in frame.h.
6440
6441 * msdos.c: Make (several) trivial substitutions for renamed and
6442 new macros in dispextern.h, frame.h and window.h.
6443 (IT_note_mouse_highlight): Use updated window coordinates returned
6444 by window_from_coordinates, rather than adjusting them locally.
6445 (internal_terminal_init): No need to initialize line_height here;
6446 it now defaults to 1.
6447
6448 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
6449
6450 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
6451 dropping `down' events.
6452
6453 2003-05-24 Andreas Schwab <schwab@suse.de>
6454
6455 * coding.c (find_safe_codings): Fix last change.
6456
6457 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
6458
6459 * xfns.c (x_window): Fix typo from 2003-05-21 change.
6460
6461 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
6462
6463 * xdisp.c (display_mode_element): Increase max depth.
6464 Simplify the error handling code. Use a different error string
6465 for the case where we hit the depth limit.
6466
6467 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
6468
6469 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
6470
6471 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
6472
6473 * intervals.c (get_local_map): Don't get char-property of previous
6474 point any more: get_pos_property already does it and better.
6475
6476 2003-05-21 Dave Love <fx@gnu.org>
6477
6478 [Merged from unicode branch.]
6479
6480 * xfns.c (x_window, x_window): Use use_xim.
6481
6482 * xterm.c (use_xim): Initialize.
6483 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
6484 (x_term_init): Maybe set use_xim.
6485
6486 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
6487
6488 2003-05-21 Jason Rumney <jasonr@gnu.org>
6489
6490 * unexw32.c (_start): Remove _fmode initialization.
6491
6492 * emacs.c (main) [WINDOWSNT]: Move it here.
6493
6494 2003-05-20 Dave Love <fx@gnu.org>
6495
6496 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
6497
6498 2003-05-19 Richard M. Stallman <rms@gnu.org>
6499
6500 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
6501 as value for QCfont attribute.
6502 (realize_default_face): lface should already exist; crash if not.
6503 Specify 0 for FORCE_P when calling set_lface_from_font_name.
6504
6505 * frame.c (Fignore_event): Doc fix.
6506
6507 2003-05-19 Kenichi Handa <handa@m17n.org>
6508
6509 * coding.c (decode_coding_string): Handle post-read-conversion
6510 even if the coding doesn't require decoding.
6511
6512 2003-05-18 Richard M. Stallman <rms@gnu.org>
6513
6514 * callproc.c (Fcall_process_region): Doc fix.
6515
6516 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
6517
6518 * lread.c (Fload): Print a message if package is obsolete.
6519
6520 * window.c (Fselect_window): Add optional `norecord' arg.
6521 (select_window_1): Fold into Fselect_window.
6522 (select_window_norecord): New function.
6523 (temp_output_buffer_show): Use it. Preserve current buffer.
6524
6525 * window.h (Fselect_window): Update declaration.
6526
6527 * window.c (delete_window, Fother_window, Fset_window_configuration):
6528 * minibuf.c (read_minibuf):
6529 * macterm.c (x_new_focus_frame):
6530 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
6531 * callint.c (Fcall_interactively):
6532 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
6533
6534 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
6535
6536 2003-05-17 David Kastrup <dak@gnu.org>
6537
6538 * process.c (read_process_output): Back out change from 2003-03-09.
6539
6540 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
6541
6542 * editfns.c (get_pos_property): Don't assume that `object' = nil.
6543
6544 * textprop.c (text_property_stickiness): New arg `buffer'.
6545
6546 * intervals.h (text_property_stickiness): New arg `buffer'.
6547 (get_pos_property): Declare.
6548
6549 * intervals.c (get_local_map): Use get_pos_property, to obey
6550 stickiness and empty overlays.
6551 (create_root_interval, graft_intervals_into_buffer): Use BEG.
6552 (merge_properties, intervals_equal, merge_properties_sticky):
6553 Use XCAR, XCDR.
6554 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
6555
6556 2003-05-17 Richard M. Stallman <rms@gnu.org>
6557
6558 * minibuf.c (read_minibuf): If buffer is empty, record the default
6559 in the history.
6560 (Fminibuffer_complete_word): When deleting the overlap, take account
6561 of its real position.
6562
6563 * fns.c (map_char_table): Fix previous change.
6564
6565 * syntax.c (find_defun_start):
6566 When open_paren_in_column_0_is_defun_start,
6567 return beginning of buffer.
6568
6569 * lisp.h (map_char_table): Declare added arg.
6570
6571 * fns.c (map_char_table): New arg TABLE gets the master table.
6572 All calls changed.
6573 Process default and inheritance, resorting to Faref if necessary.
6574
6575 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
6576 (Faccessible_keymaps): Pass new arg to map_char_table.
6577
6578 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
6579
6580 * casetab.c (set_case_table): Pass new arg to map_char_table.
6581
6582 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
6583
6584 * lisp.h (specbinding_func): New typedef.
6585 (struct specbinding): Use specbinding_func, to put the `volatile'
6586 in the right place.
6587
6588 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
6589 to avoid GCC warning.
6590
6591 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org> (tiny change)
6592
6593 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
6594
6595 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
6596
6597 * keyboard.c (apply_modifiers): Don't fill the other cache.
6598
6599 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
6600
6601 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
6602
6603 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
6604 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
6605 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
6606 (Fset_window_configuration, Fcurrent_window_configuration)
6607 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
6608 (Fpos_visible_in_window_p, mark_window_cursors_off)
6609 (window_internal_height, window_internal_width, Frecenter)
6610 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
6611 (replace_buffer_in_all_windows, init_window_once, init_window)
6612 (syms_of_window, keys_of_window): Move from lisp.h.
6613 * lisp.h: Move window.c declarations to window.h.
6614
6615 * bytecode.c: Include window.h.
6616 * emacs.c: Include window.h.
6617
6618 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
6619 (keyremap): Add `parent' field.
6620 (keyremap_step): Use it. Remove `parent' argument.
6621 (read_key_sequence): Setup and use the new `parent' field.
6622
6623 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
6624
6625 * keyboard.c (adjust_point_for_property): Ensure termination.
6626
6627 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
6628
6629 * keyboard.c (follow_key): Remove dead variable `did_meta'.
6630 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
6631 duplicated handling of function-key-map and key-translation-map
6632 in read_key_sequence.
6633 (read_key_sequence): Use them.
6634
6635 * keyboard.c (adjust_point_for_property): Try harder to move point
6636 to the non-sticky end of an invisible property.
6637
6638 * xdisp.c (single_display_prop_intangible_p): Make `space' display
6639 property intangible as well.
6640
6641 2003-05-10 Andreas Schwab <schwab@suse.de>
6642
6643 * xmenu.c (single_menu_item): Change last parameter to void* to
6644 avoid warning.
6645
6646 2003-05-09 Richard M. Stallman <rms@gnu.org>
6647
6648 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
6649 Bind Qinhibit_modification_hooks to t so there will be no GC.
6650 Rename local `tem' to `save_deactivate_mark'.
6651
6652 * eval.c (specpdl_ptr): Declare volatile.
6653 (unbind_to): Copy the whole binding and decrement specpdl_ptr
6654 before doing the work of unbinding it.
6655
6656 * lisp.h (struct specbinding): Declare elements volatile.
6657 (specpdl_ptr): Declare volatile.
6658
6659 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
6660
6661 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
6662 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
6663
6664 2003-05-08 Dave Love <fx@gnu.org>
6665
6666 * coding.c (Vlast_coding_system_used): Doc fix.
6667
6668 2003-05-07 Jason Rumney <jasonr@gnu.org>
6669
6670 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
6671 when system does not support them.
6672
6673 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
6674
6675 * fileio.c (Qwrite_region_annotate_functions): New var.
6676 (build_annotations): Use it to process the global part of the hook.
6677 (syms_of_fileio): Init and staticpro it.
6678
6679 * keyboard.c (safe_run_hooks_error): Display a message instead of
6680 silently ignoring the error.
6681
6682 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
6683
6684 * keyboard.c (input_available_signal): Mark static.
6685 (menu_bar_items): Use map_keymap.
6686 (menu_bar_one_keymap): Remove.
6687 (menu_bar_item): Adjust arglist (for use in map_keymap).
6688 Properly hide a second binding when not both are keymaps.
6689
6690 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
6691 (single_keymap_panes): Use it and map_keymap.
6692 (single_menu_item): Use skp as well.
6693
6694 * keymap.h (map_keymap_function_t): New type.
6695 (map_keymap): Declare.
6696
6697 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
6698 (map_keymap_call, Fmap_keymap): New functions.
6699 (syms_of_keymap): Defsubr map-keymap.
6700
6701 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6702
6703 * gtkutil.c (create_dialog, make_widget_for_menu_item)
6704 (make_menu_item, create_menus, xg_update_menu_item): Don't call
6705 ..._with_mnemonic functions for menu items.
6706
6707 2003-05-01 Kenichi Handa <handa@m17n.org>
6708
6709 * coding.c (coding_system_accept_latin_extra_p): Delete this
6710 function.
6711 (find_safe_codings): Pay attention to
6712 the property tranlsation-table-for-encode of each codings.
6713 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
6714
6715 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
6716
6717 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
6718
6719 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
6720
6721 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
6722
6723 * lisp.h (CHECK): Wrap args in parenthesis.
6724 (specbind): Fix doc: symbol = Qnil is not supported any more.
6725
6726 * bytecode.c (Fbyte_code) <unwind-protect>:
6727 Use Fprogn rather than 0 and Qnil.
6728
6729 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
6730 `double', and `triple' modifiers as well.
6731
6732 2003-04-30 Richard M. Stallman <rms@gnu.org>
6733
6734 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
6735
6736 * alloc.c (abort_on_gc): New variable.
6737 (Fgarbage_collect): Abort if abort_on_gc is set.
6738
6739 * lisp.h (abort_on_gc): Add decl.
6740
6741 * eval.c (Fsignal): Clear abort_on_gc.
6742
6743 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
6744 Reinit FORMAT_START and END before second scan.
6745
6746 * xdisp.c (move_it_vertically_backward): Do the final big else
6747 even if nlines is 0.
6748
6749 * xdisp.c (redisplay_internal): Finish the per-frame loop
6750 even if redisplay is suspended by input.
6751
6752 2003-04-24 Andrew Choi <akochoi@shaw.ca>
6753
6754 * macterm.c (x_list_fonts): Return all fonts that match if
6755 maxnames = -1.
6756
6757 2003-04-25 Kenichi Handa <handa@m17n.org>
6758
6759 * syntax.c (skip_chars): Fix previous change.
6760
6761 2003-04-24 Kenichi Handa <handa@m17n.org>
6762
6763 * syntax.c (skip_chars): Make the code faster by using the common
6764 technique of *p, *stop, and *endp.
6765
6766 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6767
6768 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
6769 tool_bar_items so GTK tool bar expose callback does not access items
6770 being updated.
6771
6772 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
6773
6774 * eval.c (Fapply): Undo last change and add a comment about why.
6775
6776 2003-04-18 Miles Bader <miles@gnu.org>
6777
6778 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
6779 pickier PARSE_MULTIBYTE_SEQ.
6780
6781 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
6782
6783 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
6784 Use XCDR, XCAR, CONSP.
6785 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
6786 (Fapply): Remove unnecessary GCPRO.
6787
6788 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
6789
6790 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
6791
6792 * buffer.h: Don't hardcode BEG==1.
6793
6794 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
6795
6796 2003-04-16 Richard M. Stallman <rms@gnu.org>
6797
6798 * xdisp.c (try_window, try_window_reusing_current_matrix):
6799 When at end of window, set window_end_pos to Z-ZV.
6800
6801 * buffer.c (Foverlay_recenter): Doc fix.
6802
6803 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
6804
6805 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
6806
6807 2003-04-14 Andrew Choi <akochoi@shaw.ca>
6808
6809 * macterm.c (mac_check_for_quit_char): Don't check more often than
6810 once a second.
6811
6812 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
6813
6814 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
6815 specially, so that they can't hide an implicit switch-frame event.
6816 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
6817 (head_table): Use switch-frame as event_kind for select-window.
6818 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
6819
6820 * editfns.c (Fformat): Lisp_Object/int mixup.
6821 (format2): Remove unused var numargs.
6822
6823 2003-04-11 Kenichi Handa <handa@m17n.org>
6824
6825 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
6826 (Qafter_insert_file_set_coding): New variable.
6827 (syms_of_fileio): Initialize and staticpro it. Delete declaration
6828 for after-insert-file-adjust-coding-function.
6829 (Finsert_file_contents): Call Qafter_insert_file_set_coding
6830 instead of Vafter_insert_file_adjust_coding_function.
6831
6832 2003-04-11 Kenichi Handa <handa@m17n.org>
6833
6834 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
6835
6836 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
6837 string. Callers changed.
6838
6839 2003-04-10 Kenichi Handa <handa@m17n.org>
6840
6841 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
6842 (syms_of_fileio): Declare it as a lisp variable.
6843 (Finsert_file_contents):
6844 Call Vafter_insert_file_adjust_coding_function before calling
6845 decode-format.
6846
6847 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6848
6849 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
6850 get GtkAdjustment as widget now is a GtkRange.
6851
6852 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
6853 GtkRange to avoid memory leak.
6854
6855 2003-04-09 Kenichi Handa <handa@m17n.org>
6856
6857 * xfaces.c (Vface_font_rescale_alist): New variable.
6858 (struct font_name): New member rescale_ratio.
6859 (font_rescale_ratio): New function.
6860 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
6861 (better_font_p): On comparing point sized, pay attention to
6862 recale_ratio member of fonts.
6863 (build_scalable_font_name): Reflect font->rescale_ratio in the
6864 font name.
6865 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
6866
6867 * lread.c (read1): Before calling index, check if the 2nd
6868 arguemnt is in ASCII range.
6869
6870 2003-04-08 Richard M. Stallman <rms@gnu.org>
6871
6872 * fileio.c (Ffile_symlink_p): Doc fix.
6873
6874 * editfns.c (Fformat): Translate positions of text properties
6875 in the format string to apply them to the result.
6876
6877 * fileio.c (Finsert_file_contents): Doc fix.
6878 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
6879
6880 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
6881
6882 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
6883
6884 2003-04-08 Steven Tamm <steventamm@mac.com>
6885
6886 * mac.c (init_mac_osx_environment): Switch libexec and bin so
6887 that self-contained application finds libexec files.
6888
6889 2003-04-08 Kenichi Handa <handa@m17n.org>
6890
6891 * coding.c (code_convert_region_unwind):
6892 Set Vlast_coding_system_used to the argument.
6893 (code_convert_region): If post-read-conversion function changed
6894 the value of last-coding-sytem, keep the new value in
6895 coding->symbol so that it won't be overridden.
6896 (run_pre_post_conversion_on_str): Likewise.
6897 (coding_system_accept_latin_extra_p): New function.
6898 (find_safe_codings): Pay attention to characters registered in
6899 latin-extra-code-table.
6900
6901 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
6902
6903 * Makefile.in (md5.o): Add missing dependency info.
6904
6905 2003-04-06 Richard M. Stallman <rms@gnu.org>
6906
6907 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
6908
6909 * marker.c (verify_bytepos): New function.
6910
6911 * intervals.c (set_intervals_multibyte_1): When becoming
6912 multibyte, adjust right and left child sizes to a whole set of
6913 characters. If an interval gets zero total-length, delete it.
6914 If an interval consists of just its children, delete one of them.
6915
6916 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
6917 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
6918
6919 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
6920 All calls deleted.
6921 (lisp_malloc): Do the work here directly.
6922
6923 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
6924
6925 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
6926 char tables.
6927
6928 2003-04-04 Kenichi Handa <handa@m17n.org>
6929
6930 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
6931 destructively change "%S" to "%s".
6932
6933 2003-04-03 Miles Bader <miles@gnu.org>
6934
6935 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
6936 always set.
6937
6938 2003-04-01 Dave Love <fx@gnu.org>
6939
6940 * xfns.c (xpm_lookup_color): Grok "opaque".
6941
6942 2003-03-31 Andrew Choi <akochoi@shaw.ca>
6943
6944 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
6945 parent window ID.
6946
6947 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
6948
6949 * macterm.h (struct mac_output): Define x_pixels_diff and
6950 y_pixels_diff.
6951
6952 2003-03-31 Juanma Barranquero <lektu@terra.es>
6953
6954 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
6955 blockinput.h and files included from it.
6956
6957 2003-03-31 Kim F. Storm <storm@cua.dk>
6958
6959 The following changes consolidates the common code related to
6960 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
6961 files into frame.c.
6962
6963 * frame.c: Include blockinput.h.
6964 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
6965 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
6966 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
6967 related vars here.
6968 (struct frame_parm_table, frame_parms): New table for describing
6969 frame parameters and their associated Q-variable.
6970 The order of the parameters corresponds to the sequence of the
6971 frame_parm_handlers table in redisplay_interface.
6972 (x_fullscreen_move, x_set_frame_parameters)
6973 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
6974 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
6975 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
6976 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
6977 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
6978 Generic functions for processing of frame parameters.
6979 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
6980 (display_x_get_resource, x_get_resource_string): Functions for
6981 generic access to X resources.
6982 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
6983 (x_default_parameter, Fx_parse_geometry): Functions for generic
6984 access to frame parameters.
6985 (x_figure_window_size): Generic calculation of frame size.
6986 Fixed to add space needed for tool bar. Also setup size_hint_flags.
6987 (syms_of_frame): Intern and staticpro frame parameter variables.
6988 Defvar_lisp Vx_resource_class and Vx_resource_name here.
6989 Defsubr Sx_get_resource and Sx_parse_geometry.
6990
6991 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
6992 parameter related vars defined in frame.c.
6993 (EMACS_CLASS): Define here.
6994 (enum FULLSCREEN_*): Define here.
6995 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
6996 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
6997 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
6998 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
6999 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
7000 (x_set_visibility, x_set_autoraise, x_set_autolower)
7001 (x_set_unsplittable, x_set_vertical_scroll_bars)
7002 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
7003 (x_figure_window_size): Add prototypes.
7004
7005 * dispextern.h (frame_parm_handler): New typedef.
7006 (struct redisplay_interface): New member frame_parm_handlers.
7007 (enum resource_types): Move declaration here.
7008 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
7009 (x_default_parameter): Add prototypes.
7010
7011 * window.c: Remove extern decl for frame parameter vars.
7012 (change_window_heights): New generic function;
7013 replaces x_change_window_heights. All users changed.
7014
7015 * window.h (change_window_heights): Add prototype.
7016
7017 * xfaces.c: Remove extern decl for frame parameter vars.
7018
7019 * xterm.h (EMACS_CLASS): Remove. Use generic define.
7020 (struct w32_display_info): Fix type of xrdb member.
7021 (enum FULLSCREEN_*): Remove.
7022 Remove prototypes for generic functions (in frame.h).
7023
7024 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
7025 parameters now defined in frame.h and frame.c.
7026 (Vx_resource_name): Remove. Use generic var.
7027 (enum x_frame_parms): Remove (bogus, unused enum).
7028 (check_x_display_info): Make non-static (for frame.c).
7029 (struct x_frame_parm_table, x_frame_parms): Remove.
7030 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
7031 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
7032 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
7033 (x_change_window_heights, x_set_autoraise, x_set_autolower)
7034 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
7035 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
7036 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
7037 Remove. Use generic functions instead.
7038 (enum resource_types): Remove.
7039 (x_set_scroll_bar_default_width): New global function (for frame.c).
7040 (Fx_create_frame): Depend on x_figure_window_size to add space for
7041 toolbar and setup size_hint_flags.
7042 (x_frame_parm_handlers): New table for redisplay_interface.
7043 (syms_of_xfns): Don't intern/staticpro removed vars.
7044
7045 * xterm.c: Remove unnecessary extern declarations.
7046 (x_fullscreen_adjust): Remove. Use generic instead.
7047 (x_redisplay_interface): Add x_frame_parm_handlers member.
7048
7049 * w32gui.h (XrmDatabase): New (dummy) typedef.
7050
7051 * w32term.h (EMACS_CLASS): Remove. Use generic define.
7052 (struct w32_display_info): Fix type of xrdb member.
7053 (enum FULLSCREEN_*): Remove.
7054 (x_fullscreen_adjust): Remove prototype.
7055
7056 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
7057 parameters now defined in frame.h and frame.c.
7058 (Vx_resource_name): Remove. Use generic var.
7059 (enum x_frame_parms): Remove (bogus, unused enum).
7060 (check_x_display_info): Make non-static (for frame.c).
7061 (struct x_frame_parm_table, x_frame_parms): Remove.
7062 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
7063 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
7064 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
7065 (x_change_window_heights, x_set_autoraise, x_set_autolower)
7066 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
7067 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
7068 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
7069 Remove. Use generic functions instead.
7070 (enum resource_types): Remove.
7071 (x_set_scroll_bar_default_width): New global function (for frame.c).
7072 (Fx_create_frame): Depend on x_figure_window_size to add space for
7073 toolbar and setup size_hint_flags.
7074 (w32_frame_parm_handlers): New table for redisplay_interface.
7075 (syms_of_w32fns): Don't intern/staticpro removed vars.
7076
7077 * w32term.c: Remove unnecessary extern declarations.
7078 (x_fullscreen_adjust): Remove. Use generic instead.
7079 (x_redisplay_interface): Add w32_frame_parm_handlers member.
7080
7081 * w32reg.c (x_get_string_resource): Use XrmDatabase.
7082
7083 * macgui.h (XrmDatabase): New (dummy) typedef.
7084
7085 * macterm.h (EMACS_CLASS): Remove.
7086 (struct mac_display_info): Add xrdb member.
7087 (struct mac_output): Add want_fullscreen member.
7088
7089 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
7090 parameters now defined in frame.h and frame.c.
7091 (Vx_resource_name): Remove. Use generic var.
7092 (check_x_display_info): Make non-static (for frame.c).
7093 (struct x_frame_parm_table, x_frame_parms): Remove.
7094 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
7095 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
7096 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
7097 (x_change_window_heights, x_set_autoraise, x_set_autolower)
7098 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
7099 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
7100 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
7101 Remove. Use generic functions instead.
7102 (enum resource_types): Remove.
7103 (x_set_scroll_bar_default_width): New global function (for frame.c).
7104 (mac_frame_parm_handlers): New table for redisplay_interface.
7105 (syms_of_macfns): Don't intern/staticpro removed vars.
7106
7107 * macterm.c: Remove unnecessary extern declarations.
7108 (x_redisplay_interface): Add mac_frame_parm_handlers member.
7109
7110 * Makefile.in (frame.o): Add dependency on blockinput.h and files
7111 included from it (atimer.h and systime.h).
7112
7113 2003-03-30 Andreas Schwab <schwab@suse.de>
7114
7115 * xdisp.c (x_insert_glyphs): Fix swapped width and height
7116 parameters for shift_glyphs_for_insert.
7117
7118 * macterm.c (x_redisplay_interface): Add missing entry for
7119 draw_vertical_window_border.
7120
7121 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
7122
7123 * fileio.c (Fexpand_file_name): In the no-handler case, after
7124 expanding, look again for a handler and invoke it. This is needed
7125 for filenames like "/foo/../user@host:/bar/../baz" -- the first
7126 expansion produces "/user@host:/bar/../baz" which needs to be
7127 expanded again for the finame result "/user@host:/baz".
7128
7129 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7130
7131 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
7132 of area to be redrawn for better performance.
7133
7134 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
7135
7136 * xterm.c (take_vertical_position_into_account): Remove.
7137 (xt_action_hook): Call set_vertical_scroll_bar if needed.
7138 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
7139 (xm_scroll_callback, x_create_toolkit_scroll_bar)
7140 (x_set_toolkit_scroll_bar_thumb): Simplify.
7141 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
7142 (XTread_socket): Remove unused var.
7143 (x_make_frame_invisible): Replace goto with else.
7144
7145 * xdisp.c (set_vertical_scroll_bar): New fun.
7146 (redisplay_window): Use it.
7147
7148 2003-03-26 Richard M. Stallman <rms@gnu.org>
7149
7150 * xdisp.c (update_tool_bar): Recompute tool bar if
7151 update_mode_lines is set. Set w->update_mode_line
7152 only if the tool bar contents actually change.
7153 (update_menu_bar): Undo previous change.
7154
7155 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7156
7157 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
7158 (xg_frame_set_char_size): Calculate scroll bar width before frame
7159 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
7160 (xg_separator_p): Check for all documented separator types.
7161 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
7162 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
7163
7164 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
7165 so tool bar gets updated.
7166
7167 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
7168
7169 * data.c (store_symval_forwarding): Re-instate part of the code
7170 that was deleted with too much enthusiasm.
7171
7172 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
7173
7174 * data.c (store_symval_forwarding): Delete special read-only
7175 hack for type == -1, since we now use ->constant instead.
7176 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
7177
7178 * buffer.c (overlays_in): Declare static.
7179 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
7180 `constant' field rather than the variable's `type' field.
7181
7182 2003-03-24 Andrew Choi <akochoi@shaw.ca>
7183
7184 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
7185
7186 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
7187
7188 * fns.c [MAC_OSX]: Do not redefine vector.
7189
7190 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
7191
7192 * macgui.h: Remove definition of No_Cursor.
7193
7194 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
7195
7196 * xdisp.c: Define No_Cursor.
7197 (x_write_glyphs, notice_overwritten_cursor)
7198 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
7199 (note_mouse_highlight): Remove Mac-specific code.
7200 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
7201
7202 2003-03-24 John Paul Wallington <jpw@gnu.org>
7203
7204 * xdisp.c (redisplay_window): If mini window's buffer is not
7205 empty, then redisplay it like other windows.
7206
7207 2003-03-23 Kim F. Storm <storm@cua.dk>
7208
7209 * w32term.c (w32_draw_window_cursor): Fix last change.
7210
7211 2003-03-23 Kenichi Handa <handa@m17n.org>
7212
7213 * alloc.c (make_string_from_bytes, make_specified_string):
7214 Add `const' for the arg CONTENTS.
7215
7216 * lisp.h (make_string_from_bytes, make_specified_string):
7217 Prototypes adjusted.
7218
7219 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7220
7221 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
7222
7223 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
7224 (XG_SB_RANGE): New define.
7225
7226 * gtkutil.c (xg_fixed_handle_expose): New function.
7227 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
7228 expose events.
7229 (xg_update_scrollbar_pos): Take two more arguments, left and width
7230 of scroll bar including borders.
7231 Clear left and right part outside scroll bar separately as some
7232 themes have bars that are not an even number of pixels.
7233 Don't set reallocate_redraws, don't call
7234 gdk_window_process_all_updates.
7235 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
7236 so no need to change it. Calculate size and value with XG_SB_RANGE.
7237
7238 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
7239 Pass left and width of scroll bar including borders to
7240 xg_update_scrollbar_pos.
7241
7242 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
7243
7244 * Makefile.in: Make sure space precedes end-of-line backslashes.
7245
7246 2003-03-22 Kim F. Storm <storm@cua.dk>
7247
7248 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
7249 Add generic versions here. Remove system specific versions
7250 defined elsewhere.
7251
7252 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
7253 Add prototypes.
7254
7255 * xterm.h (STORE_NATIVE_RECT): New macro.
7256
7257 2003-03-21 Kim F. Storm <storm@cua.dk>
7258
7259 * xdisp.c (get_glyph_string_clip_rect):
7260 Use FRAME_INTERNAL_BORDER_WIDTH.
7261
7262 * dispextern.h (struct redisplay_interface): Add active_p
7263 argument to draw_window_cursor member. All uses changed.
7264
7265 2003-03-21 Kim F. Storm <storm@cua.dk>
7266
7267 The following changes consolidate code related to writing and
7268 inserting glyphs, exposing frame, the tool bar, the mouse face,
7269 the output cursor, and help echo from xterm.c, w32term.c and
7270 macterm.c into xdisp.c. It also generalizes the use of the
7271 window_part enum instead of using numeric values throughout.
7272
7273 * xdisp.c: Consolidate gui-independent code here.
7274 Include keymap.h.
7275 (Qhelp_echo): Import.
7276 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
7277 (help_echo_string, help_echo_window, help_echo_object)
7278 (previous_help_echo_string, help_echo_pos): Declare here.
7279 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
7280 (estimate_mode_line_height): Define here. Handle windowing
7281 systems directly (without using estimate_mode_line_height_hook).
7282 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
7283 (update_window_cursor, update_cursor_in_window_tree)
7284 (fast_find_position, fast_find_string_pos)
7285 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
7286 (expose_area, expose_line, expose_overlaps, expose_window)
7287 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
7288 declared static as they are only used locally in xdisp.c.
7289 (draw_glyphs): Rename from x_draw_glyphs and make static.
7290 (tool_bar_item_info, notice_overwritten_cursor): Make static.
7291 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
7292 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
7293 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
7294 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
7295 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
7296 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
7297 (note_mouse_highlight, x_clear_window_mouse_face)
7298 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
7299 (x_intersect_rectangles): New generic functions for use by xdisp.c
7300 and GUI front-ends.
7301 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
7302 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
7303
7304 * dispextern.h (Display_Info): Generic typedef for *_display_info.
7305 (NativeRectangle): Generic typedef for rectangle type.
7306 (enum window_part): Move here from window.c.
7307 (struct redisplay_interface): New members flush_display_optional,
7308 define_frame_cursor, clear_frame_area, draw_window_cursor,
7309 draw_vertical_window_border, shift_glyphs_for_insert.
7310 Rename member clear_mouse_face to clear_window_mouse_face.
7311 (estimate_mode_line_height_hook): Remove hook.
7312 (auto_raise_tool_bar_buttons_p): Don't declare extern.
7313 (tool_bar_item_info): Remove prototype.
7314 (help_echo_string, help_echo_window, help_echo_object)
7315 (previous_help_echo_string, help_echo_pos)
7316 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
7317 (x_stretch_cursor_p, output_cursor): Declare extern.
7318 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
7319 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
7320 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
7321 (display_and_set_cursor, set_output_cursor, x_cursor_to)
7322 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
7323 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
7324 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
7325 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
7326 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
7327 Add prototypes.
7328 (mode_line_string, marginal_area_string): Fix prototypes.
7329
7330 * window.c (enum window_part): Move to dispextern.h.
7331 (coordinates_in_window): Use enum window_part member names
7332 instead of numbers to describe return value.
7333 (struct check_window_data): Change part member to window_part.
7334 (check_window_containing): Return window_part unaltered.
7335 (window_from_coordinates): Change part arg from int to enum
7336 window_part. Allow part arg to be null. All users changed.
7337
7338 * window.h (window_from_coordinates): Fix prototype.
7339
7340 * term.c (estimate_mode_line_height): Move to xdisp.c.
7341
7342 * keyboard.c (make_lispy_event): Use enum window_part.
7343
7344 * dispnew.c (mode_line_string, marginal_area_string): Use enum
7345 window_part instead of int in arg list. Users changed.
7346
7347 * xterm.h (No_Cursor): Declare as None for X.
7348 (struct mac_output): Replace member cross_cursor by hand_cursor.
7349
7350 * xterm.c: Remove consolidated defines and code.
7351 (BETWEEN): Remove unused macro.
7352 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
7353 (x_define_frame_cursor, x_clear_frame_area)
7354 (x_draw_window_cursor): New X-specific functions for RIF.
7355 (x_redisplay_interface): Add new members.
7356
7357 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
7358
7359 * w32term.h (struct w32_output): Remove cross_cursor member.
7360
7361 * w32term.c: Remove consolidated defines and code.
7362 (BETWEEN): Remove unused macro.
7363 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
7364 (w32_define_frame_cursor, w32_clear_frame_area)
7365 (w32_draw_window_cursor): New W32-specific functions for RIF.
7366 (w32_redisplay_interface): Add new members.
7367
7368 * w32gui.h (No_Cursor): Define as 0 for W32.
7369 (XRectangle): Add X compatible rectangle type.
7370 (NativeRectangle): Declare as RECT for W32.
7371 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
7372
7373 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
7374
7375 * w32console.c: Remove consolidated defines and code.
7376
7377 * msdos.h (Display_Info): Add generic typedef.
7378
7379 * msdos.c: Remove consolidated defines and code.
7380 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
7381
7382 * macterm.h (struct mac_output): Replace member cross_cursor by
7383 hand_cursor.
7384 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
7385
7386 * macterm.c: Remove consolidated defines and code.
7387 (BETWEEN): Remove unused macro.
7388 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
7389 (mac_define_frame_cursor, mac_clear_frame_area)
7390 (mac_draw_window_cursor): New Mac-specific functions for RIF.
7391 (x_redisplay_interface): Add new members.
7392
7393 * macgui.h (No_Cursor): Define as 0 for Mac.
7394 (XRectangle): Add X compatible rectangle type.
7395 (NativeRectangle): Declare as Rect for Mac.
7396 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
7397
7398 * macfns.c (x_set_mouse_color): Setup hand_cursor.
7399 (x_set_cursor_color): Use x_display_and_set_cursor.
7400
7401 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
7402 included from it. Add dependency on keymap.h.
7403
7404 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
7405
7406 2003-03-21 Kenichi Handa <handa@m17n.org>
7407
7408 * fileio.c (Fexpand_file_name): Fix previous change.
7409
7410 2003-03-19 Kenichi Handa <handa@m17n.org>
7411
7412 * fileio.c (Ffile_name_directory): Reconstruct file name by
7413 make_specified_string.
7414 (Ffile_name_nondirectory, Ffile_name_as_directory)
7415 (Fdirectory_file_name, Fexpand_file_name)
7416 (Fsubstitute_in_file_name): Likewise.
7417 (Fread_file_name): Compare decoded homedir with DIR and
7418 DEFAULT_FILENAME.
7419
7420 * alloc.c (make_specified_string): If NCHARS is negative, count
7421 the number of characters.
7422
7423 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7424
7425 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
7426 all widgets.
7427
7428 * gtkutil.h: Removed xg_ignore_next_thumb.
7429
7430 2003-03-18 Kenichi Handa <handa@m17n.org>
7431
7432 * coding.c (Vchar_coding_system_table): Remove this variable.
7433 (Vcoding_system_safe_chars): New variable.
7434 (intersection): Remove this function.
7435 (find_safe_codings): Don't use Vchar_coding_system_table, but try
7436 all codings in SAFE_CODINGS.
7437 (Ffind_coding_systems_region_internal): Adjust for the change of
7438 find_safe_codings. Get generic coding systems from
7439 Vcoding_system_safe_chars.
7440 (Fdefine_coding_system_internal): New function.
7441 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
7442 Initialize and staticpro Vcoding_system_safe_chars.
7443
7444 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7445
7446 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
7447 equal old values before updating.
7448
7449 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
7450
7451 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
7452
7453 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7454
7455 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
7456 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
7457 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
7458 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
7459 (xg_create_scroll_bar): Pass bar to button event callback.
7460 (xg_find_top_left_in_fixed): New function.
7461 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
7462 whole scroll bar area. Get old position with
7463 xg_find_top_left_in_fixed, calculate and only clear needed areas.
7464 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
7465 dragging is in progress. Calculate whole as for Motif.
7466 Remove code that saved last values. Call gtk_range functions to
7467 set scroll bar sizes.
7468
7469 * gtkutil.h: Removed xg_ignore_next_thumb.
7470
7471 2003-03-17 Juanma Barranquero <lektu@terra.es>
7472
7473 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
7474 and files included from it.
7475
7476 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
7477
7478 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
7479 multiple occurrences of the same keymap under different prefixes.
7480 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
7481
7482 2003-03-16 Jason Rumney <jasonr@gnu.org>
7483
7484 * w32gui.h: Use HDC for Display.
7485
7486 * w32term.c (w32_encode_char): Prevent double-byte chars from
7487 crashing Emacs.
7488
7489 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
7490 as binary.
7491
7492 2003-03-16 Juanma Barranquero <lektu@terra.es>
7493
7494 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
7495
7496 2003-03-16 Kim F. Storm <storm@cua.dk>
7497
7498 The following changes consolidate some of the gui-independent
7499 parts of the processing and drawing of "glyph strings" from
7500 xterm.c, w32term.c, and macterm.c into xdisp.c.
7501
7502 * dispextern.h (struct glyph): Reduce face_id member from 22 to
7503 21 bits (this reduces number of faces from 4M to 2M).
7504 Replace W32 specific w32_font_type member (2 bits) by generic
7505 font_type member (3 bits) for portability.
7506 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
7507 (enum draw_glyphs_face): Define here.
7508 (struct glyph_string): Define here. Merge W32 and X versions.
7509 (struct redisplay_interface): New members per_char_metric,
7510 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
7511 (VCENTER_BASELINE_OFFSET): Define here.
7512 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
7513 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
7514
7515 * xdisp.c: Consolidate gui-independent "glyph string" code here.
7516 (dump_glyph_string): Moved here.
7517 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
7518 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
7519 (fill_composite_glyph_string, fill_glyph_string)
7520 (fill_image_glyph_string, fill_stretch_glyph_string)
7521 (left_overwritten, left_overwriting, right_overwritten)
7522 (right_overwriting, get_char_face_and_encoding)
7523 (set_glyph_string_background_width, compute_overhangs_and_x)
7524 (append_glyph, append_composite_glyph, produce_image_glyph)
7525 (take_vertical_position_into_account, append_stretch_glyph)
7526 (produce_stretch_glyph): New generic functions (based on X version).
7527 Call platform specific functions through rif.
7528 (INIT_GLYPH_STRING): New macro, hides W32 details.
7529 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
7530 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
7531 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
7532 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
7533 (notice_overwritten_cursor):
7534 Generic functions exported to platform modules. Users changed.
7535
7536 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
7537 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
7538 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
7539 New macros for consolidated code.
7540
7541 * xterm.c: Remove consolidated defines and code.
7542 (x_per_char_metric, x_encode_char)
7543 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
7544 (x_redisplay_interface): Add new members.
7545
7546 * w32gui.h (Display): Add dummy typedef for consolidation.
7547 (XChar2b): Define alias for wchar_t for consolidation.
7548 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
7549
7550 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
7551 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
7552 New macros for consolidation.
7553
7554 * w32term.c: Remove consolidated defines and code.
7555 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
7556 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
7557 (w32_per_char_metric): Change font_type arg to int for RIF.
7558 (w32_encode_char): Return int according to RIF requirements.
7559 (w32_compute_glyph_string_overhangs): Adapt to RIF.
7560 (w32_get_glyph_overhangs): New function for RIF. Uses generic
7561 x_get_glyph_overhangs.
7562 (w32_redisplay_interface): Add new members.
7563
7564 * macgui.h (XChar2b): Move typedef here for consolidation.
7565 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
7566
7567 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
7568 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
7569 consolidation.
7570
7571 * macterm.c: Remove consolidated defines and code.
7572 (mac_per_char_metric): New function for RIF.
7573 (mac_encode_char): Adapt to new RIF requirements.
7574 (mac_compute_glyph_string_overhangs): Adapt for RIF.
7575 (x_redisplay_interface): Add new members.
7576
7577 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
7578
7579 * keymap.c (Vmenu_events): New var.
7580 (syms_of_keymap): Initialize it.
7581 (where_is_internal): Check more carefully what is a menu event.
7582
7583 2003-03-14 Richard M. Stallman <rms@gnu.org>
7584
7585 * lread.c (read1): After #!, exit loop on eof.
7586
7587 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7588
7589 * gtkutil.h: Add declaration for xg_frame_cleared.
7590
7591 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
7592
7593 * gtkutil.c (struct xg_last_sb_pos): New structure.
7594 (handle_fixed_child): New function.
7595 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
7596 and force a redraw on them.
7597 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
7598 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
7599 so we can avoid unneeded redraws.
7600 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
7601 and force a redraw on the scroll bar.
7602 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
7603 if xg_last_sb_pos shows the positions are up to date.
7604 (xg_frame_cleared): New function.
7605
7606 2003-03-13 Kenichi Handa <handa@m17n.org>
7607
7608 * coding.c (Fdetect_coding_region): Fix docstring.
7609 (Fdetect_coding_string): Fix docstring.
7610
7611 2003-03-13 Andreas Schwab <schwab@suse.de>
7612
7613 * gtkutil.c: Add prototype for create_menus.
7614
7615 * data.c (long_to_cons): Fix type of top.
7616
7617 * xselect.c (selection_data_to_lisp_data): Use int instead of
7618 long for an integer of size 4.
7619
7620 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
7621 (xg_tool_bar_help_callback): Likewise.
7622
7623 2003-03-12 Andreas Schwab <schwab@suse.de>
7624
7625 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
7626
7627 2003-03-12 Kim F. Storm <storm@cua.dk>
7628
7629 The following changes consolidate the fringe handling from
7630 xterm.c, w32term.c, and macterm.c into xdisp.c.
7631
7632 * xdisp.c: Consolidate fringe handling code here.
7633 (left_bits, right_bits, continued_bits, continuation_bits)
7634 (ov_bits, zv_bits): Define fringe bitmaps.
7635 (fringe_bitmaps): New array holding fringe bitmaps.
7636 (draw_fringe_bitmap): Draw a specific bitmap; call display
7637 specific drawing routine via rif->draw_fringe_bitmap.
7638 (draw_row_fringe_bitmaps): Generic replacement for
7639 x_draw_row_fringe_bitmaps; all callers changed.
7640 (compute_fringe_widths): Generic replacement for
7641 x_compute_fringe_widths; all callers changed.
7642
7643 * dispextern.h (enum fringe_bitmap_type): Define here.
7644 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
7645 (fringe_bitmaps): Declare extern.
7646 (struct redisplay_interface): New member draw_fringe_bitmap.
7647 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
7648
7649 * xterm.c: Remove generic fringe code.
7650 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
7651 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
7652
7653 * w32term.c: Remove generic fringe code.
7654 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
7655 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
7656
7657 * macterm.c: Remove generic fringe code.
7658 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
7659 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
7660
7661 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
7662
7663 * print.c (Fprin1_to_string): Return unibyte string if possible.
7664
7665 2003-03-09 David Kastrup <dak@gnu.org>
7666
7667 * process.c (read_process_output): We have allocated enough space
7668 for readmax and carryover, so actually use the alloted space.
7669
7670 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7671
7672 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
7673 toolkit scrollbar click.
7674
7675 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
7676 for USE_GTK.
7677 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
7678 also.
7679 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
7680 scrollbar and control is pressed, call x_scroll_bar_handle_click.
7681
7682 * gtkutil.h: Declare xg_get_scroll_id_for_window.
7683
7684 * gtkutil.c (xg_get_scroll_id_for_window): New function.
7685 (xg_tool_bar_item_expose_callback): New function.
7686 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
7687 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
7688 on the tool bar widget.
7689 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
7690 to expose on the tool bar item widgets.
7691
7692 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7693
7694 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
7695 struct image* when deciding to update (struct image* may have been
7696 deleted from the image cache).
7697
7698 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
7699 the event isn't for a frame (i.e. for dialogs).
7700
7701 2003-03-07 Kenichi Handa <handa@m17n.org>
7702
7703 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
7704 composition components reaches the limit, terminate composing.
7705 (COMPOSITION_OK): New macro.
7706 (detect_coding_iso2022): Use it if an escape sequence for
7707 composition is found.
7708 (coding_restore_composition): Adjust the number of composition
7709 components if it is not sane.
7710
7711 2003-03-06 Juanma Barranquero <lektu@terra.es>
7712
7713 * w32term.h (struct w32_display_info): Add xrdb member to support
7714 passing resources via -xrm on Windows.
7715
7716 * w32term.c (w32_make_rdb): New function.
7717 (w32_term_init): Use it to initialize xrdb member of w32_display_info
7718 struct. Delete leftover code.
7719
7720 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
7721 for resources passed on the command line.
7722
7723 * w32reg.c (w32_get_rdb_resource): New function.
7724 (x_get_string_resource): Use it, so resources passed with -xrm
7725 supercede the ones in the registry.
7726
7727 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7728
7729 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
7730 instead of x_top_window_to_frame.
7731
7732 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7733
7734 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
7735 when restarting Emacs.
7736
7737 2003-03-03 Richard M. Stallman <rms@gnu.org>
7738
7739 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
7740 to run kill-buffer-query-functions.
7741 (Qkill_buffer_query_functions): New var.
7742 (syms_of_buffer): Init and staticpro it.
7743
7744 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7745
7746 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
7747
7748 2003-02-25 Kim F. Storm <storm@cua.dk>
7749
7750 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
7751 If centering point failed to make whole line visible and vscroll
7752 is non-zero, disable vscroll and try centering point again.
7753
7754 * lread.c (read1): Accept `single space' syntax like (? x).
7755
7756 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7757
7758 * keyboard.c (cancel_hourglass_unwind): Surround with
7759 #ifdef HAVE_X_WINDOWS
7760
7761 2003-02-25 Kenichi Handa <handa@m17n.org>
7762
7763 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
7764 process only when "subprocesses" is defined.
7765
7766 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
7767
7768 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
7769
7770 2003-02-24 Juanma Barranquero <lektu@terra.es>
7771
7772 * callint.c (fix_command): Declare as static void and move before
7773 Fcall_interactively.
7774
7775 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
7776 (syms_of_xdisp): Don't initialize Qwhen.
7777
7778 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7779
7780 * keyboard.c (cancel_hourglass_unwind): New function.
7781 (command_loop_1): Cancel hourglass with unwind-protect.
7782
7783 2003-02-23 Richard M. Stallman <rms@gnu.org>
7784
7785 * callint.c (fix_command): New subroutine, from Fcall_interactively.
7786 Detect (when ... (region-beginning)) etc.
7787 (Fcall_interactively): Call fix_command.
7788 (Qif, Qwhen): New variables.
7789 (syms_of_callint): Init and staticpro them.
7790
7791 * regex.c (print_partial_compiled_pattern): Output to stderr.
7792
7793 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
7794
7795 * dired.c (directory_files_internal): Don't expand directory.
7796 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
7797 instead. From Lars Hansen <larsh@math.ku.dk>.
7798
7799 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
7800
7801 * fns.c (string_to_multibyte): Remove unused var i.
7802 (Flanginfo): Fix int/Lisp_Object mixup.
7803 (void_call2): New fun.
7804 (Fmap_char_table): Use it in place of call2.
7805
7806 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
7807
7808 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
7809
7810 * keymap.c (copy_keymap_1): Make it static.
7811
7812 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
7813
7814 2003-02-22 David Ponce <david@dponce.com>
7815
7816 * lread.c (Fload): Don't check STRING_MULTIBYTE.
7817
7818 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7819
7820 * process.h: Removed subtty field from struct Lisp_Process.
7821
7822 * process.c (create_process): Remove setting of subtty.
7823 (emacs_get_tty_pgrp): New function.
7824 (Fprocess_running_child_p, process_send_signal):
7825 Call emacs_get_tty_pgrp instead of ioctl.
7826 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
7827
7828 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
7829
7830 * keymap.c (Fdefine_key): Doc fix.
7831
7832 2003-02-21 Juanma Barranquero <lektu@terra.es>
7833
7834 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
7835
7836 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
7837 POLLING_PROBLEM_IN_SELECT.
7838
7839 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
7840 Delete #undef of POLLING_PROBLEM_IN_SELECT.
7841
7842 * s/hpux10-20.h: New file.
7843
7844 * process.c (wait_reading_process_input):
7845 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
7846
7847 2003-02-20 Kenichi Handa <handa@m17n.org>
7848
7849 * fontset.c (check_fontset_name): If NAME is nil, return the
7850 default fontset.
7851 (override_font_info): New function.
7852 (Fset_fontset_font): Document that NAME nil means the default fontset.
7853 (Ffontset_info): If FONTSET is not the default fontset, merge
7854 FONTSET onto the copy of the default fontset, and work on that
7855 copy. Document that NAME nil means the default fontset.
7856 (Ffontset_font): Document that NAME nil means the default fontset.
7857
7858 * process.c (setup_process_coding_systems): If the process's
7859 in/out descriptor is -1, do nothing.
7860
7861 2003-02-19 Andreas Schwab <schwab@suse.de>
7862
7863 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
7864 Add prototypes.
7865
7866 2003-02-19 Kenichi Handa <handa@m17n.org>
7867
7868 * xfaces.c (try_alternative_families): Try all scalable fonts if
7869 Vscalable_fonts_allowed is not Qt.
7870
7871 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7872
7873 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
7874
7875 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7876
7877 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
7878 names.
7879
7880 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
7881 (sorted_font_list): Move allocation of struct font_name to
7882 x_face_list_fonts.
7883 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
7884 (Fx_list_fonts): Set maxnames to -1 to get all font names.
7885
7886 2003-02-18 Kim F. Storm <storm@cua.dk>
7887
7888 * lread.c (read1): Fix last change.
7889 "`" is not always special. Allow "?" after a character constant.
7890
7891 2003-02-18 Andrew Choi <akochoi@shaw.ca>
7892
7893 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
7894
7895 2003-02-18 Andreas Schwab <schwab@suse.de>
7896
7897 * window.c (window_scroll_pixel_based): Move outside a
7898 multi-glyph character before setting new window start.
7899
7900 * xdisp.c (in_display_vector_p): New function.
7901 * dispextern.h (in_display_vector_p): Declare.
7902
7903 2003-02-18 Kim F. Storm <storm@cua.dk>
7904
7905 * lread.c (read1): Fix and relax read syntax.
7906 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
7907 Only recognize "," after dotted-pair dot if inside backquote.
7908 Never include "`" or "," (inside backquote) in a symbol.
7909 Allow dotted-pair dot after a character constant.
7910 Allow "`" and "," (inside backquote) after a character constant.
7911
7912 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7913
7914 * gtkutil.c (xg_tool_bar_expose_callback): New function.
7915 (xg_create_tool_bar): Force style of tool bar to be horizontal with
7916 icons. Set name of tool bar to emacs-toolbar.
7917 (update_frame_tool_bar): Connect expose event to
7918 xg_tool_bar_expose_callback.
7919
7920 2003-02-17 Richard M. Stallman <rms@gnu.org>
7921
7922 * keyboard.c (this_command_key_count_reset): New variable.
7923 Initiatize to 0 where this_command_key_count is set.
7924 (read_char): Save and restore this_command_key_count_reset
7925 around input method code.
7926 (read_char): If this_command_key_count_reset, echo reread commands.
7927 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
7928
7929 2003-02-17 Kenichi Handa <handa@m17n.org>
7930
7931 * fns.c (string_to_multibyte): Always return a multibyte string.
7932
7933 2003-02-16 Jason Rumney <jasonr@gnu.org>
7934
7935 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
7936 Negative max_fonts parameter means list all.
7937
7938 2003-02-14 Dave Love <fx@gnu.org>
7939
7940 * fns.c (Flanginfo): Doc fix.
7941
7942 2003-02-13 Kim F. Storm <storm@cua.dk>
7943
7944 * lread.c (read_escape): Interpret \s as a SPACE character, except
7945 for \s-X in a character constant which still is the super modifier.
7946 (read1): Signal an `invalid read syntax' error if a character
7947 constant is immediately followed by a digit or symbol character.
7948
7949 * search.c (Fmatch_data): Doc fix. Explicitly state that
7950 match-data is undefined if last search failed.
7951
7952 * keymap.c (Fcommand_remapping): Renamed from Fremap_command.
7953 All uses changed.
7954
7955 2003-02-12 Juanma Barranquero <lektu@terra.es>
7956
7957 * eval.c (Fdefmacro): Fix typo.
7958
7959 2003-02-12 Kim F. Storm <storm@cua.dk>
7960
7961 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
7962 macro is a string, convert meta modifiers in string when copying
7963 the string into a vector.
7964
7965 2003-02-11 Kim F. Storm <storm@cua.dk>
7966
7967 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
7968
7969 2003-02-11 Kenichi Handa <handa@m17n.org>
7970
7971 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
7972
7973 2003-02-10 Kim F. Storm <storm@cua.dk>
7974
7975 * process.c: Doc fixes.
7976 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
7977
7978 2003-02-10 Kenichi Handa <handa@m17n.org>
7979
7980 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
7981
7982 * process.c (QCfilter_multibyte): New variable.
7983 (setup_process_coding_systems): New function.
7984 (Fset_process_buffer, Fset_process_filter):
7985 Call setup_process_coding_systems.
7986 (Fstart_process): Initialize the member `filter_multibyte' of
7987 struct Lisp_Process.
7988 (create_process): Call setup_process_coding_systems.
7989 (Fmake_network_process): New keyward `:filter-multibyte'.
7990 Initialize the member `filter_multibyte' of struct Lisp_Process.
7991 Call setup_process_coding_systems.
7992 (server_accept_connection): Call setup_process_coding_systems.
7993 (read_process_output): If the process has a filter, decide the
7994 multibyteness of a string to given to the filter by
7995 `filter_multibyte' member of the process. If the process doesn't
7996 have a filter and the result of conversion is unibyte, use
7997 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
7998 multibyte form.
7999 (Fset_process_coding_system): Call setup_process_coding_systems.
8000 (Fset_process_filter_multibyte): New function.
8001 (Fprocess_filter_multibyte_p): New function.
8002 (syms_of_process): Intern and staticpro QCfilter_multibyte.
8003 Defsubr Sset_process_filter_multibyte and
8004 Sprocess_filter_multibyte_p.
8005
8006 * process.h (struct Lisp_Process): New member filter_multibyte.
8007
8008 * lisp.h (setup_process_coding_systems): Add prototype.
8009
8010 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
8011 process, update coding systems for the process.
8012
8013 2003-02-09 Kenichi Handa <handa@m17n.org>
8014
8015 * fns.c (string_to_multibyte): New function.
8016 (Fstring_to_multibyte): New function.
8017 (syms_of_fns): Defsubr it.
8018
8019 2003-02-08 Andreas Schwab <schwab@suse.de>
8020
8021 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
8022 instead of the substitution.
8023
8024 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8025
8026 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
8027
8028 * xmenu.c (menu_position_func): Adjust menu popup position so that
8029 the menu is fully visible.
8030
8031 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8032
8033 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
8034 (x_make_frame_invisible, x_wm_set_icon_position):
8035 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
8036
8037 * xfns.c (x_set_name, x_set_title): Ditto.
8038
8039 2003-02-04 Richard M. Stallman <rms@gnu.org>
8040
8041 * keyboard.c (echo_now): Update before_command_echo_length.
8042 (Freset_this_command_lengths): Reset this_command_key_count etc.
8043 immediately rather than arranging to do it later.
8044 (before_command_key_count_1, before_command_echo_length_1)
8045 (before_command_restore_flag): Vars deleted.
8046 (add_command_key): Don't handle before_command_restore_flag.
8047 (read_char, record_menu_key): Don't update before_command_key_count or
8048 before_command_echo_length.
8049 (read_char): Don't handle before_command_restore_flag.
8050
8051 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
8052 in direct-output clauses if it wouldn't be called in the ordinary case.
8053
8054 2003-02-04 Kim F. Storm <storm@cua.dk>
8055
8056 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
8057
8058 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8059
8060 * gtkutil.c (remove_from_container): Copying list is not needed.
8061 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
8062 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
8063 on list returned from gtk_container_get_children to avoid memory leak.
8064
8065 2003-02-01 Jason Rumney <jasonr@gnu.org>
8066
8067 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
8068 local malloc.
8069 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
8070 definitions in xpm.h.
8071 (init_xpm_functions): New function.
8072 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
8073 (init_external_image_libraries): Try to load libXpm.dll.
8074
8075 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
8076 timestamp.
8077
8078 2003-01-31 Dave Love <fx@gnu.org>
8079
8080 * syntax.c (Fskip_chars_forward)
8081 (open-paren-in-column-0-is-defun-start): Doc fix.
8082
8083 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
8084
8085 * fileio.c: Support // at start of name for Cygwin (just added proper
8086 preprocessor tests).
8087
8088 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
8089
8090 * Makefile.in: Use @EXEEXT@ for Cygwin.
8091
8092 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
8093
8094 * s/cygwin.h: Added for Cygwin port.
8095
8096 2003-01-31 Juanma Barranquero <lektu@terra.es>
8097
8098 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
8099 when including gif_lib.h.
8100 (init_gif_functions, init_tiff_functions): New functions.
8101 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
8102 Windows. Disable color table lookups. Call library functions
8103 through pointers determined at runtime.
8104 (init_external_image_libraries): Try to load libungif.dll and
8105 libtiff.dll.
8106
8107 2003-01-31 Kenichi Handa <handa@m17n.org>
8108
8109 * xdisp.c (SKIP_GLYPHS): New macro.
8110 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
8111
8112 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8113
8114 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
8115
8116 2003-01-30 Dave Love <fx@gnu.org>
8117
8118 * alloc.c (Vgc_elapsed, gcs_done): New variables.
8119 (Fgarbage_collect): Use them.
8120 (init_alloc, syms_of_alloc): Set them up.
8121
8122 2003-01-30 Juanma Barranquero <lektu@terra.es>
8123
8124 * w32fns.c (init_external_image_libraries): Add missing operator.
8125
8126 2003-01-29 Jason Rumney <jasonr@gnu.org>
8127
8128 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
8129 an alternative name for jpeg.dll.
8130
8131 2003-01-29 Kenichi Handa <handa@m17n.org>
8132
8133 * xdisp.c (set_cursor_from_row): Pay attention to string display
8134 properties.
8135
8136 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
8137
8138 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
8139 <escape>.
8140 (keycode_to_xkeysym_table): Reformat and add more comments.
8141 (XTread_socket): Drop special case for backspace.
8142
8143 2003-01-28 Andrew Choi <akochoi@shaw.ca>
8144
8145 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
8146 values in old-style RGB specs.
8147
8148 2003-01-27 Juanma Barranquero <lektu@terra.es>
8149
8150 * w32fns.c (init_external_image_libraries): Try alternate names for the
8151 jpeg dll.
8152
8153 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8154
8155 * gtkutil.c (create_dialog, xg_separator_p)
8156 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
8157 before calling strcmp or strlen.
8158
8159 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8160
8161 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
8162 and handle image load failure.
8163
8164 2003-01-26 Jason Rumney <jasonr@gnu.org>
8165
8166 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
8167 New functions.
8168 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
8169 Disable color table lookups. Call jpeg library functions
8170 through pointers determined at runtime.
8171 (init_external_image_libraries): Try to load jpeg.dll.
8172
8173 2003-01-25 Richard M. Stallman <rms@gnu.org>
8174
8175 * lisp.h: Declare format2 instead of format1.
8176
8177 * fileio.c (barf_or_query_if_file_exists):
8178 Call format2 instead of format1.
8179
8180 * editfns.c (format2): New function, replaces format1
8181 but takes exactly two Lisp Objects as format args.
8182
8183 * buffer.c (Fkill_buffer): Call format2 instead of format1.
8184
8185 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8186
8187 * xterm.h: Change to return value of x_dispatch_event to int.
8188
8189 * xterm.c (x_filter_event): New function.
8190 (event_handler_gdk, XTread_socket): Call x_filter_event.
8191 (x_dispatch_event): Change to return value of finish.
8192 (event_handler_gdk): Use return value from x_dispatch_event.
8193
8194 * xfns.c (x_window): Call create_frame_xic for GTK version to
8195 initialize input methods.
8196
8197 * gtkutil.h: Add (void) prototypes.
8198
8199 * gtkutil.c (create_menus): Remove code that puts the help menu to
8200 the right.
8201
8202 2003-01-25 Jason Rumney <jasonr@gnu.org>
8203
8204 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
8205 [HAVE_PNG]: Sync with xfns.c version.
8206 (png_load): Adjust colors for Windows. Use Windows
8207 bitmaps. Disable color table lookups.
8208 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
8209 (init_png_functions): New function.
8210 (png_read_from_memory, png_load): Call png library functions
8211 through pointers determined at runtime.
8212 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
8213 (init_external_image_libraries): New function.
8214 (init_xfns): Call it.
8215
8216 2003-01-24 Andreas Schwab <schwab@suse.de>
8217
8218 * minibuf.c (Fminibuffer_message): Verify type of parameter.
8219
8220 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8221
8222 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
8223 of static initializer.
8224
8225 2003-01-24 Dave Love <fx@gnu.org>
8226
8227 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
8228 architectures.
8229
8230 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
8231 Use __alignof__.
8232
8233 2003-01-24 Kenichi Handa <handa@m17n.org>
8234
8235 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
8236 It it is nonzero, don't pretend that an invisible area doesn't exist.
8237 (command_loop_1): Call adjust_point_for_property with proper
8238 second arg.
8239
8240 2003-01-22 Jason Rumney <jasonr@gnu.org>
8241
8242 Sync changes with xterm.c and xfns.c.
8243
8244 * w32term.c (x_draw_glyph_string_foreground)
8245 (x_draw_composite_glyph_string_foreground): Implement overstriking.
8246
8247 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
8248 phys_cursor's hpos is overwritten. This is still not completely
8249 correct, as it doesn't really make sense to use hpos at all to
8250 get the cursor glyph (as that is relative to the width of the
8251 characters on the line, which may have changed during the update).
8252
8253 * w32term.c (notice_overwritten_cursor): Handle the special case
8254 of the cursor being in the first blank non-text line at the
8255 end of a window.
8256
8257 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
8258 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
8259 Compute from the x position returned by x_draw_glyphs.
8260
8261 (x_display_and_set_cursor): Don't set phys_cursor_width here,
8262 except for NO_CURSOR and system caret, to make phys_cursor_width
8263 contain what its name suggests.
8264 (notice_overwritten_cursor): Consider the cursor image erased if
8265 the output area intersects the cursor image in y-direction.
8266
8267 * w32term.c (note_mode_line_or_margin_highlight): Rename from
8268 note_mode_line_highlight and extend.
8269
8270 * w32term.c (last_window): New variable.
8271 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
8272 (note_mouse_movement): Remove reimplemented code in #if 0.
8273
8274 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
8275 not update_mode_lines, and always set it to 1.
8276
8277 2003-01-21 Jason Rumney <jasonr@gnu.org>
8278
8279 * w32fns.c (IDC_HAND): Define it if system headers don't.
8280
8281 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
8282
8283 * w32term.h (struct w32_output): New member hand_cursor.
8284 (WM_EMACS_SETCURSOR): New message definition.
8285
8286 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
8287 function w32_define_cursor.
8288 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
8289 position, change member name output_data.x to output_data.w32 and
8290 add function w32_define_cursor.
8291 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
8292 and change member name output_data.x to output_data.w32.
8293 (w32_initialize_display_info):
8294 Setup dpyinfo->vertical_scroll_bar_cursor.
8295
8296 * w32fns.c (Vx_hand_shape): New variable.
8297 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
8298 WM_EMACS_SETCURSOR.
8299 (x-create-frame): Setup Cursor types.
8300
8301 2003-01-21 David Ponce <david@dponce.com>
8302
8303 * w32term.c (w32_encode_char): For DIM=1 charset, set
8304 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
8305 x_encode_char change by Kenichi Handa <handa@m17n.org> on
8306 2002-09-30.)
8307 (w32_draw_relief_rect): Declare all args.
8308 (w32_define_cursor): New.
8309
8310 * w32fns.c (w32_load_cursor): New function.
8311 (w32_init_class): Use it.
8312 (x_put_x_image): Declare all args.
8313
8314 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
8315
8316 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
8317
8318 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8319
8320 * gtkutil.c: Must include stdio.h before termhooks.h
8321
8322 2003-01-21 Dave Love <fx@gnu.org>
8323
8324 * alloc.c (Fgc_status): Print zombie list.
8325 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
8326 Fix assignment of zombies.
8327 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
8328 Don't take car of non-cons.
8329
8330 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8331
8332 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8333
8334 2003-01-20 David Ponce <david@dponce.com>
8335
8336 * w32menu.c (digest_single_submenu): Declare all args.
8337
8338 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
8339 changes in xmenu.c:
8340
8341 (parse_single_submenu): Use individual keymap's prompt
8342 string as pane name, if there is one.
8343 (set_frame_menubar): Save menu_items_n_panes from each call to
8344 parse_single_submenu and use it when calling digest_single_submenu.
8345
8346 2003-01-20 Steven Tamm <steventamm@mac.com>
8347
8348 * macterm.c (XTread_socket): Checks for valid, visible window
8349 before sending a scroll-wheel event.
8350
8351 2003-01-20 Richard M. Stallman <rms@gnu.org>
8352
8353 * xdisp.c (redisplay_window): If mini window's buffer is not
8354 a minibuffer, then redisplay it like other windows.
8355
8356 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8357
8358 * gtkutil.c (xg_create_frame_widgets): Check if there is an
8359 external tool bar before setting tool bar height.
8360
8361 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8362
8363 * xterm.c (handle_one_xevent): Surround popup_activated
8364 with #ifdef:s for non-toolkit version.
8365
8366 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
8367 (gtkutil.o): New file.
8368 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
8369 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
8370
8371 * gtkutil.c: New file for GTK version.
8372
8373 * gtkutil.h: New file for GTK version.
8374
8375 * xterm.h: Add xt_or_gtk_widget.
8376 Include gtk files for USE_GTK.
8377 (struct x_output): Add toolbar_height.
8378 (struct x_output): Add GTK widgets and Gdk size_hints.
8379 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
8380 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
8381 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
8382
8383 * xterm.c: Include gtkutil.h for USE_GTK.
8384 Declare extern void free_frame_menubar for USE_GTK.
8385 (note_mouse_highlight): Check popup_activated for USE_GTK.
8386 (xt_action_hook): Don't compile if USE_GTK.
8387 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
8388 (xg_scroll_callback): New function.
8389 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
8390 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
8391 for USE_GTK.
8392 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
8393 xg_show_scroll_bar for USE_GTK.
8394 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
8395 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
8396 (event_handler_gdk): New function for USE_GTK.
8397 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
8398 (handle_one_xevent): Make sure widget is mapped before
8399 calling x_real_positions for USE_GTK.
8400 (XTread_socket): Add GTK event loop for USE_GTK.
8401 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
8402 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
8403 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
8404 (x_iconify_frame): Add code for USE_GTK.
8405 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
8406 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
8407 is in gtkutil.c.
8408 (x_term_init): Add initialization for GTK.
8409 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
8410
8411 * xmenu.c: Include gtkutil.h for USE_GTK.
8412 (Fx_popup_menu): Use current position if x and y is NIL.
8413 (single_menu_item, single_menu_item, Fx_popup_dialog):
8414 Check for USE_GTK.
8415 (popup_widget_loop): New function for USE_GTK.
8416 (x_activate_menubar): Add code for USE_GTK.
8417 (popup_activate_callback, popup_deactivate_callback)
8418 (menu_highlight_callback, menubar_selection_callback):
8419 Add USE_GTK versions.
8420 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
8421 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
8422 (free_frame_menubar): Only compile if not USE_GTK. GTK version
8423 is in gtkutil.c.
8424 (popup_selection_callback): New version for USE_GTK.
8425 (create_and_show_popup_menu): New fuction, one USE_GTK version and
8426 one USE_X_TOOLKIT version.
8427 (xmenu_show): Call create_and_show_popup_menu.
8428 (dialog_selection_callback): New version for USE_GTK.
8429 (create_and_show_dialog): New fuction, one USE_GTK version and
8430 one USE_X_TOOLKIT version.
8431 (xdialog_show): Call create_and_show_dialog.
8432
8433 * xfns.c: Include gtkutil for USE_GTK.
8434 (x_window_to_frame, x_any_window_to_frame)
8435 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
8436 (x_top_window_to_frame): Add code for USE_GTK.
8437 (x_set_background_color): Call xg_set_background_color for GTK.
8438 (x_set_menu_bar_lines): Check for USE_GTK.
8439 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
8440 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
8441 (x_window): Call xg_create_frame_widgets for USE_GTK.
8442 (Fx_create_frame): Check for USE_GTK
8443 (Fx_file_dialog): New implementation for USE_GTK.
8444
8445 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
8446 (update_menu_bar): Add check for USE_GTK.
8447 (update_tool_bar): Add check for USE_GTK and external tool bar.
8448 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
8449 (redisplay_internal): Add check for USE_GTK and popup_activated.
8450 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
8451 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
8452 (display_menu_bar): Add check for USE_GTK
8453
8454 * lisp.h: Declare Vx_resource_name extern.
8455
8456 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
8457 for USE_GTK.
8458 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
8459
8460 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
8461 (FRAME_EXTERNAL_TOOL_BAR): New macro.
8462 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
8463
8464 * fileio.c (Fread_file_name): Add check for USE_GTK.
8465
8466 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
8467 Add check for USE_GTK.
8468
8469 * config.in: Added HAVE_GTK
8470
8471 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
8472
8473 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
8474
8475 * charset.h (Funibyte_char_to_multibyte): Export.
8476
8477 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8478
8479 * xmenu.c (mouse_position_for_popup): New function.
8480 (Fx_popup_menu): Call mouse_position_for_popup for X and
8481 mouse_position_hook for others.
8482
8483 2003-01-17 Kim F. Storm <storm@cua.dk>
8484
8485 * editfns.c (Finsert): Mention `string-make-multibyte' and
8486 `string-as-multibyte' in doc string.
8487
8488 2003-01-17 Kenichi Handa <handa@m17n.org>
8489
8490 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
8491
8492 * editfns.c (Fformat): Convert an unibyte char argument that is
8493 formatted by "%c" to multibyte if the total result must be a
8494 multibyte string.
8495
8496 2003-01-16 Kim F. Storm <storm@cua.dk>
8497
8498 * process.c (set-process-filter): Document unibyte/multibyte-ness
8499 of string argument.
8500
8501 2003-01-16 Kenichi Handa <handa@m17n.org>
8502
8503 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
8504
8505 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
8506 (re_search_2): Likewise.
8507
8508 2003-01-15 Kenichi Handa <handa@m17n.org>
8509
8510 * xdisp.c (message_dolog): Fix bug of the case that *Message*
8511 buffer is unibyte.
8512
8513 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
8514
8515 * fns.c (Fsubstring): Clarify doc string.
8516
8517 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
8518 (Fprevious_char_property_change)
8519 (Fnext_single_char_property_change)
8520 (Fprevious_single_char_property_change, Fnext_property_change)
8521 (Fnext_single_property_change, Fprevious_property_change)
8522 (Fprevious_single_property_change, Fadd_text_properties)
8523 (Fput_text_property, Fset_text_properties)
8524 (Fremove_text_properties, Fremove_list_of_text_properties)
8525 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
8526
8527 2003-01-14 Kim F. Storm <storm@cua.dk>
8528
8529 * process.h (struct Lisp_Process): New member plist replaces old
8530 member private_vars. All uses changed.
8531
8532 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
8533 (QCplist): Rename from QCvars. Change all uses.
8534 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
8535 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
8536 (syms_of_process): Intern, staticpro, defsubr these.
8537 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
8538
8539 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
8540
8541 * m/delta.h: Remove (obsolete).
8542
8543 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
8544
8545 * fileio.c (Fdelete_directory, Fdelete_file): Document the
8546 behaviour in front of symlinks.
8547 (Fdelete_file): Raise an error on directories.
8548
8549 2003-01-13 Dave Love <fx@gnu.org>
8550
8551 * fns.c (Freverse): Use QUIT.
8552
8553 2003-01-13 Richard M. Stallman <rms@gnu.org>
8554
8555 * minibuf.c (minibuffer_completion_contents):
8556 Error if point is inside prompt.
8557
8558 * keyboard.c (command_loop_1): Don't redisplay directly
8559 if there's a post-command-hook.
8560
8561 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
8562 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
8563
8564 2003-01-12 Kim F. Storm <storm@cua.dk>
8565
8566 * process.h (struct Lisp_Process): New member private_vars.
8567
8568 * process.c (QCvars): New variable.
8569 (syms_of_process): Intern and staticpro it.
8570 (Fset_process_contact): Removed function.
8571 (Fprocess_variable, Fset_process_variable): New functions.
8572 (syms_of_process): Defsubr them.
8573 (Fstart_process): Initialize private_vars plist to nil.
8574 (Fmake_network_process): New arg :vars to setup the private
8575 variables for new network process.
8576 (server_accept_connection): Copy server's private variables to
8577 client process.
8578
8579 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
8580 crashes). Code rewritten and simplified. Now directly aligns the
8581 pointer and recalculates pure_bytes_used, rather than aligning the
8582 size and adjusting the pointer.
8583
8584 2003-01-11 Kim F. Storm <storm@cua.dk>
8585
8586 * process.c (Fset_process_contact): New function.
8587 (syms_of_process): defsubr it.
8588 (make-network-process): Update doc.
8589
8590 2003-01-10 Andreas Schwab <schwab@suse.de>
8591
8592 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
8593 Reported by Berthold Gunreben <b.gunreben@web.de>.
8594
8595 2003-01-10 Dave Love <fx@gnu.org>
8596
8597 * composite.c (syms_of_composite): Make composition_hash_table weak.
8598
8599 2003-01-09 Kim F. Storm <storm@cua.dk>
8600
8601 * process.c (Fmake_network_process): Convert new port number
8602 to host byte order for `:service t' case. From Mario Lang.
8603
8604 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8605
8606 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
8607 instead of XtAppProcessEvent.
8608
8609 * xterm.c (handle_one_xevent): New function.
8610 (x_dispatch_event): New function.
8611 (XTread_socket): Call handle_one_xevent.
8612
8613 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
8614
8615 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
8616 call XQueryPointer to get coordinates.
8617 (popup_get_selection): Do not set popup_activated_flag to zero,
8618 let popup_deactivate_callback do that. Needed for Motif.
8619 Call x_dispatch_event instead of XtDispatchEvent.
8620 (xmenu_show): Calculate root coordinate from frame top/left position.
8621
8622 2003-01-08 Kim F. Storm <storm@cua.dk>
8623
8624 * process.c (server_accept_connection): Fix recording of new
8625 connection's local address in :local property of contact info.
8626 (Fmake_network_process): Record local network address for new
8627 client processes in :local property of contact info.
8628 (format-network-address): Add arg OMIT-PORT. Change callers.
8629
8630 2003-01-07 Dave Love <fx@gnu.org>
8631
8632 * Makefile.in (fns.o): Depend on coding.h.
8633
8634 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
8635
8636 * minibuf.c (Fread_variable): Doc fix.
8637
8638 * eval.c (Fuser_variable_p): Doc change. For custom variables,
8639 use the same test as for custom-variable-p.
8640
8641 2003-01-05 Richard M. Stallman <rms@gnu.org>
8642
8643 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
8644 Count LAST_LINE_MISFIT in scroll margin for end of window.
8645 Move label too_near_end before setting SCROLL_MARGIN_POS.
8646 Set LAST_LINE_MISFIT before jumping there.
8647
8648 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
8649 scroll_conservatively case. If scrolling that much doesn't change
8650 STARTP, move it down one line.
8651
8652 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
8653 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
8654
8655 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
8656 selected frame.
8657
8658 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
8659 (syms_of_keymap): staticpro them.
8660 (Fapropos_internal): Initialize them and clear them out.
8661 Don't GCPRO them.
8662
8663 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
8664 Doc fixes.
8665
8666 * lisp.h: New misc type Lisp_Save_Value.
8667 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
8668 (XSAVE_VALUE): New macro.
8669 (struct Lisp_Save_Value): New data type.
8670 (union Lisp_Misc): Add u_save_value alternative.
8671 (make_save_value): Declared.
8672
8673 * alloc.c (make_save_value): New function.
8674
8675 * xterm.c (x_catch_errors): Save dpy using make_save_value.
8676 (x_catch_errors_unwind): Call XSync.
8677
8678 2003-01-01 Richard M. Stallman <rms@gnu.org>
8679
8680 * window.c (window_scroll_pixel_based): Partially undo last change.
8681
8682 * keyboard.c (command_loop_1): Call adjust_point_for_property
8683 in direct action cases for Qforward_char and Qbackward_char.
8684 Set already_adjusted so it won't be done twice.
8685
8686 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
8687
8688 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
8689 type definition of size_t.
8690
8691 2003-01-02 Steven Tamm <steventamm@mac.com>
8692
8693 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
8694 distinguish Carbon GUI builds from X11 builds on darwin.
8695
8696 2002-12-30 Steven Tamm <steventamm@mac.com>
8697
8698 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
8699 to default to t.
8700
8701 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
8702
8703 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
8704
8705 2002-12-28 Steven Tamm <steventamm@mac.com>
8706
8707 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
8708 allow building in a different directory than source. Uses some
8709 GNU Make extensions, but there is no other make on Mac OS X.
8710
8711 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
8712
8713 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
8714 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
8715 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
8716 (Fstring_to_number): Mention the returned value in the doc strings.
8717
8718 2002-12-23 Richard M. Stallman <rms@gnu.org>
8719
8720 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
8721 <scroll-down-aggressively>: Doc fix.
8722
8723 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
8724 string as pane name, if there is one.
8725 (set_frame_menubar): Save menu_items_n_panes from each call to
8726 parse_single_submenu and use it when calling digest_single_submenu.
8727
8728 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
8729 Don't try to make last line fully visible if it is past end of window.
8730
8731 2002-12-22 Steven Tamm <steventamm@mac.com>
8732
8733 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
8734 (mac_menu_show): Add support for hierarchical popup menus.
8735 (add_menu_item): Remove indentation support.
8736 (fill_submenu, fill_menu): Create hierarchical menus
8737 instead of using indentation.
8738
8739 2002-12-22 Richard M. Stallman <rms@gnu.org>
8740
8741 * xdisp.c (try_cursor_movement): Don't call try_window here.
8742 (redisplay_window): Never redisplay minibuffer when inactive.
8743
8744 * window.c (select_window_1): Undo 9/21 change.
8745
8746 2002-12-22 Steven Tamm <steventamm@mac.com>
8747
8748 * macterm.c (XTread_socket): Call KeyTranslate for control and
8749 meta to deal correctly shifted non-alpha characters, like C-S-5
8750 being treated like C-%. Does not look for shift key to deal
8751 with masking off control-key with mac-reverse-ctrl-meta.
8752
8753 2002-12-21 Richard M. Stallman <rms@gnu.org>
8754
8755 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
8756 If it is non-nil, run timers. Use an unwind-protect to requeue
8757 the events that were read ahead.
8758 (popup_get_selection_unwind): New subroutine.
8759 (popup_get_selection_queue): File-scope variable now holds that queue.
8760 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
8761 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
8762 Use an unwind-protect to pop down the dialog box.
8763 (xdialog_show_unwind): New subroutine implements that.
8764
8765 * xdisp.c (row_containing_pos): Change exit test using last_y.
8766 (try_window_id): Abort if row_containing_pos returns null.
8767
8768 * lread.c (load_error_handler): New function.
8769 (Fload): Handle errors in Fsubstitute_in_file_name.
8770 Don't expect Fsignal to return.
8771
8772 * eval.c: Errors and throws work right with interrupt blocking.
8773 (struct catchtag): New elt interrupt_input_blocked.
8774 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
8775 (internal_catch, Fcondition_case, internal_condition_case)
8776 (internal_condition_case_1, internal_condition_case_2): Save it.
8777 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
8778
8779 * editfns.c (Fformat): Add parens.
8780
8781 * dired.c (file_name_completion): Fix that change.
8782 Delete special quit-handling code; just use QUIT.
8783
8784 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change)
8785
8786 * dired.c (file_name_completion): Close directory on error
8787 just as in directory_files_internal.
8788
8789 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
8790
8791 * window.c (Fset_window_configuration): Set old_point to correct
8792 value when new_current_buffer == current_buffer.
8793
8794 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
8795
8796 Revisited my earlier fix for the following entry in etc/PROBLEMS:
8797 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
8798 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
8799
8800 These changes were in part based upon suggestions made by Peter
8801 'Luna' Runestig [peter@runestig.com].
8802
8803 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
8804 g_b_init_get_token_information, g_b_init_lookup_account_sid,
8805 g_b_init_get_sid_identifier_authority ): Add several static
8806 global variables.
8807
8808 * w32.c (globals_of_w32): New function. Used to initialize those
8809 global variables that must always be initialized on startup even
8810 when the global variable initialized is non zero. Its primary
8811 purpose at this time is to set the global variables
8812 g_b_init_is_windows_9x, g_b_init_open_process_token,
8813 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
8814 g_b_init_get_sid_identifier_authority to 0 on startup.
8815 Called from main.
8816
8817 * w32.c (is_windows_9x): Perform initialization only if
8818 g_b_init_is_windows_9x is equal to 0. On initialization set
8819 g_b_init_is_windows_9x equal to 1.
8820
8821 * w32.c (open_process_token): Perform initialization only if
8822 g_b_init_open_process_token is equal to 0. On initialization set
8823 g_b_init_open_process_token equal to 1.
8824
8825 * w32.c (get_token_information): Perform initialization only if
8826 g_b_init_get_token_information is equal to 0. On initialization
8827 set g_b_init_get_token_information equal to 1.
8828
8829 * w32.c (lookup_account_sid): Perform initialization only if
8830 g_b_init_lookup_account_sid is equal to 0. On initialization
8831 set g_b_init_lookup_account_sid equal to 1.
8832
8833 * w32.c (get_sid_identifier_authority): Perform initialization
8834 only if g_b_init_get_sid_identifier_authority is equal to 0.
8835 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
8836
8837 * w32fns.c (globals_of_w32fns): New function. Used to initialize
8838 those global variables that must always be initialized on startup
8839 even when the global variable initialized is non zero.
8840 Its primary purpose at this time is to initialize the global variable
8841 track_mouse_event_fn.
8842
8843 * w32fns.c (w32_wnd_proc): Remove initialization of
8844 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
8845
8846 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
8847
8848 * w32menu.c (globals_of_w32menu): New function. Used to
8849 initialize those global variables that must always be initialized
8850 on startup even when the global variable initialized is non zero.
8851 Its primary purpose at this time is to initialize the global
8852 variables get_menu_item_info and set_menu_item_info.
8853
8854 * w32menu.c (initialize_frame_menubar): Remove initialization of
8855 get_menu_item_info and set_menu_item_info.
8856
8857 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
8858
8859 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
8860 Declare them.
8861
8862 * emacs.c (main): Call globals_of_w32 prior to calling
8863 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
8864 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
8865 is defined.
8866
8867 * w32term.c (x_update_window_begin): Fix Windows API error
8868 detected by BoundsChecker. Test to determine if
8869 w32_system_caret_hwnd is NULL prior to attempting to use
8870 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
8871
8872 * w32term.c (x_update_window_end): Fix Windows API error
8873 detected by BoundsChecker. Test to determine if
8874 w32_system_caret_hwnd is NULL prior to attempting to use
8875 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
8876
8877 2002-12-17 Kenichi Handa <handa@m17n.org>
8878
8879 * coding.c (coding_system_require_warning): New variable.
8880 (syms_of_coding): DEFVAR it.
8881
8882 * coding.h (coding_system_require_warning): Extern it.
8883
8884 * fileio.c (choose_write_coding_system): Even if
8885 Vcoding_system_for_write is non-nil, if
8886 coding_system_require_warning is nonzero, call
8887 Vselect_safe_coding_system_function.
8888
8889 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
8890
8891 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
8892 (lisp): Add font-core.
8893
8894 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
8895
8896 * textprop.c (text_read_only): New arg `propval'.
8897 (get_char_property_and_overlay): Remove unused var `next_overlay'.
8898 (verify_interval_modification): Use text_read_only's new arg.
8899
8900 2002-12-13 Kenichi Handa <handa@m17n.org>
8901
8902 * coding.c (Funencodable_char_position): Set pend correctly.
8903
8904 2002-12-12 Jason Rumney <jasonr@gnu.org>
8905
8906 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
8907 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
8908 Be more careful about when help_events are generated.
8909
8910 2002-12-12 Steven Tamm <steventamm@mac.com>
8911
8912 * macterm.c (mac_check_for_quit_char): Correctly set the
8913 modifiers of the event to 0.
8914 * mac.c (sys_select): Duplicate rfds before calling select to
8915 ensure that rfds survive the while loop.
8916
8917 2002-12-11 Kim F. Storm <storm@cua.dk>
8918
8919 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
8920 row_containing_pos returned NULL.
8921
8922 2002-12-10 Steven Tamm <steventamm@mac.com>
8923
8924 * mac.c (sys_read): Fix sys_read to not call select if IO is
8925 non-blocking.
8926 (sys_select): Fix sys_select to not use a timeout larger than
8927 the one given.
8928
8929 2002-12-10 Juanma Barranquero <lektu@terra.es>
8930
8931 * editfns.c (Fformat): Use alloca, not _alloca.
8932
8933 2002-12-09 Richard M. Stallman <rms@gnu.org>
8934
8935 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
8936 as the last thing.
8937
8938 2002-12-09 Dave Love <fx@gnu.org>
8939
8940 * s/sol2-8.h: Removed. (Not necessary.)
8941
8942 2002-12-09 Matthew Swift <swift@alum.mit.edu>
8943
8944 * editfns.c (Fformat): Handle precision in string conversion
8945 specifiers like libc functions do (ie, print at most that many
8946 characters).
8947
8948 2002-12-08 Richard M. Stallman <rms@gnu.org>
8949
8950 * xdisp.c (row_containing_pos): Check more carefully
8951 whether charpos is really in the row before returning it.
8952
8953 2002-12-07 Steven Tamm <steventamm@mac.com>
8954
8955 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
8956
8957 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
8958 each stack frame. This may change as it could be time consuming.
8959
8960 * macterm.c (mac_check_for_quit_char, quit_char_comp)
8961 (init_quit_char_handler, mac_determine_quit_char_modifiers)
8962 (mac_initialize): Add code to check for pressing of quit_char
8963 in the OS event queue.
8964
8965 * mac.c (sys_select): Call mac_check_for_quit_char every second
8966 while blocking on select.
8967
8968 * mac.c (sys_read): Use sys_select to test for input first
8969 before calling read, to allow C-g to break.
8970
8971 2002-12-07 Richard M. Stallman <rms@gnu.org>
8972
8973 * minibuf.c (Fcompleting_read): Doc fix.
8974
8975 * lread.c (syms_of_lread) <load-history>: Doc fix.
8976
8977 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
8978
8979 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
8980 autoload.
8981
8982 * data.c (Fdefalias): Record in load-history redefining an autoload.
8983
8984 * alloca.c: Undo ifdef change accidentally made on 12-04.
8985
8986 2002-12-06 Francesco Potorti` <pot@gnu.org>
8987
8988 * xfns.c (png_load): Avoid double gamma correction for PNG images.
8989
8990 2002-12-04 Richard M. Stallman <rms@gnu.org>
8991
8992 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
8993
8994 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
8995
8996 * alloca.c: Don't use #error.
8997
8998 2002-12-03 Dave Love <fx@gnu.org>
8999
9000 * buffer.c (Qucs_set_table_for_input): New.
9001 (Fget_buffer_create): Use it.
9002 (Qset_buffer_major_mode_hook): Deleted.
9003 (Fset_buffer_major_mode): Revert previous change.
9004 (init_buffer_once): Intern ucs-set-table-for-input.
9005 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
9006 Add &Qucs_set_table_for_input.
9007
9008 2002-12-03 Andreas Schwab <schwab@suse.de>
9009
9010 * callint.c (Fcall_interactively): Use next_event only if less
9011 than key_count.
9012
9013 2002-12-02 Andrew Choi <akochoi@shaw.ca>
9014
9015 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
9016 names to 255 characters.
9017
9018 * macterm.c (XTread_socket): If all frames have been collapsed,
9019 expand the first one before handling drag-and-drop events.
9020
9021 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
9022 which is detected by autoconf.
9023
9024 2002-12-01 Steven Tamm <steventamm@mac.com>
9025
9026 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
9027 offset in two hints table to allow prebinding to be redone and
9028 allow the executable to be stripped.
9029
9030 2002-11-29 Dave Love <fx@gnu.org>
9031
9032 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
9033 already provided.
9034
9035 2002-11-29 Richard M. Stallman <rms@gnu.org>
9036
9037 * xdisp.c (start_display): Check more intelligently for
9038 whether the line is continued.
9039 (move_it_vertically_backward): Clear it->continuation_lines_width.
9040
9041 2002-11-28 Dave Love <fx@gnu.org>
9042
9043 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
9044 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
9045
9046 2002-11-27 Steven Tamm <steventamm@mac.com>
9047
9048 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
9049 more descriptive error output from lread.c:Fload upon most require
9050 cycles during boostrapping.
9051
9052 2002-11-27 Jason Rumney <jasonr@gnu.org>
9053
9054 * fileio.c (Finsert_file_contents): Give a more appropriate error
9055 for files bigger than 2Gb when off_t is 32 bit.
9056
9057 * dired.c (Ffile_attributes): Don't return negative file sizes for
9058 files bigger than 2Gb when off_t is 32 bit.
9059
9060 2002-11-27 Dave Love <fx@gnu.org>
9061
9062 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9063
9064 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
9065 Test GETPGRP_VOID instead.
9066 [BSD_TERMIOS]: Remove definitions (never used).
9067
9068 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
9069 Don't define.
9070 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9071
9072 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
9073
9074 2002-11-25 Jason Rumney <jasonr@gnu.org>
9075
9076 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
9077 supported.
9078
9079 2002-11-25 Dave Love <fx@gnu.org>
9080
9081 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
9082
9083 * Makefile.in (TEMACS_LDFLAGS): Update last change.
9084
9085 2002-11-25 Andreas Schwab <schwab@suse.de>
9086
9087 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
9088
9089 2002-11-24 Steven Tamm <steventamm@mac.com>
9090
9091 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
9092 determine the size of pointers alloced in unexed space instead
9093 of using possibly invalid emacs_zone pointers. This fixes the
9094 binary incompatibility problems caused by updates to libSystem.B.
9095
9096 2002-11-24 Richard M. Stallman <rms@gnu.org>
9097
9098 * search.c (Fstring_match): Doc fix.
9099
9100 * callint.c (Fcall_interactively): If a command fails because
9101 `*' detects a read-only buffer, but RECORD_FLAG is set,
9102 record it anyway if the args don't actually do tty input.
9103
9104 2002-11-22 Dave Love <fx@gnu.org>
9105
9106 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
9107
9108 * keyboard.c (interrupt_signal): Provide forward declaration.
9109 (kbd_buffer_store_event): Don't declare interrupt_signal.
9110
9111 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
9112
9113 2002-11-21 Richard M. Stallman <rms@gnu.org>
9114
9115 * eval.c (interactive_p): Skip any number of bytecode
9116 and special form frames, in any order.
9117
9118 2002-11-20 Jason Rumney <jasonr@gnu.org>
9119
9120 * w32fns.c (convert_mono_to_color_image): New function.
9121 (xbm_load, xbm_load_image): Use it when foreground or background
9122 is explicitly set.
9123
9124 2002-11-19 Dave Love <fx@gnu.org>
9125
9126 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
9127
9128 2002-11-18 Jason Rumney <jasonr@gnu.org>
9129
9130 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
9131 (XPutPixel): Swap blue and red.
9132 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
9133 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
9134 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
9135 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
9136
9137 2002-11-18 Dave Love <fx@gnu.org>
9138
9139 * m/orion105.h (HAVE_ALLOCA): Don't define.
9140
9141 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
9142
9143 * m/intel386.h: Don't include alloca.h or define alloca.
9144
9145 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
9146 malloc, realloc, calloc.
9147
9148 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
9149 (bcmp): Don't define.
9150
9151 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
9152
9153 * m/amdahl.h: Don't define LIB_STANDARD.
9154
9155 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
9156
9157 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
9158
9159 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
9160 Don't include alloca.h.
9161
9162 * s/aix3-2.h (HAVE_FSYNC): Don't define.
9163
9164 * regex.c (_GNU_SOURCE): Don't define.
9165
9166 * process.c (_GNU_SOURCE): Don't define.
9167
9168 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
9169
9170 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
9171
9172 * s/sol2-8.h: Include sol2-6.h.
9173
9174 2002-11-18 Miles Bader <miles@gnu.org>
9175
9176 * dispextern.h (struct face): Add `overstrike' field.
9177 * xterm.c (x_draw_glyph_string_foreground)
9178 (x_draw_composite_glyph_string_foreground): Implement overstriking.
9179 * xfaces.c (load_face_font): Set `face->overstrike' based on
9180 result from choose_face_font.
9181 (best_matching_font, choose_face_font): Add `needs_overstrike'
9182 argument, and use it to return whether overstriking is desirable
9183 for this face/font combo.
9184 (set_font_frame_param: Pass new argument to choose_face_font.
9185
9186 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
9187
9188 This change is my fix for the following entry in etc/PROBLEMS:
9189 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
9190 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
9191
9192 * w32.c: Added wrapper functions around the win32 API functions
9193 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
9194 GetSidIdentifierAuthority. These wrapper functions serve two
9195 purposes:
9196 1. They ensure that the wrapped function can never be called
9197 when Emacs is running on an operating system on which they are
9198 not supported (Microsoft Windows 95 / 98 / ME).
9199 2. They call the wrapped functions via function pointers rather
9200 than calling them directly. This avoids taking advantage of the
9201 undocumented fact that although these functions are not supported
9202 in the 9x branch of Microsoft Windows, the functions do exist in
9203 the version of advapi32.dll that is found in the 9x branch of
9204 Microsoft Windows.
9205
9206 * w32.c (init_user_info): Replace the calls to the win32 API
9207 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
9208 and GetSidIdentifierAuthority with calls to the newly added
9209 wrapper functions.
9210
9211 * w32.h: Added extern declarations for the following functions:
9212 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
9213 syms_of_w32menu, and void syms_of_fontset.
9214
9215 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
9216 function pointer track_mouse_event_fn in the handler for the
9217 WM_SETFOCUS message.
9218
9219 * w32menu.c (initialize_frame_menubar): Add code to
9220 reinitialize the function pointers set_menu_item_info and
9221 get_menu_item_info.
9222
9223 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
9224
9225 * sound.c: Added a partial implementation of play-sound-internal
9226 for Microsoft Windows. Added various #ifdef / #else / #endif
9227 code blocks to separate the code that will compile under
9228 Microsoft Windows from the code that is specific to Gnu/Linux.
9229 Moved several blocks of code around to make this separation of code
9230 into Windows compatible and Gnu/Linux compatible code blocks easier.
9231
9232 * makefile.w32-in: Include sound.c and link with WinMM.lib.
9233
9234 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
9235 added support for play-sound-internal under Windows would be
9236 included in the build of Emacs.
9237
9238 2002-11-16 Jason Rumney <jasonr@gnu.org>
9239
9240 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
9241
9242 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
9243
9244 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
9245
9246 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
9247 (adjust_point_for_property): Move out of display and invisible even if
9248 we were already inside before (in case a property was added while
9249 we weren't looking). Be more careful when handling invisible props.
9250 Skip invisible text as if it really wasn't there at all.
9251
9252 2002-11-15 Jason Rumney <jasonr@gnu.org>
9253
9254 * w32term.c (x_draw_image_foreground)
9255 (w32_draw_image_foreground_1): Use standard copy and invert
9256 operations to draw images.
9257
9258 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
9259 depth of 1.
9260 (xbm_read_bitmap_data): Invert bits as xbm is read in.
9261 (XPutPixel): Don't invert bits here.
9262
9263 2002-11-15 Jason Rumney <jasonr@gnu.org>
9264
9265 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
9266 (w32_draw_image_foreground_1): Handle image masks.
9267 (x_draw_image_glyph_string): Don't BitBlt transparently.
9268
9269 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
9270 (x_from_xcolors): Adjust RGB values for W32.
9271 (image_background, image_background_transparent)
9272 (postprocess_image, x_to_xcolors, x_disable_image)
9273 (x_build_heuristic_mask): Adapt for W32 and enable.
9274 (x_create_x_image_and_pixmap): Mark images with palettes as such.
9275 (xbm_load): Remove unused variable.
9276
9277 2002-11-14 Richard M. Stallman <rms@gnu.org>
9278
9279 * buffer.c (syms_of_buffer): Doc fix.
9280
9281 2002-11-14 Dave Love <fx@gnu.org>
9282
9283 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
9284
9285 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
9286 * xmenu.c (unuse_menu_items, digest_single_submenu):
9287 * xfns.c (x_put_x_image):
9288 * xdisp.c (message2_nolog, set_message):
9289 * undo.c (record_point):
9290 * terminfo.c (tparam):
9291 * syntax.c (scan_sexps_forward):
9292 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
9293 * composite.c (update_compositions):
9294 * cm.c (calccost, cmgoto):
9295 * charset.c (c_string_width): Declare all args (per C99).
9296
9297 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
9298
9299 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
9300 Don't declare.
9301
9302 * emacs.c (main) [!VMS]: Avoid third arg.
9303
9304 * fns.c (Fcopy_sequence): Doc fix.
9305 (Fmap_char_table): Cast `call2'.
9306
9307 2002-11-14 Francesco Potorti` <pot@gnu.org>
9308
9309 * s/sol2-8.h: New file.
9310
9311 2002-11-14 Kim F. Storm <storm@cua.dk>
9312
9313 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
9314 dependency on `risky-local-variable' and the :propertize form.
9315
9316 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
9317
9318 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
9319
9320 * syntax.c (scan_sexps_forward): Undo last patch.
9321 Use a more obvious fix: check eob before updating the syntax table.
9322
9323 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
9324
9325 * syntax.c (scan_sexps_forward): Update syntax table before reading
9326 a char rather than after so we don't update the table past eob.
9327
9328 2002-11-09 Dave Love <fx@gnu.org>
9329
9330 * buffer.c (Fset_buffer_major_mode): Fix last change.
9331
9332 * regex.c (regexec): Fix pmatch declaration.
9333
9334 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
9335
9336 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
9337 to self-inserting characters.
9338 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
9339
9340 * coding.c (Vtranslation_table_for_input): New.
9341 (syms_of_coding): DEFVAR it.
9342
9343 2002-11-08 Juanma Barranquero <lektu@terra.es>
9344
9345 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
9346 window.
9347
9348 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9349
9350 * process.c (Fformat_network_address): Remove unused locals p,
9351 cp, and i.
9352
9353 2002-11-06 Dave Love <fx@gnu.org>
9354
9355 * buffer.c (Qset_buffer_major_mode_hook): New.
9356 (Fset_buffer_major_mode): Use it.
9357
9358 2002-11-06 Richard M. Stallman <rms@gnu.org>
9359
9360 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
9361 and stop_polling.
9362
9363 * process.c (wait_reading_process_input):
9364 Test POLLING_PROBLEM_IN_SELECT, not hpux.
9365 Avoid initialization for auto Lisp_Object var.
9366
9367 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
9368
9369 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
9370
9371 2002-11-05 Richard M. Stallman <rms@gnu.org>
9372
9373 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
9374
9375 * callint.c (Fcall_interactively): New local filter_specs.
9376 (Fcall_interactively): Check for progn as well as let.
9377 Add a gcpro.
9378 (Qprogn): New variable.
9379 (syms_of_callint): Staticpro and init Qprogn.
9380
9381 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
9382
9383 * lread.c (Feval_buffer): Doc fix.
9384
9385 2002-11-04 Dave Love <fx@gnu.org>
9386
9387 * keyboard.c (read_char): Always translate iff
9388 Vkeyboard_translate_table is a char table and c is valid.
9389
9390 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
9391 and fix C types.
9392
9393 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
9394
9395 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
9396
9397 * editfns.c (get_pos_property): Don't hardcode Qfield.
9398
9399 * keyboard.c (adjust_point_for_property): Handle `display' prop on
9400 overlays. Also handle `invisible' prop.
9401
9402 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
9403
9404 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
9405 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
9406
9407 2002-11-01 Andreas Schwab <schwab@suse.de>
9408
9409 * editfns.c (Fmessage): Revert last change to properly handle %%.
9410
9411 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
9412
9413 * xmenu.c (unuse_menu_items): New fun.
9414 (menu_items_inuse): New var.
9415 (syms_of_xmenu): Initialize it.
9416 (init_menu_items): Use it to detect re-entrance.
9417 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
9418 (Fx_popup_menu): Remove spurious XSETFRAME.
9419
9420 * editfns.c (find_field): Make an exception for nil fields.
9421
9422 2002-11-01 Dave Love <fx@gnu.org>
9423
9424 * m/gec63.h: Deleted.
9425
9426 2002-10-31 Dave Love <fx@gnu.org>
9427
9428 * xterm.c (XTread_socket): Fix last change.
9429 (xaw_scroll_callback): Cast call_data to long to avoid warning.
9430
9431 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
9432
9433 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
9434
9435 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
9436
9437 * editfns.c (overlays_around, get_pos_property): New funs.
9438 (find_field): Use them.
9439 Also be careful not to modify POS before its last use.
9440 (Fmessage): Don't Fformat if there's nothing to format.
9441
9442 2002-10-30 Dave Love <fx@gnu.org>
9443
9444 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
9445 [HAVE_PTY_H]; Include pty.h.
9446
9447 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
9448
9449 * xterm.c (Qeql): Declare.
9450 (Vx_keysym_table): New.
9451 (syms_of_xterm): Initialize it.
9452 (XTread_socket): Use it. Deal with ASCII keysyms.
9453 (XSetIMValues) [HAVE_X11R6]: Prototype.
9454
9455 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
9456 (lispy_kana_keys): Comment out.
9457 (make_lispy_event) [XK_kana_A]: Comment out.
9458 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
9459 Fix sprintf call.
9460
9461 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
9462 regexp.h change).
9463 (TERMINFO, LIBS_TERMCAP): Define.
9464
9465 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
9466 (bcmp): Define conditional on HAVE_BCMP.
9467 (NO_SIOCTL_H): Don't define.
9468 (TIOCSIGSEND): Don't make conditional on IRIX6.
9469
9470 * s/sol2-5.h: Don't include strings.h.
9471 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
9472
9473 * s/irix6-0.h (IRIX6): Don't define.
9474 (bcopy, bcmp, bzero): Don't undef.
9475
9476 * s/irix6-5.h: Don't include strings.h.
9477 (IRIX6): Don't define.
9478 (bcopy, bcmp, bzero): Don't undef.
9479
9480 * syntax.c (Fforward_comment): Doc fix.
9481
9482 2002-10-29 Kim F. Storm <storm@cua.dk>
9483
9484 * process.c (Fsignal_process): Allow PROCESS to be specified by
9485 name in addition to pid (as integer or string).
9486
9487 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
9488
9489 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
9490 environments.
9491
9492 2002-10-27 Kim F. Storm <storm@cua.dk>
9493
9494 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
9495
9496 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
9497
9498 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
9499
9500 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
9501
9502 2002-10-26 Richard M. Stallman <rms@gnu.org>
9503
9504 * editfns.c (Fformat): Detect invalid format letters for floats.
9505
9506 2002-10-25 Kenichi Handa <handa@m17n.org>
9507
9508 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
9509 (x_set_title): Likewise.
9510
9511 2002-10-25 Juanma Barranquero <lektu@terra.es>
9512
9513 * macgui.h:
9514 * w32gui.h: Remove definition of XColor.
9515
9516 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
9517
9518 2002-10-24 Kim F. Storm <storm@cua.dk>
9519
9520 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
9521 Callers changed (supply dummy arg).
9522
9523 * lisp.h (get_window_cursor_type): Update prototype.
9524
9525 * w32term.c (x_display_and_set_cursor): Get active_cursor from
9526 get_window_cursor_type to track system caret.
9527
9528 2002-10-24 Kim F. Storm <storm@cua.dk>
9529
9530 * process.c (Fformat_network_address): New function.
9531 (syms_of_process): Defsubr it.
9532 (list_processes_1): Use it to format :local/:remote address if
9533 service/host is not set; before Emacs would crash in that case.
9534 (Fmake_network_process): Don't use Ffind_operation_coding_system
9535 to setup coding system if host or service is not set.
9536
9537 2002-10-23 Juanma Barranquero <lektu@terra.es>
9538
9539 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
9540
9541 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
9542 COLORREF.
9543
9544 * macgui.h:
9545 * w32gui.h: Add definition of XColor.
9546
9547 * macfns.c:
9548 * w32fns.c:
9549 * xfaces.c: Remove definition of XColor.
9550
9551 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
9552
9553 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
9554
9555 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
9556 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
9557 window if it is dedicated.
9558 (Fshrink_window): Add preserve_before as was done for enlarge_window.
9559 (Vspecial_display_function): Update docstring.
9560
9561 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
9562 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
9563 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
9564
9565 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
9566
9567 * casefiddle.c (casify_region): Don't treat a prefix char as part
9568 of a word when at the beginning.
9569
9570 2002-10-17 Juanma Barranquero <lektu@terra.es>
9571
9572 * lread.c (syms_of_lread): Fix typos.
9573
9574 2002-10-17 Dave Love <fx@gnu.org>
9575
9576 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
9577
9578 2002-10-16 Richard M. Stallman <rms@gnu.org>
9579
9580 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
9581
9582 2002-10-14 Juanma Barranquero <lektu@terra.es>
9583
9584 * w16select.c (syms_of_win16select): Fix docstring for
9585 `selection-coding-system'.
9586
9587 * w32select.c (syms_of_w32select): Likewise.
9588
9589 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
9590
9591 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
9592 a backslash-quoted char.
9593 (scan_lists, scan_sexps_forward): Pacify the compiler.
9594
9595 2002-10-13 Richard M. Stallman <rms@gnu.org>
9596
9597 * window.c (window_scroll): Set immediate_quit.
9598
9599 * print.c (print): When backquote form is the car of a list,
9600 output in old style. Use old_backquote_output to output all
9601 comma forms inside it in old style too.
9602
9603 * buffer.h (struct buffer): Move `undo_list' down below `name'.
9604
9605 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
9606
9607 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
9608 batch mode).
9609
9610 * lread.c (Fload): Doc fix (load-suffixes).
9611
9612 2002-10-10 Steven Tamm <steventamm@mac.com>
9613
9614 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
9615 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
9616 Also switch the default to Qnil from Qt.
9617
9618 2002-10-08 Kenichi Handa <handa@m17n.org>
9619
9620 * coding.c (code_convert_region): When we need more GAP for
9621 conversion, pay attention to the case that coding->produced is not
9622 greater than coding->consumed.
9623
9624 2002-10-07 Richard M. Stallman <rms@gnu.org>
9625
9626 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
9627
9628 2002-10-06 Andrew Choi <akochoi@shaw.ca>
9629
9630 * macmenu.c (mac_menu_show): Add j to count menu items; match
9631 menu_item_selection to it to find selected item.
9632
9633 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9634
9635 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
9636 cases. The correct fix is to pass ReparentNotify to Xt.
9637 The shell widget interprets ConfigureNotify differently depending
9638 on if it has been reparented or not.
9639
9640 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
9641
9642 * editfns.c (Fformat_time_string): Doc fix.
9643
9644 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
9645
9646 * fns.c (Flength): Doc fix.
9647
9648 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
9649
9650 * keyboard.c (keyremap): New struct.
9651 (read_key_sequence): Use it: globally replace keytran_foo with
9652 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
9653 keytran_next and fkey_next to just `next'.
9654
9655 2002-10-04 Steven Tamm <steventamm@mac.com>
9656
9657 * macterm.c (keycode_to_xkeysym_table): Change return to be
9658 treated like an X keysym.
9659
9660 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9661
9662 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
9663 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
9664 This is to also handle x/y changes that occur because of a resize.
9665
9666 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
9667
9668 * frame.c (Vdelete_frame_functions): New variable.
9669 (syms_of_frame): Initialize and defvar it.
9670 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
9671 it when frame's `tooltip' parameter is non-nil.
9672
9673 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
9674
9675 * w32fns.c (x_create_tip_frame): Likewise.
9676
9677 * macfns.c (x_create_tip_frame): Likewise.
9678
9679 2002-09-30 Kenichi Handa <handa@m17n.org>
9680
9681 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
9682 -1 before calling ccl_driver.
9683
9684 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
9685 Only when it is non-nil, handle composition sequence.
9686 (setup_coding_system) <0>: Don't force composition handling.
9687
9688 * Makefile.in (lisp, shortlisp): Add utf-16.elc
9689
9690 2002-09-29 Richard M. Stallman <rms@gnu.org>
9691
9692 * search.c (Freplace_match): Adjust match data for the substitution
9693 just made in the buffer.
9694
9695 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
9696 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
9697
9698 2002-09-27 Richard M. Stallman <rms@gnu.org>
9699
9700 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
9701 (read_char): Use them. Do all exits thru the end of the function.
9702
9703 2002-09-27 Kenichi Handa <handa@etl.go.jp>
9704
9705 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
9706 is nil.
9707
9708 2002-09-26 Richard M. Stallman <rms@gnu.org>
9709
9710 * regex.h (__restrict_arr): Don't define if already defined.
9711
9712 * coding.c (run_pre_post_conversion_on_str):
9713 Save and restore Vdeactivate_mark.
9714
9715 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
9716
9717 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
9718
9719 2002-09-26 Kenichi Handa <handa@etl.go.jp>
9720
9721 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
9722 nonzero, try face's family at first. Otherwise try FAMILY at first.
9723 (choose_face_font): If C is a single byte char or latin-1, call
9724 try_font_list with PREFER_FACE_FAMILY 1.
9725
9726 2002-09-21 Richard M. Stallman <rms@gnu.org>
9727
9728 * window.c (select_window_1): Don't select frame.
9729 Set frame's selected window only when frame itself is selected.
9730 (Fselect_window): Doc fix.
9731
9732 2002-09-18 Kim F. Storm <storm@cua.dk>
9733
9734 * process.c (make-network-process): Doc fix (there is no
9735 network-server-log-function hook).
9736
9737 2002-09-18 Richard M. Stallman <rms@gnu.org>
9738
9739 * print.c (print): Clear out the unused parts of Vprint_number_table.
9740 (syms_of_print): Doc fix for `print-number-table'.
9741
9742 * unexelf.c (unexec): Undo previous change.
9743
9744 2002-09-17 Andreas Schwab <schwab@suse.de>
9745
9746 * m/alpha.h [LINUX]: Don't define DATA_START.
9747
9748 2002-09-16 Dave Love <fx@gnu.org>
9749
9750 * unexelf.c (unexec): Deal with .got, reinstating change from
9751 25-08-1999.
9752
9753 2002-09-13 Richard M. Stallman <rms@gnu.org>
9754
9755 * s/sol2-6.h (UNEXEC): Comment out definition.
9756
9757 * unexsol.c (unexec): Don't downcase first letter of error msg.
9758
9759 * xfaces.c (Fcolor_supported_p): Just one arg is required.
9760
9761 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
9762
9763 * unexsol.c: Include buffer.h, charset.h, coding.h.
9764
9765 2002-09-11 Richard M. Stallman <rms@gnu.org>
9766
9767 * unexsol.c: Don't use report_file_error; do it by hand
9768 using dlerror.
9769
9770 * process.c (wait_reading_process_input, both versions):
9771 Before calling turn_on_atimers, call stop_polling.
9772
9773 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
9774
9775 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
9776 we go to too_near_end, call clear_glyph_matrix.
9777 (redisplay_window): After make_cursor_line_fully_visible,
9778 call clear_glyph_matrix and bypass `goto done'.
9779
9780 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
9781 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
9782
9783 2002-09-10 Richard M. Stallman <rms@gnu.org>
9784
9785 * fileio.c (Fdo_auto_save): Catch error making directory.
9786 Only call push_message if we need to.
9787 At the same time, make an unwind-protect to pop it.
9788 Rename local message_p to old_message_p.
9789 (do_auto_save_make_dir, do_auto_save_eh): New functions.
9790 (do_auto_save_unwind): Don't call pop_message.
9791
9792 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
9793
9794 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
9795
9796 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
9797
9798 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
9799
9800 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
9801
9802 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
9803 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
9804 (re_match_2_internal): Be more careful with infinite loops.
9805
9806 2002-09-10 Kim F. Storm <storm@cua.dk>
9807
9808 * macros.c (end_kbd_macro): New function.
9809 (Fend_kbd_macro): Use it.
9810
9811 * macros.h (end_kbd_macro): Declare extern.
9812
9813 * keyboard.c (Fdiscard_input): If defining keyboard macro,
9814 end and save it instead of discarding it.
9815
9816 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
9817
9818 * s/sol2-6.h: Fix typo. Add comment.
9819
9820 2002-09-09 Richard M. Stallman <rms@gnu.org>
9821
9822 * regex.c (regnum_t): Use signed int, not unsigned int.
9823
9824 * s/sol2-6.h: New file.
9825
9826 * s/sol2-5.h (UNEXEC): Definition deleted.
9827
9828 2002-09-08 Kim F. Storm <storm@cua.dk>
9829
9830 * macros.c (executing_macro_index): Change type to EMACS_INT.
9831 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
9832
9833 * macros.h (executing_macro_index): Change type to EMACS_INT.
9834
9835 2002-09-06 Richard M. Stallman <rms@gnu.org>
9836
9837 * casetab.c (set_case_table): Make canon table point to eqv table.
9838
9839 2002-09-06 Juanma Barranquero <lektu@terra.es>
9840
9841 * coding.c (syms_of_coding): Fix spacing.
9842
9843 * composite.c (Fcompose_region_internal)
9844 (Fcompose_string_internal): Likewise.
9845
9846 * data.c (Flsh): Likewise.
9847
9848 * fontset.c (Fset_fontset_font): Likewise.
9849
9850 * macfns.c (Fx_server_max_request_size): Likewise.
9851
9852 * w16select.c (syms_of_win16select): Likewise.
9853
9854 * w32select.c (syms_of_w32select): Likewise.
9855
9856 * xselect.c (syms_of_xselect): Likewise.
9857
9858 2002-09-05 Richard M. Stallman <rms@gnu.org>
9859
9860 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
9861 call EXTEND_RANGE_TABLE and return a proper value.
9862 (set_image_of_range): Don't call set_image_of_range_1
9863 if no TRANSLATE or if range includes all of Latin-1.
9864 Only call it for the Latin-1 part of the range.
9865 For other cases, make two separate ranges,
9866 one for the original specified characters and one for
9867 their case-conversions.
9868
9869 2002-09-04 Richard M. Stallman <rms@gnu.org>
9870
9871 * s/sol2-5.h (UNEXEC): Use unexsol.o.
9872
9873 * window.c (displayed_window_lines): Correct for one-off bug
9874 in HEIGHT on non-window displays.
9875
9876 * regex.c (set_image_of_range_1): New function.
9877 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
9878 Return a value to indicate running out of memory.
9879 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
9880 (extend_range_table_work_area): New subroutine.
9881 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
9882 Different calling conventions, and used from set_image_of_range{,_1}.
9883 (IMMEDIATE_QUIT_CHECK): Definitions moved.
9884
9885 2002-09-04 Juanma Barranquero <lektu@terra.es>
9886
9887 * makefile.w32-in: All dependencies updated.
9888
9889 2002-09-01 Richard M. Stallman <rms@gnu.org>
9890
9891 * unexsol.c: New file.
9892
9893 * xfns.c (Qbox): Declare external, don't define.
9894
9895 * xdisp.c (redisplay_window) <force-start case>:
9896 If point is on semi-visible last line, reposition
9897 it at previous line.
9898
9899 * alloc.c (display_malloc_warning): Use display-warning.
9900 (malloc_warning_1): Function deleted.
9901
9902 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
9903
9904 * lread.c (read1): Handle #! by skipping the line.
9905
9906 2002-08-31 Richard M. Stallman <rms@gnu.org>
9907
9908 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
9909 Don't include LDFLAGS.
9910 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
9911
9912 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
9913
9914 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
9915 member of x_display_info unless we compile for some window system.
9916
9917 2002-08-31 Kim F. Storm <storm@cua.dk>
9918
9919 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
9920 (get_window_cursor_type): Don't use them.
9921 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
9922
9923 2002-08-30 Kenichi Handa <handa@etl.go.jp>
9924
9925 * xdisp.c (get_next_display_element): Fix previous change.
9926
9927 2002-08-30 Andrew Choi <akochoi@shaw.ca>
9928
9929 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
9930 (expose_window): Use it to fix the display of overlapping
9931 rows (merge code from xterm.c).
9932
9933 * macfns.c (Qbox): Add extern declaration.
9934
9935 2002-08-30 Juanma Barranquero <lektu@terra.es>
9936
9937 * w32fns.c (Qbox): Make extern.
9938 (syms_of_w32fns): Remove initialization of Qbox.
9939
9940 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
9941
9942 * xfns.c (Fx_open_connection): Fix error message.
9943
9944 2002-08-30 Kim F. Storm <storm@cua.dk>
9945
9946 The following changes consolidates the handling of the cursor
9947 type in xdisp.c, moving duplicate code and functionality from
9948 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
9949
9950 * frame.h (enum text_cursor_kinds): Consolidated here.
9951 Added DEFAULT_CURSOR value.
9952 (struct frame) <desired_cursor, cursor_width>
9953 <blink_off_cursor, blink_off_cursor_width>: New fields.
9954 Consolidated from output_x, output_w32 and output_mac structs.
9955 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
9956 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
9957
9958 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
9959 Variables consolidated here.
9960 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
9961 (Vcursor_in_non_selected_windows): Renamed from
9962 cursor_in_non_selected_windows and changed to Lisp_Object.
9963 (syms_of_xdisp): Define and staticpro new and moved variables.
9964 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
9965 consolidated here. Recognize Qhollow setting.
9966 (set_frame_cursor_types): New function to set frame cursor types
9967 based on the frame parameters.
9968 (get_window_cursor_type): New function to calculate new cursor
9969 type and width for the specified window. Based on duplicated
9970 code consolidated here.
9971 Enhancements: cursor-in-non-selected-windows may be a cursor type,
9972 check buffer-local alternate-cursor-type and blink-cursor-alist
9973 before using built-in blink off methods.
9974
9975 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
9976
9977 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
9978 (get_specified_cursor_type, get_window_cursor_type)
9979 (set_frame_cursor_types): Added prototypes.
9980
9981 * macfns.c (x_specified_cursor_type): Removed.
9982 (x_set_cursor_type): Use set_frame_cursor_types.
9983 (Qbar, Qbox): Removed.
9984 (syms_of_macfns): Don't intern or staticpro them.
9985
9986 * macterm.c (x_specified_cursor_type): Remove prototype.
9987 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
9988 (x_display_and_set_cursor): Use get_window_cursor_type.
9989 Remove unused local variables cursor_non_selected, active_cursor.
9990 Redraw cursor if hbar cursor width changes.
9991 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
9992
9993 * macterm.h (enum text_cursor_kinds): Removed.
9994 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
9995 <blink_off_cursor, blink_off_cursor_width>: Members removed.
9996 (FRAME_DESIRED_CURSOR): Macro removed.
9997
9998 * w32fns.c (Vblink_cursor_alist): Removed.
9999 (Qbar, Qhbar, Qbox, Qhollow): Removed.
10000 (syms_of_w32fns): Don't intern, staticpro, or define them.
10001 (x_specified_cursor_type): Removed.
10002 (x_set_cursor_type): Use set_frame_cursor_types.
10003
10004 * w32term.c (x_specified_cursor_type): Remove prototype.
10005 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
10006 (x_display_and_set_cursor): Use get_window_cursor_type.
10007 Remove unused local variables cursor_off_state.
10008 Redraw cursor if hbar cursor width changes.
10009 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
10010
10011 * w32term.h (enum text_cursor_kinds): Removed.
10012 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
10013 <blink_off_cursor, blink_off_cursor_width>: Members removed.
10014 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
10015 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
10016 (struct w32_display_info) <x_highlight_frame>: Renamed member from
10017 w32_highlight_frame.
10018
10019 * xfns.c (Vblink_cursor_alist): Removed.
10020 (Qbar, Qhbar, Qbox, Qhollow): Removed.
10021 (syms_of_xfns): Don't intern, staticpro, or define them.
10022 (x_specified_cursor_type): Removed.
10023 (x_set_cursor_type): Use set_frame_cursor_types.
10024
10025 * xterm.c (x_specified_cursor_type): Remove prototype.
10026 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
10027 (x_display_and_set_cursor): Use get_window_cursor_type.
10028 Remove unused local variables cursor_off_state.
10029 Redraw cursor if hbar cursor width changes.
10030
10031 * xterm.h (enum text_cursor_kinds): Removed.
10032 (struct output_x) <current_cursor, desired_cursor, cursor_width>
10033 <blink_off_cursor, blink_off_cursor_width>: Members removed.
10034 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
10035 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
10036 (x_specified_cursor_type): Remove prototype.
10037
10038 2002-08-28 Richard M. Stallman <rms@gnu.org>
10039
10040 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
10041 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
10042 (Vblink_cursor_alist): New variable.
10043 (syms_of_w32fns): Initialize and defvar it.
10044 (x_specified_cursor_type): Recognize Qbox for filled box.
10045 Exceptions are hollow boxes.
10046 (Qbox, Qhollow): New variables.
10047 (syms_of_w32fns): Initialize and staticpro them.
10048
10049 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
10050 New macros.
10051 (struct w32_output): New fields blink_off_cursor,
10052 blink_off_cursor_width.
10053 (FRAME_CURSOR_WIDTH): New macro.
10054
10055 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
10056 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
10057
10058 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
10059 for bar cursor.
10060
10061 * w32term.c (expose_overlaps): New function.
10062 (expose_window): Use it to fix the display of overlapping rows.
10063
10064 2002-08-28 Simon Josefsson <jas@extundo.com>
10065
10066 * xfns.c (Fx_open_connection): Improve help when X connection
10067 fails, xhost is insecure and xauth is better.
10068
10069 2002-08-28 Juanma Barranquero <lektu@terra.es>
10070
10071 * makefile.w32-in: Add missing dependencies on w32term.h and
10072 composite.h.
10073
10074 * emacs.c (USAGE1): Add missing newline.
10075
10076 2002-08-27 Andrew Choi <akochoi@shaw.ca>
10077
10078 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
10079
10080 2002-08-27 Richard M. Stallman <rms@gnu.org>
10081
10082 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
10083 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
10084 (Vblink_cursor_alist): New variable.
10085 (syms_of_xfns): Initialize and defvar it.
10086 (x_specified_cursor_type): Recognize Qbox for filled box.
10087 Exceptions are hollow boxes.
10088 (Qbox, Qhollow): New variables.
10089 (syms_of_xfns): Initialize and staticpro them.
10090
10091 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
10092 New macros.
10093 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
10094
10095 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
10096 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
10097
10098 * emacs.c (main): Handle --script.
10099 (USAGE1): Mention --script.
10100 (standard_args): Define sort order for --script.
10101
10102 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
10103
10104 * xdisp.c (redisplay_updating_p): Variable removed.
10105 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
10106 New variables.
10107 (init_iterator): Don't free realized faces if
10108 inhibit_free_realized_faces is set.
10109 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
10110 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
10111 initialize Qinhibit_free_realized_faces.
10112
10113 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
10114 when iterator is adding glyphs to a glyph matrix.
10115
10116 2002-08-27 Kenichi Handa <handa@etl.go.jp>
10117
10118 * xdisp.c (get_next_display_element): In unibyte case, don't use
10119 octal form for such eight-bit characters that can be converted to
10120 multibyte char.
10121
10122 2002-08-26 Kim F. Storm <storm@cua.dk>
10123
10124 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize foreground
10125 and background colors. From Joe Buehler (tiny change).
10126
10127 2002-08-26 Miles Bader <miles@gnu.org>
10128
10129 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
10130
10131 2002-08-25 Andrew Choi <akochoi@shaw.ca>
10132
10133 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
10134 defined instead of MAC_OSX.
10135
10136 * s/darwin.h (select): Define select to sys_select only if
10137 HAVE_CARBON is defined.
10138 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
10139 (DONT_REOPEN_PTY): #def it.
10140
10141 * macterm.c (XTread_socket): Remove code to call
10142 SendEventToEventTarget for keys with command modifiers when
10143 mac_command_key_is_meta is nil.
10144
10145 2002-08-24 Andreas Schwab <schwab@suse.de>
10146
10147 * eval.c (Fdefvar): Fix last change.
10148
10149 2002-08-23 Richard M. Stallman <rms@gnu.org>
10150
10151 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
10152 Record variables in load history as (defvar . VAR).
10153 (Fdefvar): Don't record in load history if no initial value.
10154 (Qdefvar): New variable.
10155 (syms_of_eval): Init and staticpro it.
10156
10157 * lread.c (syms_of_lread): Doc fix.
10158 (build_load_history): Use Fmember to see if a definition
10159 is already in the Vload_history element.
10160
10161 * process.c (Fstart_process): Remove /: from program name.
10162
10163 * emacs.c (decode_env_path): Don't add /: if file name handler
10164 has a `safe-magic' property.
10165
10166 * callproc.c (Fcall_process): Remove /: from program name.
10167
10168 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
10169
10170 * regex.c (PATFETCH): Remove the translating fetch.
10171 (PATFETCH_RAW): Rename to PATFETCH.
10172 (set_image_of_range): New fun.
10173 (SET_RANGE_TABLE_WORK_AREA): Use it.
10174 (regex_compile): Don't translate the pattern chars so eagerly.
10175 Only do it when inserting an `exactn' bytecode or when handling
10176 a char-range.
10177 (mutually_exclusive_p): Avoid empty statement.
10178
10179 2002-08-22 Kim F. Storm <storm@cua.dk>
10180
10181 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
10182 end up on a partially visible line; this reverts a specific part
10183 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
10184 display error which has been reported several times now.
10185 However it introduces the problem that changes was supposed to fix.
10186 See my comments in the source if you want to debug this further.
10187
10188 2002-08-20 Kenichi Handa <handa@etl.go.jp>
10189
10190 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
10191
10192 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
10193
10194 * msdos.c (croak): Add `void' to definition.
10195
10196 * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]:
10197 Don't define them, they are defined in msdos.c.
10198
10199 * mem-limits.h [MSDOS]: Declare etext.
10200
10201 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
10202 `const' since CORRECT_DIR_SEPS modifies its target.
10203
10204 2002-08-19 Kim F. Storm <storm@cua.dk>
10205
10206 * keyboard.c (Fclear_this_command_keys): Add optional arg
10207 KEEP-RECORD to avoid clearing lossage when we just want to clear
10208 the current key sequence (kmacro needs this).
10209
10210 2002-08-19 Kenichi Handa <handa@localhost>
10211
10212 * composite.c (run_composition_function): Call FUNC if it is fboundp.
10213
10214 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
10215 cons, return Qnil.
10216
10217 2002-08-17 Richard M. Stallman <rms@gnu.org>
10218
10219 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
10220
10221 * sysdep.c [!VMS]: Include sys/files.h.
10222
10223 * editfns.c (save_restriction_restore): Defend from unchained marker.
10224
10225 * buffer.c (overlays_at): Handle extending vec uniformly.
10226 (overlays_in): Handle extending vec from length 0 as in overlays_at.
10227
10228 2002-08-15 Andrew Choi <akochoi@shaw.ca>
10229
10230 * mac.c (init_mac_osx_environment): New function.
10231
10232 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
10233
10234 2002-08-14 Kim F. Storm <storm@cua.dk>
10235
10236 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
10237 executing macro before appending to it (when used from Lisp).
10238 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
10239 which is called prior to each iteration of macro (for kmacro.el).
10240 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
10241
10242 * lisp.h (Fexecute_kbd_macro): Update prototype.
10243
10244 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
10245
10246 2002-08-14 Kenichi Handa <handa@etl.go.jp>
10247
10248 * xselect.c (QUTF8_STRING): New variable.
10249 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
10250 (x_atom_to_symbol): Likewise.
10251 (x_get_local_selection): New argument local_request. If it is
10252 nonzero, call handler_fn with the second arg nil.
10253 (x_handle_selection_request): Call x_get_local_selection with
10254 local_request 0.
10255 (lisp_data_to_selection_data): Don't encode the string here.
10256 (Fx_get_selection_internal): Call x_get_local_selection with
10257 local_request 1.
10258 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
10259
10260 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
10261
10262 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
10263
10264 2002-08-13 Richard M. Stallman <rms@gnu.org>
10265
10266 * minibuf.c (Fminibufferp): New function.
10267 (syms_of_minibuf): Defsubr it.
10268 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
10269
10270 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
10271
10272 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
10273
10274 2002-08-12 Richard M. Stallman <rms@gnu.org>
10275
10276 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
10277 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
10278 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
10279 already.
10280
10281 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
10282
10283 2002-08-11 Andrew Choi <akochoi@shaw.ca>
10284
10285 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
10286 (Vmac_pass_command_to_system): New variable.
10287 (Vmac_pass_control_to_system): New variable.
10288 (do_mouse_moved): Check wp with is_emacs_window.
10289 (XTread_socket): Check window_ptr with is_emacs_window.
10290 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
10291 events back to Mac Toolbox for processing, depending on values of
10292 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
10293 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
10294 Vmac_pass_control_to_system.
10295
10296 2002-08-10 Kenichi Handa <handa@etl.go.jp>
10297
10298 * coding.c (unencodable_char_position): New function.
10299 (Funencodable_char_position): New function.
10300 (syms_of_coding): Defsubr Funencodable_char_position.
10301
10302 2002-08-10 Andrew Choi <akochoi@shaw.ca>
10303
10304 * mac.c (sys_select) [MAC_OSX]: New function.
10305
10306 * macterm.c (MakeMeTheFrontProcess): New function.
10307 (mac_initialize): Call MakeMeTheFrontProcess.
10308
10309 * s/darwin.h: Define select to sys_select.
10310
10311 2002-08-09 Richard M. Stallman <rms@gnu.org>
10312
10313 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
10314
10315 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
10316
10317 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
10318 end of the buffer.
10319
10320 2002-08-08 Ken Raeburn <raeburn@mit.edu>
10321
10322 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
10323
10324 * puresize.h (BASE_PURESIZE): Increase to 910000.
10325
10326 2002-08-08 Kenichi Handa <handa@etl.go.jp>
10327
10328 * coding.c (Ffind_operation_coding_system): For write-region, if
10329 VISIT is a filename, make it the target.
10330
10331 2002-08-07 Richard M. Stallman <rms@gnu.org>
10332
10333 * alloc.c (mark_object): Detect long lists for debugging.
10334 (mark_object_loop_halt): New variable.
10335
10336 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
10337
10338 * data.c (Fmake_variable_frame_local): Doc fix.
10339
10340 2002-08-01 David Ponce <david@dponce.com>
10341
10342 * w32menu.c (local_heap, local_alloc, local_free): New macros.
10343 (malloc_widget_value, free_widget_value)
10344 (w32_free_submenu_strings): Use them.
10345
10346 (push_submenu_start, push_submenu_end, push_left_right_boundary)
10347 (push_menu_pane, push_menu_item, single_keymap_panes)
10348 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
10349 (single_submenu, set_frame_menubar)
10350 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
10351
10352 (Fx_popup_menu): Don't show pop up menu until preceding one is
10353 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
10354
10355 * w32menu.c: Changes adapted from xmenu.c
10356 (set_frame_menubar): First parse all submenus,
10357 then make widget_value trees from them.
10358 Don't allocate any widget_value objects
10359 until we are done with the parsing.
10360 (parse_single_submenu): New function.
10361 (digest_single_submenu): New function.
10362 (single_submenu): Function deleted, replaced by those two.
10363
10364 2002-08-04 Andrew Choi <akochoi@shaw.ca>
10365
10366 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
10367 returns a valid window pointer before proceeding for keyDown and
10368 autoKey events.
10369
10370 2002-08-03 Andrew Choi <akochoi@shaw.ca>
10371
10372 * macterm.c (USE_CARBON_EVENTS): New macro.
10373 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
10374 (x_iconify_frame): Call CollapseWindow.
10375 (Vmac_reverse_ctrl_meta): New variable.
10376 (Vmac_wheel_button_is_mouse_2): New variable.
10377 (init_mac_drag_n_drop): New function.
10378 (mac_do_receive_drag): New function.
10379 (mac_handle_service_event): New function.
10380 (init_service_handler): New function.
10381 (mac_to_emacs_modifiers): New function.
10382 (mac_event_to_emacs_modifiers): New function.
10383 (mac_get_mouse_btn): New function.
10384 (mac_convert_event_ref): New function.
10385 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
10386 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
10387 mac_get_mouse_btn.
10388 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
10389
10390 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
10391 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
10392 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
10393 TOOL_BAR_EVENT for MAC_OS as well.
10394 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
10395 as for WINDOWS_NT.
10396 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
10397
10398 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
10399
10400 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
10401
10402 * xdisp.c (forward_to_next_line_start): Fix a condition that
10403 lead to a newline being skipped.
10404
10405 2002-08-02 Andrew Choi <akochoi@shaw.ca>
10406
10407 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
10408
10409 2002-08-01 Richard M. Stallman <rms@gnu.org>
10410
10411 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
10412
10413 2002-07-31 Andrew Choi <akochoi@shaw.ca>
10414
10415 * macfns.c: #undef init_process before #define-ing it.
10416
10417 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
10418 HAVE_CARBON is defined.
10419
10420 2002-07-31 Richard M. Stallman <rms@gnu.org>
10421
10422 * xmenu.c (set_frame_menubar): First parse all submenus,
10423 then make widget_value trees from them.
10424 Don't allocate any widget_value objects
10425 until we are done with the parsing.
10426 (parse_single_submenu): New function.
10427 (digest_single_submenu): New function.
10428 (single_submenu): Function deleted, replaced by those two.
10429
10430 2002-07-30 Juanma Barranquero <lektu@terra.es>
10431
10432 * w32proc.c (syms_of_ntproc): Fix docstring of
10433 `w32-get-true-file-attributes'.
10434
10435 2002-07-28 Richard M. Stallman <rms@gnu.org>
10436
10437 * s/hpux8.h (HPUX8): Define this before including hpux.h.
10438 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
10439
10440 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
10441
10442 * keyboard.c (make_lispy_event):
10443 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
10444 Explicitly clear up_modifier in event->modifiers.
10445
10446 2002-07-27 Richard M. Stallman <rms@gnu.org>
10447
10448 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
10449
10450 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
10451 for bar cursor.
10452
10453 2002-07-26 Kenichi Handa <handa@etl.go.jp>
10454
10455 * coding.c (detect_coding_iso2022): While checking a byte sequence
10456 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
10457 it in the normal loop.
10458
10459 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
10460
10461 * xterm.c (expose_overlaps): New function.
10462 (expose_window): Use it to fix the display of overlapping rows.
10463
10464 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
10465
10466 2002-07-23 Ken Raeburn <raeburn@gnu.org>
10467
10468 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
10469 since it only depends on XUINT.
10470
10471 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
10472 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
10473 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
10474 Macros deleted.
10475
10476 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
10477 its value over other approaches.
10478 * sysdep.c (start_of_data): Don't define the function if a macro
10479 form has been defined.
10480
10481 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
10482
10483 * xdisp.c (redisplay_updating_p): New variable.
10484 (init_iterator): Don't free realized faces when
10485 redisplay_updating_p is set.
10486 (redisplay_internal): Set redisplay_updating_p while updating
10487 the display.
10488
10489 2002-07-23 Richard M. Stallman <rms@gnu.org>
10490
10491 * editfns.c (Fmessage): Treat "" like nil.
10492
10493 2002-07-23 Kenichi Handa <handa@etl.go.jp>
10494
10495 * xdisp.c (face_before_or_after_it_pos):
10496 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
10497
10498 2002-07-22 Juanma Barranquero <lektu@terra.es>
10499
10500 * callproc.c (init_callproc) [DOS_NT]:
10501 Initialize Vshared_game_score_directory to nil.
10502 (syms_of_callproc) [DOS_NT]: Likewise.
10503
10504 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
10505
10506 * xdisp.c (display_line): Replace an abort with xassert.
10507
10508 2002-07-21 Richard M. Stallman <rms@gnu.org>
10509
10510 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
10511 and END_UNCHANGED when setting buffer_unchanged_p.
10512 Use current_matrix_up_to_date_p to decide whether to use
10513 try_cursor_movement.
10514
10515 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
10516
10517 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
10518
10519 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
10520 Set to nil if dir does not exist.
10521 (syms_of_callproc): Init unconditionally and simply.
10522
10523 * buffer.c (Fbuffer_list): Doc fix.
10524
10525 2002-07-21 Ken Raeburn <raeburn@gnu.org>
10526
10527 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
10528
10529 * buffer.c (mmap_realloc): When shrinking, make sure number of
10530 pages to unmap is rounded towards zero.
10531
10532 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
10533 (XSETINT): Deleted.
10534
10535 * m/att3b.h (XINT): Don't define.
10536 (VALBITS, VALMASK, XTYPE): Deleted.
10537 (DATA_SEG_BITS): Define.
10538 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
10539 ARRAY_MARK_FLAG): Deleted.
10540 (DATA_SEG_BITS): Define.
10541 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
10542 (DATA_SEG_BITS): Define.
10543
10544 2002-07-20 Richard M. Stallman <rms@gnu.org>
10545
10546 * print.c (print_error_message): New args CONTEXT and CALLER.
10547 Calls changed.
10548
10549 * lisp.h (print_error_message): Declare new args.
10550
10551 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
10552 and CONTEXT to print_error_message, don't print them here.
10553 For a Quit, don't use Vsignaling_function.
10554 Call message_log_maybe_newline.
10555
10556 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
10557
10558 2002-07-20 Kim F. Storm <storm@cua.dk>
10559
10560 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
10561
10562 2002-07-19 Ken Raeburn <raeburn@gnu.org>
10563
10564 * bytecode.c (struct byte_stack): Pointers into byte string now
10565 point to const.
10566 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
10567 const.
10568 * charset.h (BCOPY_SHORT): Source pointer now points to const.
10569 * coding.c (encode_eol, detect_coding, detect_eol):
10570 (decode_coding, encode_coding, detect_coding_system):
10571 Source strings now treated as const.
10572 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
10573 modify Lisp string contents.
10574 * coding.h (decode_coding, encode_coding, detect_coding,
10575 detect_eol): Declarations updated.
10576 * composite.c (compose_chars_in_text): Treat Lisp string contents
10577 as const.
10578 * dispnew.c (safe_bcopy): Source pointer now points to const.
10579 * lisp.h (STRING_COPYIN): New macro.
10580 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
10581 (internal_with_output_to_temp_buffer): Declarations updated.
10582 * print.c (temp_output_buffer_setup):
10583 (internal_with_output_to_temp_buffer): Buffer name argument is now
10584 pointer to const.
10585 * sound.c (struct sound_device): Function pointer field "write"
10586 buffer argument now points to const.
10587 (vox_write): Buffer argument points to const.
10588 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
10589 contents as const.
10590 * sysdep.c (emacs_write): Buffer pointer now const.
10591 * term.c (encode_terminal_code): Buffer pointer now const.
10592 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
10593 (x_face_list_fonts, x_update_menu_appearance):
10594 (hash_string_case_insensitive): Treat Lisp string contents as const.
10595
10596 2002-07-19 Juanma Barranquero <lektu@terra.es>
10597
10598 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
10599
10600 * fileio.c (syms_of_fileio): Likewise.
10601 (Ffile_name_as_directory): Fix argument name in docstring.
10602 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
10603
10604 2002-07-18 Richard M. Stallman <rms@gnu.org>
10605
10606 * data.c (Fdefalias): Doc fix.
10607
10608 2002-07-17 Dave Love <fx@gnu.org>
10609
10610 * intervals.h (text_property_stickiness): Use P_.
10611
10612 * ccl.c: Remove `emacs' conditionals.
10613 (ccl_backtrace_table): Fix size spec.
10614 (ccl_driver): Fix type errors.
10615
10616 2002-07-16 Ken Raeburn <raeburn@gnu.org>
10617
10618 * alloc.c (xstrdup, make_string, make_unibyte_string)
10619 (make_multibyte_string, build_string): String pointer args now
10620 point to const.
10621 * charset.c (find_charset_in_text, c_string_width):
10622 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
10623 * fileio.c (report_file_error):
10624 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
10625 (count_combining_before, count_combining_after, insert_1_both):
10626 (insert, insert_and_inherit, insert_string):
10627 (insert_before_markers, insert_before_markers_and_inherit):
10628 * lread.c (intern, oblookup, hash_string):
10629 * minibuf.c (temp_echo_area_glyphs):
10630 * search.c (fast_c_string_match_ignore_case):
10631 * sysdep.c (emacs_open, set_file_times):
10632 * xfaces.c (xstricmp):
10633 * xdisp.c (store_frame_title, string_char_and_length):
10634 (message_dolog, message2, message2_nolog, set_message): Likewise.
10635 (set_message_1): Cast message string argument to const pointer.
10636 * editfns.c (general_insert_function): Insertion function now
10637 takes pointer to const for input data.
10638 * charset.h (find_charset_in_text, c_string_width):
10639 (parse_str_as_multibyte): Declarations updated.
10640 * dispextern.h (xstricmp): Declaration updated.
10641 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
10642 (count_size_as_multibyte, count_combining_before):
10643 (count_combining_after, insert_1, insert_1_both, message_dolog):
10644 (insert, insert_and_inherit, insert_before_markers)
10645 (insert_before_markers_and_inherit, set_message, message2):
10646 (message2_dolog, build_string, make_string, make_unibyte_string):
10647 (make_multibyte_string, intern, oblookup, report_file_error):
10648 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
10649 (emacs_open, xstrdup): Declarations updated.
10650 * systime.h (set_file_times): Declaration updated.
10651
10652 * charset.c (find_charset_in_text, lisp_string_width): Use const
10653 for pointer to lisp string data.
10654 * charset.h (FETCH_STRING_CHAR_ADVANCE):
10655 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
10656 * coding.c (Ffind_coding_systems_region_interval):
10657 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
10658 (Fmake_directory_internal, Fdelete_directory):
10659 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
10660 * fontset.c (font_family_registry, fs_query_fontset):
10661 (list_fontsets):
10662 * frame.c (Fframe_parameter):
10663 * keyboard.c (cmd_error_internal):
10664 * keymap.c (Fdescribe_buffer_bindings):
10665 * lread.c (complete_filename_p, openp):
10666 * minibuf.c (Fminibuffer_complete_word):
10667 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
10668 (face_before_or_after_it_pos, next_element_from_string):
10669 (get_overlay_arrow_glyph_row, display_mode_element):
10670 (decode_mode_spec_coding):
10671 * xterm.c (same_x_server): Likewise.
10672
10673 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
10674 settings of non-existent fields.
10675
10676 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
10677 copy a lisp value.
10678
10679 * lread.c (Fintern_soft): Use string macros instead of
10680 Lisp_String fields.
10681 * keyboard.c (echo_char, parse_modifiers_uncached):
10682 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
10683 * textprop.c (validate_interval_range, interval_of): Likewise.
10684
10685 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
10686
10687 * charset.h (FETCH_STRING_CHAR_ADVANCE)
10688 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
10689 XSTRING()->size_byte.
10690
10691 * lisp.h (SDATA, SREF): Produce rvalue.
10692 (SSET): New macro.
10693 * alloc.c (make_event_array): Use SSET for storing into a string.
10694 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
10695 a string.
10696 * casefiddle.c (casify_object): Use SSET.
10697 * charset.h (FETCH_STRING_CHAR_ADVANCE)
10698 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
10699 address of string contents.
10700 * data.c (Faref): Use SDATA.
10701 (Faset): Use SDATA, SSET.
10702 * dired.c (directory_files_internal): Use SSET.
10703 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
10704 (Fread_file_name): Use SREF, SSET.
10705 * fns.c (concat): Use SSET.
10706 (concat, Fdelete): Use SDATA.
10707 * insdel.c (insert_from_string_1): Use SDATA.
10708 * keyboard.c (Fevent_convert_list): Use SREF.
10709 * lread.c (Fload): Use SDATA, SSET.
10710 * macfns.c (validate_x_resource_name): Use SSET.
10711 * process.c (status_message): Use SSET.
10712 * search.c (wordify): Use SDATA.
10713 (Freplace_match): Use SREF.
10714 * w32fns.c (validate_x_resource_name): Use SSET.
10715 * xfns.c (validate_x_resource_name): Use SSET.
10716 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
10717
10718 2002-07-16 Richard M. Stallman <rms@gnu.org>
10719
10720 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
10721
10722 * xdisp.c (reconsider_clip_changes):
10723 Don't test prevent_redisplay_optimizations_p.
10724 (redisplay_internal): Test prevent_redisplay_optimizations_p
10725 along with clip_changed in some cases.
10726 (try_window_id): Likewise.
10727 (redisplay_window): New local var buffer_unchanged_p.
10728
10729 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
10730
10731 * process.c (create_process): Test USG_SUBTTY_WORKS.
10732 (process_send_signal): Clean up handling of GID.
10733 Detect errors in ioctls meant to set GID.
10734
10735 * window.c (temp_output_buffer_show):
10736 Don't set prevent_redisplay_optimizations_p.
10737
10738 2002-07-15 Juanma Barranquero <lektu@terra.es>
10739
10740 * eval.c (Fdefvaralias): Add docstring argument.
10741
10742 2002-07-15 Ken Raeburn <raeburn@gnu.org>
10743
10744 * lisp.h (STRING_INTERVALS): Produce rvalue.
10745 (STRING_SET_INTERVALS): New macro.
10746 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
10747 * fns.c (Fstring_as_multibyte): Likewise.
10748 * intervals.c (balance_possible_root_interval, delete_interval)
10749 (create_root_interval, copy_intervals_to_string): Likewise.
10750 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
10751 instead of 0.
10752
10753 2002-07-14 Ken Raeburn <raeburn@gnu.org>
10754
10755 * lisp.h (STRING_SET_CHARS): New macro.
10756 (SCHARS, SBYTES): Produce rvalues.
10757 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
10758 * fns.c (concat): Likewise.
10759 * lread.c (read_vector): Likewise.
10760
10761 * lisp.h (SMBP): Deleted. All uses changed to STRING_MULTIBYTE.
10762 (STRING_SET_UNIBYTE): New macro.
10763 (SET_STRING_BYTES): Deleted. Callers (all of which supplied a
10764 length of -1) changed to use STRING_SET_UNIBYTE.
10765 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
10766 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
10767 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
10768 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
10769 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
10770 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
10771 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
10772 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
10773 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
10774 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
10775 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
10776 STRING_BYTES or indirection changed to SCHARS, SBYTES,
10777 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
10778 unchanged for now.
10779
10780 2002-07-13 Kim F. Storm <storm@cua.dk>
10781
10782 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
10783
10784 2002-07-12 Richard M. Stallman <rms@gnu.org>
10785
10786 * fileio.c (Fwrite_region): Doc fix.
10787
10788 * print.c (print_error_message): Don't handle Vsignaling_function here.
10789
10790 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
10791 (command_loop_1): Avoid certain actions after memory-full error.
10792
10793 * eval.c (Fsignal): Don't call cancel_hourglass.
10794 For a memory-full error, don't call Vsignal_hook_function
10795 and don't set Vsignaling_function.
10796
10797 * process.c (process_send_signal): Add abort call.
10798
10799 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
10800
10801 * keymap.c (Fkey_binding): Fix typo.
10802
10803 2002-07-11 Richard M. Stallman <rms@gnu.org>
10804
10805 * alloc.c (Vmemory_full): New variable.
10806 (Vmemory_signal_data): Renamed from memory_signal_data.
10807 Uses changed.
10808 (syms_of_alloc): Defvar them.
10809 (memory_full, buffer_memory_full): Set Vmemory_full.
10810
10811 * lisp.h (Vmemory_full): Add declaration.
10812 (current_column, indented_beyond_p): Change declaration.
10813
10814 * indent.c (last_known_column): Declare as double, not float.
10815 (current_column, current_column_1, string_display_width)
10816 (position_indentation): Return `double'.
10817 (indented_beyond_p): Arg `column' is `double'. Callers changed.
10818
10819 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
10820 (back_to_previous_visible_line_start)
10821 (reseat_at_next_visible_line_start, next_element_from_buffer):
10822 Use `double', not `float', when calling indented_beyond_p.
10823
10824 * s/hpux11.h (BROKEN_SA_RESTART): Defined.
10825
10826 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
10827
10828 2002-07-11 Juanma Barranquero <lektu@terra.es>
10829
10830 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
10831 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
10832 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
10833 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
10834 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
10835 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
10836
10837 2002-07-10 Juanma Barranquero <lektu@terra.es>
10838
10839 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
10840 All callers changed.
10841
10842 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
10843
10844 * data.c (Fdefalias): Add an optional `docstring' argument.
10845 (set_internal, Fsetq_default): Use XCAR/XCDR.
10846
10847 * composite.c (HASH_VALUE, HASH_KEY):
10848 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
10849
10850 2002-07-09 Kenichi Handa <handa@etl.go.jp>
10851
10852 * callproc.c (Fcall_process): Fix previous change.
10853
10854 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
10855
10856 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
10857 Add support for hash-tables.
10858 (Ftry_completion): Return t even if the string appears multiple times.
10859
10860 * fns.c (Fnconc): Use XCDR.
10861 (Fprovide): Use CONSP and XCDR.
10862 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
10863 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
10864 (Fmake_hash_table): Accept `:size nil'.
10865 (Fmakehash): Delete: moved to subr.el.
10866 (syms_of_fns): Don't defsubr makehash.
10867
10868 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
10869 (HASH_TABLE_SIZE): Move from fns.c.
10870
10871 2002-07-07 Richard M. Stallman <rms@gnu.org>
10872
10873 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
10874 Instead just return 0 when there is something to be done.
10875 (try_scrolling): If make_cursor_line_fully_visible returns 0,
10876 retry scrolling as if cursor were off the bottom.
10877 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
10878 return CURSOR_MOVEMENT_MUST_SCROLL.
10879 (redisplay_window): If make_cursor_line_fully_visible returns 0,
10880 go to try_to_scroll.
10881
10882 * buffer.c (Fbuffer_local_value): Store current value into its binding
10883 so we get the up-to-date value for the binding that is loaded.
10884
10885 * eval.c (Fdefmacro): Doc fix.
10886
10887 2002-07-05 Dave Love <fx@gnu.org>
10888
10889 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
10890 correctly.
10891
10892 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
10893 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
10894 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
10895 CCL_LookupCharConstTbl.
10896 (syms_of_ccl): Defvar translation-hash-table-vector.
10897
10898 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10899
10900 * xdisp.c: Remove unused variable `face'.
10901
10902 2002-07-04 Juanma Barranquero <lektu@terra.es>
10903
10904 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
10905 obsolescence information.
10906
10907 2002-07-03 Andrew Choi <akochoi@shaw.ca>
10908
10909 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
10910 pattern. Search cache first.
10911 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
10912 for Japanese font.
10913 (XLoadQueryFont): Use it.
10914
10915 2002-07-02 Richard M. Stallman <rms@gnu.org>
10916
10917 * keymap.c (Fdefine_key): Doc fix.
10918
10919 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
10920
10921 2002-07-02 Juanma Barranquero <lektu@terra.es>
10922
10923 * keymap.c (syms_of_keymap): Fix typo.
10924
10925 2002-07-01 Andrew Choi <akochoi@shaw.ca>
10926
10927 * s/darwin.h: Define POSIX_SIGNALS.
10928
10929 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
10930 and FSRefMakePath to convert FSSpec returned with Apple Event to
10931 Posix pathname.
10932 (mac_initialize) [TARGET_API_MAC_CARBON]:
10933 Call init_required_apple_events and disable the `Quit' menu item
10934 provided automatically by the Carbon Toolbox.
10935
10936 2002-07-01 Dave Love <fx@gnu.org>
10937
10938 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
10939 for K&R.
10940
10941 * xterm.c: Fix prototype for K&R.
10942
10943 * term.c (costs_set): Declare static, non-initialized for pcc.
10944
10945 2002-07-01 Richard M. Stallman <rms@gnu.org>
10946
10947 * keyboard.c (timer_last_idleness_start_time): New variable.
10948 (timer_start_idle): Set that.
10949 (read_key_sequence): Use that to reset timer_idleness_start_time
10950 to previous value.
10951
10952 * window.c (Frecenter): With arg, set optional_new_start.
10953
10954 * xdisp.c (redisplay_internal): Make optional_new_start really work.
10955
10956 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
10957 buffer for completion.
10958
10959 2002-06-29 Ken Raeburn <raeburn@gnu.org>
10960
10961 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
10962
10963 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10964
10965 * keyboard.c (readable_filtered_events): New function that filters
10966 FOCUS_IN_EVENT depending on parameter.
10967 (readable_events): Calls readable_filtered_events, not filtering
10968 FOCUS_IN_EVENT.
10969 (get_filtered_input_pending): New function, filtering parameter passed
10970 to readable_filtered_events.
10971 (get_input_pending): Calls get_filtered_input_pending, not filtering
10972 FOCUS_IN_EVENT.
10973 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
10974 FOCUS_IN_EVENT.
10975
10976 * xterm.h (struct x_output): Add focus_state.
10977
10978 * xterm.c (x_focus_changed): New function.
10979 (x_detect_focus_change): New function.
10980 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
10981 EnterNotify and LeaveNotify to track X focus changes.
10982
10983 2002-06-28 Andreas Schwab <schwab@suse.de>
10984
10985 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
10986
10987 2002-06-27 Kim F. Storm <storm@cua.dk>
10988
10989 * xdisp.c: (mode_line_string_list, mode_line_string_face)
10990 (mode_line_string_face_prop): New variables.
10991 (store_mode_line_string): New function.
10992 (display_mode_element): Use store_mode_line_string to
10993 add mode-line string elements to mode_line_string_list
10994 when mode_line_string_list is non-nil.
10995 (Fformat_mode_line): Now returns propertized string by
10996 default. New arg NO-PROPS to ignore properties.
10997 (decode_mode_spec): Only add two dashes for %- in propertized
10998 mode-line string.
10999 (syms_of_xdisp): Init and staticpro mode_line_string_list.
11000
11001 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
11002
11003 * minibuf.c (minibuffer_completion_contents): Add return type.
11004
11005 2002-06-27 Juanma Barranquero <lektu@terra.es>
11006
11007 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
11008
11009 2002-06-26 Juanma Barranquero <lektu@terra.es>
11010
11011 * fileio.c (read_file_name_cleanup): Add missing return.
11012
11013 2002-06-26 Richard M. Stallman <rms@gnu.org>
11014
11015 * window.c (Frecenter): Don't set force_start flag.
11016
11017 * minibuf.c (do_completion, Fminibuffer_complete_word)
11018 (Fminibuffer_completion_help): Complete just the text before point.
11019 (minibuffer_completion_contents): New function.
11020
11021 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
11022
11023 * frame.c (frames_bury_buffer): Function deleted.
11024
11025 2002-06-25 Miles Bader <miles@gnu.org>
11026
11027 * callint.c (Fcall_interactively): When checking to see if doprnt hit
11028 the end of callint_message, allow for a terminating '\0'.
11029
11030 2002-06-24 Juanma Barranquero <lektu@terra.es>
11031
11032 * w32select.c: Include composite.h
11033
11034 * w16select.c: Likewise.
11035
11036 2002-06-24 Kenichi Handa <handa@etl.go.jp>
11037
11038 * callproc.c (Fcall_process): If code detection is necessary,
11039 call detect_coding directly here.
11040
11041 * coding.c (detect_eol): Preserve coding->cmp_data.
11042
11043 * w16select.c (Fw16_get_clipboard_data):
11044 * w32fns.c (w32_to_x_font):
11045 * w32select.c (Fw32_get_clipboard_data):
11046 * xselect.c (selection_data_to_lisp_data):
11047 * xterm.c (XTread_socket): Disable composition handling.
11048
11049 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
11050
11051 * print.c (temp_output_buffer_setup): Kill all local variables.
11052
11053 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
11054
11055 * lread.c (Fread): Remove redundant and imprecise declaration.
11056
11057 * xfns.c (check_x_display_info): Use check_x_frame.
11058
11059 * .gdbinit (xprintsym): Use the new `xname' field.
11060 (xsymbol): Use it.
11061
11062 2002-06-22 Jason Rumney <jasonr@gnu.org>
11063
11064 * w32fns.c (file_dialog_callback): New function.
11065 (Fx_file_dialog): Allow selecting directories as well as files.
11066
11067 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11068
11069 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
11070 OpenBSD. Add support for mipseb-*-netbsd* machines.
11071
11072 2002-06-17 Andrew Choi <akochoi@shaw.ca>
11073
11074 * macterm.c (mac_scroll_area): Set foreground and backcolor to
11075 black and white before scrolling. Restore frame background and
11076 foreground color after scrolling.
11077 (do_window_update): Call XClearWindow before calling expose_frame.
11078 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
11079 FRAME_FOREGROUND_PIXEL of frame.
11080
11081 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
11082 test Mac command key as <ALT> key.
11083
11084 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
11085
11086 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
11087
11088 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
11089 Lookup keys in function-key-map immediately so that key-translation-map
11090 can be applied earlier.
11091 Remove function_key_possible and key_translation_possible, replaced
11092 by checking `keytran_start < t'.
11093
11094 * .gdbinit (xsymbol): Use the new `xname' field.
11095
11096 2002-06-17 Andrew Choi <akochoi@shaw.ca>
11097
11098 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
11099 test Mac command key as <ALT> key.
11100
11101 * mac.c (do_applescript): Call initialize_applescript if necessary
11102 when first called. Dispose of result_desc only when there is no error.
11103 (Fdo_applescript): Use %d format specifier instead of %ld.
11104
11105 2002-06-16 Andrew Choi <akochoi@shaw.ca>
11106
11107 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
11108 of FrontWindow for cases keyDown and autoKey.
11109
11110 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
11111 Vdefault_fontset to Monaco with mac-roman coding.
11112
11113 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
11114 init_process before and after inclusion of Carbon/Carbon.h, resp.
11115
11116 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
11117 cursor_gc.
11118 (add_font_name_table_entry): New function.
11119 (init_font_name_table): Use add_font_name_table_entry; add italic,
11120 bold, and bold-italic entries for truetype fonts.
11121
11122 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
11123 for Mac too.
11124 (try_font_list) [MAC_OS]: If no font matches given registry, try
11125 fonts with any registry matching face_family.
11126 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
11127
11128 * s/darwin.h: If autoconf detects the Ncurses library, define
11129 LIBS_TERMCAP to -lncurses to use it.
11130
11131 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
11132
11133 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
11134
11135 2002-06-15 Richard M. Stallman <rms@gnu.org>
11136
11137 * window.c (Fset_window_configuration): Explicitly preserve
11138 the point value that new_current_buffer had at the start.
11139
11140 2002-06-14 Juanma Barranquero <lektu@terra.es>
11141
11142 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
11143 Fix typos.
11144
11145 2002-06-14 Kim F. Storm <storm@cua.dk>
11146
11147 * insdel.c (insert_1_both, insert_from_string_1)
11148 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
11149 insert happened in the end_unchanged region. Otherwise, the
11150 redisplay may be confused and duplicate the last line in the
11151 buffer [seen after save-buffer when require-final-newline==t].
11152
11153 2002-06-13 Jason Rumney <jasonr@gnu.org>
11154
11155 * w32.c (init_environment): Remove EMACSLOCKDIR.
11156 (stat): Swap _S_IFDIR and _S_IFREG.
11157
11158 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11159
11160 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
11161 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
11162 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
11163 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
11164 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
11165 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
11166 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
11167 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
11168 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
11169 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
11170 SELECTION_REQUEST_EVENT, selection_clear_event to
11171 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
11172 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
11173 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
11174 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
11175 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
11176 no_event to NO_EVENT.
11177
11178 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11179
11180 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
11181
11182 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
11183
11184 * intervals.c (textget): Don't forget to `return'.
11185 (lookup_char_property): Use XCAR/XCDR.
11186
11187 2002-06-12 Juanma Barranquero <lektu@terra.es>
11188
11189 * xdisp.c (Fformat_mode_line): Fix typo.
11190
11191 2002-06-12 Kim F. Storm <storm@cua.dk>
11192
11193 * xdisp.c (Fformat_mode_line): New function.
11194 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
11195 (store_frame_title_char, store_frame_title): Use unconditionally.
11196 (init_xdisp): Defsubr Fformat_mode_line.
11197 Initialize frame_title_buf etc. unconditionally.
11198
11199 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
11200
11201 * keyboard.c (read_key_sequence):
11202 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
11203 things through those maps after downcasing events.
11204 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
11205 applies after function-key-map.
11206 Make sure that keytran can be done in the middle in the sequence.
11207 Be careful not to throw away events past the one we downcase.
11208
11209 * lread.c (read_integer): Remove unused var `tem'.
11210 (read1): Fix int/Lisp_Object mixup.
11211
11212 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
11213
11214 2002-06-11 Richard M. Stallman <rms@gnu.org>
11215
11216 * keyboard.c (readable_events): Ignore any number of
11217 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
11218
11219 2002-06-09 Miles Bader <miles@gnu.org>
11220
11221 * xfaces.c (Ftty_supports_face_attributes_p): New function.
11222 (parse_rgb_list, tty_lookup_color): New functions.
11223 (tty_defined_color): Use `tty_lookup_color' to do all the work.
11224 (color_distance, Fcolor_distance): New functions.
11225 (TTY_SAME_COLOR_THRESHOLD): New macro.
11226 (Qtty_color_standard_values): New variable.
11227 (syms_of_xfaces): Initialize new vars & functions.
11228
11229 2002-06-08 Colin Walters <walters@verbum.org>
11230
11231 * textprop.c (Vchar_property_alias_alist): New variable.
11232 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
11233
11234 * intervals.c (lookup_char_property): New function for looking up
11235 overlay and text properties, created from textget.
11236 (textget): Use it.
11237
11238 * intervals.h (lookup_char_property): Declare.
11239 (Vchar_property_alias_alist): Declare.
11240
11241 * buffer.c (Foverlay_get): Use lookup_char_property.
11242
11243 2002-06-07 Sam Steingold <sds@gnu.org>
11244
11245 * xselect.c (lisp_data_to_selection_data): Fix last change:
11246 *data_ret is not a Lisp string, while unibyte_string is.
11247
11248 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
11249
11250 * xselect.c (lisp_data_to_selection_data): Fix last change:
11251 set size_ret.
11252
11253 2002-06-07 Andreas Schwab <schwab@suse.de>
11254
11255 * m/amdx86-64.h: New file.
11256
11257 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
11258
11259 * fns.c (Fstring_make_unibyte): Doc fix.
11260
11261 * xselect.c (lisp_data_to_selection_data): If the requested type
11262 is STRING, call string_make_unibyte to encode the selected text
11263 as a string.
11264
11265 * window.c (Fset_window_hscroll): Doc fix.
11266
11267 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11268
11269 * fileio.c (choose_write_coding_system):
11270 Call select-safe-coding-system properly.
11271
11272 2002-06-03 Richard M. Stallman <rms@gnu.org>
11273
11274 * xdisp.c (message_with_string): Error if STRING is not a string.
11275
11276 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
11277
11278 * fileio.c (choose_write_coding_system): Pass FILE arg to
11279 Vselect_safe_coding_system_function.
11280
11281 2002-06-03 Ken Raeburn <raeburn@gnu.org>
11282
11283 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
11284
11285 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
11286
11287 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
11288 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
11289 * keymap.c (describe_command): Likewise.
11290 * minibuf.c (read_minibuf): Likewise.
11291
11292 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
11293 Cast `current_column' return value to int.
11294 (back_to_previous_visible_line_start)
11295 (reseat_at_next_visible_line_start, next_element_from_buffer):
11296 Cast `indented_beyond_p' 3rd arg to float.
11297
11298 * indent.c (last_known_column): Now a float.
11299 (current_column_1, position_indentation, current_column)
11300 (string_display_width): Return float.
11301 (Fcurrent_column): Cast `current_column' return value to int.
11302 (Fcurrent_indentation): Cast `position_indentation' retval to int.
11303 (indented_beyond_p): Third arg now a float.
11304 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
11305
11306 * lisp.h (current_column): Now returns float.
11307 (indented_beyond_p): 3rd arg now a float.
11308
11309 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
11310
11311 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
11312 is Qcompound_text_with_extensions.
11313
11314 * xselect.c (lisp_data_to_selection_data): Always set selection
11315 type as string if x_encode_text returns streingp non-NULL.
11316
11317 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
11318
11319 2002-05-30 Richard M. Stallman <rms@gnu.org>
11320
11321 * window.c (Fset_window_configuration): Correct the handling
11322 of point in current buffer, to work with multiple windows.
11323
11324 2002-05-29 Colin Walters <walters@verbum.org>
11325
11326 * lread.c (Fread_from_string): Don't depend on order of evaluation
11327 for C function parameters.
11328
11329 2002-05-28 Richard M. Stallman <rms@gnu.org>
11330
11331 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
11332 way for blinked-off state and for a nonselected window.
11333
11334 * window.c (window_scroll_pixel_based): Don't call Fbolp;
11335 instead, see if the new start pos is at beginning of line.
11336
11337 * fileio.c (Fwrite_region): If START is a string, don't
11338 make any annotations.
11339
11340 * eval.c (syms_of_eval): Doc fix.
11341
11342 2002-05-28 Colin Walters <walters@debian.org>
11343
11344 * emacs.c (USAGE1): Add --no-splash.
11345 (standard_args): Ditto.
11346
11347 2002-05-28 Colin Walters <walters@gnu.org>
11348
11349 * lread.c (readchar_count): New variable.
11350 (readchar): Increment it.
11351 (unreadchar): Decrement it.
11352 (read_multibyte): Decrement it.
11353 (Vread_with_symbol_positions): New variable.
11354 (Vread_symbol_positions_list): New variable.
11355 (read_internal_start): New function, created from Fread and
11356 Fread_from_string. Handle Vread_symbol_positions_list and
11357 Vread_with_symbol_positions.
11358 (readevalloop, Fread, Fread_from_string): Use it.
11359 (read1): Use readchar_count to add symbol positions to
11360 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
11361 (syms_of_lread): DEFVAR_LISP and initialize them.
11362
11363 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
11364 (substitute_object_recurse, substitute_object_in_subtree)
11365 (substitute_in_interval): Prototype.
11366 (read_multibyte): Return c if it's less than zero.
11367
11368 2002-05-28 Kim F. Storm <storm@cua.dk>
11369
11370 * fileio.c (Fread_file_name_internal): Added brute-force
11371 speed up for using predicate file-directory-p.
11372
11373 2002-05-28 Kim F. Storm <storm@cua.dk>
11374
11375 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
11376 New variables.
11377 (syms_of_fileio): DEFVAR_LISP them.
11378 (read_file_name_cleanup): New unwind function.
11379 (Fread_file_name_internal): Only return completions satifying
11380 Vread_file_name_predicate. Temporarily unwind protect and rebind
11381 default-directory while checking completions against the predicate.
11382 (Fread_file_name): Added PREDICATE argument. Specbind it to
11383 Vread_file_name_predicate during completion.
11384 Call Vread_file_name_function to read the file name if non-nil.
11385
11386 * lisp.h (Fread_file_name): Now has 6 args.
11387
11388 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
11389 predicate for Fread_file_name when reading directory name.
11390 Supply Qnil for predicate in other calls to Fread_file_name.
11391
11392 2002-05-26 Miles Bader <miles@gnu.org>
11393
11394 * term.c (tty_capable_p): New function.
11395 * dispextern.h (tty_capable_p): New function declaration.
11396 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
11397 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
11398
11399 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
11400
11401 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
11402 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
11403 (Vwrite_region_annotate_functions): Docstring fix.
11404
11405 2002-05-23 Kim F. Storm <storm@cua.dk>
11406
11407 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
11408 phys_cursor's hpos is overwritten. This is still not completely
11409 correct, as it doesn't really make sense to use hpos at all to
11410 get the cursor glyph (as that is relative to the width of the
11411 characters on the line, which may have changed during the update).
11412
11413 2002-05-22 Jason Rumney <jasonr@gnu.org>
11414
11415 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
11416 Lisp_Object.
11417 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
11418 Use modified enumfont_t struct.
11419
11420 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
11421
11422 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
11423 Handle the `hbar' cursor type.
11424 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
11425
11426 * w32fns.c (Qhbar): New variable.
11427 (x_specified_cursor_type): Use it.
11428
11429 2002-05-21 Ken Raeburn <raeburn@gnu.org>
11430
11431 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
11432 now, when the address is needed.
11433
11434 2002-05-21 Colin Walters <walters@gnu.org>
11435
11436 * Makefile.in (shortlisp): Add font-core.el.
11437
11438 2002-05-20 Richard M. Stallman <rms@gnu.org>
11439
11440 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
11441
11442 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
11443 equivalent key bindings here.
11444
11445 2002-05-20 Ken Raeburn <raeburn@gnu.org>
11446
11447 Change symbol structure to contain a lisp object for the symbol
11448 name:
11449 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
11450 object field named "xname".
11451 (SYMBOL_NAME): New macro.
11452 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
11453 name field.
11454 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
11455 (mark_object, gc_sweep): Use symbol xname field and XSTRING
11456 instead of name field.
11457 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
11458 SYMBOL_NAME instead of XSYMBOL and name field.
11459 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
11460 instead of XSYMBOL and name field.
11461 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
11462 and SYMBOL_NAME instead of XSYMBOL and name field.
11463 * coding.c (Fread_coding_system, code_convert_region1)
11464 (code_convert_string1, code_convert_string_norecord)
11465 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
11466 XSYMBOL and name field.
11467 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
11468 (Fmake_variable_buffer_local, Fmake_local_variable)
11469 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
11470 of XSYMBOL and name field.
11471 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
11472 XSYMBOL and name field.
11473 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
11474 instead of XSYMBOL and name field.
11475 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
11476 XSYMBOL and name field.
11477 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
11478 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
11479 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
11480 instead of XSYMBOL and name field.
11481 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
11482 (parse_modifiers, apply_modifiers, Fevent_convert_list)
11483 (parse_solitary_modifier, Fexecute_extended_command):
11484 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
11485 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
11486 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
11487 of XSYMBOL and name field.
11488 (describe_command, describe_translation): Use SYMBOL_NAME and
11489 assignment instead of XSYMBOL and name field and XSETSTRING.
11490 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
11491 instead of XSYMBOL and name field.
11492 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
11493 name field and XSETSTRING.
11494 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
11495 of XSYMBOL and name field.
11496 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
11497 assignment instead of XSYMBOL and name field and XSETSTRING.
11498 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
11499 XSTRING instead of XSYMBOL and name field.
11500 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
11501 and XSTRING instead of XSYMBOL and name field.
11502 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
11503 and XSTRING instead of XSYMBOL and name field.
11504 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
11505 XSTRING instead of XSYMBOL and name field.
11506 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
11507 of XSYMBOL and name field.
11508 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
11509 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
11510
11511 2002-05-19 Ken Raeburn <raeburn@gnu.org>
11512
11513 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
11514 and XCDR real rvalues in most configurations.
11515
11516 * buffer.c (fix_overlays_in_range, fix_overlays_before):
11517 Don't take the address of the cdr part of a cons cell; instead, track
11518 the parent cell and call XSETCDR, or set the variable for the head
11519 of the list if we haven't started down the list yet.
11520
11521 2002-05-19 Richard M. Stallman <rms@gnu.org>
11522
11523 * doc.c (reread_doc_file): Don't ask for confirmation.
11524
11525 2002-05-18 Jason Rumney <jasonr@gnu.org>
11526
11527 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
11528 (xbm_load_image): Use it.
11529 (xbm_load): Ditto.
11530 (xbm_read_bitmap_data): Reverted to xfns.c version.
11531 From David Ponce <david@dponce.com>.
11532
11533 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
11534
11535 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
11536 2.02 and later.
11537
11538 2002-05-16 Juanma Barranquero <lektu@terra.es>
11539
11540 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
11541
11542 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
11543
11544 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
11545 meaningful test.
11546 (read_char_minibuf_menu_prompt): Fix typo.
11547
11548 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11549
11550 * eval.c (Fcommandp): Doc fix.
11551
11552 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
11553
11554 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
11555 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
11556 (Fset_keymap_parent): Gcpro a bit more.
11557 (access_keymap): Gcpro around meta_map call and around the main loop.
11558 (get_keyelt): Gcpro when following indirect references.
11559 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
11560 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
11561 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
11562 Remove useless ad-hoc remap code.
11563
11564 2002-05-13 Richard M. Stallman <rms@gnu.org>
11565
11566 * search.c (search_buffer): Give up boyer moore search if inverse
11567 translation change charset_base.
11568
11569 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
11570
11571 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
11572 characters is carried over from the previous block of text, adjust
11573 coding->produced to account for the extra character.
11574
11575 2002-05-11 Andreas Schwab <schwab@suse.de>
11576
11577 * coding.c (intersection): Keep the elements of the returned list
11578 in the same order as in the first list.
11579
11580 2002-05-11 Kim F. Storm <storm@cua.dk>
11581
11582 * keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
11583 only update cmm_size if realloc actually succeeds.
11584 Testing with initial size of 2 elements revealed that using
11585 realloc on GNU/Linux would cause a random trap in xmalloc
11586 later on, so I rewrote the code to use malloc/bcopy/free instead
11587 of realloc.
11588
11589 2002-05-10 Jason Rumney <jasonr@gnu.org>
11590
11591 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
11592
11593 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
11594
11595 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
11596 parens, to ensure correct evaluation order.
11597
11598 2002-05-10 Kim F. Storm <storm@cua.dk>
11599
11600 * keymap.c (Vemulation_mode_map_alists): New variable.
11601 (syms_of_keymap): DEFVAR_LISP it.
11602 (current_minor_maps): Process keymap alists in that list before
11603 minor-mode-overriding-map-alist and minor-mode-map-alist.
11604
11605 2002-05-09 Richard M. Stallman <rms@gnu.org>
11606
11607 * search.c (Freplace_match): Doc fix.
11608
11609 2002-05-09 Kim F. Storm <storm@cua.dk>
11610
11611 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
11612 Enlarge cursor rectangle drawn around image with non-zero relief.
11613
11614 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
11615 Enlarge cursor rectangle drawn around image with non-zero relief.
11616
11617 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
11618 Enlarge cursor rectangle drawn around image with non-zero relief.
11619
11620 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
11621
11622 * xselect.c (lisp_data_to_selection_data): Don't set selection
11623 type if comes from the Lisp object's car. If the selection
11624 contains a pure ASCII text, always return QSTRING as its type.
11625
11626 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11627
11628 * mac.c (mac-cut-function): Doc fix.
11629
11630 2002-05-05 Richard M. Stallman <rms@gnu.org>
11631
11632 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
11633
11634 2002-05-04 Jason Rumney <jasonr@gnu.org>
11635
11636 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
11637 for event-click-count.
11638
11639 * process.c (init_process): Only add server subfeature if we can
11640 use non-blocking I/O.
11641
11642 2002-05-04 Andrew Choi <akochoi@shaw.ca>
11643
11644 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
11645 repeatedly.
11646
11647 2002-05-03 Jason Rumney <jasonr@gnu.org>
11648
11649 * process.c (Fmake_network_process): Only support server sockets
11650 when we can make them non-blocking.
11651
11652 * s/ms-w32.h (HAVE_SELECT): Define.
11653
11654 * w32.h (FILE_NDELAY): New flag.
11655
11656 * w32.c (sys_getpeername, fcntl): New functions.
11657 (_sys_read_ahead): Temporarily block on non-blocking sockets.
11658
11659 * w32proc.c: include sys/file.h.
11660
11661 2002-05-03 Colin Walters <walters@verbum.org>
11662
11663 * callproc.c (Vgame_score_directory): Renamed to
11664 Vshared_game_score_directory.
11665
11666 2002-04-30 Richard M. Stallman <rms@gnu.org>
11667
11668 * s/gnu.h [emacs]: Include stdio.h.
11669 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
11670
11671 * eval.c (do_autoload): Error if called while preparing to dump.
11672
11673 * fns.c (Frequire): Error if need to load while preparing to dump.
11674
11675 2002-04-28 Colin Walters <walters@verbum.org>
11676
11677 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
11678 Default to "~/.emacs.d/games".
11679
11680 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
11681
11682 * lread.c (openp): Change arg exec_only to predicate.
11683 (build_load_history): Use XCAR/XCDR.
11684 (Flocate_file_internal): New fun.
11685 (syms_of_lread): Defsubr it.
11686 (Fload): Update call to openp.
11687
11688 * lisp.h (openp): Update prototype.
11689
11690 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
11691 * w32proc.c (sys_spawnve):
11692 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
11693 * w32.c (check_windows_init_file):
11694 * sound.c (Fplay_sound_internal):
11695 * process.c (Fstart_process):
11696 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
11697 * mac.c (run_mac_command):
11698 * emacs.c (init_cmdargs):
11699 * callproc.c (Fcall_process): Update call to openp.
11700
11701 * textprop.c (remove_properties): Don't use XCAR without CONSP.
11702
11703 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
11704
11705 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11706
11707 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
11708 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
11709
11710 2002-04-28 Richard M. Stallman <rms@gnu.org>
11711
11712 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
11713
11714 * eval.c (Fcommandp): New arg for_call_interactively.
11715 * lisp.h (Fcommandp): Declare new arg.
11716
11717 2002-04-28 Jason Rumney <jasonr@gnu.org>
11718
11719 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
11720
11721 * w32.c (stat, fstat): Use file index information to generate
11722 inodes for directories where available.
11723
11724 2002-04-26 Andrew Choi <akochoi@shaw.ca>
11725
11726 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
11727 [HAVE_CARBON]: Include Mac object files.
11728
11729 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
11730 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
11731 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
11732 MAC_OSX, and MAC_OS instead of macintosh.
11733
11734 * editfns.c [MAC_OS8]: Include stdio.h.
11735
11736 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
11737
11738 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
11739 Apple Monaco.
11740
11741 * process.c: Declare QCfamily and QCfilter as extern.
11742 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
11743 calling select.
11744
11745 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
11746
11747 * tparam.c [MAC_OSX]: Don't define BC and UP.
11748
11749 * config.in [HAVE_CARBON]: Add.
11750
11751 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
11752 Move here from mac/src and mac/inc.
11753
11754 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
11755
11756 2002-04-26 Gerd Moellmann <gerd@gnu.org>
11757
11758 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
11759 Compute phys_cursor_width from the x position returned
11760 by x_draw_glyhs, which is cheaper.
11761 (x_display_and_set_cursor): Compute the buffer-local value
11762 of `cursor-in-non-selected-windows' only when needed.
11763
11764 2002-04-25 Gerd Moellmann <gerd@gnu.org>
11765
11766 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
11767 cursor on a stretch glyph has a width that depends on
11768 x_stretch_cursor_p.
11769
11770 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11771
11772 * abbrev.c (abbrev-start-location): Doc fix.
11773
11774 * indent.c (Fvertical_motion): Fix last change.
11775
11776 2002-04-25 Gerd Moellmann <gerd@gnu.org>
11777
11778 * indent.c (Fvertical_motion): Move to the start of the line
11779 containing PT before moving up or down.
11780
11781 2002-04-24 Gerd Moellmann <gerd@gnu.org>
11782
11783 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
11784 case of writing a whole row, more or less analogous to the case of
11785 writing only parts of a row.
11786
11787 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
11788 0 for NO_CURSOR.
11789
11790 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
11791
11792 2002-04-23 Colin Walters <walters@verbum.org>
11793
11794 * buffer.c (syms_of_buffer): Doc fix.
11795
11796 2002-04-23 Gerd Moellmann <gerd@gnu.org>
11797
11798 * xterm.c (notice_overwritten_cursor): Handle the special case
11799 of the cursor being in the first blank non-text line at the
11800 end of a window.
11801
11802 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
11803 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
11804 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
11805 bar cursors only, to make phys_cursor_width contain what its name
11806 suggests.
11807 (notice_overwritten_cursor): Consider the cursor image erased if
11808 the output area intersects the cursor image in y-direction.
11809
11810 2002-04-23 Simon Marshall <simon@gnu.org>
11811
11812 * xfns.c (x_set_mouse_color): Change default for cross_cursor
11813 to XC_hand2.
11814
11815 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11816
11817 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
11818
11819 2002-04-22 Kim F. Storm <storm@cua.dk>
11820
11821 * textprop.c (remove_properties): Fixed trap for malformed plist.
11822
11823 2002-04-22 Richard M. Stallman <rms@gnu.org>
11824
11825 * cmds.c (Fend_of_line): Handle intangible text in mid line.
11826
11827 * window.c (make_window): Initialize height_fixed_p,
11828 last_cursor_off_p, and p->cursor_off_p slots.
11829
11830 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11831
11832 * fns.c (use-dialog-box): Doc fix.
11833
11834 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11835
11836 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
11837 variables `row', `i' and `area'.
11838 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
11839 toolkit library.
11840
11841 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
11842
11843 * xfaces.c (clear_font_table): Don't free the default font of
11844 a frame even if it's on another display.
11845 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
11846 that could be Qt.
11847
11848 2002-04-19 Juanma Barranquero <lektu@terra.es>
11849
11850 * indent.c (Fmove_to_column): Remove unused local variable
11851 `next_boundary_byte'.
11852 (current_column_1): Likewise.
11853
11854 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
11855
11856 * msdos.c (Qhbar): New variable.
11857 (syms_of_msdos): Intern and staticpro it.
11858 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
11859 cursor type.
11860
11861 2002-04-19 Dave Lambert <dlambert@acm.org>
11862
11863 Theses change implement an underscore-like (`hbar') cursor.
11864
11865 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
11866
11867 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
11868 Handle the `hbar' cursor type.
11869 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
11870
11871 * xfns.c (Qhbar): New variable.
11872 (syms_of_xfns): Intern and staticpro it.
11873 (x_specified_cursor_type): Handle `hbar' cursor.
11874
11875 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
11876 not defined.
11877
11878 2002-04-18 Richard M. Stallman <rms@gnu.org>
11879
11880 * textprop.c (remove_properties): New arg LIST allows scanning
11881 either a list or a plist.
11882 (interval_has_some_properties_list): New function, like
11883 interval_has_some_properties using list instead of plist.
11884 All callers changed.
11885 (Fremove_list_of_text_properties): New function.
11886 (syms_of_textprop): Defsubr it.
11887
11888 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
11889
11890 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
11891
11892 2002-04-17 Juanma Barranquero <lektu@terra.es>
11893
11894 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
11895
11896 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
11897
11898 * window.c (coordinates_in_window): Don't report on margin area
11899 if its width is zero.
11900
11901 2002-04-16 Jason Rumney <jasonr@gnu.org>
11902
11903 * w32fns.c (Fx_file_dialog): Decode file name before using.
11904
11905 * w32term.c (construct_drag_n_drop): Likewise.
11906
11907 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
11908
11909 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
11910 store load-history in pure space.
11911
11912 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
11913
11914 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
11915
11916 * xterm.c (Qlatin_1, Qutf_8): New vars.
11917 (syms_of_xterm): Initialize them.
11918 (XTread_socket): Eliminate incorrect optimization that tried to avoid
11919 decoding the output of X*LookupString.
11920 Always use latin-1 to decode the output of XLookupString.
11921 Try Xutf8LookupString if XmbLookupString failed.
11922
11923 * region-cache.c (new_region_cache): Use BEG.
11924
11925 2002-04-16 Gerd Moellmann <gerd@gnu.org>
11926
11927 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
11928 configuration files.
11929 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
11930 returns 0.
11931
11932 2002-04-15 Andreas Schwab <schwab@suse.de>
11933
11934 * config.in: Regenerated using autoheader.
11935
11936 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
11937 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
11938 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
11939 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
11940 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
11941 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
11942 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
11943 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
11944 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
11945 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
11946 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
11947 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
11948 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
11949 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
11950 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
11951 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
11952 STACK_DIRECTION, now set by autoconf.
11953
11954 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11955
11956 * dispnew.c (marginal_area_string): Sort arguments.
11957
11958 * dispextern.h (marginal_area_string): Add prototype.
11959
11960 2002-04-13 Richard M. Stallman <rms@gnu.org>
11961
11962 * fileio.c (Finsert_file_contents):
11963 Don't call temp_output_buffer_setup--do just part, by hand.
11964
11965 * coding.c (run_pre_post_conversion_on_str):
11966 Don't call temp_output_buffer_setup--do just part, by hand.
11967
11968 * keyboard.c (command_loop_1): Don't call start_hourglass
11969 or cancel_hourglass when executing a macro.
11970
11971 * marker.c (count_markers): New function.
11972
11973 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
11974 grow without limit. Move recently used elements to the front.
11975
11976 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11977
11978 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
11979
11980 2002-04-12 Gerd Moellmann <gerd@gnu.org>
11981
11982 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
11983 rows marginal areas.
11984 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
11985 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11986
11987 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
11988
11989 2002-04-12 Dave Love <fx@gnu.org>
11990
11991 * dispnew.c (marginal_area_string): New.
11992
11993 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
11994 (Qleft_margin, Qright_margin): Declare.
11995 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
11996
11997 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
11998 note_mode_line_highlight and extended.
11999
12000 * keyboard.c (Qleft_margin, Qright_margin): Declare.
12001 (make_lispy_event): Deal with mouse events in margins.
12002
12003 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
12004
12005 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
12006
12007 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
12008 than deactivating the mark if tmm is set to `lambda'.
12009 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
12010 Use a single event for HELP_EVENT.
12011 (Fexecute_extended_command): Save last_point_position.
12012
12013 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12014
12015 * lisp.h (Fpropertize): Add prototype.
12016
12017 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
12018
12019 2002-04-10 Colin Walters <walters@verbum.org>
12020
12021 * config.in: Add HAVE_SHARED_GAME_DIR.
12022
12023 * callproc.c: (Vgame_score_directory): New variable.
12024 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
12025
12026 2002-04-10 Richard M. Stallman <rms@gnu.org>
12027
12028 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
12029
12030 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
12031
12032 * minibuf.c (read_minibuf): Use empty_string.
12033 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
12034 Short-circuit the search as soon as it "failed".
12035 (Fall_completions): Allow lambda forms and lists of strings for alist.
12036 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
12037 when require_match is nil.
12038 (Ftest_completion): Rename from `test_completion' and export to elisp.
12039 Call the predicate also when alist is a list.
12040 Obey Vcompletion_regexp_list.
12041 (do_completion, Fminibuffer_complete_and_exit): Use it.
12042 (Fassoc_string): Rename from `assoc_for_completion'.
12043 Allow list of strings as well and export to elisp.
12044
12045 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
12046
12047 * puresize.h (BASE_PURESIZE): Increase to 900KB.
12048
12049 2002-04-08 Juanma Barranquero <lektu@terra.es>
12050
12051 * w32.c (sys_accept): Don't hide variable `s'.
12052
12053 2002-04-05 Gerd Moellmann <gerd@gnu.org>
12054
12055 * callint.c (Fcall_interactively): Use INTEGERP instead of
12056 NUMBERP for checking Vhistory_length.
12057
12058 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12059
12060 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
12061 Doc fix to reflect it.
12062
12063 2002-04-04 Richard M. Stallman <rms@gnu.org>
12064
12065 * xdisp.c (display_mode_element): New arg RISKY.
12066 Disregard text props found or specified within a variable
12067 that isn't marked risky-local-variable.
12068 (Qrisky_local_variable): New variable.
12069 (syms_of_xdisp): Init and staticpro it.
12070
12071 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
12072
12073 * undo.c (record_point): New fun.
12074 (record_delete, record_insert): Use it.
12075
12076 2002-04-03 Juanma Barranquero <lektu@terra.es>
12077
12078 * doc.c (Fdocumentation): Add missing parentheses.
12079 (Fdocumentation_property): Likewise.
12080
12081 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
12082
12083 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
12084 data is 0, just return nil.
12085
12086 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
12087
12088 * msdos.c (syms_of_msdos): Fix last change with
12089 mouse_autoselect_window.
12090
12091 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12092
12093 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
12094 mouse_autoselect_window.
12095
12096 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
12097
12098 * keyboard.c (make_lispy_event): Handle unknown keysyms together
12099 with system-specific keysyms. Use it also for unknown function keys.
12100
12101 * doc.c (reread_doc_file): Return whether reload was attempted.
12102 (Fdocumentation, Fdocumentation_property): Don't try to reload
12103 if the doc is 0 and only ask once.
12104
12105 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
12106
12107 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
12108
12109 * keyboard.c (read_char): If the event was Qselect_window,
12110 restore timer_idleness_start_time to its previous value.
12111
12112 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
12113
12114 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
12115
12116 * region-cache.c (new_region_cache): Use BEG.
12117
12118 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
12119 Use BEG and BEG_BYTE.
12120
12121 * doc.c (get_doc_string): Return nil if the location is wrong.
12122 (reread_doc_file): New fun.
12123 (Fdocumentation, Fdocumentation_property):
12124 Call it if get_doc_string fails.
12125 (Fsnarf_documentation): Make it work for a dumped Emacs.
12126
12127 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
12128 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
12129
12130 * charset.c (Fstring): Allow 0 arguments.
12131
12132 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
12133
12134 * process.c (DATAGRAM_CONN_P, list_processes_1)
12135 (Fprocess_datagram_address, Fset_process_datagram_address)
12136 (Fset_network_process_options, server_accept_connection):
12137 Fix some int/Lisp_Object confusions (thank you union types).
12138
12139 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12140
12141 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
12142
12143 * w32term.c: Likewise.
12144 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
12145
12146 * keyboard.c (Qselect_window): New symbol.
12147 (head_table): Use it.
12148 (keys_of_keyboard): Bound select-window event to handle-select-window.
12149 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
12150
12151 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
12152 (last_window): New variable.
12153 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
12154 (note_mouse_movement): Remove reimplemented code in #if 0.
12155 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
12156 Emacs windows.
12157
12158 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
12159
12160 2002-03-31 Gerd Moellmann <gerd@gnu.org>
12161
12162 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
12163 Callers changed.
12164
12165 2002-03-30 Richard M. Stallman <rms@gnu.org>
12166
12167 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
12168 loop whenever it stops making progress.
12169
12170 * widget.c (set_frame_size): Don't call change_frame_size.
12171
12172 2002-03-30 Gerd Moellmann <gerd@gnu.org>
12173
12174 * dispnew.c (direct_output_for_insert):
12175 Call mark_window_display_accurate.
12176
12177 2002-03-29 Jason Rumney <jasonr@gnu.org>
12178
12179 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
12180
12181 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
12182
12183 * Makefile.in (lread.o): Depend on coding.h.
12184
12185 * lread.c (openp, Fload): Encode the file name before passing it
12186 to `stat', `access', and `emacs_open'.
12187 (openp): GCPRO the encoded file name. Don't recompute Lisp
12188 strings unnecessarily.
12189
12190 2002-03-29 Kim F. Storm <storm@cua.dk>
12191
12192 * fns.c (Flax_plist_put): Doc fix.
12193
12194 2002-03-28 Miles Bader <miles@gnu.org>
12195
12196 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
12197
12198 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12199
12200 * process.c (set-network-process-options): Add usage.
12201 (make-network-process): Doc fix.
12202
12203 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
12204
12205 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
12206
12207 2002-03-26 Richard M. Stallman <rms@gnu.org>
12208
12209 * fns.c (Fsubstring_no_properties): New function.
12210 (Flax_plist_get, Flax_plist_put): New functions.
12211 (syms_of_fns): defsubr them.
12212
12213 * xdisp.c (update_menu_bar): Test only update_mode_lines;
12214 don't test or alter w->update_mode_line.
12215
12216 * window.c (Fdisplay_buffer): Doc fix.
12217
12218 2002-03-24 Richard M. Stallman <rms@gnu.org>
12219
12220 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
12221
12222 2002-03-24 Gerd Moellmann <gerd@gnu.org>
12223
12224 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
12225 (Fdefmacro): Handle `(declare ...)'.
12226 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
12227 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
12228
12229 2002-03-24 Jason Rumney <jasonr@gnu.org>
12230
12231 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
12232 (xbm_file_p): Add prototypes.
12233 (xbm_format, xbm_image_p): Sync with xfns.c.
12234 (reflect_byte): New function.
12235 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
12236 (xbm_load_image): Create bitmaps with a depth of 1.
12237 (init_xfns): Enable XBM images.
12238
12239 2002-03-23 Jason Rumney <jasonr@gnu.org>
12240
12241 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
12242 correctly. Do not pass up_modifier to keyboard buffer.
12243
12244 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
12245
12246 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
12247
12248 * Makefile.in (bootstrapclean): New target.
12249 (bootstrap-temacs, bootstrap-doc): Remove.
12250 (bootstrap-emacs): Use a bog-standard `temacs'.
12251 Don't bother to build a DOC file.
12252
12253 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
12254
12255 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
12256 in temacs even if !CANNOT_DUMP.
12257 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
12258
12259 * alloc.c (check_pure_size): Only output a warning.
12260
12261 2002-03-22 Jason Rumney <jasonr@gnu.org>
12262
12263 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
12264 supported.
12265
12266 * w32term.c (zv_bits): Declare as short, for word alignment.
12267 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
12268 (syms_of_w32term): Define x-use-underline-position-properties.
12269
12270 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
12271 (clear_image_cache): Block input, fix logic, clear matrices in
12272 all frames that share this cache.
12273
12274 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
12275
12276 * emacs.c (main): Update the Copyright year in the blurb printed
12277 by "emacs --version".
12278
12279 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
12280
12281 * xterm.c (XTread_socket): If XK_ISO_Lock and
12282 XK_ISO_Last_Group_Lock are defined, handle keysyms between
12283 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
12284
12285 2002-03-21 Kim F. Storm <storm@cua.dk>
12286
12287 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
12288 menu-bar bindings in keymap and local-map properties _are_ used.
12289 But try keymap property first in accordance with 2002-01-03 patch.
12290 Added comment describing why this is not always reliable.
12291 (tool_bar_items): Ditto for tool-bar.
12292
12293 2002-03-21 Jason Rumney <jasonr@gnu.org>
12294
12295 * w32fns.c (x_clear_image_1): Disable color table code.
12296
12297 2002-03-21 Kim F. Storm <storm@cua.dk>
12298
12299 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
12300 removed the wrong version of the DEFUN macro; fixed it.
12301
12302 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
12303 Fmember rather than Fmemq).
12304 (Fprovide): Check that subfeatures is a list.
12305
12306 * process.c (QCfeature, QCdatagram): Removed variables.
12307 (QCtype, Qdatagram): New variables.
12308 (network_process_featurep): Removed function.
12309 (Fmake_network_process): Removed :feature check.
12310 Use :type 'datagram instead of :datagram t to create a datagram
12311 socket. This allows us to add other connection types (e.g. raw
12312 sockets) later in a consistent manner.
12313 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
12314 supported subfeatures for feature make-network-process.
12315 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
12316 Intern and staticpro QCtype and Qdatagram.
12317 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
12318
12319 * xfns.c: (QCtype): Remove duplicate declaration and
12320 initialization (is now declared in process.c).
12321
12322 * w32fns.c: (QCtype): Remove duplicate declaration and
12323 initialization (is now declared in process.c).
12324
12325 2002-03-21 Richard M. Stallman <rms@gnu.org>
12326
12327 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
12328 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
12329 when jumping to `fail' to avoid undoing reg changes in the
12330 last iteration of the loop.
12331 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
12332
12333 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
12334 Depend on process.h.
12335
12336 2002-03-20 Jason Rumney <jasonr@gnu.org>
12337
12338 Most of the following changes are still conditional on HAVE_IMAGES
12339 which is not set by default on Windows.
12340
12341 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
12342
12343 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
12344 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
12345 (four_corners_best, x_clear_image_1, x_clear_image)
12346 (x_alloc_image_color, postprocess_image)
12347 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
12348 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
12349 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
12350
12351 * w32gui.h (struct XImage): Define.
12352
12353 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
12354 extract mouse co-ordinates.
12355
12356 2002-03-20 Jason Rumney <jasonr@gnu.org>
12357
12358 * w32.c (init_winsock): Dynamically load new server and UDP
12359 socket functions.
12360 (socket_to_fd): New function.
12361 (sys_socket): Use it.
12362 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
12363 (sys_recvfrom, sys_sendto): New wrapper functions.
12364
12365 * process.c (QCfamily, QCfilter): Remove duplicate declaration
12366 and initialization.
12367
12368 * makefile.w32-in (LIBS): Remove $(WSOCK32).
12369
12370 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
12371
12372 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
12373 Don't use "sun" as a variable, it's a predefined constant on Sun
12374 machines.
12375
12376 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12377
12378 * bytecode.c (Fbyte_code): Revert last change.
12379
12380 2002-03-19 Kim F. Storm <storm@cua.dk>
12381
12382 * makefile.w32-in (LIBS): Add $(WSOCK32).
12383 From David Ponce <dponce@voila.fr>.
12384
12385 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12386
12387 * process.c (wait_reading_process_input): Move variables `pname'
12388 and `pnamelen' down where they are used.
12389
12390 * bytecode.c (Fbyte_code): Discard unused computed value to
12391 prevent gcc warning.
12392
12393 * lisp.h (Fplist_member): Add prototype.
12394
12395 2002-03-18 Kim F. Storm <storm@cua.dk>
12396
12397 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
12398 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
12399
12400 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
12401 Remove explicit GNU_LINUX settings for datagram support.
12402
12403 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12404
12405 * process.c (Fmake_network_process): Remove unused variable `sa'.
12406 Doc fix. Add usage:.
12407 (set_socket_options): Remove unused variables `optnum' and `opttype'.
12408
12409 2002-03-17 Richard M. Stallman <rms@gnu.org>
12410
12411 * xdisp.c (cursor_type_changed): New variable.
12412 (redisplay_internal): Redisplay all windows if cursor_type_changed.
12413 Clear it when clearing windows_or_buffers_changed.
12414 (try_cursor_movement, redisplay_window, try_window_id)
12415 (try_window_reusing_current_matrix): Test cursor_type_changed
12416 along with windows_or_buffers_changed.
12417
12418 * window.h (cursor_type_changed): New variable.
12419
12420 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
12421 not update_mode_lines, and always set it to 1.
12422
12423 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
12424 if no frames needed redrawing.
12425
12426 2002-03-17 Kim F. Storm <storm@cua.dk>
12427
12428 The following changes add support for network server processes,
12429 datagram connections, and local (unix) sockets.
12430
12431 * process.h (struct Lisp_Process): New member log.
12432 Doc fix: Member command used to indicate stopped network process.
12433 Doc fix: Member childp contains plist for network process.
12434 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
12435
12436 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
12437 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
12438 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
12439 New variables.
12440 (NETCONN1_P): New macro.
12441 (DATAGRAM_SOCKETS): New conditional symbol.
12442 (datagram_address): New array.
12443 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
12444 (status_message): Use concat3.
12445 (Fprocess_status): Add `listen' status to doc string. Return `stop'
12446 for a stopped network process.
12447 (Fset_process_buffer): Update contact plist for network process.
12448 (Fset_process_filter): Ditto. Don't enable input for stopped
12449 network processes. Server must listen, even if filter is t.
12450 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
12451 New functions.
12452 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
12453 (Fprocess_contact): Added KEY argument. Handle datagrams.
12454 (list_processes_1): Optionally show only processes with the query
12455 on exit flag set. Dynamically adjust column widths. Omit tty
12456 column if not needed. Report stopped network processes.
12457 Identify server and datagram network processes.
12458 (Flist_processes): New optional arg `query-only'.
12459 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
12460 (conv_lisp_to_sockaddr, set_socket_options)
12461 (network_process_featurep, unwind_request_sigio): New helper functions.
12462 (Fprocess_datagram_address, Fset_process_datagram_address):
12463 (Fset_network_process_options): New lisp functions.
12464 (Fopen_network_stream): Removed. Now defined in simple.el.
12465 (Fmake_network_process): New lisp function. Code is based on previous
12466 Fopen_network_stream, but heavily reworked with new property list based
12467 argument list, support for datagrams, server processes, and local
12468 sockets in addition to old client-only functionality.
12469 (server_accept_connection): New function.
12470 (wait_reading_process_input): Use it to handle incoming connects.
12471 Do not enable input on a new connection if process is stopped.
12472 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
12473 (send_process): Handle datagram sockets.
12474 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
12475 network process is indicated by setting command field to t .
12476 (Fprocess_send_eof): No-op if datagram connection.
12477 (Fstatus_notify): Don't read input for a stream server socket or a
12478 stopped network process.
12479 (init_process): Initialize datagram_address array.
12480 (syms_of_process): Intern and staticpro new variables, defsubr new
12481 functions.
12482
12483 2002-03-16 Jason Rumney <jasonr@gnu.org>
12484
12485 * w32fns.c (w32_to_all_x_charsets): Return correct type in
12486 startup case.
12487
12488 2002-03-16 Richard M. Stallman <rms@gnu.org>
12489
12490 * xdisp.c (redisplay_internal, redisplay_windows):
12491 Use list_of_error to call internal_condition_case_1.
12492 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
12493 so as to catch all errors with no possibility of debugger redisplay.
12494 (list_of_error): New variable.
12495 (syms_of_xdisp): Init and staticpro it.
12496
12497 * print.c (print_object): Delete `\ ' from printed rep of frame.
12498
12499 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
12500
12501 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
12502 until its implementation is fixed.
12503
12504 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12505
12506 * xfns.c (png_load): Remove unused variable `gamma_str'.
12507
12508 2002-03-14 Richard M. Stallman <rms@gnu.org>
12509
12510 * xfns.c (x_real_positions): Handle failure in XQueryTree.
12511
12512 2002-03-14 Miles Bader <miles@gnu.org>
12513
12514 * intervals.c (adjust_for_invis_intang): New function.
12515 (set_point_both): Use `adjust_for_invis_intang' to do most of the
12516 work for dealing with invisible+intangible regions. Do so before
12517 and after both forward and backward movements, to handle both
12518 front-sticky and rear-sticky cases.
12519 * textprop.c (text_property_stickiness): Function moved here from
12520 `editfns.c'.
12521 * intervals.h (text_property_stickiness): New declaration.
12522 * editfns.c (char_property_eq): Function removed.
12523 (text_property_stickiness): Function moved to `textprop.c'.
12524
12525 2002-03-13 Jason Rumney <jasonr@gnu.org>
12526
12527 * config.in: Add STRFTIME_NO_POSIX2.
12528
12529 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
12530 and %OX when underlying strftime does not.
12531
12532 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
12533
12534 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
12535 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
12536 line) to avoid annoying flicker.
12537 (xm_scroll_callback): Get rid of the now unnecessary kludge.
12538 (XTread_socket): Mark it static.
12539
12540 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
12541
12542 2002-03-13 Kim F. Storm <storm@cua.dk>
12543
12544 * puresize.h (BASE_PURESIZE): Increase to 775000.
12545
12546 2002-03-12 Juanma Barranquero <lektu@terra.es>
12547
12548 * editfns.c (syms_of_editfns): Fix typo.
12549
12550 2002-03-12 Gerd Moellmann <gerd@gnu.org>
12551
12552 * xsmfns.c: Include stdio.h because termhooks.h needs it.
12553 Include termopt.h for interrupt_input.
12554
12555 2002-03-11 Andreas Schwab <schwab@suse.de>
12556
12557 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
12558
12559 2002-03-11 Gerd Moellmann <gerd@gnu.org>
12560
12561 * xterm.c (note_mouse_movement): Put code for
12562 x_autoselect_window_p in #if 0.
12563
12564 * lread.c (Fload): Don't assume that message_with_string uses the
12565 string it is given like a C string.
12566
12567 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12568
12569 * xterm.h (x_session_check_input, x_session_initialize): Declared.
12570
12571 * xterm.c: (XTread_socket): Add call to x_session_check_input and
12572 x_session_have_connection.
12573 (x_initialize): Add call to x_session_initialize.
12574
12575 * termhooks.h (enum event_kind): Add save_session_event.
12576
12577 * keyboard.c: Add Emacs event save_session_event.
12578
12579 * emacs.c (main): Add call to syms_of_xsmfns.
12580
12581 * lisp.h: Declare syms_of_xsmfns as extern.
12582
12583 * config.in: Add HAVE_X_SM.
12584
12585 * Makefile.in (LIBXT): Add -lSM -lICE
12586 if HAVE_X_SM and not USE_X_TOOLKIT.
12587 (XOBJ): New file xsmfns.c added.
12588
12589 * xsmfns.c: New file for X session management.
12590
12591 2002-03-09 Jason Rumney <jasonr@gnu.org>
12592
12593 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
12594 read-only when setting modified time.
12595
12596 2002-03-08 Gerd Moellmann <gerd@gnu.org>
12597
12598 * xdisp.c (move_it_vertically_backward): At the end of the function,
12599 when moving forward by lines, treat terminal frames specially.
12600
12601 * keyboard.c (echo_char): Make sure to add a separator between
12602 keys even if echo_dash hasn't been called.
12603
12604 * xdisp.c: Use new string macros.
12605 (update_echo_area): Pass number of bytes to message3 instead of
12606 number of chars.
12607 (set_message_1): Don't access a string's size_byte directly.
12608 (decode_mode_spec_coding): Use number of bytes of eoltype string
12609 instead number of chars.
12610
12611 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
12612
12613 2002-03-08 Juanma Barranquero <lektu@terra.es>
12614
12615 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
12616 24-bit.
12617
12618 2002-03-06 Jason Rumney <jasonr@gnu.org>
12619
12620 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
12621
12622 2002-03-06 Gerd Moellmann <gerd@gnu.org>
12623
12624 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
12625 (cancel_echoing, echo_length, echo_truncate): Changed to
12626 work with new kboard definition.
12627 (echo_now): Use message3_nolog instead of message2_nolog.
12628
12629 * alloc.c (mark_kboards): Mark echo_string.
12630
12631 * keyboard.h (ECHOBUFSIZE): Removed.
12632 (struct kboard): Member echoptr removed, member echobuf renamed
12633 to echo_string.
12634
12635 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
12636 message3 instead of message2 to display the message using STRING's
12637 text properties.
12638
12639 2002-03-05 Andreas Schwab <schwab@suse.de>
12640
12641 * xdisp.c (hscroll_margin): Change to EMACS_INT.
12642
12643 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
12644
12645 * frame.c (default-frame-alist): Explain that setting it doesn't
12646 affect existing frames.
12647
12648 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
12649
12650 * indent.c (skip_invisible): Fix my brain fart.
12651
12652 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
12653
12654 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
12655
12656 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
12657 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
12658 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
12659 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
12660 and variables to use EMACS_INT instead of just int.
12661
12662 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
12663
12664 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
12665
12666 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
12667 environment, pass it down with corrected value.
12668
12669 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12670
12671 * lread.c (read_filtered_event): Do not call start_hourglass
12672 before returning.
12673
12674 2002-03-04 Juanma Barranquero <lektu@terra.es>
12675
12676 * w32term.c (x_display_and_set_cursor): Fix typo.
12677
12678 2002-03-03 Richard M. Stallman <rms@gnu.org>
12679
12680 * fileio.c (Fmake_temp_name): Doc fix.
12681
12682 2002-03-03 Gary Wong <gtw@gnu.org>
12683
12684 * termcap.c [!emacs]: Replace ospeed for building standalone
12685 libtermcap, for binary compatibility.
12686
12687 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
12688
12689 2002-03-03 Richard M. Stallman <rms@gnu.org>
12690
12691 * xrdb.c (file_p): Rename arg `path' to `filename'.
12692
12693 * abbrev.c (Fexpand_abbrev): Increment plist as use count
12694 only if it is an integer.
12695
12696 * xfns.c (png_load): Set screen_gamma based on f->gamma.
12697 If png_get_sRGB gives an answer, call png_set_gamma
12698 using the default image gamma value.
12699
12700 * lread.c (read1): When reading from a file, default string to
12701 multibyte only if it has some multibyte characters.
12702
12703 * print.c (print_object): Output multibyte chars 128...255
12704 using \x even if ! print_escape_multibyte.
12705
12706 * xdisp.c (display_mode_element): Move the places where
12707 bytepos, charpos, this, and lisp_string are set.
12708 Use lisp_string to set bytepos.
12709
12710 * xdisp.c (redisplay_internal):
12711 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
12712
12713 * xdisp.c (display_mode_element): Merge properties specified with
12714 :propertize onto those that come with the string.
12715
12716 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
12717
12718 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
12719 automatic-hscrolling. Users changed.
12720 <hscroll-margin>: Renamed from automatic-hscroll-margin.
12721 Users changed.
12722 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
12723
12724 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12725
12726 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
12727
12728 2002-03-02 Kim F. Storm <storm@cua.dk>
12729
12730 * window.c (Fminibuffer_selected_window): New function.
12731 (syms_of_window): Defsubr it.
12732
12733 2002-03-01 Kim F. Storm <storm@cua.dk>
12734
12735 * window.h (struct window): New member phys_cursor_width.
12736
12737 * window.c (make_window, replace_window): Init phys_cursor_width.
12738
12739 * xterm.c (x_display_and_set_cursor): Blink box cursor using
12740 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
12741
12742 * w32term.c (x_display_and_set_cursor): Blink box cursor using
12743 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
12744
12745 * lisp.h (GCPRO6): New macro.
12746
12747 * process.c (Fopen_network_stream): Use GCPRO6.
12748
12749 2002-03-01 Kim F. Storm <storm@cua.dk>
12750
12751 * process.c (Qconnect, Qfailed): New variables.
12752 (syms_of_process): Intern and staticpro them.
12753 (Fprocess_status): Document connect and failed return values.
12754 [NON_BLOCKING_CONNECT]: New conditional.
12755 (connect_wait_mask, num_pending_connects): New variables.
12756 (status_message): Convert Qfailed status.
12757 (Fopen_network_stream): Added support for non-blocking connect.
12758 New optional args: filter, sentinel, non_blocking. Doc updated.
12759 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
12760 (deactivate_process): Handle pending non-blocking connect.
12761 (wait_reading_process_input): Poll for status of non-blocking
12762 connects. Exec sentinel directly when connect succeeds.
12763 (status_notify): Don't read process output if not yet connected.
12764
12765 2002-02-28 Kim F. Storm <storm@cua.dk>
12766
12767 * window.c: (minibuf_selected_window): Renamed from
12768 Vminibuf_selected_window. Users changed.
12769 (syms_of_window): Staticpro it.
12770
12771 2002-02-26 Kim F. Storm <storm@cua.dk>
12772
12773 The following changes add a new Vminibuf_selected_window variable
12774 which is similar to Vminibuf_scroll_window, but which is only set
12775 on entry to the minibuffer (from a non-minibuffer window):
12776
12777 * window.c: (Vminibuf_selected_window): New variable.
12778 (struct save_window_data): New member minibuf_selected_window.
12779 (Fset_window_configuration): Restore Vminibuf_selected_window.
12780 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
12781 Set minibuf_scroll_window member to nil if minibuf_level is 0.
12782 (compare_window_configurations): Compare minibuf_selected_window.
12783
12784 * window.h: (Vminibuf_selected_window): Declare extern.
12785
12786 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
12787 entry to minibuffer or on entry from a non-minibuffer window.
12788
12789 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
12790 Vminibuf_selected_window instead of Vminibuf_scroll_window.
12791
12792 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
12793 instead of Vminibuf_scroll_window when deciding in which window
12794 the region should be highlighted. Consequently, the region remains
12795 highlighteded even when a completion buffer is also displayed.
12796
12797 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
12798
12799 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
12800
12801 * xselect.c (Qcompound_text_with_extensions): Renamed from
12802 Qcompound_text_no_extensions.
12803 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
12804
12805 2002-02-26 Juanma Barranquero <lektu@terra.es>
12806
12807 * w32proc.c (syms_of_ntproc): Doc fix.
12808
12809 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12810
12811 * intervals.h: Include "dispextern.h" unconditionally.
12812
12813 2002-02-24 Jason Rumney <jasonr@gnu.org>
12814
12815 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
12816 and disp-table.elc.
12817 (lisp): Add emacs-lisp/backquote.elc.
12818
12819 2002-02-24 Kim F. Storm <storm@cua.dk>
12820
12821 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
12822 The validation of the event type was too strict as it didn't
12823 allow string events; buffer names are used in bindings for
12824 menu-bar-select-buffer (see `menu-bar-update-buffers').
12825
12826 2002-02-23 Kim F. Storm <storm@cua.dk>
12827
12828 The following changes rework my patch of 2002-02-06 which
12829 added command remapping by entering the commands directly into
12830 the keymaps. Now, command remapping uses an explicit `remap'
12831 prefix in the keymaps, i.e. [remap COMMAND].
12832
12833 * keymap.c (Qremap, remap_command_vector): New variables.
12834 (is_command_symbol): Removed function.
12835 (Fdefine_key): No longer accept a symbol for KEY.
12836 Added validation of [remap COMMAND] argument for KEY.
12837 The DEF is no longer required to be a symbol when remapping a command.
12838 (Fremap_command): New function to remap command through keymaps.
12839 (Flookup_key): Perform command remapping initiated by
12840 Fremap_command directly for speed.
12841 (Fkey_binding): Use Fremap_command for command remapping.
12842 (where_is_internal): Handle new command remapping representation.
12843 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
12844 staticpro them. Defsubr Fremap_command.
12845
12846 * keymap.h (Fremap_command): Declare extern.
12847 (is_command_symbol): Remove extern.
12848
12849 * keyboard.c (command_loop_1): Use Fremap_command for command
12850 remapping; now try command remapping for all symbols.
12851
12852 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
12853
12854 * coding.h (run_pre_post_conversion_on_str): Add prototype.
12855
12856 2002-02-23 Jason Rumney <jasonr@gnu.org>
12857
12858 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
12859 on the string before encoding it.
12860 (Fw32_get_clipboard_data): Run post-read-conversion on the string
12861 after decoding it.
12862
12863 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
12864
12865 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12866
12867 * w32term.c (enter_timestamp): Remove unused static variable to
12868 prevent warning.
12869
12870 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
12871
12872 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
12873
12874 * w16select.c (Fw16_get_clipboard_data): Fix last change.
12875
12876 * xselect.c (selection_data_to_lisp_data): Fix last change.
12877
12878 2002-02-22 Jason Rumney <jasonr@gnu.org>
12879
12880 * w32term.h (struct w32_output): New member menu_command_in_progress.
12881
12882 * w32menu.c (menubar_selection_callback): Free the menu and
12883 clear the menu_command_in_progress flag.
12884
12885 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
12886 (menu_free_timer): New variable.
12887 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
12888 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
12889 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
12890 menu command is in progress.
12891 <WM_COMMAND>: Set the menu_command_in_progress flag.
12892 Kill any menu_free_timer that is running.
12893
12894 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
12895 Call ExtTextOutA rather than ExtTextOut.
12896
12897 2002-02-22 Eli Zaretskii <eliz@gnu.org>
12898
12899 * puresize.h (BASE_PURESIZE): Increase to 755000.
12900
12901 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12902
12903 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
12904 on the string before encoding it.
12905 (Fw16_get_clipboard_data): Run post-read-conversion on the string
12906 after decoding it.
12907
12908 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12909
12910 Support for ICCCM Extended Segments in X selections:
12911
12912 * xselect.c <Qcompound_text_no_extensions>: New variable.
12913 (syms_of_xselect): Intern and staticpro it.
12914 (selection_data_to_lisp_data): Run post-read-conversion on decoded
12915 selection text.
12916 (lisp_data_to_selection_data): If next-selection-coding-system is
12917 compound-text-no-extensions, set the type of selection to be
12918 compound-text.
12919
12920 * xterm.h (x_encode_text): Update prototype.
12921
12922 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
12923 callers changed. If SELECTIONP is non-zero, run the
12924 pre-write-conversion function before encoding the selection text.
12925
12926 2002-02-21 Kim F. Storm <storm@cua.dk>
12927
12928 * frame.c (syms_of_frame): Change mouse-highlight default to t.
12929
12930 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
12931 Correct composing of language-change event.
12932
12933 2002-02-20 Kim F. Storm <storm@cua.dk>
12934
12935 * keyboard.c (menu_bar_items): Don't include keymap or local-map
12936 bindings at PT when building menu (the menu is not updated often
12937 enough for this to work reliable).
12938 (tool_bar_items): Likewise.
12939 (current_active_maps): Removed unused (and buggy) function.
12940
12941 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12942
12943 * xfns.c (gif_load): Use correct width and height for GIF images.
12944
12945 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
12946
12947 * floatfns.c (Fatan): Accept an optional second arg and call
12948 atan2 if passed 2 args.
12949
12950 2002-02-18 Jason Rumney <jasonr@gnu.org>
12951
12952 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
12953
12954 2002-02-17 Jason Rumney <jasonr@gnu.org>
12955
12956 * w32term.c (x_autoselect_window_p): New variable.
12957 (syms_of_w32term): DEFVAR_BOOL and initialize it.
12958 (note_mouse_movement): Use it.
12959
12960 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
12961
12962 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
12963
12964 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
12965 New variables.
12966 (syms_of_w32fns): Intern and staticpro them.
12967 (x_frame_parms) <"fullscreen">: New parameter.
12968 (x_fullscreen_move, x_set_fullscreen): New functions.
12969 (x_set_frame_parameters): Support Qfullscreen.
12970 (x_real_positions): Save x/y_pixels_diff frame params.
12971 (x_figure_window_size): Support full-screen frames.
12972 (Fx_create_frame): Default the fullscreen parameter.
12973
12974 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
12975 (x_fullscreen_adjust): New functions.
12976 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
12977 fullscreen. Call x_check_fullscreen_move, and set the
12978 want_fullscreen member of output_data.w32
12979 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
12980
12981 * w32term.h: New enum for FULLSCREEN_* constants.
12982 (struct w32_output): New members want_fullscreen, x_pixels_diff,
12983 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
12984 (x-fullscreen-adjust): New prototype.
12985
12986 2002-02-17 Kim F. Storm <storm@cua.dk>
12987
12988 * frame.c: (Vmouse_highlight): New variable.
12989 (syms_of_frame): DEFVAR_LISP it.
12990
12991 * frame.h: (Vmouse_highlight): Declare extern.
12992
12993 * xterm.h (struct x_display_info): Add mouse_face_hidden.
12994
12995 * xterm.c (disable_mouse_highlight): Removed variable.
12996 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
12997 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
12998 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
12999 and on after keyboard input.
13000 (x_term_init): Initialize mouse_face_hidden.
13001
13002 * msdos.h (struct display_info): Add mouse_face_hidden.
13003
13004 * msdos.c (disable_mouse_highlight): Removed variable.
13005 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
13006 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
13007 (internal_terminal_init): Initialize mouse_face_hidden.
13008 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
13009 and on after keyboard input.
13010
13011 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
13012
13013 * w32term.c (disable_mouse_highlight): Removed variable.
13014 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
13015 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
13016 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
13017 and on after keyboard input.
13018 (w32_initialize_display_info): Initialize mouse_face_hidden.
13019
13020 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
13021
13022 * msdos.c (last_mouse_window): New variable.
13023 (dos_rawgetc): Fix last change--if the mouse is in the same window
13024 as recorded in last_mouse_window, don't select this window.
13025
13026 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
13027
13028 * msdos.c (x_autoselect_window_p): New variable.
13029 (syms_of_msdos): Defvar it.
13030 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
13031 which the last mouse movement occured, unless it is already selected.
13032
13033 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
13034 New variables.
13035 (syms_of_xdisp): DEVFAR them.
13036 (hscroll_window_tree): Use automatic_hscroll_margin and
13037 Vautomatic_hscroll_step to compute the amount of window scrolling.
13038
13039 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13040
13041 * xterm.c (x-autoselect-window): New variable.
13042 (note_mouse_movement): Use it.
13043
13044 * keyboard.c: Do not include "systime.h" twice.
13045
13046 2002-02-15 Andreas Schwab <schwab@suse.de>
13047
13048 * puresize.h (PURESIZE_RATIO): Increase to 9/5.
13049
13050 * alloc.c (NSTATICS): Increase to 1280.
13051
13052 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
13053
13054 * alloc.c (NSTATICS): Bump to 1026.
13055
13056 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
13057 (Vx_super_keysym): New variables.
13058 (syms_of_xterm): DEFVAR_LISP them.
13059 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
13060 variables to determine which keys to use for the various modifiers.
13061
13062 2002-02-13 Kim F. Storm <storm@cua.dk>
13063
13064 * window.c: (Vmode_line_in_non_selected_windows): Removed.
13065 (mode_line_in_non_selected_windows): New variable.
13066 (syms_of_window): DEFVAR_BOOL it.
13067
13068 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
13069 Use mode_line_in_non_selected_windows.
13070 (mode_line_in_non_selected_windows): Declare extern.
13071 (Vmode_line_in_non_selected_windows): Removed extern.
13072
13073 2002-02-13 Richard M. Stallman <rms@gnu.org>
13074
13075 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
13076 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
13077 (Fclear_this_command_keys): Doc fixes.
13078
13079 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
13080 (update_face_from_frame_parameter): Increment face_change_count
13081 and windows_or_buffers_changed to force redisplay using changed faces.
13082
13083 * xdisp.c (QCpropertize): New variable.
13084 (mode_line_proptrans_alist): New variable.
13085 (display_mode_element): New arg PROPS; all calls changed.
13086 Implement this, for strings.
13087 Handle literal output of strings by sharing the
13088 main-line code for strings, using local var `literal'.
13089 Handle :propertize feature.
13090 (syms_of_xdisp): Initialze and staticpro QCpropertize and
13091 mode_line_proptrans_alist.
13092
13093 2002-02-11 Kim F. Storm <storm@cua.dk>
13094
13095 * window.c: (Vmode_line_in_non_selected_windows): New variable.
13096 (syms_of_window): DEFVAR_LISP it.
13097
13098 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
13099 (CURRENT_MODE_LINE_FACE_ID): Use it.
13100 (Vmode_line_in_non_selected_windows): Declare extern.
13101
13102 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
13103 to get mode line face.
13104
13105 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
13106
13107 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
13108 variables; cus-start.el doesn't need them anymore.
13109
13110 2002-02-09 Kim F. Storm <storm@cua.dk>
13111
13112 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
13113 reduction. This fixes a display problem where stray newlines were
13114 inserted in the window (corrected by C-l). Clarified code (IMHO).
13115
13116 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
13117
13118 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
13119
13120 * xdisp.c (display_mode_lines): Fix last change.
13121
13122 2002-02-09 Jason Rumney <jasonr@gnu.org>
13123
13124 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
13125 match each other.
13126 (w32_load_system_font): Prevent Cleartype fonts from loading.
13127 (Fx_show_tip): Ensure tip frames are above other topmost windows.
13128
13129 2002-02-09 Kim F. Storm <storm@cua.dk>
13130
13131 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
13132 (CURRENT_MODE_LINE_HEIGHT): Use it.
13133 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
13134
13135 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
13136 (pos_visible_p, handle_face_prop): Likewise.
13137 (display_mode_lines): Likewise, but for the real selected window.
13138 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
13139
13140 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
13141 in non-selected windows.
13142 (realize_basic_faces): Realize it.
13143 (syms_of_term): Intern and staticpro it.
13144
13145 2002-02-08 Kim F. Storm <storm@cua.dk>
13146
13147 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
13148 Changed mail addresses to emacs-devel@gnu.org.
13149
13150 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
13151
13152 * fileio.c (Fsubstitute_in_file_name): If the file name includes
13153 ~user, and there's no such user, don't discard everything before ~user.
13154
13155 * floatfns.c (Fround): Doc fix.
13156
13157 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13158
13159 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
13160
13161 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
13162
13163 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
13164
13165 2002-02-07 Kim F. Storm <storm@cua.dk>
13166
13167 * keymap.c (where_is_internal): Only check whether definition is
13168 remapped if it fulfills is_command_symbol.
13169
13170 2002-02-07 Andreas Schwab <schwab@suse.de>
13171
13172 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
13173
13174 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
13175
13176 2002-02-06 Kim F. Storm <storm@cua.dk>
13177
13178 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
13179 defining command remapping. Doc updated.
13180 (Flookup_key): Remap command through keymap if KEY is a symbol.
13181 (is_command_symbol): New function.
13182 (Fkey_binding): Use it. New optional argument NO-REMAP.
13183 Doc updated. Callers changed. Perform command remapping via
13184 recursive call unless that arg is non-nil.
13185 (where_is_internal): New argument no_remap. Callers changed.
13186 Call recursively to find original key bindings for a remapped
13187 comand unless that arg is non-nil.
13188 (Fwhere_is_internal): New optional argument NO-REMAP.
13189 Doc updated. Callers changed. Pass arg to where_is_internal.
13190
13191 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
13192 (is_command_symbol): Added prototype.
13193
13194 * keyboard.c (Vthis_original_command): New variable.
13195 (syms_of_keyboard): DEFVAR_LISP it.
13196 (command_loop_1): Set it, and perform command remapping.
13197
13198 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13199
13200 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
13201
13202 2002-02-06 Jason Rumney <jasonr@gnu.org>
13203
13204 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
13205
13206 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
13207
13208 * charset.c (get_charset_id): Use if-else instead of ?:.
13209
13210 2002-02-06 Richard M. Stallman <rms@gnu.org>
13211
13212 * filelock.c (S_ISLNK): Define if not defined.
13213
13214 2002-02-03 Richard M. Stallman <rms@gnu.org>
13215
13216 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
13217
13218 * lread.c (read1): Redesign strategy for force_multibyte and
13219 force_singlebyte. Now is_multibyte records whether read_buffer
13220 is multibyte. Encountering any multibyte character makes it so.
13221
13222 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
13223
13224 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
13225 with the same sequence, map that sequence to f10 rather than f0.
13226
13227 2002-02-03 Andreas Schwab <schwab@suse.de>
13228
13229 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
13230 latter never being defined on GNU/Linux.
13231
13232 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
13233
13234 * xfaces.c (realize_default_face): Don't set the weight and slant of
13235 the default face to Qnormal, unless these attributes are unspecified.
13236
13237 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13238
13239 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
13240 Call cancel_hourglass unconditionally.
13241
13242 * eval.c (Fsignal): Remove duplicated declaration of
13243 the variable `display_hourglass_p'.
13244
13245 2002-01-31 Richard M. Stallman <rms@gnu.org>
13246
13247 * editfns.c (region_limit): Nicer error message.
13248
13249 * coding.c (decode_composition_emacs_mule):
13250 Give up if NCOMPONENT gets too large to index `component'.
13251
13252 * callint.c (check_mark): New arg to specify clearer error message.
13253 Callers changed.
13254
13255 2002-01-27 Richard M. Stallman <rms@gnu.org>
13256
13257 * minibuf.c (Fcompleting_read): Doc fix.
13258
13259 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13260
13261 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
13262 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
13263 Fix doc-strings.
13264
13265 2002-01-26 Richard M. Stallman <rms@gnu.org>
13266
13267 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
13268
13269 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
13270 and scroll_up_aggressively.
13271
13272 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13273
13274 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
13275
13276 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
13277
13278 * textprop.c (Fnext_property_change, Fnext_single_property_change)
13279 (Fprevious_property_change, Fprevious_single_property_change):
13280 Stay within the narrowed-buffer boundaries.
13281
13282 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
13283
13284 * term.c (Ftty_display_color_cells): New function.
13285 (syms_of_term): Defsubr it.
13286 (Ftty_display_color_cells, Ftty_display_color_p): Change the
13287 argument name to DISPLAY. Doc fix.
13288
13289 * dispextern.h: Add prototype for set_tty_color_mode and
13290 tty_setup_colors.
13291
13292 2002-01-24 Jason Rumney <jasonr@gnu.org>
13293
13294 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
13295 If region left to draw is not what was expected, mark the frame as
13296 garbaged.
13297
13298 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
13299 Combine the regions returned by BeginPaint and GetUpdateRect.
13300
13301 2002-01-23 Jason Rumney <jasonr@gnu.org>
13302
13303 * w32term.c (x_update_window_begin): Only hide caret if
13304 w32_use_visible_system_caret is set.
13305 (x_update_window_end): Only show caret if
13306 w32_use_visible_system_caret is set.
13307 (syms_of_w32term): Handle SystemParametersInfo call failing.
13308
13309 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
13310
13311 2002-01-22 Richard M. Stallman <rms@gnu.org>
13312
13313 * unexelf.c (unexec): Define n so as to cause compilation error
13314 for the code where people have often written n instead of nn.
13315
13316 * .gdbinit (hookpost-run): Defined.
13317
13318 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
13319
13320 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
13321
13322 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
13323
13324 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
13325 if fullscreen is being set.
13326
13327 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13328
13329 * minibuf.c (Fminibuffer_contents)
13330 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
13331 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
13332
13333 2002-01-21 Richard M. Stallman <rms@gnu.org>
13334
13335 * window.c (check_frame_size): Fix minimum height calculation.
13336
13337 2002-01-20 Ken Raeburn <raeburn@gnu.org>
13338
13339 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
13340 height before comparison.
13341 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
13342
13343 2002-01-20 Jason Rumney <jasonr@gnu.org>
13344
13345 * w32term.c (w32_system_caret_width): Remove.
13346 (w32_use_visible_system_caret): New user flag.
13347 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
13348 Windows reports a screen reader running.
13349 (x_update_window_begin): Hide the system caret.
13350 (x_update_window_end): Show the system caret.
13351 (x_display_and_set_cursor): Don't draw a cursor when
13352 w32_use_visible_system_caret is set. Do not adjust width.
13353
13354 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
13355 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
13356 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
13357 the user requests it. Use system default width when creating.
13358 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
13359
13360 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
13361 New window messages.
13362
13363 2002-01-20 Richard M. Stallman <rms@gnu.org>
13364
13365 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
13366
13367 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13368
13369 * doprnt.c (doprnt1): Fix typos in error call.
13370
13371 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
13372
13373 * unexelf.c (unexec) [__sgi]: Support the .got sections.
13374
13375 2002-01-20 Jason Rumney <jasonr@gnu.org>
13376
13377 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
13378 that Windows returns. If a double check fails, try to guess how
13379 ExtTextOut is going to act.
13380
13381 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
13382 in place of stricmp.
13383 (w32_list_synthesized_fonts): Removed.
13384 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
13385 (struct enumfont_t): New element; list.
13386 (enum_font_cb2): List all style and charset variations of a font.
13387 (Fw32_select_font): New optional argument; include_proportional.
13388 Exclude vertical fonts. Exclude proportional fonts unless
13389 include_proportional is non-nil.
13390 (w32_enable_synthesized_fonts): Change to a boolean.
13391 (Fw32_send_sys_command): Doc fix.
13392
13393 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13394
13395 * dispnew.c (update_frame): Move the variable `tem' to the block
13396 where it is used.
13397
13398 2002-01-19 Jason Rumney <jasonr@gnu.org>
13399
13400 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
13401 call to face-set-after-frame-default.
13402
13403 2002-01-18 Richard M. Stallman <rms@gnu.org>
13404
13405 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
13406 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
13407
13408 2002-01-17 Richard M. Stallman <rms@gnu.org>
13409
13410 * window.c (enlarge_window): When exceeding size of parent,
13411 directly delete all the siblings instead of trying to resize it.
13412
13413 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13414
13415 * term.c (set_tty_color_mode): Remove unused variable `tem'.
13416
13417 2002-01-16 Henrik Enberg <henrik@enberg.org>
13418
13419 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
13420
13421 2002-01-16 Kim F. Storm <storm@cua.dk>
13422
13423 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
13424 is invisible. This can happen if cursor is on top line of a
13425 window, and we switch to a buffer with a header line.
13426
13427 * w32term.c (x_erase_phys_cursor): Ditto.
13428
13429 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13430
13431 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
13432 `dont_resize' only when used.
13433
13434 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
13435
13436 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
13437
13438 * xdisp.c (display_mode_element): When computing charpos, depend
13439 on multibyteness of elt, not the text in field.
13440
13441 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13442
13443 * buffer.c (Fkill_all_local_variables):
13444 Increment `update_mode_lines' only once.
13445
13446 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13447
13448 * lisp.h (adjust_after_replace_noundo)
13449 (Fupdate_coding_systems_internal): Add prototypes.
13450
13451 * sound.c (Fplay_sound): Initialize header_size also for :data case.
13452
13453 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
13454
13455 Support for the --color command-line argument and tty-color-mode
13456 frame parameter:
13457
13458 * term.c (tty_default_color_capabilities, tty_setup_colors)
13459 (set_tty_color_mode): New functions.
13460 (term_init): Call tty_default_color_capabilities.
13461 (Qtty_color_mode_alist): New variable.
13462 (syms_of_term): Intern and staticpro it.
13463
13464 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
13465 frames.
13466 (do_switch_frame): For termcap frames, switch the tty
13467 color mode as specified by the frame's parameters.
13468 (Qtty_color_mode): New variable.
13469 (syms_of_frame): Intern and staticpro it.
13470
13471 * emacs.c (USAGE2): Add the --color option.
13472 (standard_args): Ditto.
13473
13474 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
13475
13476 * xterm.h (struct x_output): New members want_fullscreen,
13477 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
13478 y_pixels_outer_diff.
13479 New enum for FULLSCREEN_* constants.
13480 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
13481 is NULL.
13482 (x_fullscreen_adjust): Add prototype.
13483
13484 * emacs.c (USAGE2): Add the new full-screen arguments.
13485 (standard_args): Ditto.
13486
13487 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
13488 New variables.
13489 (syms_of_xfns): Intern and staticpro them.
13490 (x_frame_parms) <"fullscreen">: New parameter.
13491 (x_fullscreen_move, x_set_fullscreen): New functions.
13492 (x_set_frame_parameters): Support for Qfullscreen.
13493 (x_real_positions): More accurate computation of the frame position.
13494 (x_figure_window_size): Support full-screen frames.
13495 (Fx_create_frame): Default the fullscreen parameter.
13496
13497 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
13498 (XTread_socket) <Expose>: Call x_check_fullscreen.
13499 <ConfigureNotify>: Don't resize to fullscreen.
13500 Call x_check_fullscreen_move, and set the want_fullscreen member of
13501 output_data.x.
13502
13503 2002-01-13 Jason Rumney <jasonr@gnu.org>
13504
13505 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
13506 for mice with more than 3 buttons.
13507
13508 * w32term.c (parse_button): New parameter xbutton. Callers changed.
13509 (w32_read_socket): Handle new "XBUTTON" messages.
13510
13511 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
13512 (syms_of_w32fns): DEFVAR_BOOL it.
13513 (w32_wnd_proc): Handle new "XBUTTON" messages.
13514
13515 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13516
13517 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
13518
13519 2002-01-13 Andreas Schwab <schwab@suse.de>
13520
13521 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
13522
13523 2002-01-12 Andreas Schwab <schwab@suse.de>
13524
13525 * .gdbinit (xbuffer): Remove address operator since data is now a
13526 pointer.
13527
13528 2002-01-11 Richard M. Stallman <rms@gnu.org>
13529
13530 * insdel.c (adjust_after_replace_noundo): New function.
13531
13532 * coding.c (code_convert_region): Don't copy old text if undo disabled.
13533
13534 2002-01-09 Jason Rumney <jasonr@gnu.org>
13535
13536 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
13537 when checking for multiple frames.
13538
13539 2002-01-08 Richard M. Stallman <rms@gnu.org>
13540
13541 * window.c (delete_window): Rewrite the code for changing the
13542 selected window to handle the case where WINDOW is not a leaf.
13543
13544 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
13545
13546 * process.c (send_process): Set src_multibyte to 1 after the call
13547 top setup_coding_system, not before the call.
13548
13549 2002-01-07 Jason Rumney <jasonr@gnu.org>
13550
13551 * xmenu.c (set_frame_menubar, xmenu_show):
13552 (xdialog_show): Initialize wv->help to Qnil.
13553
13554 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
13555 (w32_dialog_show): Initialize wv->help to Qnil.
13556
13557 2002-01-06 Jason Rumney <jasonr@gnu.org>
13558
13559 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
13560
13561 * w32menu.c (w32_menu_display_help): Revert last change.
13562
13563 * xmenu.c (menu_highlight_callback): Revert last change.
13564
13565 2002-01-06 Andreas Schwab <schwab@suse.de>
13566
13567 * insdel.c (make_gap_larger): Make sure buffer size does not
13568 overflow range of int.
13569
13570 2002-01-05 Jason Rumney <jasonr@gnu.org>
13571
13572 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
13573 OVERLAPS_P.
13574
13575 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
13576
13577 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
13578 to the left or to the right of the pointer, put it against
13579 the left screen edge.
13580 (x_frame_parms): Add missing braces around initializer.
13581
13582 * w32term.c (x_setup_relief_colors): Don't compute an image's
13583 background color if it doesn't have a Pixmap.
13584 (notice_overwritten_cursor): Don't depend on
13585 output_cursor and updated_area. Compare pixel coordinates with
13586 window's cursor pixel coordinates.
13587 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
13588 Call notice_overwritten_cursor with new arg list.
13589 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
13590 unconditionally.
13591 (x_draw_image_relief): Use predefined macro instead of
13592 constant when the value of `tool_bar_button_relief' is negative.
13593
13594 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
13595
13596 2002-01-04 Richard M. Stallman <rms@gnu.org>
13597
13598 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
13599
13600 2002-01-03 Richard M. Stallman <rms@gnu.org>
13601
13602 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
13603 (Fkey_binding): Try the `keymap' property map first.
13604 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
13605 minor mode bindings.
13606
13607 2002-01-03 Kim F. Storm <storm@cua.dk>
13608
13609 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
13610
13611 2002-01-02 Richard M. Stallman <rms@gnu.org>
13612
13613 * keyboard.c (read_key_sequence): Handle the keymap property
13614 before minor mode maps.
13615
13616 * editfns.c (Fformat): Update thissize from field_width
13617 based on the actual width, in the string case.
13618
13619 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13620
13621 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
13622 when used as truth value to prevent gcc warnings.
13623
13624 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
13625 * w32proc.c: Include <config.h>.
13626
13627 2002-01-01 Andreas Schwab <schwab@suse.de>
13628
13629 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
13630 not EMACS_INT, to make them compatible with DEFVAR_INT.
13631 * lisp.h (max_specpdl_size): Adjust declaration.
13632
13633 2002-01-01 Richard M. Stallman <rms@gnu.org>
13634
13635 * print.c (print_object): Test print_escape_nonascii only for
13636 unibyte strings.
13637 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
13638 when outputting to a multibyte buffer.
13639
13640 2001-12-29 Richard M. Stallman <rms@gnu.org>
13641
13642 * print.c (print_object): In multibyte string, use hex escapes.
13643 Use octal only for unibyte strings.
13644 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
13645
13646 * lread.c (read_escape): New arg BYTEREP for reporting whether
13647 escape forces unibyte or multibyte.
13648 (read1): When reading a string, take note of that info.
13649
13650 2001-12-29 Ken Raeburn <raeburn@gnu.org>
13651
13652 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
13653 comparison to test lisp value returned by Fget.
13654
13655 2001-12-29 Richard M. Stallman <rms@gnu.org>
13656
13657 * lisp.h (max_specpdl_size): Add declaration.
13658
13659 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
13660
13661 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
13662 Handle modifier bits. Correct typo in error message.
13663
13664 2001-12-28 Richard M. Stallman <rms@gnu.org>
13665
13666 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
13667 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
13668 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
13669 Update calls to Fdefine_abbrev.
13670 (write_abbrev): Update for changed data format.
13671 Don't list "system" abbrevs.
13672 (Fexpand_abbrev): Update use count with new data format.
13673 (describe_abbrev): Update for changed data format.
13674 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
13675
13676 * config.in (HAVE_MBSINIT): Add #undef.
13677
13678 * strftime.c (mbsinit): Define as no-op if not available.
13679
13680 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
13681 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
13682
13683 * keymap.c (Flookup_key): Error message if key has wrong data type.
13684 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
13685 (exclude_key): New variable.
13686
13687 2001-12-28 Gerd Moellmann <gerd@gnu.org>
13688
13689 * xterm.c (x_setup_relief_colors): Don't compute an image's
13690 background color if it doesn't have a Pixmap.
13691
13692 * xterm.c (notice_overwritten_cursor): Don't depend on
13693 output_cursor and updated_area. Compare pixel coordinates with
13694 window's cursor pixel coordinates.
13695 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
13696 Call notice_overwritten_cursor with new arg list.
13697 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
13698 unconditionally.
13699
13700 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
13701 height of the cursor line to the amount to scroll.
13702
13703 2001-12-27 Richard M. Stallman <rms@gnu.org>
13704
13705 * intervals.c (set_point_both): The position after an invisible,
13706 intangible character is not an acceptable stopping point.
13707
13708 2001-12-27 Ken Raeburn <raeburn@gnu.org>
13709
13710 * window.c (enlarge_window): In new preserve_before code, convert
13711 CURBEG from lisp object to integer before doing arithmetic.
13712
13713 2001-12-27 Richard M. Stallman <rms@gnu.org>
13714
13715 * bytecode.c (Fbyte_code): Undo previous change.
13716
13717 2001-12-26 Kim F. Storm <storm@cua.dk>
13718
13719 * keyboard.c (record_char): Ignore duplicate help-echo events only
13720 separated by mouse-movement. When tracking mouse, only record
13721 first and last mouse-movement event in same window.
13722 Don't record mouse-movement events in keyboard macros.
13723
13724 2001-12-25 Richard M. Stallman <rms@gnu.org>
13725
13726 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
13727 (Fenlarge_window): New arg PRESERVE_BEFORE.
13728
13729 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
13730 instead of Fstring_as_unibyte.
13731
13732 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13733
13734 The following changes remove mocklisp support:
13735
13736 * mocklisp.h, mocklisp.c: Files removed.
13737
13738 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
13739 `Qmocklisp' and `Qmocklisp_arguments'.
13740 Remove prototype of syms_of_mocklisp.
13741
13742 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
13743
13744 * callint.c: Do not include mocklisp.h.
13745 (Fcall_interactively): Do not test for mocklisp case.
13746
13747 * eval.c: Remove variables `Qmocklisp_arguments',
13748 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
13749 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
13750 Do not test for mocklisp case.
13751 (Fwhile): Remove unused variable `tem'.
13752 (syms_of_eval): Remove variable `moclisp-arguments'.
13753
13754 * data.c (wrong_type_argument): Remove mocklisp case.
13755
13756 * doc.c (Fdocumentation): Remove mocklisp case.
13757
13758 * emacs.c (main): Do not call syms_of_mocklisp.
13759
13760 2001-12-21 Richard M. Stallman <rms@gnu.org>
13761
13762 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
13763 to the left or to the right of the pointer, put it against
13764 the left screen edge.
13765
13766 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
13767
13768 * Makefile.in (distclean): Remove .gdbinit if we are building
13769 outside the source tree.
13770
13771 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
13772
13773 * w32.c (emacs_root_dir): New function.
13774
13775 * msdos.c (emacs_root_dir): New function.
13776
13777 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
13778 of the current drive as the fallback for default_directory.
13779
13780 * dired.c (file_name_completion): Run the elements of
13781 completion-ignored-extensions through ENCODE_FILE.
13782
13783 * lisp.h (scmp): Remove prototype, since it's now a static
13784 function private to dired.c.
13785
13786 2001-12-18 Richard M. Stallman <rms@gnu.org>
13787
13788 * dired.c (scmp): Function moved from minibuf.c.
13789 Delete multibyte handling--used only on encoded strings.
13790
13791 * minibuf.c (scmp): Function moved to dired.c.
13792
13793 * fns.c (merge): Add QUIT call.
13794
13795 2001-12-18 Dave Love <fx@gnu.org>
13796
13797 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
13798 language/georgian.el.
13799
13800 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
13801
13802 * Makefile.in (lisp, shortlisp): Synchronize with changes to
13803 lisp/Makefile.in:DONTCOMPILE.
13804
13805 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13806
13807 * xdisp.c (window_box_height): Do not return negative values.
13808 From Gerd Moellmann <gerd@gnu.org>.
13809
13810 * keyboard.c (head_table): Add missing braces around initializer.
13811
13812 * term.c (keys): Likewise.
13813
13814 * xfns.c (x_frame_parms, visual_classes): Likewise.
13815
13816 2001-12-17 Sam Steingold <sds@gnu.org>
13817
13818 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
13819 patch (COMPOSING_P, not COMPOSING).
13820
13821 2001-12-17 Richard M. Stallman <rms@gnu.org>
13822
13823 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
13824
13825 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
13826 before calling decode_coding.
13827
13828 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
13829
13830 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
13831 instead of only for COMPOSITION_DISABLED.
13832
13833 2001-12-16 Richard M. Stallman <rms@gnu.org>
13834
13835 * alloc.c (pure_alloc): After overflow, allocate just a small block.
13836
13837 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
13838
13839 * buffer.h (struct buffer): New field `display_error_modiff'.
13840 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
13841
13842 * window.c (Frecenter): Clear display_error_modiff field.
13843
13844 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
13845 Call redisplay_window, but not if display_error_modiff field says no.
13846 (redisplay_window_error): New function.
13847 (displayed_buffer): New variable.
13848 (redisplay_internal, redisplay_windows): Call the new functions
13849 instead of redisplay_window directly.
13850
13851 2001-12-15 Richard M. Stallman <rms@gnu.org>
13852
13853 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
13854
13855 2001-12-14 Andrew Innes <andrewi@gnu.org>
13856
13857 * makefile.w32-in (EMACSLOADPATH): Define.
13858 ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs.
13859 (bootstrap-temacs): Remove dependency on bootstrap-clean.
13860
13861 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
13862
13863 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
13864 parameter have a numeric value all the time.
13865
13866 * w32fns.c (x_report_frame_params): Likewise.
13867
13868 2001-12-12 Richard M. Stallman <rms@gnu.org>
13869
13870 * fileio.c (Fwrite_region): Doc fix.
13871
13872 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
13873 (redisplay_internal): Call clear_image_cache only for window terminals.
13874
13875 2001-12-12 Gerd Moellmann <gerd@gnu.org>
13876
13877 * xdisp.c (move_it_vertically_backward): Change heuristic
13878 for the case that we didn't move far enough initially.
13879
13880 * window.c (Frecenter): Simplify computation in the case of window
13881 system frames and ARG < 0; use window_box_height.
13882
13883 2001-12-11 Richard M. Stallman <rms@gnu.org>
13884
13885 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
13886 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
13887
13888 2001-12-11 Andrew Innes <andrewi@gnu.org>
13889
13890 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
13891 arg is negative.
13892
13893 2001-12-11 Richard M. Stallman <rms@gnu.org>
13894
13895 * m/hp800.h: Split the __hpux conditional into the parts
13896 that are right for GNU/Linux too and the parts that are not.
13897 Use the former if GNU_LINUX.
13898 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
13899
13900 * s/gnu-linux.h (GNU_LINUX): Defined.
13901
13902 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13903
13904 * macros.c, msdos.c, w16select.c: Change doc-string comments to
13905 `new style' [w/`doc:' keyword].
13906
13907 2001-12-10 Jason Rumney <jasonr@gnu.org>
13908
13909 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
13910 before using.
13911
13912 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13913
13914 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
13915 keyword].
13916
13917 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
13918
13919 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
13920
13921 * s/hpux10.h (srand48): Don't undefine.
13922
13923 2001-12-09 Jason Rumney <jasonr@gnu.org>
13924
13925 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
13926 Add comment to explain where the struct came from.
13927 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
13928 (add_menu_item): Process pop-up menus first to avoid memory leak.
13929 (add_menu_item, w32_menu_display_help): Use `help' field as
13930 Lisp_Object.
13931 (w32_free_submenu_strings): Only free owner-drawn strings.
13932
13933 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13934
13935 * COPYING: Moved back.
13936
13937 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
13938 Add parentheses around && within ||.
13939
13940 * indent.c (compute_motion): Likewise.
13941
13942 * intervals.c (merge_properties_sticky): Likewise.
13943
13944 * coding.c (setup_coding_system, shrink_encoding_region)
13945 (Fdecode_sjis_char): Likewise.
13946
13947 2001-12-07 Andreas Schwab <schwab@suse.de>
13948
13949 * xdisp.c (display_mode_element): Don't read past end of string if
13950 it ends with '%'.
13951
13952 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
13953 can hold.
13954
13955 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
13956 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
13957 type changed to Lisp_Object.
13958 (syms_of_data): DEFVAR_LISP them.
13959
13960 2001-12-07 Richard M. Stallman <rms@gnu.org>
13961
13962 * callproc.c (init_callproc): Set Vdata_directory based on the source
13963 location whenever Emacs was run uninstalled.
13964
13965 2001-12-06 Paul Eggert <eggert@twinsun.com>
13966
13967 * config.in (HAVE_WORKING_VFORK): New #undefs.
13968 * process.c (create_process):
13969 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
13970 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
13971 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
13972 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
13973 * m/intel386.h (HAVE_VFORK): Likewise.
13974 * m/mips-siemens.h (HAVE_VFORK): Likewise.
13975 * m/mips.h (HAVE_VFORK): Likewise.
13976 * s/freebsd.h (vfork): Remove #define.
13977 * s/lynxos.h (HAVE_VFORK): Remove #undef.
13978 * s/usg5-4-2.h: Fix comment about vfork.
13979
13980 2001-12-06 Richard M. Stallman <rms@gnu.org>
13981
13982 * s/hpux10.h (random): Add undef.
13983 (HAVE_RANDOM): Define it just once.
13984
13985 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
13986
13987 * eval.c: Undo last change: the standard syntax is not wanted.
13988
13989 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
13990
13991 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
13992 scroll bars of the frame before deleting the frame itself. If the
13993 frame has a widget, delete the frame with XtDestroyWidget, and do
13994 not call XDestroyWindow before that.
13995
13996 2001-12-06 Kim F. Storm <storm@cua.dk>
13997
13998 * xfns.c (x_report_frame_params): Return actual fringe widths.
13999
14000 * w32fns.c (x_report_frame_params): Return actual fringe widths.
14001
14002 2001-12-05 Andrew Innes <andrewi@gnu.org>
14003
14004 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
14005 excessively large.
14006
14007 * insdel.c (make_gap_larger): New function.
14008 (make_gap_smaller): New function.
14009 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
14010 Call make_gap_smaller if arg is negative.
14011
14012 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
14013
14014 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
14015 Pass a dummy argument when calling interrupt_signal.
14016 (parse_menu_item): Mark disabled items before checking for empty def.
14017 (read_char_minibuf_menu_prompt): Make safety more visible.
14018 (read_key_sequence): Add a `first_unbound' variable.
14019 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
14020 unbound prefix as soon as we can detect it.
14021
14022 * doc.c (Fsnarf_documentation): Add prototype.
14023 (get_doc_string): Handle negative arguments.
14024 (Fdocumentation): Use AREF and ASIZE.
14025 Move the calls to get_doc_string to a single place.
14026 Don't confuse an interactive-spec for a docstring reference.
14027 (Fdocumentation_property): Take advantage of the fact that
14028 get_doc_string now ignores the sign of the docstring position.
14029
14030 * eval.c: Use standard syntax for usage in docstrings.
14031
14032 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14033
14034 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
14035
14036 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14037
14038 * xterm.c (x_draw_image_relief): Use predefined macro instead of
14039 constant when the value of `tool_bar_button_relief' is negative.
14040
14041 2001-12-02 Richard M. Stallman <rms@gnu.org>
14042
14043 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
14044 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
14045
14046 * fileio.c (read_non_regular): Delete Fsignal call.
14047
14048 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
14049
14050 * lisp.h (run_hook_list_with_args): Undo last change.
14051
14052 2001-12-01 Gerd Moellmann <gerd@gnu.org>
14053
14054 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
14055
14056 2001-12-01 Jason Rumney <jasonr@gnu.org>
14057
14058 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
14059
14060 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
14061 [!WM_MOUSELEAVE]: Define.
14062
14063 * w32menu.c (current_popup_menu, get_menu_item_info):
14064 (set_menu_item_info): New vars.
14065 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
14066 (w32_menu_show): Set current_popup_menu.
14067 (add_menu_item): Allocate new strings for owner-drawn menu items
14068 and help strings.
14069 Use owner-draw for disabled menu items again.
14070 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
14071 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
14072
14073 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
14074 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
14075 <WM_EXITMENULOOP>: Free menu strings.
14076 <WM_MOUSELEAVE>: Stop tracking mouse.
14077 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
14078
14079 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
14080 and mouse face.
14081
14082 2001-12-01 Kim F. Storm <storm@cua.dk>
14083
14084 The following changes add left-fringe and right-fringe
14085 frame parameters to adjust fringe widths, or remove one or
14086 both fringes.
14087
14088 * frame.h (struct frame): Remove trunc_area_pixel_width and
14089 trunc_area_cols fields.
14090 (Qleft_fringe, Qright_fringe): Declare.
14091 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
14092
14093 * frame.c (Qleft_fringe, Qright_fringe): New vars.
14094 (syms_of_frame): Initialize them.
14095
14096 * window.c (coordinates_in_window): Handle separate left and right
14097 fringe widths.
14098
14099 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
14100 and fringe_cols fields.
14101 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
14102 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
14103 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
14104 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
14105 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
14106 (x_compute_fringe_widths): Add prototype.
14107
14108 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
14109 fill fringe evenly with small dashes.
14110 (x_draw_fringe_bitmap): Clear background if necessary. Align and
14111 clip the new ZV bitmap to avoid jitter between rows.
14112 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
14113 background. Don't draw fringe bitmaps if fringe width is zero.
14114 (x_compute_fringe_widths): New function.
14115 (x_new_font, x_set_window_size_1): Use it.
14116
14117 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
14118 (x_set_frame_parameters): Process `font' parameter before other
14119 parameters as fringe widths depend on it.
14120 (x_set_fringe_width): New function.
14121 (x_figure_window_size): Use x_compute_fringe_widths.
14122 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
14123 parameters.
14124
14125 * widget.c (set_frame_size): Use x_compute_fringe_widths.
14126 (EmacsFrameSetCharSize): Ditto.
14127
14128 * w32term.h: Merged changes from xterm.h.
14129 * w32term.c: Merged changes from xterm.c.
14130 * w32fns.c: Merged changes from xfns.c.
14131
14132 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14133
14134 * COPYING: Removed.
14135
14136 2001-11-29 Dave Love <fx@gnu.org>
14137
14138 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
14139 extra extra slot.
14140 (detect_coding_mask): Fix call of detect_coding_iso2022.
14141
14142 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14143
14144 * fileio.c (file-name-coding-system)
14145 (default-file-name-coding-system): Doc fix (links to referenced
14146 variables added).
14147
14148 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
14149
14150 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
14151 Add dummy uses of gcproN variables.
14152
14153 * category.c (describe_category, describe_category_1)
14154 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
14155 (syms_of_category): Don't defsubr Sdescribe_categories.
14156
14157 2001-11-28 Richard M. Stallman <rms@gnu.org>
14158
14159 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
14160
14161 * Makefile.in (lispdir): New variable, referring to build dir.
14162 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
14163
14164 2001-11-28 Andrew Innes <andrewi@gnu.org>
14165
14166 * w32menu.c (w32_menu_display_help): Actually add the new argument
14167 OWNER.
14168
14169 2001-11-28 Jason Rumney <jasonr@gnu.org>
14170
14171 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
14172 menu items. From David Ponce <dponce@wanadoo.fr>.
14173 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
14174 conditionally.
14175 (w32_menu_display_help): New argument OWNER. Rewritten to store a
14176 help event in the owner frame's keyboard buffer.
14177
14178 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
14179 (Fx_show_tip): Don't subtract last width from row width.
14180
14181 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
14182 (w32_read_socket): Use EQ to compare frames.
14183
14184 2001-11-28 Gerd Moellmann <gerd@gnu.org>
14185
14186 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
14187 OVERLAPS_P.
14188
14189 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14190
14191 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
14192 `gcpro3' and `gcpro4'.
14193
14194 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
14195
14196 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
14197
14198 * ccl.c: Use AREF and ASIZE.
14199
14200 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
14201
14202 * lisp.h (run_hook_list_with_args): Remove.
14203 (LIST_END_P): Fix call to wrong_type_argument.
14204 (make_fixnum_or_float): Use EMACS_INT rather than int.
14205
14206 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
14207
14208 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
14209 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
14210
14211 * eval.c: Use AREF and ASIZE.
14212 (Ffetch_bytecode): Add the file name to the error message.
14213
14214 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
14215 which match the end of the file-name.
14216 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
14217 is not a valid env var, but leave it as is instead.
14218
14219 * keymap.c (access_keymap): Handle t bindings like nil bindings.
14220 Make nil bindings in char-tables transparent.
14221 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
14222
14223 2001-11-26 Richard M. Stallman <rms@gnu.org>
14224
14225 * textprop.c (set_text_properties_1): Allow START, END in either order.
14226 Do nothing if range is empty.
14227
14228 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
14229
14230 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
14231 (clean): Not here.
14232
14233 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
14234
14235 * textprop.c (set_text_properties_1): Clearly mark that the
14236 interval should not be empty.
14237
14238 * intervals.c (graft_intervals_into_buffer):
14239 Don't call set_text_properties_1 on an empty interval.
14240
14241 2001-11-25 Richard M. Stallman <rms@gnu.org>
14242
14243 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
14244
14245 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
14246 don't lose the data in it.
14247
14248 2001-11-25 Juanma Barranquero <lektu@terra.es>
14249
14250 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
14251
14252 * buffer.c (Fkill_buffer): Likewise.
14253
14254 * print.c (temp_output_buffer_setup): Likewise.
14255
14256 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
14257
14258 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
14259
14260 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
14261
14262 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
14263 Niemitalo <kon@iki.fi>.
14264
14265 2001-11-25 Jason Rumney <jasonr@gnu.org>
14266
14267 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
14268
14269 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
14270 (Fx_show_tip): Block input during frame creation.
14271 (Fx_show_tip, Fx_hide_tip): Enable.
14272
14273 2001-11-24 Richard M. Stallman <rms@gnu.org>
14274
14275 * lread.c (Fload): Detect recursive load error for more than 3
14276 nestings of the same file.
14277 (Vrecursive_load_depth_limit): Variable deleted.
14278 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
14279
14280 2001-11-24 Jason Rumney <jasonr@gnu.org>
14281
14282 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
14283 mouse position if either left or top is not specified.
14284
14285 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
14286 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
14287 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
14288 (my_create_tip_window): Assign tip_window.
14289 (x_create_tip_frame): Use same defaults as X.
14290 (compute_tip_xy): Remove unused variable. Use full screen width.
14291 (Fx_show_tip): Do not double height. Call ShowWindow directly.
14292
14293 * w32term.c (x_after_update_window_line): Doc fix.
14294 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
14295 frames.
14296 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
14297
14298 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
14299 for all Windowed systems.
14300
14301 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
14302
14303 * msdos.c (IT_clear_screen): If the frame's faces are not yet
14304 realized, use the initial screen colors to clear the screen.
14305
14306 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14307
14308 * textprop.c (Fset_text_properties): Remove unused variables
14309 `unchanged', `prev_changed', `s' and `len'.
14310
14311 * search.c (Freplace_match): Remove unused variable `inslen'.
14312
14313 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
14314
14315 2001-11-22 Jason Rumney <jasonr@gnu.org>
14316
14317 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
14318 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
14319 (my_create_tip_window): New function.
14320 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
14321 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
14322
14323 2001-11-20 Jason Rumney <jasonr@gnu.org>
14324
14325 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
14326 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
14327
14328 * w32fns.c (Vw32_system_coding_system): Remove.
14329 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
14330
14331 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
14332
14333 * fileio.c (Fwrite_region): Move choose_write_coding_system to
14334 after build_annotations.
14335
14336 * syntax.c (describe_syntax): Add dummy arg.
14337 (describe_syntax_1): Update call to describe_vector.
14338
14339 * category.c (describe_category): Add dummy arg.
14340 (describe_category_1): Update call to describe_vector.
14341
14342 * keymap.c (Fdescribe_vector): Add `describer' parameter.
14343 (describe_command, describe_translation): Add dummy second param.
14344 (describe_map): Call elt_describer with two arguments.
14345 (describe_vector_princ): Add `fun' parameter.
14346 Call it instead of the hardcoded `princ'.
14347 (describe_vector): Add arg `args'.
14348 Pass it as a new second argument to elt_describer.
14349
14350 * keymap.h (describe_vector): Update prototype.
14351
14352 * frame.c: Don't include keymap.h any more.
14353 (keys_of_frame): Remove.
14354
14355 * lisp.h (keys_of_frame): Remove declaration.
14356
14357 * emacs.c (main): Don't call `keys_of_frame' any more.
14358
14359 2001-11-14 Andreas Schwab <schwab@suse.de>
14360
14361 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
14362 if defined, 0 otherwise.
14363 (MAP_FAILED): Define if not defined and use it to test mmap failure.
14364 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
14365
14366 2001-11-19 Richard M. Stallman <rms@gnu.org>
14367
14368 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
14369
14370 2001-11-18 Jason Rumney <jasonr@gnu.org>
14371
14372 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
14373 (x_draw_bar_cursor): If the background color of the glyph under
14374 the cursor equals the frame's cursor color, use the glyph's
14375 foreground color for drawing the bar cursor.
14376 (x_after_update_window_line): Clear internal border in different
14377 circumstances.
14378 (w32_set_vertical_scroll_bar): Check for width and height > 0.
14379 (w32_draw_relief_rect): Correct relief by 1 pixel.
14380 (x_set_glyph_string_background_width):
14381 Set extends_to_end_of_line_p if the row's fill_line_p is set and
14382 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
14383 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
14384 if cursor_in_non_selected_windows is false.
14385 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
14386 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
14387 Notice if cursor gets overwritten.
14388 (notice_overwritten_cursor): Renamed from
14389 note_overwritten_text_cursor. Rewritten to take glyph widths
14390 into account, and to take X positions as parameters.
14391 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
14392 around call to x_draw_glyphs.
14393 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
14394 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
14395 color to use for image glyph reliefs.
14396 (x_draw_image_relief): Accept zero tool_bar_button_relief.
14397 (glyph_rect): Remove unused variable `area'.
14398
14399 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
14400 some items.
14401 (x_set_internal_border_width): Set frame garbaged when window
14402 doesn't exist yet.
14403 (Fx_create_frame): Accept zero tool_bar_button_relief.
14404 (x_clear_image_1, four_corners_best, image_background)
14405 (image_background_transparent): New functions.
14406 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
14407 (gs_format): Add `:background' entry.
14408 (lookup_image): Set IMG's background color if specified.
14409 (pbm_load, xbm_load_image, png_load): Set IMG's background field
14410 when appropriate.
14411 (x_clear_image_1): Reset `background_valid' and
14412 `background_transparent_valid' fields.
14413 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
14414 calculating it here. Set IMG's background_transparent field.
14415 (enum xpm_keyword_index): Add XPM_BACKGROUND.
14416 (enum png_keyword_index): Add PNG_BACKGROUND.
14417 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
14418 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
14419 (enum gif_keyword_index): Add GIF_BACKGROUND.
14420 (enum gs_keyword_index): Add GS_BACKGROUND.
14421 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
14422 Pre-calculate image background color where necessary.
14423 (x_create_x_image_and_pixmap, xbm_load, gs_load):
14424 Use display info's n_cbits entry for screen depth.
14425 (Fx_show_tip): Remove unused variables `buffer', `top',
14426 `left', `max_width' and `max_height'.
14427
14428 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
14429
14430 2001-11-18 Gerd Moellmann <gerd@gnu.org>
14431
14432 * puresize.h (BASE_PURESIZE): Increase to 750000.
14433
14434 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14435
14436 * frame.c (Fframe_live_p): Doc fix.
14437
14438 2001-11-18 Richard M. Stallman <rms@gnu.org>
14439
14440 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
14441 (message_dolog_marker3): New static variables hold three markers.
14442 (syms_of_xdisp): Initialize and staticpro them.
14443 (message_dolog): Use message_dolog_marker1..3 instead of
14444 allocating markers each time. Unchain them when done.
14445
14446 2001-11-17 Richard M. Stallman <rms@gnu.org>
14447
14448 * doc.c (Fsnarf_documentation): Doc fix.
14449
14450 2001-11-17 Andreas Schwab <schwab@suse.de>
14451
14452 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
14453
14454 2001-11-17 Richard M. Stallman <rms@gnu.org>
14455
14456 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
14457
14458 2001-11-17 Jason Rumney <jasonr@gnu.org>
14459
14460 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
14461
14462 2001-11-17 Gerd Moellmann <gerd@gnu.org>
14463
14464 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
14465 with invalid position.
14466
14467 2001-11-16 Richard M. Stallman <rms@gnu.org>
14468
14469 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
14470
14471 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
14472 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
14473 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
14474
14475 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
14476
14477 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
14478
14479 * fileio.c (build_annotations): Split off the tail.
14480 (build_annotations_2): New fun. Extracted from build_annotations.
14481 (Fwrite_region): Split the call to build_annotations into two
14482 calls to build_annotations and build_annotations_2.
14483
14484 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14485
14486 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
14487 clear_waiting_for_input with argument.
14488
14489 * xterm.h (x_update_cursor): Remove duplicated prototype.
14490
14491 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
14492
14493 * xterm.c (waiting_for_input): Remove unnecessary declaration.
14494
14495 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
14496
14497 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
14498
14499 * fileio.c (choose_write_coding_system): New fun, extracted
14500 from Fwrite_region.
14501 (Fwrite_region): Use it.
14502
14503 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
14504 (funcall_lambda, run_hook_with_args): Make static and add prototype.
14505 (ml_apply, find_handler_clause): Add prototype.
14506
14507 2001-11-16 Eli Zaretskii <eliz@gnu.org>
14508
14509 * config.in: Add #undef HAVE_COFF_H.
14510
14511 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
14512 Required for ISC 4.1.
14513
14514 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
14515
14516 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
14517 Andrew Wiseman <a.wiseman@btclick.com>.
14518
14519 2001-11-16 Kim F. Storm <storm@cua.dk>
14520
14521 The following changes are made to clean up the various internal
14522 references to the fringes to actually use the term `fringe' for
14523 them. Previously, they were called `flags areas', `bitmap areas',
14524 `left/right side of windows', or implicitly as `flags' or
14525 `bitmaps':
14526
14527 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
14528 Comments fixed. Use renamed symbols.
14529
14530 * dispnew.c: Comment fix. Use renamed symbols.
14531
14532 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
14533 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
14534 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
14535
14536 * msdos.c: Comment fix.
14537
14538 * w32fns.c: Use renamed symbols.
14539
14540 * w32term.c: Comment fixes. Use renamed symbols.
14541 (fringe_bitmap_type): Renamed from bitmap_type.
14542 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
14543 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
14544 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
14545
14546 * w32term.h: Comment fixes. Use renamed symbols.
14547 (fringes_extra): Renamed from flags_areas_extra.
14548 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
14549 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
14550 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
14551 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
14552 (FRAME_X_LEFT_FRINGE_WIDTH):
14553 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
14554 (FRAME_X_RIGHT_FRINGE_WIDTH):
14555 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
14556
14557 * widget.c: Use renamed symbols.
14558
14559 * window.c: Comment fixes. Use renamed symbols.
14560 (coordinates-in-window-p): Doc fix.
14561
14562 * xdisp.c: Comment fixes. Use renamed symbols.
14563
14564 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
14565
14566 * xfns.c: Use renamed symbols.
14567
14568 * xterm.c: Comment fixes. Use renamed symbols.
14569 (fringe_bitmap_type): Renamed from bitmap_type.
14570 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
14571 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
14572 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
14573
14574 * xterm.h: Comment fixes. Use renamed symbols.
14575 (fringes_extra): Renamed from flags_areas_extra.
14576 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
14577 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
14578 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
14579 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
14580 (FRAME_X_LEFT_FRINGE_WIDTH):
14581 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
14582 (FRAME_X_RIGHT_FRINGE_WIDTH):
14583 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
14584
14585 2001-11-15 Jason Rumney <jasonr@gnu.org>
14586
14587 * w32menu.c (add-menu-item): Make help_echo and radio buttons
14588 work for most menu items. From David Ponce
14589 <david.ponce@wanadoo.fr>.
14590
14591 2001-11-15 Gerd Moellmann <gerd@gnu.org>
14592
14593 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
14594 Some x_set_* function expect to be called even if old and new
14595 value are equal.
14596
14597 * xdisp.c (build_desired_tool_bar_string): Accept zero
14598 tool_bar_button_relief.
14599
14600 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
14601
14602 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
14603
14604 * xterm.c (x_draw_bar_cursor): If the background color of the
14605 glyph under the cursor equals the frame's cursor color, use
14606 the glyph's foreground color for drawing the bar cursor.
14607
14608 * dispnew.c (direct_output_forward_char): Fix character/byte
14609 position comparison.
14610
14611 2001-11-15 Miles Bader <miles@gnu.org>
14612
14613 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
14614 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
14615 Update arguments to find_field.
14616 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
14617 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
14618 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
14619 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
14620
14621 2001-11-14 Richard M. Stallman <rms@gnu.org>
14622
14623 * editfns.c (Fpropertize): Allow call with 1 arg.
14624
14625 * dispextern.h (image_background, image_background_transparent):
14626 Conditionalize on HAVE_X_WINDOWS.
14627
14628 2001-11-13 Richard M. Stallman <rms@gnu.org>
14629
14630 * print.c (Fprin1_to_string): Doc fix.
14631
14632 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
14633
14634 * floatfns.c (Fceiling, Ffloor): Doc fixes.
14635
14636 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
14637
14638 * fileio.c (Ffile_accessible_directory_p): Doc fix.
14639
14640 * eval.c (syms_of_eval): Doc fix.
14641
14642 * coding.c (syms_of_coding): Doc fix.
14643
14644 * doc.c (Fsnarf_documentation): Doc fix.
14645
14646 * dispnew.c (syms_of_display): Doc fix.
14647
14648 * category.c (Fget_unused_category): Doc fix.
14649
14650 * buffer.c (syms_of_buffer): Doc fixes.
14651
14652 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
14653
14654 * print.c (prin1, print): Doc fix.
14655
14656 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14657
14658 * fontset.h: Remove declarations of variables
14659 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
14660
14661 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
14662 `Vclip_large_size_font'.
14663
14664 2001-11-13 Jason Rumney <jasonr@gnu.org>
14665
14666 * w32fns.c: Doc fix.
14667
14668 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14669
14670 * xfaces.c (Fface_attributes_as_vector): Doc fix.
14671
14672 * fns.c: Doc fix.
14673
14674 * emacs.c: Doc fix.
14675
14676 * coding.c: Doc fix.
14677
14678 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
14679 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
14680 `new style' [w/`doc:' keyword].
14681
14682 2001-11-12 Richard M. Stallman <rms@gnu.org>
14683
14684 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
14685 LeaveNotify events. Only FocusIn and FocusOut do that now.
14686 (x_display_and_set_cursor): Do display hollow cursors in active
14687 minibuffer windows when they are not selected.
14688
14689 2001-11-12 Jason Rumney <jasonr@gnu.org>
14690
14691 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
14692 * w32term.c: Change doc-string comments to `new style'
14693 [w/`doc:' keyword]. Doc fixes.
14694
14695 * w32fns.c: Don't define max.
14696 (Fx_open_connection): Only execute once.
14697
14698 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14699
14700 * ccl.c: Change macros to use do-while block instead of if-else.
14701 Use braces to follow GNU Coding Standards.
14702
14703 2001-11-11 Richard M. Stallman <rms@gnu.org>
14704
14705 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
14706
14707 * lread.c (read_escape): Use end_of_file_error for reporting eof.
14708
14709 * insdel.c (replace_range): Use adjust_markers_for_replace
14710 instead of adjust_markers_for_delete and adjust_markers_for_insert.
14711
14712 * intervals.h: Declare set_text_properties and set_text_properties_1.
14713
14714 * textprop.c (set_text_properties_1): New subroutine
14715 broken out of set_text_properties.
14716 (set_text_properties): Use set_text_properties_1.
14717
14718 * intervals.c (graft_intervals_into_buffer):
14719 Use set_text_properties_1 to clear out properties.
14720
14721 * search.c (Freplace_match): Use replace_range to insert
14722 and delete. Don't request property inheritance from
14723 surrounding text.
14724
14725 2001-11-10 Jason Rumney <jasonr@gnu.org>
14726
14727 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
14728 vertical fonts. Allow them if face name is explicitly specified.
14729 Do not give up if we find a font that cannot be converted to an xlfd.
14730
14731 2001-11-10 Gerd Moellmann <gerd@gnu.org>
14732
14733 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
14734 instead of malloc/free.
14735
14736 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14737
14738 * xfaces.c (merge_face_vectors): Use braces to follow GNU
14739 Coding Standards.
14740 (Finternal_set_lisp_face_attribute): Likewise.
14741
14742 * buffer.c (Fbury_buffer): Likewise.
14743
14744 * indent.c (current_column_1): Remove unused variable `prev_col'.
14745
14746 * coding.c (encode_coding): Use precomputed value of `src'.
14747 (encode_coding): Remove unused variable `src_end'.
14748 (code_convert_region): Remove unused variables `count'.
14749
14750 2001-11-07 Jason Rumney <jasonr@gnu.org>
14751
14752 * w32term.c (x_display_and_set_cursor): Do not move system caret
14753 if cursor_glyph is NULL.
14754
14755 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14756
14757 * keymap.c (access_keymap): Fix compilation error.
14758
14759 2001-11-07 Miles Bader <miles@gnu.org>
14760
14761 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
14762
14763 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14764
14765 * intervals.c (graft_intervals_into_buffer):
14766 Remove #ifdef'd-out code.
14767 (graft_intervals_into_buffer): Remove unused variable `middle'.
14768
14769 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
14770 code (eval-current-buffer).
14771 Change doc-string comments to `new style' [w/`doc:' keyword].
14772
14773 2001-11-06 Richard M. Stallman <rms@gnu.org>
14774
14775 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
14776
14777 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
14778
14779 * lread.c (read1): Fix behavior with nested backquoting.
14780
14781 * keyboard.c (make_lispy_event): Check integerness and fix
14782 Lisp_Object/int mixup.
14783
14784 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14785
14786 * fns.c (copy_hash_table): Remove unused variable `v'.
14787
14788 * fontset.c (fontset_font_pattern): Remove unused variable
14789 `family_registry'.
14790
14791 * indent.c (current_column_1): Remove unused variable `prev_col'.
14792
14793 2001-11-05 Richard M. Stallman <rms@gnu.org>
14794
14795 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
14796
14797 * buffer.c (Fkill_buffer): Don't delete auto save file
14798 if buffer is modified.
14799
14800 2001-11-05 Andrew Innes <andrewi@gnu.org>
14801
14802 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
14803 CHECK_NUMBER_CDR.
14804
14805 2001-11-05 Richard M. Stallman <rms@gnu.org>
14806
14807 * unexelf.c (unexec): Minor changes; clean up comments.
14808
14809 2001-11-05 Sam Steingold <sds@gnu.org>
14810
14811 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
14812
14813 2001-11-05 Andreas Schwab <schwab@suse.de>
14814
14815 * sound.c (sound_perror): Save errno from being clobbered.
14816
14817 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
14818
14819 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
14820 the program image directly.
14821
14822 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14823
14824 * buffer.h (Fbuffer_local_value): Add prototype.
14825
14826 2001-11-04 Richard M. Stallman <rms@gnu.org>
14827
14828 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
14829 and CHECK_BUFFER.
14830
14831 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
14832 (record_char): Likewise.
14833
14834 * keyboard.c (make_lispy_event): Don't insist a drag event must
14835 move to a different buffer position. Instead, check for moving at
14836 least double_click_fuzz.
14837
14838 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
14839
14840 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
14841
14842 * indent.c (current_column_1, Fmove_to_column): Separate the code
14843 for display-table glyphs from the code for buffer text, to fix
14844 bugs in the former.
14845
14846 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
14847
14848 * buffer.c (Fbuffer_local_value): New function.
14849 (syms_of_buffer): Defsubr it.
14850
14851 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
14852 value of `cursor-in-non-selected-windows'.
14853
14854 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
14855 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
14856 (syms_of_xdisp): Initialize it.
14857
14858 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14859
14860 * xfns.c (Fx_create_frame): Doc fix.
14861
14862 * coding.c: Change doc-string comments to `new style' [w/`doc:'
14863 keyword].
14864
14865 * eval.c (top_level_value, top_level_set): Remove commented and
14866 #ifdef'd-out code.
14867 (Fdefvar): Fix usage in doc-string.
14868
14869 2001-11-03 Richard M. Stallman <rms@gnu.org>
14870
14871 * xfns.c: Include unistd.h, if it exists.
14872
14873 * editfns.c: Move the include of ctype.h after unistd.h.
14874
14875 * gmalloc.c: Test BROKEN_PROTOTYPES.
14876
14877 2001-11-03 Ken Raeburn <raeburn@gnu.org>
14878
14879 * lisp.h (CHECK_STRING_CAR): New macro.
14880 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
14881 treating XCAR and XCDR as lvalues.
14882 (openp): Use CHECK_STRING_CAR.
14883 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
14884
14885 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
14886
14887 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
14888 (SIGMASKTYPE): Define.
14889
14890 * syssignal.h (sigunblock): Don't define if already defined.
14891
14892 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14893
14894 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
14895 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
14896 Fix typos in comments.
14897
14898 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
14899 and #ifdef'd-out code.
14900 Fix and reindent comments.
14901
14902 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
14903
14904 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
14905 argument `i' in macros.
14906
14907 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
14908 `i' in macros.
14909
14910 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
14911 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
14912 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
14913 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
14914 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
14915 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
14916 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
14917 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
14918 in macros.
14919
14920 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
14921 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
14922 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
14923 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
14924 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
14925 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
14926 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
14927 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
14928 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
14929 (remove unused second argument).
14930
14931 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
14932
14933 * syntax.c (describe_syntax): New wrapper.
14934 (Finternal_describe_syntax_value): Rename from describe_syntax.
14935 Don't insert space at front and \n at the end.
14936 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
14937
14938 * regex.c (re_wctype): Try to fix some warnings.
14939 (regcomp, regexec): Don't forget the __restrict.
14940
14941 2001-11-02 Richard M. Stallman <rms@gnu.org>
14942
14943 * textprop.c (Fget_char_property): Doc fix.
14944
14945 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14946
14947 * process.c (Fstart_process): Add usage to doc-string.
14948
14949 * data.c (Fsetq_default): Ditto.
14950
14951 * callint.c (Finteractive): Ditto.
14952
14953 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
14954
14955 * macros.c: Don't include keymap.h any more.
14956
14957 2001-11-01 Richard M. Stallman <rms@gnu.org>
14958
14959 * data.c (Fmake_local_variable): Doc fix.
14960
14961 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
14962 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
14963
14964 * keymap.c (Fdescribe_buffer_bindings): Print character property
14965 bindings along with or instead of the buffer local map.
14966 Make the overriding maps override what they should.
14967
14968 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14969
14970 * window.c (grow_mini_window): Fix typo in comment.
14971
14972 2001-11-01 Gerd Moellmann <gerd@gnu.org>
14973
14974 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
14975 (XTset_vertical_scroll_bar): Likewise.
14976
14977 * xfns.c (x_build_heuristic_mask): Use four_corners_best
14978 instead of IMAGE_BACKGROUND.
14979
14980 * xfns.c (four_corners_best): Reindent.
14981
14982 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
14983 Handle :box so that it is possible to specify sexprs.
14984
14985 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
14986
14987 * s/hpux11.h: New file.
14988
14989 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14990
14991 * emacs.c (USAGE1): Show command line option --no-window-system
14992 instead of --no-windows in usage.
14993 (standard_args): Rename --no-windows to --no-window-system.
14994 (bug_reporting_address): Follow Emacs coding conventions.
14995
14996 * eval.c (Fcommandp): Doc fix.
14997 Change doc-string comments to `new style' [w/`doc:' keyword].
14998
14999 * frame.c (Fframe_live_p): Doc fix.
15000
15001 * buffer.c (selective-display-ellipses): Doc fix.
15002
15003 2001-10-31 Gerd Moellmann <gerd@gnu.org>
15004
15005 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
15006
15007 * xfaces.c (realize_x_face): If C is not a single-byte character,
15008 set the face's colors_copied_bitwise_p instead of the defaulted_p
15009 members which have a different meaning.
15010 (free_face_colors): Do nothing for a face whose colors have been
15011 copied bitwise.
15012
15013 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
15014
15015 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15016
15017 * marker.c, mocklisp.c: Change doc-string comments to `new style'
15018 [w/`doc:' keyword].
15019
15020 2001-10-31 Gerd Moellmann <gerd@gnu.org>
15021
15022 * fns.c (require_unwind): Return Lisp_Object.
15023
15024 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15025
15026 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
15027 (last-input-char): Revert doc-string to be the same as the
15028 doc-string of `last-input-event'.
15029
15030 * xdisp.c: Fix typos in comments.
15031
15032 2001-10-31 Gerd Moellmann <gerd@gnu.org>
15033
15034 * window.c (grow_mini_window): Handle case that the root
15035 window is already smaller than the nominal mininum height.
15036
15037 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
15038
15039 * emacs.c (main): Don't call keys_of_macros any more.
15040
15041 * lisp.h (keys_of_macros): Remove.
15042
15043 * macros.c (keys_of_macros): Remove.
15044
15045 * xfaces.c (Fface_attribute_relative_p): Declare args.
15046
15047 2001-10-30 Jason Rumney <jasonr@gnu.org>
15048
15049 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
15050 (enum_font_cb2): Ignore fonts with vertical orientation.
15051
15052 2001-10-30 Richard M. Stallman <rms@gnu.org>
15053
15054 * keyboard.c (Finput_pending_p): Doc fix.
15055
15056 2001-10-30 Gerd Moellmann <gerd@gnu.org>
15057
15058 * xterm.c (x_after_update_window_line): Don't run the code
15059 clearing in borders for rows whose visible height is 0.
15060
15061 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
15062 resized_p flag is set. If not set, use the much less flickering
15063 method previously used.
15064
15065 * dispnew.c (change_frame_size_1): Set frame's resized_p.
15066
15067 * frame.h (struct frame) <resized_p>: New member.
15068
15069 * lread.c (to_multibyte): Ensure read_buffer is at least twice
15070 as large as the number of bytes to convert.
15071
15072 * lread.c (to_multibyte): New function.
15073 (read1): Use it.
15074
15075 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
15076
15077 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
15078
15079 2001-10-30 Gerd Moellmann <gerd@gnu.org>
15080
15081 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
15082 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
15083 if the row's fill_line_p is set and drawing the last glyph with
15084 DRAW_IMAGE_{RAISED,SUNKEN}.
15085
15086 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
15087
15088 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
15089
15090 * xmenu.c: Include coding.h and charset.h.
15091 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
15092 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
15093 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
15094 Explicitly set wv->help. Use `TRUE' rather than `True'.
15095 (menu_help_callback): Use empty_string.
15096
15097 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
15098 (Fx_popup_dialog): Explicitly init f.
15099 (w32_menu_display_help): Use empty_string.
15100
15101 2001-10-29 Richard M. Stallman <rms@gnu.org>
15102
15103 * fns.c (Frequire): Detect recursive try to require the same
15104 feature 3 or more levels deep, and get error.
15105 (require_unwind): New subroutine.
15106 (require_nesting_list): New variable.
15107 (syms_of_fns): Init and staticpro it.
15108
15109 * print.c (print_object): Clarify indication of insertion type.
15110
15111 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
15112
15113 * coding.c (syms_of_coding): Document that locale-coding-system is
15114 used for decoding input on X.
15115
15116 * window.c (Fscroll_left, Fscroll_right): Doc fix.
15117
15118 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15119
15120 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
15121 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
15122
15123 2001-10-29 Gerd Moellmann <gerd@gnu.org>
15124
15125 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
15126 use NO_CURSOR if cursor_in_non_selected_windows is false.
15127
15128 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
15129 the slant attribute if FRAME is t.
15130
15131 * xfns.c (x_set_internal_border_width): Set frame garbaged
15132 when X window doesn't exist yet.
15133
15134 * xterm.c (x_after_update_window_line): Clear internal border
15135 in different circumstances.
15136
15137 * xterm.c (XTread_socket) <KeyPress>: Don't use
15138 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
15139 <handa@etl.go.jp>.
15140
15141 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
15142
15143 * m/ibms390.h: New file. From Adam Thornton
15144 <athornton@sinenomine.net>.
15145
15146 2001-10-28 Gerd Moellmann <gerd@gnu.org>
15147
15148 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
15149
15150 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
15151 a loop counter.
15152
15153 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15154
15155 * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
15156
15157 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
15158 keyword].
15159 Fix typos in comments.
15160
15161 * emacs.c (bug_reporting_address): New function.
15162 Use it when displaying usage message.
15163
15164 * minibuf.c (read_minibuf): Remove unused external declaration of
15165 variable `Qread_only'.
15166
15167 * keymap.c (access_keymap): Remove unused variable `charset'.
15168
15169 2001-10-28 Miles Bader <miles@gnu.org>
15170
15171 * xfaces.c (merge_face_heights): Handle TO being relative as well.
15172 Remove #ifdef'd-out code.
15173 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
15174 (syms_of_xfaces): Initialize them.
15175
15176 2001-10-27 Jason Rumney <jasonr@gnu.org>
15177
15178 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
15179 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
15180 position using the system caret.
15181
15182 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
15183 (w32_system_caret_height, w32_system_caret_x)
15184 (w32_system_caret_y): New variables for tracking system caret.
15185 (w32_initialize): Initialize them.
15186 (x_display_and_set_cursor): Make system caret follow the active cursor.
15187
15188 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
15189 New messages types.
15190
15191 * w32term.c (note_mouse_highlight): Clear old help_echo.
15192
15193 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15194
15195 * xterm.c: Fix typo in a comment.
15196
15197 * emacs.c: Fix typos in comments.
15198 Remove unnecessary spaces.
15199 Change doc-string comments to `new style' [w/`doc:' keyword].
15200 (USAGE2): Fix typos in usage string.
15201
15202 * xterm.c: Fix typo in a comment.
15203
15204 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
15205 emacs.c.
15206
15207 2001-10-27 Gerd Moellmann <gerd@gnu.org>
15208
15209 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
15210 instead of 1/2 line_height in the heuristic for skipping
15211 farther backward when target_y was not reached.
15212
15213 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
15214 Display errno only if non-zero.
15215 (sound_warning): New function.
15216 (vox_configure): Don't treat failing to set sample rate as error.
15217 (various places): Improve error messages.
15218
15219 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
15220
15221 * fileio.c (Faccess_file): Run the argument filename through
15222 Fexpand_file_name, before using it.
15223
15224 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
15225 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
15226
15227 2001-10-26 Gerd Moellmann <gerd@gnu.org>
15228
15229 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
15230
15231 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
15232 Fix clearing in the case of scroll bars on the right.
15233
15234 2001-10-26 Juanma Barranquero <lektu@terra.es>
15235
15236 * w32gui.h (XImage): Add a dummy typedef.
15237
15238 2001-10-26 Gerd Moellmann <gerd@gnu.org>
15239
15240 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
15241
15242 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
15243
15244 * frame.c (Fframe_parameter): Fix last change.
15245
15246 * fileio.c: Revert last change (which removed old commented-out
15247 version of expand-file-name). Add a comment that explains why
15248 this old version should not be removed.
15249
15250 2001-10-25 Gerd Moellmann <gerd@gnu.org>
15251
15252 * frame.c (Fframe_parameter): Fix a bug whereby some
15253 ``artificial'' frame parameters, like `minibuffer' were not
15254 obtained by calling Fframe_parameters.
15255
15256 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
15257 cursor differently.
15258
15259 * xdisp.c (move_it_vertically_backward): Compute line height
15260 differently. Add heuristic to try to be more compatible to 20.x.
15261
15262 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
15263
15264 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
15265
15266 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
15267 boolean.
15268
15269 2001-10-25 Miles Bader <miles@gnu.org>
15270
15271 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
15272 BG is a pointer to a structure, not a structure.
15273 (gif_format, png_format): Add missing commas.
15274
15275 2001-10-24 Richard M. Stallman <rms@gnu.org>
15276
15277 * xfaces.c (Fface_attributes_as_vector): New function.
15278 (syms_of_xfaces): Defsubr it.
15279
15280 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15281
15282 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
15283 variable `area'.
15284
15285 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15286
15287 * search.c (scan_newline): Remove unused variable `selective_display'.
15288
15289 2001-10-25 Miles Bader <miles@gnu.org>
15290
15291 * dispextern.h (struct image): Add `background',
15292 `background_valid', and `background_transparent' fields.
15293 (image_background, image_background_transparent): New declarations.
15294 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
15295 * xfns.c (image_background, image_background_transparent)
15296 (four_corners_best): New functions.
15297 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
15298 (gs_format): Add `:background' entry.
15299 (lookup_image): Set IMG's background color if specified.
15300 (pbm_load, xbm_load_image, png_load): Set IMG's background field
15301 when appropriate.
15302 (x_clear_image_1): Reset `background_valid' and
15303 `background_transparent_valid' fields.
15304 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
15305 calculating it here. Set IMG's background_transparent field.
15306 (enum xpm_keyword_index): Add XPM_BACKGROUND.
15307 (enum png_keyword_index): Add PNG_BACKGROUND.
15308 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
15309 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
15310 (enum gif_keyword_index): Add GIF_BACKGROUND.
15311 (enum gs_keyword_index): Add GS_BACKGROUND.
15312 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
15313 Pre-calculate image background color where necessary.
15314 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
15315 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
15316 color to use for image glyph reliefs.
15317
15318 2001-10-24 Gerd Moellmann <gerd@gnu.org>
15319
15320 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
15321 in full-width rows.
15322
15323 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
15324 Fix clearing of area not covered by scroll bar.
15325
15326 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15327
15328 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
15329 and `real_start'.
15330 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
15331 (glyph_rect): Remove unused variable `area'.
15332
15333 2001-10-24 Gerd Moellmann <gerd@gnu.org>
15334
15335 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
15336
15337 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
15338 (row_containing_pos): Take additional argument DY.
15339 Treat rows ending in middle of char differently.
15340 (display_line): Handle tabs on window systems differently.
15341
15342 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
15343 with additional argument.
15344
15345 * dispextern.h (row_containing_pos): Adjust prototype.
15346
15347 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
15348 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
15349 (try_window_id, try_window_reusing_current_matrix)
15350 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
15351 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
15352
15353 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15354
15355 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
15356 gnuemacs).
15357 (HAVE_BOXES): Fix typo in comment.
15358 (push_menu_pane): Fix typo in comment.
15359
15360 * xdisp.c: (display_prop_string_p): Remove unused local declaration
15361 of `Qwhen'.
15362 (single_display_prop_string_p): Remove unused local declarations
15363 of `Qwhen' and `Qmargin'.
15364 (string_buffer_position): Remove unused variable `around'.
15365 (store_frame_title): Remove unused variable `width'.
15366
15367 * window.c: Don't define max.
15368 (coordinates_in_window): Remove unused variable `uy'.
15369
15370 * widget.c: Don't define max.
15371
15372 * process.c: Don't define max.
15373 (create_process): Remove unused variable `buffer'.
15374
15375 2001-10-23 Gerd Moellmann <gerd@gnu.org>
15376
15377 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
15378
15379 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
15380
15381 * xfaces.c (Finternal_set_lisp_face_attribute)
15382 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
15383 frame is on a windowed display.
15384
15385 2001-10-23 Gerd Moellmann <gerd@gnu.org>
15386
15387 * dispnew.c (sync_window_with_frame_matrix_rows):
15388 Fix handling of windows which aren't full-width, fix handling
15389 of marginal areas.
15390
15391 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
15392
15393 2001-10-23 Andreas Schwab <schwab@suse.de>
15394
15395 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
15396 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
15397
15398 2001-10-23 Gerd Moellmann <gerd@gnu.org>
15399
15400 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
15401 REAL_END. Notice if cursor gets overwritten.
15402 (notice_overwritten_cursor): Take X positions as parameters.
15403 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
15404 around call to x_draw_glyphs.
15405
15406 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15407
15408 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
15409 instead of C) and usage.
15410
15411 * editfns.c (char-to-string): Fix argument names (use CHAR instead
15412 of C) and usage.
15413
15414 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
15415 `left', `max_width' and `max_height'.
15416
15417 2001-10-23 Gerd Moellmann <gerd@gnu.org>
15418
15419 * xdisp.c (display_line): For a tab continued to the next line,
15420 set row's ends_in_middle_of_char_p.
15421
15422 2001-10-22 Gerd Moellmann <gerd@gnu.org>
15423
15424 * xdisp.c (display_line): Fix computation of continuation lines
15425 width for TABs.
15426
15427 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15428
15429 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
15430 `Qlaplace'.
15431
15432 * fileio.c: Remove unused code.
15433
15434 2001-10-22 Miles Bader <miles@gnu.org>
15435
15436 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
15437 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
15438 Remove `DOC_STRINGS_IN_COMMENTS' cases.
15439
15440 2001-10-21 Jason Rumney <jasonr@gnu.org>
15441
15442 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
15443
15444 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
15445
15446 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
15447 (Finsert_string): Avoid the multi-line string literals warning.
15448
15449 2001-10-22 Miles Bader <miles@gnu.org>
15450
15451 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
15452 (Fdocumentation): Don't use it.
15453 (syms_of_doc): Don't initialize it.
15454
15455 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
15456 * print.c (Fwith_output_to_temp_buffer): Likewise.
15457 * window.c (Fsave_window_excursion): Likewise.
15458 * editfns.c (Fsave_excursion, Fsave_current_buffer)
15459 (Fsave_restriction): Likewise.
15460 * eval.c (Frun_hooks, Frun_hook_with_args)
15461 (Frun_hook_with_args_until_failure)
15462 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
15463 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
15464 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
15465 (Funwind_protect, Fcondition_case): Likewise.
15466 * coding.c (Ffind_operation_coding_system): Likewise.
15467 * keyboard.c (Ftrack_mouse): Likewise.
15468
15469 2001-10-21 Miles Bader <miles@gnu.org>
15470
15471 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
15472 (Fmake_hash_table): Add usage: string to doc string.
15473 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
15474 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
15475 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
15476 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
15477 (Fml_prefix_argument_loop): Likewise.
15478
15479 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15480
15481 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
15482
15483 * sysdep.c (init_sys_modes): Change doc-string comments to `new
15484 style' [w/`doc:' keyword].
15485
15486 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
15487 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
15488 comments to `new style' [w/`doc:' keyword].
15489
15490 2001-10-21 Jason Rumney <jasonr@gnu.org>
15491
15492 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
15493
15494 * w32term.c (remember_mouse_glyph): New function.
15495 (w32_mouse_position): Use it.
15496 (note_mouse_movement): If the mouse moved off the glyph, remember
15497 its new position.
15498
15499 * w32term.h (struct w32_output): Correct spelling of x_compatible.
15500 (w32_display_info): Add mouse_face_overlay.
15501
15502 * w32term.c (notice_overwritten_cursor): Renamed from
15503 note_overwritten_text_cursor. Rewritten to take glyph widths into
15504 account.
15505 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
15506 (fast_find_string_pos): New function.
15507 (fast_find_position): Return the correct vpos. Add parameter
15508 STOP. In the final row, stop before glyphs having STOP as object.
15509 Don't consider glyphs that are not from a buffer.
15510 (fast_find_position) [0]: Add a presumably more correct version
15511 for after 21.1.
15512 (expose_window_tree, expose_frame): Don't compute intersections here.
15513 (expose_window): Do it here instead.
15514 (expose_window_tree, expose_window, expose_line): Return 1 when
15515 overwriting mouse-face.
15516 (expose_window): If W is the window currently being updated, mark
15517 the frame garbaged.
15518 (expose_frame): If mouse-face was overwritten, redo it.
15519 (x_use_underline_position_properties): New variable.
15520 (syms_of_xterm): DEFVAR_BOOL it.
15521 (x_draw_glyph_string): Add comment to use it in future.
15522 (x_draw_glyph_string): Restore clipping after drawing box.
15523 Fix a computation of the underline position.
15524 (w32_get_glyph_string_clip_rect): Minor cleanup.
15525 (x_fill_stretch_glyph_string): Remove an assertion.
15526 (x_produce_glyphs): Don't convert multibyte characters
15527 to unibyte characters in unibyte buffers.
15528 (cursor_in_mouse_face_p): New function.
15529 (x_draw_stretch_glyph_string): Use it to choose a different GC
15530 when drawing a cursor within highlighted text. Don't draw
15531 background again if it has already been drawn.
15532 (x_draw_glyph_string_box): Don't draw a full-width
15533 box just because the glyph row's full_width_p flag is set.
15534 (x_draw_glyphs): Fix computation of rightmost x for
15535 full-width rows.
15536 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
15537 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
15538 change bottom shadow accordingly. Some cleanup.
15539 (x_update_window_end): Handle overwritten mouse face
15540 also for tool bar windows.
15541 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
15542 DRAW is DRAW_IMAGE_RAISED.
15543 (clear_mouse_face): Return 1 if text with mouse face was
15544 actually redrawn. Make the function static.
15545 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
15546 optimize away highlighting if we pass over that same overlay again.
15547 (note_mouse_highlight): Call mouse_face_overlay_overlaps
15548 to detect a case where we have to highlight a different region
15549 despite not having left the currently highlighted region.
15550 Set mouse_face_overlay in the x_display_info. Avoid changing the
15551 mouse pointer shape when show_mouse_face has already done it, or
15552 there is no need. Handle mouse-face and help-echo in strings.
15553 (glyph_rect): New function.
15554 (w32_mouse_position): Use it to raise the threshold for mouse
15555 movement event generation.
15556 (w32_initialize_display_info): Initialize the x_display_info's
15557 mouse_face_overlay.
15558 (w32_set_vertical_scroll_bar): Don't clear a zero height
15559 or width area.
15560 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
15561 a widget to zero height.
15562
15563 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
15564 Protect unibyte strings created by replacing their multibyte
15565 equivalents in menu_items.
15566 (w32_menu_show): Don't overwrite an item's name with its key
15567 description in case the description is a multibyte string.
15568 (single_submenu): Some cleanup.
15569
15570 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
15571 (postprocess_image): New function.
15572 (lookup_image): Call it for all image types except PostScript.
15573 (x_kill_gs_process): Call postprocess_image.
15574 (tiff_error_handler, tiff_warning_handler): New functions.
15575 (tiff_load): Install them as handlers.
15576 (x_kill_gs_process): Recognize if someone has cleared the image
15577 cache under us.
15578 (valid_image_p): Protect better against invalid image
15579 specifications. Previous code could signal an error.
15580 (Fx_hide_tip, Fshow_tip): Doc fix.
15581 (Fv_max_tooltip_size): New variable.
15582 (syns_of_xfns): DEFVAR_LISP it.
15583 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
15584 window buffer to *tip* right after creating the frame. Set frame's
15585 window_width. Use a maximum tooltip size specified by
15586 Vx_max_tooltip_size, if that has valid contents.
15587 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
15588 Make sure the tooltip is completely visible.
15589 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
15590 (Fx_create_frame): Adjust the frame's height for presence
15591 of the tool bar before calling x_figure_window_size.
15592 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
15593 when the window gets smaller.
15594 (x_set_foreground_color): Set frame's cursor_pixel.
15595 (x_set_foreground_color, x_set_background_color): Cleaned up.
15596 (x_set_font): Handle case of x_new_fontset returning the same name
15597 as before, although there was a change in fontsets.
15598
15599 2001-10-21 Miles Bader <miles@gnu.org>
15600
15601 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
15602 (Flogxor): Add usage: string to doc string.
15603 * charset.c (Fstring): Likewise.
15604 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
15605 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
15606
15607 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15608
15609 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
15610
15611 * alloc.c: Reindent DEFUNs with doc: keywords.
15612
15613 * abbrev.c (Finsert_abbrev_table_description): Reindent.
15614
15615 * frame.c: Change doc-string comments to `new style' [w/`doc:'
15616 keyword].
15617
15618 See ChangeLog.9 for earlier changes.
15619
15620 ;; Local Variables:
15621 ;; coding: iso-2022-7bit
15622 ;; End:
15623
15624 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
15625 Copying and distribution of this file, with or without modification,
15626 are permitted provided the copyright notice and this notice are preserved.
15627
15628 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4