(Vfringe_bitmaps): New variable.
[bpt/emacs.git] / src / ChangeLog
1 2004-09-27 Kim F. Storm <storm@cua.dk>
2
3 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>:
4 Doc fix. Format may now be a symbol or alist, not a cons.
5
6 * fringe.c (update_window_fringes): Handle new formats of
7 indicate-buffer-boundaries (symbol or alist). No longer
8 allow a simple cons.
9 (Ffringe_bitmaps_at_pos): Use nil value for no bitmap.
10
11 2004-09-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12
13 * config.in: Rebuild
14
15 2004-09-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
16
17 * config.in: Rebuild.
18
19 * Makefile.in: Run setarch i386 ./temacs if exec-shield is present.
20
21 2004-09-18 Stefan Monnier <monnier@iro.umontreal.ca>
22
23 * xterm.c (x_term_init): Work around a bug in some X servers.
24
25 2004-09-18 Richard M. Stallman <rms@gnu.org>
26
27 * buffer.c (syms_of_buffer) <default-major-mode>: Doc fix.
28
29 * xdisp.c (try_window_reusing_current_matrix):
30 Handle the case where we reach the old displayed text,
31 out of sync with the old line boundary.
32
33 2004-09-14 Stefan <monnier@iro.umontreal.ca>
34
35 * fileio.c (Finsert_file_contents): Fix case of replacement in a
36 narrowed buffer.
37
38 2004-09-14 Kim F. Storm <storm@cua.dk>
39
40 * puresize.h (PURESIZE_RATIO): Define based on BITS_PER_EMACS_INT.
41
42 * xfaces.c (Qface_no_inherit): New var.
43 (syms_of_xfaces): Intern and staticpro it.
44 (Finternal_make_lisp_face, Finternal_set_lisp_face_attribute)
45 (Finternal_copy_lisp_face, update_face_from_frame_parameter):
46 Don't increment face_change_count when face has non-nil
47 face-no-inherit property.
48
49 2004-09-13 Stefan Monnier <monnier@iro.umontreal.ca>
50
51 * bytecode.c (BYTE_CODE_QUIT): Add missing AFTER_POTENTIAL_GC.
52 (Fbyte_code): Remove dead code after `wrong_type_argument'.
53
54 * alloc.c (Fgarbage_collect): Mark keyboards, gtk data, and specpdl
55 before doing the mark_stack_check_gcpros since they are not on the stack.
56
57 2004-09-12 Kim F. Storm <storm@cua.dk>
58
59 * editfns.c (Fformat): Handle format strings with multiple text
60 properties. Reverse text property list from the format string,
61 so the positions are in increasing order.
62
63 2004-09-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
64
65 * xselect.c (x_reply_selection_request): XSync and UNBLOCK before
66 x_uncatch_errors so that possible protocol errors are delivered.
67
68 2004-09-10 Eli Zaretskii <eliz@gnu.org>
69
70 * Makefile.in (msdos.o): Depend on buffer.h, commands.h, and
71 blockinput.h.
72 (dosfns.o): Depend on blockinput.h, window.h, dispextern.h,
73 charset.h, and coding.h
74 (w16select.o): Depend on buffer.h, charset.h, coding.h, and
75 composite.h.
76 (term.o): Depend on window.h and keymap.h.
77 (abbrev.o): Depend on syntax.h.
78 (callint.o): Depend on keymap.h.
79 (casefiddle.o): Depend on charset.h and keymap.h.
80 (category.o): Depend on keymap.h.
81 (coding.o): Depend on dispextern.h.
82 (cmds.o): Depend on keyboard.h and keymap.h.
83 (dispnew.o): Depend on indent.h and intervals.h.
84 (doc.o): Depend on keymap.h.
85 (editfns.o): Depend on frame.h.
86 (emacs.o): Depend on dispextern.h.
87 (fileio.o): Don't depend on ccl.h.
88 (filelock.o): Depend on charset.h and coding.h.
89 (frame.o): Depend on w32term.h and macterm.h.
90 (insdel.o): Depend on region-cache.h.
91 (keyboard.o): Depend on keymap.h, w32term.h, and macterm.h.
92 (minibuf.o): Depend on $(INTERVALS_SRC) and keymap.h.
93 (search.o): Depend on $(INTERVALS_SRC).
94 (syntax.o): Depend on keymap.h, regex.h, and $(INTERVALS_SRC).
95 (window.o): Depend on keymap.h, blockinput.h, $(INTERVALS_SRC),
96 xterm.h, w32term.h, and macterm.h.
97 (xdisp.o): Depend on keyboard.h, $(INTERVALS_SRC), xterm.h,
98 w32term.h, and macterm.h.
99 (xfaces.o): Depend on keyboard.h, $(INTERVALS_SRC),
100 region-cache.h, xterm.h, w32term.h, and macterm.h.
101 (bytecode.o): Depend on dispextern.h, frame.h, and xterm.h.
102 (data.o): Depend on frame.h.
103 (fns.o): Depend on keymap.h, xterm.h, and blockinput.h.
104 (print.o): Depend on termchar.h and $(INTERVALS_SRC).
105 (lread.o): Depend on $(INTERVALS_SRC), termhooks.h, and coding.h.
106 (intervals.o): Depend on keymap.h.
107
108 * msdos.c (msdos_set_cursor_shape, IT_display_cursor): Add
109 debugging print-out to termscript.
110
111 2004-09-09 Richard M. Stallman <rms@gnu.org>
112
113 * xdisp.c (decode_mode_spec): Use current buffer for most purposes.
114
115 2004-09-08 Richard M. Stallman <rms@gnu.org>
116
117 * window.c (Fset_window_buffer): Doc fix.
118
119 * xdisp.c (Fformat_mode_line): New arg BUFFER says which buffer to use.
120
121 2004-09-08 Dan Nicolaescu <dann@ics.uci.edu>
122
123 * minibuf.c (history_delete_duplicates): New variable.
124 (read_minibuf): Use it.
125 (syms_of_minibuf): Create the corresponding lisp variable.
126
127 2004-09-08 Kim F. Storm <storm@cua.dk>
128
129 * xdisp.c (set_cursor_from_row): Also look at 'cursor' property in
130 overlay just before point.
131
132 2004-09-07 Luc Teirlinck <teirllm@auburn.edu>
133
134 * buffer.h (struct buffer): Add auto_save_file_format field.
135 * buffer.c (reset_buffer, init_buffer_once): Handle
136 auto_save_file_format field.
137 (syms_of_buffer): Add DEFVAR_PER_BUFFER for
138 `buffer-auto-save-file-format'.
139 * fileio.c: Delete declaration for removed Vauto_save_file_format.
140 (build_annotations): Adapt to replacement of
141 `auto-save-file-format' with the new buffer-local variable
142 `buffer-auto-save-file-format'.
143 (syms_of_fileio): Delete DEFVAR_LISP for auto-save-file-format.
144
145 2004-09-07 Jason Rumney <jasonr@gnu.org>
146
147 * w32term.h (AppendMenuW_Proc): Move declaration from w32menu.c.
148
149 * w32fns.c (w32_wnd_proc) [WM_MEASUREITEM, WM_DRAWITEM]: Handle
150 Unicode menu titles.
151
152 2004-09-07 Kim F. Storm <storm@cua.dk>
153
154 * xdisp.c (set_cursor_from_row): Fix last change. Only use 'cursor'
155 property from text property or overlay strings at point.
156
157 2004-09-07 Stefan <monnier@iro.umontreal.ca>
158
159 * xmenu.c (update_submenu_strings): YAILOM.
160 (set_frame_menubar): Make sure last_i is initialized.
161
162 2004-09-03 Jason Rumney <jasonr@gnu.org>
163
164 * w32menu.c (_widget_value): Add lname and lkey.
165 (digest_single_submenu): Set lname and lkey in widget_value
166 instead of name and key.
167 (update_submenu_strings): New function.
168 (set_frame_menubar): Remove call to inhibit_garbage_collection,
169 call update_submenu_strings.
170
171 * w32menu.c (globals_of_w32menu): Check for Unicode API.
172 (digest_single_submenu, w32_menu_show): Encode menu strings as
173 UTF-8 if Unicode API is available.
174 (utf8to16): New function.
175 (add_menu_item): Use it when calling Unicode API.
176
177 2004-09-03 Kim F. Storm <storm@cua.dk>
178
179 * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property
180 in overlay or text-property strings; set cursor on corresponding
181 glyph rather than at end of the string.
182
183 2004-09-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
184
185 * macfns.c (x_real_positions): Save the current window port and
186 set a new one before obtaining the global coordinate.
187 Use FRAME_MAC_WINDOW.
188 (x_set_name, x_set_title): Encode title to UTF8.
189 Use SetWindowTitleWithCFString.
190 (Fx_server_version): Get correct OS version.
191
192 * macmenu.c (add_menu_item): Remove unused variable `i'.
193 Don't let separator items destroy refence constants of other menu items.
194
195 * macterm.c (x_update_end): Move SetPortWindowPort to inside
196 BLOCK_INPUT.
197 (x_set_offset): Use FRAME_MAC_WINDOW.
198
199 * xdisp.c (note_mouse_highlight): Set the mouse pointer shape to
200 nontext_cursor if it is on a scroll bar.
201
202 * s/darwin.h (LIBS_CARBON): New define to specify libraries for
203 Carbon support.
204 (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++.
205 Use LIBS_CARBON.
206
207 2004-09-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
208
209 * xfns.c (x_set_name_internal): New function. Check if we shall call
210 xfree before ENCODE_UTF_8.
211 (x_set_name, x_set_title): Call x_set_name_internal.
212
213 2004-08-31 NAKAMURA Toshikazu <nr-tkz@nifty.com> (tiny change)
214
215 * w32fns.c (w32_load_font): If a BDF font is already loaded, do not
216 reload it.
217
218 2004-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
219
220 * macmenu.c (_widget_value): Add lname and lkey.
221 (single_submenu): Set lname and lkey in widget_value
222 instead of name and key.
223 (update_submenu_strings): New function.
224 (set_frame_menubar): Remove call to inhibit_garbage_collection,
225 call update_submenu_strings.
226
227 * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value
228 instead of name and key.
229 (update_submenu_strings): New function.
230 (set_frame_menubar): Remove call to inhibit_garbage_collection,
231 call update_submenu_strings.
232
233 * gtkutil.h (_widget_value): Added lname and lkey.
234
235 2004-08-30 Steven Tamm <steventamm@mac.com>
236
237 * macmenu.c (mac_menu_show): Remove shadowing of menu variable
238 by using different names for inner loop variables.
239
240 2004-08-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
241
242 * xmenu.c (set_frame_menubar): Reintroduce inhibit_garbage_collection
243 from 2002-07-15T00:01:34Z!raeburn@raeburn.org so that strings from ENCODE_UTF_8 isn't GC:ed before used.
244
245 * gtkutil.c (xg_create_frame_widgets): Compensate for tool bar when
246 tool bar items is 0.
247
248 2004-08-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
249
250 * macmenu.c (ENCODE_MENU_STRING): Added to handle multibyte
251 strings in menu items.
252 (single_submenu): Use ENCODE_MENU_STRING
253 (mac_menu_show): Use ENCODE_MENU_STRING. Reset grabbed because
254 button release isn't passed to event loop
255 (add_menu_item): Use SetMenuItemWithCFString
256
257 2004-08-26 Steven Tamm <steventamm@mac.com>
258
259 * fileio.c (Fread_file_name): Call x_file_dialog on carbon on
260 tool-bar/menu click
261 * macfns.c (Fx_file_dialog): Implemented using NavServices
262
263 2004-08-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
264
265 * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed.
266
267 * xfns.c (x_window_to_frame, x_any_window_to_frame)
268 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
269 (x_top_window_to_frame): Return 0 if wdesc is None.
270
271 2004-08-22 Richard M. Stallman <rms@gnu.org>
272
273 * process.c (process_send_signal) [SIGNALS_VIA_CHARACTERS,
274 HAVE_TERMIOS]: If there's no char for this signal, drop through
275 and use system calls.
276
277 * bytecode.c (Fbyte_code) <unwind-protect>: Cannot GC.
278
279 2004-08-20 Kim F. Storm <storm@cua.dk>
280
281 * process.c (wait_reading_process_output): Rename from
282 wait_reading_process_input. All uses changed.
283 (wait_reading_process_output_1): Rename from
284 wait_reading_process_input_1. All uses changed.
285
286 * dispnew.c (Fsleep_for): Remove obsolete code.
287
288 2004-08-20 Kenichi Handa <handa@m17n.org>
289
290 * syntax.c (skip_chars): Fix for unibyte case.
291
292 2004-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
293
294 * syntax.c (char_quoted): Mixup byte/char pos.
295 (back_comment): Fixup globals in all cases.
296
297 2004-08-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
298
299 * xfns.c (x_set_name, x_set_title): Encode title to UTF8 before
300 passing it to gtk_window_set_title.
301
302 2004-08-19 Kim F. Storm <storm@cua.dk>
303
304 * process.c (wait_reading_process_input): Clean up.
305 Add wait_for_cell, wait_proc, and just_wait_proc args
306 to avoid overloading `read_kbd' and `do_display' args.
307 Change read_kbd arg to int. All callers changed.
308
309 * process.c (process_send_signal): Use CDISABLE.
310
311 * sysdep.c (child_setup_tty, init_sys_modes): Use CDISABLE.
312
313 2004-08-18 Kim F. Storm <storm@cua.dk>
314
315 * process.c (Faccept_process_output): Add arg JUST-THIS-ONE;
316 forward to wait_reading_process_input via DO_DISPLAY arg.
317 (wait_reading_process_input): If DO_DISPLAY < 0 for a process
318 object, only process output from that process; also inhibit
319 running timers if DO_DISPLAY==-2.
320
321 2004-08-17 Kim F. Storm <storm@cua.dk>
322
323 * process.c (process_send_signal): Fix last change--use
324 _POSIX_VDISABLE instead of CVDISABLE when available.
325
326 2004-08-16 Richard M. Stallman <rms@gnu.org>
327
328 * sysdep.c (child_setup_tty) [SIGNALS_VIA_CHARACTERS]:
329 Set VQUIT and VINTR chars to the standard ones if they are unset.
330 [AIX]: Don't do that here. And don't force VINTR to standard
331 when SIGNALS_VIA_CHARACTERS.
332
333 * process.c (process_send_signal)
334 [SIGNALS_VIA_CHARACTERS, HAVE_TERMIOS]: Clean up.
335 Do nothing if the character is CVDISABLE.
336
337 * xfaces.c (merge_face_ref): Specifying `unspecified' is a no-op.
338
339 * intervals.c (move_if_not_intangible):
340 Force POSITION to be between BEGV and ZV.
341
342 2004-08-14 John Paul Wallington <jpw@gnu.org>
343
344 * buffer.c (Frestore_buffer_modified_p): Doc fix.
345
346 * fileio.c (Fread_file_name): Doc fix.
347
348 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
349
350 2004-08-09 Luc Teirlinck <teirllm@auburn.edu>
351
352 * keymap.c (Fmake_keymap, Fmap_keymap, Fwhere_is_internal): Doc fixes.
353
354 2004-08-08 Luc Teirlinck <teirllm@auburn.edu>
355
356 * keyboard.c: Declare Qdisabled_command_function instead of
357 Qdisabled_command_hook.
358 (Fcommand_execute): Use Qdisabled_command_function instead of
359 Qdisabled_command_hook.
360 (syms_of_keyboard): Ditto.
361
362 2004-08-07 Luc Teirlinck <teirllm@auburn.edu>
363
364 * keymap.c (Flocal_key_binding, Fglobal_key_binding)
365 (syms_of_keymap) <key-translation-map>: Doc fixes.
366
367 2004-08-07 Stefan Monnier <monnier@iro.umontreal.ca>
368
369 * window.c (window_list_1): YAILOM.
370
371 * fileio.c (make_temp_name): Handle multibyte prefixes.
372
373 2004-08-06 Luc Teirlinck <teirllm@auburn.edu>
374
375 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
376 Doc fix.
377
378 2004-08-03 Kenichi Handa <handa@m17n.org>
379
380 * coding.c (decode_coding_string): Adjust coding->consumed, and
381 etc. with shrinked_bytes.
382
383 2004-08-03 Kim F. Storm <storm@cua.dk>
384
385 * indent.c (compute_motion): Fix check for full width window
386 in non-window case. Do not count left truncation glyph on
387 window systems.
388
389 2004-08-02 Luc Teirlinck <teirllm@auburn.edu>
390
391 * data.c (Finteractive_form): Doc fix.
392
393 2004-08-02 Kim F. Storm <storm@cua.dk>
394
395 * indent.c (compute_motion): Use actual window width if WIDTH is -1,
396 properly accounting for continuation glyph on non-window systems.
397 (Fcompute_motion): Use actual window width if WIDTH is nil, and
398 actual window width/height if TOPOS is nil, properly accounting for
399 continuation glyphs on non-window systems, and optional header lines.
400 (vmotion): Let compute_motion calculate actual window width.
401
402 * window.c (window_scroll_line_based): Let compute_motion
403 calculate actual window width.
404
405 2004-08-02 Kim F. Storm <storm@cua.dk>
406
407 * process.c (read_process_output): Use whole read buffer.
408 Don't trigger adaptive read buffering on errors.
409
410 2004-07-31 Luc Teirlinck <teirllm@auburn.edu>
411
412 * keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes.
413
414 * keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix.
415
416 * callint.c (Fcall_interactively): Doc fix.
417
418 2004-07-30 Richard M. Stallman <rms@gnu.org>
419
420 * abbrev.c (Fexpand_abbrev): Undo previous change.
421
422 2004-07-30 Kim F. Storm <storm@cua.dk>
423
424 * editfns.c (Fformat): Allocate extra (dummy) element in info.
425
426 2004-07-28 Luc Teirlinck <teirllm@auburn.edu>
427
428 * eval.c (Fdefvar, Fdefconst): Doc fixes.
429
430 2004-07-27 Kim F. Storm <storm@cua.dk>
431
432 * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after
433 we have ensured that the glyph fits on the current line (or returned
434 MOVE_LINE_CONTINUED otherwise).
435
436 2004-07-26 Kim F. Storm <storm@cua.dk>
437
438 * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe
439 is enabled, return MOVE_LINE_CONTINUED rather than MOVE_POS_MATCH_OR_ZV
440 if target position is at end of display line but char is not a newline.
441
442 2004-07-25 Richard M. Stallman <rms@gnu.org>
443
444 * window.c (coordinates_in_window): Return ON_SCROLL_BAR
445 instead of ON_VERTICAL_BORDER, when on scroll bar.
446 (Fcoordinates_in_window_p): Handle ON_SCROLL_BAR--return nil.
447
448 * dispextern.h (enum window_part): Add ON_SCROLL_BAR.
449
450 * window.c (Fcoordinates_in_window_p):
451 Take account of FRAME_INTERNAL_BORDER_WIDTH.
452
453 * alloc.c (check_cons_list): New function (contents commented out).
454
455 2004-07-24 Luc Teirlinck <teirllm@auburn.edu>
456
457 * xfaces.c (Fcolor_supported_p): Doc fix.
458
459 * frame.c (Fselect_frame, Fset_frame_selected_window)
460 (Fframe_visible_p, Fraise_frame): Doc fixes.
461
462 2004-07-24 Richard M. Stallman <rms@gnu.org>
463
464 * keyboard.h (not_single_kboard_state): Declared.
465
466 * fileio.c (Fwrite_region): Doc fix.
467
468 * window.c (Fwindow_at): Take account of FRAME_INTERNAL_BORDER_WIDTH.
469
470 * abbrev.c (Fexpand_abbrev): Run Qpre_abbrev_expand_hook
471 only when a real abbrev is present.
472
473 * xfns.c (x_icon_verify): New function.
474 (Fx_create_frame): Use it.
475
476 2004-07-22 Barry Fishman <barry_fishman@att.net> (tiny change)
477
478 * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined.
479
480 2004-07-21 Kim F. Storm <storm@cua.dk>
481
482 * window.h (struct glyph_matrix): New members nrows_scale_factor
483 and ncols_scale_factor.
484
485 * window.c (make_window): Initialize nrows_scale_factor and
486 ncols_scale_factor members.
487
488 * dispnew.c (margin_glyphs_to_reserve): Apply ncols_scale_factor.
489 (allocate_matrices_for_frame_redisplay): Fix left/right margin mix-up.
490 (required_matrix_height): Apply nrows_scale_factor.
491 (required_matrix_width): Apply ncols_scale_factor.
492
493 * xdisp.c (display_line): Increment nrows_scale_factor and set
494 fonts_changed_p if past last allocated row.
495 (append_glyph, append_composite_glyph, produce_image_glyph)
496 (append_stretch_glyph): Increment ncols_scale_factor and set
497 fonts_changed_p if current area is full.
498
499 2004-07-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
500
501 * widget.c (EmacsFrameDestroy): Don't abort if normal_gc is 0.
502
503 2004-07-19 Luc Teirlinck <teirllm@auburn.edu>
504
505 * window.c (Fpos_visible_in_window_p, Fset_window_hscroll)
506 (Fwindow_inside_pixel_edges, Fwindow_end, Fset_window_point)
507 (Fset_window_start, Fscroll_up, Fscroll_down)
508 (Fother_window_for_scrolling, Fscroll_other_window)
509 (Fsave_window_excursion, Fset_window_vscroll)
510 (syms_of_window) <window-size-fixed>: Doc fixes.
511
512 2004-07-19 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
513
514 * w32fns.c (Fx_file_dialog): Use ENCODE_FILE instead of
515 ENCODE_SYSTEM for filenames.
516
517 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
518
519 * mac.c (sys_select): Block input around call to
520 ReceiveNextEvent to prevent breakage. Correctly handle
521 blocking on event queue only by calling ReceiveNextEvent
522 instead of select (since GUI events aren't on an fd).
523 (sys_read): Remove function
524 * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON
525
526 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
527
528 * mac.c (sys_select): Redo sys_select to use alarm-based
529 polling instead of 1 sec timeouts (like solaris).
530
531 * macterm.c (x_make_frame_visible): Comment in polling on
532 frame creation.
533
534 * keyboard.c: Undef SIGIO on Carbon
535
536 * atimer.c (alarm_signal_handler): Call alarm handlers after
537 scheduling.
538
539 * eval.c (Feval): Remove quit_char test
540
541 * process.c (wait_reading_process_input): Remove clearing
542 stdin for select call on process input.
543
544 2004-07-18 Luc Teirlinck <teirllm@auburn.edu>
545
546 * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Correct
547 capitalization error in docstring.
548
549 2004-07-17 Juanma Barranquero <lektu@terra.es>
550
551 * keyboard.c (not_single_kboard_state): Do nothing unless
552 MULTI_KBOARD is defined.
553
554 2004-07-17 Richard M. Stallman <rms@gnu.org>
555
556 * window.c (coordinates_in_window): Inside the window but outside
557 its box to the L or R, return ON_VERTICAL_BORDER.
558 (window_list_1): Rotate the list to start with WINDOW.
559
560 * print.c (print_preprocess): Test for print_depth at limit
561 before entering in being_printed.
562
563 * keyboard.c (not_single_kboard_state): New function.
564 (stuff_buffered_input): Now no-op only if no SIGTSTP.
565
566 * frame.c (Fdelete_frame): If we're in single_bboard_state on
567 this kboard, and we delete its last frame, go to any_kboard_state.
568
569 * buffer.c (syms_of_buffer) <transient-mark-mode>: Doc fix.
570
571 2004-07-15 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
572
573 * w32fns.c (Fx_file_dialog): Encode strings in system coding
574 system before passing them to OS functions for display.
575
576 2004-07-15 David Kastrup <dak@gnu.org>
577
578 * search.c (syms_of_search): Staticpro `saved_last_thing_searched'.
579 Apparently fixes an abort condition.
580
581 2004-07-14 Luc Teirlinck <teirllm@auburn.edu>
582
583 * fileio.c (Fvisited_file_modtime): Return a list of two integers,
584 instead of a cons.
585
586 2004-07-14 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
587
588 * keyboard.c (echo_dash): Do nothing if there already is a dash
589 at the end of the echo string.
590
591 2004-07-12 Kim F. Storm <storm@cua.dk>
592
593 * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value
594 if GC_MARK_STACK.
595
596 2004-07-10 Luc Teirlinck <teirllm@auburn.edu>
597
598 * buffer.c (Fswitch_to_buffer, Fpop_to_buffer): Doc fixes.
599
600 * window.c (Fwindow_buffer, Fother_window, Fget_lru_window)
601 (Fget_largest_window, Fget_buffer_window, Fdelete_windows_on)
602 (Freplace_buffer_in_windows, Fset_window_buffer)
603 (Fselect-window, Fdisplay-buffer, Fsplit_window): Doc fixes.
604 (syms_of_window): Expand docstring of `display-buffer-function'.
605
606 2004-07-09 Luc Teirlinck <teirllm@auburn.edu>
607
608 * editfns.c (Ffloat_time, Fformat_time_string, Fdecode_time)
609 (Fcurrent_time_string, Fcurrent_time_zone): Mention in docstrings
610 that time values of the type (HIGH . LOW) are considered obsolete.
611
612 2004-07-06 Luc Teirlinck <teirllm@auburn.edu>
613
614 * keyboard.c (syms_of_keyboard): Fix `keyboard-translate-table'
615 docstring.
616
617 * fns.c (Fclear_string): Declare `len' before call to CHECK_STRING.
618
619 2004-07-06 John Paul Wallington <jpw@gnu.org>
620
621 * eval.c (Fdefmacro): Signal an error if NAME is not a symbol.
622
623 * fns.c (Fclear_string): Signal an error if STRING is not a string.
624
625 2004-07-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
626
627 * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList
628 instead of CGMainDisplayID (only in OSX 10.2 and later).
629
630 2004-07-04 John Paul Wallington <jpw@gnu.org>
631
632 * fileio.c (read_file_name_completion_ignore_case): New variable.
633 (syms_of_fileio): Declare and initialise it.
634 (Fread_file_name): Bind `completion-ignore-case' to respect it.
635
636 2004-07-03 Eli Zaretskii <eliz@gnu.org>
637
638 * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects
639 for event.x and event.y.
640
641 2004-07-01 Kenichi Handa <handa@m17n.org>
642
643 * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly
644 after getting a new string by pre-write-conversion.
645
646 2004-06-30 Stefan <monnier@iro.umontreal.ca>
647
648 * xterm.c (x_detect_focus_change): Remove unused var `nr_events'.
649 (x_calc_absolute_position): Remove unused var `child'.
650
651 * xfaces.c (x_supports_face_attributes_p)
652 (Fdisplay_supports_face_attributes_p): YAILOM.
653 (tty_supports_face_attributes_p): Remove unused var `i'.
654
655 * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and
656 back_unibyte_ok.
657
658 * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM.
659
660 * fontset.c (Fset_fontset_font): Remove unused vars `family' and `registry'.
661
662 * Makefile.in (${etc}DOC): Fix file name of make-docfile.
663
664 2004-06-30 Andreas Schwab <schwab@suse.de>
665
666 * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES.
667 (Finit_image_library): Pass LIBRARIES through to
668 CHECK_LIB_AVAILABLE. Declare parameters. Doc fix.
669 (lookup_image_type): Pass Qnil as second argument to
670 Finit_image_library.
671
672 * lisp.h: Declare Finit_image_library.
673
674 2004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
675
676 * macterm.c (do_window_activate, do_window_deactivate): Remove.
677 (XTread_socket): Send mouse button events to the toolbox
678 dispatcher even when the mouse is grabbed. Don't process window
679 activate events for non-Emacs windows. Replace function calls to
680 do_window_activate and do_window_deactivate with their contents.
681 Reset mouse grabbing status when a window is deactivated.
682
683 2004-06-29 Steven Tamm <steventamm@mac.com>
684
685 * macterm.c (mac_get_emulated_btn)
686 (mac_event_to_emacs_modifiers): Fix emulated mouse button
687 support to correctly mask out modifiers.
688
689 2004-06-29 David Kastrup <dak@gnu.org>
690
691 * search.c (Fset_match_data): Allow buffer before end of list
692 which can happen if set-match-data is using a pre-consed list.
693
694 2004-06-28 Steven Tamm <steventamm@mac.com>
695
696 * macterm.c (XTread_socket): Correctly set the frame position
697 after the window is moved.
698
699 2004-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
700
701 * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
702 gpix and gmask just before return to avoid memory leak.
703 (xg_get_image_for_pixmap): Add workaround for monochrome displays
704 so insensitive and activated icons look ok.
705
706 2004-06-27 Jason Rumney <jasonr@gnu.org>
707
708 * w32fns.c (file_dialog_callback): Disable edit control if set
709 to directories only on CDN_INITDONE message.
710 (Fx_file_dialog): Default to directories only when prompt starts
711 with "Dired".
712
713 2004-06-25 Kim F. Storm <storm@cua.dk>
714
715 * alloc.c (allocate_misc): Update total_free_markers.
716 (free_misc): New function.
717 (safe_alloca_unwind, free_marker): Use it.
718
719 * lisp.h (free_misc): Add prototype.
720
721 * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs.
722
723 2004-06-24 Richard M. Stallman <rms@gnu.org>
724
725 * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted.
726 (syms_of_emacs): Lisp variables deleted.
727
728 2004-06-23 David Kastrup <dak@gnu.org>
729
730 * search.c (Freplace_match): Adjust the match-data more thoroughly
731 when replacing strings in the buffer.
732 (Fmatch_data): When INTEGERS is non-nil and the last match was in
733 a buffer, add the buffer as last element to the match data.
734 (Fset_match_data): If an additional element of the match-data is a
735 buffer, restore it to last_thing_searched.
736 (save_search_regs): Save last_thing_searched as part of the match data.
737 (restore_match_data): Restore it again.
738
739 2004-06-23 Luc Teirlinck <teirllm@auburn.edu>
740
741 * keymap.c (Ftext_char_description): Doc fix.
742 * doc.c (Fsnarf_documentation): Doc fix.
743
744 2004-06-22 Kim F. Storm <storm@cua.dk>
745
746 * fns.c (Fmapcar, Fmapconcat): GCPRO the args array.
747
748 * lisp.h (struct Lisp_Save_Value): New member dogc.
749 (SAFE_ALLOCA_LISP): Change second arg to number of elements.
750 Set dogc member in Lisp_Save_Value object so it will be GC'ed.
751 (SAFE_FREE_LISP): New macro.
752
753 * alloc.c (safe_alloca_unwind): Clear dogc and pointer members.
754 (make_save_value): Init new dogc member.
755 (mark_object): Mark Lisp_Save_Value pointer array if dogc is set.
756
757 * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
758 SAFE_FREE_LISP macros.
759
760 2004-06-22 Kim F. Storm <storm@cua.dk>
761
762 * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects.
763 Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects
764 in that memory area are unknown to GC. Add comments.
765
766 * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP.
767
768 2004-06-21 Kim F. Storm <storm@cua.dk>
769
770 * lisp.h (MAX_ALLOCA): Define here.
771 (safe_alloca_unwind): Add prototype.
772 (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros.
773
774 * alloc.c (safe_alloca_unwind): New function.
775
776 * casefiddle.c (casify_object): Use SAFE_ALLOCA.
777
778 * charset.c (Fstring): Use SAFE_ALLOCA.
779
780 * coding.c (MAX_ALLOCA): Remove define.
781
782 * data.c (MAX_ALLOCA): Remove define.
783 (Faset): Use SAFE_ALLOCA.
784
785 * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA.
786
787 * fns.c (string_make_multibyte, string_to_multibyte)
788 (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA.
789 (MAX_ALLOCA): Remove define.
790 (Fbase64_encode_region, Fbase64_encode_string)
791 (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA.
792 (Fbase64_encode_region, Fbase64_encode_string): Fix potential
793 memory leak if encoding fails.
794
795 * xdisp.c (add_to_log): Use SAFE_ALLOCA.
796
797 2004-06-21 Eli Zaretskii <eliz@gnu.org>
798
799 * print.c (Fwith_output_to_temp_buffer): Doc fix.
800
801 2004-06-20 Richard M. Stallman <rms@gnu.org>
802
803 * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix.
804
805 * search.c (match_limit): Cleaner err msg when no match data available.
806
807 * window.c (syms_of_window): Doc fix.
808
809 * keyboard.c (command_loop_1): Handle values `only' and `identity'
810 for Vtransient_mark_mode.
811
812 * buffer.c (syms_of_buffer): Doc fix.
813
814 2004-06-21 David Kastrup <dak@gnu.org>
815
816 * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding
817 and unbinding of `case-fold-search' according to
818 `completion-ignore-case' around calls of string-match and
819 predicates, respectively. Should give satisfactory performance
820 in all relevant cases.
821
822 2004-06-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
823
824 * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from
825 clip_x/y_origin.
826
827 * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca.
828
829 * macfns.c (Fx_display_color_cells): Do not limit return value to 256.
830
831 * macterm.c (mac_initialize_display_info): Initialize n_planes correctly
832 on Mac OSX.
833
834 2004-06-16 Luc Teirlinck <teirllm@auburn.edu>
835
836 * buffer.c (syms_of_buffer): Clarify `fill-column' docstring.
837
838 2004-06-16 Kim F. Storm <storm@cua.dk>
839
840 * dispextern.h (Vimage_types): Remove extern.
841
842 2004-06-16 Miles Bader <miles@gnu.org>
843
844 * image.c (lookup_image_type): Initialize image type if necessary.
845
846 2004-06-15 Kim F. Storm <storm@cua.dk>
847
848 * xdisp.c (try_cursor_movement): Exclude header line from scroll
849 margin at top of window.
850 (try_window_reusing_current_matrix): Calculate proper cursor position
851 after scrolling up with non-zero scroll margin, as the old cursor
852 position corresponds to value of PT before executing this command.
853 (try_window_id): Consider scroll margin at bottom of window too;
854 otherwise we fail to scroll when hl-line-mode is enabled.
855
856 * syntax.c (skip_chars): Only recognize [:class:] when it has the
857 proper format and class is a lower-case word.
858
859 2004-06-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
860
861 * gtkutil.c (xg_get_image_for_pixmap): New function.
862 (xg_get_gdk_pixmap_and_mask): Remove.
863 (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of
864 xg_get_gdk_pixmap_and_mask.
865
866 * xterm.h (struct x_display_info): Typo in comment fixed.
867
868 2004-06-14 Juanma Barranquero <lektu@terra.es>
869
870 * dispextern.h (Vimage_types): Make it conditional on
871 HAVE_WINDOW_SYSTEM.
872
873 * image.c (Vimage_types): Move from xdisp.c.
874 (Vimage_type_cache): New variable.
875 (define_image_type): New argument indicating whether an image
876 library was loaded; cache loaded status and return t on success,
877 nil otherwise.
878 (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros.
879 (w32_delayed_load): New function to load an image library from a
880 list of possible filenames.
881 (init_xpm_functions, init_png_functions, init_jpeg_functions)
882 (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'.
883 (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument.
884 (Finit_image_library): New function, extracted from `init_image'.
885 Try to initialize an image library on demand and cache whether we
886 were successful or not.
887 (syms_of_image): Initialize `Vimage_types' and
888 `Vimage_type_cache'. Add recognized image types to Vimage_types.
889 Export `init-image-library'.
890 (init_image): Remove initialization of all image types, except xbm
891 and pbm.
892
893 * xdisp.c (Vimage_types): Delete (moved to image.c).
894
895 2004-06-14 Andreas Schwab <schwab@suse.de>
896
897 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
898 Avoid calling specbind when completion-regexp-list is empty.
899
900 2004-06-13 Richard M. Stallman <rms@gnu.org>
901
902 * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
903 (re_wctype, re_iswctype, re_wctype_to_bit):
904 Non-function definitions moved here from regex.c.
905
906 * regex.c (re_wctype, re_iswctype): Function defs longer static.
907 (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
908 (re_wctype, re_iswctype, re_wctype_to_bit):
909 Non-function definitions moved to regex.h.
910
911 * window.c (Fselect_window): Doc fix.
912
913 * syntax.c: Include regex.h.
914 (skip_chars): New arg HANDLE_ISO_CLASSES. Callers changed.
915 If requested, make a list of classes, then check the scanned
916 chars for membership in them.
917 (in_classes): New function.
918 Doc fix.
919
920 * keyboard.c (cmd_error): Don't call any_kboard_state
921 if inside a recursive edit level.
922
923 2004-06-13 Lorentey K\e,Aa\e(Broly <lorentey@elte.hu>
924
925 * keyboard.c (command_loop): Call any_kboard_state before
926 command_loop_2 when at top level.
927
928 2004-06-13 Andreas Schwab <schwab@suse.de>
929
930 * print.c (print_object): Always use %ld for printing EMACS_INT.
931
932 * keyboard.c (cancel_hourglass_unwind): Return a value.
933 (modify_event_symbol): Always use %ld for printing EMACS_INT.
934 (Fexecute_extended_command): Likewise.
935
936 * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to
937 avoid clashes.
938 (SYNTAX): Likewise.
939 (SYNTAX_WITH_FLAGS): Likewise.
940 (SYNTAX_MATCH): Likewise.
941
942 * syntax.c (char_quoted): Avoid warning about undefined operation.
943 (find_defun_start): Likewise.
944 (scan_lists): Likewise.
945 (INC_FROM): Likewise.
946 (scan_sexps_forward): Likewise.
947
948 * image.c: Include <ctype.h>.
949
950 * xfaces.c (face_attr_equal_p): Declare parameters.
951
952 2004-06-13 Kenichi Handa <handa@m17n.org>
953
954 * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1.
955
956 2004-06-12 Matthew Mundell <matt@mundell.ukfsn.org>
957
958 * eval.c (Fdefun): Signal an error if NAME is not a symbol.
959
960 2004-06-12 Kenichi Handa <handa@m17n.org>
961
962 * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in
963 ccl_prog_stack_struct and update it.
964 (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook.
965 (CCL_READ_CHAR): Get instruction counter from eof_ic, not from
966 ccl->eof_ic on EOF.
967 (ccl_debug_hook): New function.
968 (struct ccl_prog_stack): New member eof_ic.
969 (ccl_driver): Handle EOF in subrountine call correctly.
970
971 2004-06-11 Kenichi Handa <handa@m17n.org>
972
973 * coding.c (decode_coding_string): Check CODING_FINISH_INTERRUPT.
974
975 2004-06-11 Kim F. Storm <storm@cua.dk>
976
977 * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown.
978
979 2004-06-11 Juanma Barranquero <lektu@terra.es>
980
981 * keyboard.c (Fposn_at_point): Doc fix.
982
983 2004-06-11 David Kastrup <dak@gnu.org>
984
985 * search.c (match_limit): Don't flag an error if match-data
986 exceeding the allocated search_regs.num_regs gets requested, just
987 return Qnil.
988
989 2004-06-08 Miles Bader <miles@gnu.org>
990
991 * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected.
992
993 2004-06-07 Juanma Barranquero <lektu@terra.es>
994
995 * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time)
996 (Fcurrent_time_string, Fcurrent_time_zone)
997 (Finsert_buffer_substring, Ftranspose_regions): Doc fixes.
998
999 2004-06-07 Miles Bader <miles@gnu.org>
1000
1001 * xfaces.c (struct named_merge_point): New type.
1002 (push_named_merge_point): New function.
1003 (merge_named_face): New function.
1004 (merge_face_ref, face_at_buffer_position, face_at_string_position):
1005 Use `merge_named_face'.
1006 (merge_face_inheritance): Function removed.
1007 (merge_face_ref): Rename from `merge_face_vector_with_property'.
1008 Add new `err_msgs' and `named_merge_points' args. Return error
1009 status. Only print error messages if ERR_MSGS is true. Don't try to
1010 do :inherit attribute validation.
1011 (merge_face_heights): Handle `unspecified' in both directions.
1012 (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'.
1013 Call `merge_face_ref' instead of `merge_face_inheritance'.
1014 (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector)
1015 (compute_char_face, face_at_buffer_position)
1016 (face_at_string_position): Call `merge_face_ref' instead of
1017 `merge_face_vector_with_property'.
1018
1019 2004-06-07 Kenichi Handa <handa@m17n.org>
1020
1021 * coding.c (find_safe_codings): Check NILP (safe_codings) only at
1022 the necessary places.
1023
1024 2004-06-07 Kim F. Storm <storm@cua.dk>
1025
1026 * process.c (Fdelete_process): Undo 2004-05-28 change.
1027 Instead, call status_notify also for network process.
1028 (status_message): Use process instead of status as arg.
1029 Give messages "deleted" or "connection broken by remote peer" for
1030 an exited network process.
1031 (status_notify): Change call to status_message.
1032 (read_process_output): Increase readmax to 4096. Do not increase
1033 buffer size for datagram channels (default is now large enough).
1034
1035 2004-06-06 Steven Tamm <tamm@Steven-Tamms-Computer.local>
1036
1037 * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation
1038 problem due to newly defined variable.
1039
1040 2004-06-06 Miles Bader <miles@gnu.org>
1041
1042 * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
1043 immediately if non-interactive or not initialized.
1044
1045 2004-06-05 Richard M. Stallman <rms@gnu.org>
1046
1047 * minibuf.c (Fcompleting_read): Doc fix.
1048
1049 2004-06-05 Andreas Schwab <schwab@suse.de>
1050
1051 * macfns.c (x_create_tip_frame): Fix declaration after statement.
1052
1053 2004-06-05 Juanma Barranquero <lektu@terra.es>
1054
1055 * keymap.c (Fdescribe_vector): Fix docstring.
1056 (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
1057
1058 2004-06-05 Miles Bader <miles@gnu.org>
1059
1060 * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
1061 attributes have different values than the default face.
1062
1063 2004-06-04 Eli Zaretskii <eliz@gnu.org>
1064
1065 * xfaces.c (x_supports_face_attributes_p): Make this function
1066 conditional on HAVE_WINDOW_SYSTEM.
1067 (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]:
1068 Don't call x_supports_face_attributes_p if it was not compiled in.
1069
1070 2004-06-04 Miles Bader <miles@gnu.org>
1071
1072 * xfaces.c (tty_supports_face_attributes_p): New function, mostly
1073 from Ftty_supports_face_attributes_p.
1074 (x_supports_face_attributes_p): New function.
1075 (Ftty_supports_face_attributes_p): Function deleted.
1076 (Fdisplay_supports_face_attributes_p): New function.
1077 (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
1078 (face_attr_equal_p): New function.
1079 (lface_equal_p): Use it.
1080
1081 2004-06-03 Juanma Barranquero <lektu@terra.es>
1082
1083 * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
1084 (Vw32_color_map): Fix typo in docstring.
1085 (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
1086 (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
1087 Make argument names match their use in docstring.
1088
1089 2004-06-02 Juanma Barranquero <lektu@terra.es>
1090
1091 Work around bugs/problems with MinGW builds of graphics libraries
1092 called from MSVC builds of Emacs.
1093
1094 * image.c (lookup_image): Make pointer to img static.
1095 (png_read_from_memory): Disable "global" optimization.
1096
1097 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
1098
1099 * eval.c (Fcondition_case): Fix usage. Simplify.
1100
1101 * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
1102
1103 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1104
1105 * macfns.c: Don't include ccl.h.
1106 [MAC_OSX]: Don't include QuickTime/QuickTime.h.
1107 [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
1108 TextUtils.h.
1109 (Fx_create_frame): Sync with xfns.c. Initialize cursor descriptors.
1110 (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
1111 display height/width.
1112 (compute_tip_xy, Vx_max_tooltip_size): Declare.
1113 (unwind_create_tip_frame, compute_tip_xy): New functions.
1114 (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
1115 (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
1116 and last_show_tip_args.
1117
1118 * macgui.h [!MAC_OSX]: Include Gestalt.h.
1119 (Cursor, No_Cursor): New defines.
1120 [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro.
1121 [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
1122
1123 * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
1124
1125 * macterm.c: Don't include Gestalt.h.
1126 (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
1127 (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
1128 (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
1129 (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
1130 (mac_copy_area, mac_copy_area_with_mask, x_update_end)
1131 (construct_mouse_click, XTmouse_position)
1132 (x_scroll_bar_report_motion, x_calc_absolute_position)
1133 (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
1134 (XTread_socket, make_mac_frame): Use SetPortWindowPort.
1135 (note_mouse_movement): Clear the mouse face and reset the pointer
1136 shape when the pointer goes outside the frame without grabbing.
1137 (mac_front_window): New function.
1138 (mac_window_to_frame): New macro.
1139 (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
1140 (do_window_activate, do_window_deactivate, do_app_resume)
1141 (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
1142 (do_zoom_window, mac_do_receive_drag, XTread_socket)
1143 (mac_check_for_quit_char): Use mac_front_window and/or
1144 mac_window_to_frame.
1145 (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
1146 scroll-bar click event.
1147 (mac_define_frame_cursor): Change the pointer shape.
1148 (x_free_frame_resources): Reset tip_window to NULL when it is disposed.
1149 [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
1150 [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor.
1151 (do_window_update): Don't do anything if the updated window is the
1152 tooltip window.
1153 (do_mouse_moved): Handle mouse movement events here (previously in
1154 XTread_socket). Clear the mouse face if
1155 dpyinfo->mouse_face_hidden is set.
1156 (do_os_event, do_events): Remove (now in XTread_socket).
1157 (XTread_socket): Immediately return if interrupt_input_blocked.
1158 Loop until all the events in the queue are processed.
1159 Rearrange codes for mouse grabbing. Add tooltip support. Include the
1160 contents of do_os_event and do_events. Remove mouse movement
1161 handling (now in do_mouse_moved). Add the case where
1162 Vmouse_highlight has an integer value.
1163 (NewMacWindow): Remove.
1164 (make_mac_frame): Do what NewMacWindow previously did. Don't do
1165 excess initializations.
1166 (make_mac_terminal_frame): Previous initializations in
1167 make_mac_frame are moved here.
1168 (mac_initialize_display_info):
1169 Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
1170
1171 * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
1172 (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
1173
1174 2004-05-29 Richard M. Stallman <rms@gnu.org>
1175
1176 * lisp.h (truncate_undo_list): Update decl.
1177
1178 * alloc.c (undo_outer_limit): New variable.
1179 (syms_of_alloc): Defvar it.
1180 (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
1181
1182 * undo.c (truncate_undo_list): New arg LIMITSIZE.
1183
1184 * alloc.c (lisp_align_malloc): Check for base == 0
1185 regardless of HAVE_POSIX_MEMALIGN.
1186 Clean up HAVE_POSIX_MEMALIGN handling of `err'.
1187
1188 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
1189
1190 * alloc.c: Undo Kim's recent changes and fix the same bug differently.
1191 (marker_blocks_pending_free): Remove.
1192 (Fgarbage_collect): Sweep after cleaning up undo-lists.
1193 Mark the undo lists after claning them up.
1194 Don't free block in marker_blocks_pending_free.
1195 (mark_buffer): Don't mark undo_list.
1196 (gc_sweep): Sweep hash-tables and strings first.
1197 Do free marker blocks that are empty.
1198
1199 2004-05-28 Jim Blandy <jimb@redhat.com>
1200
1201 * regex.c (print_partial_compiled_pattern): Add missing 'break'
1202 after 'case wordend'. For symbeg and symend, print to stderr,
1203 like the other cases.
1204
1205 2004-05-28 Noah Friedman <friedman@splode.com>
1206
1207 * process.c (Fdelete_process): Do not call remove_process.
1208
1209 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
1210
1211 * alloc.c (struct backtrace): Remove.
1212 (Fgarbage_collect): Use the new mark_backtrace.
1213
1214 * eval.c (mark_backtrace): New function.
1215
1216 * minibuf.c (run_exit_minibuf_hook): New function.
1217 (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
1218 (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
1219
1220 2004-05-27 Kim F. Storm <storm@cua.dk>
1221
1222 * xdisp.c (back_to_previous_visible_line_start): Skip backwards
1223 over display properties, e.g. images, that replace buffer text.
1224
1225 2004-05-25 Kim F. Storm <storm@cua.dk>
1226
1227 * alloc.c (marker_blocks_pending_free): New var.
1228 (gc_sweep): Store free marker blocks on that list.
1229 (Fgarbage_collect): Free them after undo-list cleanup.
1230
1231 * process.c (wait_reading_process_input): Check connect_wait_mask
1232 before actually accepting connection in case it has already been
1233 accepted due to recursion.
1234
1235 2004-05-23 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu> (tiny change)
1236
1237 * coding.c (Fset_safe_terminal_coding_system_internal):
1238 Set suppress_error in safe_terminal_coding, not terminal_coding.
1239
1240 2004-05-22 Richard M. Stallman <rms@gnu.org>
1241
1242 * alloc.c (Fmake_string): Doc fix.
1243
1244 * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
1245 and the alist pairs too.
1246
1247 * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
1248
1249 * emacs.c (main): Update copyright year.
1250
1251 * fileio.c (Fread_file_name): Expand DIR if not absolute.
1252
1253 * insdel.c (del_range_2, replace_range): Don't write an anchor
1254 if the gap is empty.
1255
1256 * xdisp.c (try_scrolling): If scroll-up-aggressively or
1257 scroll-down-aggressively is small but positive, put point
1258 near the screen edge.
1259
1260 2004-05-22 Juanma Barranquero <lektu@terra.es>
1261
1262 * keymap.c (Fdefine_key): Doc fix.
1263
1264 2004-05-22 Kim F. Storm <storm@cua.dk>
1265
1266 * alloc.c (struct backtrace): Add debug_on_exit member.
1267 (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
1268 Identify those markers as Lisp_Misc_Free objects. Clear car and cdr of
1269 the removed cons cells.
1270 (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
1271 (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
1272 any cons cells pointing to unallocated stings.
1273 Do not lisp_free any marker blocks, as there may still be pointers
1274 to them from buffer undo lists at this stage of GC.
1275
1276 * keyboard.c (struct backtrace): Add debug_on_exit member.
1277 (Fcommand_execute): Clear it.
1278
1279 2004-05-20 Luc Teirlinck <teirllm@auburn.edu>
1280
1281 * intervals.c (lookup_char_property): Do not prematurely return nil.
1282
1283 2004-05-19 Jim Blandy <jimb@redhat.com>
1284
1285 Add support for new '\_<' and '\_>' regexp operators, matching the
1286 beginning and end of symbols.
1287
1288 * regex.c (enum syntaxcode): Add Ssymbol.
1289 (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
1290 (re_opcode_t): New opcodes `symbeg' and `symend'.
1291 (print_partial_compiled_pattern): Print the new opcodes properly.
1292 (regex_compile): Parse the new operators.
1293 (analyse_first): Skip sym(beg|end) (they match only the empty string).
1294 (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
1295 \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
1296 (re_match_2_internal): Match symbeg and symend.
1297
1298 * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
1299
1300 2004-05-19 Kim F. Storm <storm@cua.dk>
1301
1302 * .gdbinit (xsymbol): Fix last change.
1303
1304 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
1305
1306 * .gdbinit (xprintstr): New fun.
1307 (xstring, xprintsym): Use it.
1308
1309 * w32proc.c (create_child): Use INTMASK.
1310
1311 * alloc.c (Fgarbage_collect): Do all the marking before flushing
1312 unmarked elements of the undo list.
1313
1314 2004-05-18 David Ponce <david@dponce.com>
1315
1316 * print.c (print): Reset print_depth before to call print_object.
1317
1318 2004-05-18 Jason Rumney <jasonr@gnu.org>
1319
1320 * w32console.c: Prefix RIF functions with w32con_ to avoid
1321 namespace clash with functions in term.c and w32term.c.
1322
1323 * w32menu.c (add_menu_item, w32_menu_display_help)
1324 [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
1325
1326 * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
1327
1328 2004-05-18 Eli Zaretskii <eliz@gnu.org>
1329
1330 * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
1331
1332 * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
1333 with make_number.
1334 (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
1335 with XINT.
1336
1337 2004-05-18 Kim F. Storm <storm@cua.dk>
1338
1339 * blockinput.h (INPUT_BLOCKED_P): New macros.
1340
1341 * keyboard.c (Frecursive_edit): Return immediately if input blocked.
1342 (Ftop_level): Unblock input if blocked.
1343
1344 * buffer.h (GET_OVERLAYS_AT): New macro.
1345 * msdos.c (IT_note_mouse_highlight): Use it.
1346 * textprop.c (get_char_property_and_overlay): Use it.
1347 * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
1348 * xfaces.c (face_at_buffer_position): Use it.
1349
1350 * print.c (print_object): Increase buf size.
1351
1352 2004-05-17 Jason Rumney <jasonr@gnu.org>
1353
1354 * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
1355 (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
1356 Lisp_Object using i member.
1357 (w32_quit_key): Rename from Vw32_quit_key, and make an int.
1358 (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
1359 consistently.
1360
1361 * w32proc.c (create_child): Use make_number instead of masking pid.
1362
1363 * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
1364 (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
1365 Use EQ to compare Lisp_Objects.
1366 (w32_parse_hot_key): Use int for lisp_modifiers consistently.
1367
1368 * w32term.c (w32_num_mouse_buttons): Rename from
1369 Vw32_num_mouse_buttons and make it an int.
1370
1371 * w32.c (init_environment): Use it.
1372
1373 * w32fns.c (w32_wnd_proc): Likewise.
1374
1375 * w32proc.c (w32_pipe_read_delay): Rename from
1376 Vw32_pipe_read_delay and make it an int.
1377
1378 * w32.c (_sys_read_ahead): Use it.
1379
1380 * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
1381
1382 * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
1383
1384 * w32inevt.c (w32_console_mouse_position, do_mouse_event)
1385 (key_event): Don't mix Lisp_Object and int.
1386
1387 * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
1388
1389 * keyboard.c (kbd_buffer_get_event): Don't use event->code and
1390 modifiers in language change event.
1391
1392 2004-05-17 Kim F. Storm <storm@cua.dk>
1393
1394 * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
1395 Such objects may be freed markers which still exist on an undo list.
1396
1397 2004-05-16 Juanma Barranquero <lektu@terra.es>
1398
1399 * data.c (Fset_default): Make argument names match their use in
1400 docstring.
1401
1402 2004-05-15 Andreas Schwab <schwab@suse.de>
1403
1404 * emacs.c (gdb_array_mark_flag): Define.
1405 * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
1406
1407 2004-05-15 Eli Zaretskii <eliz@gnu.org>
1408
1409 * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
1410 __attribute__((__aligned__)), so that USE_LSB_TAG would not become
1411 defined for the MS-DOS build.
1412
1413 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
1414
1415 * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
1416
1417 2004-05-14 Kenichi Handa <handa@m17n.org>
1418
1419 * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
1420
1421 2004-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1422
1423 * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
1424 section to frame.c section.
1425 (Fxw_display_color_p, Fx_file_dialog): Declare if
1426 HAVE_WINDOW_SYSTEM defined.
1427
1428 * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
1429
1430 * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
1431
1432 * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
1433 (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
1434 (XTread_socket): Fix int/Lisp_Object mixup.
1435 (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
1436
1437 * macterm.h (struct frame, struct face, struct image)
1438 (display_x_get_resource, Fx_display_color_p)
1439 (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
1440 Add prototypes.
1441
1442 2004-05-14 Kim F. Storm <storm@cua.dk>
1443
1444 * process.c (wait_reading_process_input): Make reentrant.
1445 Make Available and Connecting non-static. Save and restore value
1446 of waiting_for_user_input_p.
1447
1448 2004-05-13 Kim F. Storm <storm@cua.dk>
1449
1450 * keyboard.c (mark_kboards): Don't mark x and y members
1451 that are overloaded in selection request events.
1452
1453 2004-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
1454
1455 * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
1456
1457 2004-05-13 Glenn Morris <gmorris@ast.cam.ac.uk>
1458
1459 * window.c (Fdisplay_buffer, Fsplit_window)
1460 (split-height-threshold): Doc fix.
1461
1462 2004-05-13 Juanma Barranquero <lektu@terra.es>
1463
1464 * xfaces.c (Ftty_supports_face_attributes_p)
1465 (Finternal_copy_lisp_face): Fix typo in docstring.
1466 (Finternal_get_lisp_face_attribute): Fix docstring.
1467
1468 2004-05-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1469
1470 * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
1471
1472 2004-05-11 Steven Tamm <steventamm@mac.com>
1473
1474 * macfns.c (Fx_create_frame): Default to using tool-bar by
1475 setting tool-bar-lines to 1 in default-frame-alist.
1476
1477 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1478
1479 * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
1480 (xpm_get_color_table_v, xpm_make_color_table_h)
1481 (xpm_put_color_table_h, xpm_get_color_table_h)
1482 (xpm_str_to_color_key, xpm_load_image, xpm_load)
1483 (syms_of_image): Support XPM on Carbon Emacs. Does not
1484 depend on libXpm, but only supports XPM version 3 without extensions.
1485
1486 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1487
1488 * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
1489 instead of FRAME_X_P
1490
1491 2004-05-11 Kim F. Storm <storm@cua.dk>
1492
1493 * process.c (read_process_output): Grow decoding_buf when needed;
1494 this could cause a crash in allocate_string and compact_small_strings.
1495
1496 2004-04-29 Jim Blandy <jimb@redhat.com>
1497
1498 * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
1499 against proper opcode.
1500
1501 2004-05-10 Juanma Barranquero <lektu@terra.es>
1502
1503 * process.c (Fstart_process): Fix docstring.
1504
1505 * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
1506 (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
1507 (Fsplit_char, Fchar_charset): Make argument names match their use
1508 in docstring.
1509
1510 2004-05-10 Richard M. Stallman <rms@gnu.org>
1511
1512 * print.c (print_preprocess): Use being_printed, loop_count and
1513 halftail to detect overdeep nesting and cyclic cdr chains.
1514
1515 2004-05-10 Andreas Schwab <schwab@suse.de>
1516
1517 * lisp.h: Declare Fmake_symbolic_link.
1518
1519 * fileio.c (Frename_file): Remove extra argument in call to
1520 Fmake_symbolic_link.
1521
1522 2004-05-10 Kim F. Storm <storm@cua.dk>
1523
1524 * xdisp.c (calc_line_height_property): Use string position when
1525 object is a string.
1526
1527 2004-05-10 Kenichi Handa <handa@m17n.org>
1528
1529 * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
1530 inhibit-modification-hooks to t temporarily before calling
1531 Ferase_buffer.
1532
1533 * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
1534 inhibit-modification-hooks to t temporarily before calling
1535 Ferase_buffer.
1536
1537 * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
1538 inhibit-modification-hooks to t temporarily before calling
1539 Ferase_buffer.
1540
1541 * fns.c (count_combining): Delete it.
1542 (concat): Don't check combining bytes.
1543
1544 2004-05-09 Jason Rumney <jasonr@gnu.org>
1545
1546 * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
1547 (globals_of_w32fns): Set it.
1548
1549 2004-05-09 Piet van Oostrum <piet@cs.uu.nl> (tiny change)
1550
1551 * data.c (Fquo): Simplify.
1552
1553 2004-05-08 Peter Whaite <emacs@whaite.ca> (tiny change)
1554
1555 * data.c (Fquo): If any argument is float, do the computation in
1556 floating point.
1557
1558 2004-05-08 Juanma Barranquero <lektu@terra.es>
1559
1560 * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
1561 (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
1562 Fix spelling of Emacs on docstring.
1563 (Fset_process_coding_system, Fprocess_coding_system)
1564 (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
1565 Make argument names match their use in docstring.
1566 (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
1567 Fix docstring.
1568
1569 * editfns.c (Finsert_buffer_substring): Make argument names match their
1570 use in docstring.
1571
1572 * syntax.c (Fmodify_syntax_entry): Fix docstring.
1573
1574 2004-05-07 Steven Tamm <steventamm@mac.com>
1575
1576 * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
1577 around call to ReceiveEvent to avoid certain crashes.
1578
1579 2004-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1580
1581 * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
1582 (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
1583 (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
1584 Save/restore the current graphics port and device handle when
1585 drawing into an offscreen graphics world.
1586
1587 * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
1588 (gif_load): Likewise.
1589
1590 2004-05-07 Juanma Barranquero <lektu@terra.es>
1591
1592 * window.c (Fset_window_buffer): Fix docstring.
1593
1594 2004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
1595
1596 * emacs.c (main) [VMS]: Fix var ref.
1597
1598 2004-05-06 Romain Francoise <romain@orebokech.com> (tiny change)
1599
1600 * data.c (Fsetq_default): Fix docstring.
1601
1602 2004-05-06 Jason Rumney <jasonr@gnu.org>
1603
1604 * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
1605 to avoid name clash.
1606
1607 2004-05-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1608
1609 * fileio.c (barf_or_query_if_file_exists): Use lstat.
1610 (Frename_file): Handle renaming of symlinks across file systems.
1611 (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
1612
1613 2004-05-04 Kim F. Storm <storm@cua.dk>
1614
1615 * xdisp.c (Qtotal): New var.
1616 (syms_of_xdisp): Intern and staticpro it.
1617 (calc_line_height_property): New arg total. Set it if
1618 line-spacing property has format (total . VALUE).
1619 (x_produce_glyphs): Ignore line-spacing if line-height is 0.
1620 Handle total line-spacing property.
1621
1622 2004-05-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1623
1624 * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
1625 "under" scroll bar when size/position changes.
1626
1627 2004-05-03 Jason Rumney <jasonr@gnu.org>
1628
1629 * makefile.nt: Remove.
1630
1631 2004-05-02 Eli Zaretskii <eliz@gnu.org>
1632
1633 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
1634 Avoid compiler warnings.
1635
1636 * Makefile.in (region-cache.o): Depend on config.h.
1637
1638 2004-05-02 Romain Francoise <romain@orebokech.com> (tiny change)
1639
1640 * indent.c (compute_motion): Save vpos in prev_vpos when dealing
1641 with continuation lines, too.
1642
1643 2004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
1644
1645 * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
1646
1647 2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
1648
1649 * xdisp.c (calc_line_height_property): YAILOM (yet another
1650 int/Lisp_Object mixup).
1651
1652 2004-05-01 Eli Zaretskii <eliz@gnu.org>
1653
1654 * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
1655 undo bad effect of pack(4) in some versions of system headers.
1656
1657 2004-05-01 Jason Rumney <jasonr@gnu.org>
1658
1659 * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
1660
1661 2004-04-30 Kim F. Storm <storm@cua.dk>
1662
1663 * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
1664 (syms_of_buffer) <cursor-type>: Doc fix.
1665
1666 * dispextern.h (struct it): Remove member use_default_face.
1667 Add members override_ascent, override_descent, override_boff.
1668
1669 * xdisp.c (init_iterator): Handle line-spacing float value.
1670 Initialize override_ascent member.
1671 (append_space_for_newline): Reset override_ascent.
1672 Remove use_default_face.
1673 (calc_line_height_property): New function to calculate value of
1674 line-height and line-spacing properties. Look at overlays, too.
1675 Set override_ascent, override_descent, override_boff members when
1676 using another face than the current face. Float values are now
1677 relative to the frame default font, by default; accept a cons
1678 of ratio and face name to specify value relative to a specific face.
1679 (x_produce_glyphs): Use calc_line_height_property.
1680 Use override_ascent etc. when set to handle different face heights.
1681 A negative line-spacing property value is interpreted as a total
1682 line height, rather than inter-line spacing.
1683 (note_mouse_highlight): Allocate room for 40 overlays initially.
1684
1685 2004-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
1686
1687 * data.c (Fsubr_name): New fun.
1688 (syms_of_data): Defsubr it.
1689
1690 2004-04-29 Kim F. Storm <storm@cua.dk>
1691
1692 * xdisp.c (null_glyph_slice): New var.
1693 (append_glyph, append_composite_glyph, append_stretch_glyph):
1694 Use it to initialize glyph slice.
1695
1696 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
1697
1698 * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
1699 (on_hot_spot_p): Make sure we always return a value.
1700 (Flookup_image_map): Remove unused var ix and iy.
1701 (note_mode_line_or_margin_highlight): Remove unused var `image'.
1702
1703 2004-04-27 Eli Zaretskii <eliz@gnu.org>
1704
1705 * msdos.c (init_environment): If one of the TMP... environment
1706 variables is set to a drive letter without a trailing slash,
1707 append a slash.
1708
1709 2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
1710
1711 * editfns.c (lisp_time_argument): Provide externally.
1712
1713 * fileio.c (Fset_file_times): New function.
1714 (syms_of_fileio): Intern and staticpro it.
1715
1716 2004-04-27 Kim F. Storm <storm@cua.dk>
1717
1718 * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
1719 header line strings.
1720
1721 * dispextern.h (struct it): New member use_default_face.
1722
1723 * xdisp.c (Qline_height): New variable.
1724 (syms_of_xdisp): Intern and staticpro it.
1725 (append_space_for_newline): Partially undo 2004-04-25 change;
1726 add default_face_p arg, and restore callers.
1727 Clear it->use_default_face after use.
1728 (x_produce_glyphs): Set default font for ascii char if
1729 it->use_default_font is set. Change line-spacing property to set
1730 just extra line spacing. Handle new line-height property.
1731
1732 2004-04-26 Andreas Schwab <schwab@suse.de>
1733
1734 * print.c (print_object): Print non-ascii characters in bool
1735 vector representation as octal escapes.
1736
1737 * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
1738 * print.c (print_object): Use it instead of BITS_PER_CHAR for
1739 bool vectors.
1740 * lread.c (read1): Likewise.
1741 * alloc.c (Fmake_bool_vector): Likewise.
1742 * data.c (Faref, Faset): Likewise.
1743 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
1744 (mapcar1): Likewise.
1745
1746 2004-04-26 Steven Tamm <tamm@Steven-Tamms-Computer.local>
1747
1748 * lread.c (init_lread): Fixing typo HAVE_CARBON test logic
1749
1750 2004-04-26 Miles Bader <miles@gnu.org>
1751
1752 * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
1753
1754 2004-04-26 Juanma Barranquero <lektu@terra.es>
1755
1756 * buffer.c (Fpop_to_buffer): Fix docstring.
1757
1758 2004-04-26 Steven Tamm <steventamm@mac.com>
1759
1760 * lread.c (init_lread): Don't display missing lisp directory
1761 warnings with Carbon Emacs because self-contained bundled Emacs
1762 may be built without correct installation path.
1763
1764 2004-04-25 Kim F. Storm <storm@cua.dk>
1765
1766 * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
1767
1768 * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
1769
1770 * xdisp.c (append_space_for_newline): Rename from append_space.
1771 Remove DEFAULT_FACE_P arg; always use current face. Callers changed.
1772 (x_produce_glyphs): Handle line-spacing property on newline char.
1773 If value is t, adjust ascent and descent to fit current row height.
1774 If value is an integer or float, set extra_line_spacing to integer
1775 value, or to float value x current line height.
1776
1777 2004-04-23 Kenichi Handa <handa@m17n.org>
1778
1779 * fontset.c (Finternal_char_font): If POSITION is nil, return
1780 font for displaying CH with the default face.
1781
1782 2004-04-23 Juanma Barranquero <lektu@terra.es>
1783
1784 * makefile.w32-in: Add "-*- makefile -*-" mode tag.
1785
1786 2004-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
1787
1788 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
1789 Don't make assumptions about the relative place of i and val.
1790 (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
1791
1792 2004-04-21 Kim F. Storm <storm@cua.dk>
1793
1794 * dispextern.h (struct glyph_slice): New struct.
1795 (struct glyph): New member slice.
1796 (GLYPH_SLICE_EQUAL_P): New macro.
1797 (GLYPH_EQUAL_P): Use it.
1798 (struct glyph_string): New member slice.
1799 (struct it_slice): New struct.
1800 (struct it): New member slice, add member to stack too.
1801 New member constrain_row_ascent_descent_p.
1802 (image_ascent): Add prototype.
1803
1804 * dispnew.c (buffer_posn_from_coords): Return full image width
1805 and height even for image slices (posn is relative to full image).
1806 (marginal_area_string): Adjust x0,y0 for image slice.
1807
1808 * image.c (image_ascent): Add slice arg; calculate ascent for
1809 image slice (or full image).
1810
1811 * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
1812 (syms_of_keyboard): Defsubr them.
1813
1814 * lisp.h (pos_visible_p): Fix prototype.
1815
1816 * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
1817 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
1818 (x_draw_image_foreground, x_draw_image_relief)
1819 (x_draw_image_foreground_1, x_draw_image_glyph_string):
1820 Draw sliced images.
1821
1822 * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
1823 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
1824 (x_draw_image_foreground, x_draw_image_relief)
1825 (w32_draw_image_foreground_1, x_draw_image_glyph_string):
1826 Draw sliced images.
1827
1828 * w32term.h (image_ascent): Remove prototype.
1829
1830 * window.c (Fpos_visible_in_window_p): Return pixel position if
1831 PARTIALLY arg is non-nil. Simplify. Doc fix.
1832 (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
1833 to return/set vscroll in pixels.
1834
1835 * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
1836
1837 * xdisp.c (Qslice): New variable.
1838 (syms_of_xdisp): Intern and staticpro it.
1839 (pos_visible_p): Return pixel position in new x and y args.
1840 (init_iterator): Reset it->slice info.
1841 (handle_display_prop): Parse (slice ...) property.
1842 (push_it, pop_it): Save/restore slice info.
1843 (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
1844 force repositioning of tall row if window is vscrolled, as that
1845 would reset vscroll.
1846 (append_space): Set it->constrain_row_ascent_descent_p to avoid
1847 increasing row height if row is non-empty.
1848 (fill_image_glyph_string): Copy slice info.
1849 (take_vertical_position_into_account): Simplify.
1850 (produce_image_glyph): Handle iterator slice info, setup glyph
1851 slice info. Do not force minimum line height.
1852 (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
1853 do not increase height (ascent/descent) of non-empty row when
1854 adding normal character glyph; instead reduce glyph ascent/descent
1855 appropriately; if row is higher than current glyph, adjust glyph
1856 descent/ascent to reposition glyph within the existing row.
1857 Likewise, when char is newline, only set ascent/descent if row is
1858 currently empty.
1859 (note_mouse_highlight): Handle hotspots with sliced image.
1860
1861 * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
1862 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
1863 (x_draw_image_foreground, x_draw_image_relief)
1864 (x_draw_image_foreground_1, x_draw_image_glyph_string):
1865 Draw sliced images.
1866
1867 * xterm.h (image_ascent): Remove prototype.
1868
1869 2004-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
1870
1871 * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
1872
1873 2004-04-20 John Paul Wallington <jpw@gnu.org>
1874
1875 * fns.c (Fassoc, Feql): Fix indentation.
1876
1877 * fontset.c (regularize_fontname): Rename from regulalize_fontname.
1878
1879 2004-04-19 John Paul Wallington <jpw@gnu.org>
1880
1881 * fns.c (Feql): New function.
1882 (syms_of_fns): Defsubr it.
1883
1884 2004-04-18 Jason Rumney <jasonr@gnu.org>
1885
1886 * w32select.c (Fw32_set_clipboard_data): Get sequence number
1887 after closing the clipboard.
1888
1889 2004-04-16 Luc Teirlinck <teirllm@auburn.edu>
1890
1891 * buffer.c (Fbuffer_base_buffer): Doc fix.
1892
1893 2004-04-17 Kim F. Storm <storm@cua.dk>
1894
1895 * keymap.c (Fkey_description): Add optional PREFIX arg.
1896 Combine prefix with KEYS to make up the full key sequence to describe.
1897 Correlate meta_prefix_char and following (simple) key to describe
1898 as meta modifier. All callers changed.
1899 (describe_map): Rename arg `keys' to `prefix'. Remove local
1900 `elt_prefix' var. Use Fkey_description with prefix instead of
1901 elt_prefix combined with Fsingle_key_description.
1902 (describe_vector): Declare static. Replace arg `elt_prefix' with
1903 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
1904 if !KEYMAP_P. Use Fkey_description with prefix instead of
1905 Fsingle_key_description.
1906
1907 * keymap.h (Fkey_description): Fix prototype.
1908 (describe_vector): Remove prototype.
1909
1910 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
1911
1912 * image.c (PNG_BG_COLOR_SHIFT): Remove.
1913 (png_load): Fix calculation of transparent background color on X
1914 and W32 platforms.
1915
1916 2004-04-16 Juanma Barranquero <lektu@terra.es>
1917
1918 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
1919 not too large before computing how much to scroll.
1920
1921 2004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
1922
1923 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
1924
1925 2004-04-14 Luc Teirlinck <teirllm@auburn.edu>
1926
1927 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
1928 Add hyperlink to Elisp manual to the docstring.
1929
1930 2004-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
1931
1932 * callint.c (fix_command): Use XDCR.
1933
1934 2004-04-14 Nick Roberts <nick@nick.uklinux.net>
1935
1936 * window.c (Fget_lru_window): Doc fix.
1937
1938 2004-04-14 Kim F. Storm <storm@cua.dk>
1939
1940 * editfns.c (Fformat): Fix allocation size of precision array.
1941
1942 * dispnew.c (update_window): Only set changed_p if
1943 scrolling_window actually did scroll.
1944 (scrolling_window): Only return 1 if we actually did scroll.
1945
1946 * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
1947 height to glyph height when cursor row is not fully visible.
1948 (make_cursor_line_fully_visible): Add FORCE_P arg to return
1949 failure in case row is higher than window. Callers changed.
1950 (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
1951 Try to scroll partially visible, higher-than-window cursor row.
1952 (redisplay_window): Always try to scroll partially visible,
1953 higher-than-window cursor row - both initially and again with
1954 centering_position = 0.
1955 Clear desired matrix before retrying with centering_position = 0.
1956
1957 2004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
1958
1959 * syntax.c (scan_lists): Simplify backward string scan.
1960 Fix off-by-one boundary check for string and comment fences.
1961
1962 2004-04-13 Joe Buehler <jbuehler@hekimian.com>
1963
1964 * sheap.c, unexcw.c: New files.
1965
1966 2004-04-12 Luc Teirlinck <teirllm@auburn.edu>
1967
1968 * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
1969 base buffer has been killed. Correct the error message if the
1970 base buffer does not exist.
1971
1972 2004-04-12 Joe Buehler <jbuehler@hekimian.com>
1973
1974 * s/cygwin.h: Changes for Cygwin unexec() support, changes in
1975 Cygwin itself. Add support for Xaw3d scrollbars.
1976
1977 * puresize.h: Set up PURE_P() for Cygwin unexec() support.
1978
1979 * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
1980
1981 * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
1982 before Cygwin unexec.
1983
1984 * Makefile.in: Link changes for Cygwin unexec() support.
1985
1986 2004-04-12 Andreas Schwab <schwab@suse.de>
1987
1988 * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
1989
1990 2004-04-11 Luc Teirlinck <teirllm@auburn.edu>
1991
1992 * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
1993 IGNORE argument equals NAME. Doc fix.
1994
1995 2004-04-11 Masatake YAMATO <jet@gyve.org>
1996
1997 * buffer.c (fix_start_end_in_overlays): Make overlays
1998 empty if they are backwards.
1999
2000 2004-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
2001
2002 * xfaces.c (face_color_supported_p): Fix compilation without X11.
2003
2004 2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
2005
2006 * doc.c (Fsnarf_documentation): Ignore new file name entries.
2007
2008 2004-04-06 Kim F. Storm <storm@cua.dk>
2009
2010 * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
2011 (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
2012
2013 * w32term.c (w32_read_socket): Set mouse_face_hidden after
2014 clearing highlight.
2015
2016 * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
2017
2018 * xterm.c (handle_one_xevent): Set mouse_face_hidden after
2019 clearing highlight.
2020
2021 * indent.c (vmotion): Do not reserve one column for continuation
2022 marks on window frames.
2023
2024 2004-04-04 Eli Zaretskii <eliz@gnu.org>
2025
2026 * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
2027 from GCC.
2028
2029 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
2030
2031 * .gdbinit-union: Remove.
2032
2033 * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
2034 (xgetptr, xgetint, xgettype): New funs. Use them everywhere.
2035 ($nonvalbits): Remove.
2036 ($valmask): Set it by calling xreload to avoid redundancy.
2037
2038 * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
2039 (gdb_emacs_intbits): Remove.
2040
2041 2004-03-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2042
2043 * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
2044
2045 2004-03-30 Kenichi Handa <handa@m17n.org>
2046
2047 * editfns.c (Fformat): Fix initialization of the array info.
2048
2049 2004-03-30 Kim F. Storm <storm@cua.dk>
2050
2051 * xterm.c (x_mouse_click_focus_ignore_position): New var.
2052 (syms_of_xterm): DEFVAR_BOOL it.
2053 (ignore_next_mouse_click_timeout): New var.
2054 (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
2055 Use it to filter mouse clicks following focus event.
2056
2057 2004-03-29 David Ponce <david@dponce.com>
2058
2059 * callint.c (Fcall_interactively): Fix last change.
2060
2061 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
2062
2063 * eval.c (Fcommandp): Simplify.
2064
2065 * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
2066 Extend to handle all kinds of functions.
2067
2068 * lisp.h (Finteractive_form): Declare.
2069
2070 * callint.c (Fcall_interactively): Use it.
2071
2072 2004-03-26 Kim F. Storm <storm@cua.dk>
2073
2074 * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
2075 to catch errors in calc_pixel_width_or_height during redisplay.
2076
2077 2004-03-26 Masatake YAMATO <jet@gyve.org>
2078
2079 * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
2080
2081 * lisp.h (fix_start_end_in_overlays): Likewise.
2082
2083 * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
2084
2085 * editfns.c (Ftranspose_regions): Likewise.
2086
2087 2004-03-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2088
2089 * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
2090
2091 2004-03-19 Richard M. Stallman <rms@gnu.org>
2092
2093 * s/sol2-6.h: Delete previous change.
2094
2095 2004-03-19 Kim F. Storm <storm@cua.dk>
2096
2097 * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
2098 to_charpos corresponds to newline in right fringe. Use local
2099 BUFFER_POS_REACHED_P macro.
2100
2101 2004-03-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2102
2103 * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
2104 to compile on non-window system.
2105
2106 2004-03-19 Kim F. Storm <storm@cua.dk>
2107
2108 * dispextern.h (calc_pixel_width_or_height): Add prototype.
2109
2110 * image.c (Qcenter): Move to xdisp.c.
2111
2112 * xdisp.c (Qcenter): Declare here.
2113 (syms_of_xdisp): Intern and staticpro it.
2114 (handle_single_display_prop): Allow space display property on all
2115 platforms.
2116 (display_mode_line): Set mode_line_p before displaying line.
2117 (calc_pixel_width_or_height): Declare extern. Add separate :align-to
2118 handling. Remove complex cases for fringes and scroll-bars.
2119 Add left, right, and center alignment positions. Add text (area)
2120 width/height. Return width or height for image specs.
2121 (produce_stretch_glyph): Improve handling of :align-to. Is now
2122 relative to left of text area by default, but other base offsets
2123 can be specified -- also for text lines.
2124
2125 * term.c (produce_glyphs): Handle IT_STRETCH.
2126 (produce_stretch_glyph): New function to handle space width and
2127 align-to display properties on non-window systems.
2128
2129 2004-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
2130
2131 * fileio.c (Fread_file_name): Set completion-ignore-case for
2132 case-insensitive systems.
2133
2134 2004-03-14 Masatake YAMATO <jet@gyve.org>
2135
2136 * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
2137 when keymap and cursor are setup.
2138
2139 2004-03-14 Steven Tamm <steventamm@mac.com>
2140
2141 * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
2142
2143 2004-03-14 Kim F. Storm <storm@cua.dk>
2144
2145 * dispextern.h (x_find_image_file): Add prototype.
2146
2147 * image.c (x_find_image_file): Make extern.
2148
2149 * xfns.c (x_find_image_file): Remove prototype.
2150
2151 2004-03-13 Eli Zaretskii <eliz@gnu.org>
2152
2153 * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
2154
2155 * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
2156
2157 2004-03-12 Richard M. Stallman <rms@gnu.org>
2158
2159 * fns.c (internal_equal): New arg PROPS controls comparing
2160 text properties. All callers changed.
2161 (Fequal_including_properties): New function.
2162 (syms_of_fns): defsubr it.
2163
2164 2004-03-12 Kim F. Storm <storm@cua.dk>
2165
2166 Fix image support on MAC. From YAMAMOTO Mitsuharu.
2167
2168 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
2169 (image_background, image_background_transparent): Fix prototypes.
2170
2171 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
2172
2173 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
2174 (x_query_font, x_find_ccl_program, x_set_window_size)
2175 (x_make_frame_visible, mac_initialize, XCreatePixmap)
2176 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
2177 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
2178
2179 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
2180 (x_query_font, x_find_ccl_program, x_set_window_size)
2181 (x_make_frame_visible, mac_initialize, XCreatePixmap)
2182 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
2183 (mac_draw_line_to_pixmap): Add prototypes.
2184
2185 2004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2186
2187 * macterm.c (XTread_socket): Fix mouse click on tool bar.
2188
2189 2004-03-11 Kim F. Storm <storm@cua.dk>
2190
2191 * dispextern.h: Move image related prototypes from xfns.c section
2192 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
2193 HAVE_X_WINDOWS.
2194
2195 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
2196 Move gtkutil.o to new GTK_OBJ list.
2197 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
2198 (GTK_OBJ) [USE_GTK]: New declaration.
2199 (obj): Add $(GTK_OBJ) to list.
2200
2201 2004-03-11 Steven Tamm <steventamm@mac.com>
2202
2203 * image.c [MAC_OSX]: Include sys/stat.h
2204
2205 * macfns.c (syms_of_macfns): Remove definitions of things now
2206 defined in image.c
2207
2208 2004-03-11 Kim F. Storm <storm@cua.dk>
2209
2210 The following changes consolidates the identical/similar image
2211 support code previously found in xfns.c, w32fns.c, and macfns.c
2212 into a new file image.c.
2213
2214 * makefile.w32-in (OBJ1): Add image.o.
2215 ($(BLD)/image.$(O)): Add dependencies.
2216
2217 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
2218 (image.o): Add dependencies.
2219
2220 * image.c: New file with consolidated image support code.
2221 (COLOR_TABLE_SUPPORT): New define to control whether
2222 color table support is available (X only).
2223 (Bitmap_Record): Common name for x_bitmap_record,
2224 w32_bitmap_record, and mac_bitmap_record.
2225 (XImagePtr): Common name for pointer to XImage or equivalent.
2226 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
2227 to XImagePtr on X+MAC, and to HDC on W32.
2228 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
2229 (NO_PIXMAP): Common name for "None" or equivalent.
2230 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
2231 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
2232 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
2233 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
2234 Define with suitable equivalents on W32 and MAC for code sharing.
2235 (XDrawLine): Define on MAC for code sharing.
2236 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
2237 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
2238 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
2239 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
2240 (x_reference_bitmap, x_create_bitmap_from_data)
2241 (x_create_bitmap_from_file, x_destroy_bitmap)
2242 (x_destroy_all_bitmaps, x_create_bitmap_mask)
2243 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
2244 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
2245 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
2246 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
2247 (define_image_type, lookup_image_type, valid_image_p)
2248 (image_error, enum image_value_type, struct image_keyword)
2249 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
2250 (make_image, free_image, prepare_image_for_display, image_ascent)
2251 (four_corners_best, image_background, image_background_transparent)
2252 (x_clear_image_1, x_clear_image, x_alloc_image_color)
2253 (make_image_cache, free_image_cache, clear_image_cache)
2254 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
2255 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
2256 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
2257 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
2258 (init_image_func_pointer, image_load_quartz2d)
2259 (struct ct_color, init_color_table, free_color_table)
2260 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
2261 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
2262 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
2263 (x_disable_image, x_build_heuristic_mask)
2264 (XBM support, XPM support, PBM support, PNG support, JPEG support)
2265 (TIFF support, GIF support, Ghostscript support): Consolidate image
2266 code from xfns.c, w32fns.c, and macfns.c.
2267 (syms_of_image): Consolidate image related symbol setup here.
2268 (init_image): Consolidate image related initializations here.
2269
2270 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
2271 and init_image. Remove call to init_xfns.
2272
2273 * macterm.h (struct mac_bitmap_record): Add file member.
2274 Not currently used, but simplifies code sharing.
2275
2276 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
2277 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
2278 (x_reference_bitmap, x_create_bitmap_from_data)
2279 (x_create_bitmap_from_file, x_destroy_bitmap)
2280 (x_destroy_all_bitmaps, x_create_bitmap_mask)
2281 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
2282 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
2283 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
2284 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
2285 (define_image_type, lookup_image_type, valid_image_p)
2286 (image_error, enum image_value_type, struct image_keyword)
2287 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
2288 (make_image, free_image, prepare_image_for_display, image_ascent)
2289 (four_corners_best, image_background, image_background_transparent)
2290 (x_clear_image_1, x_clear_image, x_alloc_image_color)
2291 (make_image_cache, free_image_cache, clear_image_cache)
2292 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
2293 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
2294 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
2295 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
2296 (init_image_func_pointer, image_load_quartz2d)
2297 (struct ct_color, init_color_table, free_color_table)
2298 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
2299 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
2300 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
2301 (x_disable_image, x_build_heuristic_mask)
2302 (XBM support, XPM support, PBM support, PNG support, JPEG support)
2303 (TIFF support, GIF support, Ghostscript support): Merge with image
2304 code from xfns.c and macfns.c into image.c.
2305 (syms_of_xfns): Move image related symbols to image.c.
2306 (init_external_image_libraries, init_xfns): Remove; initialization
2307 moved to init_image in image.c.
2308
2309 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
2310 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
2311 (x_reference_bitmap, x_create_bitmap_from_data)
2312 (x_create_bitmap_from_file, x_destroy_bitmap)
2313 (x_destroy_all_bitmaps, x_create_bitmap_mask)
2314 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
2315 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
2316 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
2317 (define_image_type, lookup_image_type, valid_image_p)
2318 (image_error, enum image_value_type, struct image_keyword)
2319 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
2320 (make_image, free_image, prepare_image_for_display, image_ascent)
2321 (four_corners_best, image_background, image_background_transparent)
2322 (x_clear_image_1, x_clear_image, x_alloc_image_color)
2323 (make_image_cache, free_image_cache, clear_image_cache)
2324 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
2325 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
2326 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
2327 (struct ct_color, init_color_table, free_color_table)
2328 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
2329 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
2330 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
2331 (x_disable_image, x_build_heuristic_mask)
2332 (XBM support, XPM support, PBM support, PNG support, JPEG support)
2333 (TIFF support, GIF support, Ghostscript support): Merge with image
2334 code from xfns.c and macfns.c into image.c.
2335 (syms_of_xfns): Move image related symbols to image.c.
2336 (init_external_image_libraries, init_xfns): Remove; initialization
2337 moved to init_image in image.c.
2338
2339 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
2340 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
2341 (x_reference_bitmap, x_create_bitmap_from_data)
2342 (x_create_bitmap_from_file, x_destroy_bitmap)
2343 (x_destroy_all_bitmaps, x_create_bitmap_mask)
2344 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
2345 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
2346 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
2347 (define_image_type, lookup_image_type, valid_image_p)
2348 (image_error, enum image_value_type, struct image_keyword)
2349 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
2350 (make_image, free_image, prepare_image_for_display, image_ascent)
2351 (four_corners_best, image_background, image_background_transparent)
2352 (x_clear_image_1, x_clear_image, x_alloc_image_color)
2353 (make_image_cache, free_image_cache, clear_image_cache)
2354 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
2355 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
2356 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
2357 (struct ct_color, init_color_table, free_color_table)
2358 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
2359 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
2360 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
2361 (x_disable_image, x_build_heuristic_mask)
2362 (XBM support, XPM support, PBM support, PNG support, JPEG support)
2363 (TIFF support, GIF support, Ghostscript support): Merge with
2364 w32fns.c and macfns.c image code into image.c.
2365 (syms_of_xfns): Move image related symbols to image.c.
2366 (init_xfns): Remove; initialization moved to init_image in image.c.
2367
2368 * lisp.h (syms_of_image, init_image): Add protoypes.
2369 (init_xfns): Remove prototype.
2370
2371 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
2372 (x_reference_bitmap, x_create_bitmap_from_data)
2373 (x_create_bitmap_from_file, x_destroy_bitmap)
2374 (x_create_bitmap_mask): Move prototypes from dispextern.h.
2375 (gamma_correct) [MAC_OS]: Add prototype.
2376
2377 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
2378 (x_reference_bitmap, x_create_bitmap_from_data)
2379 (x_create_bitmap_from_file, x_destroy_bitmap)
2380 (x_create_bitmap_mask): Move prototypes to dispextern.h.
2381
2382 2004-03-09 Kenichi Handa <handa@etlken2>
2383
2384 * coding.c (decode_coding_emacs_mule): Handle insufficent source
2385 correctly.
2386
2387 2004-03-04 Richard M. Stallman <rms@gnu.org>
2388
2389 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
2390
2391 * window.c (Fdisplay_buffer): Doc fix.
2392
2393 * buffer.c (Fpop_to_buffer): Doc fix.
2394
2395 2004-03-03 Kim F. Storm <storm@cua.dk>
2396
2397 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
2398
2399 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
2400
2401 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
2402
2403 2004-03-02 Richard M. Stallman <rms@gnu.org>
2404
2405 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
2406
2407 2004-03-02 Kenichi Handa <handa@m17n.org>
2408
2409 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
2410
2411 2004-03-02 Kim F. Storm <storm@cua.dk>
2412
2413 * window.h (struct window): New member overlay_arrow_bitmap.
2414
2415 * window.c (make_window): Initialize overlay_arrow_bitmap.
2416
2417 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
2418 implement and integrate multiple overlay arrows with redisplay.
2419 (syms_of_xdisp): DEFVAR_LISP and initialize it.
2420 (last_arrow_position, last_arrow_string): Replace by properties.
2421 (Qlast_arrow_position, Qlast_arrow_string)
2422 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
2423 (syms_of_xdisp): Intern and staticpro them.
2424 (overlay_arrow_string_or_property, update_overlay_arrows)
2425 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
2426 (overlay_arrow_at_row): New functions for multiple overlay arrows.
2427 (redisplay_internal): Use them instead of directly accessing
2428 Voverlay_arrow_position etc. for multiple overlay arrows.
2429 (mark_window_display_accurate): Use update_overlay_arrows.
2430 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
2431 (try_window_id): Use overlay_arrows_changed_p.
2432 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
2433 (display_line): Use overlay_arrow_at_row to check multiple
2434 overlay arrows, and get relevant overlay-arrow-string and
2435 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
2436 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
2437 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
2438
2439 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
2440 (update_window_fringes): Remove unused code.
2441
2442 2004-03-01 Jason Rumney <jasonr@gnu.org>
2443
2444 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
2445
2446 2004-03-01 Juanma Barranquero <lektu@terra.es>
2447
2448 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
2449
2450 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
2451
2452 2004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2453
2454 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
2455 how many colors can be displayed.
2456
2457 2004-03-01 Kenichi Handa <handa@m17n.org>
2458
2459 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
2460 correctly.
2461
2462 2004-02-28 Kim F. Storm <storm@cua.dk>
2463
2464 * dispnew.c (update_window): Update header line also if there are
2465 no other changes in window (move code after set_cursor label).
2466
2467 * lisp.h (mark_window_display_accurate): Remove prototype.
2468
2469 * window.c (window_loop, Fforce_window_update): Force mode line
2470 updates by setting prevent_redisplay_optimizations_p and
2471 update_mode_lines.
2472
2473 2004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2474
2475 * xfns.c (x_window): Fix indentation.
2476
2477 * xterm.c (x_calc_absolute_position): Call x_real_positions
2478 to get WM window sizes and use those to calculate position.
2479 (x_set_offset): Remove code commented out.
2480
2481 2004-02-28 Miles Bader <miles@gnu.org>
2482
2483 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
2484
2485 2004-02-28 Kim F. Storm <storm@cua.dk>
2486
2487 * keyboard.c (kbd_buffer_store_event_hold): New function to store
2488 an event into kbd fifo, but with special handling of quit event;
2489 a quit event is saved for later, and further events are discarded
2490 until the saved quit event has been processed.
2491 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
2492 (gen_help_event): Store help event in kbd fifo.
2493 (NREAD_INPUT_EVENTS): Remove.
2494 (read_avail_input): Adapt to new read_socket_hook interface.
2495 Remove allocation and initialization of local input_event buffer,
2496 as read_socket_hook stores events directly in fifo. Allocate and
2497 initialize local hold_quit event to handle postponed quit event
2498 (and store it if set by kbd_buffer_store_event_hold).
2499
2500 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
2501 (gen_help_event): Fix prototype.
2502
2503 * macterm.c (XTread_socket): Remove bufp_r and
2504 numcharsp args. Add hold_quit arg.
2505 Rework to use just one, local, inev input_event. Store inev
2506 directly in fifo using kbd_buffer_store_event_hold.
2507
2508 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
2509 (read_input_waiting): Adapt to new read_socket_hook interface.
2510 Remove allocation and initialization of local input_event buffer,
2511 as read_socket_hook stores events directly in fifo. Allocate and
2512 initialize local hold_quit event to handle postponed quit event
2513 (and store it if set by kbd_buffer_store_event_hold).
2514
2515 * term.c (read_socket_hook): Fix arg list.
2516
2517 * termhooks.h (read_socket_hook): Fix prototype.
2518
2519 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
2520 numcharsp args. Add hold_quit arg.
2521 Rework to use just one, local, inev input_event. Store inev
2522 directly in fifo using kbd_buffer_store_event_hold.
2523
2524 * w32inevt.h (w32_console_mouse_position): Fix prototype.
2525
2526 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
2527 Add hold_quit arg. Rework to use just one, local, inev
2528 input_event. Store inev directly in fifo using
2529 kbd_buffer_store_event_hold. Update count in one place.
2530 Postpone call to gen_help_event until inev is stored; use new
2531 local do_help for this.
2532 Remove local emacs_event in handing of ButtonPress event; just use
2533 inev instead (so no reason to copy it later).
2534
2535 * xsmfns.c (x_session_check_input): Remove numchars arg.
2536
2537 * xterm.c (x_focus_changed, x_detect_focus_change):
2538 Remove numchars arg. Always store event into bufp arg.
2539 Return nothing. Callers changed accordingly.
2540 (glyph_rect): Simplify.
2541 (STORE_KEYSYM_FOR_DEBUG): New macro.
2542 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
2543 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
2544 (current_hold_quit) [USE_GTK]: Add.
2545 (event_handler_gdk): Adapt to new handle_one_xevent.
2546 (handle_one_xevent): Remove bufp_r and numcharsp args.
2547 Add hold_quit arg. Rework to use just one, local, inev
2548 input_event. Store inev directly in fifo using
2549 kbd_buffer_store_event_hold. Update count in one place.
2550 Postpone call to gen_help_event until inev is stored; use new
2551 local do_help for this.
2552 Simplify handling of keysyms (consolidate common code). Fix bug
2553 where count was updated with nchars instead of nbytes.
2554 Remove local emacs_event in handing of ButtonPress event; just use
2555 inev instead (so no reason to copy it later).
2556 Remove `out' label. Rename label `ret' to `done'; add various
2557 `goto done' to clarify code flow in deeply nested blocks.
2558 (x_dispatch_event): Simplify as handle_one_xevent now calls
2559 kbd_buffer_store_event itself.
2560 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
2561 arg. Call handle_one_xevent with new arglist. Store event from
2562 x_session_check_input in fifo.
2563 [USE_GTK]: Setup current_hold_quit.
2564 Decrement handling_signal before unblocking input.
2565 (x_initialize) [USE_GTK]: Initialize current_count.
2566
2567 * xterm.h (x_session_check_input): Fix prototype.
2568
2569 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2570
2571 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
2572
2573 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
2574 macgui.h).
2575
2576 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
2577
2578 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
2579 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
2580 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
2581 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
2582 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
2583 (Bitmap): Remove typedef.
2584 (Pixmap): Change int to GWorldPtr.
2585
2586 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
2587
2588 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
2589 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
2590 New #define to extract 16-bit depth color components from unsigned
2591 long representation.
2592 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
2593 colors used for masks.
2594 (struct mac_display_info): Add color_p. Remove n_cbits.
2595
2596 * macfns.c: Include sys/types.h and sys/stat.h.
2597 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
2598 Include QuickTime/QuickTime.h.
2599 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
2600 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
2601 functions defined in macterm.c.
2602 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
2603 (ZPixmap): New #define for compatibility with xfns.c.
2604 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
2605 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2606 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
2607 New functions.
2608 (four_corners_best, x_create_x_image_and_pixmap)
2609 (x_destroy_x_image, unwind_create_frame, x_disable_image)
2610 (x_edge_detection, init_color_table, colors_in_color_table)
2611 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
2612 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
2613 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
2614 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
2615 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
2616 long mixup.
2617 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
2618 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
2619 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
2620 (x_set_cursor_type, Fxw_color_values, valid_image_p)
2621 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
2622 (x_alloc_image_color, clear_image_cache, lookup_image)
2623 (x_find_image_file, xbm_read_bitmap_file_data)
2624 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
2625 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
2626 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
2627 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
2628 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
2629 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
2630 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
2631 #if 0.
2632 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
2633 #if 0. Free white_relief.gc and black_relief.gc.
2634 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
2635 New functions (from xfns.c).
2636 (Fx_create_frame): Record unwind_create_frame.
2637 (Fxw_display_color_p): Use dpyinfo->color_p.
2638 (Fx_display_grayscale_p, Fx_display_planes): Don't use
2639 dpyinfo->n_cbits.
2640 (Fx_display_color_cells): Use dpyinfo->n_planes;
2641 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
2642 (Qheuristic, cross_disabled_images, emboss_matrix)
2643 (laplace_matrix): New variables (from xfns.c).
2644 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
2645 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
2646 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
2647 (image_background_transparent): New function (from xfns.c).
2648 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
2649 (image_load_quicktime): Add declaration.
2650 [MAC_OSX] (image_load_quartz2d): Likewise.
2651 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
2652 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
2653 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
2654 (xbm_load_image_from_file, x_laplace_read_row)
2655 (x_laplace_write_row, pbm_read_file): Remove functions.
2656 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
2657 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
2658 (colors_in_color_table): Sync with xfns.c (although not used).
2659 (lookup_rgb_color): Don't lookup color table. Just do gamma
2660 correction.
2661 (COLOR_INTENSITY): New #define (from xfns.c).
2662 (x_disable_image): New function (from xfns.c).
2663 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
2664 (x_build_heuristic_mask): Sync with xfns.c.
2665 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
2666 (HAVE_PBM): Remove #ifdef.
2667 (pbm_load): Sync with xfns.c. Set img->width and img->height
2668 before IMAGE_BACKGROUND.
2669 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
2670 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
2671 Don't enclose with #if HAVE_PNG.
2672 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
2673 symbol _CGImageCreateWithPNGDataProvider is defined.
2674 Otherwise use image_load_quicktime.
2675 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
2676 [HAVE_PNG] (png_load): Sync with xfns.c.
2677 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
2678 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
2679 HAVE_JPEG.
2680 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
2681 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
2682 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
2683 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
2684 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
2685 (tiff_image_p, tiff_load): Don't enclose declarations with #if
2686 HAVE_TIFF.
2687 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
2688 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
2689 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
2690 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
2691 New functions (from xfns.c).
2692 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
2693 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
2694 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
2695 Don't enclose with #if HAVE_GIF.
2696 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
2697 animated gif. Otherwise use image_load_quicktime.
2698 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
2699 gif_DrawText to avoid conflict with QuickdrawText.h.
2700 [HAVE_GIF] (gif_load): Sync with xfns.c.
2701 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
2702 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
2703 Ghostscript is not supported yet).
2704 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
2705 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
2706 cross_disabled_images (from xfns.c). Remove #if 0 for supported
2707 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
2708 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
2709 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
2710 HAVE_PNG. Call EnterMovies to support animated gifs.
2711 Call init_image_func_pointer to bind a symbol
2712 _CGImageCreateWithPNGDataProvider if it is defined.
2713
2714 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
2715 (x_draw_bar_cursor): Sync declaration with xterm.c.
2716 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
2717 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
2718 graphics).
2719 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
2720 (mac_draw_line_to_pixmap, XCreatePixmap)
2721 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
2722 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
2723 New functions.
2724 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
2725 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
2726 Cast bits to char *.
2727 (reflect_byte): New function (from w32fns.c).
2728 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
2729 due to byte alignment.
2730 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
2731 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
2732 (XSetForeground): Remove static (now used in macfns.c).
2733 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
2734 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
2735 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
2736 (x_draw_glyph_string_box, x_draw_image_foreground)
2737 (x_draw_image_foreground_1, x_draw_image_glyph_string)
2738 (x_draw_stretch_glyph_string, x_draw_glyph_string)
2739 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
2740 Sync with xterm.c.
2741 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
2742 than the xterm.c version when a strictly horizontal or vertical
2743 line is drawn.
2744 (XTset_terminal_window): Add static.
2745 (x_make_frame_visible): Add UNBLOCK_INPUT.
2746 (x_free_frame_resources): New funcion (from xterm.c).
2747 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
2748 occurs in tool bar area.
2749 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
2750 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
2751 Initialize image cache.
2752 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
2753 Enclose unused functions with #if 0.
2754 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
2755 (decode_mac_font_name): New function to apply code conversions
2756 from a mac font name to an XLFD font name according to its script code.
2757 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
2758 font name to a mac font name according to REGISTRY and ENCODING fields.
2759 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
2760 whose name starts with `.'.
2761 (init_font_name_table): Use decode_mac_font_name. Add both
2762 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
2763 of a font is smJapanese.
2764 (mac_do_list_fonts): New function to list fonts that match a given
2765 pattern.
2766 (x_list_fonts, XLoadQueryFont): Use it.
2767 (XLoadQueryFont): Set rbearing field for each variable width
2768 character to avoid needless redraw.
2769 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
2770
2771 2004-02-26 Kim F. Storm <storm@cua.dk>
2772
2773 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
2774 as read_socket_hook handler on X aborts if buffer is too small
2775 and W32 handler doesn't always check buffer limit.
2776
2777 * xdisp.c (handle_single_display_prop): Handle left-fringe and
2778 right-fringe similar to a display margin image. Specifically,
2779 the characters having the fringe prop are no longer shown, and
2780 we use IT_IMAGE/next_element_from_image with image_id = -1 to
2781 do this. Set fringe bitmap face_id in it->face_id.
2782 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
2783 still realize it->face (i.e. the fringe bitmap face).
2784
2785 2004-02-25 Miles Bader <miles@gnu.org>
2786
2787 * xdisp.c (check_it): Check string/string_pos consistency.
2788 (init_iterator): Initialize string-related fields properly.
2789
2790 2004-02-11 Miles Bader <miles@gnu.org>
2791
2792 * xdisp.c (produce_image_glyph): Force negative descents to zero.
2793
2794 2004-02-10 Miles Bader <miles@gnu.org>
2795
2796 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
2797 BLOCK_INPUT can be nested, so it doesn't make much sense.
2798
2799 2004-02-24 Michael Mauger <mmaug@yahoo.com>
2800
2801 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
2802 (xbm_read_bitmap_data): Use unsigned char for image data.
2803
2804 2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
2805
2806 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
2807
2808 2004-02-22 Jason Rumney <jasonr@gnu.org>
2809
2810 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
2811 correctly over other bitmaps.
2812
2813 2004-02-21 Eli Zaretskii <eliz@gnu.org>
2814
2815 * emacs.c (USAGE1): Split into two halves.
2816 (USAGE2): Second half of the old USAGE1.
2817 (USAGE3): Rename from USAGE2.
2818 (USAGE4): Rename from USAGE3.
2819
2820 2004-02-21 Juri Linkov <juri@jurta.org>
2821
2822 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
2823 Fix --multibyte. Move --help, --version to USAGE2. Add alias
2824 --file. Fix -f, -l. Sort options. Untabify.
2825 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
2826
2827 2004-02-19 Luc Teirlinck <teirllm@auburn.edu>
2828
2829 * category.c (Fdefine_category, Fcategory_docstring)
2830 (Fget_unused_category, Fset_category_table)
2831 (Fcategory_set_mnemonics): Doc fixes.
2832
2833 2004-02-20 Kim F. Storm <storm@cua.dk>
2834
2835 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
2836 The following changes are relative to the 2004-01-21 revision.
2837 (NREAD_INPUT_EVENTS): Define as max number of input events to read
2838 in one call to read_socket_hook. Value is 8.
2839 (read_avail_input): Separate and rework handling of read_socket_hook
2840 and non-read_socket_hook cases. Use smaller input_event buffer
2841 in read_socket_hook case, and repeat if full buffer is read.
2842 Use new local variable 'discard' to skip input after C-g.
2843 In non-read_socket_hook case, just use a single input_event, and
2844 call kbd_buffer_store_event on the fly for each character.
2845
2846 2004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
2847
2848 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
2849 Remove unused `gu' alternative.
2850
2851 2004-02-19 Andreas Schwab <schwab@suse.de>
2852
2853 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
2854 warning.
2855
2856 2004-02-18 Kim F. Storm <storm@cua.dk>
2857
2858 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
2859 Fix last change.
2860
2861 2004-02-17 Kim F. Storm <storm@cua.dk>
2862
2863 * xdisp.c (fast_find_position): Fix return value of new version;
2864 it was inverted compared to the 21.1 version.
2865 (get_window_cursor_type): Don't look at glyph if NULL.
2866 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
2867
2868 * keyboard.c: Rework previous change; it didn't consider that the
2869 buf array was allocated on the stack.
2870 (prev_read): Remove variable.
2871 (read_avail_input_buf): New static event buffer array.
2872 (in_read_avail_input): New static variable to handle re-entrancy.
2873 (read_avail_input): Change buf to pinter to read_avail_input_buf.
2874 Use in_read_avail_input to handle re-entrance; when re-entered,
2875 fully initialize and use tmp_buf array instead of read_avail_input_buf.
2876 Do not initialize read_avail_input_buf in full here; instead assume it
2877 is always cleared on entry. To ensure that, we clear (just) the
2878 entries that were used before we return.
2879 (init_keyboard): Initialize read_avail_input_buf here.
2880
2881 2004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change)
2882
2883 * cmds.c (Fend_of_line): Doc fix.
2884
2885 2004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
2886
2887 * keyboard.c (prev_read): New static variable.
2888 (read_avail_input): Use it to zero out only those slots in buf[]
2889 that were used last time we were called.
2890
2891 2004-02-16 Eli Zaretskii <eliz@gnu.org>
2892
2893 * Makefile.in (obj): Move fringe.o from here...
2894 (XOBJ, MAC_OBJ): ...to here.
2895
2896 2004-02-16 Stephen Eglen <stephen@gnu.org>
2897
2898 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
2899
2900 2004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
2901
2902 * data.c (Fbyteorder):
2903 * fringe.c (Fdefine_fringe_bitmap):
2904 * xdisp.c (handle_single_display_prop):
2905 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
2906
2907 2004-02-16 Jason Rumney <jasonr@gnu.org>
2908
2909 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
2910
2911 2004-02-15 Steven Tamm <steventamm@mac.com>
2912
2913 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
2914 controlling emulation of a three button mouse with option and
2915 command keys.
2916 (Qreverse, mac_get_enumlated_btn): Handle the emulation
2917 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
2918
2919 2004-02-15 Kim F. Storm <storm@cua.dk>
2920
2921 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
2922
2923 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
2924 Perform byte-swapping.
2925
2926 2004-02-14 Kim F. Storm <storm@cua.dk>
2927
2928 * dispextern.h (struct draw_fringe_bitmap_params): Change member
2929 bits from char to short to facilitate wider bitmaps.
2930 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
2931 member.
2932
2933 * fringe.c (struct fringe_bitmap): Change member bits from char to
2934 short to facilitate 16 bits wide bitmaps. Modify all standard
2935 bitmaps accordingly.
2936 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
2937 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
2938 (draw_fringe_bitmap): Ditto.
2939 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
2940 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
2941 handle up to 16 bits wide bitmaps.
2942 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
2943 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
2944
2945 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
2946 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
2947 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
2948
2949 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
2950 so it is no longer necessary to expand them here.
2951
2952 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
2953
2954 2004-02-12 Kim F. Storm <storm@cua.dk>
2955
2956 * window.c (Fwindow_fringes): Doc fix.
2957
2958 2004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2959
2960 * xselect.c (x_get_foreign_selection): Add new optional parameter
2961 time_stamp.
2962 (Fx_get_selection_internal): Ditto, pass time_stamp to
2963 x_get_foreign_selection.
2964
2965 * data.c (Fbyteorder): New function.
2966
2967 2004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2968
2969 * atimer.c: Move include stdio.h to same place as in other files.
2970
2971 * region-cache.c: Ditto.
2972
2973 * sysdep.c: Ditto.
2974
2975 * xfaces.c: Ditto.
2976
2977 2004-02-09 Sam Steingold <sds@gnu.org>
2978
2979 * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
2980
2981 2004-02-09 Kim F. Storm <storm@cua.dk>
2982
2983 * fringe.c: New file. Move original fringe related declarations
2984 and code from dispextern.h and xdisp.c here.
2985 Rework code to support user defined fringe bitmaps, redefining
2986 standard bitmaps, ability to overlay user defined bitmap with
2987 overlay arrow bitmap, and add faces to bitmaps.
2988 (Voverflow_newline_into_fringe): Declare here.
2989 (enum fringe_bitmap_align): New enum.
2990 (..._bits): All bitmaps are now defined without bitswapping; that
2991 is now done in init_fringe_once (if necessary).
2992 (standard_bitmaps): New array with specifications for the
2993 standard fringe bitmaps.
2994 (fringe_faces): New array.
2995 (valid_fringe_bitmap_id_p): New function.
2996 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
2997 (draw_fringe_bitmap): New function which draws fringe bitmap,
2998 possibly overlaying bitmap with cursor in right fringe or the
2999 overlay arrow in the left fringe.
3000 (update_window_fringes): Do not handle overlay arrow here.
3001 Compare and copy fringe bitmap faces.
3002 (init_fringe_bitmap): New function.
3003 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
3004 define and destroy user defined fringe bitmaps.
3005 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
3006 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
3007 (syms_of_fringe): New function. Defsubr new DEFUNs.
3008 DEFVAR_LISP Voverflow_newline_into_fringe.
3009 (init_fringe_once, init_fringe): New functions.
3010 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
3011
3012 * Makefile.in (obj): Add fringe.o.
3013 (fringe.o): New dependencies.
3014
3015 * dispextern.h (FRINGE_ID_BITS): New definition for number of
3016 bits allocated to hold a fringe number. Increase number of bits
3017 from 4 to 8 to allow user defined fringe bitmaps.
3018 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
3019 left_user_fringe_face_id, right_user_fringe_bitmap,
3020 right_user_fringe_face_id.
3021 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
3022 Move to new file fringe.c.
3023 (MAX_FRINGE_BITMAPS): Define here.
3024 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
3025 and overlay_p. Change member which to int.
3026 (struct redisplay_interface): New members define_fringe_bitmap
3027 and destroy_fringe_bitmap.
3028 (valid_fringe_bitmap_id_p): Add prototype.
3029 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
3030
3031 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
3032 arrows.
3033 (update_frame): Do flush_display if force_flush_display_p to
3034 ensure display (specifically fringes) are updated in a timely
3035 manner when resizing the frame by dragging the mouse.
3036 (update_window_line): Update row if overlay arrow changed.
3037 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
3038 or overlay arrow changed.
3039
3040 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
3041 syms_of_fringe, and init_fringe.
3042
3043 * frame.h (struct frame): New member force_flush_display_p.
3044
3045 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
3046 Add prototypes.
3047
3048 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
3049 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
3050 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
3051 Use cursor color for displaying cursor in fringe.
3052 (x_redisplay_interface): Add null handlers for
3053 define_fringe_bitmap and destroy_fringe_bitmap functions.
3054
3055 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
3056 xterm.c to handle overlayed fringe bitmaps and to use cursor color
3057 for displaying cursor in fringe.
3058 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
3059 specific functions to define and destroy fringe bitmaps in fringe_bmp.
3060 (w32_redisplay_interface): Add them to redisplay_interface.
3061 (w32_term_init): Call w32_init_fringe instead of explicitly
3062 defining fringe bitmaps in fringe_bmp array.
3063 (x_delete_display): Call w32_reset_fringes instead of explicitly
3064 destroying fringe bitmaps in fringe_bmp array.
3065
3066 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
3067 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
3068 (continued_bits, continuation_bits, ov_bits, first_line_bits)
3069 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
3070 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
3071 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
3072 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
3073 Move fringe handling vars and code to new file fringe.c.
3074 (handle_display_prop): Handle left-fringe and right-fringe
3075 display properties; store user fringe bitmaps in iterator.
3076 (move_it_in_display_line_to): Handle cursor in fringe at eob.
3077 (clear_garbaged_frames): Set force_flush_display_p if resized.
3078 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
3079 (display_line): Handle cursor in fringe at eob.
3080 (display_line): Set row user fringe bitmaps from iterator.
3081
3082 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
3083 Use cursor color for displaying cursor in fringe.
3084 (x_redisplay_interface): Add null handlers for
3085 define_fringe_bitmap and destroy_fringe_bitmap functions.
3086
3087 2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3088
3089 * macfns.c (Fx_change_window_property): Make doc string and
3090 parameters same as for X version.
3091
3092 * w32fns.c (Fx_change_window_property): Ditto.
3093
3094 2004-02-07 Kim F. Storm <storm@cua.dk>
3095
3096 * xdisp.c (hscroll_window_tree): Position cursor near to right
3097 margin in hscrolled window when jumping to end of line (rather
3098 than centering cursor).
3099
3100 * process.c (wait_reading_process_input): Don't do adaptive read
3101 buffering if waiting for a specific process.
3102
3103 2004-02-05 Luc Teirlinck <teirllm@auburn.edu>
3104
3105 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
3106 (Fread_minibuffer, Feval_minibuffer)
3107 (Fread_string, Fread_no_blanks_input)
3108 (Fcompleting_read): Doc fixes.
3109 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
3110 completion-regexp-list. Define Qcase_fold_search and staticpro it.
3111 (read_minibuf): Fix initial comment.
3112 (Ftry_completion, Fall_completions, Ftest_completion): Bind
3113 case-fold-search to the value of completion-ignore-case when
3114 checking completion-regexp-list.
3115 (Fdisplay_completion_list): Make it handle arguments that are
3116 symbols. Doc fix.
3117
3118 2004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3119
3120 * xterm.h: Add declaration of free_frame_menubar.
3121
3122 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
3123 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
3124 (Fx_change_window_property): Add declaration of parameters type and
3125 format. Remove unused variable cons.
3126
3127 * xselect.c: Include stdio,h.
3128
3129 2004-02-05 Kenichi Handa <handa@m17n.org>
3130
3131 * fns.c (Fset_char_table_range): Fix previous change.
3132
3133 * buffer.c (Fset_buffer_multibyte): Fix docstring.
3134
3135 2004-02-04 Luc Teirlinck <teirllm@auburn.edu>
3136
3137 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
3138
3139 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
3140
3141 * keymap.c (Vmouse_events): Rename from Vmenu_events.
3142 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
3143
3144 2004-02-04 Kenichi Handa <handa@m17n.org>
3145
3146 * fns.c (Fset_char_table_range): Handle charsets ascii,
3147 eight-bit-control, and eight-bit-graphic correctly.
3148
3149 2004-02-03 Jason Rumney <jasonr@gnu.org>
3150
3151 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
3152
3153 * w32fns.c (x_to_w32_font): Likewise.
3154
3155 2004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3156
3157 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
3158 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
3159
3160 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
3161 ClientMessages.
3162
3163 * xselect.c: Include termhooks.h and X11/Xproto.h
3164 (x_check_property_data, x_fill_property_data)
3165 (x_property_data_to_lisp, mouse_position_for_drop)
3166 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
3167 (Fx_send_client_event): Move here from xfns.c.
3168 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
3169
3170 * xfns.c (x-send-client-message): Move to xselect.c
3171 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
3172 OUTER_P.
3173 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
3174 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
3175 if vector_ret_p is true.
3176 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
3177
3178 2004-02-02 Eli Zaretskii <eliz@gnu.org>
3179
3180 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
3181 basename of FILE relative to it, not FILE itself.
3182
3183 2004-02-02 Kenichi Handa <handa@m17n.org>
3184
3185 * coding.c (coding_restore_composition): Check invalid
3186 composition data more rigidly.
3187
3188 2004-01-30 Luc Teirlinck <teirllm@auburn.edu>
3189
3190 * fileio.c (Fread_file_name_internal): Correctly handle the case
3191 where insert-default-directory is nil.
3192 (Fread_file_name): Always return an empty string if the user exits
3193 with an empty minibuffer. Adapt the docstring accordingly.
3194 (syms_of_fileio): Adapt the docstring of insert-default-directory
3195 to the change in Fread_file_name.
3196
3197 2004-01-29 Eli Zaretskii <eliz@gnu.org>
3198
3199 * alloca.c [!alloca]: Fix the prototype for xfree.
3200
3201 2004-01-29 Kenichi Handa <handa@m17n.org>
3202
3203 * fns.c (string_char_to_byte): Optimize for ASCII only string.
3204 (string_byte_to_char): Likewise.
3205
3206 2004-01-28 Peter Runestig <peter@runestig.com>
3207
3208 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
3209
3210 2004-01-27 Steven Tamm <steventamm@mac.com>
3211
3212 * unexmacosx.c (unexec_copy): Do not copy more than was
3213 requested to prevent overwriting during unexec.
3214
3215 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3216
3217 * process.c (sigchld_handler): Add comment about not calling malloc.
3218
3219 * process.h: Add extern to synch_process_termsig.
3220
3221 2004-01-27 Steven Tamm <steventamm@mac.com>
3222
3223 * macterm.c (make_mac_frame, make_mac_terminal_frame):
3224 Move setting of scroll bars from make_mac_frame to
3225 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
3226
3227 2004-01-26 Richard M. Stallman <rms@gnu.org>
3228
3229 * search.c (Freplace_match): Handle nonexistent
3230 back-references properly.
3231
3232 2004-01-03 Richard M. Stallman <rms@gnu.org>
3233
3234 * window.c (decode_any_window): New function.
3235 (Fwindow_height, Fwindow_width, Fwindow_edges)
3236 (Fwindow_pixel_edges, Fwindow_inside_edges)
3237 (Fwindow_inside_pixel_edges): Use decode_any_window.
3238
3239 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3240
3241 * process.h: synch_process_termsig new variable.
3242
3243 * callproc.c: Define synch_process_termsig.
3244 (Fcall_process): Initiate synch_process_termsig to zero and
3245 check if non-zero and get signal name after subprocess has ended.
3246
3247 * process.c (sigchld_handler): Set synch_process_termsig
3248 if terminated by a signal. synch_process_death setting removed.
3249
3250 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
3251
3252 2004-01-26 Andreas Schwab <schwab@suse.de>
3253
3254 * print.c (print_preprocess): Declare size as EMACS_INT to not
3255 lose bits.
3256 (print_object): Likewise.
3257 * alloc.c (Fpurecopy): Likewise.
3258
3259 2004-01-25 Luc Teirlinck <teirllm@auburn.edu>
3260
3261 * window.c (Fwindow_minibuffer_p): Doc fix.
3262
3263 2004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
3264
3265 * editfns.c (Fformat): Make both passes accept the same set of flags.
3266
3267 2004-01-23 Kenichi Handa <handa@m17n.org>
3268
3269 * fns.c (Fmd5): If OBJECT is a buffer different from the current
3270 one, set buffer to OBJECT temporarily.
3271
3272 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
3273
3274 * keyboard.c (kbd_buffer_gcpro): Remove.
3275 (kbd_buffer_store_event, clear_event, Fdiscard_input)
3276 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
3277 Don't initialize and/or maintain the variable any more. It was made
3278 redundant by my commit of 2003-06-15.
3279
3280 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
3281
3282 2004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3283
3284 * lisp.h: Add undef DECL_ALIGN.
3285
3286 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
3287
3288 * process.c (wait_reading_process_input) [SYNC_INPUT]:
3289 Check interrupt_input_pending explicitly.
3290
3291 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
3292
3293 * keyboard.c (handle_async_input): New fun,
3294 extracted from input_available_signal.
3295 (input_available_signal, reinvoke_input_signal): Use it.
3296
3297 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
3298
3299 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
3300
3301 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
3302 manipulation macros for when tags are in the lower bits.
3303 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
3304 (DECL_ALIGN): New macro.
3305 (DEFUN): Use it.
3306
3307 * lisp.h [ENABLE_CHECKING]: Don't force union type.
3308
3309 * s/darwin.h (__attribute__): Remove outdated workaround.
3310
3311 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
3312
3313 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
3314 Don't check range of malloc address.
3315 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
3316
3317 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
3318
3319 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
3320
3321 2004-01-19 Kenichi Handa <handa@m17n.org>
3322
3323 * fontset.c (fontset_font_pattern): Fix previous change.
3324
3325 2004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
3326
3327 * xdisp.c (Voverflow_newline_into_fringe)
3328 (move_it_in_display_line_to, redisplay_internal)
3329 (update_window_fringes, redisplay_window, display_line, window):
3330 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
3331 that it compiles without a window-system.
3332 * dispnew.c (direct_output_for_insert, update_window): Likewise.
3333
3334 2004-01-16 Kim F. Storm <storm@cua.dk>
3335
3336 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
3337
3338 * buffer.c (init_buffer_once): Set buffer_defaults and
3339 buffer_local_flags for indicate_buffer_boundaries.
3340 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
3341 default- variable for it.
3342
3343 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
3344 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
3345 New members exact_window_width_line_p and cursor_in_fringe_p for
3346 overflowing newlines into right fringe.
3347 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
3348 and indicate_bottom_line_p for buffer boundaries and scrolling.
3349 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
3350 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
3351 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
3352 and HOLLOW_SQUARE_BITMAP.
3353 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
3354 Add prototypes.
3355
3356 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
3357 instead of related indicator fields.
3358 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
3359 (direct_output_for_insert): Handle exact width lines like
3360 contined lines. Call update_window_fringes.
3361 (update_window): Call update_window_fringes.
3362 (scrolling_window): Don't skip desired rows with changed bitmaps.
3363 Check if fringe bitmaps changes when assigning scrolled rows.
3364
3365 * xdisp.c (Voverflow_newline_into_fringe): New variable.
3366 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
3367 (move_it_in_display_line_to): Overflow newline into fringe for
3368 rows that are exactly as wide as the window.
3369 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
3370 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
3371 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
3372 (fringe_bitmaps): Add new bitmaps.
3373 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
3374 Select proper bitmap for cursor in fringe when appropriate.
3375 Handle alignment of bitmap to top or bottom of row.
3376 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
3377 done by update_window_fringes.
3378 (update_window_fringes, draw_window_fringes): New functions.
3379 (redisplay_internal): Call update_window_fringes in case only
3380 cursor row is updated.
3381 (redisplay_window): Call update_window_fringes.
3382 Explicitly call draw_window_fringes if redisplay was done using
3383 the current matrix or the overlay arrow is in the window.
3384 (try_window_reusing_current_matrix): Mark scrolled rows for
3385 fringe update (to update buffer-boundaries / scrolling icons).
3386 (find_last_unchanged_at_beg_row): Handle exact width lines line
3387 continued lines.
3388 (display_line): Overflow newline into fringe for rows that are
3389 exactly as wide as the window. Don't append space for newline
3390 in this case.
3391 (notice_overwritten_cursor): Explicitly clear cursor bitmap
3392 in fringe as if it had been overwritten.
3393 (erase_phys_cursor): Erase cursor bitmap in fringe.
3394 (syms_of_xdisp): Mark show-trailing-whitespace and
3395 void-text-area-pointer as user options.
3396 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
3397
3398 * xterm.c (x_update_window_end): Call draw_window_fringes.
3399 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
3400 in row instead of actually drawing fringe bitmaps.
3401 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
3402 (x_draw_window_cursor): Draw cursor in fringe.
3403
3404 * w32term.c (x_update_window_end): Call draw_window_fringes.
3405 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
3406 in row instead of actually drawing fringe bitmaps.
3407 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
3408 (w32_draw_window_cursor): Draw cursor in fringe.
3409
3410 * macterm.c (x_update_window_end): Call draw_window_fringes.
3411 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
3412 in row instead of actually drawing fringe bitmaps.
3413 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
3414 (mac_draw_window_cursor): Draw cursor in fringe.
3415
3416 2004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3417
3418 * xterm.c (handle_one_xevent): Don't handle characters that are part
3419 of an old style (XLookupString) compose sequence.
3420
3421 2004-01-15 Kenichi Handa <handa@m17n.org>
3422
3423 * search.c (Freplace_match): Use make_multibyte_string or
3424 make_unibyte_string according to the buffer multibyteness.
3425
3426 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
3427
3428 * alloc.c (struct interval_block, struct string_block)
3429 (struct symbol_block, struct marker_block, live_string_p)
3430 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
3431 Better preserve alignment for objects in blocks.
3432 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
3433
3434 * lread.c (defvar_per_buffer): Remove dead declaration.
3435
3436 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
3437 space size.
3438
3439 2004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3440
3441 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
3442 if a key press should pop down. Only pop down if a key is pressed
3443 outside the menu/dialog.
3444 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
3445 popup_get_selection.
3446 (create_and_show_dialog): Pass 1 for down_on_keypress to
3447 popup_get_selection.
3448
3449 2004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3450
3451 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
3452 BLOCK/UNBLOCK_INPUT.
3453
3454 2004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3455
3456 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
3457 specified.
3458
3459 2004-01-08 Kenichi Handa <handa@m17n.org>
3460
3461 * editfns.c (Fformat): Fix '&' to '&&'.
3462
3463 2004-01-08 Andreas Schwab <schwab@suse.de>
3464
3465 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
3466 size if PSEUDOVECTOR_FLAG is set.
3467
3468 2004-01-07 Kenichi Handa <handa@m17n.org>
3469
3470 * charset.c (Fdeclare_equiv_charset): Fix docstring.
3471
3472 * fontset.c (fontset_ref_via_base): Fix previous change.
3473
3474 2004-01-07 Kim F. Storm <storm@cua.dk>
3475
3476 * process.c (read_process_output): Only activate adaptive
3477 buffering if we read less than 256 bytes at a time.
3478
3479 2004-01-06 Kim F. Storm <storm@cua.dk>
3480
3481 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
3482 object and image object. Return glyph width and height.
3483 (mode_line_string, marginal_area_string): Ditto.
3484
3485 * dispextern.h (buffer_posn_from_coords, mode_line_string)
3486 (marginal_area_string): Fix prototypes.
3487
3488 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
3489 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
3490 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
3491
3492 * keyboard.c (make_lispy_position): Use modified mode_line_string,
3493 buffer_posn_from_coords, and marginal_area_string functions to
3494 include both string object and image object in the lispy position.
3495 Also add actual glyph width and height to position.
3496 (read_key_sequence): Use real buffer position from mouse
3497 event to find keymap property even when click is in marginal area.
3498
3499 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
3500 mode_line_string and marginal_area_string functions to handle
3501 both string object and image object properties.
3502
3503 2004-01-06 Andreas Schwab <schwab@suse.de>
3504
3505 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
3506 character.
3507
3508 2004-01-02 Andreas Schwab <schwab@suse.de>
3509
3510 * macterm.c (emacs_options, x_initialized, same_x_server):
3511 Remove unused (and duplicated) definitions.
3512
3513 2004-01-02 Kim F. Storm <storm@cua.dk>
3514
3515 * process.h (struct Lisp_Process): New members for adaptive read
3516 buffering: adaptive_read_buffering, read_output_delay, and
3517 read_output_skip.
3518
3519 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
3520 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
3521 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
3522 (process_output_delay_count, process_output_skip): New vars.
3523 (Vprocess_adaptive_read_buffering): New variable.
3524 (make_process): Initialize adaptive read buffering members.
3525 (Fstart_process): Set adaptive_read_buffering member.
3526 (deactivate_process): Cleanup adaptive read buffering.
3527 (wait_reading_process_input): Temporarily omit delayed
3528 subprocesses from the set of file descriptors to read from;
3529 adjust the select timeout if we skipped any subprocesses.
3530 (read_process_output): Increase adaptive read buffering delay if
3531 we read less than a full buffer; reduce delay when we read a
3532 full buffer.
3533 (send_process): Simplify using local Lisp_Process var.
3534 Reset adaptive read buffering delay after write.
3535 (init_process): Initialize process_output_delay_count and
3536 process_output_skip.
3537 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
3538
3539 2004-01-01 Jason Rumney <jasonr@gnu.org>
3540
3541 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
3542
3543 2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
3544
3545 * print.c (Ferror_message_string): Add hyperlink in the docstring
3546 to the definition of `signal' in the Elisp manual.
3547 * eval.c (Fsignal): Ditto.
3548
3549 2003-12-29 James Clark <jjc@jclark.com> (tiny change)
3550
3551 * fns.c (internal_equal): Return t for two NaN arguments.
3552
3553 2003-12-29 Richard M. Stallman <rms@gnu.org>
3554
3555 * data.c (store_symval_forwarding): Handle setting
3556 default-fill-column, etc., by changing the value in
3557 buffers that use the default.
3558
3559 * minibuf.c (Fset_minibuffer_window): Doc fix.
3560
3561 * fileio.c (choose_write_coding_system): Ignore auto_saving
3562 if using the visited file for auto saves.
3563 (Fwrite_region): Don't update SAVE_MODIFF
3564 if auto-saving in visited file.
3565
3566 2003-12-29 Kenichi Handa <handa@m17n.org>
3567
3568 * dispextern.h (face_font_available_p): Extern it.
3569
3570 * fontset.c (Voverriding_fontspec_alist): New variable.
3571 (lookup_overriding_fontspec): New function.
3572 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
3573 (fontset_font_pattern): Likewise.
3574 (regulalize_fontname): New function.
3575 (Fset_fontset_font): Call regulalize_fontname.
3576 (Fset_overriding_fontspec_internal): New function.
3577 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
3578 Defsubr Sset_overriding_fontspec_internal.
3579
3580 * xfaces.c (face_font_available_p): New function.
3581
3582 2003-12-28 Richard M. Stallman <rms@gnu.org>
3583
3584 * buffer.c (Fother_buffer): Don't crash if BUF is nil
3585 or if its name is nil.
3586
3587 * buffer.c (Fkill_buffer): Don't delete auto-save file
3588 if it's the same as the visited file.
3589
3590 2003-12-28 Luc Teirlinck <teirllm@auburn.edu>
3591
3592 * coding.c (Fcheck_coding_system): Doc fix.
3593
3594 2003-12-28 Kim F. Storm <storm@cua.dk>
3595
3596 * Makefile.in (eval.o): Depend on dispextern.h.
3597
3598 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
3599 image glyph using image's ascent.
3600 (mode_line_string): Return image glyph as object clicked on.
3601 Adjust y0 for image glyph using image's ascent.
3602
3603 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
3604 (struct glyph): New members, ascent and descent. Used to save
3605 this glyph's ascent and descent, instead of having.
3606 (struct glyph): Declare member face_id using FACE_ID_BITS.
3607 (find_hot_spot): Add prototype.
3608
3609 * keyboard.c (Qimage): Remove extern (now in lisp.h).
3610 (QCmap): Declare extern.
3611 (make_lispy_position): When position is inside image hot-spot,
3612 use hot-spot element's id as posn element.
3613
3614 * lisp.h (IMAGEP): New macro to test for image object type.
3615 (Qimage): Declare extern.
3616
3617 * macfns.c (Qimage): Remove extern (now in lisp.h).
3618 (valid_image_p, parse_image_spec): Use IMAGEP macro.
3619
3620 * macterm.c (Qface, Qmouse_face): Remove unused externs.
3621
3622 * w32fns.c (Qimage): Remove extern (now in lisp.h).
3623 (valid_image_p, parse_image_spec): Use IMAGEP macro.
3624
3625 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
3626
3627 * w32term.c (Qface, Qmouse_face): Remove unused externs.
3628
3629 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
3630 pointer types.
3631 (Qrelative_width, Qalign_to): Remove unused variables.
3632 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
3633 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
3634 image maps.
3635 (x_y_to_hpos_vpos): Return glyph relative coordinates through
3636 new dx and dy args.
3637 Remove buffer_only_p arg (always 0). Simplify code accordingly.
3638 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
3639 than row's ascent and height, to get sensible height on tall rows.
3640 (build_desired_tool_bar_string): Remove Qimage extern.
3641 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
3642 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
3643 image glyph is alone on the last line.
3644 (append_glyph, append_composite_glyph, produce_image_glyph)
3645 (append_stretch_glyph): Set glyph's ascent and descent.
3646 (on_hot_spot_p): New function to check if position is inside an
3647 rectangular, circular, or polygon-shaped image hot-spot,
3648 (find_hot_spot): New function to search for image hot-spot.
3649 (Flookup_image_map): New defun to search for image hot-spot.
3650 (define_frame_cursor1): New aux function to determine frame pointer.
3651 (note_mode_line_or_margin_highlight, note_mouse_highlight):
3652 Handle `pointer' text property and :pointer image property to
3653 control frame pointer shape. Detect image hot-spots for pointer
3654 and help_echo properties. Use define_frame_cursor1.
3655 (note_mouse_highlight): Use Vvoid_text_area_pointer.
3656 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
3657 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
3658
3659 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
3660
3661 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
3662 (Qimage): Remove extern (now in lisp.h).
3663 (valid_image_p, parse_image_spec): Use IMAGEP macro.
3664
3665 * xmenu.c (show_help_event): Remove unused code.
3666
3667 * xterm.c (Qface, Qmouse_face): Remove unused externs.
3668 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
3669 row's ascent and descent, to get a sensible height on tall rows.
3670
3671 2003-12-25 Luc Teirlinck <teirllm@auburn.edu>
3672
3673 * minibuf.c (Fcompleting_read): Undo previous change.
3674
3675 2003-12-25 Lars Hansen <larsh@math.ku.dk>
3676
3677 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
3678 Arguments GCPRO'ed in call to file name handler.
3679
3680 2003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
3681
3682 * termcap.c (tgetst1): Scan for "%pN"; if all
3683 N are continuous in [1,9], remove all "%pN".
3684
3685 2003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3686
3687 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
3688
3689 * xfaces.c (lface_fully_specified_p): Take into account that
3690 MAC OS always have unspecified stipple.
3691
3692 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
3693
3694 * tparam.c (tparam1): Add handling for `%pN', which
3695 means use param N for the next substitution.
3696
3697 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
3698
3699 * xfaces.c (Fcolor_gray_p): Fix omission bug:
3700 In case `frame' is nil, consult the selected frame.
3701 (Fcolor_supported_p): Likewise.
3702
3703 2003-12-23 Luc Teirlinck <teirllm@auburn.edu>
3704
3705 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
3706 Doc fixes.
3707
3708 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
3709 and an integer. Adapt the introductory comment accordingly.
3710 (Fread_from_minibuffer): Delete code moved into read_minibuf.
3711 Doc fix.
3712 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
3713 read_minibuf.
3714 (Fcompleting_read): Delete code moved into read_minibuf.
3715 (Ftest_completion): Make it handle obarrays and hash tables correctly.
3716
3717 2003-12-03 Kenichi Handa <handa@m17n.org>
3718
3719 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
3720 encoding sequence.
3721
3722 2003-12-01 Kenichi Handa <handa@m17n.org>
3723
3724 * composite.c (syms_of_composite): Don't make the compostion hash
3725 table week.
3726
3727 2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
3728
3729 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
3730 * textprop.c (Fget_char_property_and_overlay): New function.
3731 (syms_of_textprop): Defsubr it.
3732
3733 2003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3734
3735 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
3736 to compile on terminal configuration.
3737
3738 * fileio.c (Fread_file_name): Check use_file_dialog also before
3739 calling Fx_file_dialog.
3740
3741 * fns.c: use_file_dialog: New variable.
3742 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
3743
3744 2003-11-29 Kim F. Storm <storm@cua.dk>
3745
3746 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
3747 (syms_of_msdos): Don't intern and staticpro them.
3748
3749 2003-11-27 Kim F. Storm <storm@cua.dk>
3750
3751 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
3752 coordinates relative to glyph at posn. If glyph is an image,
3753 return that as object at posn. Callers changed.
3754 (mode_line_string, marginal_area_string): Calculate and return
3755 pixel coordinates relative to glyph. Callers changed.
3756
3757 * dispextern.h (buffer_posn_from_coords, mode_line_string)
3758 (marginal_area_string): Fix prototypes.
3759 (window_box_left_offset, window_box_right_offset): Add prototypes.
3760
3761 * frame.h (get_specified_cursor_type, get_window_cursor_type):
3762 Remove prototypes.
3763
3764 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
3765
3766 * keyboard.c (make_lispy_position): Add x and y coordinates
3767 relative to the current glyph as 7th element of position.
3768 If glyph is an image, return it in the object element.
3769 (read_key_sequence): Skip checks for keymap property in cases
3770 where POSN_STRING is not a string (e.g. an image).
3771
3772 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
3773 (Vshow_text_cursor_in_void): New variable.
3774 (glyph_to_pixel_coords): Don't use negative hpos.
3775 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
3776 (append_stretch_glyph): Change ascent arg to be actual value
3777 in pixels rather than ratio to height. Callers changed.
3778 (calc_pixel_width_or_height): New aux function, implementing
3779 pixel based artihmetic for glyph widths and heights.
3780 (produce_stretch_glyph): Use calc_pixel_width_or_height for
3781 :width, :height, :align-to, and :ascent, thus allowing these to
3782 be specified in pixels as well as multiples of characters.
3783 Don't produce stretch glyphs with zero width or height.
3784 (get_specified_cursor_type): Declare static.
3785 (get_window_cursor_type): Declare static. Add glyph arg to be
3786 able to know when cursor is on an image; always substitute
3787 hollow-box cursor for filled-box cursor on images, to avoid
3788 negative images and flicker when blinking the cursor.
3789 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
3790 (note_mode_line_or_margin_highlight): Use non-text cursor rather
3791 than vertical scroll-bar cursor in display margins.
3792 (note_mouse_highlight): Use non-text cursor rather than text
3793 cursor in fringes and over images in the text area.
3794 Use non-text cursor when mouse pointer is outside editable text,
3795 i.e. in the void after end-of-line or end-of-buffer; this was
3796 already done for W32, but is now standard for all systems --
3797 user can toggle show-text-cursor-in-void to get old behaviour.
3798 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
3799 Vdisplay_pixels_per_inch.
3800
3801 2003-11-25 Andreas Schwab <schwab@suse.de>
3802
3803 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
3804 EMACS_INT to not lose bits.
3805 (Ffillarray): Don't set bits beyond the size of a bool vector.
3806
3807 2003-11-25 Kim F. Storm <storm@cua.dk>
3808
3809 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
3810 define this defun on systems that cannot use stderr as lvalue.
3811
3812 2003-11-24 Gerd Moellmann <gerd@gnu.org>
3813
3814 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
3815 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
3816 ld's default is incompatible with unexec.
3817
3818 2003-11-23 Kim F. Storm <storm@cua.dk>
3819
3820 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
3821 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
3822 (Fforce_window_update): New defun.
3823 (syms_of_window): Defsubr it.
3824 (Fset_window_margins, Fset_window_fringes): Doc fix.
3825
3826 * print.c (Fredirect_debugging_output): New defun.
3827 (syms_of_print): Defsubr it.
3828
3829 2003-11-22 Luc Teirlinck <teirllm@auburn.edu>
3830
3831 * fns.c (Fset_char_table_parent): Doc fix.
3832
3833 2003-11-22 Kim F. Storm <storm@cua.dk>
3834
3835 * dispnew.c (buffer_posn_from_coords): Return actual row/column
3836 for glyph clicked on, rather than (unused) pixel positions.
3837 (mode_line_string, marginal_area_string): Change X and Y args to
3838 pointers for returning actual row/column for glyph clicked on.
3839 Simplify and optimize loops.
3840
3841 * dispextern.h (mode_line_string, marginal_area_string):
3842 Update prototypes.
3843
3844 * keyboard.c (make_lispy_position): New function for generating
3845 mouse click positions from frame and pixel coordinates.
3846 Enhanced to return buffer position and actual row/column for
3847 events outside the text area using updated mode_line_string and
3848 marginal_area_string functions.
3849 Return left-fringe and right-fringe clicks as such, rather than
3850 clicks in text area.
3851 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
3852 pixel_to_glyph_coords, as we never use the results.
3853 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
3854 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
3855 Eliminate unused code in WHEEL_EVENT handling.
3856 (make_lispy_movement): Use make_lispy_position.
3857
3858 * window.c (coordinates_in_window): Remove redundant tests.
3859 Fix returned X pixel value for left-margin.
3860
3861 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
3862 mode_line_string and marginal_area_string parameters.
3863
3864 2003-11-22 Lars Hansen <larsh@math.ku.dk>
3865
3866 * w32.c (struct the_group, getgrgid): Add.
3867 * mac.c (struct my_group, getgrgid): Add.
3868
3869 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
3870
3871 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
3872
3873 2003-11-21 Lars Hansen <larsh@math.ku.dk>
3874
3875 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
3876 include in call to file name handler. Optionally translate numeric
3877 UID and GID to strings. Update docstring.
3878 (directory_files_internal): Add parameter ID-FORMAT.
3879 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
3880 include in call to file name handler and call to
3881 directory_files_internal. Update Docstring.
3882 (Fdirectory_files): Add dummy parameter in call to
3883 directory_files_internal.
3884 * lisp.h (Qinteger): Add.
3885 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
3886 (Ffile_attributes): Add parameter.
3887 * data.c (Qinteger): Export.
3888
3889 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
3890
3891 * fns.c (Freverse, Fnreverse): Doc fixes.
3892
3893 2003-11-19 Kim F. Storm <storm@cua.dk>
3894
3895 * xdisp.c (init_iterator): Initialize it->start to position
3896 before reseating (in case start position is invisible).
3897 (init_to_row_start): Set it->start to row-start.
3898 (redisplay_window): Accept optional_new_start if start position
3899 is invisible (in which case IT_CHARPOS overshoots PT).
3900 (display_line): Setup row->start from it->start (rather than
3901 it->current which is wrong if first char on line is invisible).
3902 When done, reseat it->start to it->current (= start of next row).
3903 (expose_area): Fix exposure of text area when first char (e.g. TAB)
3904 is only partially visible.
3905
3906 * dispextern.h (struct it): New member start.
3907
3908 2003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
3909
3910 * alloc.c (make_float, Fcons): Clear the markbit at init time.
3911 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
3912 of block_index outside of the macro call.
3913 (Fgarbage_collect): Remove null code.
3914
3915 * m/amdx86-64.h: Don't redefine XPNTR.
3916
3917 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
3918 of VALMASK.
3919
3920 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
3921 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
3922 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
3923
3924 * lisp.h (VALMASK): Only define for non-union type.
3925 (MARKBIT): Remove.
3926 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
3927 (XTYPE): Define unconditionally.
3928 (XSETTYPE): Remove one more remnant.
3929 (EQ): Define differently for the union and non-union cases.
3930 (INTMASK): New bit mask.
3931 (struct Lisp_Marker): Move down to prepare for upcoming patch.
3932 (GC_EQ): Delegate to EQ.
3933
3934 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
3935
3936 2003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3937
3938 * xterm.c (x_window_to_scroll_bar): Move check of display to
3939 where window_id is compared.
3940
3941 2003-11-17 Kim F. Storm <storm@cua.dk>
3942
3943 * dispextern.h (struct it): New member first_vpos.
3944
3945 * xdisp.c (start_display): Set it->first_vpos.
3946 (try_window_id): Use first_vpos to start display in first _text_
3947 line if no reusable lines at start of window with header line.
3948
3949 2003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3950
3951 * w32fns.c (XPutPixel):
3952 * w32bdf.c (w32_init_bdf_font):
3953 * sunfns.c (sel_read):
3954 * process.c (Fmake_network_process):
3955 * frame.c (store_frame_param):
3956 * fontset.c (Fset_fontset_font):
3957 * emacs.c (shut_down_emacs):
3958 * ccl.c (ccl_driver): Remove period at end of error message.
3959
3960 * config.in: Regenerate.
3961
3962 * xfns.c (x_window_to_frame, x_any_window_to_frame)
3963 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
3964 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
3965 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
3966 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
3967
3968 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
3969
3970 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
3971 (XTmouse_position, handle_one_xevent): Pass Display* to
3972 x_window_to_scroll_bar.
3973 (x_window_to_scroll_bar): Take a Display* argument.
3974 Check that display for frame is equal to Display* argument.
3975 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
3976 x_display_info_for_display instead. Use Display in xev instead
3977 of GDK_DISPLAY.
3978 (x_dispatch_event): Call x_display_info_for_display.
3979 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
3980 (x_connection_closed): Call xg_display_close for GTK.
3981 (x_term_init): Call xg_display_open for additional displays.
3982 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
3983 for GTK.
3984
3985 * xmenu.c (single_menu_item, mouse_position_for_popup)
3986 (x_activate_menubar): Formatting adjustments.
3987
3988 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
3989 adjustments.
3990
3991 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
3992 (xg_display_close, xg_create_default_cursor)
3993 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
3994 handling.
3995 (xg_left_ptr_cursor): Remove.
3996 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
3997 cursor here.
3998 (xg_win_to_widget): Take Display* argument, call
3999 gdk_xid_table_lookup_for_display.
4000 (xg_create_frame_widgets, xg_get_file_name, create_menus)
4001 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
4002 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
4003 in FRAME_X_DISPLAY_INFO.
4004 (xg_get_scroll_id_for_window): Take Display* argument.
4005 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
4006 (xg_initialize): Remove xg_left_ptr_cursor.
4007
4008 * gtkutil.h: xg_get_scroll_id_for_window, xg_win_to_widget takes
4009 Display* argument also. Declare xg_display_open,
4010 xg_display_close, xg_create_default_cursor.
4011
4012 2003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4013
4014 * xterm.c (x_detect_focus_change): Do not change focus frame for
4015 Enter/LeaveNotify if the current focus frame has explicit focus.
4016
4017 2003-11-14 Kim F. Storm <storm@cua.dk>
4018
4019 * dispnew.c (update_text_area): Fix redisplay error when hscroll
4020 is active and first glyph is only partially visible.
4021
4022 2003-11-13 Kenichi Handa <handa@m17n.org>
4023
4024 * xdisp.c (select_frame_for_redisplay): New function.
4025 (redisplay_internal): Record also selected_frame for
4026 unwind_redisplay. Call select_frame_for_redisplay before
4027 redrawing each frame.
4028 (unwind_redisplay): Argument changed to a cons.
4029
4030 2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
4031
4032 * fns.c (Fstring_to_multibyte): Doc fix.
4033
4034 2003-11-11 Kenichi Handa <handa@m17n.org>
4035
4036 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
4037
4038 2003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4039
4040 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
4041 program specified positions.
4042
4043 2003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4044
4045 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
4046
4047 2003-11-08 Kenichi Handa <handa@m17n.org>
4048
4049 * Makefile.in (lisp): Add kannada.el.
4050 (shortlisp): Likewise.
4051
4052 2003-11-07 Kenichi Handa <handa@m17n.org>
4053
4054 * coding.c (coding_allocate_composition_data):
4055 Reset coding->composing to COMPOSITION_NO.
4056 (coding_restore_composition): Detect invalid composition data.
4057 Give Fstring and Fvector a Lispy integer, not C int.
4058
4059 2003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
4060
4061 * floatfns.c (Flogb): Don't use VALMASK.
4062
4063 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
4064 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
4065
4066 * lisp.h (XINT): Move the cast to clarify what is going on.
4067 (GCTYPEMASK, XSETTYPE): Remove.
4068 (XGCTYPE): Make it an alias of XTYPE.
4069
4070 2003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4071
4072 * xterm.c (x_term_init): Fix formatting.
4073
4074 2003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4075
4076 * gtkutil.h: Declare xg_have_tear_offs, remove xg_keep_popup
4077 and xg_did_tearoff.
4078
4079 * gtkutil.c: Remove variable xg_did_tearoff.
4080 (xg_have_tear_offs): New function.
4081 (tearoff_remove): Just decrease xg_detached_menus.
4082 (tearoff_activate): Increase xg_detached_menus and call
4083 tearoff_remove when tearoff is removed.
4084 (xg_keep_popup): Remove function.
4085 (create_menus): Give add_tearoff_p as argument to recursive
4086 call to create_menus.
4087 (xg_create_widget): Use variables instead of multiple
4088 strcmp. Tell create_menus to create tear off only for
4089 menu bar menus.
4090 (xg_update_menubar): Change title for a detached menu also.
4091 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
4092 of deep_p.
4093 (xg_initialize): Initialize xg_detached_menus, remove
4094 initialization of xg_did_tearoff.
4095
4096 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
4097 xg_have_tear_offs returns non-zero.
4098 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
4099 call to xg_keep_popup.
4100
4101 2003-11-01 Andrew Choi <akochoi@shaw.ca>
4102
4103 * macterm.c (XTread_socket): Handle menubar selection and grow
4104 window only for mouseDown events.
4105
4106 2003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4107
4108 * xterm.c (x_term_init): For GTK part, increase x_initialized
4109 to check for more than one display. Use error instead of return 0.
4110
4111 2003-10-31 Andrew Choi <akochoi@shaw.ca>
4112
4113 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
4114 (copy_dysymtab): Call it.
4115
4116 2003-10-31 Luc Teirlinck <teirllm@auburn.edu>
4117
4118 * eval.c (Fdefvaralias): Doc fix.
4119
4120 2003-10-26 Luc Teirlinck <teirllm@auburn.edu>
4121
4122 * data.c (Fsetplist): Doc fix.
4123
4124 2003-10-14 Lute Kamstra <lute@gnu.org>
4125
4126 * window.c (Fset_window_fringes): Clarify docstring.
4127
4128 2003-10-14 Kim F. Storm <storm@cua.dk>
4129
4130 * window.c (Fset_window_margins): Simplify arg checking.
4131
4132 2003-10-13 Richard M. Stallman <rms@gnu.org>
4133
4134 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
4135 (print_partial_compiled_pattern): Replace assert with a printout.
4136 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
4137
4138 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
4139
4140 * window.c (Fset_window_margins): Allow only integers as args.
4141 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
4142 Doc fixes.
4143
4144 2003-10-13 Lute Kamstra <lute@gnu.org>
4145
4146 * window.c (Fset_window_fringes): Elaborate docstring.
4147
4148 2003-10-12 Andrew Choi <akochoi@shaw.ca>
4149
4150 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
4151
4152 * s/darwin.h (GC_MARK_STACK): Define.
4153
4154 2003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4155
4156 * window.c (shrink_windows): New function.
4157 (size_window): Call shrink_windows to calculate window sizes when
4158 shrinking frame with more than one window.
4159
4160 2003-10-12 Kim F. Storm <storm@cua.dk>
4161
4162 * xdisp.c (compute_fringe_widths): Doc fix.
4163
4164 2003-10-08 Kenichi Handa <handa@m17n.org>
4165
4166 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
4167
4168 2003-10-07 Kenichi Handa <handa@m17n.org>
4169
4170 * coding.c (Qcoding_system_define_form): New variable.
4171 (syms_of_coding): Intern and staticpro it.
4172 (Fcheck_coding_system): Try to autoload the definition of
4173 CODING-SYSTEM.
4174
4175 2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
4176
4177 * fns.c (Frequire): Doc fix.
4178
4179 2003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4180
4181 * xfns.c (Fx_send_client_event): New function as a base for
4182 manipulating extended window manager hints.
4183 (Fx_send_client_event): Remove unused variable s.
4184
4185 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
4186 that function is removed.
4187
4188 * xterm.c (x_set_offset): Use move_offset_left/top instead of
4189 x/y_pixels_outer_diff.
4190 (x_check_expected_move): Calculate move_offset_left/top.
4191
4192 * xterm.h (struct x_output): New members: move_offset_top/left.
4193
4194 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
4195 call x_set_offset directly.
4196
4197 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
4198
4199 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
4200
4201 * xterm.c (x_delete_display): Free font names and font_encoder
4202 in dpyinfo->font_table.
4203
4204 * xfns.c (Fx_close_connection): Only call XFreeFont here.
4205 Move xfree of font names to x_delete_display.
4206
4207 * xterm.h (struct x_display_info): New member, wm_type.
4208 (struct x_output): New members, expected_top/left and
4209 check_expected_move.
4210
4211 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
4212 is received.
4213 (handle_one_xevent): Rename x_check_expected_move from
4214 x_check_fullscreen_move.
4215 (x_set_offset): Only add WM decoration sizes to modified_top/left
4216 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
4217 (x_check_expected_move): Rename from x_check_fullscreen_move.
4218 Removed fullscreen specific code. Use check_expected_move,
4219 expected_left/top instead. Also, set wm_type.
4220 (x_term_init): Initialize wm_type to unknown.
4221
4222 * frame.c (x_fullscreen_move): Remove addition of WM decoration
4223 sizes to move_x/y.
4224
4225 2003-10-03 Kenichi Handa <handa@m17n.org>
4226
4227 * macterm.c (x_load_font): Clear all members of FONTP before start
4228 filling them.
4229
4230 2003-10-02 Kenichi Handa <handa@m17n.org>
4231
4232 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
4233 before calling find_ccl_program_func. Call find_ccl_program_func
4234 only when fontp->font_encoder is not NULL.
4235
4236 * xterm.c (x_load_font): Clear all members of FONTP before start
4237 filling them.
4238
4239 2003-10-03 John Paul Wallington <jpw@gnu.org>
4240
4241 * keymap.c (map_keymap): Don't abort when binding is a vector.
4242
4243 2003-10-02 Jason Rumney <jasonr@gnu.org>
4244
4245 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
4246 Sync dependencies with Makefile.in.
4247 (alloca.o): Remove.
4248
4249 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
4250 filling them.
4251
4252 * w32bdf.c (w32_load_bdf_font): Likewise.
4253
4254 2003-09-30 Richard M. Stallman <rms@gnu.org>
4255
4256 * term.c (set_tty_color_mode): Calculate current_mode_spec
4257 regardless of value of VAL.
4258
4259 * intervals.c (graft_intervals_into_buffer):
4260 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
4261 Handle over_used when splitting UNDER.
4262
4263 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4264
4265 * regex.c (regex_compile): Free the stack when returning from function.
4266
4267 2003-09-28 Kenichi Handa <handa@m17n.org>
4268
4269 * fontset.c (Finternal_char_font): Change return value to
4270 cons (FONT-NAME . GLYPH-CODE).
4271
4272 2003-09-28 Eli Zaretskii <eliz@gnu.org>
4273
4274 * term.c (tty_setup_colors): Treat any negative argument as -1.
4275
4276 2003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
4277
4278 * process.c (send_process): Delete unused temp_buf.
4279
4280 2003-09-26 Dave Love <fx@gnu.org>
4281
4282 * xterm.c (x_bitmap_mask): Declare.
4283
4284 2003-09-25 Dave Love <fx@gnu.org>
4285
4286 * Makefile.in (fns.o): Depend on md5.h.
4287
4288 2003-09-25 Kim F. Storm <storm@cua.dk>
4289
4290 * window.c (set_window_buffer): Fix redisplay problems when
4291 switching between buffers with different display margin widths.
4292
4293 2003-09-23 Kim F. Storm <storm@cua.dk>
4294
4295 * process.c (set_socket_option): Fix :bindtodevice option.
4296 (Fset_network_process_option): Update process contact list when
4297 setting option succeeds.
4298 (Fmake_network_process): Doc fix.
4299
4300 2003-09-23 Dave Love <fx@gnu.org>
4301
4302 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
4303
4304 2003-09-22 Eli Zaretskii <eliz@gnu.org>
4305
4306 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
4307 color mode is an integer number (it could be -1).
4308
4309 2003-09-22 Richard M. Stallman <rms@gnu.org>
4310
4311 * intervals.c (graft_intervals_into_buffer): Correct the main loop
4312 in the case where OVER is longer than UNDER.
4313
4314 2003-09-22 Masatake YAMATO <jet@gyve.org>
4315
4316 * window.c (Fset_window_scroll_bars): Validate the value of
4317 `vertical_type'.
4318
4319 2003-09-21 Kim F. Storm <storm@cua.dk>
4320
4321 * frame.c (Vdefault_frame_scroll_bars): New variable.
4322 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
4323 (syms_of_frame): DEFVAR_LISP it, and initialize according to
4324 window-system default scroll bar position.
4325
4326 * window.c (Fwindow_scroll_bars): Doc fix.
4327
4328 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4329
4330 * xterm.c (x_set_offset): Take window manager decorations into account.
4331
4332 2003-09-19 Richard M. Stallman <rms@gnu.org>
4333
4334 * atimer.h: Don't include lisp.h.
4335 (P_): Define it here (as well as elsewhere).
4336
4337 * print.c (Fprin1_to_string): Move the PRINTPREPARE
4338 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
4339
4340 * data.c (Fvariable_binding_locus): New function.
4341 (syms_of_data): defsubr it.
4342 (Flocal_variable_p): Delete duplicate call to indirect_variable.
4343
4344 2003-09-18 Dave Love <fx@gnu.org>
4345
4346 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
4347
4348 * process.c (Fnetwork_interface_info): Fix type error.
4349 (Fnetwork_interface_list): Doc fix.
4350 (read_process_output, read_process_output): Delete unused var.
4351
4352 2003-09-17 Kim F. Storm <storm@cua.dk>
4353
4354 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
4355 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
4356 (Fnetwork_interface_info): Check that ifreq struct has required
4357 fields before accessing them; this requires that those fields are
4358 defined as macros, which may be too restrictive on some platforms,
4359 but it is better than failing on other platforms.
4360 (syms_of_process): Only defsubr above fns when included.
4361
4362 2003-09-17 Dave Love <fx@gnu.org>
4363
4364 * unexalpha.c: Don't include varargs.h.
4365
4366 2003-09-17 Kim F. Storm <storm@cua.dk>
4367
4368 * process.c (Fset_process_sentinel): Add sentinel to childp plist
4369 for network process.
4370 (socket_options): Add `:' prefix to option names. Add optbit field.
4371 (set_socket_option): Remove no_error arg and special handling of s < 0.
4372 Return 1<<optbit for known option, 0 for unknown.
4373 Do not interpret 0 as false for boolean option (only nil).
4374 Pass failed option and value to report_file_error.
4375 (Fset_network_process_options): Replace by Fset_network_process_option.
4376 (Fset_network_process_option): New function to set just one option.
4377 (Fmake_network_process): Allow :coding arg to be a cons.
4378 Allow :server arg to be an integer specifying backlog size.
4379 Remove :options arg, and allow options to be specified directly
4380 as :KEY, VALUE pairs. Parse these options before binding socket.
4381 As before, :reuseaddr t is default for a server process, but this
4382 can now be disabled by specifying :reuseaddr nil.
4383 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
4384 (init_process): Availability of network options is now checked with
4385 simpler syntax (featurep 'make-network-process :OPTION); use loop to
4386 setup features.
4387 (syms_of_process): Fix defsubr's for the replaced functions.
4388
4389 2003-09-16 Dave Love <fx@gnu.org>
4390
4391 * Makefile.in: Depend on coding.h.
4392
4393 2003-09-14 Kim F. Storm <storm@cua.dk>
4394
4395 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
4396 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
4397 (syms_of_process): Defsubr them.
4398
4399 * config.in: Regenerate.
4400
4401 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
4402
4403 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
4404 * m/news-r6.h (XUNMARK): Remove.
4405 * m/mips.h (XUNMARK): Remove.
4406 * m/mips-siemens.h (XUNMARK): Remove.
4407 * m/iris4d.h (XUNMARK): Remove.
4408 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
4409
4410 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
4411
4412 * lisp.h (VALBITS): Don't remove 1 for the markbit.
4413 (union Lisp_Object): Use unsigned int for types. Remove markbit.
4414 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
4415 (XTYPE): Use unsigned right-shift.
4416 (XMARKBIT, XMARK, XUNMARK): Remove.
4417
4418 * alloc.c (init_intervals, init_symbol, init_marker):
4419 Don't preallocate anything.
4420 (Fgarbage_collect, mark_object): Ignore the markbit.
4421
4422 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
4423
4424 2003-09-08 Lute Kamstra <lute@gnu.org>
4425
4426 * xdisp.c (pint2hrstr): New function.
4427 (decode_mode_spec): Add `%i' and `%I' specs.
4428 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
4429 for `mode-line-format'.
4430
4431 2003-09-07 Andreas Schwab <schwab@suse.de>
4432
4433 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
4434 avoid warning.
4435
4436 2003-09-07 Eli Zaretskii <eliz@gnu.org>
4437
4438 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
4439
4440 2003-09-03 Kim F. Storm <storm@cua.dk>
4441
4442 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
4443 change (superseded by 2002-08-30 change); the default blink-off
4444 cursor is now again "no cursor".
4445
4446 2003-09-01 Jason Rumney <jasonr@gnu.org>
4447
4448 * makefile.w32-in (alloca.o): Remove.
4449 (coding.o): Depend on intervals.h
4450 (emacs.o, bytecode.o): Depend on window.h
4451
4452 2003-09-01 Dave Love <fx@gnu.org>
4453
4454 * Makefile.in (alloca.o): Remove commands.
4455 (coding.o): Depend on intervals.h composite.h window.h.
4456 (emacs.o): Depend on window.h keyboard.h keymap.h.
4457 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
4458 (bytecode.o): Depend on window.h.
4459
4460 2003-08-31 Jason Rumney <jasonr@gnu.org>
4461
4462 * w32term.c (w32_per_char_metric): Allow cached metrics to be
4463 returned even when font_type is unknown.
4464
4465 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
4466
4467 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4468
4469 * xterm.c (x_term_init): Initialize new fields in x_display_info.
4470
4471 * xterm.h (struct x_display_info): Add red/green/blue_bits and
4472 *_offset.
4473
4474 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
4475 calculate pixel value.
4476
4477 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
4478
4479 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
4480 Don't tell redisplay display is accurate when it's actually been
4481 paused for pending input.
4482
4483 2003-08-29 Richard M. Stallman <rms@gnu.org>
4484
4485 * dispnew.c (adjust_glyph_matrix): Call window_box
4486 whenever W is nonzero.
4487
4488 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
4489 (Fkill_local_variable, Fmake_variable_frame_local)
4490 (Flocal_variable_p, Flocal_variable_if_set_p):
4491 Use indirect_variable to trace thru variable aliases.
4492
4493 * config.in: Updated.
4494
4495 * callint.c (Fcall_interactively): Save and restore
4496 Vthis_command, Vthis_original_command, real_this_command,
4497 and current_kboard->Vlast_command.
4498
4499 * abbrev.c (Fexpand_abbrev): Insert before deleting.
4500
4501 2003-08-29 Gerd Moellmann <gerd@gnu.org>
4502
4503 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
4504
4505 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
4506
4507 * coding.c (decode_coding_iso2022): Initialize local variable c2.
4508 (decode_coding_sjis_big5): Likewise.
4509
4510 2003-08-27 Jason Rumney <jasonr@gnu.org>
4511
4512 * w32.c (sys_pipe): Protect against file descriptor overflow.
4513
4514 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
4515
4516 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
4517
4518 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
4519
4520 * xfns.c (Vgtk_version_string): New variable.
4521 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
4522
4523 2003-08-24 Eli Zaretskii <eliz@gnu.org>
4524
4525 * term.c (term_init): Remove `const' from buffer_size's declaration.
4526
4527 * Makefile.in (msdos.o): Depend on intervals.h.
4528
4529 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
4530
4531 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4532
4533 * xterm.h (struct x_display_info): New fields: client_leader_window
4534 and Xatom_wm_client_leader.
4535
4536 * xterm.c (x_initialize): Move call to x_session_initialize to ...
4537 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
4538
4539 * xsmfns.c (create_client_leader_window): New function.
4540 (x_session_initialize): Call create_client_leader_window, take
4541 dpyinfo as argument.
4542
4543 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
4544
4545 * Makefile.in (xsmfns.o): Add more depenedencies.
4546
4547 2003-08-21 Dave Love <fx@gnu.org>
4548
4549 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
4550
4551 2003-08-21 Kenichi Handa <handa@m17n.org>
4552
4553 * term.c (term_init): Fix previous change; don't rely on the
4554 length of `buffer' if TERMINFO is defined.
4555
4556 2003-08-20 Dave Love <fx@gnu.org>
4557
4558 * atimer.h: Include lisp.h.
4559
4560 * lisp.h (EMACS_LISP_H): New.
4561 (popup_activated_flag): Don't declare.
4562
4563 * alloca.c: Some merging with gnulib. Change logic and doc
4564 concerning (x)malloc/(x)free -- no longer Emacs-specific.
4565 [DO_BLOCK_INPUT]: Don't include lisp.h.
4566 (xmalloc, xfree): Declare.
4567 (malloc): Don't declare.
4568
4569 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
4570 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
4571 atimer.h, blockinput.h.
4572
4573 * alloc.c (lisp_align_malloc): Change type of `aligned'.
4574
4575 * alloca.s: Removed.
4576
4577 2003-08-19 Gerd Moellmann <gerd@gnu.org>
4578
4579 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
4580 use -lncurses.
4581
4582 * term.c (term_init): Use a buffer of size 4096 for tgetent since
4583 FreeBSD returns something longer than 2044. Abort if the end of
4584 the buffer is overwritten.
4585
4586 2003-08-19 Miles Bader <miles@gnu.org>
4587
4588 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
4589
4590 2003-08-19 Gerd Moellmann <gerd@gnu.org>
4591
4592 * alloc.c (lisp_align_malloc): Check for memory full when
4593 allocating ablocks, which also avoids freeing a pointer into an
4594 ablocks structure.
4595
4596 * puresize.h (BASE_PURESIZE): Increase to 1100000.
4597
4598 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
4599
4600 2003-08-16 Richard M. Stallman <rms@gnu.org>
4601
4602 * editfns.c (Fencode_time): Doc fix.
4603
4604 2003-08-16 David Ponce <david@dponce.com>
4605
4606 * fileio.c (Fwrite_region): Fix conditional expression to issue
4607 the right message.
4608
4609 2003-08-16 Juri Linkov <juri@jurta.org> (tiny change)
4610
4611 * syntax.c (Fforward_word): Argument changed to optional.
4612 Set default value to 1.
4613
4614 2003-08-15 Kenichi Handa <handa@m17n.org>
4615
4616 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
4617 what autoscaled.
4618 (best_matching_font): Once we find a better scalable font, set
4619 non_scalable_has_exact_height_p to 1.
4620 (try_font_list): Call try_alternative_families to try any family
4621 with the given registry.
4622
4623 2003-08-09 Andreas Schwab <schwab@suse.de>
4624
4625 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
4626
4627 * print.c (print_string): Fix printing of multibyte string with
4628 nontrivial printcharfun.
4629
4630 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4631
4632 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
4633
4634 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
4635
4636 2003-07-31 Kenichi Handa <handa@m17n.org>
4637
4638 * process.c (read_process_output): Return the actually read bytes
4639 instead of the result of decoding.
4640
4641 2003-07-31 Kenichi Handa <handa@m17n.org>
4642
4643 * xterm.h (struct x_bitmap_record): New member have_mask.
4644
4645 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
4646 to 0.
4647 (x_create_bitmap_from_file): Likewise.
4648 (x_destroy_bitmap): Check have_mask member before freeing a mask.
4649 (x_destroy_all_bitmaps): Likewise.
4650 (x_create_bitmap_mask): Set have_mask member to 1.
4651
4652 2003-07-30 Richard M. Stallman <rms@gnu.org>
4653
4654 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
4655
4656 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4657
4658 * gtkutil.c (xg_mark_data): Update calls to mark_object.
4659
4660 2003-07-29 Richard M. Stallman <rms@gnu.org>
4661
4662 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
4663 Conditionalize XIM code on HAVE_XIM.
4664
4665 * fns.c (Fclear_string): New function.
4666 (syms_of_fns): defsubr it.
4667
4668 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
4669
4670 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
4671
4672 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
4673
4674 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
4675
4676 * buffer.c (delete_all_overlays): New function.
4677 * buffer.h (delete_all_overlays): Declare.
4678 * coding.c (run_pre_post_conversion_on_str):
4679 * print.c (temp_output_buffer_setup):
4680 * fileio.c (Finsert_file_contents):
4681 * minibuf.c (get_minibuffer): Use it.
4682
4683 2003-07-22 Andrew Choi <akochoi@shaw.ca>
4684
4685 * unexmacosx.c (unexec_regions_sort_compare):
4686 (unexec_regions_merge): New functions. Sort and merge unexec
4687 regions before dumping them.
4688
4689 2003-07-22 Dave Love <fx@gnu.org>
4690
4691 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
4692
4693 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
4694
4695 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
4696 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
4697 MARKBIT as the gcmarkbit for strings.
4698
4699 2003-07-21 Richard M. Stallman <rms@gnu.org>
4700
4701 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
4702
4703 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
4704 (syms_of_fns): Corresponding change.
4705
4706 * alloc.c (syms_of_alloc): Doc fixes.
4707
4708 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
4709
4710 * s/netbsd.h: Use -Wl syntax.
4711
4712 2003-07-17 Richard M. Stallman <rms@gnu.org>
4713
4714 * xterm.c (xim_initialize): Redo 6/24 change.
4715
4716 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
4717
4718 * buffer.c (copy_overlays): Use EMACS_INT for positions.
4719 (Fswitch_to_buffer): Don't signal an error when switching to the same
4720 buffer in a dedicated window.
4721
4722 * alloc.c: Use bitmaps for cons, as was done for floats.
4723 (init_float, init_cons): Let the normal code allocate the first block.
4724 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
4725 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
4726 New macros.
4727 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
4728 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
4729 (live_cons_p): Check the pointer is not past the `conses' array.
4730 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
4731 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
4732 (survives_gc_p): Use CONS_MARKED_P and simplify.
4733 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
4734
4735 2003-07-13 Paul Eggert <eggert@twinsun.com>
4736
4737 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
4738 puts it into BSS instead, at least on Solaris 8 and 9.
4739 This is a valid optimization, and it may occur on other platforms,
4740 so Emacs should not assume that initializing a static variable to
4741 zero puts it into data.
4742 * alloc.c (pure, staticvec):
4743 Initialize these arrays to nonzero, so that they're not
4744 put into BSS by that optimization.
4745
4746 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
4747
4748 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
4749 (lisp_align_malloc): Use posix_memalign is available.
4750 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
4751 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
4752 for consistency. Update users.
4753
4754 2003-07-13 Richard M. Stallman <rms@gnu.org>
4755
4756 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
4757
4758 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
4759
4760 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
4761 and use the Gtk+ function gtk_window_icon_from_file if available.
4762
4763 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
4764 handle mask of bitmaps.
4765 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
4766 mask property.
4767 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
4768
4769 * xterm.h (xg_set_icon): New function.
4770
4771 2003-07-12 Paul Eggert <eggert@twinsun.com>
4772
4773 * unexelf.c (unexec): Consider a section to precede the .bss
4774 section if its addresses overlap that of .bss.
4775
4776 2003-07-12 Richard M. Stallman <rms@gnu.org>
4777
4778 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
4779
4780 * config.in (HAVE_CRTIN): Add #undef.
4781 (INLINE): Really inline only if OPTIMIZE is defined.
4782
4783 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
4784 END_FILES_1.
4785 (START_FILES_1, END_FILES_1): New macros (conditional).
4786 (LD_SWITCH_SYSTEM_TEMACS): Define.
4787
4788 * s/openbsd.h: Don't include bsd4-3.h.
4789 (TERMINFO): Define.
4790 (LIBS_TERMCAP): Define.
4791 (LD_SWITCH_SYSTEM): Define (two definitions).
4792
4793 * xfns.c: Include libpng/png.h instead of png.h.
4794
4795 2003-07-11 Andreas Schwab <schwab@suse.de>
4796
4797 * buffer.c (modify_overlay): Update prototype.
4798 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
4799 Likewise.
4800
4801 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
4802
4803 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
4804 (struct interval): Move to intervals.h.
4805 (struct Lisp_Marker): Use EMACS_INT for position info.
4806 (forward_point): Remove prototype of defunct function.
4807 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
4808 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
4809 (syms_of_textprop, set_text_properties): Remove prototypes that are
4810 already in intervals.h.
4811
4812 * intervals.h (struct interval): Move from lisp.h.
4813 Use EMACS_INT for position and size info.
4814
4815 * coding.c: Include intervals.h for Fset_text_properties.
4816
4817 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
4818 position and length information.
4819
4820 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
4821
4822 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
4823 position and length information.
4824
4825 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
4826
4827 Change overlays_after and overlays_before so the overlays themselves
4828 are linked into lists, rather than using cons cells. After all each
4829 Lisp_Misc already occupies 5 words, so we can add a `next' field to
4830 Lisp_Overlay for free and save up one cons cell per overlay (not
4831 to mention one indirection when traversing the list of overlay).
4832
4833 * lisp.h (struct Lisp_Overlay): New field `next'.
4834
4835 * buffer.h (struct buffer): Change overlays_before and overlays_after
4836 from Lisp lists of overlays to pointers to overlays.
4837
4838 * buffer.c (overlay_strings, recenter_overlay_lists):
4839 Fix typo in eassert in last commit.
4840 (unchain_overlay): New function.
4841 (add_overlay_mod_hooklist): Use AREF.
4842 (copy_overlays, reset_buffer, overlays_at, overlays_in)
4843 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
4844 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
4845 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
4846 (report_overlay_modification, evaporate_overlays, init_buffer_once):
4847 Adjust to new type of overlays_(before|after).
4848
4849 * alloc.c (mark_object): Mark the new `next' field of overlays.
4850 (mark_buffer): Manually mark the overlays_(after|before) fields.
4851
4852 * coding.c (run_pre_post_conversion_on_str):
4853 * editfns.c (overlays_around):
4854 * xdisp.c (load_overlay_strings):
4855 * fileio.c (Finsert_file_contents):
4856 * indent.c (current_column):
4857 * insdel.c (signal_before_change, signal_after_change):
4858 * intervals.c (set_point_both):
4859 * print.c (temp_output_buffer_setup): Use new type for
4860 overlays_(before|after).
4861
4862 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
4863
4864 * buffer.c (report_overlay_modification): Don't run hooks while
4865 traversing the list of overlays.
4866
4867 * buffer.h (struct buffer): Use an int for overlay_center.
4868 (overlays_at, evaporate_overlays, recenter_overlay_lists)
4869 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
4870
4871 * buffer.c (reset_buffer, recenter_overlay_lists)
4872 (adjust_overlays_for_insert, adjust_overlays_for_delete)
4873 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
4874 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
4875 (overlays_at, evaporate_overlays, recenter_overlay_lists)
4876 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
4877
4878 * xdisp.c (fast_find_position): Remove unused var.
4879
4880 * cmds.c (Qexpand_abbrev): New sym.
4881 (syms_of_cmds): Initialize it.
4882 (internal_self_insert): Use it to call expand-abbrev.
4883
4884 2003-07-09 Kim F. Storm <storm@cua.dk>
4885
4886 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
4887 was configured with --without-xim.
4888 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
4889
4890 2003-07-07 Richard M. Stallman <rms@gnu.org>
4891
4892 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
4893
4894 * alloc.c (Fgarbage_collect): Doc fix.
4895
4896 2003-07-07 Nozomu Ando <nand@mac.com> (tiny change)
4897
4898 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
4899
4900 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
4901
4902 * minibuf.c (read_minibuf): UNGCPRO before returning.
4903 (Ftry_completion, Fall_completions): Doc fix.
4904
4905 * alloc.c (live_float_p): Check that p is not past the `floats' array,
4906 now that `floats' is not the last element of the struct any more.
4907
4908 2003-07-06 Jason Rumney <jasonr@gnu.org>
4909
4910 * w32term.h (ClipboardSequence_Proc): New type.
4911
4912 * w32fns.c (clipboard_sequence_fn): New variable.
4913 (globals_of_w32fns): Initialize it.
4914
4915 * w32select.c (last_clipboard_sequence_number): New variable.
4916 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
4917 number if possible.
4918
4919 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
4920
4921 * m/amdx86-64.h (MARKBIT):
4922 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
4923 MARKBIT and ARRAY_MARK_FLAG any more.
4924
4925 * m/hp800.h (XSETMARKBIT):
4926 * m/sr2k.h (XSETMARKBIT):
4927 * lisp.h (XSETMARKBIT): Remove unused macro.
4928
4929 * lisp.h (mark_object): Change prototype.
4930
4931 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
4932 (last_marked): Change accordingly.
4933 (mark_interval, mark_maybe_object, mark_maybe_pointer)
4934 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
4935 (mark_buffer): Update calls to mark_object.
4936
4937 * bytecode.c (mark_byte_stack):
4938 * fns.c (sweep_weak_table):
4939 * keyboard.c (mark_kboards): Update calls to mark_object.
4940
4941 2003-07-06 Jason Rumney <jasonr@gnu.org>
4942
4943 * alloc.c (struct ablock): Only include padding when there is some.
4944
4945 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
4946
4947 * alloc.c (ALIGN): Add casts to simplify usage.
4948 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
4949 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
4950 (struct ablock, struct ablocks): New types.
4951 (free_ablock): New global var.
4952 (lisp_align_malloc, lisp_align_free): New functions.
4953 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
4954 (struct float_block): Reorder and add gcmarkbits.
4955 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
4956 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
4957 (init_float, make_float): Use lisp_align_malloc.
4958 (free_float, live_float_p): Don't use `type' any more.
4959 (make_float): Use FLOAT_UNMARK to access to mark bit.
4960 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
4961 Use FLOAT_MARKED_P to access the mark bit.
4962 (pure_alloc): Simplify use of ALIGN.
4963 (mark_object): Use FLOAT_MARK to access the mark bit.
4964 (gc_sweep): Use new macros to access the float's mark bit.
4965 (init_alloc_once): Init free_ablock.
4966
4967 * lisp.h (struct Lisp_Float): Remove unused field `type'.
4968
4969 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
4970
4971 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
4972 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
4973 (allocate_buffer): Move.
4974 (string_bytes): Don't mask markbit of `size_byte'.
4975 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
4976 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
4977 Use the `size' field of buffers (rather than the `name' field) for
4978 the mark bit, as is done for all other vectorlike objects.
4979 Use the new macros to access the mark bit of vectorlike objects.
4980
4981 2003-06-26 Richard M. Stallman <rms@gnu.org>
4982
4983 * puresize.h (BASE_PURESIZE): Increment base size.
4984
4985 * xdisp.c (fast_find_position): Enable Gerd's new definition.
4986
4987 * xterm.c (xim_initialize): Undo previous change.
4988
4989 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
4990
4991 * alloc.c (survives_gc_p): Simplify.
4992
4993 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
4994
4995 * window.c (Fset_window_dedicated_p): Simplify.
4996 (display_buffer_1): Don't raise the win from which minibuf was entered.
4997 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
4998 (Fminibuffer_selected_window): Simplify.
4999
5000 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
5001
5002 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
5003 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
5004
5005 * insdel.c (check_markers, adjust_markers_for_delete)
5006 (adjust_markers_for_insert, adjust_markers_for_replace)
5007 (prepare_to_modify_buffer, RESTORE_VALUE):
5008 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
5009 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
5010 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
5011 * alloc.c (Fmake_marker, free_marker, gc_sweep):
5012 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
5013 * editfns.c (save_excursion_restore, transpose_markers):
5014 * window.c (delete_window):
5015 * xdisp.c (message_dolog): Update for new types.
5016
5017 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5018
5019 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
5020 (realize_default_face): Use default_face_done_p for the force_p
5021 argument to set_lface_from_font_name. Set default_face_done_p to one.
5022
5023 * frame.c (make_frame): Initialize default_face_done_p.
5024
5025 * frame.h (struct frame): Add default_face_done_p.
5026
5027 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
5028 will be defined.
5029
5030 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
5031
5032 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
5033 Initialize the new field `gcmarkbit'.
5034 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
5035 (mark_interval_tree): Don't mark the tree separately from the nodes.
5036 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
5037 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
5038 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
5039
5040 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
5041 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
5042 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
5043 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
5044 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
5045
5046 2003-06-24 Dave Love <fx@gnu.org>
5047
5048 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
5049
5050 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
5051 from gnulib.
5052
5053 2003-06-21 Richard M. Stallman <rms@gnu.org>
5054
5055 * fileio.c (Fwrite_region): Alternate messages
5056 for append and partial write.
5057
5058 * keyboard.c (read_key_sequence): When converting upcase fn key to
5059 downcase, update fkey and keytran so `backspace' gets translated.
5060
5061 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
5062
5063 * process.c (wait_reading_process_input): Don't signal SIGIO
5064 in batch mode.
5065
5066 2003-06-17 Kenichi Handa <handa@m17n.org>
5067
5068 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
5069 composite.h.
5070
5071 * xselect.c: Don't include charset.h, coding.h, composite.h.
5072 (Qforeign_selection): New variable.
5073 (syms_of_xselect): Intern and static it.
5074 (selection_data_to_lisp_data): Return a unibyte string made from
5075 data with `foreign-selection' text property.
5076
5077 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
5078
5079 * termhooks.h (EVENT_INIT): New macro.
5080
5081 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
5082
5083 * alloc.c (mark_kboards): Move to keyboard.c.
5084
5085 * keyboard.c (record_asynch_buffer_change, read_avail_input):
5086 * xterm.c (x_dispatch_event):
5087 * xmenu.c (find_and_call_menu_selection):
5088 * xdisp.c (handle_tool_bar_click):
5089 * w32menu.c (menubar_selection_callback):
5090 * sysdep.c (kbd_input_ast, read_input_waiting):
5091 * msdos.c (dos_rawgetc):
5092 * macterm.c (mac_check_for_quit_char):
5093 * macmenu.c (menubar_selection_callback):
5094 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
5095 data to kbd_buffer_store_event.
5096
5097 2003-06-15 Kim F. Storm <storm@cua.dk>
5098
5099 * xdisp.c (x_fix_overlapping_area): Always use area relative X
5100 to fix redisplay problem with tall characters (such as \e,AC\e(B).
5101
5102 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
5103
5104 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
5105
5106 2003-06-12 Kenichi Handa <handa@m17n.org>
5107
5108 * fileio.c (Fwrite_region): Save and restore restriction.
5109
5110 2003-06-12 Dave Love <fx@gnu.org>
5111
5112 * alloca.c (alloca): Declare arg as size_t.
5113
5114 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
5115 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
5116
5117 2003-06-11 Dave Love <fx@gnu.org>
5118
5119 * search.c (shrink_regexp_cache): Use xrealloc.
5120 (syms_of_search): Use xmalloc.
5121
5122 2003-06-10 Kim F. Storm <storm@cua.dk>
5123
5124 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
5125 Adjust phys_cursor.x to be relative to window box, rather than
5126 text area before checking -- to ensure cursor is redrawn when
5127 exposing window.
5128 Note: This also fixes a similar (older) bug if display margins
5129 are present.
5130
5131 2003-06-06 Kenichi Handa <handa@m17n.org>
5132
5133 * coding.c (encoding_buffer_size): If coding->type is
5134 coding_type_ccl, double magnification on CRLF encoding.
5135
5136 2003-06-06 Jason Rumney <jasonr@gnu.org>
5137
5138 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
5139 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
5140
5141 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
5142 Mac too.
5143
5144 2003-06-05 Dave Love <fx@gnu.org>
5145
5146 * strftime.c: Merge changes from gnulib.
5147
5148 * mktime.c (__mktime_internal): Merge changes from gnulib
5149 involving year 69 and dst2.
5150
5151 Changes to merge with gnulib version and be consistent with the
5152 autoconf test:
5153
5154 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
5155 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
5156 [HAVE_LOCALE_H]: Include locale.h.
5157 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
5158
5159 2003-06-05 Kim F. Storm <storm@cua.dk>
5160
5161 * window.c (coordinates_in_window): Convert X and Y to window
5162 relative coordinates inside mode-line and header-line parts.
5163 Convert X and Y to margin area relative coordinates inside left
5164 and right display margin parts.
5165
5166 2003-06-05 Jason Rumney <jasonr@gnu.org>
5167
5168 * w32fns.c (add_system_logical_colors_to_map): New function.
5169 (Fx_open_connection): Use it.
5170
5171 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
5172
5173 * process.c (allocate_pty): Revert part of the previous patch.
5174 (Faccept_process_output): Simplify.
5175
5176 2003-06-04 Jason Rumney <jasonr@gnu.org>
5177
5178 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
5179
5180 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
5181 (lispy_mouse_wheel_names): Remove.
5182 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
5183 Always define drag_and_drop_syms.
5184
5185 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
5186 WHEEL_EVENT events.
5187
5188 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
5189
5190 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
5191
5192 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
5193
5194 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5195
5196 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
5197 menu item label.
5198
5199 2003-06-03 Richard M. Stallman <rms@gnu.org>
5200
5201 * window.c (Fwindow_edges): Doc fix.
5202 (Fwindow_pixel_edges, Fwindow_inside_edges)
5203 (Fwindow_inside_pixel_edges): New functions.
5204 (syms_of_window): defsubr them.
5205
5206 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
5207 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
5208
5209 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
5210
5211 * dispnew.c (Fsit_for): Don't lie about the number of args.
5212
5213 2003-06-02 Dave Love <fx@gnu.org>
5214
5215 * callproc.c: Use HAVE_FCNTL_H, not USG5.
5216 (syms_of_callproc) <process-environment>: Doc fix.
5217
5218 * doc.c: Use HAVE_FCNTL_H, not USG5.
5219
5220 * xfaces.c (font_rescale_ratio): Fix for K&R.
5221
5222 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
5223
5224 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
5225
5226 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
5227
5228 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
5229 (xg_create_frame_widgets): Use ENCODE_UTF_8.
5230
5231 * xterm.c (Qutf_8): Move to coding.c
5232
5233 * xmenu.c (ENCODE_MENU_STRING): New.
5234 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
5235 Use it.
5236
5237 * coding.h (ENCODE_UTF_8): New.
5238 (Qutf_8): Declare.
5239
5240 * coding.c (Qutf_8): New.
5241 (syms_of_coding): Intern it.
5242
5243 * fns.c: Doc fixes.
5244
5245 2003-06-02 Kenichi Handa <handa@m17n.org>
5246
5247 * buffer.c (Fset_buffer_multibyte): Fix previous change.
5248
5249 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
5250
5251 * lread.c (openp): Make sure STR is a string.
5252
5253 2003-06-01 David Ponce <david@dponce.com>
5254
5255 * termhooks.h (enum event_kind): Added new WHEEL_EVENT event.
5256 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
5257
5258 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
5259 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
5260 (discard_mouse_events): Discard WHEEL_EVENT events too.
5261 (lispy_wheel_names, wheel_syms): New.
5262 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
5263 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX
5264 defined.
5265 (make_lispy_event): Add WHEEL_EVENT handler.
5266
5267 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
5268 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
5269 WHEEL_EVENT events.
5270
5271 2003-05-31 John Paul Wallington <jpw@gnu.org>
5272
5273 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
5274 timer are in lisp/emacs-lisp.
5275
5276 2003-05-31 Kenichi Handa <handa@m17n.org>
5277
5278 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
5279 region when a buffer is changed to unibyte.
5280
5281 * charset.h (VALID_LEADING_CODE_P): New macro.
5282 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
5283
5284 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
5285 is nonzero, accept multibyte form of eight-bit-control chars.
5286 (decode_composition_emacs_mule): Likewise.
5287 (decode_coding_emacs_mule): Likewise.
5288 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
5289 multibyte form of eight-bit-control chars.
5290
5291 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
5292 (Finsert_file_contents): If coding-system-for-read is bound to
5293 Qauto_save_coding, use the coding system emacs-mule with special
5294 setting for recovering a file.
5295 (choose_write_coding_system): On auto saving, use the coding
5296 system emacs-mule with special setting for auto saving.
5297 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
5298
5299 2003-05-30 Kenichi Handa <handa@m17n.org>
5300
5301 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
5302 properly before calling ccl_driver.
5303
5304 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
5305
5306 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is
5307 nonzero.
5308 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
5309 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
5310
5311 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
5312
5313 * xfaces.c (realize_default_face): Do not abort if lface is
5314 non-existent - reverts change from 2003-05-19.
5315
5316 2003-05-29 Kenichi Handa <handa@m17n.org>
5317
5318 * coding.c (decode_coding_iso2022): Pay attention to the byte
5319 sequence of CTEXT extended segment, and retain those bytes as is.
5320
5321 2003-05-28 Kenichi Handa <handa@m17n.org>
5322
5323 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change
5324 of CODING_REPLACEMENT_CHARACTER.
5325 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
5326 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
5327 check this flag on encoding.
5328 (encode_coding_sjis_big5): Check
5329 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
5330 (Fset_terminal_coding_system_internal): Set
5331 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
5332 instead of setting CODING_FLAG_ISO_SAFE flag in
5333 terminal_coding.flags.
5334
5335 * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from
5336 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
5337 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
5338
5339 2003-05-28 Richard M. Stallman <rms@gnu.org>
5340
5341 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
5342
5343 * eval.c (unbind_to): Move init of this_binding to separate statement.
5344
5345 2003-05-28 Kim F. Storm <storm@cua.dk>
5346
5347 * xdisp.c (expose_window): Fix error in calculation of
5348 window relative coordinates of area to redisplay.
5349
5350 2003-05-27 Jason Rumney <jasonr@gnu.org>
5351
5352 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
5353
5354 2003-05-27 David Ponce <david@dponce.com>
5355
5356 Handle W32 mouse wheel events as mouse click events, like in X.
5357
5358 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
5359 MOUSE_WHEEL_EVENT anymore.
5360
5361 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
5362 Scrolling down/up the mouse wheel is respectively mapped to mouse
5363 button 4 and 5.
5364 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
5365 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
5366 WM_MOUSEWHEEL events.
5367
5368 2003-05-27 Andreas Schwab <schwab@suse.de>
5369
5370 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
5371
5372 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
5373 partially visible line.
5374
5375 * alloc.c (Fgarbage_collect): Fix last change.
5376
5377 2003-05-26 John Paul Wallington <jpw@gnu.org>
5378
5379 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
5380
5381 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
5382
5383 * window.c (Fset_window_buffer): Add type of `keep_margins'.
5384 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
5385
5386 * window.h (window_box_text_cols): Declare.
5387
5388 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
5389 (x_draw_vertical_border): Remove unused var `f'.
5390
5391 * xfaces.c (build_scalable_font_name): Remove `unused var
5392 pixel_size' warning.
5393
5394 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
5395
5396 * unexelf.c (unexec): Remove `unused var n' warning.
5397
5398 * strftime.c (my_strftime_localtime_r): Remove `defined but
5399 unused' warning.
5400
5401 * process.c (allocate_pty): Remove `unused var stb' and
5402 `cp might be used uninitialized' warnings.
5403
5404 * dispnew.c (mode_line_string): Remove unused var `f'.
5405
5406 * coding.c (find_safe_codings): Remove unused var `i'.
5407
5408 * bytecode.c (Fbyte_code): Remove `unused val' warning.
5409
5410 * buffer.c (Fkill_buffer): Remove unused var `list'.
5411
5412 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
5413
5414 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5415
5416 * frame.c (make_frame): Condition want_fullscreen with
5417 HAVE_WINDOW_SYSTEM.
5418
5419 2003-05-25 Juanma Barranquero <lektu@terra.es>
5420
5421 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
5422 (Fwindow_scroll_bars): Fix typo in docstring.
5423
5424 2003-05-24 Kim F. Storm <storm@cua.dk>
5425
5426 The following changes serve several purposes:
5427
5428 1) Swap the position of fringes and display margins in windows, i.e.
5429 the fringes are now displayed between the margins and the text area
5430 (by default).
5431
5432 2) Allow fringe and scroll bar parameters to be set per-buffer and
5433 per-window (like display margins). Such settings are now stored
5434 in window configurations, preserved when frames are resized, and
5435 copied when windows are split vertically or horizontally.
5436 Several bugs related to display margins have been fixed.
5437
5438 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
5439
5440 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
5441 rather than FRAME_WIDTH (FRAME_FONT (f)).
5442
5443 5) Introduce a consistent naming of variables, members and macros
5444 depending on whether their value is measured in pixels or in
5445 canonical columns/lines. Pixel dimensions are named *_width and
5446 *_height, while canonical columns/lines are named *_cols and
5447 *_lines. Pixel positions are named *_x and *_y, while column/line
5448 positions are named *_col and *_line.
5449
5450 6) Consolidate more of the X, W32, and MAC gui code by moving
5451 common data into struct frame, and generalize it for the non-gui
5452 case by using suitable defaults.
5453
5454 7) Cleanup and consolidate the macros controlling frame and window
5455 layout into frame.h and window.h, and generalize the use of the
5456 various window_box_* functions (enhanced to handle the new fringe
5457 position and the per-window fringe and scroll bar settings).
5458
5459 * frame.h (struct frame): Rename members height to text_lines,
5460 width to text_cols, window_height to total_lines, window_width to
5461 total_cols, new_height to new_text_lines, new_width to
5462 new_text_cols. All uses changed.
5463 (struct frame): New members which consolidate common members of
5464 x_output, w32_output, and mac_output structures: left_pos,
5465 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
5466 win_gravity, size_hint_flags, border_width, internal_border_width,
5467 line_height, fringe_cols, left_fringe_width, right_fringe_width,
5468 want_fullscreen. All uses changed.
5469 (struct frame): New member column_width contaning the canonical
5470 column width, analogue to line_height. All uses changed.
5471 (struct frame): Rename members scroll_bar_pixel_width to
5472 config_scroll_bar_width, and scroll_bar_cols to
5473 config_scroll_bar_cols. All uses changed.
5474 (struct frame): New member scroll_bar_actual_width which
5475 consolidates and renames the vertical_scroll_bar_extra member of
5476 x_output, w32_output, and mac_output structures. All uses changed.
5477 (FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
5478 from x/w32/macterm.h files. All uses changed. Also change code
5479 which referred to f->output_data...->pixel_height.
5480 (FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
5481 from x/w32/macterm.h files. All uses changed. Also change code
5482 which referred to f->output_data...->pixel_width.
5483 (FRAME_LINES): Renamed from FRAME_HEIGHT. All uses changed.
5484 Also change code which referred to f->height.
5485 (FRAME_COLS): Renamed from FRAME_WIDTH. All uses changed.
5486 Also change code which referred to f->width.
5487 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
5488 to update new_text_lines and new_text_cols members directly.
5489 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
5490 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
5491 (FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
5492 FRAME_SCROLL_BAR_COLS. All uses changed.
5493 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
5494 Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
5495 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
5496 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
5497 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
5498 (FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
5499 (SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
5500 (FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
5501 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
5502 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
5503 (FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT. Unconditionally
5504 return line_height member (it now has proper value also for
5505 non-window frames).
5506 (FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT. Unconditionally
5507 return new column_width member (rather than the default font width).
5508 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
5509 (FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
5510 from x/w32/macterm.h files. Unconditionally return corresponding
5511 member of frame structure (they now have proper values also for
5512 non-window frames).
5513 (FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
5514 Calculate return value from left and right widths.
5515 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
5516 internal_border_width member (has proper value for non-window frame).
5517 (FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
5518 (FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
5519 (FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
5520 (FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
5521 (FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
5522 consolidated from xterm.h, macterm.h, and w32term.h.
5523 (FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
5524 consolidated from xterm.h, macterm.h, and w32term.h.
5525 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
5526 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
5527 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
5528 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
5529 (FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
5530 consolidated from x/mac/w32term.h.
5531 (FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
5532 consolidated from x/mac/w32term.h.
5533 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
5534 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
5535 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
5536 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
5537
5538 * window.h (struct window): Rename members left to left_col,
5539 top to top_line, height to total_lines, width to total_cols,
5540 left_margin_width to left_margin_cols, right_margin_width to
5541 right_margin_cols, orig_height to orig_total_lines, orig_top to
5542 orig_top_line. All uses changed.
5543 (struct window): New members left_fringe_width, right_fringe_width,
5544 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
5545 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
5546 New macros primarily used to simplify other macros.
5547 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
5548 referred to XINT (w->width).
5549 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
5550 referred to XINT (w->height).
5551 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
5552 referred to XINT (w->width) * canon_x_unit.
5553 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
5554 referred to XINT (w->height) * canon_y_unit.
5555 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
5556 referred to XINT (w->left).
5557 (WINDOW_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_EDGE. Change
5558 all uses and code that referred to XINT (w->left) + XINT (w->width).
5559 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
5560 referred to XINT (w->top).
5561 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
5562 referred to XINT (w->top) + XINT (w->height).
5563 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
5564 referred to XINT (w->left) * canon_x_unit.
5565 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
5566 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
5567 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
5568 referred to XINT (w->top) * canon_y_unit.
5569 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
5570 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
5571 (WINDOW_LEFTMOST_P): New macro.
5572 (WINDOW_BOX_LEFT_EDGE_COL): Renamed from WINDOW_LEFT_MARGIN.
5573 All uses changed.
5574 (WINDOW_BOX_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_MARGIN.
5575 All uses changed.
5576 (WINDOW_BOX_LEFT_EDGE_X): Renamed from
5577 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
5578 Do not exclude left fringe width.
5579 (WINDOW_BOX_RIGHT_EDGE_X): Renamed from
5580 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
5581 Do not exclude fringe widths.
5582 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
5583 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
5584 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
5585 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
5586 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
5587 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
5588 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
5589 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
5590 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
5591 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
5592 New macros. Change code which referenced corresponding
5593 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
5594 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
5595 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
5596 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
5597 allow per-window scroll-bar settings.
5598 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
5599 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
5600 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
5601 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
5602 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
5603 FRAME_SCROLL_BAR_WIDTH.
5604 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
5605 (WINDOW_SCROLL_BAR_AREA_X): New macros.
5606 (WINDOW_HEADER_LINE_HEIGHT): Renamed from
5607 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
5608 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Renamed from
5609 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
5610 (WINDOW_BOX_TEXT_HEIGHT): Renamed from
5611 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
5612 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
5613 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
5614 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Moved here from dispextern.h.
5615 (WINDOW_LEFT_MARGIN_WIDTH): Renamed from
5616 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
5617 (WINDOW_RIGHT_MARGIN_WIDTH): Renamed from
5618 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
5619 (window_from_coordinates): Update prototype.
5620 (Fset_window_buffer): Update EXFUN.
5621 (set_window_buffer): Update prototype.
5622
5623 * dispextern.h (struct glyph_matrix): Rename members window_left_x
5624 to window_left_col, window_top_y to window_top_line. All uses
5625 changed.
5626 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
5627 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
5628 internal_border_width is now set to 0 for non-window frames.
5629 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
5630 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
5631 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
5632 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
5633 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
5634 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
5635 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
5636 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
5637 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
5638 Move to window.h and renamed [see window.h changes].
5639 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
5640 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
5641 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
5642 Use WINDOW_TOTAL_LINES.
5643 (frame_update_line_height): Remove prototype.
5644
5645 * buffer.h (struct buffer): Rename members measured in columns:
5646 left_margin_width to left_margin_cols, right_margin_width to
5647 right_margin_cols. All uses changed.
5648 New members left_fringe_width, right_fringe_width,
5649 fringes_outside_margins for per-buffer fringe settings.
5650 New members scroll_bar_width and vertical_scroll_bar_type for
5651 per-buffer scroll bar settings.
5652
5653 * buffer.c (init_buffer_once): Set buffer_defaults and
5654 buffer_local_flags for new buffer-local variables
5655 left_fringe_width, right_fringe_width, fringes_outside_margins,
5656 scroll_bar_width, and vertical_scroll_bar_type.
5657 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
5658 default-* variables for them.
5659
5660 * dispnew.c: Make (many) trivial substitutions for renamed and
5661 new macros in dispextern.h, frame.h and window.h.
5662 (mode_line_string): No need to adjust width for mode lines, as it
5663 is already adjusted by the caller.
5664 (marginal_area_string): Handle fringes inside/outside margins.
5665
5666 * frame.c: Make (many) trivial substitutions for renamed and
5667 new macros in dispextern.h, frame.h and window.h.
5668 (make_frame): Initialize left_fringe_width, right_fringe_width,
5669 fringe_cols, scroll_bar_actual_width, border_width,
5670 internal_border_width, column_width, line_height, x_pixels_diff,
5671 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
5672 members with values suitable for a non-window frames.
5673
5674 * gtkutil.c: Make (many) trivial substitutions for renamed and
5675 new macros in dispextern.h, frame.h and window.h.
5676
5677 * indent.c: Make (few) trivial substitutions for renamed and
5678 new macros in dispextern.h, frame.h and window.h.
5679
5680 * keyboard.c: Make (many) trivial substitutions for renamed and
5681 new macros in dispextern.h, frame.h and window.h.
5682 (make_lispy_event): Use window positions returned from
5683 window_from_coordinates when constructing the lisp event for
5684 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
5685 (incorrect) values locally.
5686 (make_lispy_movement): Use window positions returned from
5687 window_from_coordinates when constructing the lisp event, rather
5688 than calculating (incorrect) values locally.
5689
5690 * scroll.c: Make (some) trivial substitutions for renamed and
5691 new macros in dispextern.h, frame.h and window.h.
5692
5693 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
5694 scroll-bars.
5695
5696 * sysdep.c: Make (few) trivial substitutions for renamed and
5697 new macros in dispextern.h, frame.h and window.h.
5698
5699 * term.c: Make (some) trivial substitutions for renamed and
5700 new macros in dispextern.h, frame.h and window.h.
5701
5702 * widget.c: Make (few) trivial substitutions for renamed and
5703 new macros in dispextern.h, frame.h and window.h.
5704
5705 * window.c: Make (many) trivial substitutions for renamed and
5706 new macros in dispextern.h, frame.h and window.h.
5707 (make_window): Initialize new members
5708 left_margin_cols, right_margin_cols, left_fringe_width,
5709 right_fringe_width, fringes_outside_margins, scroll_bar_width,
5710 and vertical_scroll_bar_type.
5711 (coordinates_in_window): Adapted to new fringe/margin positions
5712 and per-window fringes and scroll-bars.
5713 Fix bug related to incorrectly adjusting coordinates by
5714 frame's internal_border_width (the effect normally negible since
5715 the internal_border_width is typically 0 or 1 pixel, but very
5716 noticeable for an internal_border_width of e.g. 25 pixels).
5717 Upon successful return (other than ON_NOTHING), the coordinates
5718 are now always properly converted to window relative for the
5719 given display element.
5720 (window_from_coordinates): Add new parameters wx and wy to
5721 return the window relative x and y position in the returned
5722 window and part. A null arg means, don't return the position.
5723 All callers changed.
5724 (adjust_window_margins): New function which may reduce the width
5725 of the display margins if a window's text area is too small after
5726 resizing or splitting windows.
5727 (size_window): Fix bug that did not account for display margin
5728 widths when checking the minimum width of a window; use
5729 adjust_window_margins.
5730 (set_window_buffer): Call Fset_window_fringes and
5731 Fset_window_scroll_bars to setup per-window elements.
5732 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
5733 existing display margin, fringe widths, and scroll bar settings
5734 (e.g. after splitting a window or resizing the frame).
5735 All callers changed.
5736 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
5737 (Fsplit_window): Duplicate original window's display margin,
5738 fringe, and scroll-bar settings; then call Fset_window_buffer with
5739 KEEP_MARGINS non-nil. This fixes a bug which caused a split
5740 window to only preserve the display margins in one of the windows.
5741 When splitting horizontally, call adjust_window_margins on both
5742 windows to ensure that the text area of the new windows is non too
5743 narrow. This fixes a bug which could cause Emacs to trap if the
5744 width of the split window was less than the width of the display
5745 margins.
5746 (window_box_text_cols): Renamed from window_internal_width.
5747 All uses changed. Adapt to per-window fringes and scroll bars.
5748 Fix bug that caused vertical separator to be subtracted also on
5749 window frames. Fix another bug that did not reduce the returned
5750 value by the columns used for display margins.
5751 (window_scroll_line_based): Fix bug related to scrolling too much
5752 when display margins are present (implicitly fixed by the fix to
5753 window_box_text_cols).
5754 (scroll_left, scroll_right): Fix bug related to scrolling too far
5755 by default when display margins are present (implicitly fixed by
5756 the fix to window_box_text_cols).
5757 (struct saved_window): Rename members left to left_col, top to
5758 top_line, width to total_cols, height to total_lines, orig_top to
5759 orig_top_line, orig_height to orig_total_lines. All uses changed.
5760 New members left_margin_cols, right_margin_cols,
5761 left_fringe_width, right_fringe_width, fringes_outside_margins,
5762 scroll_bar_width, and vertical_scroll_bar_type for saving
5763 per-window display elements.
5764 (Fset_window_configuration): Restore display margins, fringes,
5765 and scroll bar settings. This fixes a bug which caused display
5766 margins to be discarded when saving and restoring a window
5767 configuration.
5768 (save_window_save): Save display margins, fringes, and scroll bar
5769 settings. This fixes a bug which caused display margins to be
5770 discarded when saving and restoring a window configuration.
5771 (Fset_window_margins): Do nothing if display margins are not
5772 really changed. Otherwise, call adjust_window_margins to ensure
5773 the text area doesn't get too narrow. This fixes a bug which
5774 could cause Emacs to trap if setting display margins wider than
5775 the width of the window.
5776 (Fset_window_fringes): New defun to allow user to specifically set
5777 this window's fringe widths and position vs. display margins.
5778 (Fwindow_fringes): New defun to return window's actual fringe
5779 settings.
5780 (Fset_window_scroll_bars): New defun to allow user to specifically
5781 set this window's scroll bar width and position.
5782 (Fwindow_scroll_bars): New defun to return window's actual scroll
5783 bar settings.
5784 (compare_window_configurations): Also compare display margins,
5785 fringes, and scroll bar settings.
5786 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
5787
5788 * xdisp.c: Make (many) trivial substitutions for renamed and
5789 new macros in dispextern.h, frame.h and window.h.
5790 (window_box_width): Adapt to per-window fringes and scroll bars,
5791 and new fringe vs. display margin position. Note that returned
5792 value is no longer guaranteed to be a whole multiple of the frame
5793 column width, since per-window fringes may now be any width.
5794 (window_box_left_offset): New function like window_box_left, but
5795 value is relative to left border of window (rather than frame).
5796 (window_box_right_offset): New function like window_box_right,
5797 but value is relative to left border of window.
5798 (window_box_left): Adapt to per-window fringes and scroll bars,
5799 and new fringe vs. display margin position. Simplify by using
5800 WINDOW_LEFT_EDGE_X and window_box_left_offset.
5801 (window_box): Allow null args for unnecessary return values;
5802 change/simplify relevant callers.
5803 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
5804 and new fringe vs. display margin position.
5805 Use window_box_left_offset and window_box_right_offset
5806 (get_glyph_string_clip_rect): Adapt to per-window fringes and
5807 scroll bars, and new fringe vs. display margin position.
5808 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
5809 (draw_fringe_bitmap): Rework to handle per-window fringes and new
5810 fringe vs. display margin position.
5811 (hscroll_window_tree): Use window_box_width instead of window_box.
5812 (redisplay_window): Adapt to per-window scroll bars.
5813 (draw_glyphs): Rework to handle per-window fringes and scroll
5814 bars, and new fringe vs. display margin position.
5815 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
5816 (x_clear_end_of_line): Adapt to per-window fringes and scroll
5817 bars, and new fringe vs. display margin position. Fix bug which
5818 increased total width of full_width rows by width of scroll bars
5819 although window's total width already includes that.
5820 (x_fix_overlapping_area): Simplify using window_box_left_offset.
5821 (expose_area): Simplify using window_box_left_offset.
5822 (x_draw_vertical_border): Handle per-window scroll bar settings,
5823 mixing windows with left, right and no scroll bars.
5824
5825 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
5826 where it's used in x_list_fonts (for clarity).
5827 (frame_update_line_height): Remove unused function; functionality
5828 is now done directly when setting the default font in x_set_font.
5829
5830 * xfns.c: Make (many) trivial substitutions for renamed and
5831 new macros in dispextern.h, frame.h and window.h.
5832
5833 * xmenu.c: Make (some) trivial substitutions for renamed and
5834 new macros in dispextern.h, frame.h and window.h.
5835
5836 * xterm.h (struct x_output): Move members left_pos, top_pos,
5837 border_width, pixel_height, pixel_width, line_height,
5838 internal_border_width, vertical_scroll_bar_extra,
5839 left_fringe_width, right_fringe_width, fringe_cols,
5840 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
5841 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
5842 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
5843 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
5844 (PIXEL_WIDTH, PIXEL_HEIGHT)
5845 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
5846 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
5847 frame.h and renamed [see frame.h changes].
5848 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
5849 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
5850 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
5851 and renamed [see frame.h changes].
5852
5853 * xterm.c: Make (several) trivial substitutions for renamed and
5854 new macros in dispextern.h, frame.h and window.h.
5855 (x_draw_glyph_string_box): Adapt to per-window fringes and
5856 scroll-bars.
5857 (scroll_run): Adapt to new fringe position.
5858 (glyph_rect): Use window coordinates returned from
5859 window_from_coordinates rather than frame_to_window_pixel_xy.
5860 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
5861 scroll-bars.
5862 (handle_one_xevent): Simplify a USE_GTK conditional.
5863 (x_clip_to_row): Remove superfluous whole_line_p arg and code
5864 (fringes are now inside margins, i.e. always in the clipping area).
5865 All callers changed.
5866 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
5867 directly, then call compute_fringe_widths. Don't call
5868 frame_update_line_height.
5869
5870 * w32term.h (struct w32_output): Move members left_pos, top_pos,
5871 border_width, pixel_height, pixel_width, line_height,
5872 internal_border_width, vertical_scroll_bar_extra,
5873 left_fringe_width, right_fringe_width, fringe_cols,
5874 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
5875 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
5876 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
5877 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
5878 (PIXEL_WIDTH, PIXEL_HEIGHT)
5879 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
5880 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
5881 frame.h and renamed [see frame.h changes].
5882 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
5883 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
5884 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
5885 and renamed [see frame.h changes].
5886
5887 * w32term.c: Make (several) trivial substitutions for renamed and
5888 new macros in dispextern.h, frame.h and window.h.
5889 (x_draw_glyph_string_box): Adapt to per-window fringes and
5890 scroll-bars.
5891 (glyph_rect): Use window coordinates returned from
5892 window_from_coordinates rather than frame_to_window_pixel_xy.
5893 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
5894 scroll-bars.
5895 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
5896 (fringes are now inside margins, i.e. always in the clipping area).
5897 All callers changed.
5898 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
5899 directly, then call compute_fringe_widths. Don't call
5900 frame_update_line_height.
5901
5902 * w32console.c: Make (few) trivial substitutions for renamed and
5903 new macros in dispextern.h, frame.h and window.h.
5904
5905 * w32fns.c: Make (many) trivial substitutions for renamed and
5906 new macros in dispextern.h, frame.h and window.h.
5907
5908 * w32menu.c: Make (few) trivial substitutions for renamed and
5909 new macros in dispextern.h, frame.h and window.h.
5910
5911 * macterm.h (struct mac_output): Move members left_pos, top_pos,
5912 border_width, pixel_height, pixel_width, line_height,
5913 internal_border_width, vertical_scroll_bar_extra,
5914 left_fringe_width, right_fringe_width, fringe_cols,
5915 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
5916 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
5917 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
5918 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
5919 (PIXEL_WIDTH, PIXEL_HEIGHT)
5920 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
5921 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
5922 frame.h and renamed [see frame.h changes].
5923 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
5924 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
5925 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
5926 and renamed [see frame.h changes].
5927
5928 * macterm.c: Make (several) trivial substitutions for renamed and
5929 new macros in dispextern.h, frame.h and window.h.
5930 (x_draw_glyph_string_box): Adapt to per-window fringes and
5931 scroll-bars.
5932 (glyph_rect): Use window coordinates returned from
5933 window_from_coordinates rather than frame_to_window_pixel_xy.
5934 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
5935 scroll-bars.
5936 (x_clip_to_row): Remove superfluous whole_line_p arg and code
5937 (fringes are now inside margins, i.e. always in the clipping area).
5938 All callers changed.
5939 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
5940 directly, then call compute_fringe_widths. Don't call
5941 frame_update_line_height.
5942
5943 * macfns.c: Make (several) trivial substitutions for renamed and
5944 new macros in dispextern.h, frame.h and window.h.
5945 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
5946
5947 * macmenu.c: Make (few) trivial substitutions for renamed and
5948 new macros in dispextern.h, frame.h and window.h.
5949
5950 * msdos.h (struct x_output): Remove members left_pos, top_pos,
5951 and line_height, and use corresponding new members in struct
5952 frame. All uses changed.
5953 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
5954 superseeded by corresponding macros in frame.h.
5955
5956 * msdos.c: Make (several) trivial substitutions for renamed and
5957 new macros in dispextern.h, frame.h and window.h.
5958 (IT_note_mouse_highlight): Use updated window coordinates returned
5959 by window_from_coordinates, rather than adjusting them locally.
5960 (internal_terminal_init): No need to initialize line_height here;
5961 it now defaults to 1.
5962
5963 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
5964
5965 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
5966 dropping `down' events.
5967
5968 2003-05-24 Andreas Schwab <schwab@suse.de>
5969
5970 * coding.c (find_safe_codings): Fix last change.
5971
5972 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
5973
5974 * xfns.c (x_window): Fix typo from 2003-05-21 change.
5975
5976 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
5977
5978 * xdisp.c (display_mode_element): Increase max depth.
5979 Simplify the error handling code. Use a different error string
5980 for the case where we hit the depth limit.
5981
5982 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
5983
5984 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
5985
5986 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
5987
5988 * intervals.c (get_local_map): Don't get char-property of previous
5989 point any more: get_pos_property already does it and better.
5990
5991 2003-05-21 Dave Love <fx@gnu.org>
5992
5993 [Merged from unicode branch.]
5994
5995 * xfns.c (x_window, x_window): Use use_xim.
5996
5997 * xterm.c (use_xim): Initialize.
5998 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
5999 (x_term_init): Maybe set use_xim.
6000
6001 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
6002
6003 2003-05-21 Jason Rumney <jasonr@gnu.org>
6004
6005 * unexw32.c (_start): Remove _fmode initialization.
6006
6007 * emacs.c (main) [WINDOWSNT]: Move it here.
6008
6009 2003-05-20 Dave Love <fx@gnu.org>
6010
6011 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
6012
6013 2003-05-19 Richard M. Stallman <rms@gnu.org>
6014
6015 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
6016 as value for QCfont attribute.
6017 (realize_default_face): lface should already exist; crash if not.
6018 Specify 0 for FORCE_P when calling set_lface_from_font_name.
6019
6020 * frame.c (Fignore_event): Doc fix.
6021
6022 2003-05-19 Kenichi Handa <handa@m17n.org>
6023
6024 * coding.c (decode_coding_string): Handle post-read-conversion
6025 even if the coding doesn't require decoding.
6026
6027 2003-05-18 Richard M. Stallman <rms@gnu.org>
6028
6029 * callproc.c (Fcall_process_region): Doc fix.
6030
6031 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
6032
6033 * lread.c (Fload): Print a message if package is obsolete.
6034
6035 * window.c (Fselect_window): Add optional `norecord' arg.
6036 (select_window_1): Fold into Fselect_window.
6037 (select_window_norecord): New function.
6038 (temp_output_buffer_show): Use it. Preserve current buffer.
6039
6040 * window.h (Fselect_window): Update declaration.
6041
6042 * window.c (delete_window, Fother_window, Fset_window_configuration):
6043 * minibuf.c (read_minibuf):
6044 * macterm.c (x_new_focus_frame):
6045 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
6046 * callint.c (Fcall_interactively):
6047 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
6048
6049 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
6050
6051 2003-05-17 David Kastrup <dak@gnu.org>
6052
6053 * process.c (read_process_output): Back out change from 2003-03-09.
6054
6055 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
6056
6057 * editfns.c (get_pos_property): Don't assume that `object' = nil.
6058
6059 * textprop.c (text_property_stickiness): New arg `buffer'.
6060
6061 * intervals.h (text_property_stickiness): New arg `buffer'.
6062 (get_pos_property): Declare.
6063
6064 * intervals.c (get_local_map): Use get_pos_property, to obey
6065 stickiness and empty overlays.
6066 (create_root_interval, graft_intervals_into_buffer): Use BEG.
6067 (merge_properties, intervals_equal, merge_properties_sticky):
6068 Use XCAR, XCDR.
6069 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
6070
6071 2003-05-17 Richard M. Stallman <rms@gnu.org>
6072
6073 * minibuf.c (read_minibuf): If buffer is empty, record the default
6074 in the history.
6075 (Fminibuffer_complete_word): When deleting the overlap, take account
6076 of its real position.
6077
6078 * fns.c (map_char_table): Fix previous change.
6079
6080 * syntax.c (find_defun_start):
6081 When open_paren_in_column_0_is_defun_start,
6082 return beginning of buffer.
6083
6084 * lisp.h (map_char_table): Declare added arg.
6085
6086 * fns.c (map_char_table): New arg TABLE gets the master table.
6087 All calls changed.
6088 Process default and inheritance, resorting to Faref if necessary.
6089
6090 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
6091 (Faccessible_keymaps): Pass new arg to map_char_table.
6092
6093 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
6094
6095 * casetab.c (set_case_table): Pass new arg to map_char_table.
6096
6097 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
6098
6099 * lisp.h (specbinding_func): New typedef.
6100 (struct specbinding): Use specbinding_func, to put the `volatile'
6101 in the right place.
6102
6103 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
6104 to avoid GCC warning.
6105
6106 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org> (tiny change)
6107
6108 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
6109
6110 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
6111
6112 * keyboard.c (apply_modifiers): Don't fill the other cache.
6113
6114 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
6115
6116 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
6117
6118 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
6119 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
6120 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
6121 (Fset_window_configuration, Fcurrent_window_configuration)
6122 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
6123 (Fpos_visible_in_window_p, mark_window_cursors_off)
6124 (window_internal_height, window_internal_width, Frecenter)
6125 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
6126 (replace_buffer_in_all_windows, init_window_once, init_window)
6127 (syms_of_window, keys_of_window): Move from lisp.h.
6128 * lisp.h: Move window.c declarations to window.h.
6129
6130 * bytecode.c: Include window.h.
6131 * emacs.c: Include window.h.
6132
6133 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
6134 (keyremap): Add `parent' field.
6135 (keyremap_step): Use it. Remove `parent' argument.
6136 (read_key_sequence): Setup and use the new `parent' field.
6137
6138 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
6139
6140 * keyboard.c (adjust_point_for_property): Ensure termination.
6141
6142 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
6143
6144 * keyboard.c (follow_key): Remove dead variable `did_meta'.
6145 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
6146 duplicated handling of function-key-map and key-translation-map
6147 in read_key_sequence.
6148 (read_key_sequence): Use them.
6149
6150 * keyboard.c (adjust_point_for_property): Try harder to move point
6151 to the non-sticky end of an invisible property.
6152
6153 * xdisp.c (single_display_prop_intangible_p): Make `space' display
6154 property intangible as well.
6155
6156 2003-05-10 Andreas Schwab <schwab@suse.de>
6157
6158 * xmenu.c (single_menu_item): Change last parameter to void* to
6159 avoid warning.
6160
6161 2003-05-09 Richard M. Stallman <rms@gnu.org>
6162
6163 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
6164 Bind Qinhibit_modification_hooks to t so there will be no GC.
6165 Rename local `tem' to `save_deactivate_mark'.
6166
6167 * eval.c (specpdl_ptr): Declare volatile.
6168 (unbind_to): Copy the whole binding and decrement specpdl_ptr
6169 before doing the work of unbinding it.
6170
6171 * lisp.h (struct specbinding): Declare elements volatile.
6172 (specpdl_ptr): Declare volatile.
6173
6174 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
6175
6176 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
6177 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
6178
6179 2003-05-08 Dave Love <fx@gnu.org>
6180
6181 * coding.c (Vlast_coding_system_used): Doc fix.
6182
6183 2003-05-07 Jason Rumney <jasonr@gnu.org>
6184
6185 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
6186 when system does not support them.
6187
6188 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
6189
6190 * fileio.c (Qwrite_region_annotate_functions): New var.
6191 (build_annotations): Use it to process the global part of the hook.
6192 (syms_of_fileio): Init and staticpro it.
6193
6194 * keyboard.c (safe_run_hooks_error): Display a message instead of
6195 silently ignoring the error.
6196
6197 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
6198
6199 * keyboard.c (input_available_signal): Mark static.
6200 (menu_bar_items): Use map_keymap.
6201 (menu_bar_one_keymap): Remove.
6202 (menu_bar_item): Adjust arglist (for use in map_keymap).
6203 Properly hide a second binding when not both are keymaps.
6204
6205 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
6206 (single_keymap_panes): Use it and map_keymap.
6207 (single_menu_item): Use skp as well.
6208
6209 * keymap.h (map_keymap_function_t): New type.
6210 (map_keymap): Declare.
6211
6212 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
6213 (map_keymap_call, Fmap_keymap): New functions.
6214 (syms_of_keymap): Defsubr map-keymap.
6215
6216 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6217
6218 * gtkutil.c (create_dialog, make_widget_for_menu_item)
6219 (make_menu_item, create_menus, xg_update_menu_item): Don't call
6220 ..._with_mnemonic functions for menu items.
6221
6222 2003-05-01 Kenichi Handa <handa@m17n.org>
6223
6224 * coding.c (coding_system_accept_latin_extra_p): Delete this
6225 function.
6226 (find_safe_codings): Pay attention to
6227 the property tranlsation-table-for-encode of each codings.
6228 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
6229
6230 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
6231
6232 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
6233
6234 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
6235
6236 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
6237
6238 * lisp.h (CHECK): Wrap args in parenthesis.
6239 (specbind): Fix doc: symbol = Qnil is not supported any more.
6240
6241 * bytecode.c (Fbyte_code) <unwind-protect>:
6242 Use Fprogn rather than 0 and Qnil.
6243
6244 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
6245 `double', and `triple' modifiers as well.
6246
6247 2003-04-30 Richard M. Stallman <rms@gnu.org>
6248
6249 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
6250
6251 * alloc.c (abort_on_gc): New variable.
6252 (Fgarbage_collect): Abort if abort_on_gc is set.
6253
6254 * lisp.h (abort_on_gc): Add decl.
6255
6256 * eval.c (Fsignal): Clear abort_on_gc.
6257
6258 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
6259 Reinit FORMAT_START and END before second scan.
6260
6261 * xdisp.c (move_it_vertically_backward): Do the final big else
6262 even if nlines is 0.
6263
6264 * xdisp.c (redisplay_internal): Finish the per-frame loop
6265 even if redisplay is suspended by input.
6266
6267 2003-04-24 Andrew Choi <akochoi@shaw.ca>
6268
6269 * macterm.c (x_list_fonts): Return all fonts that match if
6270 maxnames = -1.
6271
6272 2003-04-25 Kenichi Handa <handa@m17n.org>
6273
6274 * syntax.c (skip_chars): Fix previous change.
6275
6276 2003-04-24 Kenichi Handa <handa@m17n.org>
6277
6278 * syntax.c (skip_chars): Make the code faster by using the common
6279 technique of *p, *stop, and *endp.
6280
6281 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6282
6283 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
6284 tool_bar_items so GTK tool bar expose callback does not access items
6285 being updated.
6286
6287 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
6288
6289 * eval.c (Fapply): Undo last change and add a comment about why.
6290
6291 2003-04-18 Miles Bader <miles@gnu.org>
6292
6293 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
6294 pickier PARSE_MULTIBYTE_SEQ.
6295
6296 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
6297
6298 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
6299 Use XCDR, XCAR, CONSP.
6300 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
6301 (Fapply): Remove unnecessary GCPRO.
6302
6303 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
6304
6305 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
6306
6307 * buffer.h: Don't hardcode BEG==1.
6308
6309 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
6310
6311 2003-04-16 Richard M. Stallman <rms@gnu.org>
6312
6313 * xdisp.c (try_window, try_window_reusing_current_matrix):
6314 When at end of window, set window_end_pos to Z-ZV.
6315
6316 * buffer.c (Foverlay_recenter): Doc fix.
6317
6318 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
6319
6320 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
6321
6322 2003-04-14 Andrew Choi <akochoi@shaw.ca>
6323
6324 * macterm.c (mac_check_for_quit_char): Don't check more often than
6325 once a second.
6326
6327 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
6328
6329 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
6330 specially, so that they can't hide an implicit switch-frame event.
6331 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
6332 (head_table): Use switch-frame as event_kind for select-window.
6333 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
6334
6335 * editfns.c (Fformat): Lisp_Object/int mixup.
6336 (format2): Remove unused var numargs.
6337
6338 2003-04-11 Kenichi Handa <handa@m17n.org>
6339
6340 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
6341 (Qafter_insert_file_set_coding): New variable.
6342 (syms_of_fileio): Initialize and staticpro it. Delete declaration
6343 for after-insert-file-adjust-coding-function.
6344 (Finsert_file_contents): Call Qafter_insert_file_set_coding
6345 instead of Vafter_insert_file_adjust_coding_function.
6346
6347 2003-04-11 Kenichi Handa <handa@m17n.org>
6348
6349 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
6350
6351 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
6352 string. Callers changed.
6353
6354 2003-04-10 Kenichi Handa <handa@m17n.org>
6355
6356 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
6357 (syms_of_fileio): Declare it as a lisp variable.
6358 (Finsert_file_contents):
6359 Call Vafter_insert_file_adjust_coding_function before calling
6360 decode-format.
6361
6362 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6363
6364 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
6365 get GtkAdjustment as widget now is a GtkRange.
6366
6367 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
6368 GtkRange to avoid memory leak.
6369
6370 2003-04-09 Kenichi Handa <handa@m17n.org>
6371
6372 * xfaces.c (Vface_font_rescale_alist): New variable.
6373 (struct font_name): New member rescale_ratio.
6374 (font_rescale_ratio): New function.
6375 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
6376 (better_font_p): On comparing point sized, pay attention to
6377 recale_ratio member of fonts.
6378 (build_scalable_font_name): Reflect font->rescale_ratio in the
6379 font name.
6380 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
6381
6382 * lread.c (read1): Before calling index, check if the 2nd
6383 arguemnt is in ASCII range.
6384
6385 2003-04-08 Richard M. Stallman <rms@gnu.org>
6386
6387 * fileio.c (Ffile_symlink_p): Doc fix.
6388
6389 * editfns.c (Fformat): Translate positions of text properties
6390 in the format string to apply them to the result.
6391
6392 * fileio.c (Finsert_file_contents): Doc fix.
6393 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
6394
6395 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
6396
6397 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
6398
6399 2003-04-08 Steven Tamm <steventamm@mac.com>
6400
6401 * mac.c (init_mac_osx_environment): Switch libexec and bin so
6402 that self-contained application finds libexec files.
6403
6404 2003-04-08 Kenichi Handa <handa@m17n.org>
6405
6406 * coding.c (code_convert_region_unwind):
6407 Set Vlast_coding_system_used to the argument.
6408 (code_convert_region): If post-read-conversion function changed
6409 the value of last-coding-sytem, keep the new value in
6410 coding->symbol so that it won't be overridden.
6411 (run_pre_post_conversion_on_str): Likewise.
6412 (coding_system_accept_latin_extra_p): New function.
6413 (find_safe_codings): Pay attention to characters registered in
6414 latin-extra-code-table.
6415
6416 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
6417
6418 * Makefile.in (md5.o): Add missing dependency info.
6419
6420 2003-04-06 Richard M. Stallman <rms@gnu.org>
6421
6422 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
6423
6424 * marker.c (verify_bytepos): New function.
6425
6426 * intervals.c (set_intervals_multibyte_1): When becoming
6427 multibyte, adjust right and left child sizes to a whole set of
6428 characters. If an interval gets zero total-length, delete it.
6429 If an interval consists of just its children, delete one of them.
6430
6431 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
6432 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
6433
6434 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
6435 All calls deleted.
6436 (lisp_malloc): Do the work here directly.
6437
6438 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
6439
6440 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
6441 char tables.
6442
6443 2003-04-04 Kenichi Handa <handa@m17n.org>
6444
6445 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
6446 destructively change "%S" to "%s".
6447
6448 2003-04-03 Miles Bader <miles@gnu.org>
6449
6450 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
6451 always set.
6452
6453 2003-04-01 Dave Love <fx@gnu.org>
6454
6455 * xfns.c (xpm_lookup_color): Grok "opaque".
6456
6457 2003-03-31 Andrew Choi <akochoi@shaw.ca>
6458
6459 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
6460 parent window ID.
6461
6462 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
6463
6464 * macterm.h (struct mac_output): Define x_pixels_diff and
6465 y_pixels_diff.
6466
6467 2003-03-31 Juanma Barranquero <lektu@terra.es>
6468
6469 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
6470 blockinput.h and files included from it.
6471
6472 2003-03-31 Kim F. Storm <storm@cua.dk>
6473
6474 The following changes consolidates the common code related to
6475 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
6476 files into frame.c.
6477
6478 * frame.c: Include blockinput.h.
6479 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
6480 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
6481 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
6482 related vars here.
6483 (struct frame_parm_table, frame_parms): New table for describing
6484 frame parameters and their associated Q-variable.
6485 The order of the parameters corresponds to the sequence of the
6486 frame_parm_handlers table in redisplay_interface.
6487 (x_fullscreen_move, x_set_frame_parameters)
6488 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
6489 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
6490 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
6491 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
6492 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
6493 Generic functions for processing of frame parameters.
6494 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
6495 (display_x_get_resource, x_get_resource_string): Functions for
6496 generic access to X resources.
6497 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
6498 (x_default_parameter, Fx_parse_geometry): Functions for generic
6499 access to frame parameters.
6500 (x_figure_window_size): Generic calculation of frame size.
6501 Fixed to add space needed for tool bar. Also setup size_hint_flags.
6502 (syms_of_frame): Intern and staticpro frame parameter variables.
6503 Defvar_lisp Vx_resource_class and Vx_resource_name here.
6504 Defsubr Sx_get_resource and Sx_parse_geometry.
6505
6506 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
6507 parameter related vars defined in frame.c.
6508 (EMACS_CLASS): Define here.
6509 (enum FULLSCREEN_*): Define here.
6510 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
6511 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
6512 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
6513 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
6514 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
6515 (x_set_visibility, x_set_autoraise, x_set_autolower)
6516 (x_set_unsplittable, x_set_vertical_scroll_bars)
6517 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
6518 (x_figure_window_size): Add prototypes.
6519
6520 * dispextern.h (frame_parm_handler): New typedef.
6521 (struct redisplay_interface): New member frame_parm_handlers.
6522 (enum resource_types): Move declaration here.
6523 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
6524 (x_default_parameter): Add prototypes.
6525
6526 * window.c: Remove extern decl for frame parameter vars.
6527 (change_window_heights): New generic function;
6528 replaces x_change_window_heights. All users changed.
6529
6530 * window.h (change_window_heights): Add prototype.
6531
6532 * xfaces.c: Remove extern decl for frame parameter vars.
6533
6534 * xterm.h (EMACS_CLASS): Remove. Use generic define.
6535 (struct w32_display_info): Fix type of xrdb member.
6536 (enum FULLSCREEN_*): Remove.
6537 Remove prototypes for generic functions (in frame.h).
6538
6539 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
6540 parameters now defined in frame.h and frame.c.
6541 (Vx_resource_name): Remove. Use generic var.
6542 (enum x_frame_parms): Remove (bogus, unused enum).
6543 (check_x_display_info): Make non-static (for frame.c).
6544 (struct x_frame_parm_table, x_frame_parms): Remove.
6545 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
6546 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
6547 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
6548 (x_change_window_heights, x_set_autoraise, x_set_autolower)
6549 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
6550 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
6551 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
6552 Remove. Use generic functions instead.
6553 (enum resource_types): Remove.
6554 (x_set_scroll_bar_default_width): New global function (for frame.c).
6555 (Fx_create_frame): Depend on x_figure_window_size to add space for
6556 toolbar and setup size_hint_flags.
6557 (x_frame_parm_handlers): New table for redisplay_interface.
6558 (syms_of_xfns): Don't intern/staticpro removed vars.
6559
6560 * xterm.c: Remove unnecessary extern declarations.
6561 (x_fullscreen_adjust): Remove. Use generic instead.
6562 (x_redisplay_interface): Add x_frame_parm_handlers member.
6563
6564 * w32gui.h (XrmDatabase): New (dummy) typedef.
6565
6566 * w32term.h (EMACS_CLASS): Remove. Use generic define.
6567 (struct w32_display_info): Fix type of xrdb member.
6568 (enum FULLSCREEN_*): Remove.
6569 (x_fullscreen_adjust): Remove prototype.
6570
6571 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
6572 parameters now defined in frame.h and frame.c.
6573 (Vx_resource_name): Remove. Use generic var.
6574 (enum x_frame_parms): Remove (bogus, unused enum).
6575 (check_x_display_info): Make non-static (for frame.c).
6576 (struct x_frame_parm_table, x_frame_parms): Remove.
6577 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
6578 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
6579 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
6580 (x_change_window_heights, x_set_autoraise, x_set_autolower)
6581 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
6582 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
6583 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
6584 Remove. Use generic functions instead.
6585 (enum resource_types): Remove.
6586 (x_set_scroll_bar_default_width): New global function (for frame.c).
6587 (Fx_create_frame): Depend on x_figure_window_size to add space for
6588 toolbar and setup size_hint_flags.
6589 (w32_frame_parm_handlers): New table for redisplay_interface.
6590 (syms_of_w32fns): Don't intern/staticpro removed vars.
6591
6592 * w32term.c: Remove unnecessary extern declarations.
6593 (x_fullscreen_adjust): Remove. Use generic instead.
6594 (x_redisplay_interface): Add w32_frame_parm_handlers member.
6595
6596 * w32reg.c (x_get_string_resource): Use XrmDatabase.
6597
6598 * macgui.h (XrmDatabase): New (dummy) typedef.
6599
6600 * macterm.h (EMACS_CLASS): Remove.
6601 (struct mac_display_info): Add xrdb member.
6602 (struct mac_output): Add want_fullscreen member.
6603
6604 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
6605 parameters now defined in frame.h and frame.c.
6606 (Vx_resource_name): Remove. Use generic var.
6607 (check_x_display_info): Make non-static (for frame.c).
6608 (struct x_frame_parm_table, x_frame_parms): Remove.
6609 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
6610 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
6611 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
6612 (x_change_window_heights, x_set_autoraise, x_set_autolower)
6613 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
6614 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
6615 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
6616 Remove. Use generic functions instead.
6617 (enum resource_types): Remove.
6618 (x_set_scroll_bar_default_width): New global function (for frame.c).
6619 (mac_frame_parm_handlers): New table for redisplay_interface.
6620 (syms_of_macfns): Don't intern/staticpro removed vars.
6621
6622 * macterm.c: Remove unnecessary extern declarations.
6623 (x_redisplay_interface): Add mac_frame_parm_handlers member.
6624
6625 * Makefile.in (frame.o): Add dependency on blockinput.h and files
6626 included from it (atimer.h and systime.h).
6627
6628 2003-03-30 Andreas Schwab <schwab@suse.de>
6629
6630 * xdisp.c (x_insert_glyphs): Fix swapped width and height
6631 parameters for shift_glyphs_for_insert.
6632
6633 * macterm.c (x_redisplay_interface): Add missing entry for
6634 draw_vertical_window_border.
6635
6636 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
6637
6638 * fileio.c (Fexpand_file_name): In the no-handler case, after
6639 expanding, look again for a handler and invoke it. This is needed
6640 for filenames like "/foo/../user@host:/bar/../baz" -- the first
6641 expansion produces "/user@host:/bar/../baz" which needs to be
6642 expanded again for the finame result "/user@host:/baz".
6643
6644 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6645
6646 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
6647 of area to be redrawn for better performance.
6648
6649 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
6650
6651 * xterm.c (take_vertical_position_into_account): Remove.
6652 (xt_action_hook): Call set_vertical_scroll_bar if needed.
6653 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
6654 (xm_scroll_callback, x_create_toolkit_scroll_bar)
6655 (x_set_toolkit_scroll_bar_thumb): Simplify.
6656 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
6657 (XTread_socket): Remove unused var.
6658 (x_make_frame_invisible): Replace goto with else.
6659
6660 * xdisp.c (set_vertical_scroll_bar): New fun.
6661 (redisplay_window): Use it.
6662
6663 2003-03-26 Richard M. Stallman <rms@gnu.org>
6664
6665 * xdisp.c (update_tool_bar): Recompute tool bar if
6666 update_mode_lines is set. Set w->update_mode_line
6667 only if the tool bar contents actually change.
6668 (update_menu_bar): Undo previous change.
6669
6670 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6671
6672 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
6673 (xg_frame_set_char_size): Calculate scroll bar width before frame
6674 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
6675 (xg_separator_p): Check for all documented separator types.
6676 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
6677 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
6678
6679 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
6680 so tool bar gets updated.
6681
6682 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
6683
6684 * data.c (store_symval_forwarding): Re-instate part of the code
6685 that was deleted with too much enthusiasm.
6686
6687 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
6688
6689 * data.c (store_symval_forwarding): Delete special read-only
6690 hack for type == -1, since we now use ->constant instead.
6691 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
6692
6693 * buffer.c (overlays_in): Declare static.
6694 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
6695 `constant' field rather than the variable's `type' field.
6696
6697 2003-03-24 Andrew Choi <akochoi@shaw.ca>
6698
6699 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
6700
6701 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
6702
6703 * fns.c [MAC_OSX]: Do not redefine vector.
6704
6705 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
6706
6707 * macgui.h: Remove definition of No_Cursor.
6708
6709 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
6710
6711 * xdisp.c: Define No_Cursor.
6712 (x_write_glyphs, notice_overwritten_cursor)
6713 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
6714 (note_mouse_highlight): Remove Mac-specific code.
6715 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
6716
6717 2003-03-24 John Paul Wallington <jpw@gnu.org>
6718
6719 * xdisp.c (redisplay_window): If mini window's buffer is not
6720 empty, then redisplay it like other windows.
6721
6722 2003-03-23 Kim F. Storm <storm@cua.dk>
6723
6724 * w32term.c (w32_draw_window_cursor): Fix last change.
6725
6726 2003-03-23 Kenichi Handa <handa@m17n.org>
6727
6728 * alloc.c (make_string_from_bytes, make_specified_string):
6729 Add `const' for the arg CONTENTS.
6730
6731 * lisp.h (make_string_from_bytes, make_specified_string):
6732 Prototypes adjusted.
6733
6734 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6735
6736 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
6737
6738 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
6739 (XG_SB_RANGE): New define.
6740
6741 * gtkutil.c (xg_fixed_handle_expose): New function.
6742 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
6743 expose events.
6744 (xg_update_scrollbar_pos): Take two more arguments, left and width
6745 of scroll bar including borders.
6746 Clear left and right part outside scroll bar separately as some
6747 themes have bars that are not an even number of pixels.
6748 Don't set reallocate_redraws, don't call
6749 gdk_window_process_all_updates.
6750 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
6751 so no need to change it. Calculate size and value with XG_SB_RANGE.
6752
6753 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
6754 Pass left and width of scroll bar including borders to
6755 xg_update_scrollbar_pos.
6756
6757 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
6758
6759 * Makefile.in: Make sure space precedes end-of-line backslashes.
6760
6761 2003-03-22 Kim F. Storm <storm@cua.dk>
6762
6763 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
6764 Add generic versions here. Remove system specific versions
6765 defined elsewhere.
6766
6767 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
6768 Add prototypes.
6769
6770 * xterm.h (STORE_NATIVE_RECT): New macro.
6771
6772 2003-03-21 Kim F. Storm <storm@cua.dk>
6773
6774 * xdisp.c (get_glyph_string_clip_rect):
6775 Use FRAME_INTERNAL_BORDER_WIDTH.
6776
6777 * dispextern.h (struct redisplay_interface): Add active_p
6778 argument to draw_window_cursor member. All uses changed.
6779
6780 2003-03-21 Kim F. Storm <storm@cua.dk>
6781
6782 The following changes consolidate code related to writing and
6783 inserting glyphs, exposing frame, the tool bar, the mouse face,
6784 the output cursor, and help echo from xterm.c, w32term.c and
6785 macterm.c into xdisp.c. It also generalizes the use of the
6786 window_part enum instead of using numeric values throughout.
6787
6788 * xdisp.c: Consolidate gui-independent code here.
6789 Include keymap.h.
6790 (Qhelp_echo): Import.
6791 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
6792 (help_echo_string, help_echo_window, help_echo_object)
6793 (previous_help_echo_string, help_echo_pos): Declare here.
6794 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
6795 (estimate_mode_line_height): Define here. Handle windowing
6796 systems directly (without using estimate_mode_line_height_hook).
6797 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
6798 (update_window_cursor, update_cursor_in_window_tree)
6799 (fast_find_position, fast_find_string_pos)
6800 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
6801 (expose_area, expose_line, expose_overlaps, expose_window)
6802 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
6803 declared static as they are only used locally in xdisp.c.
6804 (draw_glyphs): Rename from x_draw_glyphs and make static.
6805 (tool_bar_item_info, notice_overwritten_cursor): Make static.
6806 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
6807 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
6808 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
6809 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
6810 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
6811 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
6812 (note_mouse_highlight, x_clear_window_mouse_face)
6813 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
6814 (x_intersect_rectangles): New generic functions for use by xdisp.c
6815 and GUI front-ends.
6816 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
6817 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
6818
6819 * dispextern.h (Display_Info): Generic typedef for *_display_info.
6820 (NativeRectangle): Generic typedef for rectangle type.
6821 (enum window_part): Move here from window.c.
6822 (struct redisplay_interface): New members flush_display_optional,
6823 define_frame_cursor, clear_frame_area, draw_window_cursor,
6824 draw_vertical_window_border, shift_glyphs_for_insert.
6825 Rename member clear_mouse_face to clear_window_mouse_face.
6826 (estimate_mode_line_height_hook): Remove hook.
6827 (auto_raise_tool_bar_buttons_p): Don't declare extern.
6828 (tool_bar_item_info): Remove prototype.
6829 (help_echo_string, help_echo_window, help_echo_object)
6830 (previous_help_echo_string, help_echo_pos)
6831 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
6832 (x_stretch_cursor_p, output_cursor): Declare extern.
6833 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
6834 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
6835 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
6836 (display_and_set_cursor, set_output_cursor, x_cursor_to)
6837 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
6838 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
6839 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
6840 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
6841 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
6842 Add prototypes.
6843 (mode_line_string, marginal_area_string): Fix prototypes.
6844
6845 * window.c (enum window_part): Move to dispextern.h.
6846 (coordinates_in_window): Use enum window_part member names
6847 instead of numbers to describe return value.
6848 (struct check_window_data): Change part member to window_part.
6849 (check_window_containing): Return window_part unaltered.
6850 (window_from_coordinates): Change part arg from int to enum
6851 window_part. Allow part arg to be null. All users changed.
6852
6853 * window.h (window_from_coordinates): Fix prototype.
6854
6855 * term.c (estimate_mode_line_height): Move to xdisp.c.
6856
6857 * keyboard.c (make_lispy_event): Use enum window_part.
6858
6859 * dispnew.c (mode_line_string, marginal_area_string): Use enum
6860 window_part instead of int in arg list. Users changed.
6861
6862 * xterm.h (No_Cursor): Declare as None for X.
6863 (struct mac_output): Replace member cross_cursor by hand_cursor.
6864
6865 * xterm.c: Remove consolidated defines and code.
6866 (BETWEEN): Remove unused macro.
6867 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
6868 (x_define_frame_cursor, x_clear_frame_area)
6869 (x_draw_window_cursor): New X-specific functions for RIF.
6870 (x_redisplay_interface): Add new members.
6871
6872 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
6873
6874 * w32term.h (struct w32_output): Remove cross_cursor member.
6875
6876 * w32term.c: Remove consolidated defines and code.
6877 (BETWEEN): Remove unused macro.
6878 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
6879 (w32_define_frame_cursor, w32_clear_frame_area)
6880 (w32_draw_window_cursor): New W32-specific functions for RIF.
6881 (w32_redisplay_interface): Add new members.
6882
6883 * w32gui.h (No_Cursor): Define as 0 for W32.
6884 (XRectangle): Add X compatible rectangle type.
6885 (NativeRectangle): Declare as RECT for W32.
6886 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
6887
6888 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
6889
6890 * w32console.c: Remove consolidated defines and code.
6891
6892 * msdos.h (Display_Info): Add generic typedef.
6893
6894 * msdos.c: Remove consolidated defines and code.
6895 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
6896
6897 * macterm.h (struct mac_output): Replace member cross_cursor by
6898 hand_cursor.
6899 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
6900
6901 * macterm.c: Remove consolidated defines and code.
6902 (BETWEEN): Remove unused macro.
6903 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
6904 (mac_define_frame_cursor, mac_clear_frame_area)
6905 (mac_draw_window_cursor): New Mac-specific functions for RIF.
6906 (x_redisplay_interface): Add new members.
6907
6908 * macgui.h (No_Cursor): Define as 0 for Mac.
6909 (XRectangle): Add X compatible rectangle type.
6910 (NativeRectangle): Declare as Rect for Mac.
6911 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
6912
6913 * macfns.c (x_set_mouse_color): Setup hand_cursor.
6914 (x_set_cursor_color): Use x_display_and_set_cursor.
6915
6916 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
6917 included from it. Add dependency on keymap.h.
6918
6919 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
6920
6921 2003-03-21 Kenichi Handa <handa@m17n.org>
6922
6923 * fileio.c (Fexpand_file_name): Fix previous change.
6924
6925 2003-03-19 Kenichi Handa <handa@m17n.org>
6926
6927 * fileio.c (Ffile_name_directory): Reconstruct file name by
6928 make_specified_string.
6929 (Ffile_name_nondirectory, Ffile_name_as_directory)
6930 (Fdirectory_file_name, Fexpand_file_name)
6931 (Fsubstitute_in_file_name): Likewise.
6932 (Fread_file_name): Compare decoded homedir with DIR and
6933 DEFAULT_FILENAME.
6934
6935 * alloc.c (make_specified_string): If NCHARS is negative, count
6936 the number of characters.
6937
6938 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6939
6940 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
6941 all widgets.
6942
6943 * gtkutil.h: Removed xg_ignore_next_thumb.
6944
6945 2003-03-18 Kenichi Handa <handa@m17n.org>
6946
6947 * coding.c (Vchar_coding_system_table): Remove this variable.
6948 (Vcoding_system_safe_chars): New variable.
6949 (intersection): Remove this function.
6950 (find_safe_codings): Don't use Vchar_coding_system_table, but try
6951 all codings in SAFE_CODINGS.
6952 (Ffind_coding_systems_region_internal): Adjust for the change of
6953 find_safe_codings. Get generic coding systems from
6954 Vcoding_system_safe_chars.
6955 (Fdefine_coding_system_internal): New function.
6956 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
6957 Initialize and staticpro Vcoding_system_safe_chars.
6958
6959 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6960
6961 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
6962 equal old values before updating.
6963
6964 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
6965
6966 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
6967
6968 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6969
6970 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
6971 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
6972 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
6973 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
6974 (xg_create_scroll_bar): Pass bar to button event callback.
6975 (xg_find_top_left_in_fixed): New function.
6976 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
6977 whole scroll bar area. Get old position with
6978 xg_find_top_left_in_fixed, calculate and only clear needed areas.
6979 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
6980 dragging is in progress. Calculate whole as for Motif.
6981 Remove code that saved last values. Call gtk_range functions to
6982 set scroll bar sizes.
6983
6984 * gtkutil.h: Removed xg_ignore_next_thumb.
6985
6986 2003-03-17 Juanma Barranquero <lektu@terra.es>
6987
6988 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
6989 and files included from it.
6990
6991 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
6992
6993 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
6994 multiple occurrences of the same keymap under different prefixes.
6995 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
6996
6997 2003-03-16 Jason Rumney <jasonr@gnu.org>
6998
6999 * w32gui.h: Use HDC for Display.
7000
7001 * w32term.c (w32_encode_char): Prevent double-byte chars from
7002 crashing Emacs.
7003
7004 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
7005 as binary.
7006
7007 2003-03-16 Juanma Barranquero <lektu@terra.es>
7008
7009 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
7010
7011 2003-03-16 Kim F. Storm <storm@cua.dk>
7012
7013 The following changes consolidate some of the gui-independent
7014 parts of the processing and drawing of "glyph strings" from
7015 xterm.c, w32term.c, and macterm.c into xdisp.c.
7016
7017 * dispextern.h (struct glyph): Reduce face_id member from 22 to
7018 21 bits (this reduces number of faces from 4M to 2M).
7019 Replace W32 specific w32_font_type member (2 bits) by generic
7020 font_type member (3 bits) for portability.
7021 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
7022 (enum draw_glyphs_face): Define here.
7023 (struct glyph_string): Define here. Merge W32 and X versions.
7024 (struct redisplay_interface): New members per_char_metric,
7025 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
7026 (VCENTER_BASELINE_OFFSET): Define here.
7027 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
7028 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
7029
7030 * xdisp.c: Consolidate gui-independent "glyph string" code here.
7031 (dump_glyph_string): Moved here.
7032 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
7033 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
7034 (fill_composite_glyph_string, fill_glyph_string)
7035 (fill_image_glyph_string, fill_stretch_glyph_string)
7036 (left_overwritten, left_overwriting, right_overwritten)
7037 (right_overwriting, get_char_face_and_encoding)
7038 (set_glyph_string_background_width, compute_overhangs_and_x)
7039 (append_glyph, append_composite_glyph, produce_image_glyph)
7040 (take_vertical_position_into_account, append_stretch_glyph)
7041 (produce_stretch_glyph): New generic functions (based on X version).
7042 Call platform specific functions through rif.
7043 (INIT_GLYPH_STRING): New macro, hides W32 details.
7044 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
7045 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
7046 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
7047 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
7048 (notice_overwritten_cursor):
7049 Generic functions exported to platform modules. Users changed.
7050
7051 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
7052 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
7053 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
7054 New macros for consolidated code.
7055
7056 * xterm.c: Remove consolidated defines and code.
7057 (x_per_char_metric, x_encode_char)
7058 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
7059 (x_redisplay_interface): Add new members.
7060
7061 * w32gui.h (Display): Add dummy typedef for consolidation.
7062 (XChar2b): Define alias for wchar_t for consolidation.
7063 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
7064
7065 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
7066 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
7067 New macros for consolidation.
7068
7069 * w32term.c: Remove consolidated defines and code.
7070 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
7071 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
7072 (w32_per_char_metric): Change font_type arg to int for RIF.
7073 (w32_encode_char): Return int according to RIF requirements.
7074 (w32_compute_glyph_string_overhangs): Adapt to RIF.
7075 (w32_get_glyph_overhangs): New function for RIF. Uses generic
7076 x_get_glyph_overhangs.
7077 (w32_redisplay_interface): Add new members.
7078
7079 * macgui.h (XChar2b): Move typedef here for consolidation.
7080 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
7081
7082 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
7083 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
7084 consolidation.
7085
7086 * macterm.c: Remove consolidated defines and code.
7087 (mac_per_char_metric): New function for RIF.
7088 (mac_encode_char): Adapt to new RIF requirements.
7089 (mac_compute_glyph_string_overhangs): Adapt for RIF.
7090 (x_redisplay_interface): Add new members.
7091
7092 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
7093
7094 * keymap.c (Vmenu_events): New var.
7095 (syms_of_keymap): Initialize it.
7096 (where_is_internal): Check more carefully what is a menu event.
7097
7098 2003-03-14 Richard M. Stallman <rms@gnu.org>
7099
7100 * lread.c (read1): After #!, exit loop on eof.
7101
7102 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7103
7104 * gtkutil.h: Add declaration for xg_frame_cleared.
7105
7106 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
7107
7108 * gtkutil.c (struct xg_last_sb_pos): New structure.
7109 (handle_fixed_child): New function.
7110 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
7111 and force a redraw on them.
7112 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
7113 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
7114 so we can avoid unneeded redraws.
7115 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
7116 and force a redraw on the scroll bar.
7117 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
7118 if xg_last_sb_pos shows the positions are up to date.
7119 (xg_frame_cleared): New function.
7120
7121 2003-03-13 Kenichi Handa <handa@m17n.org>
7122
7123 * coding.c (Fdetect_coding_region): Fix docstring.
7124 (Fdetect_coding_string): Fix docstring.
7125
7126 2003-03-13 Andreas Schwab <schwab@suse.de>
7127
7128 * gtkutil.c: Add prototype for create_menus.
7129
7130 * data.c (long_to_cons): Fix type of top.
7131
7132 * xselect.c (selection_data_to_lisp_data): Use int instead of
7133 long for an integer of size 4.
7134
7135 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
7136 (xg_tool_bar_help_callback): Likewise.
7137
7138 2003-03-12 Andreas Schwab <schwab@suse.de>
7139
7140 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
7141
7142 2003-03-12 Kim F. Storm <storm@cua.dk>
7143
7144 The following changes consolidate the fringe handling from
7145 xterm.c, w32term.c, and macterm.c into xdisp.c.
7146
7147 * xdisp.c: Consolidate fringe handling code here.
7148 (left_bits, right_bits, continued_bits, continuation_bits)
7149 (ov_bits, zv_bits): Define fringe bitmaps.
7150 (fringe_bitmaps): New array holding fringe bitmaps.
7151 (draw_fringe_bitmap): Draw a specific bitmap; call display
7152 specific drawing routine via rif->draw_fringe_bitmap.
7153 (draw_row_fringe_bitmaps): Generic replacement for
7154 x_draw_row_fringe_bitmaps; all callers changed.
7155 (compute_fringe_widths): Generic replacement for
7156 x_compute_fringe_widths; all callers changed.
7157
7158 * dispextern.h (enum fringe_bitmap_type): Define here.
7159 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
7160 (fringe_bitmaps): Declare extern.
7161 (struct redisplay_interface): New member draw_fringe_bitmap.
7162 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
7163
7164 * xterm.c: Remove generic fringe code.
7165 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
7166 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
7167
7168 * w32term.c: Remove generic fringe code.
7169 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
7170 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
7171
7172 * macterm.c: Remove generic fringe code.
7173 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
7174 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
7175
7176 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
7177
7178 * print.c (Fprin1_to_string): Return unibyte string if possible.
7179
7180 2003-03-09 David Kastrup <dak@gnu.org>
7181
7182 * process.c (read_process_output): We have allocated enough space
7183 for readmax and carryover, so actually use the alloted space.
7184
7185 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7186
7187 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
7188 toolkit scrollbar click.
7189
7190 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
7191 for USE_GTK.
7192 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
7193 also.
7194 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
7195 scrollbar and control is pressed, call x_scroll_bar_handle_click.
7196
7197 * gtkutil.h: Declare xg_get_scroll_id_for_window.
7198
7199 * gtkutil.c (xg_get_scroll_id_for_window): New function.
7200 (xg_tool_bar_item_expose_callback): New function.
7201 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
7202 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
7203 on the tool bar widget.
7204 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
7205 to expose on the tool bar item widgets.
7206
7207 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7208
7209 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
7210 struct image* when deciding to update (struct image* may have been
7211 deleted from the image cache).
7212
7213 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
7214 the event isn't for a frame (i.e. for dialogs).
7215
7216 2003-03-07 Kenichi Handa <handa@m17n.org>
7217
7218 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
7219 composition components reaches the limit, terminate composing.
7220 (COMPOSITION_OK): New macro.
7221 (detect_coding_iso2022): Use it if an escape sequence for
7222 composition is found.
7223 (coding_restore_composition): Adjust the number of composition
7224 components if it is not sane.
7225
7226 2003-03-06 Juanma Barranquero <lektu@terra.es>
7227
7228 * w32term.h (struct w32_display_info): Add xrdb member to support
7229 passing resources via -xrm on Windows.
7230
7231 * w32term.c (w32_make_rdb): New function.
7232 (w32_term_init): Use it to initialize xrdb member of w32_display_info
7233 struct. Delete leftover code.
7234
7235 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
7236 for resources passed on the command line.
7237
7238 * w32reg.c (w32_get_rdb_resource): New function.
7239 (x_get_string_resource): Use it, so resources passed with -xrm
7240 supercede the ones in the registry.
7241
7242 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7243
7244 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
7245 instead of x_top_window_to_frame.
7246
7247 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7248
7249 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
7250 when restarting Emacs.
7251
7252 2003-03-03 Richard M. Stallman <rms@gnu.org>
7253
7254 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
7255 to run kill-buffer-query-functions.
7256 (Qkill_buffer_query_functions): New var.
7257 (syms_of_buffer): Init and staticpro it.
7258
7259 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7260
7261 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
7262
7263 2003-02-25 Kim F. Storm <storm@cua.dk>
7264
7265 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
7266 If centering point failed to make whole line visible and vscroll
7267 is non-zero, disable vscroll and try centering point again.
7268
7269 * lread.c (read1): Accept `single space' syntax like (? x).
7270
7271 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7272
7273 * keyboard.c (cancel_hourglass_unwind): Surround with
7274 #ifdef HAVE_X_WINDOWS
7275
7276 2003-02-25 Kenichi Handa <handa@m17n.org>
7277
7278 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
7279 process only when "subprocesses" is defined.
7280
7281 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
7282
7283 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
7284
7285 2003-02-24 Juanma Barranquero <lektu@terra.es>
7286
7287 * callint.c (fix_command): Declare as static void and move before
7288 Fcall_interactively.
7289
7290 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
7291 (syms_of_xdisp): Don't initialize Qwhen.
7292
7293 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7294
7295 * keyboard.c (cancel_hourglass_unwind): New function.
7296 (command_loop_1): Cancel hourglass with unwind-protect.
7297
7298 2003-02-23 Richard M. Stallman <rms@gnu.org>
7299
7300 * callint.c (fix_command): New subroutine, from Fcall_interactively.
7301 Detect (when ... (region-beginning)) etc.
7302 (Fcall_interactively): Call fix_command.
7303 (Qif, Qwhen): New variables.
7304 (syms_of_callint): Init and staticpro them.
7305
7306 * regex.c (print_partial_compiled_pattern): Output to stderr.
7307
7308 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
7309
7310 * dired.c (directory_files_internal): Don't expand directory.
7311 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
7312 instead. From Lars Hansen <larsh@math.ku.dk>.
7313
7314 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
7315
7316 * fns.c (string_to_multibyte): Remove unused var i.
7317 (Flanginfo): Fix int/Lisp_Object mixup.
7318 (void_call2): New fun.
7319 (Fmap_char_table): Use it in place of call2.
7320
7321 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
7322
7323 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
7324
7325 * keymap.c (copy_keymap_1): Make it static.
7326
7327 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
7328
7329 2003-02-22 David Ponce <david@dponce.com>
7330
7331 * lread.c (Fload): Don't check STRING_MULTIBYTE.
7332
7333 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7334
7335 * process.h: Removed subtty field from struct Lisp_Process.
7336
7337 * process.c (create_process): Remove setting of subtty.
7338 (emacs_get_tty_pgrp): New function.
7339 (Fprocess_running_child_p, process_send_signal):
7340 Call emacs_get_tty_pgrp instead of ioctl.
7341 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
7342
7343 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
7344
7345 * keymap.c (Fdefine_key): Doc fix.
7346
7347 2003-02-21 Juanma Barranquero <lektu@terra.es>
7348
7349 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
7350
7351 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
7352 POLLING_PROBLEM_IN_SELECT.
7353
7354 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
7355 Delete #undef of POLLING_PROBLEM_IN_SELECT.
7356
7357 * s/hpux10-20.h: New file.
7358
7359 * process.c (wait_reading_process_input):
7360 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
7361
7362 2003-02-20 Kenichi Handa <handa@m17n.org>
7363
7364 * fontset.c (check_fontset_name): If NAME is nil, return the
7365 default fontset.
7366 (override_font_info): New function.
7367 (Fset_fontset_font): Document that NAME nil means the default fontset.
7368 (Ffontset_info): If FONTSET is not the default fontset, merge
7369 FONTSET onto the copy of the default fontset, and work on that
7370 copy. Document that NAME nil means the default fontset.
7371 (Ffontset_font): Document that NAME nil means the default fontset.
7372
7373 * process.c (setup_process_coding_systems): If the process's
7374 in/out descriptor is -1, do nothing.
7375
7376 2003-02-19 Andreas Schwab <schwab@suse.de>
7377
7378 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
7379 Add prototypes.
7380
7381 2003-02-19 Kenichi Handa <handa@m17n.org>
7382
7383 * xfaces.c (try_alternative_families): Try all scalable fonts if
7384 Vscalable_fonts_allowed is not Qt.
7385
7386 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7387
7388 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
7389
7390 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7391
7392 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
7393 names.
7394
7395 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
7396 (sorted_font_list): Move allocation of struct font_name to
7397 x_face_list_fonts.
7398 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
7399 (Fx_list_fonts): Set maxnames to -1 to get all font names.
7400
7401 2003-02-18 Kim F. Storm <storm@cua.dk>
7402
7403 * lread.c (read1): Fix last change.
7404 "`" is not always special. Allow "?" after a character constant.
7405
7406 2003-02-18 Andrew Choi <akochoi@shaw.ca>
7407
7408 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
7409
7410 2003-02-18 Andreas Schwab <schwab@suse.de>
7411
7412 * window.c (window_scroll_pixel_based): Move outside a
7413 multi-glyph character before setting new window start.
7414
7415 * xdisp.c (in_display_vector_p): New function.
7416 * dispextern.h (in_display_vector_p): Declare.
7417
7418 2003-02-18 Kim F. Storm <storm@cua.dk>
7419
7420 * lread.c (read1): Fix and relax read syntax.
7421 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
7422 Only recognize "," after dotted-pair dot if inside backquote.
7423 Never include "`" or "," (inside backquote) in a symbol.
7424 Allow dotted-pair dot after a character constant.
7425 Allow "`" and "," (inside backquote) after a character constant.
7426
7427 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7428
7429 * gtkutil.c (xg_tool_bar_expose_callback): New function.
7430 (xg_create_tool_bar): Force style of tool bar to be horizontal with
7431 icons. Set name of tool bar to emacs-toolbar.
7432 (update_frame_tool_bar): Connect expose event to
7433 xg_tool_bar_expose_callback.
7434
7435 2003-02-17 Richard M. Stallman <rms@gnu.org>
7436
7437 * keyboard.c (this_command_key_count_reset): New variable.
7438 Initiatize to 0 where this_command_key_count is set.
7439 (read_char): Save and restore this_command_key_count_reset
7440 around input method code.
7441 (read_char): If this_command_key_count_reset, echo reread commands.
7442 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
7443
7444 2003-02-17 Kenichi Handa <handa@m17n.org>
7445
7446 * fns.c (string_to_multibyte): Always return a multibyte string.
7447
7448 2003-02-16 Jason Rumney <jasonr@gnu.org>
7449
7450 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
7451 Negative max_fonts parameter means list all.
7452
7453 2003-02-14 Dave Love <fx@gnu.org>
7454
7455 * fns.c (Flanginfo): Doc fix.
7456
7457 2003-02-13 Kim F. Storm <storm@cua.dk>
7458
7459 * lread.c (read_escape): Interpret \s as a SPACE character, except
7460 for \s-X in a character constant which still is the super modifier.
7461 (read1): Signal an `invalid read syntax' error if a character
7462 constant is immediately followed by a digit or symbol character.
7463
7464 * search.c (Fmatch_data): Doc fix. Explicitly state that
7465 match-data is undefined if last search failed.
7466
7467 * keymap.c (Fcommand_remapping): Renamed from Fremap_command.
7468 All uses changed.
7469
7470 2003-02-12 Juanma Barranquero <lektu@terra.es>
7471
7472 * eval.c (Fdefmacro): Fix typo.
7473
7474 2003-02-12 Kim F. Storm <storm@cua.dk>
7475
7476 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
7477 macro is a string, convert meta modifiers in string when copying
7478 the string into a vector.
7479
7480 2003-02-11 Kim F. Storm <storm@cua.dk>
7481
7482 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
7483
7484 2003-02-11 Kenichi Handa <handa@m17n.org>
7485
7486 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
7487
7488 2003-02-10 Kim F. Storm <storm@cua.dk>
7489
7490 * process.c: Doc fixes.
7491 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
7492
7493 2003-02-10 Kenichi Handa <handa@m17n.org>
7494
7495 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
7496
7497 * process.c (QCfilter_multibyte): New variable.
7498 (setup_process_coding_systems): New function.
7499 (Fset_process_buffer, Fset_process_filter):
7500 Call setup_process_coding_systems.
7501 (Fstart_process): Initialize the member `filter_multibyte' of
7502 struct Lisp_Process.
7503 (create_process): Call setup_process_coding_systems.
7504 (Fmake_network_process): New keyward `:filter-multibyte'.
7505 Initialize the member `filter_multibyte' of struct Lisp_Process.
7506 Call setup_process_coding_systems.
7507 (server_accept_connection): Call setup_process_coding_systems.
7508 (read_process_output): If the process has a filter, decide the
7509 multibyteness of a string to given to the filter by
7510 `filter_multibyte' member of the process. If the process doesn't
7511 have a filter and the result of conversion is unibyte, use
7512 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
7513 multibyte form.
7514 (Fset_process_coding_system): Call setup_process_coding_systems.
7515 (Fset_process_filter_multibyte): New function.
7516 (Fprocess_filter_multibyte_p): New function.
7517 (syms_of_process): Intern and staticpro QCfilter_multibyte.
7518 Defsubr Sset_process_filter_multibyte and
7519 Sprocess_filter_multibyte_p.
7520
7521 * process.h (struct Lisp_Process): New member filter_multibyte.
7522
7523 * lisp.h (setup_process_coding_systems): Add prototype.
7524
7525 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
7526 process, update coding systems for the process.
7527
7528 2003-02-09 Kenichi Handa <handa@m17n.org>
7529
7530 * fns.c (string_to_multibyte): New function.
7531 (Fstring_to_multibyte): New function.
7532 (syms_of_fns): Defsubr it.
7533
7534 2003-02-08 Andreas Schwab <schwab@suse.de>
7535
7536 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
7537 instead of the substitution.
7538
7539 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7540
7541 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
7542
7543 * xmenu.c (menu_position_func): Adjust menu popup position so that
7544 the menu is fully visible.
7545
7546 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7547
7548 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
7549 (x_make_frame_invisible, x_wm_set_icon_position):
7550 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
7551
7552 * xfns.c (x_set_name, x_set_title): Ditto.
7553
7554 2003-02-04 Richard M. Stallman <rms@gnu.org>
7555
7556 * keyboard.c (echo_now): Update before_command_echo_length.
7557 (Freset_this_command_lengths): Reset this_command_key_count etc.
7558 immediately rather than arranging to do it later.
7559 (before_command_key_count_1, before_command_echo_length_1)
7560 (before_command_restore_flag): Vars deleted.
7561 (add_command_key): Don't handle before_command_restore_flag.
7562 (read_char, record_menu_key): Don't update before_command_key_count or
7563 before_command_echo_length.
7564 (read_char): Don't handle before_command_restore_flag.
7565
7566 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
7567 in direct-output clauses if it wouldn't be called in the ordinary case.
7568
7569 2003-02-04 Kim F. Storm <storm@cua.dk>
7570
7571 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
7572
7573 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7574
7575 * gtkutil.c (remove_from_container): Copying list is not needed.
7576 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
7577 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
7578 on list returned from gtk_container_get_children to avoid memory leak.
7579
7580 2003-02-01 Jason Rumney <jasonr@gnu.org>
7581
7582 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
7583 local malloc.
7584 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
7585 definitions in xpm.h.
7586 (init_xpm_functions): New function.
7587 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
7588 (init_external_image_libraries): Try to load libXpm.dll.
7589
7590 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
7591 timestamp.
7592
7593 2003-01-31 Dave Love <fx@gnu.org>
7594
7595 * syntax.c (Fskip_chars_forward)
7596 (open-paren-in-column-0-is-defun-start): Doc fix.
7597
7598 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
7599
7600 * fileio.c: Support // at start of name for Cygwin (just added proper
7601 preprocessor tests).
7602
7603 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
7604
7605 * Makefile.in: Use @EXEEXT@ for Cygwin.
7606
7607 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
7608
7609 * s/cygwin.h: Added for Cygwin port.
7610
7611 2003-01-31 Juanma Barranquero <lektu@terra.es>
7612
7613 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
7614 when including gif_lib.h.
7615 (init_gif_functions, init_tiff_functions): New functions.
7616 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
7617 Windows. Disable color table lookups. Call library functions
7618 through pointers determined at runtime.
7619 (init_external_image_libraries): Try to load libungif.dll and
7620 libtiff.dll.
7621
7622 2003-01-31 Kenichi Handa <handa@m17n.org>
7623
7624 * xdisp.c (SKIP_GLYPHS): New macro.
7625 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
7626
7627 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7628
7629 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
7630
7631 2003-01-30 Dave Love <fx@gnu.org>
7632
7633 * alloc.c (Vgc_elapsed, gcs_done): New variables.
7634 (Fgarbage_collect): Use them.
7635 (init_alloc, syms_of_alloc): Set them up.
7636
7637 2003-01-30 Juanma Barranquero <lektu@terra.es>
7638
7639 * w32fns.c (init_external_image_libraries): Add missing operator.
7640
7641 2003-01-29 Jason Rumney <jasonr@gnu.org>
7642
7643 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
7644 an alternative name for jpeg.dll.
7645
7646 2003-01-29 Kenichi Handa <handa@m17n.org>
7647
7648 * xdisp.c (set_cursor_from_row): Pay attention to string display
7649 properties.
7650
7651 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
7652
7653 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
7654 <escape>.
7655 (keycode_to_xkeysym_table): Reformat and add more comments.
7656 (XTread_socket): Drop special case for backspace.
7657
7658 2003-01-28 Andrew Choi <akochoi@shaw.ca>
7659
7660 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
7661 values in old-style RGB specs.
7662
7663 2003-01-27 Juanma Barranquero <lektu@terra.es>
7664
7665 * w32fns.c (init_external_image_libraries): Try alternate names for the
7666 jpeg dll.
7667
7668 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7669
7670 * gtkutil.c (create_dialog, xg_separator_p)
7671 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
7672 before calling strcmp or strlen.
7673
7674 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7675
7676 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
7677 and handle image load failure.
7678
7679 2003-01-26 Jason Rumney <jasonr@gnu.org>
7680
7681 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
7682 New functions.
7683 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
7684 Disable color table lookups. Call jpeg library functions
7685 through pointers determined at runtime.
7686 (init_external_image_libraries): Try to load jpeg.dll.
7687
7688 2003-01-25 Richard M. Stallman <rms@gnu.org>
7689
7690 * lisp.h: Declare format2 instead of format1.
7691
7692 * fileio.c (barf_or_query_if_file_exists):
7693 Call format2 instead of format1.
7694
7695 * editfns.c (format2): New function, replaces format1
7696 but takes exactly two Lisp Objects as format args.
7697
7698 * buffer.c (Fkill_buffer): Call format2 instead of format1.
7699
7700 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7701
7702 * xterm.h: Change to return value of x_dispatch_event to int.
7703
7704 * xterm.c (x_filter_event): New function.
7705 (event_handler_gdk, XTread_socket): Call x_filter_event.
7706 (x_dispatch_event): Change to return value of finish.
7707 (event_handler_gdk): Use return value from x_dispatch_event.
7708
7709 * xfns.c (x_window): Call create_frame_xic for GTK version to
7710 initialize input methods.
7711
7712 * gtkutil.h: Add (void) prototypes.
7713
7714 * gtkutil.c (create_menus): Remove code that puts the help menu to
7715 the right.
7716
7717 2003-01-25 Jason Rumney <jasonr@gnu.org>
7718
7719 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
7720 [HAVE_PNG]: Sync with xfns.c version.
7721 (png_load): Adjust colors for Windows. Use Windows
7722 bitmaps. Disable color table lookups.
7723 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
7724 (init_png_functions): New function.
7725 (png_read_from_memory, png_load): Call png library functions
7726 through pointers determined at runtime.
7727 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
7728 (init_external_image_libraries): New function.
7729 (init_xfns): Call it.
7730
7731 2003-01-24 Andreas Schwab <schwab@suse.de>
7732
7733 * minibuf.c (Fminibuffer_message): Verify type of parameter.
7734
7735 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7736
7737 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
7738 of static initializer.
7739
7740 2003-01-24 Dave Love <fx@gnu.org>
7741
7742 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
7743 architectures.
7744
7745 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
7746 Use __alignof__.
7747
7748 2003-01-24 Kenichi Handa <handa@m17n.org>
7749
7750 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
7751 It it is nonzero, don't pretend that an invisible area doesn't exist.
7752 (command_loop_1): Call adjust_point_for_property with proper
7753 second arg.
7754
7755 2003-01-22 Jason Rumney <jasonr@gnu.org>
7756
7757 Sync changes with xterm.c and xfns.c.
7758
7759 * w32term.c (x_draw_glyph_string_foreground)
7760 (x_draw_composite_glyph_string_foreground): Implement overstriking.
7761
7762 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
7763 phys_cursor's hpos is overwritten. This is still not completely
7764 correct, as it doesn't really make sense to use hpos at all to
7765 get the cursor glyph (as that is relative to the width of the
7766 characters on the line, which may have changed during the update).
7767
7768 * w32term.c (notice_overwritten_cursor): Handle the special case
7769 of the cursor being in the first blank non-text line at the
7770 end of a window.
7771
7772 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
7773 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
7774 Compute from the x position returned by x_draw_glyphs.
7775
7776 (x_display_and_set_cursor): Don't set phys_cursor_width here,
7777 except for NO_CURSOR and system caret, to make phys_cursor_width
7778 contain what its name suggests.
7779 (notice_overwritten_cursor): Consider the cursor image erased if
7780 the output area intersects the cursor image in y-direction.
7781
7782 * w32term.c (note_mode_line_or_margin_highlight): Rename from
7783 note_mode_line_highlight and extend.
7784
7785 * w32term.c (last_window): New variable.
7786 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
7787 (note_mouse_movement): Remove reimplemented code in #if 0.
7788
7789 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
7790 not update_mode_lines, and always set it to 1.
7791
7792 2003-01-21 Jason Rumney <jasonr@gnu.org>
7793
7794 * w32fns.c (IDC_HAND): Define it if system headers don't.
7795
7796 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
7797
7798 * w32term.h (struct w32_output): New member hand_cursor.
7799 (WM_EMACS_SETCURSOR): New message definition.
7800
7801 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
7802 function w32_define_cursor.
7803 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
7804 position, change member name output_data.x to output_data.w32 and
7805 add function w32_define_cursor.
7806 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
7807 and change member name output_data.x to output_data.w32.
7808 (w32_initialize_display_info):
7809 Setup dpyinfo->vertical_scroll_bar_cursor.
7810
7811 * w32fns.c (Vx_hand_shape): New variable.
7812 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
7813 WM_EMACS_SETCURSOR.
7814 (x-create-frame): Setup Cursor types.
7815
7816 2003-01-21 David Ponce <david@dponce.com>
7817
7818 * w32term.c (w32_encode_char): For DIM=1 charset, set
7819 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
7820 x_encode_char change by Kenichi Handa <handa@m17n.org> on
7821 2002-09-30.)
7822 (w32_draw_relief_rect): Declare all args.
7823 (w32_define_cursor): New.
7824
7825 * w32fns.c (w32_load_cursor): New function.
7826 (w32_init_class): Use it.
7827 (x_put_x_image): Declare all args.
7828
7829 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
7830
7831 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
7832
7833 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7834
7835 * gtkutil.c: Must include stdio.h before termhooks.h
7836
7837 2003-01-21 Dave Love <fx@gnu.org>
7838
7839 * alloc.c (Fgc_status): Print zombie list.
7840 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
7841 Fix assignment of zombies.
7842 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
7843 Don't take car of non-cons.
7844
7845 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7846
7847 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7848
7849 2003-01-20 David Ponce <david@dponce.com>
7850
7851 * w32menu.c (digest_single_submenu): Declare all args.
7852
7853 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
7854 changes in xmenu.c:
7855
7856 (parse_single_submenu): Use individual keymap's prompt
7857 string as pane name, if there is one.
7858 (set_frame_menubar): Save menu_items_n_panes from each call to
7859 parse_single_submenu and use it when calling digest_single_submenu.
7860
7861 2003-01-20 Steven Tamm <steventamm@mac.com>
7862
7863 * macterm.c (XTread_socket): Checks for valid, visible window
7864 before sending a scroll-wheel event.
7865
7866 2003-01-20 Richard M. Stallman <rms@gnu.org>
7867
7868 * xdisp.c (redisplay_window): If mini window's buffer is not
7869 a minibuffer, then redisplay it like other windows.
7870
7871 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7872
7873 * gtkutil.c (xg_create_frame_widgets): Check if there is an
7874 external tool bar before setting tool bar height.
7875
7876 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7877
7878 * xterm.c (handle_one_xevent): Surround popup_activated
7879 with #ifdef:s for non-toolkit version.
7880
7881 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
7882 (gtkutil.o): New file.
7883 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
7884 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
7885
7886 * gtkutil.c: New file for GTK version.
7887
7888 * gtkutil.h: New file for GTK version.
7889
7890 * xterm.h: Add xt_or_gtk_widget.
7891 Include gtk files for USE_GTK.
7892 (struct x_output): Add toolbar_height.
7893 (struct x_output): Add GTK widgets and Gdk size_hints.
7894 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
7895 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
7896 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
7897
7898 * xterm.c: Include gtkutil.h for USE_GTK.
7899 Declare extern void free_frame_menubar for USE_GTK.
7900 (note_mouse_highlight): Check popup_activated for USE_GTK.
7901 (xt_action_hook): Don't compile if USE_GTK.
7902 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
7903 (xg_scroll_callback): New function.
7904 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
7905 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
7906 for USE_GTK.
7907 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
7908 xg_show_scroll_bar for USE_GTK.
7909 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
7910 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
7911 (event_handler_gdk): New function for USE_GTK.
7912 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
7913 (handle_one_xevent): Make sure widget is mapped before
7914 calling x_real_positions for USE_GTK.
7915 (XTread_socket): Add GTK event loop for USE_GTK.
7916 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
7917 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
7918 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
7919 (x_iconify_frame): Add code for USE_GTK.
7920 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
7921 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
7922 is in gtkutil.c.
7923 (x_term_init): Add initialization for GTK.
7924 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
7925
7926 * xmenu.c: Include gtkutil.h for USE_GTK.
7927 (Fx_popup_menu): Use current position if x and y is NIL.
7928 (single_menu_item, single_menu_item, Fx_popup_dialog):
7929 Check for USE_GTK.
7930 (popup_widget_loop): New function for USE_GTK.
7931 (x_activate_menubar): Add code for USE_GTK.
7932 (popup_activate_callback, popup_deactivate_callback)
7933 (menu_highlight_callback, menubar_selection_callback):
7934 Add USE_GTK versions.
7935 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
7936 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
7937 (free_frame_menubar): Only compile if not USE_GTK. GTK version
7938 is in gtkutil.c.
7939 (popup_selection_callback): New version for USE_GTK.
7940 (create_and_show_popup_menu): New fuction, one USE_GTK version and
7941 one USE_X_TOOLKIT version.
7942 (xmenu_show): Call create_and_show_popup_menu.
7943 (dialog_selection_callback): New version for USE_GTK.
7944 (create_and_show_dialog): New fuction, one USE_GTK version and
7945 one USE_X_TOOLKIT version.
7946 (xdialog_show): Call create_and_show_dialog.
7947
7948 * xfns.c: Include gtkutil for USE_GTK.
7949 (x_window_to_frame, x_any_window_to_frame)
7950 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
7951 (x_top_window_to_frame): Add code for USE_GTK.
7952 (x_set_background_color): Call xg_set_background_color for GTK.
7953 (x_set_menu_bar_lines): Check for USE_GTK.
7954 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
7955 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
7956 (x_window): Call xg_create_frame_widgets for USE_GTK.
7957 (Fx_create_frame): Check for USE_GTK
7958 (Fx_file_dialog): New implementation for USE_GTK.
7959
7960 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
7961 (update_menu_bar): Add check for USE_GTK.
7962 (update_tool_bar): Add check for USE_GTK and external tool bar.
7963 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
7964 (redisplay_internal): Add check for USE_GTK and popup_activated.
7965 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
7966 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
7967 (display_menu_bar): Add check for USE_GTK
7968
7969 * lisp.h: Declare Vx_resource_name extern.
7970
7971 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
7972 for USE_GTK.
7973 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
7974
7975 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
7976 (FRAME_EXTERNAL_TOOL_BAR): New macro.
7977 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
7978
7979 * fileio.c (Fread_file_name): Add check for USE_GTK.
7980
7981 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
7982 Add check for USE_GTK.
7983
7984 * config.in: Added HAVE_GTK
7985
7986 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
7987
7988 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
7989
7990 * charset.h (Funibyte_char_to_multibyte): Export.
7991
7992 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7993
7994 * xmenu.c (mouse_position_for_popup): New function.
7995 (Fx_popup_menu): Call mouse_position_for_popup for X and
7996 mouse_position_hook for others.
7997
7998 2003-01-17 Kim F. Storm <storm@cua.dk>
7999
8000 * editfns.c (Finsert): Mention `string-make-multibyte' and
8001 `string-as-multibyte' in doc string.
8002
8003 2003-01-17 Kenichi Handa <handa@m17n.org>
8004
8005 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
8006
8007 * editfns.c (Fformat): Convert an unibyte char argument that is
8008 formatted by "%c" to multibyte if the total result must be a
8009 multibyte string.
8010
8011 2003-01-16 Kim F. Storm <storm@cua.dk>
8012
8013 * process.c (set-process-filter): Document unibyte/multibyte-ness
8014 of string argument.
8015
8016 2003-01-16 Kenichi Handa <handa@m17n.org>
8017
8018 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
8019
8020 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
8021 (re_search_2): Likewise.
8022
8023 2003-01-15 Kenichi Handa <handa@m17n.org>
8024
8025 * xdisp.c (message_dolog): Fix bug of the case that *Message*
8026 buffer is unibyte.
8027
8028 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
8029
8030 * fns.c (Fsubstring): Clarify doc string.
8031
8032 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
8033 (Fprevious_char_property_change)
8034 (Fnext_single_char_property_change)
8035 (Fprevious_single_char_property_change, Fnext_property_change)
8036 (Fnext_single_property_change, Fprevious_property_change)
8037 (Fprevious_single_property_change, Fadd_text_properties)
8038 (Fput_text_property, Fset_text_properties)
8039 (Fremove_text_properties, Fremove_list_of_text_properties)
8040 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
8041
8042 2003-01-14 Kim F. Storm <storm@cua.dk>
8043
8044 * process.h (struct Lisp_Process): New member plist replaces old
8045 member private_vars. All uses changed.
8046
8047 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
8048 (QCplist): Rename from QCvars. Change all uses.
8049 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
8050 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
8051 (syms_of_process): Intern, staticpro, defsubr these.
8052 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
8053
8054 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
8055
8056 * m/delta.h: Remove (obsolete).
8057
8058 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
8059
8060 * fileio.c (Fdelete_directory, Fdelete_file): Document the
8061 behaviour in front of symlinks.
8062 (Fdelete_file): Raise an error on directories.
8063
8064 2003-01-13 Dave Love <fx@gnu.org>
8065
8066 * fns.c (Freverse): Use QUIT.
8067
8068 2003-01-13 Richard M. Stallman <rms@gnu.org>
8069
8070 * minibuf.c (minibuffer_completion_contents):
8071 Error if point is inside prompt.
8072
8073 * keyboard.c (command_loop_1): Don't redisplay directly
8074 if there's a post-command-hook.
8075
8076 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
8077 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
8078
8079 2003-01-12 Kim F. Storm <storm@cua.dk>
8080
8081 * process.h (struct Lisp_Process): New member private_vars.
8082
8083 * process.c (QCvars): New variable.
8084 (syms_of_process): Intern and staticpro it.
8085 (Fset_process_contact): Removed function.
8086 (Fprocess_variable, Fset_process_variable): New functions.
8087 (syms_of_process): Defsubr them.
8088 (Fstart_process): Initialize private_vars plist to nil.
8089 (Fmake_network_process): New arg :vars to setup the private
8090 variables for new network process.
8091 (server_accept_connection): Copy server's private variables to
8092 client process.
8093
8094 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
8095 crashes). Code rewritten and simplified. Now directly aligns the
8096 pointer and recalculates pure_bytes_used, rather than aligning the
8097 size and adjusting the pointer.
8098
8099 2003-01-11 Kim F. Storm <storm@cua.dk>
8100
8101 * process.c (Fset_process_contact): New function.
8102 (syms_of_process): defsubr it.
8103 (make-network-process): Update doc.
8104
8105 2003-01-10 Andreas Schwab <schwab@suse.de>
8106
8107 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
8108 Reported by Berthold Gunreben <b.gunreben@web.de>.
8109
8110 2003-01-10 Dave Love <fx@gnu.org>
8111
8112 * composite.c (syms_of_composite): Make composition_hash_table weak.
8113
8114 2003-01-09 Kim F. Storm <storm@cua.dk>
8115
8116 * process.c (Fmake_network_process): Convert new port number
8117 to host byte order for `:service t' case. From Mario Lang.
8118
8119 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8120
8121 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
8122 instead of XtAppProcessEvent.
8123
8124 * xterm.c (handle_one_xevent): New function.
8125 (x_dispatch_event): New function.
8126 (XTread_socket): Call handle_one_xevent.
8127
8128 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
8129
8130 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
8131 call XQueryPointer to get coordinates.
8132 (popup_get_selection): Do not set popup_activated_flag to zero,
8133 let popup_deactivate_callback do that. Needed for Motif.
8134 Call x_dispatch_event instead of XtDispatchEvent.
8135 (xmenu_show): Calculate root coordinate from frame top/left position.
8136
8137 2003-01-08 Kim F. Storm <storm@cua.dk>
8138
8139 * process.c (server_accept_connection): Fix recording of new
8140 connection's local address in :local property of contact info.
8141 (Fmake_network_process): Record local network address for new
8142 client processes in :local property of contact info.
8143 (format-network-address): Add arg OMIT-PORT. Change callers.
8144
8145 2003-01-07 Dave Love <fx@gnu.org>
8146
8147 * Makefile.in (fns.o): Depend on coding.h.
8148
8149 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
8150
8151 * minibuf.c (Fread_variable): Doc fix.
8152
8153 * eval.c (Fuser_variable_p): Doc change. For custom variables,
8154 use the same test as for custom-variable-p.
8155
8156 2003-01-05 Richard M. Stallman <rms@gnu.org>
8157
8158 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
8159 Count LAST_LINE_MISFIT in scroll margin for end of window.
8160 Move label too_near_end before setting SCROLL_MARGIN_POS.
8161 Set LAST_LINE_MISFIT before jumping there.
8162
8163 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
8164 scroll_conservatively case. If scrolling that much doesn't change
8165 STARTP, move it down one line.
8166
8167 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
8168 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
8169
8170 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
8171 selected frame.
8172
8173 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
8174 (syms_of_keymap): staticpro them.
8175 (Fapropos_internal): Initialize them and clear them out.
8176 Don't GCPRO them.
8177
8178 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
8179 Doc fixes.
8180
8181 * lisp.h: New misc type Lisp_Save_Value.
8182 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
8183 (XSAVE_VALUE): New macro.
8184 (struct Lisp_Save_Value): New data type.
8185 (union Lisp_Misc): Add u_save_value alternative.
8186 (make_save_value): Declared.
8187
8188 * alloc.c (make_save_value): New function.
8189
8190 * xterm.c (x_catch_errors): Save dpy using make_save_value.
8191 (x_catch_errors_unwind): Call XSync.
8192
8193 2003-01-01 Richard M. Stallman <rms@gnu.org>
8194
8195 * window.c (window_scroll_pixel_based): Partially undo last change.
8196
8197 * keyboard.c (command_loop_1): Call adjust_point_for_property
8198 in direct action cases for Qforward_char and Qbackward_char.
8199 Set already_adjusted so it won't be done twice.
8200
8201 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
8202
8203 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
8204 type definition of size_t.
8205
8206 2003-01-02 Steven Tamm <steventamm@mac.com>
8207
8208 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
8209 distinguish Carbon GUI builds from X11 builds on darwin.
8210
8211 2002-12-30 Steven Tamm <steventamm@mac.com>
8212
8213 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
8214 to default to t.
8215
8216 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
8217
8218 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
8219
8220 2002-12-28 Steven Tamm <steventamm@mac.com>
8221
8222 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
8223 allow building in a different directory than source. Uses some
8224 GNU Make extensions, but there is no other make on Mac OS X.
8225
8226 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
8227
8228 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
8229 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
8230 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
8231 (Fstring_to_number): Mention the returned value in the doc strings.
8232
8233 2002-12-23 Richard M. Stallman <rms@gnu.org>
8234
8235 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
8236 <scroll-down-aggressively>: Doc fix.
8237
8238 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
8239 string as pane name, if there is one.
8240 (set_frame_menubar): Save menu_items_n_panes from each call to
8241 parse_single_submenu and use it when calling digest_single_submenu.
8242
8243 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
8244 Don't try to make last line fully visible if it is past end of window.
8245
8246 2002-12-22 Steven Tamm <steventamm@mac.com>
8247
8248 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
8249 (mac_menu_show): Add support for hierarchical popup menus.
8250 (add_menu_item): Remove indentation support.
8251 (fill_submenu, fill_menu): Create hierarchical menus
8252 instead of using indentation.
8253
8254 2002-12-22 Richard M. Stallman <rms@gnu.org>
8255
8256 * xdisp.c (try_cursor_movement): Don't call try_window here.
8257 (redisplay_window): Never redisplay minibuffer when inactive.
8258
8259 * window.c (select_window_1): Undo 9/21 change.
8260
8261 2002-12-22 Steven Tamm <steventamm@mac.com>
8262
8263 * macterm.c (XTread_socket): Call KeyTranslate for control and
8264 meta to deal correctly shifted non-alpha characters, like C-S-5
8265 being treated like C-%. Does not look for shift key to deal
8266 with masking off control-key with mac-reverse-ctrl-meta.
8267
8268 2002-12-21 Richard M. Stallman <rms@gnu.org>
8269
8270 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
8271 If it is non-nil, run timers. Use an unwind-protect to requeue
8272 the events that were read ahead.
8273 (popup_get_selection_unwind): New subroutine.
8274 (popup_get_selection_queue): File-scope variable now holds that queue.
8275 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
8276 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
8277 Use an unwind-protect to pop down the dialog box.
8278 (xdialog_show_unwind): New subroutine implements that.
8279
8280 * xdisp.c (row_containing_pos): Change exit test using last_y.
8281 (try_window_id): Abort if row_containing_pos returns null.
8282
8283 * lread.c (load_error_handler): New function.
8284 (Fload): Handle errors in Fsubstitute_in_file_name.
8285 Don't expect Fsignal to return.
8286
8287 * eval.c: Errors and throws work right with interrupt blocking.
8288 (struct catchtag): New elt interrupt_input_blocked.
8289 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
8290 (internal_catch, Fcondition_case, internal_condition_case)
8291 (internal_condition_case_1, internal_condition_case_2): Save it.
8292 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
8293
8294 * editfns.c (Fformat): Add parens.
8295
8296 * dired.c (file_name_completion): Fix that change.
8297 Delete special quit-handling code; just use QUIT.
8298
8299 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change)
8300
8301 * dired.c (file_name_completion): Close directory on error
8302 just as in directory_files_internal.
8303
8304 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
8305
8306 * window.c (Fset_window_configuration): Set old_point to correct
8307 value when new_current_buffer == current_buffer.
8308
8309 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
8310
8311 Revisited my earlier fix for the following entry in etc/PROBLEMS:
8312 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
8313 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
8314
8315 These changes were in part based upon suggestions made by Peter
8316 'Luna' Runestig [peter@runestig.com].
8317
8318 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
8319 g_b_init_get_token_information, g_b_init_lookup_account_sid,
8320 g_b_init_get_sid_identifier_authority ): Add several static
8321 global variables.
8322
8323 * w32.c (globals_of_w32): New function. Used to initialize those
8324 global variables that must always be initialized on startup even
8325 when the global variable initialized is non zero. Its primary
8326 purpose at this time is to set the global variables
8327 g_b_init_is_windows_9x, g_b_init_open_process_token,
8328 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
8329 g_b_init_get_sid_identifier_authority to 0 on startup.
8330 Called from main.
8331
8332 * w32.c (is_windows_9x): Perform initialization only if
8333 g_b_init_is_windows_9x is equal to 0. On initialization set
8334 g_b_init_is_windows_9x equal to 1.
8335
8336 * w32.c (open_process_token): Perform initialization only if
8337 g_b_init_open_process_token is equal to 0. On initialization set
8338 g_b_init_open_process_token equal to 1.
8339
8340 * w32.c (get_token_information): Perform initialization only if
8341 g_b_init_get_token_information is equal to 0. On initialization
8342 set g_b_init_get_token_information equal to 1.
8343
8344 * w32.c (lookup_account_sid): Perform initialization only if
8345 g_b_init_lookup_account_sid is equal to 0. On initialization
8346 set g_b_init_lookup_account_sid equal to 1.
8347
8348 * w32.c (get_sid_identifier_authority): Perform initialization
8349 only if g_b_init_get_sid_identifier_authority is equal to 0.
8350 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
8351
8352 * w32fns.c (globals_of_w32fns): New function. Used to initialize
8353 those global variables that must always be initialized on startup
8354 even when the global variable initialized is non zero.
8355 Its primary purpose at this time is to initialize the global variable
8356 track_mouse_event_fn.
8357
8358 * w32fns.c (w32_wnd_proc): Remove initialization of
8359 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
8360
8361 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
8362
8363 * w32menu.c (globals_of_w32menu): New function. Used to
8364 initialize those global variables that must always be initialized
8365 on startup even when the global variable initialized is non zero.
8366 Its primary purpose at this time is to initialize the global
8367 variables get_menu_item_info and set_menu_item_info.
8368
8369 * w32menu.c (initialize_frame_menubar): Remove initialization of
8370 get_menu_item_info and set_menu_item_info.
8371
8372 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
8373
8374 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
8375 Declare them.
8376
8377 * emacs.c (main): Call globals_of_w32 prior to calling
8378 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
8379 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
8380 is defined.
8381
8382 * w32term.c (x_update_window_begin): Fix Windows API error
8383 detected by BoundsChecker. Test to determine if
8384 w32_system_caret_hwnd is NULL prior to attempting to use
8385 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
8386
8387 * w32term.c (x_update_window_end): Fix Windows API error
8388 detected by BoundsChecker. Test to determine if
8389 w32_system_caret_hwnd is NULL prior to attempting to use
8390 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
8391
8392 2002-12-17 Kenichi Handa <handa@m17n.org>
8393
8394 * coding.c (coding_system_require_warning): New variable.
8395 (syms_of_coding): DEFVAR it.
8396
8397 * coding.h (coding_system_require_warning): Extern it.
8398
8399 * fileio.c (choose_write_coding_system): Even if
8400 Vcoding_system_for_write is non-nil, if
8401 coding_system_require_warning is nonzero, call
8402 Vselect_safe_coding_system_function.
8403
8404 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
8405
8406 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
8407 (lisp): Add font-core.
8408
8409 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
8410
8411 * textprop.c (text_read_only): New arg `propval'.
8412 (get_char_property_and_overlay): Remove unused var `next_overlay'.
8413 (verify_interval_modification): Use text_read_only's new arg.
8414
8415 2002-12-13 Kenichi Handa <handa@m17n.org>
8416
8417 * coding.c (Funencodable_char_position): Set pend correctly.
8418
8419 2002-12-12 Jason Rumney <jasonr@gnu.org>
8420
8421 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
8422 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
8423 Be more careful about when help_events are generated.
8424
8425 2002-12-12 Steven Tamm <steventamm@mac.com>
8426
8427 * macterm.c (mac_check_for_quit_char): Correctly set the
8428 modifiers of the event to 0.
8429 * mac.c (sys_select): Duplicate rfds before calling select to
8430 ensure that rfds survive the while loop.
8431
8432 2002-12-11 Kim F. Storm <storm@cua.dk>
8433
8434 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
8435 row_containing_pos returned NULL.
8436
8437 2002-12-10 Steven Tamm <steventamm@mac.com>
8438
8439 * mac.c (sys_read): Fix sys_read to not call select if IO is
8440 non-blocking.
8441 (sys_select): Fix sys_select to not use a timeout larger than
8442 the one given.
8443
8444 2002-12-10 Juanma Barranquero <lektu@terra.es>
8445
8446 * editfns.c (Fformat): Use alloca, not _alloca.
8447
8448 2002-12-09 Richard M. Stallman <rms@gnu.org>
8449
8450 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
8451 as the last thing.
8452
8453 2002-12-09 Dave Love <fx@gnu.org>
8454
8455 * s/sol2-8.h: Removed. (Not necessary.)
8456
8457 2002-12-09 Matthew Swift <swift@alum.mit.edu>
8458
8459 * editfns.c (Fformat): Handle precision in string conversion
8460 specifiers like libc functions do (ie, print at most that many
8461 characters).
8462
8463 2002-12-08 Richard M. Stallman <rms@gnu.org>
8464
8465 * xdisp.c (row_containing_pos): Check more carefully
8466 whether charpos is really in the row before returning it.
8467
8468 2002-12-07 Steven Tamm <steventamm@mac.com>
8469
8470 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
8471
8472 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
8473 each stack frame. This may change as it could be time consuming.
8474
8475 * macterm.c (mac_check_for_quit_char, quit_char_comp)
8476 (init_quit_char_handler, mac_determine_quit_char_modifiers)
8477 (mac_initialize): Add code to check for pressing of quit_char
8478 in the OS event queue.
8479
8480 * mac.c (sys_select): Call mac_check_for_quit_char every second
8481 while blocking on select.
8482
8483 * mac.c (sys_read): Use sys_select to test for input first
8484 before calling read, to allow C-g to break.
8485
8486 2002-12-07 Richard M. Stallman <rms@gnu.org>
8487
8488 * minibuf.c (Fcompleting_read): Doc fix.
8489
8490 * lread.c (syms_of_lread) <load-history>: Doc fix.
8491
8492 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
8493
8494 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
8495 autoload.
8496
8497 * data.c (Fdefalias): Record in load-history redefining an autoload.
8498
8499 * alloca.c: Undo ifdef change accidentally made on 12-04.
8500
8501 2002-12-06 Francesco Potorti` <pot@gnu.org>
8502
8503 * xfns.c (png_load): Avoid double gamma correction for PNG images.
8504
8505 2002-12-04 Richard M. Stallman <rms@gnu.org>
8506
8507 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
8508
8509 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
8510
8511 * alloca.c: Don't use #error.
8512
8513 2002-12-03 Dave Love <fx@gnu.org>
8514
8515 * buffer.c (Qucs_set_table_for_input): New.
8516 (Fget_buffer_create): Use it.
8517 (Qset_buffer_major_mode_hook): Deleted.
8518 (Fset_buffer_major_mode): Revert previous change.
8519 (init_buffer_once): Intern ucs-set-table-for-input.
8520 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
8521 Add &Qucs_set_table_for_input.
8522
8523 2002-12-03 Andreas Schwab <schwab@suse.de>
8524
8525 * callint.c (Fcall_interactively): Use next_event only if less
8526 than key_count.
8527
8528 2002-12-02 Andrew Choi <akochoi@shaw.ca>
8529
8530 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
8531 names to 255 characters.
8532
8533 * macterm.c (XTread_socket): If all frames have been collapsed,
8534 expand the first one before handling drag-and-drop events.
8535
8536 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
8537 which is detected by autoconf.
8538
8539 2002-12-01 Steven Tamm <steventamm@mac.com>
8540
8541 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
8542 offset in two hints table to allow prebinding to be redone and
8543 allow the executable to be stripped.
8544
8545 2002-11-29 Dave Love <fx@gnu.org>
8546
8547 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
8548 already provided.
8549
8550 2002-11-29 Richard M. Stallman <rms@gnu.org>
8551
8552 * xdisp.c (start_display): Check more intelligently for
8553 whether the line is continued.
8554 (move_it_vertically_backward): Clear it->continuation_lines_width.
8555
8556 2002-11-28 Dave Love <fx@gnu.org>
8557
8558 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
8559 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
8560
8561 2002-11-27 Steven Tamm <steventamm@mac.com>
8562
8563 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
8564 more descriptive error output from lread.c:Fload upon most require
8565 cycles during boostrapping.
8566
8567 2002-11-27 Jason Rumney <jasonr@gnu.org>
8568
8569 * fileio.c (Finsert_file_contents): Give a more appropriate error
8570 for files bigger than 2Gb when off_t is 32 bit.
8571
8572 * dired.c (Ffile_attributes): Don't return negative file sizes for
8573 files bigger than 2Gb when off_t is 32 bit.
8574
8575 2002-11-27 Dave Love <fx@gnu.org>
8576
8577 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8578
8579 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
8580 Test GETPGRP_VOID instead.
8581 [BSD_TERMIOS]: Remove definitions (never used).
8582
8583 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
8584 Don't define.
8585 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8586
8587 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
8588
8589 2002-11-25 Jason Rumney <jasonr@gnu.org>
8590
8591 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
8592 supported.
8593
8594 2002-11-25 Dave Love <fx@gnu.org>
8595
8596 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
8597
8598 * Makefile.in (TEMACS_LDFLAGS): Update last change.
8599
8600 2002-11-25 Andreas Schwab <schwab@suse.de>
8601
8602 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
8603
8604 2002-11-24 Steven Tamm <steventamm@mac.com>
8605
8606 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
8607 determine the size of pointers alloced in unexed space instead
8608 of using possibly invalid emacs_zone pointers. This fixes the
8609 binary incompatibility problems caused by updates to libSystem.B.
8610
8611 2002-11-24 Richard M. Stallman <rms@gnu.org>
8612
8613 * search.c (Fstring_match): Doc fix.
8614
8615 * callint.c (Fcall_interactively): If a command fails because
8616 `*' detects a read-only buffer, but RECORD_FLAG is set,
8617 record it anyway if the args don't actually do tty input.
8618
8619 2002-11-22 Dave Love <fx@gnu.org>
8620
8621 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
8622
8623 * keyboard.c (interrupt_signal): Provide forward declaration.
8624 (kbd_buffer_store_event): Don't declare interrupt_signal.
8625
8626 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
8627
8628 2002-11-21 Richard M. Stallman <rms@gnu.org>
8629
8630 * eval.c (interactive_p): Skip any number of bytecode
8631 and special form frames, in any order.
8632
8633 2002-11-20 Jason Rumney <jasonr@gnu.org>
8634
8635 * w32fns.c (convert_mono_to_color_image): New function.
8636 (xbm_load, xbm_load_image): Use it when foreground or background
8637 is explicitly set.
8638
8639 2002-11-19 Dave Love <fx@gnu.org>
8640
8641 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
8642
8643 2002-11-18 Jason Rumney <jasonr@gnu.org>
8644
8645 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
8646 (XPutPixel): Swap blue and red.
8647 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
8648 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8649 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
8650 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
8651
8652 2002-11-18 Dave Love <fx@gnu.org>
8653
8654 * m/orion105.h (HAVE_ALLOCA): Don't define.
8655
8656 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
8657
8658 * m/intel386.h: Don't include alloca.h or define alloca.
8659
8660 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
8661 malloc, realloc, calloc.
8662
8663 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
8664 (bcmp): Don't define.
8665
8666 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
8667
8668 * m/amdahl.h: Don't define LIB_STANDARD.
8669
8670 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
8671
8672 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
8673
8674 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
8675 Don't include alloca.h.
8676
8677 * s/aix3-2.h (HAVE_FSYNC): Don't define.
8678
8679 * regex.c (_GNU_SOURCE): Don't define.
8680
8681 * process.c (_GNU_SOURCE): Don't define.
8682
8683 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
8684
8685 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
8686
8687 * s/sol2-8.h: Include sol2-6.h.
8688
8689 2002-11-18 Miles Bader <miles@gnu.org>
8690
8691 * dispextern.h (struct face): Add `overstrike' field.
8692 * xterm.c (x_draw_glyph_string_foreground)
8693 (x_draw_composite_glyph_string_foreground): Implement overstriking.
8694 * xfaces.c (load_face_font): Set `face->overstrike' based on
8695 result from choose_face_font.
8696 (best_matching_font, choose_face_font): Add `needs_overstrike'
8697 argument, and use it to return whether overstriking is desirable
8698 for this face/font combo.
8699 (set_font_frame_param: Pass new argument to choose_face_font.
8700
8701 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
8702
8703 This change is my fix for the following entry in etc/PROBLEMS:
8704 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
8705 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
8706
8707 * w32.c: Added wrapper functions around the win32 API functions
8708 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
8709 GetSidIdentifierAuthority. These wrapper functions serve two
8710 purposes:
8711 1. They ensure that the wrapped function can never be called
8712 when Emacs is running on an operating system on which they are
8713 not supported (Microsoft Windows 95 / 98 / ME).
8714 2. They call the wrapped functions via function pointers rather
8715 than calling them directly. This avoids taking advantage of the
8716 undocumented fact that although these functions are not supported
8717 in the 9x branch of Microsoft Windows, the functions do exist in
8718 the version of advapi32.dll that is found in the 9x branch of
8719 Microsoft Windows.
8720
8721 * w32.c (init_user_info): Replace the calls to the win32 API
8722 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
8723 and GetSidIdentifierAuthority with calls to the newly added
8724 wrapper functions.
8725
8726 * w32.h: Added extern declarations for the following functions:
8727 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
8728 syms_of_w32menu, and void syms_of_fontset.
8729
8730 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
8731 function pointer track_mouse_event_fn in the handler for the
8732 WM_SETFOCUS message.
8733
8734 * w32menu.c (initialize_frame_menubar): Add code to
8735 reinitialize the function pointers set_menu_item_info and
8736 get_menu_item_info.
8737
8738 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
8739
8740 * sound.c: Added a partial implementation of play-sound-internal
8741 for Microsoft Windows. Added various #ifdef / #else / #endif
8742 code blocks to separate the code that will compile under
8743 Microsoft Windows from the code that is specific to Gnu/Linux.
8744 Moved several blocks of code around to make this separation of code
8745 into Windows compatible and Gnu/Linux compatible code blocks easier.
8746
8747 * makefile.w32-in: Include sound.c and link with WinMM.lib.
8748
8749 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
8750 added support for play-sound-internal under Windows would be
8751 included in the build of Emacs.
8752
8753 2002-11-16 Jason Rumney <jasonr@gnu.org>
8754
8755 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
8756
8757 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
8758
8759 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
8760
8761 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
8762 (adjust_point_for_property): Move out of display and invisible even if
8763 we were already inside before (in case a property was added while
8764 we weren't looking). Be more careful when handling invisible props.
8765 Skip invisible text as if it really wasn't there at all.
8766
8767 2002-11-15 Jason Rumney <jasonr@gnu.org>
8768
8769 * w32term.c (x_draw_image_foreground)
8770 (w32_draw_image_foreground_1): Use standard copy and invert
8771 operations to draw images.
8772
8773 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
8774 depth of 1.
8775 (xbm_read_bitmap_data): Invert bits as xbm is read in.
8776 (XPutPixel): Don't invert bits here.
8777
8778 2002-11-15 Jason Rumney <jasonr@gnu.org>
8779
8780 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
8781 (w32_draw_image_foreground_1): Handle image masks.
8782 (x_draw_image_glyph_string): Don't BitBlt transparently.
8783
8784 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
8785 (x_from_xcolors): Adjust RGB values for W32.
8786 (image_background, image_background_transparent)
8787 (postprocess_image, x_to_xcolors, x_disable_image)
8788 (x_build_heuristic_mask): Adapt for W32 and enable.
8789 (x_create_x_image_and_pixmap): Mark images with palettes as such.
8790 (xbm_load): Remove unused variable.
8791
8792 2002-11-14 Richard M. Stallman <rms@gnu.org>
8793
8794 * buffer.c (syms_of_buffer): Doc fix.
8795
8796 2002-11-14 Dave Love <fx@gnu.org>
8797
8798 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
8799
8800 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
8801 * xmenu.c (unuse_menu_items, digest_single_submenu):
8802 * xfns.c (x_put_x_image):
8803 * xdisp.c (message2_nolog, set_message):
8804 * undo.c (record_point):
8805 * terminfo.c (tparam):
8806 * syntax.c (scan_sexps_forward):
8807 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
8808 * composite.c (update_compositions):
8809 * cm.c (calccost, cmgoto):
8810 * charset.c (c_string_width): Declare all args (per C99).
8811
8812 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
8813
8814 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
8815 Don't declare.
8816
8817 * emacs.c (main) [!VMS]: Avoid third arg.
8818
8819 * fns.c (Fcopy_sequence): Doc fix.
8820 (Fmap_char_table): Cast `call2'.
8821
8822 2002-11-14 Francesco Potorti` <pot@gnu.org>
8823
8824 * s/sol2-8.h: New file.
8825
8826 2002-11-14 Kim F. Storm <storm@cua.dk>
8827
8828 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
8829 dependency on `risky-local-variable' and the :propertize form.
8830
8831 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
8832
8833 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
8834
8835 * syntax.c (scan_sexps_forward): Undo last patch.
8836 Use a more obvious fix: check eob before updating the syntax table.
8837
8838 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
8839
8840 * syntax.c (scan_sexps_forward): Update syntax table before reading
8841 a char rather than after so we don't update the table past eob.
8842
8843 2002-11-09 Dave Love <fx@gnu.org>
8844
8845 * buffer.c (Fset_buffer_major_mode): Fix last change.
8846
8847 * regex.c (regexec): Fix pmatch declaration.
8848
8849 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
8850
8851 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
8852 to self-inserting characters.
8853 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
8854
8855 * coding.c (Vtranslation_table_for_input): New.
8856 (syms_of_coding): DEFVAR it.
8857
8858 2002-11-08 Juanma Barranquero <lektu@terra.es>
8859
8860 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
8861 window.
8862
8863 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8864
8865 * process.c (Fformat_network_address): Remove unused locals p,
8866 cp, and i.
8867
8868 2002-11-06 Dave Love <fx@gnu.org>
8869
8870 * buffer.c (Qset_buffer_major_mode_hook): New.
8871 (Fset_buffer_major_mode): Use it.
8872
8873 2002-11-06 Richard M. Stallman <rms@gnu.org>
8874
8875 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
8876 and stop_polling.
8877
8878 * process.c (wait_reading_process_input):
8879 Test POLLING_PROBLEM_IN_SELECT, not hpux.
8880 Avoid initialization for auto Lisp_Object var.
8881
8882 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
8883
8884 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
8885
8886 2002-11-05 Richard M. Stallman <rms@gnu.org>
8887
8888 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
8889
8890 * callint.c (Fcall_interactively): New local filter_specs.
8891 (Fcall_interactively): Check for progn as well as let.
8892 Add a gcpro.
8893 (Qprogn): New variable.
8894 (syms_of_callint): Staticpro and init Qprogn.
8895
8896 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
8897
8898 * lread.c (Feval_buffer): Doc fix.
8899
8900 2002-11-04 Dave Love <fx@gnu.org>
8901
8902 * keyboard.c (read_char): Always translate iff
8903 Vkeyboard_translate_table is a char table and c is valid.
8904
8905 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
8906 and fix C types.
8907
8908 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
8909
8910 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
8911
8912 * editfns.c (get_pos_property): Don't hardcode Qfield.
8913
8914 * keyboard.c (adjust_point_for_property): Handle `display' prop on
8915 overlays. Also handle `invisible' prop.
8916
8917 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
8918
8919 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
8920 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
8921
8922 2002-11-01 Andreas Schwab <schwab@suse.de>
8923
8924 * editfns.c (Fmessage): Revert last change to properly handle %%.
8925
8926 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
8927
8928 * xmenu.c (unuse_menu_items): New fun.
8929 (menu_items_inuse): New var.
8930 (syms_of_xmenu): Initialize it.
8931 (init_menu_items): Use it to detect re-entrance.
8932 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
8933 (Fx_popup_menu): Remove spurious XSETFRAME.
8934
8935 * editfns.c (find_field): Make an exception for nil fields.
8936
8937 2002-11-01 Dave Love <fx@gnu.org>
8938
8939 * m/gec63.h: Deleted.
8940
8941 2002-10-31 Dave Love <fx@gnu.org>
8942
8943 * xterm.c (XTread_socket): Fix last change.
8944 (xaw_scroll_callback): Cast call_data to long to avoid warning.
8945
8946 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
8947
8948 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
8949
8950 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
8951
8952 * editfns.c (overlays_around, get_pos_property): New funs.
8953 (find_field): Use them.
8954 Also be careful not to modify POS before its last use.
8955 (Fmessage): Don't Fformat if there's nothing to format.
8956
8957 2002-10-30 Dave Love <fx@gnu.org>
8958
8959 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
8960 [HAVE_PTY_H]; Include pty.h.
8961
8962 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
8963
8964 * xterm.c (Qeql): Declare.
8965 (Vx_keysym_table): New.
8966 (syms_of_xterm): Initialize it.
8967 (XTread_socket): Use it. Deal with ASCII keysyms.
8968 (XSetIMValues) [HAVE_X11R6]: Prototype.
8969
8970 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
8971 (lispy_kana_keys): Comment out.
8972 (make_lispy_event) [XK_kana_A]: Comment out.
8973 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
8974 Fix sprintf call.
8975
8976 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
8977 regexp.h change).
8978 (TERMINFO, LIBS_TERMCAP): Define.
8979
8980 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
8981 (bcmp): Define conditional on HAVE_BCMP.
8982 (NO_SIOCTL_H): Don't define.
8983 (TIOCSIGSEND): Don't make conditional on IRIX6.
8984
8985 * s/sol2-5.h: Don't include strings.h.
8986 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
8987
8988 * s/irix6-0.h (IRIX6): Don't define.
8989 (bcopy, bcmp, bzero): Don't undef.
8990
8991 * s/irix6-5.h: Don't include strings.h.
8992 (IRIX6): Don't define.
8993 (bcopy, bcmp, bzero): Don't undef.
8994
8995 * syntax.c (Fforward_comment): Doc fix.
8996
8997 2002-10-29 Kim F. Storm <storm@cua.dk>
8998
8999 * process.c (Fsignal_process): Allow PROCESS to be specified by
9000 name in addition to pid (as integer or string).
9001
9002 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
9003
9004 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
9005 environments.
9006
9007 2002-10-27 Kim F. Storm <storm@cua.dk>
9008
9009 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
9010
9011 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
9012
9013 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
9014
9015 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
9016
9017 2002-10-26 Richard M. Stallman <rms@gnu.org>
9018
9019 * editfns.c (Fformat): Detect invalid format letters for floats.
9020
9021 2002-10-25 Kenichi Handa <handa@m17n.org>
9022
9023 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
9024 (x_set_title): Likewise.
9025
9026 2002-10-25 Juanma Barranquero <lektu@terra.es>
9027
9028 * macgui.h:
9029 * w32gui.h: Remove definition of XColor.
9030
9031 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
9032
9033 2002-10-24 Kim F. Storm <storm@cua.dk>
9034
9035 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
9036 Callers changed (supply dummy arg).
9037
9038 * lisp.h (get_window_cursor_type): Update prototype.
9039
9040 * w32term.c (x_display_and_set_cursor): Get active_cursor from
9041 get_window_cursor_type to track system caret.
9042
9043 2002-10-24 Kim F. Storm <storm@cua.dk>
9044
9045 * process.c (Fformat_network_address): New function.
9046 (syms_of_process): Defsubr it.
9047 (list_processes_1): Use it to format :local/:remote address if
9048 service/host is not set; before Emacs would crash in that case.
9049 (Fmake_network_process): Don't use Ffind_operation_coding_system
9050 to setup coding system if host or service is not set.
9051
9052 2002-10-23 Juanma Barranquero <lektu@terra.es>
9053
9054 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
9055
9056 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
9057 COLORREF.
9058
9059 * macgui.h:
9060 * w32gui.h: Add definition of XColor.
9061
9062 * macfns.c:
9063 * w32fns.c:
9064 * xfaces.c: Remove definition of XColor.
9065
9066 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
9067
9068 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
9069
9070 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
9071 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
9072 window if it is dedicated.
9073 (Fshrink_window): Add preserve_before as was done for enlarge_window.
9074 (Vspecial_display_function): Update docstring.
9075
9076 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
9077 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
9078 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
9079
9080 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
9081
9082 * casefiddle.c (casify_region): Don't treat a prefix char as part
9083 of a word when at the beginning.
9084
9085 2002-10-17 Juanma Barranquero <lektu@terra.es>
9086
9087 * lread.c (syms_of_lread): Fix typos.
9088
9089 2002-10-17 Dave Love <fx@gnu.org>
9090
9091 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
9092
9093 2002-10-16 Richard M. Stallman <rms@gnu.org>
9094
9095 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
9096
9097 2002-10-14 Juanma Barranquero <lektu@terra.es>
9098
9099 * w16select.c (syms_of_win16select): Fix docstring for
9100 `selection-coding-system'.
9101
9102 * w32select.c (syms_of_w32select): Likewise.
9103
9104 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
9105
9106 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
9107 a backslash-quoted char.
9108 (scan_lists, scan_sexps_forward): Pacify the compiler.
9109
9110 2002-10-13 Richard M. Stallman <rms@gnu.org>
9111
9112 * window.c (window_scroll): Set immediate_quit.
9113
9114 * print.c (print): When backquote form is the car of a list,
9115 output in old style. Use old_backquote_output to output all
9116 comma forms inside it in old style too.
9117
9118 * buffer.h (struct buffer): Move `undo_list' down below `name'.
9119
9120 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
9121
9122 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
9123 batch mode).
9124
9125 * lread.c (Fload): Doc fix (load-suffixes).
9126
9127 2002-10-10 Steven Tamm <steventamm@mac.com>
9128
9129 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
9130 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
9131 Also switch the default to Qnil from Qt.
9132
9133 2002-10-08 Kenichi Handa <handa@m17n.org>
9134
9135 * coding.c (code_convert_region): When we need more GAP for
9136 conversion, pay attention to the case that coding->produced is not
9137 greater than coding->consumed.
9138
9139 2002-10-07 Richard M. Stallman <rms@gnu.org>
9140
9141 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
9142
9143 2002-10-06 Andrew Choi <akochoi@shaw.ca>
9144
9145 * macmenu.c (mac_menu_show): Add j to count menu items; match
9146 menu_item_selection to it to find selected item.
9147
9148 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9149
9150 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
9151 cases. The correct fix is to pass ReparentNotify to Xt.
9152 The shell widget interprets ConfigureNotify differently depending
9153 on if it has been reparented or not.
9154
9155 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
9156
9157 * editfns.c (Fformat_time_string): Doc fix.
9158
9159 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
9160
9161 * fns.c (Flength): Doc fix.
9162
9163 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
9164
9165 * keyboard.c (keyremap): New struct.
9166 (read_key_sequence): Use it: globally replace keytran_foo with
9167 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
9168 keytran_next and fkey_next to just `next'.
9169
9170 2002-10-04 Steven Tamm <steventamm@mac.com>
9171
9172 * macterm.c (keycode_to_xkeysym_table): Change return to be
9173 treated like an X keysym.
9174
9175 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9176
9177 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
9178 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
9179 This is to also handle x/y changes that occur because of a resize.
9180
9181 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
9182
9183 * frame.c (Vdelete_frame_functions): New variable.
9184 (syms_of_frame): Initialize and defvar it.
9185 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
9186 it when frame's `tooltip' parameter is non-nil.
9187
9188 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
9189
9190 * w32fns.c (x_create_tip_frame): Likewise.
9191
9192 * macfns.c (x_create_tip_frame): Likewise.
9193
9194 2002-09-30 Kenichi Handa <handa@m17n.org>
9195
9196 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
9197 -1 before calling ccl_driver.
9198
9199 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
9200 Only when it is non-nil, handle composition sequence.
9201 (setup_coding_system) <0>: Don't force composition handling.
9202
9203 * Makefile.in (lisp, shortlisp): Add utf-16.elc
9204
9205 2002-09-29 Richard M. Stallman <rms@gnu.org>
9206
9207 * search.c (Freplace_match): Adjust match data for the substitution
9208 just made in the buffer.
9209
9210 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
9211 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
9212
9213 2002-09-27 Richard M. Stallman <rms@gnu.org>
9214
9215 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
9216 (read_char): Use them. Do all exits thru the end of the function.
9217
9218 2002-09-27 Kenichi Handa <handa@etl.go.jp>
9219
9220 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
9221 is nil.
9222
9223 2002-09-26 Richard M. Stallman <rms@gnu.org>
9224
9225 * regex.h (__restrict_arr): Don't define if already defined.
9226
9227 * coding.c (run_pre_post_conversion_on_str):
9228 Save and restore Vdeactivate_mark.
9229
9230 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
9231
9232 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
9233
9234 2002-09-26 Kenichi Handa <handa@etl.go.jp>
9235
9236 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
9237 nonzero, try face's family at first. Otherwise try FAMILY at first.
9238 (choose_face_font): If C is a single byte char or latin-1, call
9239 try_font_list with PREFER_FACE_FAMILY 1.
9240
9241 2002-09-21 Richard M. Stallman <rms@gnu.org>
9242
9243 * window.c (select_window_1): Don't select frame.
9244 Set frame's selected window only when frame itself is selected.
9245 (Fselect_window): Doc fix.
9246
9247 2002-09-18 Kim F. Storm <storm@cua.dk>
9248
9249 * process.c (make-network-process): Doc fix (there is no
9250 network-server-log-function hook).
9251
9252 2002-09-18 Richard M. Stallman <rms@gnu.org>
9253
9254 * print.c (print): Clear out the unused parts of Vprint_number_table.
9255 (syms_of_print): Doc fix for `print-number-table'.
9256
9257 * unexelf.c (unexec): Undo previous change.
9258
9259 2002-09-17 Andreas Schwab <schwab@suse.de>
9260
9261 * m/alpha.h [LINUX]: Don't define DATA_START.
9262
9263 2002-09-16 Dave Love <fx@gnu.org>
9264
9265 * unexelf.c (unexec): Deal with .got, reinstating change from
9266 25-08-1999.
9267
9268 2002-09-13 Richard M. Stallman <rms@gnu.org>
9269
9270 * s/sol2-6.h (UNEXEC): Comment out definition.
9271
9272 * unexsol.c (unexec): Don't downcase first letter of error msg.
9273
9274 * xfaces.c (Fcolor_supported_p): Just one arg is required.
9275
9276 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
9277
9278 * unexsol.c: Include buffer.h, charset.h, coding.h.
9279
9280 2002-09-11 Richard M. Stallman <rms@gnu.org>
9281
9282 * unexsol.c: Don't use report_file_error; do it by hand
9283 using dlerror.
9284
9285 * process.c (wait_reading_process_input, both versions):
9286 Before calling turn_on_atimers, call stop_polling.
9287
9288 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
9289
9290 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
9291 we go to too_near_end, call clear_glyph_matrix.
9292 (redisplay_window): After make_cursor_line_fully_visible,
9293 call clear_glyph_matrix and bypass `goto done'.
9294
9295 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
9296 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
9297
9298 2002-09-10 Richard M. Stallman <rms@gnu.org>
9299
9300 * fileio.c (Fdo_auto_save): Catch error making directory.
9301 Only call push_message if we need to.
9302 At the same time, make an unwind-protect to pop it.
9303 Rename local message_p to old_message_p.
9304 (do_auto_save_make_dir, do_auto_save_eh): New functions.
9305 (do_auto_save_unwind): Don't call pop_message.
9306
9307 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
9308
9309 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
9310
9311 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
9312
9313 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
9314
9315 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
9316
9317 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
9318 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
9319 (re_match_2_internal): Be more careful with infinite loops.
9320
9321 2002-09-10 Kim F. Storm <storm@cua.dk>
9322
9323 * macros.c (end_kbd_macro): New function.
9324 (Fend_kbd_macro): Use it.
9325
9326 * macros.h (end_kbd_macro): Declare extern.
9327
9328 * keyboard.c (Fdiscard_input): If defining keyboard macro,
9329 end and save it instead of discarding it.
9330
9331 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
9332
9333 * s/sol2-6.h: Fix typo. Add comment.
9334
9335 2002-09-09 Richard M. Stallman <rms@gnu.org>
9336
9337 * regex.c (regnum_t): Use signed int, not unsigned int.
9338
9339 * s/sol2-6.h: New file.
9340
9341 * s/sol2-5.h (UNEXEC): Definition deleted.
9342
9343 2002-09-08 Kim F. Storm <storm@cua.dk>
9344
9345 * macros.c (executing_macro_index): Change type to EMACS_INT.
9346 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
9347
9348 * macros.h (executing_macro_index): Change type to EMACS_INT.
9349
9350 2002-09-06 Richard M. Stallman <rms@gnu.org>
9351
9352 * casetab.c (set_case_table): Make canon table point to eqv table.
9353
9354 2002-09-06 Juanma Barranquero <lektu@terra.es>
9355
9356 * coding.c (syms_of_coding): Fix spacing.
9357
9358 * composite.c (Fcompose_region_internal)
9359 (Fcompose_string_internal): Likewise.
9360
9361 * data.c (Flsh): Likewise.
9362
9363 * fontset.c (Fset_fontset_font): Likewise.
9364
9365 * macfns.c (Fx_server_max_request_size): Likewise.
9366
9367 * w16select.c (syms_of_win16select): Likewise.
9368
9369 * w32select.c (syms_of_w32select): Likewise.
9370
9371 * xselect.c (syms_of_xselect): Likewise.
9372
9373 2002-09-05 Richard M. Stallman <rms@gnu.org>
9374
9375 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
9376 call EXTEND_RANGE_TABLE and return a proper value.
9377 (set_image_of_range): Don't call set_image_of_range_1
9378 if no TRANSLATE or if range includes all of Latin-1.
9379 Only call it for the Latin-1 part of the range.
9380 For other cases, make two separate ranges,
9381 one for the original specified characters and one for
9382 their case-conversions.
9383
9384 2002-09-04 Richard M. Stallman <rms@gnu.org>
9385
9386 * s/sol2-5.h (UNEXEC): Use unexsol.o.
9387
9388 * window.c (displayed_window_lines): Correct for one-off bug
9389 in HEIGHT on non-window displays.
9390
9391 * regex.c (set_image_of_range_1): New function.
9392 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
9393 Return a value to indicate running out of memory.
9394 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
9395 (extend_range_table_work_area): New subroutine.
9396 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
9397 Different calling conventions, and used from set_image_of_range{,_1}.
9398 (IMMEDIATE_QUIT_CHECK): Definitions moved.
9399
9400 2002-09-04 Juanma Barranquero <lektu@terra.es>
9401
9402 * makefile.w32-in: All dependencies updated.
9403
9404 2002-09-01 Richard M. Stallman <rms@gnu.org>
9405
9406 * unexsol.c: New file.
9407
9408 * xfns.c (Qbox): Declare external, don't define.
9409
9410 * xdisp.c (redisplay_window) <force-start case>:
9411 If point is on semi-visible last line, reposition
9412 it at previous line.
9413
9414 * alloc.c (display_malloc_warning): Use display-warning.
9415 (malloc_warning_1): Function deleted.
9416
9417 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
9418
9419 * lread.c (read1): Handle #! by skipping the line.
9420
9421 2002-08-31 Richard M. Stallman <rms@gnu.org>
9422
9423 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
9424 Don't include LDFLAGS.
9425 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
9426
9427 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
9428
9429 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
9430 member of x_display_info unless we compile for some window system.
9431
9432 2002-08-31 Kim F. Storm <storm@cua.dk>
9433
9434 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
9435 (get_window_cursor_type): Don't use them.
9436 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
9437
9438 2002-08-30 Kenichi Handa <handa@etl.go.jp>
9439
9440 * xdisp.c (get_next_display_element): Fix previous change.
9441
9442 2002-08-30 Andrew Choi <akochoi@shaw.ca>
9443
9444 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
9445 (expose_window): Use it to fix the display of overlapping
9446 rows (merge code from xterm.c).
9447
9448 * macfns.c (Qbox): Add extern declaration.
9449
9450 2002-08-30 Juanma Barranquero <lektu@terra.es>
9451
9452 * w32fns.c (Qbox): Make extern.
9453 (syms_of_w32fns): Remove initialization of Qbox.
9454
9455 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
9456
9457 * xfns.c (Fx_open_connection): Fix error message.
9458
9459 2002-08-30 Kim F. Storm <storm@cua.dk>
9460
9461 The following changes consolidates the handling of the cursor
9462 type in xdisp.c, moving duplicate code and functionality from
9463 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
9464
9465 * frame.h (enum text_cursor_kinds): Consolidated here.
9466 Added DEFAULT_CURSOR value.
9467 (struct frame) <desired_cursor, cursor_width>
9468 <blink_off_cursor, blink_off_cursor_width>: New fields.
9469 Consolidated from output_x, output_w32 and output_mac structs.
9470 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
9471 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
9472
9473 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
9474 Variables consolidated here.
9475 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
9476 (Vcursor_in_non_selected_windows): Renamed from
9477 cursor_in_non_selected_windows and changed to Lisp_Object.
9478 (syms_of_xdisp): Define and staticpro new and moved variables.
9479 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
9480 consolidated here. Recognize Qhollow setting.
9481 (set_frame_cursor_types): New function to set frame cursor types
9482 based on the frame parameters.
9483 (get_window_cursor_type): New function to calculate new cursor
9484 type and width for the specified window. Based on duplicated
9485 code consolidated here.
9486 Enhancements: cursor-in-non-selected-windows may be a cursor type,
9487 check buffer-local alternate-cursor-type and blink-cursor-alist
9488 before using built-in blink off methods.
9489
9490 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
9491
9492 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
9493 (get_specified_cursor_type, get_window_cursor_type)
9494 (set_frame_cursor_types): Added prototypes.
9495
9496 * macfns.c (x_specified_cursor_type): Removed.
9497 (x_set_cursor_type): Use set_frame_cursor_types.
9498 (Qbar, Qbox): Removed.
9499 (syms_of_macfns): Don't intern or staticpro them.
9500
9501 * macterm.c (x_specified_cursor_type): Remove prototype.
9502 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
9503 (x_display_and_set_cursor): Use get_window_cursor_type.
9504 Remove unused local variables cursor_non_selected, active_cursor.
9505 Redraw cursor if hbar cursor width changes.
9506 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
9507
9508 * macterm.h (enum text_cursor_kinds): Removed.
9509 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
9510 <blink_off_cursor, blink_off_cursor_width>: Members removed.
9511 (FRAME_DESIRED_CURSOR): Macro removed.
9512
9513 * w32fns.c (Vblink_cursor_alist): Removed.
9514 (Qbar, Qhbar, Qbox, Qhollow): Removed.
9515 (syms_of_w32fns): Don't intern, staticpro, or define them.
9516 (x_specified_cursor_type): Removed.
9517 (x_set_cursor_type): Use set_frame_cursor_types.
9518
9519 * w32term.c (x_specified_cursor_type): Remove prototype.
9520 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
9521 (x_display_and_set_cursor): Use get_window_cursor_type.
9522 Remove unused local variables cursor_off_state.
9523 Redraw cursor if hbar cursor width changes.
9524 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
9525
9526 * w32term.h (enum text_cursor_kinds): Removed.
9527 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
9528 <blink_off_cursor, blink_off_cursor_width>: Members removed.
9529 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
9530 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
9531 (struct w32_display_info) <x_highlight_frame>: Renamed member from
9532 w32_highlight_frame.
9533
9534 * xfns.c (Vblink_cursor_alist): Removed.
9535 (Qbar, Qhbar, Qbox, Qhollow): Removed.
9536 (syms_of_xfns): Don't intern, staticpro, or define them.
9537 (x_specified_cursor_type): Removed.
9538 (x_set_cursor_type): Use set_frame_cursor_types.
9539
9540 * xterm.c (x_specified_cursor_type): Remove prototype.
9541 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
9542 (x_display_and_set_cursor): Use get_window_cursor_type.
9543 Remove unused local variables cursor_off_state.
9544 Redraw cursor if hbar cursor width changes.
9545
9546 * xterm.h (enum text_cursor_kinds): Removed.
9547 (struct output_x) <current_cursor, desired_cursor, cursor_width>
9548 <blink_off_cursor, blink_off_cursor_width>: Members removed.
9549 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
9550 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
9551 (x_specified_cursor_type): Remove prototype.
9552
9553 2002-08-28 Richard M. Stallman <rms@gnu.org>
9554
9555 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
9556 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
9557 (Vblink_cursor_alist): New variable.
9558 (syms_of_w32fns): Initialize and defvar it.
9559 (x_specified_cursor_type): Recognize Qbox for filled box.
9560 Exceptions are hollow boxes.
9561 (Qbox, Qhollow): New variables.
9562 (syms_of_w32fns): Initialize and staticpro them.
9563
9564 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
9565 New macros.
9566 (struct w32_output): New fields blink_off_cursor,
9567 blink_off_cursor_width.
9568 (FRAME_CURSOR_WIDTH): New macro.
9569
9570 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
9571 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
9572
9573 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
9574 for bar cursor.
9575
9576 * w32term.c (expose_overlaps): New function.
9577 (expose_window): Use it to fix the display of overlapping rows.
9578
9579 2002-08-28 Simon Josefsson <jas@extundo.com>
9580
9581 * xfns.c (Fx_open_connection): Improve help when X connection
9582 fails, xhost is insecure and xauth is better.
9583
9584 2002-08-28 Juanma Barranquero <lektu@terra.es>
9585
9586 * makefile.w32-in: Add missing dependencies on w32term.h and
9587 composite.h.
9588
9589 * emacs.c (USAGE1): Add missing newline.
9590
9591 2002-08-27 Andrew Choi <akochoi@shaw.ca>
9592
9593 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
9594
9595 2002-08-27 Richard M. Stallman <rms@gnu.org>
9596
9597 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
9598 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
9599 (Vblink_cursor_alist): New variable.
9600 (syms_of_xfns): Initialize and defvar it.
9601 (x_specified_cursor_type): Recognize Qbox for filled box.
9602 Exceptions are hollow boxes.
9603 (Qbox, Qhollow): New variables.
9604 (syms_of_xfns): Initialize and staticpro them.
9605
9606 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
9607 New macros.
9608 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
9609
9610 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
9611 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
9612
9613 * emacs.c (main): Handle --script.
9614 (USAGE1): Mention --script.
9615 (standard_args): Define sort order for --script.
9616
9617 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
9618
9619 * xdisp.c (redisplay_updating_p): Variable removed.
9620 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
9621 New variables.
9622 (init_iterator): Don't free realized faces if
9623 inhibit_free_realized_faces is set.
9624 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
9625 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
9626 initialize Qinhibit_free_realized_faces.
9627
9628 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
9629 when iterator is adding glyphs to a glyph matrix.
9630
9631 2002-08-27 Kenichi Handa <handa@etl.go.jp>
9632
9633 * xdisp.c (get_next_display_element): In unibyte case, don't use
9634 octal form for such eight-bit characters that can be converted to
9635 multibyte char.
9636
9637 2002-08-26 Kim F. Storm <storm@cua.dk>
9638
9639 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize foreground
9640 and background colors. From Joe Buehler (tiny change).
9641
9642 2002-08-26 Miles Bader <miles@gnu.org>
9643
9644 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
9645
9646 2002-08-25 Andrew Choi <akochoi@shaw.ca>
9647
9648 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
9649 defined instead of MAC_OSX.
9650
9651 * s/darwin.h (select): Define select to sys_select only if
9652 HAVE_CARBON is defined.
9653 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
9654 (DONT_REOPEN_PTY): #def it.
9655
9656 * macterm.c (XTread_socket): Remove code to call
9657 SendEventToEventTarget for keys with command modifiers when
9658 mac_command_key_is_meta is nil.
9659
9660 2002-08-24 Andreas Schwab <schwab@suse.de>
9661
9662 * eval.c (Fdefvar): Fix last change.
9663
9664 2002-08-23 Richard M. Stallman <rms@gnu.org>
9665
9666 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
9667 Record variables in load history as (defvar . VAR).
9668 (Fdefvar): Don't record in load history if no initial value.
9669 (Qdefvar): New variable.
9670 (syms_of_eval): Init and staticpro it.
9671
9672 * lread.c (syms_of_lread): Doc fix.
9673 (build_load_history): Use Fmember to see if a definition
9674 is already in the Vload_history element.
9675
9676 * process.c (Fstart_process): Remove /: from program name.
9677
9678 * emacs.c (decode_env_path): Don't add /: if file name handler
9679 has a `safe-magic' property.
9680
9681 * callproc.c (Fcall_process): Remove /: from program name.
9682
9683 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
9684
9685 * regex.c (PATFETCH): Remove the translating fetch.
9686 (PATFETCH_RAW): Rename to PATFETCH.
9687 (set_image_of_range): New fun.
9688 (SET_RANGE_TABLE_WORK_AREA): Use it.
9689 (regex_compile): Don't translate the pattern chars so eagerly.
9690 Only do it when inserting an `exactn' bytecode or when handling
9691 a char-range.
9692 (mutually_exclusive_p): Avoid empty statement.
9693
9694 2002-08-22 Kim F. Storm <storm@cua.dk>
9695
9696 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
9697 end up on a partially visible line; this reverts a specific part
9698 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
9699 display error which has been reported several times now.
9700 However it introduces the problem that changes was supposed to fix.
9701 See my comments in the source if you want to debug this further.
9702
9703 2002-08-20 Kenichi Handa <handa@etl.go.jp>
9704
9705 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
9706
9707 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
9708
9709 * msdos.c (croak): Add `void' to definition.
9710
9711 * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]:
9712 Don't define them, they are defined in msdos.c.
9713
9714 * mem-limits.h [MSDOS]: Declare etext.
9715
9716 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
9717 `const' since CORRECT_DIR_SEPS modifies its target.
9718
9719 2002-08-19 Kim F. Storm <storm@cua.dk>
9720
9721 * keyboard.c (Fclear_this_command_keys): Add optional arg
9722 KEEP-RECORD to avoid clearing lossage when we just want to clear
9723 the current key sequence (kmacro needs this).
9724
9725 2002-08-19 Kenichi Handa <handa@localhost>
9726
9727 * composite.c (run_composition_function): Call FUNC if it is fboundp.
9728
9729 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
9730 cons, return Qnil.
9731
9732 2002-08-17 Richard M. Stallman <rms@gnu.org>
9733
9734 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
9735
9736 * sysdep.c [!VMS]: Include sys/files.h.
9737
9738 * editfns.c (save_restriction_restore): Defend from unchained marker.
9739
9740 * buffer.c (overlays_at): Handle extending vec uniformly.
9741 (overlays_in): Handle extending vec from length 0 as in overlays_at.
9742
9743 2002-08-15 Andrew Choi <akochoi@shaw.ca>
9744
9745 * mac.c (init_mac_osx_environment): New function.
9746
9747 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
9748
9749 2002-08-14 Kim F. Storm <storm@cua.dk>
9750
9751 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
9752 executing macro before appending to it (when used from Lisp).
9753 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
9754 which is called prior to each iteration of macro (for kmacro.el).
9755 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
9756
9757 * lisp.h (Fexecute_kbd_macro): Update prototype.
9758
9759 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
9760
9761 2002-08-14 Kenichi Handa <handa@etl.go.jp>
9762
9763 * xselect.c (QUTF8_STRING): New variable.
9764 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
9765 (x_atom_to_symbol): Likewise.
9766 (x_get_local_selection): New argument local_request. If it is
9767 nonzero, call handler_fn with the second arg nil.
9768 (x_handle_selection_request): Call x_get_local_selection with
9769 local_request 0.
9770 (lisp_data_to_selection_data): Don't encode the string here.
9771 (Fx_get_selection_internal): Call x_get_local_selection with
9772 local_request 1.
9773 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
9774
9775 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
9776
9777 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
9778
9779 2002-08-13 Richard M. Stallman <rms@gnu.org>
9780
9781 * minibuf.c (Fminibufferp): New function.
9782 (syms_of_minibuf): Defsubr it.
9783 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
9784
9785 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
9786
9787 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
9788
9789 2002-08-12 Richard M. Stallman <rms@gnu.org>
9790
9791 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
9792 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
9793 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
9794 already.
9795
9796 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
9797
9798 2002-08-11 Andrew Choi <akochoi@shaw.ca>
9799
9800 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
9801 (Vmac_pass_command_to_system): New variable.
9802 (Vmac_pass_control_to_system): New variable.
9803 (do_mouse_moved): Check wp with is_emacs_window.
9804 (XTread_socket): Check window_ptr with is_emacs_window.
9805 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
9806 events back to Mac Toolbox for processing, depending on values of
9807 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
9808 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
9809 Vmac_pass_control_to_system.
9810
9811 2002-08-10 Kenichi Handa <handa@etl.go.jp>
9812
9813 * coding.c (unencodable_char_position): New function.
9814 (Funencodable_char_position): New function.
9815 (syms_of_coding): Defsubr Funencodable_char_position.
9816
9817 2002-08-10 Andrew Choi <akochoi@shaw.ca>
9818
9819 * mac.c (sys_select) [MAC_OSX]: New function.
9820
9821 * macterm.c (MakeMeTheFrontProcess): New function.
9822 (mac_initialize): Call MakeMeTheFrontProcess.
9823
9824 * s/darwin.h: Define select to sys_select.
9825
9826 2002-08-09 Richard M. Stallman <rms@gnu.org>
9827
9828 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
9829
9830 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
9831
9832 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
9833 end of the buffer.
9834
9835 2002-08-08 Ken Raeburn <raeburn@mit.edu>
9836
9837 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
9838
9839 * puresize.h (BASE_PURESIZE): Increase to 910000.
9840
9841 2002-08-08 Kenichi Handa <handa@etl.go.jp>
9842
9843 * coding.c (Ffind_operation_coding_system): For write-region, if
9844 VISIT is a filename, make it the target.
9845
9846 2002-08-07 Richard M. Stallman <rms@gnu.org>
9847
9848 * alloc.c (mark_object): Detect long lists for debugging.
9849 (mark_object_loop_halt): New variable.
9850
9851 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
9852
9853 * data.c (Fmake_variable_frame_local): Doc fix.
9854
9855 2002-08-01 David Ponce <david@dponce.com>
9856
9857 * w32menu.c (local_heap, local_alloc, local_free): New macros.
9858 (malloc_widget_value, free_widget_value)
9859 (w32_free_submenu_strings): Use them.
9860
9861 (push_submenu_start, push_submenu_end, push_left_right_boundary)
9862 (push_menu_pane, push_menu_item, single_keymap_panes)
9863 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
9864 (single_submenu, set_frame_menubar)
9865 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
9866
9867 (Fx_popup_menu): Don't show pop up menu until preceding one is
9868 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
9869
9870 * w32menu.c: Changes adapted from xmenu.c
9871 (set_frame_menubar): First parse all submenus,
9872 then make widget_value trees from them.
9873 Don't allocate any widget_value objects
9874 until we are done with the parsing.
9875 (parse_single_submenu): New function.
9876 (digest_single_submenu): New function.
9877 (single_submenu): Function deleted, replaced by those two.
9878
9879 2002-08-04 Andrew Choi <akochoi@shaw.ca>
9880
9881 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
9882 returns a valid window pointer before proceeding for keyDown and
9883 autoKey events.
9884
9885 2002-08-03 Andrew Choi <akochoi@shaw.ca>
9886
9887 * macterm.c (USE_CARBON_EVENTS): New macro.
9888 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
9889 (x_iconify_frame): Call CollapseWindow.
9890 (Vmac_reverse_ctrl_meta): New variable.
9891 (Vmac_wheel_button_is_mouse_2): New variable.
9892 (init_mac_drag_n_drop): New function.
9893 (mac_do_receive_drag): New function.
9894 (mac_handle_service_event): New function.
9895 (init_service_handler): New function.
9896 (mac_to_emacs_modifiers): New function.
9897 (mac_event_to_emacs_modifiers): New function.
9898 (mac_get_mouse_btn): New function.
9899 (mac_convert_event_ref): New function.
9900 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
9901 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
9902 mac_get_mouse_btn.
9903 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
9904
9905 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
9906 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
9907 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
9908 TOOL_BAR_EVENT for MAC_OS as well.
9909 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
9910 as for WINDOWS_NT.
9911 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
9912
9913 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
9914
9915 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
9916
9917 * xdisp.c (forward_to_next_line_start): Fix a condition that
9918 lead to a newline being skipped.
9919
9920 2002-08-02 Andrew Choi <akochoi@shaw.ca>
9921
9922 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
9923
9924 2002-08-01 Richard M. Stallman <rms@gnu.org>
9925
9926 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
9927
9928 2002-07-31 Andrew Choi <akochoi@shaw.ca>
9929
9930 * macfns.c: #undef init_process before #define-ing it.
9931
9932 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
9933 HAVE_CARBON is defined.
9934
9935 2002-07-31 Richard M. Stallman <rms@gnu.org>
9936
9937 * xmenu.c (set_frame_menubar): First parse all submenus,
9938 then make widget_value trees from them.
9939 Don't allocate any widget_value objects
9940 until we are done with the parsing.
9941 (parse_single_submenu): New function.
9942 (digest_single_submenu): New function.
9943 (single_submenu): Function deleted, replaced by those two.
9944
9945 2002-07-30 Juanma Barranquero <lektu@terra.es>
9946
9947 * w32proc.c (syms_of_ntproc): Fix docstring of
9948 `w32-get-true-file-attributes'.
9949
9950 2002-07-28 Richard M. Stallman <rms@gnu.org>
9951
9952 * s/hpux8.h (HPUX8): Define this before including hpux.h.
9953 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
9954
9955 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
9956
9957 * keyboard.c (make_lispy_event):
9958 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
9959 Explicitly clear up_modifier in event->modifiers.
9960
9961 2002-07-27 Richard M. Stallman <rms@gnu.org>
9962
9963 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
9964
9965 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
9966 for bar cursor.
9967
9968 2002-07-26 Kenichi Handa <handa@etl.go.jp>
9969
9970 * coding.c (detect_coding_iso2022): While checking a byte sequence
9971 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
9972 it in the normal loop.
9973
9974 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
9975
9976 * xterm.c (expose_overlaps): New function.
9977 (expose_window): Use it to fix the display of overlapping rows.
9978
9979 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
9980
9981 2002-07-23 Ken Raeburn <raeburn@gnu.org>
9982
9983 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
9984 since it only depends on XUINT.
9985
9986 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
9987 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
9988 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
9989 Macros deleted.
9990
9991 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
9992 its value over other approaches.
9993 * sysdep.c (start_of_data): Don't define the function if a macro
9994 form has been defined.
9995
9996 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
9997
9998 * xdisp.c (redisplay_updating_p): New variable.
9999 (init_iterator): Don't free realized faces when
10000 redisplay_updating_p is set.
10001 (redisplay_internal): Set redisplay_updating_p while updating
10002 the display.
10003
10004 2002-07-23 Richard M. Stallman <rms@gnu.org>
10005
10006 * editfns.c (Fmessage): Treat "" like nil.
10007
10008 2002-07-23 Kenichi Handa <handa@etl.go.jp>
10009
10010 * xdisp.c (face_before_or_after_it_pos):
10011 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
10012
10013 2002-07-22 Juanma Barranquero <lektu@terra.es>
10014
10015 * callproc.c (init_callproc) [DOS_NT]:
10016 Initialize Vshared_game_score_directory to nil.
10017 (syms_of_callproc) [DOS_NT]: Likewise.
10018
10019 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
10020
10021 * xdisp.c (display_line): Replace an abort with xassert.
10022
10023 2002-07-21 Richard M. Stallman <rms@gnu.org>
10024
10025 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
10026 and END_UNCHANGED when setting buffer_unchanged_p.
10027 Use current_matrix_up_to_date_p to decide whether to use
10028 try_cursor_movement.
10029
10030 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
10031
10032 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
10033
10034 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
10035 Set to nil if dir does not exist.
10036 (syms_of_callproc): Init unconditionally and simply.
10037
10038 * buffer.c (Fbuffer_list): Doc fix.
10039
10040 2002-07-21 Ken Raeburn <raeburn@gnu.org>
10041
10042 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
10043
10044 * buffer.c (mmap_realloc): When shrinking, make sure number of
10045 pages to unmap is rounded towards zero.
10046
10047 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
10048 (XSETINT): Deleted.
10049
10050 * m/att3b.h (XINT): Don't define.
10051 (VALBITS, VALMASK, XTYPE): Deleted.
10052 (DATA_SEG_BITS): Define.
10053 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
10054 ARRAY_MARK_FLAG): Deleted.
10055 (DATA_SEG_BITS): Define.
10056 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
10057 (DATA_SEG_BITS): Define.
10058
10059 2002-07-20 Richard M. Stallman <rms@gnu.org>
10060
10061 * print.c (print_error_message): New args CONTEXT and CALLER.
10062 Calls changed.
10063
10064 * lisp.h (print_error_message): Declare new args.
10065
10066 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
10067 and CONTEXT to print_error_message, don't print them here.
10068 For a Quit, don't use Vsignaling_function.
10069 Call message_log_maybe_newline.
10070
10071 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
10072
10073 2002-07-20 Kim F. Storm <storm@cua.dk>
10074
10075 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
10076
10077 2002-07-19 Ken Raeburn <raeburn@gnu.org>
10078
10079 * bytecode.c (struct byte_stack): Pointers into byte string now
10080 point to const.
10081 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
10082 const.
10083 * charset.h (BCOPY_SHORT): Source pointer now points to const.
10084 * coding.c (encode_eol, detect_coding, detect_eol):
10085 (decode_coding, encode_coding, detect_coding_system):
10086 Source strings now treated as const.
10087 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
10088 modify Lisp string contents.
10089 * coding.h (decode_coding, encode_coding, detect_coding,
10090 detect_eol): Declarations updated.
10091 * composite.c (compose_chars_in_text): Treat Lisp string contents
10092 as const.
10093 * dispnew.c (safe_bcopy): Source pointer now points to const.
10094 * lisp.h (STRING_COPYIN): New macro.
10095 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
10096 (internal_with_output_to_temp_buffer): Declarations updated.
10097 * print.c (temp_output_buffer_setup):
10098 (internal_with_output_to_temp_buffer): Buffer name argument is now
10099 pointer to const.
10100 * sound.c (struct sound_device): Function pointer field "write"
10101 buffer argument now points to const.
10102 (vox_write): Buffer argument points to const.
10103 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
10104 contents as const.
10105 * sysdep.c (emacs_write): Buffer pointer now const.
10106 * term.c (encode_terminal_code): Buffer pointer now const.
10107 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
10108 (x_face_list_fonts, x_update_menu_appearance):
10109 (hash_string_case_insensitive): Treat Lisp string contents as const.
10110
10111 2002-07-19 Juanma Barranquero <lektu@terra.es>
10112
10113 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
10114
10115 * fileio.c (syms_of_fileio): Likewise.
10116 (Ffile_name_as_directory): Fix argument name in docstring.
10117 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
10118
10119 2002-07-18 Richard M. Stallman <rms@gnu.org>
10120
10121 * data.c (Fdefalias): Doc fix.
10122
10123 2002-07-17 Dave Love <fx@gnu.org>
10124
10125 * intervals.h (text_property_stickiness): Use P_.
10126
10127 * ccl.c: Remove `emacs' conditionals.
10128 (ccl_backtrace_table): Fix size spec.
10129 (ccl_driver): Fix type errors.
10130
10131 2002-07-16 Ken Raeburn <raeburn@gnu.org>
10132
10133 * alloc.c (xstrdup, make_string, make_unibyte_string)
10134 (make_multibyte_string, build_string): String pointer args now
10135 point to const.
10136 * charset.c (find_charset_in_text, c_string_width):
10137 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
10138 * fileio.c (report_file_error):
10139 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
10140 (count_combining_before, count_combining_after, insert_1_both):
10141 (insert, insert_and_inherit, insert_string):
10142 (insert_before_markers, insert_before_markers_and_inherit):
10143 * lread.c (intern, oblookup, hash_string):
10144 * minibuf.c (temp_echo_area_glyphs):
10145 * search.c (fast_c_string_match_ignore_case):
10146 * sysdep.c (emacs_open, set_file_times):
10147 * xfaces.c (xstricmp):
10148 * xdisp.c (store_frame_title, string_char_and_length):
10149 (message_dolog, message2, message2_nolog, set_message): Likewise.
10150 (set_message_1): Cast message string argument to const pointer.
10151 * editfns.c (general_insert_function): Insertion function now
10152 takes pointer to const for input data.
10153 * charset.h (find_charset_in_text, c_string_width):
10154 (parse_str_as_multibyte): Declarations updated.
10155 * dispextern.h (xstricmp): Declaration updated.
10156 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
10157 (count_size_as_multibyte, count_combining_before):
10158 (count_combining_after, insert_1, insert_1_both, message_dolog):
10159 (insert, insert_and_inherit, insert_before_markers)
10160 (insert_before_markers_and_inherit, set_message, message2):
10161 (message2_dolog, build_string, make_string, make_unibyte_string):
10162 (make_multibyte_string, intern, oblookup, report_file_error):
10163 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
10164 (emacs_open, xstrdup): Declarations updated.
10165 * systime.h (set_file_times): Declaration updated.
10166
10167 * charset.c (find_charset_in_text, lisp_string_width): Use const
10168 for pointer to lisp string data.
10169 * charset.h (FETCH_STRING_CHAR_ADVANCE):
10170 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
10171 * coding.c (Ffind_coding_systems_region_interval):
10172 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
10173 (Fmake_directory_internal, Fdelete_directory):
10174 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
10175 * fontset.c (font_family_registry, fs_query_fontset):
10176 (list_fontsets):
10177 * frame.c (Fframe_parameter):
10178 * keyboard.c (cmd_error_internal):
10179 * keymap.c (Fdescribe_buffer_bindings):
10180 * lread.c (complete_filename_p, openp):
10181 * minibuf.c (Fminibuffer_complete_word):
10182 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
10183 (face_before_or_after_it_pos, next_element_from_string):
10184 (get_overlay_arrow_glyph_row, display_mode_element):
10185 (decode_mode_spec_coding):
10186 * xterm.c (same_x_server): Likewise.
10187
10188 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
10189 settings of non-existent fields.
10190
10191 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
10192 copy a lisp value.
10193
10194 * lread.c (Fintern_soft): Use string macros instead of
10195 Lisp_String fields.
10196 * keyboard.c (echo_char, parse_modifiers_uncached):
10197 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
10198 * textprop.c (validate_interval_range, interval_of): Likewise.
10199
10200 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
10201
10202 * charset.h (FETCH_STRING_CHAR_ADVANCE)
10203 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
10204 XSTRING()->size_byte.
10205
10206 * lisp.h (SDATA, SREF): Produce rvalue.
10207 (SSET): New macro.
10208 * alloc.c (make_event_array): Use SSET for storing into a string.
10209 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
10210 a string.
10211 * casefiddle.c (casify_object): Use SSET.
10212 * charset.h (FETCH_STRING_CHAR_ADVANCE)
10213 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
10214 address of string contents.
10215 * data.c (Faref): Use SDATA.
10216 (Faset): Use SDATA, SSET.
10217 * dired.c (directory_files_internal): Use SSET.
10218 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
10219 (Fread_file_name): Use SREF, SSET.
10220 * fns.c (concat): Use SSET.
10221 (concat, Fdelete): Use SDATA.
10222 * insdel.c (insert_from_string_1): Use SDATA.
10223 * keyboard.c (Fevent_convert_list): Use SREF.
10224 * lread.c (Fload): Use SDATA, SSET.
10225 * macfns.c (validate_x_resource_name): Use SSET.
10226 * process.c (status_message): Use SSET.
10227 * search.c (wordify): Use SDATA.
10228 (Freplace_match): Use SREF.
10229 * w32fns.c (validate_x_resource_name): Use SSET.
10230 * xfns.c (validate_x_resource_name): Use SSET.
10231 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
10232
10233 2002-07-16 Richard M. Stallman <rms@gnu.org>
10234
10235 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
10236
10237 * xdisp.c (reconsider_clip_changes):
10238 Don't test prevent_redisplay_optimizations_p.
10239 (redisplay_internal): Test prevent_redisplay_optimizations_p
10240 along with clip_changed in some cases.
10241 (try_window_id): Likewise.
10242 (redisplay_window): New local var buffer_unchanged_p.
10243
10244 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
10245
10246 * process.c (create_process): Test USG_SUBTTY_WORKS.
10247 (process_send_signal): Clean up handling of GID.
10248 Detect errors in ioctls meant to set GID.
10249
10250 * window.c (temp_output_buffer_show):
10251 Don't set prevent_redisplay_optimizations_p.
10252
10253 2002-07-15 Juanma Barranquero <lektu@terra.es>
10254
10255 * eval.c (Fdefvaralias): Add docstring argument.
10256
10257 2002-07-15 Ken Raeburn <raeburn@gnu.org>
10258
10259 * lisp.h (STRING_INTERVALS): Produce rvalue.
10260 (STRING_SET_INTERVALS): New macro.
10261 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
10262 * fns.c (Fstring_as_multibyte): Likewise.
10263 * intervals.c (balance_possible_root_interval, delete_interval)
10264 (create_root_interval, copy_intervals_to_string): Likewise.
10265 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
10266 instead of 0.
10267
10268 2002-07-14 Ken Raeburn <raeburn@gnu.org>
10269
10270 * lisp.h (STRING_SET_CHARS): New macro.
10271 (SCHARS, SBYTES): Produce rvalues.
10272 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
10273 * fns.c (concat): Likewise.
10274 * lread.c (read_vector): Likewise.
10275
10276 * lisp.h (SMBP): Deleted. All uses changed to STRING_MULTIBYTE.
10277 (STRING_SET_UNIBYTE): New macro.
10278 (SET_STRING_BYTES): Deleted. Callers (all of which supplied a
10279 length of -1) changed to use STRING_SET_UNIBYTE.
10280 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
10281 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
10282 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
10283 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
10284 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
10285 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
10286 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
10287 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
10288 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
10289 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
10290 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
10291 STRING_BYTES or indirection changed to SCHARS, SBYTES,
10292 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
10293 unchanged for now.
10294
10295 2002-07-13 Kim F. Storm <storm@cua.dk>
10296
10297 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
10298
10299 2002-07-12 Richard M. Stallman <rms@gnu.org>
10300
10301 * fileio.c (Fwrite_region): Doc fix.
10302
10303 * print.c (print_error_message): Don't handle Vsignaling_function here.
10304
10305 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
10306 (command_loop_1): Avoid certain actions after memory-full error.
10307
10308 * eval.c (Fsignal): Don't call cancel_hourglass.
10309 For a memory-full error, don't call Vsignal_hook_function
10310 and don't set Vsignaling_function.
10311
10312 * process.c (process_send_signal): Add abort call.
10313
10314 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
10315
10316 * keymap.c (Fkey_binding): Fix typo.
10317
10318 2002-07-11 Richard M. Stallman <rms@gnu.org>
10319
10320 * alloc.c (Vmemory_full): New variable.
10321 (Vmemory_signal_data): Renamed from memory_signal_data.
10322 Uses changed.
10323 (syms_of_alloc): Defvar them.
10324 (memory_full, buffer_memory_full): Set Vmemory_full.
10325
10326 * lisp.h (Vmemory_full): Add declaration.
10327 (current_column, indented_beyond_p): Change declaration.
10328
10329 * indent.c (last_known_column): Declare as double, not float.
10330 (current_column, current_column_1, string_display_width)
10331 (position_indentation): Return `double'.
10332 (indented_beyond_p): Arg `column' is `double'. Callers changed.
10333
10334 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
10335 (back_to_previous_visible_line_start)
10336 (reseat_at_next_visible_line_start, next_element_from_buffer):
10337 Use `double', not `float', when calling indented_beyond_p.
10338
10339 * s/hpux11.h (BROKEN_SA_RESTART): Defined.
10340
10341 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
10342
10343 2002-07-11 Juanma Barranquero <lektu@terra.es>
10344
10345 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
10346 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
10347 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
10348 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
10349 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
10350 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
10351
10352 2002-07-10 Juanma Barranquero <lektu@terra.es>
10353
10354 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
10355 All callers changed.
10356
10357 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
10358
10359 * data.c (Fdefalias): Add an optional `docstring' argument.
10360 (set_internal, Fsetq_default): Use XCAR/XCDR.
10361
10362 * composite.c (HASH_VALUE, HASH_KEY):
10363 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
10364
10365 2002-07-09 Kenichi Handa <handa@etl.go.jp>
10366
10367 * callproc.c (Fcall_process): Fix previous change.
10368
10369 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
10370
10371 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
10372 Add support for hash-tables.
10373 (Ftry_completion): Return t even if the string appears multiple times.
10374
10375 * fns.c (Fnconc): Use XCDR.
10376 (Fprovide): Use CONSP and XCDR.
10377 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
10378 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
10379 (Fmake_hash_table): Accept `:size nil'.
10380 (Fmakehash): Delete: moved to subr.el.
10381 (syms_of_fns): Don't defsubr makehash.
10382
10383 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
10384 (HASH_TABLE_SIZE): Move from fns.c.
10385
10386 2002-07-07 Richard M. Stallman <rms@gnu.org>
10387
10388 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
10389 Instead just return 0 when there is something to be done.
10390 (try_scrolling): If make_cursor_line_fully_visible returns 0,
10391 retry scrolling as if cursor were off the bottom.
10392 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
10393 return CURSOR_MOVEMENT_MUST_SCROLL.
10394 (redisplay_window): If make_cursor_line_fully_visible returns 0,
10395 go to try_to_scroll.
10396
10397 * buffer.c (Fbuffer_local_value): Store current value into its binding
10398 so we get the up-to-date value for the binding that is loaded.
10399
10400 * eval.c (Fdefmacro): Doc fix.
10401
10402 2002-07-05 Dave Love <fx@gnu.org>
10403
10404 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
10405 correctly.
10406
10407 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
10408 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
10409 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
10410 CCL_LookupCharConstTbl.
10411 (syms_of_ccl): Defvar translation-hash-table-vector.
10412
10413 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10414
10415 * xdisp.c: Remove unused variable `face'.
10416
10417 2002-07-04 Juanma Barranquero <lektu@terra.es>
10418
10419 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
10420 obsolescence information.
10421
10422 2002-07-03 Andrew Choi <akochoi@shaw.ca>
10423
10424 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
10425 pattern. Search cache first.
10426 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
10427 for Japanese font.
10428 (XLoadQueryFont): Use it.
10429
10430 2002-07-02 Richard M. Stallman <rms@gnu.org>
10431
10432 * keymap.c (Fdefine_key): Doc fix.
10433
10434 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
10435
10436 2002-07-02 Juanma Barranquero <lektu@terra.es>
10437
10438 * keymap.c (syms_of_keymap): Fix typo.
10439
10440 2002-07-01 Andrew Choi <akochoi@shaw.ca>
10441
10442 * s/darwin.h: Define POSIX_SIGNALS.
10443
10444 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
10445 and FSRefMakePath to convert FSSpec returned with Apple Event to
10446 Posix pathname.
10447 (mac_initialize) [TARGET_API_MAC_CARBON]:
10448 Call init_required_apple_events and disable the `Quit' menu item
10449 provided automatically by the Carbon Toolbox.
10450
10451 2002-07-01 Dave Love <fx@gnu.org>
10452
10453 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
10454 for K&R.
10455
10456 * xterm.c: Fix prototype for K&R.
10457
10458 * term.c (costs_set): Declare static, non-initialized for pcc.
10459
10460 2002-07-01 Richard M. Stallman <rms@gnu.org>
10461
10462 * keyboard.c (timer_last_idleness_start_time): New variable.
10463 (timer_start_idle): Set that.
10464 (read_key_sequence): Use that to reset timer_idleness_start_time
10465 to previous value.
10466
10467 * window.c (Frecenter): With arg, set optional_new_start.
10468
10469 * xdisp.c (redisplay_internal): Make optional_new_start really work.
10470
10471 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
10472 buffer for completion.
10473
10474 2002-06-29 Ken Raeburn <raeburn@gnu.org>
10475
10476 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
10477
10478 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10479
10480 * keyboard.c (readable_filtered_events): New function that filters
10481 FOCUS_IN_EVENT depending on parameter.
10482 (readable_events): Calls readable_filtered_events, not filtering
10483 FOCUS_IN_EVENT.
10484 (get_filtered_input_pending): New function, filtering parameter passed
10485 to readable_filtered_events.
10486 (get_input_pending): Calls get_filtered_input_pending, not filtering
10487 FOCUS_IN_EVENT.
10488 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
10489 FOCUS_IN_EVENT.
10490
10491 * xterm.h (struct x_output): Add focus_state.
10492
10493 * xterm.c (x_focus_changed): New function.
10494 (x_detect_focus_change): New function.
10495 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
10496 EnterNotify and LeaveNotify to track X focus changes.
10497
10498 2002-06-28 Andreas Schwab <schwab@suse.de>
10499
10500 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
10501
10502 2002-06-27 Kim F. Storm <storm@cua.dk>
10503
10504 * xdisp.c: (mode_line_string_list, mode_line_string_face)
10505 (mode_line_string_face_prop): New variables.
10506 (store_mode_line_string): New function.
10507 (display_mode_element): Use store_mode_line_string to
10508 add mode-line string elements to mode_line_string_list
10509 when mode_line_string_list is non-nil.
10510 (Fformat_mode_line): Now returns propertized string by
10511 default. New arg NO-PROPS to ignore properties.
10512 (decode_mode_spec): Only add two dashes for %- in propertized
10513 mode-line string.
10514 (syms_of_xdisp): Init and staticpro mode_line_string_list.
10515
10516 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
10517
10518 * minibuf.c (minibuffer_completion_contents): Add return type.
10519
10520 2002-06-27 Juanma Barranquero <lektu@terra.es>
10521
10522 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
10523
10524 2002-06-26 Juanma Barranquero <lektu@terra.es>
10525
10526 * fileio.c (read_file_name_cleanup): Add missing return.
10527
10528 2002-06-26 Richard M. Stallman <rms@gnu.org>
10529
10530 * window.c (Frecenter): Don't set force_start flag.
10531
10532 * minibuf.c (do_completion, Fminibuffer_complete_word)
10533 (Fminibuffer_completion_help): Complete just the text before point.
10534 (minibuffer_completion_contents): New function.
10535
10536 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
10537
10538 * frame.c (frames_bury_buffer): Function deleted.
10539
10540 2002-06-25 Miles Bader <miles@gnu.org>
10541
10542 * callint.c (Fcall_interactively): When checking to see if doprnt hit
10543 the end of callint_message, allow for a terminating '\0'.
10544
10545 2002-06-24 Juanma Barranquero <lektu@terra.es>
10546
10547 * w32select.c: Include composite.h
10548
10549 * w16select.c: Likewise.
10550
10551 2002-06-24 Kenichi Handa <handa@etl.go.jp>
10552
10553 * callproc.c (Fcall_process): If code detection is necessary,
10554 call detect_coding directly here.
10555
10556 * coding.c (detect_eol): Preserve coding->cmp_data.
10557
10558 * w16select.c (Fw16_get_clipboard_data):
10559 * w32fns.c (w32_to_x_font):
10560 * w32select.c (Fw32_get_clipboard_data):
10561 * xselect.c (selection_data_to_lisp_data):
10562 * xterm.c (XTread_socket): Disable composition handling.
10563
10564 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
10565
10566 * print.c (temp_output_buffer_setup): Kill all local variables.
10567
10568 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
10569
10570 * lread.c (Fread): Remove redundant and imprecise declaration.
10571
10572 * xfns.c (check_x_display_info): Use check_x_frame.
10573
10574 * .gdbinit (xprintsym): Use the new `xname' field.
10575 (xsymbol): Use it.
10576
10577 2002-06-22 Jason Rumney <jasonr@gnu.org>
10578
10579 * w32fns.c (file_dialog_callback): New function.
10580 (Fx_file_dialog): Allow selecting directories as well as files.
10581
10582 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10583
10584 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
10585 OpenBSD. Add support for mipseb-*-netbsd* machines.
10586
10587 2002-06-17 Andrew Choi <akochoi@shaw.ca>
10588
10589 * macterm.c (mac_scroll_area): Set foreground and backcolor to
10590 black and white before scrolling. Restore frame background and
10591 foreground color after scrolling.
10592 (do_window_update): Call XClearWindow before calling expose_frame.
10593 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
10594 FRAME_FOREGROUND_PIXEL of frame.
10595
10596 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
10597 test Mac command key as <ALT> key.
10598
10599 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
10600
10601 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
10602
10603 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
10604 Lookup keys in function-key-map immediately so that key-translation-map
10605 can be applied earlier.
10606 Remove function_key_possible and key_translation_possible, replaced
10607 by checking `keytran_start < t'.
10608
10609 * .gdbinit (xsymbol): Use the new `xname' field.
10610
10611 2002-06-17 Andrew Choi <akochoi@shaw.ca>
10612
10613 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
10614 test Mac command key as <ALT> key.
10615
10616 * mac.c (do_applescript): Call initialize_applescript if necessary
10617 when first called. Dispose of result_desc only when there is no error.
10618 (Fdo_applescript): Use %d format specifier instead of %ld.
10619
10620 2002-06-16 Andrew Choi <akochoi@shaw.ca>
10621
10622 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
10623 of FrontWindow for cases keyDown and autoKey.
10624
10625 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
10626 Vdefault_fontset to Monaco with mac-roman coding.
10627
10628 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
10629 init_process before and after inclusion of Carbon/Carbon.h, resp.
10630
10631 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
10632 cursor_gc.
10633 (add_font_name_table_entry): New function.
10634 (init_font_name_table): Use add_font_name_table_entry; add italic,
10635 bold, and bold-italic entries for truetype fonts.
10636
10637 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
10638 for Mac too.
10639 (try_font_list) [MAC_OS]: If no font matches given registry, try
10640 fonts with any registry matching face_family.
10641 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
10642
10643 * s/darwin.h: If autoconf detects the Ncurses library, define
10644 LIBS_TERMCAP to -lncurses to use it.
10645
10646 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
10647
10648 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
10649
10650 2002-06-15 Richard M. Stallman <rms@gnu.org>
10651
10652 * window.c (Fset_window_configuration): Explicitly preserve
10653 the point value that new_current_buffer had at the start.
10654
10655 2002-06-14 Juanma Barranquero <lektu@terra.es>
10656
10657 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
10658 Fix typos.
10659
10660 2002-06-14 Kim F. Storm <storm@cua.dk>
10661
10662 * insdel.c (insert_1_both, insert_from_string_1)
10663 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
10664 insert happened in the end_unchanged region. Otherwise, the
10665 redisplay may be confused and duplicate the last line in the
10666 buffer [seen after save-buffer when require-final-newline==t].
10667
10668 2002-06-13 Jason Rumney <jasonr@gnu.org>
10669
10670 * w32.c (init_environment): Remove EMACSLOCKDIR.
10671 (stat): Swap _S_IFDIR and _S_IFREG.
10672
10673 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10674
10675 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
10676 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
10677 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
10678 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
10679 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
10680 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
10681 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
10682 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
10683 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
10684 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
10685 SELECTION_REQUEST_EVENT, selection_clear_event to
10686 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
10687 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
10688 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
10689 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
10690 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
10691 no_event to NO_EVENT.
10692
10693 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10694
10695 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
10696
10697 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
10698
10699 * intervals.c (textget): Don't forget to `return'.
10700 (lookup_char_property): Use XCAR/XCDR.
10701
10702 2002-06-12 Juanma Barranquero <lektu@terra.es>
10703
10704 * xdisp.c (Fformat_mode_line): Fix typo.
10705
10706 2002-06-12 Kim F. Storm <storm@cua.dk>
10707
10708 * xdisp.c (Fformat_mode_line): New function.
10709 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
10710 (store_frame_title_char, store_frame_title): Use unconditionally.
10711 (init_xdisp): Defsubr Fformat_mode_line.
10712 Initialize frame_title_buf etc. unconditionally.
10713
10714 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
10715
10716 * keyboard.c (read_key_sequence):
10717 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
10718 things through those maps after downcasing events.
10719 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
10720 applies after function-key-map.
10721 Make sure that keytran can be done in the middle in the sequence.
10722 Be careful not to throw away events past the one we downcase.
10723
10724 * lread.c (read_integer): Remove unused var `tem'.
10725 (read1): Fix int/Lisp_Object mixup.
10726
10727 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
10728
10729 2002-06-11 Richard M. Stallman <rms@gnu.org>
10730
10731 * keyboard.c (readable_events): Ignore any number of
10732 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
10733
10734 2002-06-09 Miles Bader <miles@gnu.org>
10735
10736 * xfaces.c (Ftty_supports_face_attributes_p): New function.
10737 (parse_rgb_list, tty_lookup_color): New functions.
10738 (tty_defined_color): Use `tty_lookup_color' to do all the work.
10739 (color_distance, Fcolor_distance): New functions.
10740 (TTY_SAME_COLOR_THRESHOLD): New macro.
10741 (Qtty_color_standard_values): New variable.
10742 (syms_of_xfaces): Initialize new vars & functions.
10743
10744 2002-06-08 Colin Walters <walters@verbum.org>
10745
10746 * textprop.c (Vchar_property_alias_alist): New variable.
10747 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
10748
10749 * intervals.c (lookup_char_property): New function for looking up
10750 overlay and text properties, created from textget.
10751 (textget): Use it.
10752
10753 * intervals.h (lookup_char_property): Declare.
10754 (Vchar_property_alias_alist): Declare.
10755
10756 * buffer.c (Foverlay_get): Use lookup_char_property.
10757
10758 2002-06-07 Sam Steingold <sds@gnu.org>
10759
10760 * xselect.c (lisp_data_to_selection_data): Fix last change:
10761 *data_ret is not a Lisp string, while unibyte_string is.
10762
10763 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
10764
10765 * xselect.c (lisp_data_to_selection_data): Fix last change:
10766 set size_ret.
10767
10768 2002-06-07 Andreas Schwab <schwab@suse.de>
10769
10770 * m/amdx86-64.h: New file.
10771
10772 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
10773
10774 * fns.c (Fstring_make_unibyte): Doc fix.
10775
10776 * xselect.c (lisp_data_to_selection_data): If the requested type
10777 is STRING, call string_make_unibyte to encode the selected text
10778 as a string.
10779
10780 * window.c (Fset_window_hscroll): Doc fix.
10781
10782 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10783
10784 * fileio.c (choose_write_coding_system):
10785 Call select-safe-coding-system properly.
10786
10787 2002-06-03 Richard M. Stallman <rms@gnu.org>
10788
10789 * xdisp.c (message_with_string): Error if STRING is not a string.
10790
10791 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
10792
10793 * fileio.c (choose_write_coding_system): Pass FILE arg to
10794 Vselect_safe_coding_system_function.
10795
10796 2002-06-03 Ken Raeburn <raeburn@gnu.org>
10797
10798 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
10799
10800 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
10801
10802 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
10803 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
10804 * keymap.c (describe_command): Likewise.
10805 * minibuf.c (read_minibuf): Likewise.
10806
10807 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
10808 Cast `current_column' return value to int.
10809 (back_to_previous_visible_line_start)
10810 (reseat_at_next_visible_line_start, next_element_from_buffer):
10811 Cast `indented_beyond_p' 3rd arg to float.
10812
10813 * indent.c (last_known_column): Now a float.
10814 (current_column_1, position_indentation, current_column)
10815 (string_display_width): Return float.
10816 (Fcurrent_column): Cast `current_column' return value to int.
10817 (Fcurrent_indentation): Cast `position_indentation' retval to int.
10818 (indented_beyond_p): Third arg now a float.
10819 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
10820
10821 * lisp.h (current_column): Now returns float.
10822 (indented_beyond_p): 3rd arg now a float.
10823
10824 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
10825
10826 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
10827 is Qcompound_text_with_extensions.
10828
10829 * xselect.c (lisp_data_to_selection_data): Always set selection
10830 type as string if x_encode_text returns streingp non-NULL.
10831
10832 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
10833
10834 2002-05-30 Richard M. Stallman <rms@gnu.org>
10835
10836 * window.c (Fset_window_configuration): Correct the handling
10837 of point in current buffer, to work with multiple windows.
10838
10839 2002-05-29 Colin Walters <walters@verbum.org>
10840
10841 * lread.c (Fread_from_string): Don't depend on order of evaluation
10842 for C function parameters.
10843
10844 2002-05-28 Richard M. Stallman <rms@gnu.org>
10845
10846 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
10847 way for blinked-off state and for a nonselected window.
10848
10849 * window.c (window_scroll_pixel_based): Don't call Fbolp;
10850 instead, see if the new start pos is at beginning of line.
10851
10852 * fileio.c (Fwrite_region): If START is a string, don't
10853 make any annotations.
10854
10855 * eval.c (syms_of_eval): Doc fix.
10856
10857 2002-05-28 Colin Walters <walters@debian.org>
10858
10859 * emacs.c (USAGE1): Add --no-splash.
10860 (standard_args): Ditto.
10861
10862 2002-05-28 Colin Walters <walters@gnu.org>
10863
10864 * lread.c (readchar_count): New variable.
10865 (readchar): Increment it.
10866 (unreadchar): Decrement it.
10867 (read_multibyte): Decrement it.
10868 (Vread_with_symbol_positions): New variable.
10869 (Vread_symbol_positions_list): New variable.
10870 (read_internal_start): New function, created from Fread and
10871 Fread_from_string. Handle Vread_symbol_positions_list and
10872 Vread_with_symbol_positions.
10873 (readevalloop, Fread, Fread_from_string): Use it.
10874 (read1): Use readchar_count to add symbol positions to
10875 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
10876 (syms_of_lread): DEFVAR_LISP and initialize them.
10877
10878 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
10879 (substitute_object_recurse, substitute_object_in_subtree)
10880 (substitute_in_interval): Prototype.
10881 (read_multibyte): Return c if it's less than zero.
10882
10883 2002-05-28 Kim F. Storm <storm@cua.dk>
10884
10885 * fileio.c (Fread_file_name_internal): Added brute-force
10886 speed up for using predicate file-directory-p.
10887
10888 2002-05-28 Kim F. Storm <storm@cua.dk>
10889
10890 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
10891 New variables.
10892 (syms_of_fileio): DEFVAR_LISP them.
10893 (read_file_name_cleanup): New unwind function.
10894 (Fread_file_name_internal): Only return completions satifying
10895 Vread_file_name_predicate. Temporarily unwind protect and rebind
10896 default-directory while checking completions against the predicate.
10897 (Fread_file_name): Added PREDICATE argument. Specbind it to
10898 Vread_file_name_predicate during completion.
10899 Call Vread_file_name_function to read the file name if non-nil.
10900
10901 * lisp.h (Fread_file_name): Now has 6 args.
10902
10903 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
10904 predicate for Fread_file_name when reading directory name.
10905 Supply Qnil for predicate in other calls to Fread_file_name.
10906
10907 2002-05-26 Miles Bader <miles@gnu.org>
10908
10909 * term.c (tty_capable_p): New function.
10910 * dispextern.h (tty_capable_p): New function declaration.
10911 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
10912 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
10913
10914 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
10915
10916 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
10917 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
10918 (Vwrite_region_annotate_functions): Docstring fix.
10919
10920 2002-05-23 Kim F. Storm <storm@cua.dk>
10921
10922 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
10923 phys_cursor's hpos is overwritten. This is still not completely
10924 correct, as it doesn't really make sense to use hpos at all to
10925 get the cursor glyph (as that is relative to the width of the
10926 characters on the line, which may have changed during the update).
10927
10928 2002-05-22 Jason Rumney <jasonr@gnu.org>
10929
10930 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
10931 Lisp_Object.
10932 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
10933 Use modified enumfont_t struct.
10934
10935 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
10936
10937 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
10938 Handle the `hbar' cursor type.
10939 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
10940
10941 * w32fns.c (Qhbar): New variable.
10942 (x_specified_cursor_type): Use it.
10943
10944 2002-05-21 Ken Raeburn <raeburn@gnu.org>
10945
10946 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
10947 now, when the address is needed.
10948
10949 2002-05-21 Colin Walters <walters@gnu.org>
10950
10951 * Makefile.in (shortlisp): Add font-core.el.
10952
10953 2002-05-20 Richard M. Stallman <rms@gnu.org>
10954
10955 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
10956
10957 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
10958 equivalent key bindings here.
10959
10960 2002-05-20 Ken Raeburn <raeburn@gnu.org>
10961
10962 Change symbol structure to contain a lisp object for the symbol
10963 name:
10964 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
10965 object field named "xname".
10966 (SYMBOL_NAME): New macro.
10967 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
10968 name field.
10969 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
10970 (mark_object, gc_sweep): Use symbol xname field and XSTRING
10971 instead of name field.
10972 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
10973 SYMBOL_NAME instead of XSYMBOL and name field.
10974 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
10975 instead of XSYMBOL and name field.
10976 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
10977 and SYMBOL_NAME instead of XSYMBOL and name field.
10978 * coding.c (Fread_coding_system, code_convert_region1)
10979 (code_convert_string1, code_convert_string_norecord)
10980 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
10981 XSYMBOL and name field.
10982 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
10983 (Fmake_variable_buffer_local, Fmake_local_variable)
10984 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
10985 of XSYMBOL and name field.
10986 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
10987 XSYMBOL and name field.
10988 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
10989 instead of XSYMBOL and name field.
10990 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
10991 XSYMBOL and name field.
10992 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
10993 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
10994 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
10995 instead of XSYMBOL and name field.
10996 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
10997 (parse_modifiers, apply_modifiers, Fevent_convert_list)
10998 (parse_solitary_modifier, Fexecute_extended_command):
10999 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
11000 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
11001 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
11002 of XSYMBOL and name field.
11003 (describe_command, describe_translation): Use SYMBOL_NAME and
11004 assignment instead of XSYMBOL and name field and XSETSTRING.
11005 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
11006 instead of XSYMBOL and name field.
11007 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
11008 name field and XSETSTRING.
11009 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
11010 of XSYMBOL and name field.
11011 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
11012 assignment instead of XSYMBOL and name field and XSETSTRING.
11013 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
11014 XSTRING instead of XSYMBOL and name field.
11015 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
11016 and XSTRING instead of XSYMBOL and name field.
11017 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
11018 and XSTRING instead of XSYMBOL and name field.
11019 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
11020 XSTRING instead of XSYMBOL and name field.
11021 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
11022 of XSYMBOL and name field.
11023 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
11024 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
11025
11026 2002-05-19 Ken Raeburn <raeburn@gnu.org>
11027
11028 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
11029 and XCDR real rvalues in most configurations.
11030
11031 * buffer.c (fix_overlays_in_range, fix_overlays_before):
11032 Don't take the address of the cdr part of a cons cell; instead, track
11033 the parent cell and call XSETCDR, or set the variable for the head
11034 of the list if we haven't started down the list yet.
11035
11036 2002-05-19 Richard M. Stallman <rms@gnu.org>
11037
11038 * doc.c (reread_doc_file): Don't ask for confirmation.
11039
11040 2002-05-18 Jason Rumney <jasonr@gnu.org>
11041
11042 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
11043 (xbm_load_image): Use it.
11044 (xbm_load): Ditto.
11045 (xbm_read_bitmap_data): Reverted to xfns.c version.
11046 From David Ponce <david@dponce.com>.
11047
11048 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
11049
11050 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
11051 2.02 and later.
11052
11053 2002-05-16 Juanma Barranquero <lektu@terra.es>
11054
11055 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
11056
11057 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
11058
11059 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
11060 meaningful test.
11061 (read_char_minibuf_menu_prompt): Fix typo.
11062
11063 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11064
11065 * eval.c (Fcommandp): Doc fix.
11066
11067 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
11068
11069 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
11070 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
11071 (Fset_keymap_parent): Gcpro a bit more.
11072 (access_keymap): Gcpro around meta_map call and around the main loop.
11073 (get_keyelt): Gcpro when following indirect references.
11074 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
11075 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
11076 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
11077 Remove useless ad-hoc remap code.
11078
11079 2002-05-13 Richard M. Stallman <rms@gnu.org>
11080
11081 * search.c (search_buffer): Give up boyer moore search if inverse
11082 translation change charset_base.
11083
11084 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
11085
11086 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
11087 characters is carried over from the previous block of text, adjust
11088 coding->produced to account for the extra character.
11089
11090 2002-05-11 Andreas Schwab <schwab@suse.de>
11091
11092 * coding.c (intersection): Keep the elements of the returned list
11093 in the same order as in the first list.
11094
11095 2002-05-11 Kim F. Storm <storm@cua.dk>
11096
11097 * keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
11098 only update cmm_size if realloc actually succeeds.
11099 Testing with initial size of 2 elements revealed that using
11100 realloc on GNU/Linux would cause a random trap in xmalloc
11101 later on, so I rewrote the code to use malloc/bcopy/free instead
11102 of realloc.
11103
11104 2002-05-10 Jason Rumney <jasonr@gnu.org>
11105
11106 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
11107
11108 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
11109
11110 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
11111 parens, to ensure correct evaluation order.
11112
11113 2002-05-10 Kim F. Storm <storm@cua.dk>
11114
11115 * keymap.c (Vemulation_mode_map_alists): New variable.
11116 (syms_of_keymap): DEFVAR_LISP it.
11117 (current_minor_maps): Process keymap alists in that list before
11118 minor-mode-overriding-map-alist and minor-mode-map-alist.
11119
11120 2002-05-09 Richard M. Stallman <rms@gnu.org>
11121
11122 * search.c (Freplace_match): Doc fix.
11123
11124 2002-05-09 Kim F. Storm <storm@cua.dk>
11125
11126 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
11127 Enlarge cursor rectangle drawn around image with non-zero relief.
11128
11129 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
11130 Enlarge cursor rectangle drawn around image with non-zero relief.
11131
11132 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
11133 Enlarge cursor rectangle drawn around image with non-zero relief.
11134
11135 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
11136
11137 * xselect.c (lisp_data_to_selection_data): Don't set selection
11138 type if comes from the Lisp object's car. If the selection
11139 contains a pure ASCII text, always return QSTRING as its type.
11140
11141 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11142
11143 * mac.c (mac-cut-function): Doc fix.
11144
11145 2002-05-05 Richard M. Stallman <rms@gnu.org>
11146
11147 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
11148
11149 2002-05-04 Jason Rumney <jasonr@gnu.org>
11150
11151 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
11152 for event-click-count.
11153
11154 * process.c (init_process): Only add server subfeature if we can
11155 use non-blocking I/O.
11156
11157 2002-05-04 Andrew Choi <akochoi@shaw.ca>
11158
11159 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
11160 repeatedly.
11161
11162 2002-05-03 Jason Rumney <jasonr@gnu.org>
11163
11164 * process.c (Fmake_network_process): Only support server sockets
11165 when we can make them non-blocking.
11166
11167 * s/ms-w32.h (HAVE_SELECT): Define.
11168
11169 * w32.h (FILE_NDELAY): New flag.
11170
11171 * w32.c (sys_getpeername, fcntl): New functions.
11172 (_sys_read_ahead): Temporarily block on non-blocking sockets.
11173
11174 * w32proc.c: include sys/file.h.
11175
11176 2002-05-03 Colin Walters <walters@verbum.org>
11177
11178 * callproc.c (Vgame_score_directory): Renamed to
11179 Vshared_game_score_directory.
11180
11181 2002-04-30 Richard M. Stallman <rms@gnu.org>
11182
11183 * s/gnu.h [emacs]: Include stdio.h.
11184 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
11185
11186 * eval.c (do_autoload): Error if called while preparing to dump.
11187
11188 * fns.c (Frequire): Error if need to load while preparing to dump.
11189
11190 2002-04-28 Colin Walters <walters@verbum.org>
11191
11192 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
11193 Default to "~/.emacs.d/games".
11194
11195 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
11196
11197 * lread.c (openp): Change arg exec_only to predicate.
11198 (build_load_history): Use XCAR/XCDR.
11199 (Flocate_file_internal): New fun.
11200 (syms_of_lread): Defsubr it.
11201 (Fload): Update call to openp.
11202
11203 * lisp.h (openp): Update prototype.
11204
11205 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
11206 * w32proc.c (sys_spawnve):
11207 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
11208 * w32.c (check_windows_init_file):
11209 * sound.c (Fplay_sound_internal):
11210 * process.c (Fstart_process):
11211 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
11212 * mac.c (run_mac_command):
11213 * emacs.c (init_cmdargs):
11214 * callproc.c (Fcall_process): Update call to openp.
11215
11216 * textprop.c (remove_properties): Don't use XCAR without CONSP.
11217
11218 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
11219
11220 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11221
11222 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
11223 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
11224
11225 2002-04-28 Richard M. Stallman <rms@gnu.org>
11226
11227 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
11228
11229 * eval.c (Fcommandp): New arg for_call_interactively.
11230 * lisp.h (Fcommandp): Declare new arg.
11231
11232 2002-04-28 Jason Rumney <jasonr@gnu.org>
11233
11234 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
11235
11236 * w32.c (stat, fstat): Use file index information to generate
11237 inodes for directories where available.
11238
11239 2002-04-26 Andrew Choi <akochoi@shaw.ca>
11240
11241 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
11242 [HAVE_CARBON]: Include Mac object files.
11243
11244 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
11245 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
11246 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
11247 MAC_OSX, and MAC_OS instead of macintosh.
11248
11249 * editfns.c [MAC_OS8]: Include stdio.h.
11250
11251 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
11252
11253 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
11254 Apple Monaco.
11255
11256 * process.c: Declare QCfamily and QCfilter as extern.
11257 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
11258 calling select.
11259
11260 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
11261
11262 * tparam.c [MAC_OSX]: Don't define BC and UP.
11263
11264 * config.in [HAVE_CARBON]: Add.
11265
11266 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
11267 Move here from mac/src and mac/inc.
11268
11269 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
11270
11271 2002-04-26 Gerd Moellmann <gerd@gnu.org>
11272
11273 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
11274 Compute phys_cursor_width from the x position returned
11275 by x_draw_glyhs, which is cheaper.
11276 (x_display_and_set_cursor): Compute the buffer-local value
11277 of `cursor-in-non-selected-windows' only when needed.
11278
11279 2002-04-25 Gerd Moellmann <gerd@gnu.org>
11280
11281 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
11282 cursor on a stretch glyph has a width that depends on
11283 x_stretch_cursor_p.
11284
11285 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11286
11287 * abbrev.c (abbrev-start-location): Doc fix.
11288
11289 * indent.c (Fvertical_motion): Fix last change.
11290
11291 2002-04-25 Gerd Moellmann <gerd@gnu.org>
11292
11293 * indent.c (Fvertical_motion): Move to the start of the line
11294 containing PT before moving up or down.
11295
11296 2002-04-24 Gerd Moellmann <gerd@gnu.org>
11297
11298 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
11299 case of writing a whole row, more or less analogous to the case of
11300 writing only parts of a row.
11301
11302 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
11303 0 for NO_CURSOR.
11304
11305 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
11306
11307 2002-04-23 Colin Walters <walters@verbum.org>
11308
11309 * buffer.c (syms_of_buffer): Doc fix.
11310
11311 2002-04-23 Gerd Moellmann <gerd@gnu.org>
11312
11313 * xterm.c (notice_overwritten_cursor): Handle the special case
11314 of the cursor being in the first blank non-text line at the
11315 end of a window.
11316
11317 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
11318 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
11319 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
11320 bar cursors only, to make phys_cursor_width contain what its name
11321 suggests.
11322 (notice_overwritten_cursor): Consider the cursor image erased if
11323 the output area intersects the cursor image in y-direction.
11324
11325 2002-04-23 Simon Marshall <simon@gnu.org>
11326
11327 * xfns.c (x_set_mouse_color): Change default for cross_cursor
11328 to XC_hand2.
11329
11330 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11331
11332 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
11333
11334 2002-04-22 Kim F. Storm <storm@cua.dk>
11335
11336 * textprop.c (remove_properties): Fixed trap for malformed plist.
11337
11338 2002-04-22 Richard M. Stallman <rms@gnu.org>
11339
11340 * cmds.c (Fend_of_line): Handle intangible text in mid line.
11341
11342 * window.c (make_window): Initialize height_fixed_p,
11343 last_cursor_off_p, and p->cursor_off_p slots.
11344
11345 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11346
11347 * fns.c (use-dialog-box): Doc fix.
11348
11349 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11350
11351 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
11352 variables `row', `i' and `area'.
11353 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
11354 toolkit library.
11355
11356 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
11357
11358 * xfaces.c (clear_font_table): Don't free the default font of
11359 a frame even if it's on another display.
11360 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
11361 that could be Qt.
11362
11363 2002-04-19 Juanma Barranquero <lektu@terra.es>
11364
11365 * indent.c (Fmove_to_column): Remove unused local variable
11366 `next_boundary_byte'.
11367 (current_column_1): Likewise.
11368
11369 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
11370
11371 * msdos.c (Qhbar): New variable.
11372 (syms_of_msdos): Intern and staticpro it.
11373 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
11374 cursor type.
11375
11376 2002-04-19 Dave Lambert <dlambert@acm.org>
11377
11378 Theses change implement an underscore-like (`hbar') cursor.
11379
11380 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
11381
11382 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
11383 Handle the `hbar' cursor type.
11384 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
11385
11386 * xfns.c (Qhbar): New variable.
11387 (syms_of_xfns): Intern and staticpro it.
11388 (x_specified_cursor_type): Handle `hbar' cursor.
11389
11390 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
11391 not defined.
11392
11393 2002-04-18 Richard M. Stallman <rms@gnu.org>
11394
11395 * textprop.c (remove_properties): New arg LIST allows scanning
11396 either a list or a plist.
11397 (interval_has_some_properties_list): New function, like
11398 interval_has_some_properties using list instead of plist.
11399 All callers changed.
11400 (Fremove_list_of_text_properties): New function.
11401 (syms_of_textprop): Defsubr it.
11402
11403 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
11404
11405 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
11406
11407 2002-04-17 Juanma Barranquero <lektu@terra.es>
11408
11409 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
11410
11411 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
11412
11413 * window.c (coordinates_in_window): Don't report on margin area
11414 if its width is zero.
11415
11416 2002-04-16 Jason Rumney <jasonr@gnu.org>
11417
11418 * w32fns.c (Fx_file_dialog): Decode file name before using.
11419
11420 * w32term.c (construct_drag_n_drop): Likewise.
11421
11422 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
11423
11424 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
11425 store load-history in pure space.
11426
11427 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
11428
11429 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
11430
11431 * xterm.c (Qlatin_1, Qutf_8): New vars.
11432 (syms_of_xterm): Initialize them.
11433 (XTread_socket): Eliminate incorrect optimization that tried to avoid
11434 decoding the output of X*LookupString.
11435 Always use latin-1 to decode the output of XLookupString.
11436 Try Xutf8LookupString if XmbLookupString failed.
11437
11438 * region-cache.c (new_region_cache): Use BEG.
11439
11440 2002-04-16 Gerd Moellmann <gerd@gnu.org>
11441
11442 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
11443 configuration files.
11444 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
11445 returns 0.
11446
11447 2002-04-15 Andreas Schwab <schwab@suse.de>
11448
11449 * config.in: Regenerated using autoheader.
11450
11451 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
11452 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
11453 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
11454 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
11455 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
11456 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
11457 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
11458 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
11459 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
11460 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
11461 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
11462 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
11463 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
11464 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
11465 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
11466 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
11467 STACK_DIRECTION, now set by autoconf.
11468
11469 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11470
11471 * dispnew.c (marginal_area_string): Sort arguments.
11472
11473 * dispextern.h (marginal_area_string): Add prototype.
11474
11475 2002-04-13 Richard M. Stallman <rms@gnu.org>
11476
11477 * fileio.c (Finsert_file_contents):
11478 Don't call temp_output_buffer_setup--do just part, by hand.
11479
11480 * coding.c (run_pre_post_conversion_on_str):
11481 Don't call temp_output_buffer_setup--do just part, by hand.
11482
11483 * keyboard.c (command_loop_1): Don't call start_hourglass
11484 or cancel_hourglass when executing a macro.
11485
11486 * marker.c (count_markers): New function.
11487
11488 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
11489 grow without limit. Move recently used elements to the front.
11490
11491 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11492
11493 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
11494
11495 2002-04-12 Gerd Moellmann <gerd@gnu.org>
11496
11497 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
11498 rows marginal areas.
11499 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
11500 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
11501
11502 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
11503
11504 2002-04-12 Dave Love <fx@gnu.org>
11505
11506 * dispnew.c (marginal_area_string): New.
11507
11508 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
11509 (Qleft_margin, Qright_margin): Declare.
11510 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
11511
11512 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
11513 note_mode_line_highlight and extended.
11514
11515 * keyboard.c (Qleft_margin, Qright_margin): Declare.
11516 (make_lispy_event): Deal with mouse events in margins.
11517
11518 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
11519
11520 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
11521
11522 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
11523 than deactivating the mark if tmm is set to `lambda'.
11524 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
11525 Use a single event for HELP_EVENT.
11526 (Fexecute_extended_command): Save last_point_position.
11527
11528 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11529
11530 * lisp.h (Fpropertize): Add prototype.
11531
11532 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
11533
11534 2002-04-10 Colin Walters <walters@verbum.org>
11535
11536 * config.in: Add HAVE_SHARED_GAME_DIR.
11537
11538 * callproc.c: (Vgame_score_directory): New variable.
11539 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
11540
11541 2002-04-10 Richard M. Stallman <rms@gnu.org>
11542
11543 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
11544
11545 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
11546
11547 * minibuf.c (read_minibuf): Use empty_string.
11548 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
11549 Short-circuit the search as soon as it "failed".
11550 (Fall_completions): Allow lambda forms and lists of strings for alist.
11551 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
11552 when require_match is nil.
11553 (Ftest_completion): Rename from `test_completion' and export to elisp.
11554 Call the predicate also when alist is a list.
11555 Obey Vcompletion_regexp_list.
11556 (do_completion, Fminibuffer_complete_and_exit): Use it.
11557 (Fassoc_string): Rename from `assoc_for_completion'.
11558 Allow list of strings as well and export to elisp.
11559
11560 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
11561
11562 * puresize.h (BASE_PURESIZE): Increase to 900KB.
11563
11564 2002-04-08 Juanma Barranquero <lektu@terra.es>
11565
11566 * w32.c (sys_accept): Don't hide variable `s'.
11567
11568 2002-04-05 Gerd Moellmann <gerd@gnu.org>
11569
11570 * callint.c (Fcall_interactively): Use INTEGERP instead of
11571 NUMBERP for checking Vhistory_length.
11572
11573 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11574
11575 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
11576 Doc fix to reflect it.
11577
11578 2002-04-04 Richard M. Stallman <rms@gnu.org>
11579
11580 * xdisp.c (display_mode_element): New arg RISKY.
11581 Disregard text props found or specified within a variable
11582 that isn't marked risky-local-variable.
11583 (Qrisky_local_variable): New variable.
11584 (syms_of_xdisp): Init and staticpro it.
11585
11586 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
11587
11588 * undo.c (record_point): New fun.
11589 (record_delete, record_insert): Use it.
11590
11591 2002-04-03 Juanma Barranquero <lektu@terra.es>
11592
11593 * doc.c (Fdocumentation): Add missing parentheses.
11594 (Fdocumentation_property): Likewise.
11595
11596 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
11597
11598 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
11599 data is 0, just return nil.
11600
11601 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
11602
11603 * msdos.c (syms_of_msdos): Fix last change with
11604 mouse_autoselect_window.
11605
11606 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11607
11608 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
11609 mouse_autoselect_window.
11610
11611 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
11612
11613 * keyboard.c (make_lispy_event): Handle unknown keysyms together
11614 with system-specific keysyms. Use it also for unknown function keys.
11615
11616 * doc.c (reread_doc_file): Return whether reload was attempted.
11617 (Fdocumentation, Fdocumentation_property): Don't try to reload
11618 if the doc is 0 and only ask once.
11619
11620 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
11621
11622 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
11623
11624 * keyboard.c (read_char): If the event was Qselect_window,
11625 restore timer_idleness_start_time to its previous value.
11626
11627 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
11628
11629 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
11630
11631 * region-cache.c (new_region_cache): Use BEG.
11632
11633 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
11634 Use BEG and BEG_BYTE.
11635
11636 * doc.c (get_doc_string): Return nil if the location is wrong.
11637 (reread_doc_file): New fun.
11638 (Fdocumentation, Fdocumentation_property):
11639 Call it if get_doc_string fails.
11640 (Fsnarf_documentation): Make it work for a dumped Emacs.
11641
11642 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
11643 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
11644
11645 * charset.c (Fstring): Allow 0 arguments.
11646
11647 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
11648
11649 * process.c (DATAGRAM_CONN_P, list_processes_1)
11650 (Fprocess_datagram_address, Fset_process_datagram_address)
11651 (Fset_network_process_options, server_accept_connection):
11652 Fix some int/Lisp_Object confusions (thank you union types).
11653
11654 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11655
11656 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
11657
11658 * w32term.c: Likewise.
11659 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
11660
11661 * keyboard.c (Qselect_window): New symbol.
11662 (head_table): Use it.
11663 (keys_of_keyboard): Bound select-window event to handle-select-window.
11664 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
11665
11666 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
11667 (last_window): New variable.
11668 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
11669 (note_mouse_movement): Remove reimplemented code in #if 0.
11670 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
11671 Emacs windows.
11672
11673 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
11674
11675 2002-03-31 Gerd Moellmann <gerd@gnu.org>
11676
11677 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
11678 Callers changed.
11679
11680 2002-03-30 Richard M. Stallman <rms@gnu.org>
11681
11682 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
11683 loop whenever it stops making progress.
11684
11685 * widget.c (set_frame_size): Don't call change_frame_size.
11686
11687 2002-03-30 Gerd Moellmann <gerd@gnu.org>
11688
11689 * dispnew.c (direct_output_for_insert):
11690 Call mark_window_display_accurate.
11691
11692 2002-03-29 Jason Rumney <jasonr@gnu.org>
11693
11694 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
11695
11696 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
11697
11698 * Makefile.in (lread.o): Depend on coding.h.
11699
11700 * lread.c (openp, Fload): Encode the file name before passing it
11701 to `stat', `access', and `emacs_open'.
11702 (openp): GCPRO the encoded file name. Don't recompute Lisp
11703 strings unnecessarily.
11704
11705 2002-03-29 Kim F. Storm <storm@cua.dk>
11706
11707 * fns.c (Flax_plist_put): Doc fix.
11708
11709 2002-03-28 Miles Bader <miles@gnu.org>
11710
11711 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
11712
11713 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11714
11715 * process.c (set-network-process-options): Add usage.
11716 (make-network-process): Doc fix.
11717
11718 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
11719
11720 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
11721
11722 2002-03-26 Richard M. Stallman <rms@gnu.org>
11723
11724 * fns.c (Fsubstring_no_properties): New function.
11725 (Flax_plist_get, Flax_plist_put): New functions.
11726 (syms_of_fns): defsubr them.
11727
11728 * xdisp.c (update_menu_bar): Test only update_mode_lines;
11729 don't test or alter w->update_mode_line.
11730
11731 * window.c (Fdisplay_buffer): Doc fix.
11732
11733 2002-03-24 Richard M. Stallman <rms@gnu.org>
11734
11735 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
11736
11737 2002-03-24 Gerd Moellmann <gerd@gnu.org>
11738
11739 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
11740 (Fdefmacro): Handle `(declare ...)'.
11741 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
11742 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
11743
11744 2002-03-24 Jason Rumney <jasonr@gnu.org>
11745
11746 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
11747 (xbm_file_p): Add prototypes.
11748 (xbm_format, xbm_image_p): Sync with xfns.c.
11749 (reflect_byte): New function.
11750 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
11751 (xbm_load_image): Create bitmaps with a depth of 1.
11752 (init_xfns): Enable XBM images.
11753
11754 2002-03-23 Jason Rumney <jasonr@gnu.org>
11755
11756 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
11757 correctly. Do not pass up_modifier to keyboard buffer.
11758
11759 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
11760
11761 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
11762
11763 * Makefile.in (bootstrapclean): New target.
11764 (bootstrap-temacs, bootstrap-doc): Remove.
11765 (bootstrap-emacs): Use a bog-standard `temacs'.
11766 Don't bother to build a DOC file.
11767
11768 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
11769
11770 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
11771 in temacs even if !CANNOT_DUMP.
11772 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
11773
11774 * alloc.c (check_pure_size): Only output a warning.
11775
11776 2002-03-22 Jason Rumney <jasonr@gnu.org>
11777
11778 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
11779 supported.
11780
11781 * w32term.c (zv_bits): Declare as short, for word alignment.
11782 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
11783 (syms_of_w32term): Define x-use-underline-position-properties.
11784
11785 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
11786 (clear_image_cache): Block input, fix logic, clear matrices in
11787 all frames that share this cache.
11788
11789 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
11790
11791 * emacs.c (main): Update the Copyright year in the blurb printed
11792 by "emacs --version".
11793
11794 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
11795
11796 * xterm.c (XTread_socket): If XK_ISO_Lock and
11797 XK_ISO_Last_Group_Lock are defined, handle keysyms between
11798 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
11799
11800 2002-03-21 Kim F. Storm <storm@cua.dk>
11801
11802 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
11803 menu-bar bindings in keymap and local-map properties _are_ used.
11804 But try keymap property first in accordance with 2002-01-03 patch.
11805 Added comment describing why this is not always reliable.
11806 (tool_bar_items): Ditto for tool-bar.
11807
11808 2002-03-21 Jason Rumney <jasonr@gnu.org>
11809
11810 * w32fns.c (x_clear_image_1): Disable color table code.
11811
11812 2002-03-21 Kim F. Storm <storm@cua.dk>
11813
11814 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
11815 removed the wrong version of the DEFUN macro; fixed it.
11816
11817 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
11818 Fmember rather than Fmemq).
11819 (Fprovide): Check that subfeatures is a list.
11820
11821 * process.c (QCfeature, QCdatagram): Removed variables.
11822 (QCtype, Qdatagram): New variables.
11823 (network_process_featurep): Removed function.
11824 (Fmake_network_process): Removed :feature check.
11825 Use :type 'datagram instead of :datagram t to create a datagram
11826 socket. This allows us to add other connection types (e.g. raw
11827 sockets) later in a consistent manner.
11828 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
11829 supported subfeatures for feature make-network-process.
11830 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
11831 Intern and staticpro QCtype and Qdatagram.
11832 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
11833
11834 * xfns.c: (QCtype): Remove duplicate declaration and
11835 initialization (is now declared in process.c).
11836
11837 * w32fns.c: (QCtype): Remove duplicate declaration and
11838 initialization (is now declared in process.c).
11839
11840 2002-03-21 Richard M. Stallman <rms@gnu.org>
11841
11842 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
11843 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
11844 when jumping to `fail' to avoid undoing reg changes in the
11845 last iteration of the loop.
11846 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
11847
11848 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
11849 Depend on process.h.
11850
11851 2002-03-20 Jason Rumney <jasonr@gnu.org>
11852
11853 Most of the following changes are still conditional on HAVE_IMAGES
11854 which is not set by default on Windows.
11855
11856 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
11857
11858 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
11859 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
11860 (four_corners_best, x_clear_image_1, x_clear_image)
11861 (x_alloc_image_color, postprocess_image)
11862 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
11863 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
11864 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
11865
11866 * w32gui.h (struct XImage): Define.
11867
11868 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
11869 extract mouse co-ordinates.
11870
11871 2002-03-20 Jason Rumney <jasonr@gnu.org>
11872
11873 * w32.c (init_winsock): Dynamically load new server and UDP
11874 socket functions.
11875 (socket_to_fd): New function.
11876 (sys_socket): Use it.
11877 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
11878 (sys_recvfrom, sys_sendto): New wrapper functions.
11879
11880 * process.c (QCfamily, QCfilter): Remove duplicate declaration
11881 and initialization.
11882
11883 * makefile.w32-in (LIBS): Remove $(WSOCK32).
11884
11885 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
11886
11887 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
11888 Don't use "sun" as a variable, it's a predefined constant on Sun
11889 machines.
11890
11891 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11892
11893 * bytecode.c (Fbyte_code): Revert last change.
11894
11895 2002-03-19 Kim F. Storm <storm@cua.dk>
11896
11897 * makefile.w32-in (LIBS): Add $(WSOCK32).
11898 From David Ponce <dponce@voila.fr>.
11899
11900 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11901
11902 * process.c (wait_reading_process_input): Move variables `pname'
11903 and `pnamelen' down where they are used.
11904
11905 * bytecode.c (Fbyte_code): Discard unused computed value to
11906 prevent gcc warning.
11907
11908 * lisp.h (Fplist_member): Add prototype.
11909
11910 2002-03-18 Kim F. Storm <storm@cua.dk>
11911
11912 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
11913 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
11914
11915 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
11916 Remove explicit GNU_LINUX settings for datagram support.
11917
11918 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11919
11920 * process.c (Fmake_network_process): Remove unused variable `sa'.
11921 Doc fix. Add usage:.
11922 (set_socket_options): Remove unused variables `optnum' and `opttype'.
11923
11924 2002-03-17 Richard M. Stallman <rms@gnu.org>
11925
11926 * xdisp.c (cursor_type_changed): New variable.
11927 (redisplay_internal): Redisplay all windows if cursor_type_changed.
11928 Clear it when clearing windows_or_buffers_changed.
11929 (try_cursor_movement, redisplay_window, try_window_id)
11930 (try_window_reusing_current_matrix): Test cursor_type_changed
11931 along with windows_or_buffers_changed.
11932
11933 * window.h (cursor_type_changed): New variable.
11934
11935 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
11936 not update_mode_lines, and always set it to 1.
11937
11938 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
11939 if no frames needed redrawing.
11940
11941 2002-03-17 Kim F. Storm <storm@cua.dk>
11942
11943 The following changes add support for network server processes,
11944 datagram connections, and local (unix) sockets.
11945
11946 * process.h (struct Lisp_Process): New member log.
11947 Doc fix: Member command used to indicate stopped network process.
11948 Doc fix: Member childp contains plist for network process.
11949 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
11950
11951 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
11952 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
11953 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
11954 New variables.
11955 (NETCONN1_P): New macro.
11956 (DATAGRAM_SOCKETS): New conditional symbol.
11957 (datagram_address): New array.
11958 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
11959 (status_message): Use concat3.
11960 (Fprocess_status): Add `listen' status to doc string. Return `stop'
11961 for a stopped network process.
11962 (Fset_process_buffer): Update contact plist for network process.
11963 (Fset_process_filter): Ditto. Don't enable input for stopped
11964 network processes. Server must listen, even if filter is t.
11965 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
11966 New functions.
11967 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
11968 (Fprocess_contact): Added KEY argument. Handle datagrams.
11969 (list_processes_1): Optionally show only processes with the query
11970 on exit flag set. Dynamically adjust column widths. Omit tty
11971 column if not needed. Report stopped network processes.
11972 Identify server and datagram network processes.
11973 (Flist_processes): New optional arg `query-only'.
11974 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
11975 (conv_lisp_to_sockaddr, set_socket_options)
11976 (network_process_featurep, unwind_request_sigio): New helper functions.
11977 (Fprocess_datagram_address, Fset_process_datagram_address):
11978 (Fset_network_process_options): New lisp functions.
11979 (Fopen_network_stream): Removed. Now defined in simple.el.
11980 (Fmake_network_process): New lisp function. Code is based on previous
11981 Fopen_network_stream, but heavily reworked with new property list based
11982 argument list, support for datagrams, server processes, and local
11983 sockets in addition to old client-only functionality.
11984 (server_accept_connection): New function.
11985 (wait_reading_process_input): Use it to handle incoming connects.
11986 Do not enable input on a new connection if process is stopped.
11987 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
11988 (send_process): Handle datagram sockets.
11989 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
11990 network process is indicated by setting command field to t .
11991 (Fprocess_send_eof): No-op if datagram connection.
11992 (Fstatus_notify): Don't read input for a stream server socket or a
11993 stopped network process.
11994 (init_process): Initialize datagram_address array.
11995 (syms_of_process): Intern and staticpro new variables, defsubr new
11996 functions.
11997
11998 2002-03-16 Jason Rumney <jasonr@gnu.org>
11999
12000 * w32fns.c (w32_to_all_x_charsets): Return correct type in
12001 startup case.
12002
12003 2002-03-16 Richard M. Stallman <rms@gnu.org>
12004
12005 * xdisp.c (redisplay_internal, redisplay_windows):
12006 Use list_of_error to call internal_condition_case_1.
12007 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
12008 so as to catch all errors with no possibility of debugger redisplay.
12009 (list_of_error): New variable.
12010 (syms_of_xdisp): Init and staticpro it.
12011
12012 * print.c (print_object): Delete `\ ' from printed rep of frame.
12013
12014 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
12015
12016 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
12017 until its implementation is fixed.
12018
12019 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12020
12021 * xfns.c (png_load): Remove unused variable `gamma_str'.
12022
12023 2002-03-14 Richard M. Stallman <rms@gnu.org>
12024
12025 * xfns.c (x_real_positions): Handle failure in XQueryTree.
12026
12027 2002-03-14 Miles Bader <miles@gnu.org>
12028
12029 * intervals.c (adjust_for_invis_intang): New function.
12030 (set_point_both): Use `adjust_for_invis_intang' to do most of the
12031 work for dealing with invisible+intangible regions. Do so before
12032 and after both forward and backward movements, to handle both
12033 front-sticky and rear-sticky cases.
12034 * textprop.c (text_property_stickiness): Function moved here from
12035 `editfns.c'.
12036 * intervals.h (text_property_stickiness): New declaration.
12037 * editfns.c (char_property_eq): Function removed.
12038 (text_property_stickiness): Function moved to `textprop.c'.
12039
12040 2002-03-13 Jason Rumney <jasonr@gnu.org>
12041
12042 * config.in: Add STRFTIME_NO_POSIX2.
12043
12044 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
12045 and %OX when underlying strftime does not.
12046
12047 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
12048
12049 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
12050 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
12051 line) to avoid annoying flicker.
12052 (xm_scroll_callback): Get rid of the now unnecessary kludge.
12053 (XTread_socket): Mark it static.
12054
12055 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
12056
12057 2002-03-13 Kim F. Storm <storm@cua.dk>
12058
12059 * puresize.h (BASE_PURESIZE): Increase to 775000.
12060
12061 2002-03-12 Juanma Barranquero <lektu@terra.es>
12062
12063 * editfns.c (syms_of_editfns): Fix typo.
12064
12065 2002-03-12 Gerd Moellmann <gerd@gnu.org>
12066
12067 * xsmfns.c: Include stdio.h because termhooks.h needs it.
12068 Include termopt.h for interrupt_input.
12069
12070 2002-03-11 Andreas Schwab <schwab@suse.de>
12071
12072 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
12073
12074 2002-03-11 Gerd Moellmann <gerd@gnu.org>
12075
12076 * xterm.c (note_mouse_movement): Put code for
12077 x_autoselect_window_p in #if 0.
12078
12079 * lread.c (Fload): Don't assume that message_with_string uses the
12080 string it is given like a C string.
12081
12082 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12083
12084 * xterm.h (x_session_check_input, x_session_initialize): Declared.
12085
12086 * xterm.c: (XTread_socket): Add call to x_session_check_input and
12087 x_session_have_connection.
12088 (x_initialize): Add call to x_session_initialize.
12089
12090 * termhooks.h (enum event_kind): Add save_session_event.
12091
12092 * keyboard.c: Add Emacs event save_session_event.
12093
12094 * emacs.c (main): Add call to syms_of_xsmfns.
12095
12096 * lisp.h: Declare syms_of_xsmfns as extern.
12097
12098 * config.in: Add HAVE_X_SM.
12099
12100 * Makefile.in (LIBXT): Add -lSM -lICE
12101 if HAVE_X_SM and not USE_X_TOOLKIT.
12102 (XOBJ): New file xsmfns.c added.
12103
12104 * xsmfns.c: New file for X session management.
12105
12106 2002-03-09 Jason Rumney <jasonr@gnu.org>
12107
12108 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
12109 read-only when setting modified time.
12110
12111 2002-03-08 Gerd Moellmann <gerd@gnu.org>
12112
12113 * xdisp.c (move_it_vertically_backward): At the end of the function,
12114 when moving forward by lines, treat terminal frames specially.
12115
12116 * keyboard.c (echo_char): Make sure to add a separator between
12117 keys even if echo_dash hasn't been called.
12118
12119 * xdisp.c: Use new string macros.
12120 (update_echo_area): Pass number of bytes to message3 instead of
12121 number of chars.
12122 (set_message_1): Don't access a string's size_byte directly.
12123 (decode_mode_spec_coding): Use number of bytes of eoltype string
12124 instead number of chars.
12125
12126 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
12127
12128 2002-03-08 Juanma Barranquero <lektu@terra.es>
12129
12130 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
12131 24-bit.
12132
12133 2002-03-06 Jason Rumney <jasonr@gnu.org>
12134
12135 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
12136
12137 2002-03-06 Gerd Moellmann <gerd@gnu.org>
12138
12139 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
12140 (cancel_echoing, echo_length, echo_truncate): Changed to
12141 work with new kboard definition.
12142 (echo_now): Use message3_nolog instead of message2_nolog.
12143
12144 * alloc.c (mark_kboards): Mark echo_string.
12145
12146 * keyboard.h (ECHOBUFSIZE): Removed.
12147 (struct kboard): Member echoptr removed, member echobuf renamed
12148 to echo_string.
12149
12150 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
12151 message3 instead of message2 to display the message using STRING's
12152 text properties.
12153
12154 2002-03-05 Andreas Schwab <schwab@suse.de>
12155
12156 * xdisp.c (hscroll_margin): Change to EMACS_INT.
12157
12158 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
12159
12160 * frame.c (default-frame-alist): Explain that setting it doesn't
12161 affect existing frames.
12162
12163 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
12164
12165 * indent.c (skip_invisible): Fix my brain fart.
12166
12167 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
12168
12169 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
12170
12171 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
12172 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
12173 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
12174 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
12175 and variables to use EMACS_INT instead of just int.
12176
12177 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
12178
12179 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
12180
12181 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
12182 environment, pass it down with corrected value.
12183
12184 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12185
12186 * lread.c (read_filtered_event): Do not call start_hourglass
12187 before returning.
12188
12189 2002-03-04 Juanma Barranquero <lektu@terra.es>
12190
12191 * w32term.c (x_display_and_set_cursor): Fix typo.
12192
12193 2002-03-03 Richard M. Stallman <rms@gnu.org>
12194
12195 * fileio.c (Fmake_temp_name): Doc fix.
12196
12197 2002-03-03 Gary Wong <gtw@gnu.org>
12198
12199 * termcap.c [!emacs]: Replace ospeed for building standalone
12200 libtermcap, for binary compatibility.
12201
12202 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
12203
12204 2002-03-03 Richard M. Stallman <rms@gnu.org>
12205
12206 * xrdb.c (file_p): Rename arg `path' to `filename'.
12207
12208 * abbrev.c (Fexpand_abbrev): Increment plist as use count
12209 only if it is an integer.
12210
12211 * xfns.c (png_load): Set screen_gamma based on f->gamma.
12212 If png_get_sRGB gives an answer, call png_set_gamma
12213 using the default image gamma value.
12214
12215 * lread.c (read1): When reading from a file, default string to
12216 multibyte only if it has some multibyte characters.
12217
12218 * print.c (print_object): Output multibyte chars 128...255
12219 using \x even if ! print_escape_multibyte.
12220
12221 * xdisp.c (display_mode_element): Move the places where
12222 bytepos, charpos, this, and lisp_string are set.
12223 Use lisp_string to set bytepos.
12224
12225 * xdisp.c (redisplay_internal):
12226 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
12227
12228 * xdisp.c (display_mode_element): Merge properties specified with
12229 :propertize onto those that come with the string.
12230
12231 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
12232
12233 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
12234 automatic-hscrolling. Users changed.
12235 <hscroll-margin>: Renamed from automatic-hscroll-margin.
12236 Users changed.
12237 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
12238
12239 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12240
12241 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
12242
12243 2002-03-02 Kim F. Storm <storm@cua.dk>
12244
12245 * window.c (Fminibuffer_selected_window): New function.
12246 (syms_of_window): Defsubr it.
12247
12248 2002-03-01 Kim F. Storm <storm@cua.dk>
12249
12250 * window.h (struct window): New member phys_cursor_width.
12251
12252 * window.c (make_window, replace_window): Init phys_cursor_width.
12253
12254 * xterm.c (x_display_and_set_cursor): Blink box cursor using
12255 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
12256
12257 * w32term.c (x_display_and_set_cursor): Blink box cursor using
12258 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
12259
12260 * lisp.h (GCPRO6): New macro.
12261
12262 * process.c (Fopen_network_stream): Use GCPRO6.
12263
12264 2002-03-01 Kim F. Storm <storm@cua.dk>
12265
12266 * process.c (Qconnect, Qfailed): New variables.
12267 (syms_of_process): Intern and staticpro them.
12268 (Fprocess_status): Document connect and failed return values.
12269 [NON_BLOCKING_CONNECT]: New conditional.
12270 (connect_wait_mask, num_pending_connects): New variables.
12271 (status_message): Convert Qfailed status.
12272 (Fopen_network_stream): Added support for non-blocking connect.
12273 New optional args: filter, sentinel, non_blocking. Doc updated.
12274 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
12275 (deactivate_process): Handle pending non-blocking connect.
12276 (wait_reading_process_input): Poll for status of non-blocking
12277 connects. Exec sentinel directly when connect succeeds.
12278 (status_notify): Don't read process output if not yet connected.
12279
12280 2002-02-28 Kim F. Storm <storm@cua.dk>
12281
12282 * window.c: (minibuf_selected_window): Renamed from
12283 Vminibuf_selected_window. Users changed.
12284 (syms_of_window): Staticpro it.
12285
12286 2002-02-26 Kim F. Storm <storm@cua.dk>
12287
12288 The following changes add a new Vminibuf_selected_window variable
12289 which is similar to Vminibuf_scroll_window, but which is only set
12290 on entry to the minibuffer (from a non-minibuffer window):
12291
12292 * window.c: (Vminibuf_selected_window): New variable.
12293 (struct save_window_data): New member minibuf_selected_window.
12294 (Fset_window_configuration): Restore Vminibuf_selected_window.
12295 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
12296 Set minibuf_scroll_window member to nil if minibuf_level is 0.
12297 (compare_window_configurations): Compare minibuf_selected_window.
12298
12299 * window.h: (Vminibuf_selected_window): Declare extern.
12300
12301 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
12302 entry to minibuffer or on entry from a non-minibuffer window.
12303
12304 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
12305 Vminibuf_selected_window instead of Vminibuf_scroll_window.
12306
12307 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
12308 instead of Vminibuf_scroll_window when deciding in which window
12309 the region should be highlighted. Consequently, the region remains
12310 highlighteded even when a completion buffer is also displayed.
12311
12312 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
12313
12314 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
12315
12316 * xselect.c (Qcompound_text_with_extensions): Renamed from
12317 Qcompound_text_no_extensions.
12318 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
12319
12320 2002-02-26 Juanma Barranquero <lektu@terra.es>
12321
12322 * w32proc.c (syms_of_ntproc): Doc fix.
12323
12324 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12325
12326 * intervals.h: Include "dispextern.h" unconditionally.
12327
12328 2002-02-24 Jason Rumney <jasonr@gnu.org>
12329
12330 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
12331 and disp-table.elc.
12332 (lisp): Add emacs-lisp/backquote.elc.
12333
12334 2002-02-24 Kim F. Storm <storm@cua.dk>
12335
12336 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
12337 The validation of the event type was too strict as it didn't
12338 allow string events; buffer names are used in bindings for
12339 menu-bar-select-buffer (see `menu-bar-update-buffers').
12340
12341 2002-02-23 Kim F. Storm <storm@cua.dk>
12342
12343 The following changes rework my patch of 2002-02-06 which
12344 added command remapping by entering the commands directly into
12345 the keymaps. Now, command remapping uses an explicit `remap'
12346 prefix in the keymaps, i.e. [remap COMMAND].
12347
12348 * keymap.c (Qremap, remap_command_vector): New variables.
12349 (is_command_symbol): Removed function.
12350 (Fdefine_key): No longer accept a symbol for KEY.
12351 Added validation of [remap COMMAND] argument for KEY.
12352 The DEF is no longer required to be a symbol when remapping a command.
12353 (Fremap_command): New function to remap command through keymaps.
12354 (Flookup_key): Perform command remapping initiated by
12355 Fremap_command directly for speed.
12356 (Fkey_binding): Use Fremap_command for command remapping.
12357 (where_is_internal): Handle new command remapping representation.
12358 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
12359 staticpro them. Defsubr Fremap_command.
12360
12361 * keymap.h (Fremap_command): Declare extern.
12362 (is_command_symbol): Remove extern.
12363
12364 * keyboard.c (command_loop_1): Use Fremap_command for command
12365 remapping; now try command remapping for all symbols.
12366
12367 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
12368
12369 * coding.h (run_pre_post_conversion_on_str): Add prototype.
12370
12371 2002-02-23 Jason Rumney <jasonr@gnu.org>
12372
12373 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
12374 on the string before encoding it.
12375 (Fw32_get_clipboard_data): Run post-read-conversion on the string
12376 after decoding it.
12377
12378 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
12379
12380 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12381
12382 * w32term.c (enter_timestamp): Remove unused static variable to
12383 prevent warning.
12384
12385 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
12386
12387 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
12388
12389 * w16select.c (Fw16_get_clipboard_data): Fix last change.
12390
12391 * xselect.c (selection_data_to_lisp_data): Fix last change.
12392
12393 2002-02-22 Jason Rumney <jasonr@gnu.org>
12394
12395 * w32term.h (struct w32_output): New member menu_command_in_progress.
12396
12397 * w32menu.c (menubar_selection_callback): Free the menu and
12398 clear the menu_command_in_progress flag.
12399
12400 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
12401 (menu_free_timer): New variable.
12402 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
12403 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
12404 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
12405 menu command is in progress.
12406 <WM_COMMAND>: Set the menu_command_in_progress flag.
12407 Kill any menu_free_timer that is running.
12408
12409 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
12410 Call ExtTextOutA rather than ExtTextOut.
12411
12412 2002-02-22 Eli Zaretskii <eliz@gnu.org>
12413
12414 * puresize.h (BASE_PURESIZE): Increase to 755000.
12415
12416 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12417
12418 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
12419 on the string before encoding it.
12420 (Fw16_get_clipboard_data): Run post-read-conversion on the string
12421 after decoding it.
12422
12423 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12424
12425 Support for ICCCM Extended Segments in X selections:
12426
12427 * xselect.c <Qcompound_text_no_extensions>: New variable.
12428 (syms_of_xselect): Intern and staticpro it.
12429 (selection_data_to_lisp_data): Run post-read-conversion on decoded
12430 selection text.
12431 (lisp_data_to_selection_data): If next-selection-coding-system is
12432 compound-text-no-extensions, set the type of selection to be
12433 compound-text.
12434
12435 * xterm.h (x_encode_text): Update prototype.
12436
12437 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
12438 callers changed. If SELECTIONP is non-zero, run the
12439 pre-write-conversion function before encoding the selection text.
12440
12441 2002-02-21 Kim F. Storm <storm@cua.dk>
12442
12443 * frame.c (syms_of_frame): Change mouse-highlight default to t.
12444
12445 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
12446 Correct composing of language-change event.
12447
12448 2002-02-20 Kim F. Storm <storm@cua.dk>
12449
12450 * keyboard.c (menu_bar_items): Don't include keymap or local-map
12451 bindings at PT when building menu (the menu is not updated often
12452 enough for this to work reliable).
12453 (tool_bar_items): Likewise.
12454 (current_active_maps): Removed unused (and buggy) function.
12455
12456 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12457
12458 * xfns.c (gif_load): Use correct width and height for GIF images.
12459
12460 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
12461
12462 * floatfns.c (Fatan): Accept an optional second arg and call
12463 atan2 if passed 2 args.
12464
12465 2002-02-18 Jason Rumney <jasonr@gnu.org>
12466
12467 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
12468
12469 2002-02-17 Jason Rumney <jasonr@gnu.org>
12470
12471 * w32term.c (x_autoselect_window_p): New variable.
12472 (syms_of_w32term): DEFVAR_BOOL and initialize it.
12473 (note_mouse_movement): Use it.
12474
12475 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
12476
12477 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
12478
12479 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
12480 New variables.
12481 (syms_of_w32fns): Intern and staticpro them.
12482 (x_frame_parms) <"fullscreen">: New parameter.
12483 (x_fullscreen_move, x_set_fullscreen): New functions.
12484 (x_set_frame_parameters): Support Qfullscreen.
12485 (x_real_positions): Save x/y_pixels_diff frame params.
12486 (x_figure_window_size): Support full-screen frames.
12487 (Fx_create_frame): Default the fullscreen parameter.
12488
12489 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
12490 (x_fullscreen_adjust): New functions.
12491 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
12492 fullscreen. Call x_check_fullscreen_move, and set the
12493 want_fullscreen member of output_data.w32
12494 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
12495
12496 * w32term.h: New enum for FULLSCREEN_* constants.
12497 (struct w32_output): New members want_fullscreen, x_pixels_diff,
12498 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
12499 (x-fullscreen-adjust): New prototype.
12500
12501 2002-02-17 Kim F. Storm <storm@cua.dk>
12502
12503 * frame.c: (Vmouse_highlight): New variable.
12504 (syms_of_frame): DEFVAR_LISP it.
12505
12506 * frame.h: (Vmouse_highlight): Declare extern.
12507
12508 * xterm.h (struct x_display_info): Add mouse_face_hidden.
12509
12510 * xterm.c (disable_mouse_highlight): Removed variable.
12511 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
12512 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
12513 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
12514 and on after keyboard input.
12515 (x_term_init): Initialize mouse_face_hidden.
12516
12517 * msdos.h (struct display_info): Add mouse_face_hidden.
12518
12519 * msdos.c (disable_mouse_highlight): Removed variable.
12520 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
12521 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
12522 (internal_terminal_init): Initialize mouse_face_hidden.
12523 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
12524 and on after keyboard input.
12525
12526 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
12527
12528 * w32term.c (disable_mouse_highlight): Removed variable.
12529 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
12530 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
12531 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
12532 and on after keyboard input.
12533 (w32_initialize_display_info): Initialize mouse_face_hidden.
12534
12535 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
12536
12537 * msdos.c (last_mouse_window): New variable.
12538 (dos_rawgetc): Fix last change--if the mouse is in the same window
12539 as recorded in last_mouse_window, don't select this window.
12540
12541 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
12542
12543 * msdos.c (x_autoselect_window_p): New variable.
12544 (syms_of_msdos): Defvar it.
12545 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
12546 which the last mouse movement occured, unless it is already selected.
12547
12548 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
12549 New variables.
12550 (syms_of_xdisp): DEVFAR them.
12551 (hscroll_window_tree): Use automatic_hscroll_margin and
12552 Vautomatic_hscroll_step to compute the amount of window scrolling.
12553
12554 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12555
12556 * xterm.c (x-autoselect-window): New variable.
12557 (note_mouse_movement): Use it.
12558
12559 * keyboard.c: Do not include "systime.h" twice.
12560
12561 2002-02-15 Andreas Schwab <schwab@suse.de>
12562
12563 * puresize.h (PURESIZE_RATIO): Increase to 9/5.
12564
12565 * alloc.c (NSTATICS): Increase to 1280.
12566
12567 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
12568
12569 * alloc.c (NSTATICS): Bump to 1026.
12570
12571 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
12572 (Vx_super_keysym): New variables.
12573 (syms_of_xterm): DEFVAR_LISP them.
12574 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
12575 variables to determine which keys to use for the various modifiers.
12576
12577 2002-02-13 Kim F. Storm <storm@cua.dk>
12578
12579 * window.c: (Vmode_line_in_non_selected_windows): Removed.
12580 (mode_line_in_non_selected_windows): New variable.
12581 (syms_of_window): DEFVAR_BOOL it.
12582
12583 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
12584 Use mode_line_in_non_selected_windows.
12585 (mode_line_in_non_selected_windows): Declare extern.
12586 (Vmode_line_in_non_selected_windows): Removed extern.
12587
12588 2002-02-13 Richard M. Stallman <rms@gnu.org>
12589
12590 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
12591 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
12592 (Fclear_this_command_keys): Doc fixes.
12593
12594 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
12595 (update_face_from_frame_parameter): Increment face_change_count
12596 and windows_or_buffers_changed to force redisplay using changed faces.
12597
12598 * xdisp.c (QCpropertize): New variable.
12599 (mode_line_proptrans_alist): New variable.
12600 (display_mode_element): New arg PROPS; all calls changed.
12601 Implement this, for strings.
12602 Handle literal output of strings by sharing the
12603 main-line code for strings, using local var `literal'.
12604 Handle :propertize feature.
12605 (syms_of_xdisp): Initialze and staticpro QCpropertize and
12606 mode_line_proptrans_alist.
12607
12608 2002-02-11 Kim F. Storm <storm@cua.dk>
12609
12610 * window.c: (Vmode_line_in_non_selected_windows): New variable.
12611 (syms_of_window): DEFVAR_LISP it.
12612
12613 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
12614 (CURRENT_MODE_LINE_FACE_ID): Use it.
12615 (Vmode_line_in_non_selected_windows): Declare extern.
12616
12617 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
12618 to get mode line face.
12619
12620 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
12621
12622 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
12623 variables; cus-start.el doesn't need them anymore.
12624
12625 2002-02-09 Kim F. Storm <storm@cua.dk>
12626
12627 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
12628 reduction. This fixes a display problem where stray newlines were
12629 inserted in the window (corrected by C-l). Clarified code (IMHO).
12630
12631 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
12632
12633 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
12634
12635 * xdisp.c (display_mode_lines): Fix last change.
12636
12637 2002-02-09 Jason Rumney <jasonr@gnu.org>
12638
12639 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
12640 match each other.
12641 (w32_load_system_font): Prevent Cleartype fonts from loading.
12642 (Fx_show_tip): Ensure tip frames are above other topmost windows.
12643
12644 2002-02-09 Kim F. Storm <storm@cua.dk>
12645
12646 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
12647 (CURRENT_MODE_LINE_HEIGHT): Use it.
12648 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
12649
12650 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
12651 (pos_visible_p, handle_face_prop): Likewise.
12652 (display_mode_lines): Likewise, but for the real selected window.
12653 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
12654
12655 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
12656 in non-selected windows.
12657 (realize_basic_faces): Realize it.
12658 (syms_of_term): Intern and staticpro it.
12659
12660 2002-02-08 Kim F. Storm <storm@cua.dk>
12661
12662 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
12663 Changed mail addresses to emacs-devel@gnu.org.
12664
12665 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
12666
12667 * fileio.c (Fsubstitute_in_file_name): If the file name includes
12668 ~user, and there's no such user, don't discard everything before ~user.
12669
12670 * floatfns.c (Fround): Doc fix.
12671
12672 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12673
12674 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
12675
12676 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
12677
12678 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
12679
12680 2002-02-07 Kim F. Storm <storm@cua.dk>
12681
12682 * keymap.c (where_is_internal): Only check whether definition is
12683 remapped if it fulfills is_command_symbol.
12684
12685 2002-02-07 Andreas Schwab <schwab@suse.de>
12686
12687 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
12688
12689 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
12690
12691 2002-02-06 Kim F. Storm <storm@cua.dk>
12692
12693 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
12694 defining command remapping. Doc updated.
12695 (Flookup_key): Remap command through keymap if KEY is a symbol.
12696 (is_command_symbol): New function.
12697 (Fkey_binding): Use it. New optional argument NO-REMAP.
12698 Doc updated. Callers changed. Perform command remapping via
12699 recursive call unless that arg is non-nil.
12700 (where_is_internal): New argument no_remap. Callers changed.
12701 Call recursively to find original key bindings for a remapped
12702 comand unless that arg is non-nil.
12703 (Fwhere_is_internal): New optional argument NO-REMAP.
12704 Doc updated. Callers changed. Pass arg to where_is_internal.
12705
12706 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
12707 (is_command_symbol): Added prototype.
12708
12709 * keyboard.c (Vthis_original_command): New variable.
12710 (syms_of_keyboard): DEFVAR_LISP it.
12711 (command_loop_1): Set it, and perform command remapping.
12712
12713 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12714
12715 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
12716
12717 2002-02-06 Jason Rumney <jasonr@gnu.org>
12718
12719 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
12720
12721 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
12722
12723 * charset.c (get_charset_id): Use if-else instead of ?:.
12724
12725 2002-02-06 Richard M. Stallman <rms@gnu.org>
12726
12727 * filelock.c (S_ISLNK): Define if not defined.
12728
12729 2002-02-03 Richard M. Stallman <rms@gnu.org>
12730
12731 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
12732
12733 * lread.c (read1): Redesign strategy for force_multibyte and
12734 force_singlebyte. Now is_multibyte records whether read_buffer
12735 is multibyte. Encountering any multibyte character makes it so.
12736
12737 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
12738
12739 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
12740 with the same sequence, map that sequence to f10 rather than f0.
12741
12742 2002-02-03 Andreas Schwab <schwab@suse.de>
12743
12744 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
12745 latter never being defined on GNU/Linux.
12746
12747 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
12748
12749 * xfaces.c (realize_default_face): Don't set the weight and slant of
12750 the default face to Qnormal, unless these attributes are unspecified.
12751
12752 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12753
12754 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
12755 Call cancel_hourglass unconditionally.
12756
12757 * eval.c (Fsignal): Remove duplicated declaration of
12758 the variable `display_hourglass_p'.
12759
12760 2002-01-31 Richard M. Stallman <rms@gnu.org>
12761
12762 * editfns.c (region_limit): Nicer error message.
12763
12764 * coding.c (decode_composition_emacs_mule):
12765 Give up if NCOMPONENT gets too large to index `component'.
12766
12767 * callint.c (check_mark): New arg to specify clearer error message.
12768 Callers changed.
12769
12770 2002-01-27 Richard M. Stallman <rms@gnu.org>
12771
12772 * minibuf.c (Fcompleting_read): Doc fix.
12773
12774 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12775
12776 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
12777 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
12778 Fix doc-strings.
12779
12780 2002-01-26 Richard M. Stallman <rms@gnu.org>
12781
12782 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
12783
12784 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
12785 and scroll_up_aggressively.
12786
12787 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12788
12789 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
12790
12791 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
12792
12793 * textprop.c (Fnext_property_change, Fnext_single_property_change)
12794 (Fprevious_property_change, Fprevious_single_property_change):
12795 Stay within the narrowed-buffer boundaries.
12796
12797 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
12798
12799 * term.c (Ftty_display_color_cells): New function.
12800 (syms_of_term): Defsubr it.
12801 (Ftty_display_color_cells, Ftty_display_color_p): Change the
12802 argument name to DISPLAY. Doc fix.
12803
12804 * dispextern.h: Add prototype for set_tty_color_mode and
12805 tty_setup_colors.
12806
12807 2002-01-24 Jason Rumney <jasonr@gnu.org>
12808
12809 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
12810 If region left to draw is not what was expected, mark the frame as
12811 garbaged.
12812
12813 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
12814 Combine the regions returned by BeginPaint and GetUpdateRect.
12815
12816 2002-01-23 Jason Rumney <jasonr@gnu.org>
12817
12818 * w32term.c (x_update_window_begin): Only hide caret if
12819 w32_use_visible_system_caret is set.
12820 (x_update_window_end): Only show caret if
12821 w32_use_visible_system_caret is set.
12822 (syms_of_w32term): Handle SystemParametersInfo call failing.
12823
12824 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
12825
12826 2002-01-22 Richard M. Stallman <rms@gnu.org>
12827
12828 * unexelf.c (unexec): Define n so as to cause compilation error
12829 for the code where people have often written n instead of nn.
12830
12831 * .gdbinit (hookpost-run): Defined.
12832
12833 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12834
12835 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
12836
12837 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12838
12839 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
12840 if fullscreen is being set.
12841
12842 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12843
12844 * minibuf.c (Fminibuffer_contents)
12845 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
12846 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
12847
12848 2002-01-21 Richard M. Stallman <rms@gnu.org>
12849
12850 * window.c (check_frame_size): Fix minimum height calculation.
12851
12852 2002-01-20 Ken Raeburn <raeburn@gnu.org>
12853
12854 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
12855 height before comparison.
12856 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
12857
12858 2002-01-20 Jason Rumney <jasonr@gnu.org>
12859
12860 * w32term.c (w32_system_caret_width): Remove.
12861 (w32_use_visible_system_caret): New user flag.
12862 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
12863 Windows reports a screen reader running.
12864 (x_update_window_begin): Hide the system caret.
12865 (x_update_window_end): Show the system caret.
12866 (x_display_and_set_cursor): Don't draw a cursor when
12867 w32_use_visible_system_caret is set. Do not adjust width.
12868
12869 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
12870 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
12871 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
12872 the user requests it. Use system default width when creating.
12873 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
12874
12875 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
12876 New window messages.
12877
12878 2002-01-20 Richard M. Stallman <rms@gnu.org>
12879
12880 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
12881
12882 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12883
12884 * doprnt.c (doprnt1): Fix typos in error call.
12885
12886 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
12887
12888 * unexelf.c (unexec) [__sgi]: Support the .got sections.
12889
12890 2002-01-20 Jason Rumney <jasonr@gnu.org>
12891
12892 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
12893 that Windows returns. If a double check fails, try to guess how
12894 ExtTextOut is going to act.
12895
12896 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
12897 in place of stricmp.
12898 (w32_list_synthesized_fonts): Removed.
12899 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
12900 (struct enumfont_t): New element; list.
12901 (enum_font_cb2): List all style and charset variations of a font.
12902 (Fw32_select_font): New optional argument; include_proportional.
12903 Exclude vertical fonts. Exclude proportional fonts unless
12904 include_proportional is non-nil.
12905 (w32_enable_synthesized_fonts): Change to a boolean.
12906 (Fw32_send_sys_command): Doc fix.
12907
12908 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12909
12910 * dispnew.c (update_frame): Move the variable `tem' to the block
12911 where it is used.
12912
12913 2002-01-19 Jason Rumney <jasonr@gnu.org>
12914
12915 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
12916 call to face-set-after-frame-default.
12917
12918 2002-01-18 Richard M. Stallman <rms@gnu.org>
12919
12920 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
12921 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
12922
12923 2002-01-17 Richard M. Stallman <rms@gnu.org>
12924
12925 * window.c (enlarge_window): When exceeding size of parent,
12926 directly delete all the siblings instead of trying to resize it.
12927
12928 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12929
12930 * term.c (set_tty_color_mode): Remove unused variable `tem'.
12931
12932 2002-01-16 Henrik Enberg <henrik@enberg.org>
12933
12934 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
12935
12936 2002-01-16 Kim F. Storm <storm@cua.dk>
12937
12938 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
12939 is invisible. This can happen if cursor is on top line of a
12940 window, and we switch to a buffer with a header line.
12941
12942 * w32term.c (x_erase_phys_cursor): Ditto.
12943
12944 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12945
12946 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
12947 `dont_resize' only when used.
12948
12949 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
12950
12951 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
12952
12953 * xdisp.c (display_mode_element): When computing charpos, depend
12954 on multibyteness of elt, not the text in field.
12955
12956 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12957
12958 * buffer.c (Fkill_all_local_variables):
12959 Increment `update_mode_lines' only once.
12960
12961 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12962
12963 * lisp.h (adjust_after_replace_noundo)
12964 (Fupdate_coding_systems_internal): Add prototypes.
12965
12966 * sound.c (Fplay_sound): Initialize header_size also for :data case.
12967
12968 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
12969
12970 Support for the --color command-line argument and tty-color-mode
12971 frame parameter:
12972
12973 * term.c (tty_default_color_capabilities, tty_setup_colors)
12974 (set_tty_color_mode): New functions.
12975 (term_init): Call tty_default_color_capabilities.
12976 (Qtty_color_mode_alist): New variable.
12977 (syms_of_term): Intern and staticpro it.
12978
12979 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
12980 frames.
12981 (do_switch_frame): For termcap frames, switch the tty
12982 color mode as specified by the frame's parameters.
12983 (Qtty_color_mode): New variable.
12984 (syms_of_frame): Intern and staticpro it.
12985
12986 * emacs.c (USAGE2): Add the --color option.
12987 (standard_args): Ditto.
12988
12989 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12990
12991 * xterm.h (struct x_output): New members want_fullscreen,
12992 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
12993 y_pixels_outer_diff.
12994 New enum for FULLSCREEN_* constants.
12995 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
12996 is NULL.
12997 (x_fullscreen_adjust): Add prototype.
12998
12999 * emacs.c (USAGE2): Add the new full-screen arguments.
13000 (standard_args): Ditto.
13001
13002 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
13003 New variables.
13004 (syms_of_xfns): Intern and staticpro them.
13005 (x_frame_parms) <"fullscreen">: New parameter.
13006 (x_fullscreen_move, x_set_fullscreen): New functions.
13007 (x_set_frame_parameters): Support for Qfullscreen.
13008 (x_real_positions): More accurate computation of the frame position.
13009 (x_figure_window_size): Support full-screen frames.
13010 (Fx_create_frame): Default the fullscreen parameter.
13011
13012 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
13013 (XTread_socket) <Expose>: Call x_check_fullscreen.
13014 <ConfigureNotify>: Don't resize to fullscreen.
13015 Call x_check_fullscreen_move, and set the want_fullscreen member of
13016 output_data.x.
13017
13018 2002-01-13 Jason Rumney <jasonr@gnu.org>
13019
13020 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
13021 for mice with more than 3 buttons.
13022
13023 * w32term.c (parse_button): New parameter xbutton. Callers changed.
13024 (w32_read_socket): Handle new "XBUTTON" messages.
13025
13026 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
13027 (syms_of_w32fns): DEFVAR_BOOL it.
13028 (w32_wnd_proc): Handle new "XBUTTON" messages.
13029
13030 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13031
13032 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
13033
13034 2002-01-13 Andreas Schwab <schwab@suse.de>
13035
13036 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
13037
13038 2002-01-12 Andreas Schwab <schwab@suse.de>
13039
13040 * .gdbinit (xbuffer): Remove address operator since data is now a
13041 pointer.
13042
13043 2002-01-11 Richard M. Stallman <rms@gnu.org>
13044
13045 * insdel.c (adjust_after_replace_noundo): New function.
13046
13047 * coding.c (code_convert_region): Don't copy old text if undo disabled.
13048
13049 2002-01-09 Jason Rumney <jasonr@gnu.org>
13050
13051 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
13052 when checking for multiple frames.
13053
13054 2002-01-08 Richard M. Stallman <rms@gnu.org>
13055
13056 * window.c (delete_window): Rewrite the code for changing the
13057 selected window to handle the case where WINDOW is not a leaf.
13058
13059 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
13060
13061 * process.c (send_process): Set src_multibyte to 1 after the call
13062 top setup_coding_system, not before the call.
13063
13064 2002-01-07 Jason Rumney <jasonr@gnu.org>
13065
13066 * xmenu.c (set_frame_menubar, xmenu_show):
13067 (xdialog_show): Initialize wv->help to Qnil.
13068
13069 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
13070 (w32_dialog_show): Initialize wv->help to Qnil.
13071
13072 2002-01-06 Jason Rumney <jasonr@gnu.org>
13073
13074 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
13075
13076 * w32menu.c (w32_menu_display_help): Revert last change.
13077
13078 * xmenu.c (menu_highlight_callback): Revert last change.
13079
13080 2002-01-06 Andreas Schwab <schwab@suse.de>
13081
13082 * insdel.c (make_gap_larger): Make sure buffer size does not
13083 overflow range of int.
13084
13085 2002-01-05 Jason Rumney <jasonr@gnu.org>
13086
13087 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
13088 OVERLAPS_P.
13089
13090 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
13091
13092 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
13093 to the left or to the right of the pointer, put it against
13094 the left screen edge.
13095 (x_frame_parms): Add missing braces around initializer.
13096
13097 * w32term.c (x_setup_relief_colors): Don't compute an image's
13098 background color if it doesn't have a Pixmap.
13099 (notice_overwritten_cursor): Don't depend on
13100 output_cursor and updated_area. Compare pixel coordinates with
13101 window's cursor pixel coordinates.
13102 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
13103 Call notice_overwritten_cursor with new arg list.
13104 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
13105 unconditionally.
13106 (x_draw_image_relief): Use predefined macro instead of
13107 constant when the value of `tool_bar_button_relief' is negative.
13108
13109 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
13110
13111 2002-01-04 Richard M. Stallman <rms@gnu.org>
13112
13113 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
13114
13115 2002-01-03 Richard M. Stallman <rms@gnu.org>
13116
13117 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
13118 (Fkey_binding): Try the `keymap' property map first.
13119 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
13120 minor mode bindings.
13121
13122 2002-01-03 Kim F. Storm <storm@cua.dk>
13123
13124 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
13125
13126 2002-01-02 Richard M. Stallman <rms@gnu.org>
13127
13128 * keyboard.c (read_key_sequence): Handle the keymap property
13129 before minor mode maps.
13130
13131 * editfns.c (Fformat): Update thissize from field_width
13132 based on the actual width, in the string case.
13133
13134 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13135
13136 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
13137 when used as truth value to prevent gcc warnings.
13138
13139 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
13140 * w32proc.c: Include <config.h>.
13141
13142 2002-01-01 Andreas Schwab <schwab@suse.de>
13143
13144 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
13145 not EMACS_INT, to make them compatible with DEFVAR_INT.
13146 * lisp.h (max_specpdl_size): Adjust declaration.
13147
13148 2002-01-01 Richard M. Stallman <rms@gnu.org>
13149
13150 * print.c (print_object): Test print_escape_nonascii only for
13151 unibyte strings.
13152 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
13153 when outputting to a multibyte buffer.
13154
13155 2001-12-29 Richard M. Stallman <rms@gnu.org>
13156
13157 * print.c (print_object): In multibyte string, use hex escapes.
13158 Use octal only for unibyte strings.
13159 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
13160
13161 * lread.c (read_escape): New arg BYTEREP for reporting whether
13162 escape forces unibyte or multibyte.
13163 (read1): When reading a string, take note of that info.
13164
13165 2001-12-29 Ken Raeburn <raeburn@gnu.org>
13166
13167 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
13168 comparison to test lisp value returned by Fget.
13169
13170 2001-12-29 Richard M. Stallman <rms@gnu.org>
13171
13172 * lisp.h (max_specpdl_size): Add declaration.
13173
13174 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
13175
13176 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
13177 Handle modifier bits. Correct typo in error message.
13178
13179 2001-12-28 Richard M. Stallman <rms@gnu.org>
13180
13181 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
13182 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
13183 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
13184 Update calls to Fdefine_abbrev.
13185 (write_abbrev): Update for changed data format.
13186 Don't list "system" abbrevs.
13187 (Fexpand_abbrev): Update use count with new data format.
13188 (describe_abbrev): Update for changed data format.
13189 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
13190
13191 * config.in (HAVE_MBSINIT): Add #undef.
13192
13193 * strftime.c (mbsinit): Define as no-op if not available.
13194
13195 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
13196 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
13197
13198 * keymap.c (Flookup_key): Error message if key has wrong data type.
13199 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
13200 (exclude_key): New variable.
13201
13202 2001-12-28 Gerd Moellmann <gerd@gnu.org>
13203
13204 * xterm.c (x_setup_relief_colors): Don't compute an image's
13205 background color if it doesn't have a Pixmap.
13206
13207 * xterm.c (notice_overwritten_cursor): Don't depend on
13208 output_cursor and updated_area. Compare pixel coordinates with
13209 window's cursor pixel coordinates.
13210 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
13211 Call notice_overwritten_cursor with new arg list.
13212 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
13213 unconditionally.
13214
13215 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
13216 height of the cursor line to the amount to scroll.
13217
13218 2001-12-27 Richard M. Stallman <rms@gnu.org>
13219
13220 * intervals.c (set_point_both): The position after an invisible,
13221 intangible character is not an acceptable stopping point.
13222
13223 2001-12-27 Ken Raeburn <raeburn@gnu.org>
13224
13225 * window.c (enlarge_window): In new preserve_before code, convert
13226 CURBEG from lisp object to integer before doing arithmetic.
13227
13228 2001-12-27 Richard M. Stallman <rms@gnu.org>
13229
13230 * bytecode.c (Fbyte_code): Undo previous change.
13231
13232 2001-12-26 Kim F. Storm <storm@cua.dk>
13233
13234 * keyboard.c (record_char): Ignore duplicate help-echo events only
13235 separated by mouse-movement. When tracking mouse, only record
13236 first and last mouse-movement event in same window.
13237 Don't record mouse-movement events in keyboard macros.
13238
13239 2001-12-25 Richard M. Stallman <rms@gnu.org>
13240
13241 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
13242 (Fenlarge_window): New arg PRESERVE_BEFORE.
13243
13244 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
13245 instead of Fstring_as_unibyte.
13246
13247 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13248
13249 The following changes remove mocklisp support:
13250
13251 * mocklisp.h, mocklisp.c: Files removed.
13252
13253 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
13254 `Qmocklisp' and `Qmocklisp_arguments'.
13255 Remove prototype of syms_of_mocklisp.
13256
13257 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
13258
13259 * callint.c: Do not include mocklisp.h.
13260 (Fcall_interactively): Do not test for mocklisp case.
13261
13262 * eval.c: Remove variables `Qmocklisp_arguments',
13263 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
13264 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
13265 Do not test for mocklisp case.
13266 (Fwhile): Remove unused variable `tem'.
13267 (syms_of_eval): Remove variable `moclisp-arguments'.
13268
13269 * data.c (wrong_type_argument): Remove mocklisp case.
13270
13271 * doc.c (Fdocumentation): Remove mocklisp case.
13272
13273 * emacs.c (main): Do not call syms_of_mocklisp.
13274
13275 2001-12-21 Richard M. Stallman <rms@gnu.org>
13276
13277 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
13278 to the left or to the right of the pointer, put it against
13279 the left screen edge.
13280
13281 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
13282
13283 * Makefile.in (distclean): Remove .gdbinit if we are building
13284 outside the source tree.
13285
13286 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
13287
13288 * w32.c (emacs_root_dir): New function.
13289
13290 * msdos.c (emacs_root_dir): New function.
13291
13292 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
13293 of the current drive as the fallback for default_directory.
13294
13295 * dired.c (file_name_completion): Run the elements of
13296 completion-ignored-extensions through ENCODE_FILE.
13297
13298 * lisp.h (scmp): Remove prototype, since it's now a static
13299 function private to dired.c.
13300
13301 2001-12-18 Richard M. Stallman <rms@gnu.org>
13302
13303 * dired.c (scmp): Function moved from minibuf.c.
13304 Delete multibyte handling--used only on encoded strings.
13305
13306 * minibuf.c (scmp): Function moved to dired.c.
13307
13308 * fns.c (merge): Add QUIT call.
13309
13310 2001-12-18 Dave Love <fx@gnu.org>
13311
13312 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
13313 language/georgian.el.
13314
13315 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
13316
13317 * Makefile.in (lisp, shortlisp): Synchronize with changes to
13318 lisp/Makefile.in:DONTCOMPILE.
13319
13320 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13321
13322 * xdisp.c (window_box_height): Do not return negative values.
13323 From Gerd Moellmann <gerd@gnu.org>.
13324
13325 * keyboard.c (head_table): Add missing braces around initializer.
13326
13327 * term.c (keys): Likewise.
13328
13329 * xfns.c (x_frame_parms, visual_classes): Likewise.
13330
13331 2001-12-17 Sam Steingold <sds@gnu.org>
13332
13333 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
13334 patch (COMPOSING_P, not COMPOSING).
13335
13336 2001-12-17 Richard M. Stallman <rms@gnu.org>
13337
13338 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
13339
13340 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
13341 before calling decode_coding.
13342
13343 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
13344
13345 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
13346 instead of only for COMPOSITION_DISABLED.
13347
13348 2001-12-16 Richard M. Stallman <rms@gnu.org>
13349
13350 * alloc.c (pure_alloc): After overflow, allocate just a small block.
13351
13352 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
13353
13354 * buffer.h (struct buffer): New field `display_error_modiff'.
13355 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
13356
13357 * window.c (Frecenter): Clear display_error_modiff field.
13358
13359 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
13360 Call redisplay_window, but not if display_error_modiff field says no.
13361 (redisplay_window_error): New function.
13362 (displayed_buffer): New variable.
13363 (redisplay_internal, redisplay_windows): Call the new functions
13364 instead of redisplay_window directly.
13365
13366 2001-12-15 Richard M. Stallman <rms@gnu.org>
13367
13368 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
13369
13370 2001-12-14 Andrew Innes <andrewi@gnu.org>
13371
13372 * makefile.w32-in (EMACSLOADPATH): Define.
13373 ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs.
13374 (bootstrap-temacs): Remove dependency on bootstrap-clean.
13375
13376 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
13377
13378 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
13379 parameter have a numeric value all the time.
13380
13381 * w32fns.c (x_report_frame_params): Likewise.
13382
13383 2001-12-12 Richard M. Stallman <rms@gnu.org>
13384
13385 * fileio.c (Fwrite_region): Doc fix.
13386
13387 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
13388 (redisplay_internal): Call clear_image_cache only for window terminals.
13389
13390 2001-12-12 Gerd Moellmann <gerd@gnu.org>
13391
13392 * xdisp.c (move_it_vertically_backward): Change heuristic
13393 for the case that we didn't move far enough initially.
13394
13395 * window.c (Frecenter): Simplify computation in the case of window
13396 system frames and ARG < 0; use window_box_height.
13397
13398 2001-12-11 Richard M. Stallman <rms@gnu.org>
13399
13400 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
13401 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
13402
13403 2001-12-11 Andrew Innes <andrewi@gnu.org>
13404
13405 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
13406 arg is negative.
13407
13408 2001-12-11 Richard M. Stallman <rms@gnu.org>
13409
13410 * m/hp800.h: Split the __hpux conditional into the parts
13411 that are right for GNU/Linux too and the parts that are not.
13412 Use the former if GNU_LINUX.
13413 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
13414
13415 * s/gnu-linux.h (GNU_LINUX): Defined.
13416
13417 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13418
13419 * macros.c, msdos.c, w16select.c: Change doc-string comments to
13420 `new style' [w/`doc:' keyword].
13421
13422 2001-12-10 Jason Rumney <jasonr@gnu.org>
13423
13424 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
13425 before using.
13426
13427 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13428
13429 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
13430 keyword].
13431
13432 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
13433
13434 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
13435
13436 * s/hpux10.h (srand48): Don't undefine.
13437
13438 2001-12-09 Jason Rumney <jasonr@gnu.org>
13439
13440 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
13441 Add comment to explain where the struct came from.
13442 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
13443 (add_menu_item): Process pop-up menus first to avoid memory leak.
13444 (add_menu_item, w32_menu_display_help): Use `help' field as
13445 Lisp_Object.
13446 (w32_free_submenu_strings): Only free owner-drawn strings.
13447
13448 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13449
13450 * COPYING: Moved back.
13451
13452 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
13453 Add parentheses around && within ||.
13454
13455 * indent.c (compute_motion): Likewise.
13456
13457 * intervals.c (merge_properties_sticky): Likewise.
13458
13459 * coding.c (setup_coding_system, shrink_encoding_region)
13460 (Fdecode_sjis_char): Likewise.
13461
13462 2001-12-07 Andreas Schwab <schwab@suse.de>
13463
13464 * xdisp.c (display_mode_element): Don't read past end of string if
13465 it ends with '%'.
13466
13467 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
13468 can hold.
13469
13470 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
13471 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
13472 type changed to Lisp_Object.
13473 (syms_of_data): DEFVAR_LISP them.
13474
13475 2001-12-07 Richard M. Stallman <rms@gnu.org>
13476
13477 * callproc.c (init_callproc): Set Vdata_directory based on the source
13478 location whenever Emacs was run uninstalled.
13479
13480 2001-12-06 Paul Eggert <eggert@twinsun.com>
13481
13482 * config.in (HAVE_WORKING_VFORK): New #undefs.
13483 * process.c (create_process):
13484 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
13485 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
13486 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
13487 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
13488 * m/intel386.h (HAVE_VFORK): Likewise.
13489 * m/mips-siemens.h (HAVE_VFORK): Likewise.
13490 * m/mips.h (HAVE_VFORK): Likewise.
13491 * s/freebsd.h (vfork): Remove #define.
13492 * s/lynxos.h (HAVE_VFORK): Remove #undef.
13493 * s/usg5-4-2.h: Fix comment about vfork.
13494
13495 2001-12-06 Richard M. Stallman <rms@gnu.org>
13496
13497 * s/hpux10.h (random): Add undef.
13498 (HAVE_RANDOM): Define it just once.
13499
13500 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
13501
13502 * eval.c: Undo last change: the standard syntax is not wanted.
13503
13504 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
13505
13506 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
13507 scroll bars of the frame before deleting the frame itself. If the
13508 frame has a widget, delete the frame with XtDestroyWidget, and do
13509 not call XDestroyWindow before that.
13510
13511 2001-12-06 Kim F. Storm <storm@cua.dk>
13512
13513 * xfns.c (x_report_frame_params): Return actual fringe widths.
13514
13515 * w32fns.c (x_report_frame_params): Return actual fringe widths.
13516
13517 2001-12-05 Andrew Innes <andrewi@gnu.org>
13518
13519 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
13520 excessively large.
13521
13522 * insdel.c (make_gap_larger): New function.
13523 (make_gap_smaller): New function.
13524 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
13525 Call make_gap_smaller if arg is negative.
13526
13527 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
13528
13529 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
13530 Pass a dummy argument when calling interrupt_signal.
13531 (parse_menu_item): Mark disabled items before checking for empty def.
13532 (read_char_minibuf_menu_prompt): Make safety more visible.
13533 (read_key_sequence): Add a `first_unbound' variable.
13534 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
13535 unbound prefix as soon as we can detect it.
13536
13537 * doc.c (Fsnarf_documentation): Add prototype.
13538 (get_doc_string): Handle negative arguments.
13539 (Fdocumentation): Use AREF and ASIZE.
13540 Move the calls to get_doc_string to a single place.
13541 Don't confuse an interactive-spec for a docstring reference.
13542 (Fdocumentation_property): Take advantage of the fact that
13543 get_doc_string now ignores the sign of the docstring position.
13544
13545 * eval.c: Use standard syntax for usage in docstrings.
13546
13547 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13548
13549 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
13550
13551 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13552
13553 * xterm.c (x_draw_image_relief): Use predefined macro instead of
13554 constant when the value of `tool_bar_button_relief' is negative.
13555
13556 2001-12-02 Richard M. Stallman <rms@gnu.org>
13557
13558 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
13559 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
13560
13561 * fileio.c (read_non_regular): Delete Fsignal call.
13562
13563 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
13564
13565 * lisp.h (run_hook_list_with_args): Undo last change.
13566
13567 2001-12-01 Gerd Moellmann <gerd@gnu.org>
13568
13569 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
13570
13571 2001-12-01 Jason Rumney <jasonr@gnu.org>
13572
13573 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
13574
13575 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
13576 [!WM_MOUSELEAVE]: Define.
13577
13578 * w32menu.c (current_popup_menu, get_menu_item_info):
13579 (set_menu_item_info): New vars.
13580 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
13581 (w32_menu_show): Set current_popup_menu.
13582 (add_menu_item): Allocate new strings for owner-drawn menu items
13583 and help strings.
13584 Use owner-draw for disabled menu items again.
13585 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
13586 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
13587
13588 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
13589 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
13590 <WM_EXITMENULOOP>: Free menu strings.
13591 <WM_MOUSELEAVE>: Stop tracking mouse.
13592 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
13593
13594 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
13595 and mouse face.
13596
13597 2001-12-01 Kim F. Storm <storm@cua.dk>
13598
13599 The following changes add left-fringe and right-fringe
13600 frame parameters to adjust fringe widths, or remove one or
13601 both fringes.
13602
13603 * frame.h (struct frame): Remove trunc_area_pixel_width and
13604 trunc_area_cols fields.
13605 (Qleft_fringe, Qright_fringe): Declare.
13606 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
13607
13608 * frame.c (Qleft_fringe, Qright_fringe): New vars.
13609 (syms_of_frame): Initialize them.
13610
13611 * window.c (coordinates_in_window): Handle separate left and right
13612 fringe widths.
13613
13614 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
13615 and fringe_cols fields.
13616 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
13617 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
13618 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
13619 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
13620 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
13621 (x_compute_fringe_widths): Add prototype.
13622
13623 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
13624 fill fringe evenly with small dashes.
13625 (x_draw_fringe_bitmap): Clear background if necessary. Align and
13626 clip the new ZV bitmap to avoid jitter between rows.
13627 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
13628 background. Don't draw fringe bitmaps if fringe width is zero.
13629 (x_compute_fringe_widths): New function.
13630 (x_new_font, x_set_window_size_1): Use it.
13631
13632 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
13633 (x_set_frame_parameters): Process `font' parameter before other
13634 parameters as fringe widths depend on it.
13635 (x_set_fringe_width): New function.
13636 (x_figure_window_size): Use x_compute_fringe_widths.
13637 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
13638 parameters.
13639
13640 * widget.c (set_frame_size): Use x_compute_fringe_widths.
13641 (EmacsFrameSetCharSize): Ditto.
13642
13643 * w32term.h: Merged changes from xterm.h.
13644 * w32term.c: Merged changes from xterm.c.
13645 * w32fns.c: Merged changes from xfns.c.
13646
13647 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13648
13649 * COPYING: Removed.
13650
13651 2001-11-29 Dave Love <fx@gnu.org>
13652
13653 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
13654 extra extra slot.
13655 (detect_coding_mask): Fix call of detect_coding_iso2022.
13656
13657 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13658
13659 * fileio.c (file-name-coding-system)
13660 (default-file-name-coding-system): Doc fix (links to referenced
13661 variables added).
13662
13663 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
13664
13665 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
13666 Add dummy uses of gcproN variables.
13667
13668 * category.c (describe_category, describe_category_1)
13669 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
13670 (syms_of_category): Don't defsubr Sdescribe_categories.
13671
13672 2001-11-28 Richard M. Stallman <rms@gnu.org>
13673
13674 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
13675
13676 * Makefile.in (lispdir): New variable, referring to build dir.
13677 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
13678
13679 2001-11-28 Andrew Innes <andrewi@gnu.org>
13680
13681 * w32menu.c (w32_menu_display_help): Actually add the new argument
13682 OWNER.
13683
13684 2001-11-28 Jason Rumney <jasonr@gnu.org>
13685
13686 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
13687 menu items. From David Ponce <dponce@wanadoo.fr>.
13688 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
13689 conditionally.
13690 (w32_menu_display_help): New argument OWNER. Rewritten to store a
13691 help event in the owner frame's keyboard buffer.
13692
13693 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
13694 (Fx_show_tip): Don't subtract last width from row width.
13695
13696 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
13697 (w32_read_socket): Use EQ to compare frames.
13698
13699 2001-11-28 Gerd Moellmann <gerd@gnu.org>
13700
13701 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
13702 OVERLAPS_P.
13703
13704 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13705
13706 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
13707 `gcpro3' and `gcpro4'.
13708
13709 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
13710
13711 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
13712
13713 * ccl.c: Use AREF and ASIZE.
13714
13715 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
13716
13717 * lisp.h (run_hook_list_with_args): Remove.
13718 (LIST_END_P): Fix call to wrong_type_argument.
13719 (make_fixnum_or_float): Use EMACS_INT rather than int.
13720
13721 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
13722
13723 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
13724 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
13725
13726 * eval.c: Use AREF and ASIZE.
13727 (Ffetch_bytecode): Add the file name to the error message.
13728
13729 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
13730 which match the end of the file-name.
13731 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
13732 is not a valid env var, but leave it as is instead.
13733
13734 * keymap.c (access_keymap): Handle t bindings like nil bindings.
13735 Make nil bindings in char-tables transparent.
13736 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
13737
13738 2001-11-26 Richard M. Stallman <rms@gnu.org>
13739
13740 * textprop.c (set_text_properties_1): Allow START, END in either order.
13741 Do nothing if range is empty.
13742
13743 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
13744
13745 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
13746 (clean): Not here.
13747
13748 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
13749
13750 * textprop.c (set_text_properties_1): Clearly mark that the
13751 interval should not be empty.
13752
13753 * intervals.c (graft_intervals_into_buffer):
13754 Don't call set_text_properties_1 on an empty interval.
13755
13756 2001-11-25 Richard M. Stallman <rms@gnu.org>
13757
13758 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
13759
13760 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
13761 don't lose the data in it.
13762
13763 2001-11-25 Juanma Barranquero <lektu@terra.es>
13764
13765 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
13766
13767 * buffer.c (Fkill_buffer): Likewise.
13768
13769 * print.c (temp_output_buffer_setup): Likewise.
13770
13771 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
13772
13773 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
13774
13775 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
13776
13777 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
13778 Niemitalo <kon@iki.fi>.
13779
13780 2001-11-25 Jason Rumney <jasonr@gnu.org>
13781
13782 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
13783
13784 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
13785 (Fx_show_tip): Block input during frame creation.
13786 (Fx_show_tip, Fx_hide_tip): Enable.
13787
13788 2001-11-24 Richard M. Stallman <rms@gnu.org>
13789
13790 * lread.c (Fload): Detect recursive load error for more than 3
13791 nestings of the same file.
13792 (Vrecursive_load_depth_limit): Variable deleted.
13793 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
13794
13795 2001-11-24 Jason Rumney <jasonr@gnu.org>
13796
13797 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
13798 mouse position if either left or top is not specified.
13799
13800 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
13801 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
13802 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
13803 (my_create_tip_window): Assign tip_window.
13804 (x_create_tip_frame): Use same defaults as X.
13805 (compute_tip_xy): Remove unused variable. Use full screen width.
13806 (Fx_show_tip): Do not double height. Call ShowWindow directly.
13807
13808 * w32term.c (x_after_update_window_line): Doc fix.
13809 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
13810 frames.
13811 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
13812
13813 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
13814 for all Windowed systems.
13815
13816 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
13817
13818 * msdos.c (IT_clear_screen): If the frame's faces are not yet
13819 realized, use the initial screen colors to clear the screen.
13820
13821 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13822
13823 * textprop.c (Fset_text_properties): Remove unused variables
13824 `unchanged', `prev_changed', `s' and `len'.
13825
13826 * search.c (Freplace_match): Remove unused variable `inslen'.
13827
13828 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
13829
13830 2001-11-22 Jason Rumney <jasonr@gnu.org>
13831
13832 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
13833 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
13834 (my_create_tip_window): New function.
13835 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
13836 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
13837
13838 2001-11-20 Jason Rumney <jasonr@gnu.org>
13839
13840 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
13841 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
13842
13843 * w32fns.c (Vw32_system_coding_system): Remove.
13844 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
13845
13846 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
13847
13848 * fileio.c (Fwrite_region): Move choose_write_coding_system to
13849 after build_annotations.
13850
13851 * syntax.c (describe_syntax): Add dummy arg.
13852 (describe_syntax_1): Update call to describe_vector.
13853
13854 * category.c (describe_category): Add dummy arg.
13855 (describe_category_1): Update call to describe_vector.
13856
13857 * keymap.c (Fdescribe_vector): Add `describer' parameter.
13858 (describe_command, describe_translation): Add dummy second param.
13859 (describe_map): Call elt_describer with two arguments.
13860 (describe_vector_princ): Add `fun' parameter.
13861 Call it instead of the hardcoded `princ'.
13862 (describe_vector): Add arg `args'.
13863 Pass it as a new second argument to elt_describer.
13864
13865 * keymap.h (describe_vector): Update prototype.
13866
13867 * frame.c: Don't include keymap.h any more.
13868 (keys_of_frame): Remove.
13869
13870 * lisp.h (keys_of_frame): Remove declaration.
13871
13872 * emacs.c (main): Don't call `keys_of_frame' any more.
13873
13874 2001-11-14 Andreas Schwab <schwab@suse.de>
13875
13876 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
13877 if defined, 0 otherwise.
13878 (MAP_FAILED): Define if not defined and use it to test mmap failure.
13879 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
13880
13881 2001-11-19 Richard M. Stallman <rms@gnu.org>
13882
13883 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
13884
13885 2001-11-18 Jason Rumney <jasonr@gnu.org>
13886
13887 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
13888 (x_draw_bar_cursor): If the background color of the glyph under
13889 the cursor equals the frame's cursor color, use the glyph's
13890 foreground color for drawing the bar cursor.
13891 (x_after_update_window_line): Clear internal border in different
13892 circumstances.
13893 (w32_set_vertical_scroll_bar): Check for width and height > 0.
13894 (w32_draw_relief_rect): Correct relief by 1 pixel.
13895 (x_set_glyph_string_background_width):
13896 Set extends_to_end_of_line_p if the row's fill_line_p is set and
13897 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
13898 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
13899 if cursor_in_non_selected_windows is false.
13900 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
13901 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
13902 Notice if cursor gets overwritten.
13903 (notice_overwritten_cursor): Renamed from
13904 note_overwritten_text_cursor. Rewritten to take glyph widths
13905 into account, and to take X positions as parameters.
13906 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
13907 around call to x_draw_glyphs.
13908 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
13909 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
13910 color to use for image glyph reliefs.
13911 (x_draw_image_relief): Accept zero tool_bar_button_relief.
13912 (glyph_rect): Remove unused variable `area'.
13913
13914 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
13915 some items.
13916 (x_set_internal_border_width): Set frame garbaged when window
13917 doesn't exist yet.
13918 (Fx_create_frame): Accept zero tool_bar_button_relief.
13919 (x_clear_image_1, four_corners_best, image_background)
13920 (image_background_transparent): New functions.
13921 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
13922 (gs_format): Add `:background' entry.
13923 (lookup_image): Set IMG's background color if specified.
13924 (pbm_load, xbm_load_image, png_load): Set IMG's background field
13925 when appropriate.
13926 (x_clear_image_1): Reset `background_valid' and
13927 `background_transparent_valid' fields.
13928 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
13929 calculating it here. Set IMG's background_transparent field.
13930 (enum xpm_keyword_index): Add XPM_BACKGROUND.
13931 (enum png_keyword_index): Add PNG_BACKGROUND.
13932 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
13933 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
13934 (enum gif_keyword_index): Add GIF_BACKGROUND.
13935 (enum gs_keyword_index): Add GS_BACKGROUND.
13936 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
13937 Pre-calculate image background color where necessary.
13938 (x_create_x_image_and_pixmap, xbm_load, gs_load):
13939 Use display info's n_cbits entry for screen depth.
13940 (Fx_show_tip): Remove unused variables `buffer', `top',
13941 `left', `max_width' and `max_height'.
13942
13943 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
13944
13945 2001-11-18 Gerd Moellmann <gerd@gnu.org>
13946
13947 * puresize.h (BASE_PURESIZE): Increase to 750000.
13948
13949 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13950
13951 * frame.c (Fframe_live_p): Doc fix.
13952
13953 2001-11-18 Richard M. Stallman <rms@gnu.org>
13954
13955 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
13956 (message_dolog_marker3): New static variables hold three markers.
13957 (syms_of_xdisp): Initialize and staticpro them.
13958 (message_dolog): Use message_dolog_marker1..3 instead of
13959 allocating markers each time. Unchain them when done.
13960
13961 2001-11-17 Richard M. Stallman <rms@gnu.org>
13962
13963 * doc.c (Fsnarf_documentation): Doc fix.
13964
13965 2001-11-17 Andreas Schwab <schwab@suse.de>
13966
13967 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
13968
13969 2001-11-17 Richard M. Stallman <rms@gnu.org>
13970
13971 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
13972
13973 2001-11-17 Jason Rumney <jasonr@gnu.org>
13974
13975 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
13976
13977 2001-11-17 Gerd Moellmann <gerd@gnu.org>
13978
13979 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
13980 with invalid position.
13981
13982 2001-11-16 Richard M. Stallman <rms@gnu.org>
13983
13984 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
13985
13986 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
13987 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
13988 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
13989
13990 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
13991
13992 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
13993
13994 * fileio.c (build_annotations): Split off the tail.
13995 (build_annotations_2): New fun. Extracted from build_annotations.
13996 (Fwrite_region): Split the call to build_annotations into two
13997 calls to build_annotations and build_annotations_2.
13998
13999 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14000
14001 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
14002 clear_waiting_for_input with argument.
14003
14004 * xterm.h (x_update_cursor): Remove duplicated prototype.
14005
14006 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
14007
14008 * xterm.c (waiting_for_input): Remove unnecessary declaration.
14009
14010 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
14011
14012 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
14013
14014 * fileio.c (choose_write_coding_system): New fun, extracted
14015 from Fwrite_region.
14016 (Fwrite_region): Use it.
14017
14018 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
14019 (funcall_lambda, run_hook_with_args): Make static and add prototype.
14020 (ml_apply, find_handler_clause): Add prototype.
14021
14022 2001-11-16 Eli Zaretskii <eliz@gnu.org>
14023
14024 * config.in: Add #undef HAVE_COFF_H.
14025
14026 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
14027 Required for ISC 4.1.
14028
14029 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
14030
14031 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
14032 Andrew Wiseman <a.wiseman@btclick.com>.
14033
14034 2001-11-16 Kim F. Storm <storm@cua.dk>
14035
14036 The following changes are made to clean up the various internal
14037 references to the fringes to actually use the term `fringe' for
14038 them. Previously, they were called `flags areas', `bitmap areas',
14039 `left/right side of windows', or implicitly as `flags' or
14040 `bitmaps':
14041
14042 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
14043 Comments fixed. Use renamed symbols.
14044
14045 * dispnew.c: Comment fix. Use renamed symbols.
14046
14047 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
14048 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
14049 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
14050
14051 * msdos.c: Comment fix.
14052
14053 * w32fns.c: Use renamed symbols.
14054
14055 * w32term.c: Comment fixes. Use renamed symbols.
14056 (fringe_bitmap_type): Renamed from bitmap_type.
14057 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
14058 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
14059 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
14060
14061 * w32term.h: Comment fixes. Use renamed symbols.
14062 (fringes_extra): Renamed from flags_areas_extra.
14063 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
14064 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
14065 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
14066 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
14067 (FRAME_X_LEFT_FRINGE_WIDTH):
14068 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
14069 (FRAME_X_RIGHT_FRINGE_WIDTH):
14070 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
14071
14072 * widget.c: Use renamed symbols.
14073
14074 * window.c: Comment fixes. Use renamed symbols.
14075 (coordinates-in-window-p): Doc fix.
14076
14077 * xdisp.c: Comment fixes. Use renamed symbols.
14078
14079 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
14080
14081 * xfns.c: Use renamed symbols.
14082
14083 * xterm.c: Comment fixes. Use renamed symbols.
14084 (fringe_bitmap_type): Renamed from bitmap_type.
14085 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
14086 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
14087 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
14088
14089 * xterm.h: Comment fixes. Use renamed symbols.
14090 (fringes_extra): Renamed from flags_areas_extra.
14091 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
14092 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
14093 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
14094 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
14095 (FRAME_X_LEFT_FRINGE_WIDTH):
14096 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
14097 (FRAME_X_RIGHT_FRINGE_WIDTH):
14098 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
14099
14100 2001-11-15 Jason Rumney <jasonr@gnu.org>
14101
14102 * w32menu.c (add-menu-item): Make help_echo and radio buttons
14103 work for most menu items. From David Ponce
14104 <david.ponce@wanadoo.fr>.
14105
14106 2001-11-15 Gerd Moellmann <gerd@gnu.org>
14107
14108 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
14109 Some x_set_* function expect to be called even if old and new
14110 value are equal.
14111
14112 * xdisp.c (build_desired_tool_bar_string): Accept zero
14113 tool_bar_button_relief.
14114
14115 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
14116
14117 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
14118
14119 * xterm.c (x_draw_bar_cursor): If the background color of the
14120 glyph under the cursor equals the frame's cursor color, use
14121 the glyph's foreground color for drawing the bar cursor.
14122
14123 * dispnew.c (direct_output_forward_char): Fix character/byte
14124 position comparison.
14125
14126 2001-11-15 Miles Bader <miles@gnu.org>
14127
14128 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
14129 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
14130 Update arguments to find_field.
14131 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
14132 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
14133 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
14134 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
14135
14136 2001-11-14 Richard M. Stallman <rms@gnu.org>
14137
14138 * editfns.c (Fpropertize): Allow call with 1 arg.
14139
14140 * dispextern.h (image_background, image_background_transparent):
14141 Conditionalize on HAVE_X_WINDOWS.
14142
14143 2001-11-13 Richard M. Stallman <rms@gnu.org>
14144
14145 * print.c (Fprin1_to_string): Doc fix.
14146
14147 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
14148
14149 * floatfns.c (Fceiling, Ffloor): Doc fixes.
14150
14151 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
14152
14153 * fileio.c (Ffile_accessible_directory_p): Doc fix.
14154
14155 * eval.c (syms_of_eval): Doc fix.
14156
14157 * coding.c (syms_of_coding): Doc fix.
14158
14159 * doc.c (Fsnarf_documentation): Doc fix.
14160
14161 * dispnew.c (syms_of_display): Doc fix.
14162
14163 * category.c (Fget_unused_category): Doc fix.
14164
14165 * buffer.c (syms_of_buffer): Doc fixes.
14166
14167 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
14168
14169 * print.c (prin1, print): Doc fix.
14170
14171 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14172
14173 * fontset.h: Remove declarations of variables
14174 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
14175
14176 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
14177 `Vclip_large_size_font'.
14178
14179 2001-11-13 Jason Rumney <jasonr@gnu.org>
14180
14181 * w32fns.c: Doc fix.
14182
14183 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14184
14185 * xfaces.c (Fface_attributes_as_vector): Doc fix.
14186
14187 * fns.c: Doc fix.
14188
14189 * emacs.c: Doc fix.
14190
14191 * coding.c: Doc fix.
14192
14193 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
14194 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
14195 `new style' [w/`doc:' keyword].
14196
14197 2001-11-12 Richard M. Stallman <rms@gnu.org>
14198
14199 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
14200 LeaveNotify events. Only FocusIn and FocusOut do that now.
14201 (x_display_and_set_cursor): Do display hollow cursors in active
14202 minibuffer windows when they are not selected.
14203
14204 2001-11-12 Jason Rumney <jasonr@gnu.org>
14205
14206 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
14207 * w32term.c: Change doc-string comments to `new style'
14208 [w/`doc:' keyword]. Doc fixes.
14209
14210 * w32fns.c: Don't define max.
14211 (Fx_open_connection): Only execute once.
14212
14213 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14214
14215 * ccl.c: Change macros to use do-while block instead of if-else.
14216 Use braces to follow GNU Coding Standards.
14217
14218 2001-11-11 Richard M. Stallman <rms@gnu.org>
14219
14220 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
14221
14222 * lread.c (read_escape): Use end_of_file_error for reporting eof.
14223
14224 * insdel.c (replace_range): Use adjust_markers_for_replace
14225 instead of adjust_markers_for_delete and adjust_markers_for_insert.
14226
14227 * intervals.h: Declare set_text_properties and set_text_properties_1.
14228
14229 * textprop.c (set_text_properties_1): New subroutine
14230 broken out of set_text_properties.
14231 (set_text_properties): Use set_text_properties_1.
14232
14233 * intervals.c (graft_intervals_into_buffer):
14234 Use set_text_properties_1 to clear out properties.
14235
14236 * search.c (Freplace_match): Use replace_range to insert
14237 and delete. Don't request property inheritance from
14238 surrounding text.
14239
14240 2001-11-10 Jason Rumney <jasonr@gnu.org>
14241
14242 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
14243 vertical fonts. Allow them if face name is explicitly specified.
14244 Do not give up if we find a font that cannot be converted to an xlfd.
14245
14246 2001-11-10 Gerd Moellmann <gerd@gnu.org>
14247
14248 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
14249 instead of malloc/free.
14250
14251 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14252
14253 * xfaces.c (merge_face_vectors): Use braces to follow GNU
14254 Coding Standards.
14255 (Finternal_set_lisp_face_attribute): Likewise.
14256
14257 * buffer.c (Fbury_buffer): Likewise.
14258
14259 * indent.c (current_column_1): Remove unused variable `prev_col'.
14260
14261 * coding.c (encode_coding): Use precomputed value of `src'.
14262 (encode_coding): Remove unused variable `src_end'.
14263 (code_convert_region): Remove unused variables `count'.
14264
14265 2001-11-07 Jason Rumney <jasonr@gnu.org>
14266
14267 * w32term.c (x_display_and_set_cursor): Do not move system caret
14268 if cursor_glyph is NULL.
14269
14270 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14271
14272 * keymap.c (access_keymap): Fix compilation error.
14273
14274 2001-11-07 Miles Bader <miles@gnu.org>
14275
14276 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
14277
14278 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14279
14280 * intervals.c (graft_intervals_into_buffer):
14281 Remove #ifdef'd-out code.
14282 (graft_intervals_into_buffer): Remove unused variable `middle'.
14283
14284 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
14285 code (eval-current-buffer).
14286 Change doc-string comments to `new style' [w/`doc:' keyword].
14287
14288 2001-11-06 Richard M. Stallman <rms@gnu.org>
14289
14290 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
14291
14292 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
14293
14294 * lread.c (read1): Fix behavior with nested backquoting.
14295
14296 * keyboard.c (make_lispy_event): Check integerness and fix
14297 Lisp_Object/int mixup.
14298
14299 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14300
14301 * fns.c (copy_hash_table): Remove unused variable `v'.
14302
14303 * fontset.c (fontset_font_pattern): Remove unused variable
14304 `family_registry'.
14305
14306 * indent.c (current_column_1): Remove unused variable `prev_col'.
14307
14308 2001-11-05 Richard M. Stallman <rms@gnu.org>
14309
14310 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
14311
14312 * buffer.c (Fkill_buffer): Don't delete auto save file
14313 if buffer is modified.
14314
14315 2001-11-05 Andrew Innes <andrewi@gnu.org>
14316
14317 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
14318 CHECK_NUMBER_CDR.
14319
14320 2001-11-05 Richard M. Stallman <rms@gnu.org>
14321
14322 * unexelf.c (unexec): Minor changes; clean up comments.
14323
14324 2001-11-05 Sam Steingold <sds@gnu.org>
14325
14326 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
14327
14328 2001-11-05 Andreas Schwab <schwab@suse.de>
14329
14330 * sound.c (sound_perror): Save errno from being clobbered.
14331
14332 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
14333
14334 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
14335 the program image directly.
14336
14337 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14338
14339 * buffer.h (Fbuffer_local_value): Add prototype.
14340
14341 2001-11-04 Richard M. Stallman <rms@gnu.org>
14342
14343 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
14344 and CHECK_BUFFER.
14345
14346 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
14347 (record_char): Likewise.
14348
14349 * keyboard.c (make_lispy_event): Don't insist a drag event must
14350 move to a different buffer position. Instead, check for moving at
14351 least double_click_fuzz.
14352
14353 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
14354
14355 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
14356
14357 * indent.c (current_column_1, Fmove_to_column): Separate the code
14358 for display-table glyphs from the code for buffer text, to fix
14359 bugs in the former.
14360
14361 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
14362
14363 * buffer.c (Fbuffer_local_value): New function.
14364 (syms_of_buffer): Defsubr it.
14365
14366 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
14367 value of `cursor-in-non-selected-windows'.
14368
14369 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
14370 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
14371 (syms_of_xdisp): Initialize it.
14372
14373 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14374
14375 * xfns.c (Fx_create_frame): Doc fix.
14376
14377 * coding.c: Change doc-string comments to `new style' [w/`doc:'
14378 keyword].
14379
14380 * eval.c (top_level_value, top_level_set): Remove commented and
14381 #ifdef'd-out code.
14382 (Fdefvar): Fix usage in doc-string.
14383
14384 2001-11-03 Richard M. Stallman <rms@gnu.org>
14385
14386 * xfns.c: Include unistd.h, if it exists.
14387
14388 * editfns.c: Move the include of ctype.h after unistd.h.
14389
14390 * gmalloc.c: Test BROKEN_PROTOTYPES.
14391
14392 2001-11-03 Ken Raeburn <raeburn@gnu.org>
14393
14394 * lisp.h (CHECK_STRING_CAR): New macro.
14395 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
14396 treating XCAR and XCDR as lvalues.
14397 (openp): Use CHECK_STRING_CAR.
14398 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
14399
14400 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
14401
14402 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
14403 (SIGMASKTYPE): Define.
14404
14405 * syssignal.h (sigunblock): Don't define if already defined.
14406
14407 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14408
14409 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
14410 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
14411 Fix typos in comments.
14412
14413 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
14414 and #ifdef'd-out code.
14415 Fix and reindent comments.
14416
14417 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
14418
14419 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
14420 argument `i' in macros.
14421
14422 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
14423 `i' in macros.
14424
14425 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
14426 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
14427 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
14428 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
14429 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
14430 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
14431 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
14432 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
14433 in macros.
14434
14435 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
14436 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
14437 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
14438 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
14439 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
14440 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
14441 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
14442 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
14443 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
14444 (remove unused second argument).
14445
14446 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
14447
14448 * syntax.c (describe_syntax): New wrapper.
14449 (Finternal_describe_syntax_value): Rename from describe_syntax.
14450 Don't insert space at front and \n at the end.
14451 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
14452
14453 * regex.c (re_wctype): Try to fix some warnings.
14454 (regcomp, regexec): Don't forget the __restrict.
14455
14456 2001-11-02 Richard M. Stallman <rms@gnu.org>
14457
14458 * textprop.c (Fget_char_property): Doc fix.
14459
14460 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14461
14462 * process.c (Fstart_process): Add usage to doc-string.
14463
14464 * data.c (Fsetq_default): Ditto.
14465
14466 * callint.c (Finteractive): Ditto.
14467
14468 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
14469
14470 * macros.c: Don't include keymap.h any more.
14471
14472 2001-11-01 Richard M. Stallman <rms@gnu.org>
14473
14474 * data.c (Fmake_local_variable): Doc fix.
14475
14476 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
14477 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
14478
14479 * keymap.c (Fdescribe_buffer_bindings): Print character property
14480 bindings along with or instead of the buffer local map.
14481 Make the overriding maps override what they should.
14482
14483 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14484
14485 * window.c (grow_mini_window): Fix typo in comment.
14486
14487 2001-11-01 Gerd Moellmann <gerd@gnu.org>
14488
14489 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
14490 (XTset_vertical_scroll_bar): Likewise.
14491
14492 * xfns.c (x_build_heuristic_mask): Use four_corners_best
14493 instead of IMAGE_BACKGROUND.
14494
14495 * xfns.c (four_corners_best): Reindent.
14496
14497 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
14498 Handle :box so that it is possible to specify sexprs.
14499
14500 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
14501
14502 * s/hpux11.h: New file.
14503
14504 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14505
14506 * emacs.c (USAGE1): Show command line option --no-window-system
14507 instead of --no-windows in usage.
14508 (standard_args): Rename --no-windows to --no-window-system.
14509 (bug_reporting_address): Follow Emacs coding conventions.
14510
14511 * eval.c (Fcommandp): Doc fix.
14512 Change doc-string comments to `new style' [w/`doc:' keyword].
14513
14514 * frame.c (Fframe_live_p): Doc fix.
14515
14516 * buffer.c (selective-display-ellipses): Doc fix.
14517
14518 2001-10-31 Gerd Moellmann <gerd@gnu.org>
14519
14520 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
14521
14522 * xfaces.c (realize_x_face): If C is not a single-byte character,
14523 set the face's colors_copied_bitwise_p instead of the defaulted_p
14524 members which have a different meaning.
14525 (free_face_colors): Do nothing for a face whose colors have been
14526 copied bitwise.
14527
14528 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
14529
14530 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14531
14532 * marker.c, mocklisp.c: Change doc-string comments to `new style'
14533 [w/`doc:' keyword].
14534
14535 2001-10-31 Gerd Moellmann <gerd@gnu.org>
14536
14537 * fns.c (require_unwind): Return Lisp_Object.
14538
14539 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14540
14541 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
14542 (last-input-char): Revert doc-string to be the same as the
14543 doc-string of `last-input-event'.
14544
14545 * xdisp.c: Fix typos in comments.
14546
14547 2001-10-31 Gerd Moellmann <gerd@gnu.org>
14548
14549 * window.c (grow_mini_window): Handle case that the root
14550 window is already smaller than the nominal mininum height.
14551
14552 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
14553
14554 * emacs.c (main): Don't call keys_of_macros any more.
14555
14556 * lisp.h (keys_of_macros): Remove.
14557
14558 * macros.c (keys_of_macros): Remove.
14559
14560 * xfaces.c (Fface_attribute_relative_p): Declare args.
14561
14562 2001-10-30 Jason Rumney <jasonr@gnu.org>
14563
14564 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
14565 (enum_font_cb2): Ignore fonts with vertical orientation.
14566
14567 2001-10-30 Richard M. Stallman <rms@gnu.org>
14568
14569 * keyboard.c (Finput_pending_p): Doc fix.
14570
14571 2001-10-30 Gerd Moellmann <gerd@gnu.org>
14572
14573 * xterm.c (x_after_update_window_line): Don't run the code
14574 clearing in borders for rows whose visible height is 0.
14575
14576 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
14577 resized_p flag is set. If not set, use the much less flickering
14578 method previously used.
14579
14580 * dispnew.c (change_frame_size_1): Set frame's resized_p.
14581
14582 * frame.h (struct frame) <resized_p>: New member.
14583
14584 * lread.c (to_multibyte): Ensure read_buffer is at least twice
14585 as large as the number of bytes to convert.
14586
14587 * lread.c (to_multibyte): New function.
14588 (read1): Use it.
14589
14590 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
14591
14592 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
14593
14594 2001-10-30 Gerd Moellmann <gerd@gnu.org>
14595
14596 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
14597 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
14598 if the row's fill_line_p is set and drawing the last glyph with
14599 DRAW_IMAGE_{RAISED,SUNKEN}.
14600
14601 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
14602
14603 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
14604
14605 * xmenu.c: Include coding.h and charset.h.
14606 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
14607 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
14608 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
14609 Explicitly set wv->help. Use `TRUE' rather than `True'.
14610 (menu_help_callback): Use empty_string.
14611
14612 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
14613 (Fx_popup_dialog): Explicitly init f.
14614 (w32_menu_display_help): Use empty_string.
14615
14616 2001-10-29 Richard M. Stallman <rms@gnu.org>
14617
14618 * fns.c (Frequire): Detect recursive try to require the same
14619 feature 3 or more levels deep, and get error.
14620 (require_unwind): New subroutine.
14621 (require_nesting_list): New variable.
14622 (syms_of_fns): Init and staticpro it.
14623
14624 * print.c (print_object): Clarify indication of insertion type.
14625
14626 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
14627
14628 * coding.c (syms_of_coding): Document that locale-coding-system is
14629 used for decoding input on X.
14630
14631 * window.c (Fscroll_left, Fscroll_right): Doc fix.
14632
14633 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14634
14635 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
14636 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
14637
14638 2001-10-29 Gerd Moellmann <gerd@gnu.org>
14639
14640 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
14641 use NO_CURSOR if cursor_in_non_selected_windows is false.
14642
14643 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
14644 the slant attribute if FRAME is t.
14645
14646 * xfns.c (x_set_internal_border_width): Set frame garbaged
14647 when X window doesn't exist yet.
14648
14649 * xterm.c (x_after_update_window_line): Clear internal border
14650 in different circumstances.
14651
14652 * xterm.c (XTread_socket) <KeyPress>: Don't use
14653 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
14654 <handa@etl.go.jp>.
14655
14656 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
14657
14658 * m/ibms390.h: New file. From Adam Thornton
14659 <athornton@sinenomine.net>.
14660
14661 2001-10-28 Gerd Moellmann <gerd@gnu.org>
14662
14663 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
14664
14665 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
14666 a loop counter.
14667
14668 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14669
14670 * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
14671
14672 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
14673 keyword].
14674 Fix typos in comments.
14675
14676 * emacs.c (bug_reporting_address): New function.
14677 Use it when displaying usage message.
14678
14679 * minibuf.c (read_minibuf): Remove unused external declaration of
14680 variable `Qread_only'.
14681
14682 * keymap.c (access_keymap): Remove unused variable `charset'.
14683
14684 2001-10-28 Miles Bader <miles@gnu.org>
14685
14686 * xfaces.c (merge_face_heights): Handle TO being relative as well.
14687 Remove #ifdef'd-out code.
14688 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
14689 (syms_of_xfaces): Initialize them.
14690
14691 2001-10-27 Jason Rumney <jasonr@gnu.org>
14692
14693 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
14694 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
14695 position using the system caret.
14696
14697 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
14698 (w32_system_caret_height, w32_system_caret_x)
14699 (w32_system_caret_y): New variables for tracking system caret.
14700 (w32_initialize): Initialize them.
14701 (x_display_and_set_cursor): Make system caret follow the active cursor.
14702
14703 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
14704 New messages types.
14705
14706 * w32term.c (note_mouse_highlight): Clear old help_echo.
14707
14708 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14709
14710 * xterm.c: Fix typo in a comment.
14711
14712 * emacs.c: Fix typos in comments.
14713 Remove unnecessary spaces.
14714 Change doc-string comments to `new style' [w/`doc:' keyword].
14715 (USAGE2): Fix typos in usage string.
14716
14717 * xterm.c: Fix typo in a comment.
14718
14719 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
14720 emacs.c.
14721
14722 2001-10-27 Gerd Moellmann <gerd@gnu.org>
14723
14724 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
14725 instead of 1/2 line_height in the heuristic for skipping
14726 farther backward when target_y was not reached.
14727
14728 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
14729 Display errno only if non-zero.
14730 (sound_warning): New function.
14731 (vox_configure): Don't treat failing to set sample rate as error.
14732 (various places): Improve error messages.
14733
14734 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
14735
14736 * fileio.c (Faccess_file): Run the argument filename through
14737 Fexpand_file_name, before using it.
14738
14739 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
14740 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
14741
14742 2001-10-26 Gerd Moellmann <gerd@gnu.org>
14743
14744 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
14745
14746 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
14747 Fix clearing in the case of scroll bars on the right.
14748
14749 2001-10-26 Juanma Barranquero <lektu@terra.es>
14750
14751 * w32gui.h (XImage): Add a dummy typedef.
14752
14753 2001-10-26 Gerd Moellmann <gerd@gnu.org>
14754
14755 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
14756
14757 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
14758
14759 * frame.c (Fframe_parameter): Fix last change.
14760
14761 * fileio.c: Revert last change (which removed old commented-out
14762 version of expand-file-name). Add a comment that explains why
14763 this old version should not be removed.
14764
14765 2001-10-25 Gerd Moellmann <gerd@gnu.org>
14766
14767 * frame.c (Fframe_parameter): Fix a bug whereby some
14768 ``artificial'' frame parameters, like `minibuffer' were not
14769 obtained by calling Fframe_parameters.
14770
14771 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
14772 cursor differently.
14773
14774 * xdisp.c (move_it_vertically_backward): Compute line height
14775 differently. Add heuristic to try to be more compatible to 20.x.
14776
14777 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
14778
14779 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
14780
14781 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
14782 boolean.
14783
14784 2001-10-25 Miles Bader <miles@gnu.org>
14785
14786 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
14787 BG is a pointer to a structure, not a structure.
14788 (gif_format, png_format): Add missing commas.
14789
14790 2001-10-24 Richard M. Stallman <rms@gnu.org>
14791
14792 * xfaces.c (Fface_attributes_as_vector): New function.
14793 (syms_of_xfaces): Defsubr it.
14794
14795 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14796
14797 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
14798 variable `area'.
14799
14800 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14801
14802 * search.c (scan_newline): Remove unused variable `selective_display'.
14803
14804 2001-10-25 Miles Bader <miles@gnu.org>
14805
14806 * dispextern.h (struct image): Add `background',
14807 `background_valid', and `background_transparent' fields.
14808 (image_background, image_background_transparent): New declarations.
14809 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
14810 * xfns.c (image_background, image_background_transparent)
14811 (four_corners_best): New functions.
14812 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
14813 (gs_format): Add `:background' entry.
14814 (lookup_image): Set IMG's background color if specified.
14815 (pbm_load, xbm_load_image, png_load): Set IMG's background field
14816 when appropriate.
14817 (x_clear_image_1): Reset `background_valid' and
14818 `background_transparent_valid' fields.
14819 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
14820 calculating it here. Set IMG's background_transparent field.
14821 (enum xpm_keyword_index): Add XPM_BACKGROUND.
14822 (enum png_keyword_index): Add PNG_BACKGROUND.
14823 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
14824 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
14825 (enum gif_keyword_index): Add GIF_BACKGROUND.
14826 (enum gs_keyword_index): Add GS_BACKGROUND.
14827 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
14828 Pre-calculate image background color where necessary.
14829 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
14830 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
14831 color to use for image glyph reliefs.
14832
14833 2001-10-24 Gerd Moellmann <gerd@gnu.org>
14834
14835 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
14836 in full-width rows.
14837
14838 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
14839 Fix clearing of area not covered by scroll bar.
14840
14841 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14842
14843 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
14844 and `real_start'.
14845 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
14846 (glyph_rect): Remove unused variable `area'.
14847
14848 2001-10-24 Gerd Moellmann <gerd@gnu.org>
14849
14850 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
14851
14852 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
14853 (row_containing_pos): Take additional argument DY.
14854 Treat rows ending in middle of char differently.
14855 (display_line): Handle tabs on window systems differently.
14856
14857 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
14858 with additional argument.
14859
14860 * dispextern.h (row_containing_pos): Adjust prototype.
14861
14862 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
14863 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
14864 (try_window_id, try_window_reusing_current_matrix)
14865 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
14866 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
14867
14868 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14869
14870 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
14871 gnuemacs).
14872 (HAVE_BOXES): Fix typo in comment.
14873 (push_menu_pane): Fix typo in comment.
14874
14875 * xdisp.c: (display_prop_string_p): Remove unused local declaration
14876 of `Qwhen'.
14877 (single_display_prop_string_p): Remove unused local declarations
14878 of `Qwhen' and `Qmargin'.
14879 (string_buffer_position): Remove unused variable `around'.
14880 (store_frame_title): Remove unused variable `width'.
14881
14882 * window.c: Don't define max.
14883 (coordinates_in_window): Remove unused variable `uy'.
14884
14885 * widget.c: Don't define max.
14886
14887 * process.c: Don't define max.
14888 (create_process): Remove unused variable `buffer'.
14889
14890 2001-10-23 Gerd Moellmann <gerd@gnu.org>
14891
14892 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
14893
14894 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
14895
14896 * xfaces.c (Finternal_set_lisp_face_attribute)
14897 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
14898 frame is on a windowed display.
14899
14900 2001-10-23 Gerd Moellmann <gerd@gnu.org>
14901
14902 * dispnew.c (sync_window_with_frame_matrix_rows):
14903 Fix handling of windows which aren't full-width, fix handling
14904 of marginal areas.
14905
14906 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
14907
14908 2001-10-23 Andreas Schwab <schwab@suse.de>
14909
14910 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
14911 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
14912
14913 2001-10-23 Gerd Moellmann <gerd@gnu.org>
14914
14915 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
14916 REAL_END. Notice if cursor gets overwritten.
14917 (notice_overwritten_cursor): Take X positions as parameters.
14918 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
14919 around call to x_draw_glyphs.
14920
14921 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14922
14923 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
14924 instead of C) and usage.
14925
14926 * editfns.c (char-to-string): Fix argument names (use CHAR instead
14927 of C) and usage.
14928
14929 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
14930 `left', `max_width' and `max_height'.
14931
14932 2001-10-23 Gerd Moellmann <gerd@gnu.org>
14933
14934 * xdisp.c (display_line): For a tab continued to the next line,
14935 set row's ends_in_middle_of_char_p.
14936
14937 2001-10-22 Gerd Moellmann <gerd@gnu.org>
14938
14939 * xdisp.c (display_line): Fix computation of continuation lines
14940 width for TABs.
14941
14942 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14943
14944 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
14945 `Qlaplace'.
14946
14947 * fileio.c: Remove unused code.
14948
14949 2001-10-22 Miles Bader <miles@gnu.org>
14950
14951 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
14952 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
14953 Remove `DOC_STRINGS_IN_COMMENTS' cases.
14954
14955 2001-10-21 Jason Rumney <jasonr@gnu.org>
14956
14957 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
14958
14959 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
14960
14961 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
14962 (Finsert_string): Avoid the multi-line string literals warning.
14963
14964 2001-10-22 Miles Bader <miles@gnu.org>
14965
14966 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
14967 (Fdocumentation): Don't use it.
14968 (syms_of_doc): Don't initialize it.
14969
14970 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
14971 * print.c (Fwith_output_to_temp_buffer): Likewise.
14972 * window.c (Fsave_window_excursion): Likewise.
14973 * editfns.c (Fsave_excursion, Fsave_current_buffer)
14974 (Fsave_restriction): Likewise.
14975 * eval.c (Frun_hooks, Frun_hook_with_args)
14976 (Frun_hook_with_args_until_failure)
14977 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
14978 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
14979 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
14980 (Funwind_protect, Fcondition_case): Likewise.
14981 * coding.c (Ffind_operation_coding_system): Likewise.
14982 * keyboard.c (Ftrack_mouse): Likewise.
14983
14984 2001-10-21 Miles Bader <miles@gnu.org>
14985
14986 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
14987 (Fmake_hash_table): Add usage: string to doc string.
14988 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
14989 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
14990 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
14991 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
14992 (Fml_prefix_argument_loop): Likewise.
14993
14994 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14995
14996 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
14997
14998 * sysdep.c (init_sys_modes): Change doc-string comments to `new
14999 style' [w/`doc:' keyword].
15000
15001 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
15002 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
15003 comments to `new style' [w/`doc:' keyword].
15004
15005 2001-10-21 Jason Rumney <jasonr@gnu.org>
15006
15007 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
15008
15009 * w32term.c (remember_mouse_glyph): New function.
15010 (w32_mouse_position): Use it.
15011 (note_mouse_movement): If the mouse moved off the glyph, remember
15012 its new position.
15013
15014 * w32term.h (struct w32_output): Correct spelling of x_compatible.
15015 (w32_display_info): Add mouse_face_overlay.
15016
15017 * w32term.c (notice_overwritten_cursor): Renamed from
15018 note_overwritten_text_cursor. Rewritten to take glyph widths into
15019 account.
15020 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
15021 (fast_find_string_pos): New function.
15022 (fast_find_position): Return the correct vpos. Add parameter
15023 STOP. In the final row, stop before glyphs having STOP as object.
15024 Don't consider glyphs that are not from a buffer.
15025 (fast_find_position) [0]: Add a presumably more correct version
15026 for after 21.1.
15027 (expose_window_tree, expose_frame): Don't compute intersections here.
15028 (expose_window): Do it here instead.
15029 (expose_window_tree, expose_window, expose_line): Return 1 when
15030 overwriting mouse-face.
15031 (expose_window): If W is the window currently being updated, mark
15032 the frame garbaged.
15033 (expose_frame): If mouse-face was overwritten, redo it.
15034 (x_use_underline_position_properties): New variable.
15035 (syms_of_xterm): DEFVAR_BOOL it.
15036 (x_draw_glyph_string): Add comment to use it in future.
15037 (x_draw_glyph_string): Restore clipping after drawing box.
15038 Fix a computation of the underline position.
15039 (w32_get_glyph_string_clip_rect): Minor cleanup.
15040 (x_fill_stretch_glyph_string): Remove an assertion.
15041 (x_produce_glyphs): Don't convert multibyte characters
15042 to unibyte characters in unibyte buffers.
15043 (cursor_in_mouse_face_p): New function.
15044 (x_draw_stretch_glyph_string): Use it to choose a different GC
15045 when drawing a cursor within highlighted text. Don't draw
15046 background again if it has already been drawn.
15047 (x_draw_glyph_string_box): Don't draw a full-width
15048 box just because the glyph row's full_width_p flag is set.
15049 (x_draw_glyphs): Fix computation of rightmost x for
15050 full-width rows.
15051 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
15052 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
15053 change bottom shadow accordingly. Some cleanup.
15054 (x_update_window_end): Handle overwritten mouse face
15055 also for tool bar windows.
15056 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
15057 DRAW is DRAW_IMAGE_RAISED.
15058 (clear_mouse_face): Return 1 if text with mouse face was
15059 actually redrawn. Make the function static.
15060 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
15061 optimize away highlighting if we pass over that same overlay again.
15062 (note_mouse_highlight): Call mouse_face_overlay_overlaps
15063 to detect a case where we have to highlight a different region
15064 despite not having left the currently highlighted region.
15065 Set mouse_face_overlay in the x_display_info. Avoid changing the
15066 mouse pointer shape when show_mouse_face has already done it, or
15067 there is no need. Handle mouse-face and help-echo in strings.
15068 (glyph_rect): New function.
15069 (w32_mouse_position): Use it to raise the threshold for mouse
15070 movement event generation.
15071 (w32_initialize_display_info): Initialize the x_display_info's
15072 mouse_face_overlay.
15073 (w32_set_vertical_scroll_bar): Don't clear a zero height
15074 or width area.
15075 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
15076 a widget to zero height.
15077
15078 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
15079 Protect unibyte strings created by replacing their multibyte
15080 equivalents in menu_items.
15081 (w32_menu_show): Don't overwrite an item's name with its key
15082 description in case the description is a multibyte string.
15083 (single_submenu): Some cleanup.
15084
15085 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
15086 (postprocess_image): New function.
15087 (lookup_image): Call it for all image types except PostScript.
15088 (x_kill_gs_process): Call postprocess_image.
15089 (tiff_error_handler, tiff_warning_handler): New functions.
15090 (tiff_load): Install them as handlers.
15091 (x_kill_gs_process): Recognize if someone has cleared the image
15092 cache under us.
15093 (valid_image_p): Protect better against invalid image
15094 specifications. Previous code could signal an error.
15095 (Fx_hide_tip, Fshow_tip): Doc fix.
15096 (Fv_max_tooltip_size): New variable.
15097 (syns_of_xfns): DEFVAR_LISP it.
15098 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
15099 window buffer to *tip* right after creating the frame. Set frame's
15100 window_width. Use a maximum tooltip size specified by
15101 Vx_max_tooltip_size, if that has valid contents.
15102 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
15103 Make sure the tooltip is completely visible.
15104 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
15105 (Fx_create_frame): Adjust the frame's height for presence
15106 of the tool bar before calling x_figure_window_size.
15107 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
15108 when the window gets smaller.
15109 (x_set_foreground_color): Set frame's cursor_pixel.
15110 (x_set_foreground_color, x_set_background_color): Cleaned up.
15111 (x_set_font): Handle case of x_new_fontset returning the same name
15112 as before, although there was a change in fontsets.
15113
15114 2001-10-21 Miles Bader <miles@gnu.org>
15115
15116 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
15117 (Flogxor): Add usage: string to doc string.
15118 * charset.c (Fstring): Likewise.
15119 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
15120 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
15121
15122 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15123
15124 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
15125
15126 * alloc.c: Reindent DEFUNs with doc: keywords.
15127
15128 * abbrev.c (Finsert_abbrev_table_description): Reindent.
15129
15130 * frame.c: Change doc-string comments to `new style' [w/`doc:'
15131 keyword].
15132
15133 See ChangeLog.9 for earlier changes.
15134
15135 ;; Local Variables:
15136 ;; coding: iso-2022-7bit
15137 ;; End:
15138
15139 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
15140 Copying and distribution of this file, with or without modification,
15141 are permitted provided the copyright notice and this notice are preserved.
15142
15143 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4