*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
1 2004-05-08 Juanma Barranquero <lektu@terra.es>
2
3 * editfns.c (Finsert_buffer_substring): Make argument names match their
4 use in docstring.
5
6 * syntax.c (Fmodify_syntax_entry): Fix docstring.
7
8 2004-05-07 Steven Tamm <steventamm@mac.com>
9
10 * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
11 around call to ReceiveEvent to avoid certain crashes.
12
13 2004-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14 * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
15 (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
16 (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
17 Save/restore the current graphics port and device handle when
18 drawing into an offscreen graphics world.
19
20 * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
21 (gif_load): Likewise.
22
23 2004-05-07 Juanma Barranquero <lektu@terra.es>
24
25 * window.c (Fset_window_buffer): Fix docstring.
26
27 2004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
28
29 * emacs.c (main) [VMS]: Fix var ref.
30
31 2004-05-06 Romain Francoise <romain@orebokech.com> (tiny change)
32
33 * data.c (Fsetq_default): Fix docstring.
34
35 2004-05-06 Jason Rumney <jasonr@gnu.org>
36
37 * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
38 to avoid name clash.
39
40 2004-05-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
41
42 * fileio.c (barf_or_query_if_file_exists): Use lstat.
43 (Frename_file): Handle renaming of symlinks across file systems.
44 (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
45
46 2004-05-04 Kim F. Storm <storm@cua.dk>
47
48 * xdisp.c (Qtotal): New var.
49 (syms_of_xdisp): Intern and staticpro it.
50 (calc_line_height_property): New arg total. Set it if
51 line-spacing property has format (total . VALUE).
52 (x_produce_glyphs): Ignore line-spacing if line-height is 0.
53 Handle total line-spacing property.
54
55 2004-05-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
56
57 * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
58 "under" scroll bar when size/position changes.
59
60 2004-05-03 Jason Rumney <jasonr@gnu.org>
61
62 * makefile.nt: Remove.
63
64 2004-05-02 Eli Zaretskii <eliz@gnu.org>
65
66 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT): Avoid
67 compiler warnings.
68
69 * Makefile.in (region-cache.o): Depend on config.h.
70
71 2004-05-02 Romain Francoise <romain@orebokech.com> (tiny change)
72
73 * indent.c (compute_motion): Save vpos in prev_vpos when dealing
74 with continuation lines, too.
75
76 2004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
77
78 * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
79
80 2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
81
82 * xdisp.c (calc_line_height_property): YAILOM (yet another
83 int/Lisp_Object mixup).
84
85 2004-05-01 Eli Zaretskii <eliz@gnu.org>
86
87 * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
88 undo bad effect of pack(4) in some versions of system headers.
89
90 2004-05-01 Jason Rumney <jasonr@gnu.org>
91
92 * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
93
94 2004-04-30 Kim F. Storm <storm@cua.dk>
95
96 * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
97 (syms_of_buffer) <cursor-type>: Doc fix.
98
99 * dispextern.h (struct it): Remove member use_default_face.
100 Add members override_ascent, override_descent, override_boff.
101
102 * xdisp.c (init_iterator): Handle line-spacing float value.
103 Initialize override_ascent member.
104 (append_space_for_newline): Reset override_ascent.
105 Remove use_default_face.
106 (calc_line_height_property): New function to calculate value of
107 line-height and line-spacing properties. Look at overlays, too.
108 Set override_ascent, override_descent, override_boff members when
109 using another face than the current face. Float values are now
110 relative to the frame default font, by default; accept a cons
111 of ratio and face name to specify value relative to a specific face.
112 (x_produce_glyphs): Use calc_line_height_property.
113 Use override_ascent etc. when set to handle different face heights.
114 A negative line-spacing property value is interpreted as a total
115 line height, rather than inter-line spacing.
116 (note_mouse_highlight): Allocate room for 40 overlays initially.
117
118 2004-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
119
120 * data.c (Fsubr_name): New fun.
121 (syms_of_data): Defsubr it.
122
123 2004-04-29 Kim F. Storm <storm@cua.dk>
124
125 * xdisp.c (null_glyph_slice): New var.
126 (append_glyph, append_composite_glyph, append_stretch_glyph):
127 Use it to initialize glyph slice.
128
129 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
130
131 * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
132 (on_hot_spot_p): Make sure we always return a value.
133 (Flookup_image_map): Remove unused var ix and iy.
134 (note_mode_line_or_margin_highlight): Remove unused var `image'.
135
136 2004-04-27 Eli Zaretskii <eliz@gnu.org>
137
138 * msdos.c (init_environment): If one of the TMP... environment
139 variables is set to a drive letter without a trailing slash,
140 append a slash.
141
142 2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
143
144 * editfns.c (lisp_time_argument): Provide externally.
145
146 * fileio.c (Fset_file_times): New function.
147 (syms_of_fileio): Intern and staticpro it.
148
149 2004-04-27 Kim F. Storm <storm@cua.dk>
150
151 * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
152 header line strings.
153
154 * dispextern.h (struct it): New member use_default_face.
155
156 * xdisp.c (Qline_height): New variable.
157 (syms_of_xdisp): Intern and staticpro it.
158 (append_space_for_newline): Partially undo 2004-04-25 change;
159 add default_face_p arg, and restore callers.
160 Clear it->use_default_face after use.
161 (x_produce_glyphs): Set default font for ascii char if
162 it->use_default_font is set. Change line-spacing property to set
163 just extra line spacing. Handle new line-height property.
164
165 2004-04-26 Andreas Schwab <schwab@suse.de>
166
167 * print.c (print_object): Print non-ascii characters in bool
168 vector representation as octal escapes.
169
170 * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
171 * print.c (print_object): Use it instead of BITS_PER_CHAR for
172 bool vectors.
173 * lread.c (read1): Likewise.
174 * alloc.c (Fmake_bool_vector): Likewise.
175 * data.c (Faref, Faset): Likewise.
176 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
177 (mapcar1): Likewise.
178
179 2004-04-26 Steven Tamm <tamm@Steven-Tamms-Computer.local>
180
181 * lread.c (init_lread): Fixing typo HAVE_CARBON test logic
182
183 2004-04-26 Miles Bader <miles@gnu.org>
184
185 * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
186
187 2004-04-26 Juanma Barranquero <lektu@terra.es>
188
189 * buffer.c (Fpop_to_buffer): Fix docstring.
190
191 2004-04-26 Steven Tamm <steventamm@mac.com>
192
193 * lread.c (init_lread): Don't display missing lisp directory
194 warnings with Carbon Emacs because self-contained bundled Emacs
195 may be built without correct installation path.
196
197 2004-04-25 Kim F. Storm <storm@cua.dk>
198
199 * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
200
201 * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
202
203 * xdisp.c (append_space_for_newline): Rename from append_space.
204 Remove DEFAULT_FACE_P arg; always use current face. Callers changed.
205 (x_produce_glyphs): Handle line-spacing property on newline char.
206 If value is t, adjust ascent and descent to fit current row height.
207 If value is an integer or float, set extra_line_spacing to integer
208 value, or to float value x current line height.
209
210 2004-04-23 Kenichi Handa <handa@m17n.org>
211
212 * fontset.c (Finternal_char_font): If POSITION is nil, return
213 font for displaying CH with the default face.
214
215 2004-04-23 Juanma Barranquero <lektu@terra.es>
216
217 * makefile.w32-in: Add "-*- makefile -*-" mode tag.
218
219 2004-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
220
221 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
222 Don't make assumptions about the relative place of i and val.
223 (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
224
225 2004-04-21 Kim F. Storm <storm@cua.dk>
226
227 * dispextern.h (struct glyph_slice): New struct.
228 (struct glyph): New member slice.
229 (GLYPH_SLICE_EQUAL_P): New macro.
230 (GLYPH_EQUAL_P): Use it.
231 (struct glyph_string): New member slice.
232 (struct it_slice): New struct.
233 (struct it): New member slice, add member to stack too.
234 New member constrain_row_ascent_descent_p.
235 (image_ascent): Add prototype.
236
237 * dispnew.c (buffer_posn_from_coords): Return full image width
238 and height even for image slices (posn is relative to full image).
239 (marginal_area_string): Adjust x0,y0 for image slice.
240
241 * image.c (image_ascent): Add slice arg; calculate ascent for
242 image slice (or full image).
243
244 * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
245 (syms_of_keyboard): Defsubr them.
246
247 * lisp.h (pos_visible_p): Fix prototype.
248
249 * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
250 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
251 (x_draw_image_foreground, x_draw_image_relief)
252 (x_draw_image_foreground_1, x_draw_image_glyph_string):
253 Draw sliced images.
254
255 * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
256 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
257 (x_draw_image_foreground, x_draw_image_relief)
258 (w32_draw_image_foreground_1, x_draw_image_glyph_string):
259 Draw sliced images.
260
261 * w32term.h (image_ascent): Remove prototype.
262
263 * window.c (Fpos_visible_in_window_p): Return pixel position if
264 PARTIALLY arg is non-nil. Simplify. Doc fix.
265 (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
266 to return/set vscroll in pixels.
267
268 * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
269
270 * xdisp.c (Qslice): New variable.
271 (syms_of_xdisp): Intern and staticpro it.
272 (pos_visible_p): Return pixel position in new x and y args.
273 (init_iterator): Reset it->slice info.
274 (handle_display_prop): Parse (slice ...) property.
275 (push_it, pop_it): Save/restore slice info.
276 (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
277 force repositioning of tall row if window is vscrolled, as that
278 would reset vscroll.
279 (append_space): Set it->constrain_row_ascent_descent_p to avoid
280 increasing row height if row is non-empty.
281 (fill_image_glyph_string): Copy slice info.
282 (take_vertical_position_into_account): Simplify.
283 (produce_image_glyph): Handle iterator slice info, setup glyph
284 slice info. Do not force minimum line height.
285 (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
286 do not increase height (ascent/descent) of non-empty row when
287 adding normal character glyph; instead reduce glyph ascent/descent
288 appropriately; if row is higher than current glyph, adjust glyph
289 descent/ascent to reposition glyph within the existing row.
290 Likewise, when char is newline, only set ascent/descent if row is
291 currently empty.
292 (note_mouse_highlight): Handle hotspots with sliced image.
293
294 * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
295 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
296 (x_draw_image_foreground, x_draw_image_relief)
297 (x_draw_image_foreground_1, x_draw_image_glyph_string):
298 Draw sliced images.
299
300 * xterm.h (image_ascent): Remove prototype.
301
302 2004-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
303
304 * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
305
306 2004-04-20 John Paul Wallington <jpw@gnu.org>
307
308 * fns.c (Fassoc, Feql): Fix indentation.
309
310 * fontset.c (regularize_fontname): Rename from regulalize_fontname.
311
312 2004-04-19 John Paul Wallington <jpw@gnu.org>
313
314 * fns.c (Feql): New function.
315 (syms_of_fns): Defsubr it.
316
317 2004-04-18 Jason Rumney <jasonr@gnu.org>
318
319 * w32select.c (Fw32_set_clipboard_data): Get sequence number
320 after closing the clipboard.
321
322 2004-04-16 Luc Teirlinck <teirllm@auburn.edu>
323
324 * buffer.c (Fbuffer_base_buffer): Doc fix.
325
326 2004-04-17 Kim F. Storm <storm@cua.dk>
327
328 * keymap.c (Fkey_description): Add optional PREFIX arg.
329 Combine prefix with KEYS to make up the full key sequence to describe.
330 Correlate meta_prefix_char and following (simple) key to describe
331 as meta modifier. All callers changed.
332 (describe_map): Rename arg `keys' to `prefix'. Remove local
333 `elt_prefix' var. Use Fkey_description with prefix instead of
334 elt_prefix combined with Fsingle_key_description.
335 (describe_vector): Declare static. Replace arg `elt_prefix' with
336 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
337 if !KEYMAP_P. Use Fkey_description with prefix instead of
338 Fsingle_key_description.
339
340 * keymap.h (Fkey_description): Fix prototype.
341 (describe_vector): Remove prototype.
342
343 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
344
345 * image.c (PNG_BG_COLOR_SHIFT): Remove.
346 (png_load): Fix calculation of transparent background color on X
347 and W32 platforms.
348
349 2004-04-16 Juanma Barranquero <lektu@terra.es>
350
351 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
352 not too large before computing how much to scroll.
353
354 2004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
355
356 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
357
358 2004-04-14 Luc Teirlinck <teirllm@auburn.edu>
359
360 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
361 Add hyperlink to Elisp manual to the docstring.
362
363 2004-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
364
365 * callint.c (fix_command): Use XDCR.
366
367 2004-04-14 Nick Roberts <nick@nick.uklinux.net>
368
369 * window.c (Fget_lru_window): Doc fix.
370
371 2004-04-14 Kim F. Storm <storm@cua.dk>
372
373 * editfns.c (Fformat): Fix allocation size of precision array.
374
375 * dispnew.c (update_window): Only set changed_p if
376 scrolling_window actually did scroll.
377 (scrolling_window): Only return 1 if we actually did scroll.
378
379 * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
380 height to glyph height when cursor row is not fully visible.
381 (make_cursor_line_fully_visible): Add FORCE_P arg to return
382 failure in case row is higher than window. Callers changed.
383 (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
384 Try to scroll partially visible, higher-than-window cursor row.
385 (redisplay_window): Always try to scroll partially visible,
386 higher-than-window cursor row - both initially and again with
387 centering_position = 0.
388 Clear desired matrix before retrying with centering_position = 0.
389
390 2004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
391
392 * syntax.c (scan_lists): Simplify backward string scan.
393 Fix off-by-one boundary check for string and comment fences.
394
395 2004-04-13 Joe Buehler <jbuehler@hekimian.com>
396
397 * sheap.c, unexcw.c: New files.
398
399 2004-04-12 Luc Teirlinck <teirllm@auburn.edu>
400
401 * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
402 base buffer has been killed. Correct the error message if the
403 base buffer does not exist.
404
405 2004-04-12 Joe Buehler <jbuehler@hekimian.com>
406
407 * s/cygwin.h: Changes for Cygwin unexec() support, changes in
408 Cygwin itself. Add support for Xaw3d scrollbars.
409
410 * puresize.h: Set up PURE_P() for Cygwin unexec() support.
411
412 * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
413
414 * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
415 before Cygwin unexec.
416
417 * Makefile.in: Link changes for Cygwin unexec() support.
418
419 2004-04-12 Andreas Schwab <schwab@suse.de>
420
421 * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
422
423 2004-04-11 Luc Teirlinck <teirllm@auburn.edu>
424
425 * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
426 IGNORE argument equals NAME. Doc fix.
427
428 2004-04-11 Masatake YAMATO <jet@gyve.org>
429
430 * buffer.c (fix_start_end_in_overlays): Make overlays
431 empty if they are backwards.
432
433 2004-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
434
435 * xfaces.c (face_color_supported_p): Fix compilation without X11.
436
437 2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
438
439 * doc.c (Fsnarf_documentation): Ignore new file name entries.
440
441 2004-04-06 Kim F. Storm <storm@cua.dk>
442
443 * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
444 (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
445
446 * w32term.c (w32_read_socket): Set mouse_face_hidden after
447 clearing highlight.
448
449 * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
450
451 * xterm.c (handle_one_xevent): Set mouse_face_hidden after
452 clearing highlight.
453
454 * indent.c (vmotion): Do not reserve one column for continuation
455 marks on window frames.
456
457 2004-04-04 Eli Zaretskii <eliz@gnu.org>
458
459 * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
460 from GCC.
461
462 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
463
464 * .gdbinit-union: Remove.
465
466 * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
467 (xgetptr, xgetint, xgettype): New funs. Use them everywhere.
468 ($nonvalbits): Remove.
469 ($valmask): Set it by calling xreload to avoid redundancy.
470
471 * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
472 (gdb_emacs_intbits): Remove.
473
474 2004-03-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
475
476 * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
477
478 2004-03-30 Kenichi Handa <handa@m17n.org>
479
480 * editfns.c (Fformat): Fix initialization of the array info.
481
482 2004-03-30 Kim F. Storm <storm@cua.dk>
483
484 * xterm.c (x_mouse_click_focus_ignore_position): New var.
485 (syms_of_xterm): DEFVAR_BOOL it.
486 (ignore_next_mouse_click_timeout): New var.
487 (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
488 Use it to filter mouse clicks following focus event.
489
490 2004-03-29 David Ponce <david@dponce.com>
491
492 * callint.c (Fcall_interactively): Fix last change.
493
494 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
495
496 * eval.c (Fcommandp): Simplify.
497
498 * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
499 Extend to handle all kinds of functions.
500
501 * lisp.h (Finteractive_form): Declare.
502
503 * callint.c (Fcall_interactively): Use it.
504
505 2004-03-26 Kim F. Storm <storm@cua.dk>
506
507 * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
508 to catch errors in calc_pixel_width_or_height during redisplay.
509
510 2004-03-26 Masatake YAMATO <jet@gyve.org>
511
512 * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
513
514 * lisp.h (fix_start_end_in_overlays): Likewise.
515
516 * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
517
518 * editfns.c (Ftranspose_regions): Likewise.
519
520 2004-03-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
521
522 * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
523
524 2004-03-19 Richard M. Stallman <rms@gnu.org>
525
526 * s/sol2-6.h: Delete previous change.
527
528 2004-03-19 Kim F. Storm <storm@cua.dk>
529
530 * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
531 to_charpos corresponds to newline in right fringe. Use local
532 BUFFER_POS_REACHED_P macro.
533
534 2004-03-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
535
536 * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
537 to compile on non-window system.
538
539 2004-03-19 Kim F. Storm <storm@cua.dk>
540
541 * dispextern.h (calc_pixel_width_or_height): Add prototype.
542
543 * image.c (Qcenter): Move to xdisp.c.
544
545 * xdisp.c (Qcenter): Declare here.
546 (syms_of_xdisp): Intern and staticpro it.
547 (handle_single_display_prop): Allow space display property on all
548 platforms.
549 (display_mode_line): Set mode_line_p before displaying line.
550 (calc_pixel_width_or_height): Declare extern. Add separate :align-to
551 handling. Remove complex cases for fringes and scroll-bars.
552 Add left, right, and center alignment positions. Add text (area)
553 width/height. Return width or height for image specs.
554 (produce_stretch_glyph): Improve handling of :align-to. Is now
555 relative to left of text area by default, but other base offsets
556 can be specified -- also for text lines.
557
558 * term.c (produce_glyphs): Handle IT_STRETCH.
559 (produce_stretch_glyph): New function to handle space width and
560 align-to display properties on non-window systems.
561
562 2004-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
563
564 * fileio.c (Fread_file_name): Set completion-ignore-case for
565 case-insensitive systems.
566
567 2004-03-14 Masatake YAMATO <jet@gyve.org>
568
569 * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
570 when keymap and cursor are setup.
571
572 2004-03-14 Steven Tamm <steventamm@mac.com>
573
574 * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
575
576 2004-03-14 Kim F. Storm <storm@cua.dk>
577
578 * dispextern.h (x_find_image_file): Add prototype.
579
580 * image.c (x_find_image_file): Make extern.
581
582 * xfns.c (x_find_image_file): Remove prototype.
583
584 2004-03-13 Eli Zaretskii <eliz@gnu.org>
585
586 * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
587
588 * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
589
590 2004-03-12 Richard M. Stallman <rms@gnu.org>
591
592 * fns.c (internal_equal): New arg PROPS controls comparing
593 text properties. All callers changed.
594 (Fequal_including_properties): New function.
595 (syms_of_fns): defsubr it.
596
597 2004-03-12 Kim F. Storm <storm@cua.dk>
598
599 Fix image support on MAC. From YAMAMOTO Mitsuharu.
600
601 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
602 (image_background, image_background_transparent): Fix prototypes.
603
604 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
605
606 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
607 (x_query_font, x_find_ccl_program, x_set_window_size)
608 (x_make_frame_visible, mac_initialize, XCreatePixmap)
609 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
610 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
611
612 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
613 (x_query_font, x_find_ccl_program, x_set_window_size)
614 (x_make_frame_visible, mac_initialize, XCreatePixmap)
615 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
616 (mac_draw_line_to_pixmap): Add prototypes.
617
618 2004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
619
620 * macterm.c (XTread_socket): Fix mouse click on tool bar.
621
622 2004-03-11 Kim F. Storm <storm@cua.dk>
623
624 * dispextern.h: Move image related prototypes from xfns.c section
625 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
626 HAVE_X_WINDOWS.
627
628 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
629 Move gtkutil.o to new GTK_OBJ list.
630 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
631 (GTK_OBJ) [USE_GTK]: New declaration.
632 (obj): Add $(GTK_OBJ) to list.
633
634 2004-03-11 Steven Tamm <steventamm@mac.com>
635
636 * image.c [MAC_OSX]: Include sys/stat.h
637
638 * macfns.c (syms_of_macfns): Remove definitions of things now
639 defined in image.c
640
641 2004-03-11 Kim F. Storm <storm@cua.dk>
642
643 The following changes consolidates the identical/similar image
644 support code previously found in xfns.c, w32fns.c, and macfns.c
645 into a new file image.c.
646
647 * makefile.w32-in (OBJ1): Add image.o.
648 ($(BLD)/image.$(O)): Add dependencies.
649
650 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
651 (image.o): Add dependencies.
652
653 * image.c: New file with consolidated image support code.
654 (COLOR_TABLE_SUPPORT): New define to control whether
655 color table support is available (X only).
656 (Bitmap_Record): Common name for x_bitmap_record,
657 w32_bitmap_record, and mac_bitmap_record.
658 (XImagePtr): Common name for pointer to XImage or equivalent.
659 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
660 to XImagePtr on X+MAC, and to HDC on W32.
661 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
662 (NO_PIXMAP): Common name for "None" or equivalent.
663 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
664 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
665 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
666 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
667 Define with suitable equivalents on W32 and MAC for code sharing.
668 (XDrawLine): Define on MAC for code sharing.
669 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
670 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
671 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
672 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
673 (x_reference_bitmap, x_create_bitmap_from_data)
674 (x_create_bitmap_from_file, x_destroy_bitmap)
675 (x_destroy_all_bitmaps, x_create_bitmap_mask)
676 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
677 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
678 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
679 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
680 (define_image_type, lookup_image_type, valid_image_p)
681 (image_error, enum image_value_type, struct image_keyword)
682 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
683 (make_image, free_image, prepare_image_for_display, image_ascent)
684 (four_corners_best, image_background, image_background_transparent)
685 (x_clear_image_1, x_clear_image, x_alloc_image_color)
686 (make_image_cache, free_image_cache, clear_image_cache)
687 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
688 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
689 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
690 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
691 (init_image_func_pointer, image_load_quartz2d)
692 (struct ct_color, init_color_table, free_color_table)
693 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
694 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
695 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
696 (x_disable_image, x_build_heuristic_mask)
697 (XBM support, XPM support, PBM support, PNG support, JPEG support)
698 (TIFF support, GIF support, Ghostscript support): Consolidate image
699 code from xfns.c, w32fns.c, and macfns.c.
700 (syms_of_image): Consolidate image related symbol setup here.
701 (init_image): Consolidate image related initializations here.
702
703 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
704 and init_image. Remove call to init_xfns.
705
706 * macterm.h (struct mac_bitmap_record): Add file member.
707 Not currently used, but simplifies code sharing.
708
709 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
710 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
711 (x_reference_bitmap, x_create_bitmap_from_data)
712 (x_create_bitmap_from_file, x_destroy_bitmap)
713 (x_destroy_all_bitmaps, x_create_bitmap_mask)
714 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
715 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
716 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
717 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
718 (define_image_type, lookup_image_type, valid_image_p)
719 (image_error, enum image_value_type, struct image_keyword)
720 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
721 (make_image, free_image, prepare_image_for_display, image_ascent)
722 (four_corners_best, image_background, image_background_transparent)
723 (x_clear_image_1, x_clear_image, x_alloc_image_color)
724 (make_image_cache, free_image_cache, clear_image_cache)
725 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
726 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
727 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
728 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
729 (init_image_func_pointer, image_load_quartz2d)
730 (struct ct_color, init_color_table, free_color_table)
731 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
732 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
733 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
734 (x_disable_image, x_build_heuristic_mask)
735 (XBM support, XPM support, PBM support, PNG support, JPEG support)
736 (TIFF support, GIF support, Ghostscript support): Merge with image
737 code from xfns.c and macfns.c into image.c.
738 (syms_of_xfns): Move image related symbols to image.c.
739 (init_external_image_libraries, init_xfns): Remove; initialization
740 moved to init_image in image.c.
741
742 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
743 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
744 (x_reference_bitmap, x_create_bitmap_from_data)
745 (x_create_bitmap_from_file, x_destroy_bitmap)
746 (x_destroy_all_bitmaps, x_create_bitmap_mask)
747 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
748 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
749 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
750 (define_image_type, lookup_image_type, valid_image_p)
751 (image_error, enum image_value_type, struct image_keyword)
752 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
753 (make_image, free_image, prepare_image_for_display, image_ascent)
754 (four_corners_best, image_background, image_background_transparent)
755 (x_clear_image_1, x_clear_image, x_alloc_image_color)
756 (make_image_cache, free_image_cache, clear_image_cache)
757 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
758 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
759 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
760 (struct ct_color, init_color_table, free_color_table)
761 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
762 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
763 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
764 (x_disable_image, x_build_heuristic_mask)
765 (XBM support, XPM support, PBM support, PNG support, JPEG support)
766 (TIFF support, GIF support, Ghostscript support): Merge with image
767 code from xfns.c and macfns.c into image.c.
768 (syms_of_xfns): Move image related symbols to image.c.
769 (init_external_image_libraries, init_xfns): Remove; initialization
770 moved to init_image in image.c.
771
772 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
773 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
774 (x_reference_bitmap, x_create_bitmap_from_data)
775 (x_create_bitmap_from_file, x_destroy_bitmap)
776 (x_destroy_all_bitmaps, x_create_bitmap_mask)
777 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
778 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
779 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
780 (define_image_type, lookup_image_type, valid_image_p)
781 (image_error, enum image_value_type, struct image_keyword)
782 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
783 (make_image, free_image, prepare_image_for_display, image_ascent)
784 (four_corners_best, image_background, image_background_transparent)
785 (x_clear_image_1, x_clear_image, x_alloc_image_color)
786 (make_image_cache, free_image_cache, clear_image_cache)
787 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
788 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
789 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
790 (struct ct_color, init_color_table, free_color_table)
791 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
792 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
793 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
794 (x_disable_image, x_build_heuristic_mask)
795 (XBM support, XPM support, PBM support, PNG support, JPEG support)
796 (TIFF support, GIF support, Ghostscript support): Merge with
797 w32fns.c and macfns.c image code into image.c.
798 (syms_of_xfns): Move image related symbols to image.c.
799 (init_xfns): Remove; initialization moved to init_image in image.c.
800
801 * lisp.h (syms_of_image, init_image): Add protoypes.
802 (init_xfns): Remove prototype.
803
804 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
805 (x_reference_bitmap, x_create_bitmap_from_data)
806 (x_create_bitmap_from_file, x_destroy_bitmap)
807 (x_create_bitmap_mask): Move prototypes from dispextern.h.
808 (gamma_correct) [MAC_OS]: Add prototype.
809
810 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
811 (x_reference_bitmap, x_create_bitmap_from_data)
812 (x_create_bitmap_from_file, x_destroy_bitmap)
813 (x_create_bitmap_mask): Move prototypes to dispextern.h.
814
815 2004-03-09 Kenichi Handa <handa@etlken2>
816
817 * coding.c (decode_coding_emacs_mule): Handle insufficent source
818 correctly.
819
820 2004-03-04 Richard M. Stallman <rms@gnu.org>
821
822 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
823
824 * window.c (Fdisplay_buffer): Doc fix.
825
826 * buffer.c (Fpop_to_buffer): Doc fix.
827
828 2004-03-03 Kim F. Storm <storm@cua.dk>
829
830 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
831
832 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
833
834 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
835
836 2004-03-02 Richard M. Stallman <rms@gnu.org>
837
838 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
839
840 2004-03-02 Kenichi Handa <handa@m17n.org>
841
842 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
843
844 2004-03-02 Kim F. Storm <storm@cua.dk>
845
846 * window.h (struct window): New member overlay_arrow_bitmap.
847
848 * window.c (make_window): Initialize overlay_arrow_bitmap.
849
850 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
851 implement and integrate multiple overlay arrows with redisplay.
852 (syms_of_xdisp): DEFVAR_LISP and initialize it.
853 (last_arrow_position, last_arrow_string): Replace by properties.
854 (Qlast_arrow_position, Qlast_arrow_string)
855 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
856 (syms_of_xdisp): Intern and staticpro them.
857 (overlay_arrow_string_or_property, update_overlay_arrows)
858 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
859 (overlay_arrow_at_row): New functions for multiple overlay arrows.
860 (redisplay_internal): Use them instead of directly accessing
861 Voverlay_arrow_position etc. for multiple overlay arrows.
862 (mark_window_display_accurate): Use update_overlay_arrows.
863 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
864 (try_window_id): Use overlay_arrows_changed_p.
865 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
866 (display_line): Use overlay_arrow_at_row to check multiple
867 overlay arrows, and get relevant overlay-arrow-string and
868 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
869 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
870 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
871
872 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
873 (update_window_fringes): Remove unused code.
874
875 2004-03-01 Jason Rumney <jasonr@gnu.org>
876
877 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
878
879 2004-03-01 Juanma Barranquero <lektu@terra.es>
880
881 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
882
883 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
884
885 2004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
886
887 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
888 how many colors can be displayed.
889
890 2004-03-01 Kenichi Handa <handa@m17n.org>
891
892 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
893 correctly.
894
895 2004-02-28 Kim F. Storm <storm@cua.dk>
896
897 * dispnew.c (update_window): Update header line also if there are
898 no other changes in window (move code after set_cursor label).
899
900 * lisp.h (mark_window_display_accurate): Remove prototype.
901
902 * window.c (window_loop, Fforce_window_update): Force mode line
903 updates by setting prevent_redisplay_optimizations_p and
904 update_mode_lines.
905
906 2004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
907
908 * xfns.c (x_window): Fix indentation.
909
910 * xterm.c (x_calc_absolute_position): Call x_real_positions
911 to get WM window sizes and use those to calculate position.
912 (x_set_offset): Remove code commented out.
913
914 2004-02-28 Miles Bader <miles@gnu.org>
915
916 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
917
918 2004-02-28 Kim F. Storm <storm@cua.dk>
919
920 * keyboard.c (kbd_buffer_store_event_hold): New function to store
921 an event into kbd fifo, but with special handling of quit event;
922 a quit event is saved for later, and further events are discarded
923 until the saved quit event has been processed.
924 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
925 (gen_help_event): Store help event in kbd fifo.
926 (NREAD_INPUT_EVENTS): Remove.
927 (read_avail_input): Adapt to new read_socket_hook interface.
928 Remove allocation and initialization of local input_event buffer,
929 as read_socket_hook stores events directly in fifo. Allocate and
930 initialize local hold_quit event to handle postponed quit event
931 (and store it if set by kbd_buffer_store_event_hold).
932
933 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
934 (gen_help_event): Fix prototype.
935
936 * macterm.c (XTread_socket): Remove bufp_r and
937 numcharsp args. Add hold_quit arg.
938 Rework to use just one, local, inev input_event. Store inev
939 directly in fifo using kbd_buffer_store_event_hold.
940
941 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
942 (read_input_waiting): Adapt to new read_socket_hook interface.
943 Remove allocation and initialization of local input_event buffer,
944 as read_socket_hook stores events directly in fifo. Allocate and
945 initialize local hold_quit event to handle postponed quit event
946 (and store it if set by kbd_buffer_store_event_hold).
947
948 * term.c (read_socket_hook): Fix arg list.
949
950 * termhooks.h (read_socket_hook): Fix prototype.
951
952 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
953 numcharsp args. Add hold_quit arg.
954 Rework to use just one, local, inev input_event. Store inev
955 directly in fifo using kbd_buffer_store_event_hold.
956
957 * w32inevt.h (w32_console_mouse_position): Fix prototype.
958
959 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
960 Add hold_quit arg. Rework to use just one, local, inev
961 input_event. Store inev directly in fifo using
962 kbd_buffer_store_event_hold. Update count in one place.
963 Postpone call to gen_help_event until inev is stored; use new
964 local do_help for this.
965 Remove local emacs_event in handing of ButtonPress event; just use
966 inev instead (so no reason to copy it later).
967
968 * xsmfns.c (x_session_check_input): Remove numchars arg.
969
970 * xterm.c (x_focus_changed, x_detect_focus_change):
971 Remove numchars arg. Always store event into bufp arg.
972 Return nothing. Callers changed accordingly.
973 (glyph_rect): Simplify.
974 (STORE_KEYSYM_FOR_DEBUG): New macro.
975 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
976 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
977 (current_hold_quit) [USE_GTK]: Add.
978 (event_handler_gdk): Adapt to new handle_one_xevent.
979 (handle_one_xevent): Remove bufp_r and numcharsp args.
980 Add hold_quit arg. Rework to use just one, local, inev
981 input_event. Store inev directly in fifo using
982 kbd_buffer_store_event_hold. Update count in one place.
983 Postpone call to gen_help_event until inev is stored; use new
984 local do_help for this.
985 Simplify handling of keysyms (consolidate common code). Fix bug
986 where count was updated with nchars instead of nbytes.
987 Remove local emacs_event in handing of ButtonPress event; just use
988 inev instead (so no reason to copy it later).
989 Remove `out' label. Rename label `ret' to `done'; add various
990 `goto done' to clarify code flow in deeply nested blocks.
991 (x_dispatch_event): Simplify as handle_one_xevent now calls
992 kbd_buffer_store_event itself.
993 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
994 arg. Call handle_one_xevent with new arglist. Store event from
995 x_session_check_input in fifo.
996 [USE_GTK]: Setup current_hold_quit.
997 Decrement handling_signal before unblocking input.
998 (x_initialize) [USE_GTK]: Initialize current_count.
999
1000 * xterm.h (x_session_check_input): Fix prototype.
1001
1002 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1003
1004 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
1005
1006 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
1007 macgui.h).
1008
1009 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
1010
1011 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
1012 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
1013 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
1014 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
1015 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
1016 (Bitmap): Remove typedef.
1017 (Pixmap): Change int to GWorldPtr.
1018
1019 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
1020
1021 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
1022 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
1023 New #define to extract 16-bit depth color components from unsigned
1024 long representation.
1025 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
1026 colors used for masks.
1027 (struct mac_display_info): Add color_p. Remove n_cbits.
1028
1029 * macfns.c: Include sys/types.h and sys/stat.h.
1030 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
1031 Include QuickTime/QuickTime.h.
1032 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
1033 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
1034 functions defined in macterm.c.
1035 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
1036 (ZPixmap): New #define for compatibility with xfns.c.
1037 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1038 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
1039 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
1040 New functions.
1041 (four_corners_best, x_create_x_image_and_pixmap)
1042 (x_destroy_x_image, unwind_create_frame, x_disable_image)
1043 (x_edge_detection, init_color_table, colors_in_color_table)
1044 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
1045 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
1046 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
1047 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
1048 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
1049 long mixup.
1050 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
1051 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
1052 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
1053 (x_set_cursor_type, Fxw_color_values, valid_image_p)
1054 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
1055 (x_alloc_image_color, clear_image_cache, lookup_image)
1056 (x_find_image_file, xbm_read_bitmap_file_data)
1057 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
1058 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
1059 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
1060 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
1061 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
1062 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
1063 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
1064 #if 0.
1065 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
1066 #if 0. Free white_relief.gc and black_relief.gc.
1067 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
1068 New functions (from xfns.c).
1069 (Fx_create_frame): Record unwind_create_frame.
1070 (Fxw_display_color_p): Use dpyinfo->color_p.
1071 (Fx_display_grayscale_p, Fx_display_planes): Don't use
1072 dpyinfo->n_cbits.
1073 (Fx_display_color_cells): Use dpyinfo->n_planes;
1074 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
1075 (Qheuristic, cross_disabled_images, emboss_matrix)
1076 (laplace_matrix): New variables (from xfns.c).
1077 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
1078 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
1079 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
1080 (image_background_transparent): New function (from xfns.c).
1081 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
1082 (image_load_quicktime): Add declaration.
1083 [MAC_OSX] (image_load_quartz2d): Likewise.
1084 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
1085 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
1086 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
1087 (xbm_load_image_from_file, x_laplace_read_row)
1088 (x_laplace_write_row, pbm_read_file): Remove functions.
1089 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
1090 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
1091 (colors_in_color_table): Sync with xfns.c (although not used).
1092 (lookup_rgb_color): Don't lookup color table. Just do gamma
1093 correction.
1094 (COLOR_INTENSITY): New #define (from xfns.c).
1095 (x_disable_image): New function (from xfns.c).
1096 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
1097 (x_build_heuristic_mask): Sync with xfns.c.
1098 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
1099 (HAVE_PBM): Remove #ifdef.
1100 (pbm_load): Sync with xfns.c. Set img->width and img->height
1101 before IMAGE_BACKGROUND.
1102 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
1103 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
1104 Don't enclose with #if HAVE_PNG.
1105 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
1106 symbol _CGImageCreateWithPNGDataProvider is defined.
1107 Otherwise use image_load_quicktime.
1108 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
1109 [HAVE_PNG] (png_load): Sync with xfns.c.
1110 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
1111 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
1112 HAVE_JPEG.
1113 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
1114 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
1115 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
1116 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
1117 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
1118 (tiff_image_p, tiff_load): Don't enclose declarations with #if
1119 HAVE_TIFF.
1120 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
1121 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
1122 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
1123 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
1124 New functions (from xfns.c).
1125 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
1126 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
1127 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
1128 Don't enclose with #if HAVE_GIF.
1129 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
1130 animated gif. Otherwise use image_load_quicktime.
1131 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
1132 gif_DrawText to avoid conflict with QuickdrawText.h.
1133 [HAVE_GIF] (gif_load): Sync with xfns.c.
1134 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
1135 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
1136 Ghostscript is not supported yet).
1137 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
1138 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
1139 cross_disabled_images (from xfns.c). Remove #if 0 for supported
1140 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
1141 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
1142 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
1143 HAVE_PNG. Call EnterMovies to support animated gifs.
1144 Call init_image_func_pointer to bind a symbol
1145 _CGImageCreateWithPNGDataProvider if it is defined.
1146
1147 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
1148 (x_draw_bar_cursor): Sync declaration with xterm.c.
1149 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
1150 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
1151 graphics).
1152 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
1153 (mac_draw_line_to_pixmap, XCreatePixmap)
1154 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
1155 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
1156 New functions.
1157 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
1158 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
1159 Cast bits to char *.
1160 (reflect_byte): New function (from w32fns.c).
1161 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
1162 due to byte alignment.
1163 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
1164 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
1165 (XSetForeground): Remove static (now used in macfns.c).
1166 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
1167 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
1168 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
1169 (x_draw_glyph_string_box, x_draw_image_foreground)
1170 (x_draw_image_foreground_1, x_draw_image_glyph_string)
1171 (x_draw_stretch_glyph_string, x_draw_glyph_string)
1172 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
1173 Sync with xterm.c.
1174 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
1175 than the xterm.c version when a strictly horizontal or vertical
1176 line is drawn.
1177 (XTset_terminal_window): Add static.
1178 (x_make_frame_visible): Add UNBLOCK_INPUT.
1179 (x_free_frame_resources): New funcion (from xterm.c).
1180 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
1181 occurs in tool bar area.
1182 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
1183 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
1184 Initialize image cache.
1185 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
1186 Enclose unused functions with #if 0.
1187 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
1188 (decode_mac_font_name): New function to apply code conversions
1189 from a mac font name to an XLFD font name according to its script code.
1190 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
1191 font name to a mac font name according to REGISTRY and ENCODING fields.
1192 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
1193 whose name starts with `.'.
1194 (init_font_name_table): Use decode_mac_font_name. Add both
1195 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
1196 of a font is smJapanese.
1197 (mac_do_list_fonts): New function to list fonts that match a given
1198 pattern.
1199 (x_list_fonts, XLoadQueryFont): Use it.
1200 (XLoadQueryFont): Set rbearing field for each variable width
1201 character to avoid needless redraw.
1202 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
1203
1204 2004-02-26 Kim F. Storm <storm@cua.dk>
1205
1206 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
1207 as read_socket_hook handler on X aborts if buffer is too small
1208 and W32 handler doesn't always check buffer limit.
1209
1210 * xdisp.c (handle_single_display_prop): Handle left-fringe and
1211 right-fringe similar to a display margin image. Specifically,
1212 the characters having the fringe prop are no longer shown, and
1213 we use IT_IMAGE/next_element_from_image with image_id = -1 to
1214 do this. Set fringe bitmap face_id in it->face_id.
1215 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
1216 still realize it->face (i.e. the fringe bitmap face).
1217
1218 2004-02-25 Miles Bader <miles@gnu.org>
1219
1220 * xdisp.c (check_it): Check string/string_pos consistency.
1221 (init_iterator): Initialize string-related fields properly.
1222
1223 2004-02-11 Miles Bader <miles@gnu.org>
1224
1225 * xdisp.c (produce_image_glyph): Force negative descents to zero.
1226
1227 2004-02-10 Miles Bader <miles@gnu.org>
1228
1229 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
1230 BLOCK_INPUT can be nested, so it doesn't make much sense.
1231
1232 2004-02-24 Michael Mauger <mmaug@yahoo.com>
1233
1234 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
1235 (xbm_read_bitmap_data): Use unsigned char for image data.
1236
1237 2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
1238
1239 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
1240
1241 2004-02-22 Jason Rumney <jasonr@gnu.org>
1242
1243 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
1244 correctly over other bitmaps.
1245
1246 2004-02-21 Eli Zaretskii <eliz@gnu.org>
1247
1248 * emacs.c (USAGE1): Split into two halves.
1249 (USAGE2): Second half of the old USAGE1.
1250 (USAGE3): Rename from USAGE2.
1251 (USAGE4): Rename from USAGE3.
1252
1253 2004-02-21 Juri Linkov <juri@jurta.org>
1254
1255 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
1256 Fix --multibyte. Move --help, --version to USAGE2. Add alias
1257 --file. Fix -f, -l. Sort options. Untabify.
1258 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
1259
1260 2004-02-19 Luc Teirlinck <teirllm@auburn.edu>
1261
1262 * category.c (Fdefine_category, Fcategory_docstring)
1263 (Fget_unused_category, Fset_category_table)
1264 (Fcategory_set_mnemonics): Doc fixes.
1265
1266 2004-02-20 Kim F. Storm <storm@cua.dk>
1267
1268 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
1269 The following changes are relative to the 2004-01-21 revision.
1270 (NREAD_INPUT_EVENTS): Define as max number of input events to read
1271 in one call to read_socket_hook. Value is 8.
1272 (read_avail_input): Separate and rework handling of read_socket_hook
1273 and non-read_socket_hook cases. Use smaller input_event buffer
1274 in read_socket_hook case, and repeat if full buffer is read.
1275 Use new local variable 'discard' to skip input after C-g.
1276 In non-read_socket_hook case, just use a single input_event, and
1277 call kbd_buffer_store_event on the fly for each character.
1278
1279 2004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
1280
1281 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
1282 Remove unused `gu' alternative.
1283
1284 2004-02-19 Andreas Schwab <schwab@suse.de>
1285
1286 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
1287 warning.
1288
1289 2004-02-18 Kim F. Storm <storm@cua.dk>
1290
1291 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
1292 Fix last change.
1293
1294 2004-02-17 Kim F. Storm <storm@cua.dk>
1295
1296 * xdisp.c (fast_find_position): Fix return value of new version;
1297 it was inverted compared to the 21.1 version.
1298 (get_window_cursor_type): Don't look at glyph if NULL.
1299 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
1300
1301 * keyboard.c: Rework previous change; it didn't consider that the
1302 buf array was allocated on the stack.
1303 (prev_read): Remove variable.
1304 (read_avail_input_buf): New static event buffer array.
1305 (in_read_avail_input): New static variable to handle re-entrancy.
1306 (read_avail_input): Change buf to pinter to read_avail_input_buf.
1307 Use in_read_avail_input to handle re-entrance; when re-entered,
1308 fully initialize and use tmp_buf array instead of read_avail_input_buf.
1309 Do not initialize read_avail_input_buf in full here; instead assume it
1310 is always cleared on entry. To ensure that, we clear (just) the
1311 entries that were used before we return.
1312 (init_keyboard): Initialize read_avail_input_buf here.
1313
1314 2004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change)
1315
1316 * cmds.c (Fend_of_line): Doc fix.
1317
1318 2004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
1319
1320 * keyboard.c (prev_read): New static variable.
1321 (read_avail_input): Use it to zero out only those slots in buf[]
1322 that were used last time we were called.
1323
1324 2004-02-16 Eli Zaretskii <eliz@gnu.org>
1325
1326 * Makefile.in (obj): Move fringe.o from here...
1327 (XOBJ, MAC_OBJ): ...to here.
1328
1329 2004-02-16 Stephen Eglen <stephen@gnu.org>
1330
1331 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
1332
1333 2004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
1334
1335 * data.c (Fbyteorder):
1336 * fringe.c (Fdefine_fringe_bitmap):
1337 * xdisp.c (handle_single_display_prop):
1338 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
1339
1340 2004-02-16 Jason Rumney <jasonr@gnu.org>
1341
1342 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
1343
1344 2004-02-15 Steven Tamm <steventamm@mac.com>
1345
1346 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
1347 controlling emulation of a three button mouse with option and
1348 command keys.
1349 (Qreverse, mac_get_enumlated_btn): Handle the emulation
1350 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
1351
1352 2004-02-15 Kim F. Storm <storm@cua.dk>
1353
1354 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
1355
1356 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
1357 Perform byte-swapping.
1358
1359 2004-02-14 Kim F. Storm <storm@cua.dk>
1360
1361 * dispextern.h (struct draw_fringe_bitmap_params): Change member
1362 bits from char to short to facilitate wider bitmaps.
1363 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
1364 member.
1365
1366 * fringe.c (struct fringe_bitmap): Change member bits from char to
1367 short to facilitate 16 bits wide bitmaps. Modify all standard
1368 bitmaps accordingly.
1369 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
1370 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
1371 (draw_fringe_bitmap): Ditto.
1372 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
1373 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
1374 handle up to 16 bits wide bitmaps.
1375 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
1376 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
1377
1378 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
1379 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
1380 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
1381
1382 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
1383 so it is no longer necessary to expand them here.
1384
1385 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
1386
1387 2004-02-12 Kim F. Storm <storm@cua.dk>
1388
1389 * window.c (Fwindow_fringes): Doc fix.
1390
1391 2004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1392
1393 * xselect.c (x_get_foreign_selection): Add new optional parameter
1394 time_stamp.
1395 (Fx_get_selection_internal): Ditto, pass time_stamp to
1396 x_get_foreign_selection.
1397
1398 * data.c (Fbyteorder): New function.
1399
1400 2004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1401
1402 * atimer.c: Move include stdio.h to same place as in other files.
1403
1404 * region-cache.c: Ditto.
1405
1406 * sysdep.c: Ditto.
1407
1408 * xfaces.c: Ditto.
1409
1410 2004-02-09 Sam Steingold <sds@gnu.org>
1411
1412 * w32term.c (w32_draw_fringe_bitmap): Fixed a typo in the last patch.
1413
1414 2004-02-09 Kim F. Storm <storm@cua.dk>
1415
1416 * fringe.c: New file. Move original fringe related declarations
1417 and code from dispextern.h and xdisp.c here.
1418 Rework code to support user defined fringe bitmaps, redefining
1419 standard bitmaps, ability to overlay user defined bitmap with
1420 overlay arrow bitmap, and add faces to bitmaps.
1421 (Voverflow_newline_into_fringe): Declare here.
1422 (enum fringe_bitmap_align): New enum.
1423 (..._bits): All bitmaps are now defined without bitswapping; that
1424 is now done in init_fringe_once (if necessary).
1425 (standard_bitmaps): New array with specifications for the
1426 standard fringe bitmaps.
1427 (fringe_faces): New array.
1428 (valid_fringe_bitmap_id_p): New function.
1429 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
1430 (draw_fringe_bitmap): New function which draws fringe bitmap,
1431 possibly overlaying bitmap with cursor in right fringe or the
1432 overlay arrow in the left fringe.
1433 (update_window_fringes): Do not handle overlay arrow here.
1434 Compare and copy fringe bitmap faces.
1435 (init_fringe_bitmap): New function.
1436 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
1437 define and destroy user defined fringe bitmaps.
1438 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
1439 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
1440 (syms_of_fringe): New function. Defsubr new DEFUNs.
1441 DEFVAR_LISP Voverflow_newline_into_fringe.
1442 (init_fringe_once, init_fringe): New functions.
1443 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
1444
1445 * Makefile.in (obj): Add fringe.o.
1446 (fringe.o): New dependencies.
1447
1448 * dispextern.h (FRINGE_ID_BITS): New definition for number of
1449 bits allocated to hold a fringe number. Increase number of bits
1450 from 4 to 8 to allow user defined fringe bitmaps.
1451 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
1452 left_user_fringe_face_id, right_user_fringe_bitmap,
1453 right_user_fringe_face_id.
1454 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
1455 Move to new file fringe.c.
1456 (MAX_FRINGE_BITMAPS): Define here.
1457 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
1458 and overlay_p. Change member which to int.
1459 (struct redisplay_interface): New members define_fringe_bitmap
1460 and destroy_fringe_bitmap.
1461 (valid_fringe_bitmap_id_p): Add prototype.
1462 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
1463
1464 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
1465 arrows.
1466 (update_frame): Do flush_display if force_flush_display_p to
1467 ensure display (specifically fringes) are updated in a timely
1468 manner when resizing the frame by dragging the mouse.
1469 (update_window_line): Update row if overlay arrow changed.
1470 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
1471 or overlay arrow changed.
1472
1473 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
1474 syms_of_fringe, and init_fringe.
1475
1476 * frame.h (struct frame): New member force_flush_display_p.
1477
1478 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
1479 Add prototypes.
1480
1481 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
1482 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
1483 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
1484 Use cursor color for displaying cursor in fringe.
1485 (x_redisplay_interface): Add null handlers for
1486 define_fringe_bitmap and destroy_fringe_bitmap functions.
1487
1488 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
1489 xterm.c to handle overlayed fringe bitmaps and to use cursor color
1490 for displaying cursor in fringe.
1491 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
1492 specific functions to define and destroy fringe bitmaps in fringe_bmp.
1493 (w32_redisplay_interface): Add them to redisplay_interface.
1494 (w32_term_init): Call w32_init_fringe instead of explicitly
1495 defining fringe bitmaps in fringe_bmp array.
1496 (x_delete_display): Call w32_reset_fringes instead of explicitly
1497 destroying fringe bitmaps in fringe_bmp array.
1498
1499 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
1500 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
1501 (continued_bits, continuation_bits, ov_bits, first_line_bits)
1502 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
1503 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
1504 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
1505 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
1506 Move fringe handling vars and code to new file fringe.c.
1507 (handle_display_prop): Handle left-fringe and right-fringe
1508 display properties; store user fringe bitmaps in iterator.
1509 (move_it_in_display_line_to): Handle cursor in fringe at eob.
1510 (clear_garbaged_frames): Set force_flush_display_p if resized.
1511 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
1512 (display_line): Handle cursor in fringe at eob.
1513 (display_line): Set row user fringe bitmaps from iterator.
1514
1515 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
1516 Use cursor color for displaying cursor in fringe.
1517 (x_redisplay_interface): Add null handlers for
1518 define_fringe_bitmap and destroy_fringe_bitmap functions.
1519
1520 2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1521
1522 * macfns.c (Fx_change_window_property): Make doc string and
1523 parameters same as for X version.
1524
1525 * w32fns.c (Fx_change_window_property): Ditto.
1526
1527 2004-02-07 Kim F. Storm <storm@cua.dk>
1528
1529 * xdisp.c (hscroll_window_tree): Position cursor near to right
1530 margin in hscrolled window when jumping to end of line (rather
1531 than centering cursor).
1532
1533 * process.c (wait_reading_process_input): Don't do adaptive read
1534 buffering if waiting for a specific process.
1535
1536 2004-02-05 Luc Teirlinck <teirllm@auburn.edu>
1537
1538 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
1539 (Fread_minibuffer, Feval_minibuffer)
1540 (Fread_string, Fread_no_blanks_input)
1541 (Fcompleting_read): Doc fixes.
1542 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
1543 completion-regexp-list. Define Qcase_fold_search and staticpro it.
1544 (read_minibuf): Fix initial comment.
1545 (Ftry_completion, Fall_completions, Ftest_completion): Bind
1546 case-fold-serach to the value of completion-ignore-case when
1547 checking completion-regexp-list.
1548 (Fdisplay_completion_list): Make it handle arguments that are
1549 symbols. Doc fix.
1550
1551 2004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1552
1553 * xterm.h: Add declaration of free_frame_menubar.
1554
1555 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
1556 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
1557 (Fx_change_window_property): Add declaration of parameters type and
1558 format. Remove unused variable cons.
1559
1560 * xselect.c: Include stdio,h.
1561
1562 2004-02-05 Kenichi Handa <handa@m17n.org>
1563
1564 * fns.c (Fset_char_table_range): Fix previous change.
1565
1566 * buffer.c (Fset_buffer_multibyte): Fix docstring.
1567
1568 2004-02-04 Luc Teirlinck <teirllm@auburn.edu>
1569
1570 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
1571
1572 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
1573
1574 * keymap.c (Vmouse_events): Rename from Vmenu_events.
1575 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
1576
1577 2004-02-04 Kenichi Handa <handa@m17n.org>
1578
1579 * fns.c (Fset_char_table_range): Handle charsets ascii,
1580 eight-bit-control, and eight-bit-graphic correctly.
1581
1582 2004-02-03 Jason Rumney <jasonr@gnu.org>
1583
1584 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
1585
1586 * w32fns.c (x_to_w32_font): Likewise.
1587
1588 2004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1589
1590 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
1591 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
1592
1593 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
1594 ClientMessages.
1595
1596 * xselect.c: Include termhooks.h and X11/Xproto.h
1597 (x_check_property_data, x_fill_property_data)
1598 (x_property_data_to_lisp, mouse_position_for_drop)
1599 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
1600 (Fx_send_client_event): Move here from xfns.c.
1601 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
1602
1603 * xfns.c (x-send-client-message): Move to xselect.c
1604 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
1605 OUTER_P.
1606 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
1607 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
1608 if vector_ret_p is true.
1609 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
1610
1611 2004-02-02 Eli Zaretskii <eliz@gnu.org>
1612
1613 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
1614 basename of FILE relative to it, not FILE itself.
1615
1616 2004-02-02 Kenichi Handa <handa@m17n.org>
1617
1618 * coding.c (coding_restore_composition): Check invalid
1619 composition data more rigidly.
1620
1621 2004-01-30 Luc Teirlinck <teirllm@auburn.edu>
1622
1623 * fileio.c (Fread_file_name_internal): Correctly handle the case
1624 where insert-default-directory is nil.
1625 (Fread_file_name): Always return an empty string if the user exits
1626 with an empty minibuffer. Adapt the docstring accordingly.
1627 (syms_of_fileio): Adapt the docstring of insert-default-directory
1628 to the change in Fread_file_name.
1629
1630 2004-01-29 Eli Zaretskii <eliz@gnu.org>
1631
1632 * alloca.c [!alloca]: Fix the prototype for xfree.
1633
1634 2004-01-29 Kenichi Handa <handa@m17n.org>
1635
1636 * fns.c (string_char_to_byte): Optimize for ASCII only string.
1637 (string_byte_to_char): Likewise.
1638
1639 2004-01-28 Peter Runestig <peter@runestig.com>
1640
1641 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
1642
1643 2004-01-27 Steven Tamm <steventamm@mac.com>
1644
1645 * unexmacosx.c (unexec_copy): Do not copy more than was
1646 requested to prevent overwriting during unexec.
1647
1648 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1649
1650 * process.c (sigchld_handler): Add comment about not calling malloc.
1651
1652 * process.h: Add extern to synch_process_termsig.
1653
1654 2004-01-27 Steven Tamm <steventamm@mac.com>
1655
1656 * macterm.c (make_mac_frame, make_mac_terminal_frame):
1657 Move setting of scroll bars from make_mac_frame to
1658 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
1659
1660 2004-01-26 Richard M. Stallman <rms@gnu.org>
1661
1662 * search.c (Freplace_match): Handle nonexistent
1663 back-references properly.
1664
1665 2004-01-03 Richard M. Stallman <rms@gnu.org>
1666
1667 * window.c (decode_any_window): New function.
1668 (Fwindow_height, Fwindow_width, Fwindow_edges)
1669 (Fwindow_pixel_edges, Fwindow_inside_edges)
1670 (Fwindow_inside_pixel_edges): Use decode_any_window.
1671
1672 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1673
1674 * process.h: synch_process_termsig new variable.
1675
1676 * callproc.c: Define synch_process_termsig.
1677 (Fcall_process): Initiate synch_process_termsig to zero and
1678 check if non-zero and get signal name after subprocess has ended.
1679
1680 * process.c (sigchld_handler): Set synch_process_termsig
1681 if terminated by a signal. synch_process_death setting removed.
1682
1683 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
1684
1685 2004-01-26 Andreas Schwab <schwab@suse.de>
1686
1687 * print.c (print_preprocess): Declare size as EMACS_INT to not
1688 lose bits.
1689 (print_object): Likewise.
1690 * alloc.c (Fpurecopy): Likewise.
1691
1692 2004-01-25 Luc Teirlinck <teirllm@auburn.edu>
1693
1694 * window.c (Fwindow_minibuffer_p): Doc fix.
1695
1696 2004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
1697
1698 * editfns.c (Fformat): Make both passes accept the same set of flags.
1699
1700 2004-01-23 Kenichi Handa <handa@m17n.org>
1701
1702 * fns.c (Fmd5): If OBJECT is a buffer different from the current
1703 one, set buffer to OBJECT temporarily.
1704
1705 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
1706
1707 * keyboard.c (kbd_buffer_gcpro): Remove.
1708 (kbd_buffer_store_event, clear_event, Fdiscard_input)
1709 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
1710 Don't initialize and/or maintain the variable any more. It was made
1711 redundant by my commit of 2003-06-15.
1712
1713 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
1714
1715 2004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1716
1717 * lisp.h: Add undef DECL_ALIGN.
1718
1719 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
1720
1721 * process.c (wait_reading_process_input) [SYNC_INPUT]:
1722 Check interrupt_input_pending explicitly.
1723
1724 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
1725
1726 * keyboard.c (handle_async_input): New fun,
1727 extracted from input_available_signal.
1728 (input_available_signal, reinvoke_input_signal): Use it.
1729
1730 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
1731
1732 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
1733
1734 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
1735 manipulation macros for when tags are in the lower bits.
1736 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
1737 (DECL_ALIGN): New macro.
1738 (DEFUN): Use it.
1739
1740 * lisp.h [ENABLE_CHECKING]: Don't force union type.
1741
1742 * s/darwin.h (__attribute__): Remove outdated workaround.
1743
1744 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
1745
1746 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
1747 Don't check range of malloc address.
1748 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
1749
1750 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
1751
1752 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
1753
1754 2004-01-19 Kenichi Handa <handa@m17n.org>
1755
1756 * fontset.c (fontset_font_pattern): Fix previous change.
1757
1758 2004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
1759
1760 * xdisp.c (Voverflow_newline_into_fringe)
1761 (move_it_in_display_line_to, redisplay_internal)
1762 (update_window_fringes, redisplay_window, display_line, window):
1763 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
1764 that it compiles without a window-system.
1765 * dispnew.c (direct_output_for_insert, update_window): Likewise.
1766
1767 2004-01-16 Kim F. Storm <storm@cua.dk>
1768
1769 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
1770
1771 * buffer.c (init_buffer_once): Set buffer_defaults and
1772 buffer_local_flags for indicate_buffer_boundaries.
1773 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
1774 default- variable for it.
1775
1776 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
1777 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
1778 New members exact_window_width_line_p and cursor_in_fringe_p for
1779 overflowing newlines into right fringe.
1780 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
1781 and indicate_bottom_line_p for buffer boundaries and scrolling.
1782 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
1783 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
1784 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
1785 and HOLLOW_SQUARE_BITMAP.
1786 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
1787 Add prototypes.
1788
1789 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
1790 instead of related indicator fields.
1791 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
1792 (direct_output_for_insert): Handle exact width lines like
1793 contined lines. Call update_window_fringes.
1794 (update_window): Call update_window_fringes.
1795 (scrolling_window): Don't skip desired rows with changed bitmaps.
1796 Check if fringe bitmaps changes when assigning scrolled rows.
1797
1798 * xdisp.c (Voverflow_newline_into_fringe): New variable.
1799 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
1800 (move_it_in_display_line_to): Overflow newline into fringe for
1801 rows that are exactly as wide as the window.
1802 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
1803 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
1804 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
1805 (fringe_bitmaps): Add new bitmaps.
1806 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
1807 Select proper bitmap for cursor in fringe when appropriate.
1808 Handle alignment of bitmap to top or bottom of row.
1809 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
1810 done by update_window_fringes.
1811 (update_window_fringes, draw_window_fringes): New functions.
1812 (redisplay_internal): Call update_window_fringes in case only
1813 cursor row is updated.
1814 (redisplay_window): Call update_window_fringes.
1815 Explicitly call draw_window_fringes if redisplay was done using
1816 the current matrix or the overlay arrow is in the window.
1817 (try_window_reusing_current_matrix): Mark scrolled rows for
1818 fringe update (to update buffer-boundaries / scrolling icons).
1819 (find_last_unchanged_at_beg_row): Handle exact width lines line
1820 continued lines.
1821 (display_line): Overflow newline into fringe for rows that are
1822 exactly as wide as the window. Don't append space for newline
1823 in this case.
1824 (notice_overwritten_cursor): Explicitly clear cursor bitmap
1825 in fringe as if it had been overwritten.
1826 (erase_phys_cursor): Erase cursor bitmap in fringe.
1827 (syms_of_xdisp): Mark show-trailing-whitespace and
1828 void-text-area-pointer as user options.
1829 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
1830
1831 * xterm.c (x_update_window_end): Call draw_window_fringes.
1832 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
1833 in row instead of actually drawing fringe bitmaps.
1834 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
1835 (x_draw_window_cursor): Draw cursor in fringe.
1836
1837 * w32term.c (x_update_window_end): Call draw_window_fringes.
1838 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
1839 in row instead of actually drawing fringe bitmaps.
1840 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
1841 (w32_draw_window_cursor): Draw cursor in fringe.
1842
1843 * macterm.c (x_update_window_end): Call draw_window_fringes.
1844 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
1845 in row instead of actually drawing fringe bitmaps.
1846 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
1847 (mac_draw_window_cursor): Draw cursor in fringe.
1848
1849 2004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1850
1851 * xterm.c (handle_one_xevent): Don't handle characters that are part
1852 of an old style (XLookupString) compose sequence.
1853
1854 2004-01-15 Kenichi Handa <handa@m17n.org>
1855
1856 * search.c (Freplace_match): Use make_multibyte_string or
1857 make_unibyte_string according to the buffer multibyteness.
1858
1859 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
1860
1861 * alloc.c (struct interval_block, struct string_block)
1862 (struct symbol_block, struct marker_block, live_string_p)
1863 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
1864 Better preserve alignment for objects in blocks.
1865 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
1866
1867 * lread.c (defvar_per_buffer): Remove dead declaration.
1868
1869 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
1870 space size.
1871
1872 2004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1873
1874 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
1875 if a key press should pop down. Only pop down if a key is pressed
1876 outside the menu/dialog.
1877 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
1878 popup_get_selection.
1879 (create_and_show_dialog): Pass 1 for down_on_keypress to
1880 popup_get_selection.
1881
1882 2004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1883
1884 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
1885 BLOCK/UNBLOCK_INPUT.
1886
1887 2004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1888
1889 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
1890 specified.
1891
1892 2004-01-08 Kenichi Handa <handa@m17n.org>
1893
1894 * editfns.c (Fformat): Fix '&' to '&&'.
1895
1896 2004-01-08 Andreas Schwab <schwab@suse.de>
1897
1898 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
1899 size if PSEUDOVECTOR_FLAG is set.
1900
1901 2004-01-07 Kenichi Handa <handa@m17n.org>
1902
1903 * charset.c (Fdeclare_equiv_charset): Fix docstring.
1904
1905 * fontset.c (fontset_ref_via_base): Fix previous change.
1906
1907 2004-01-07 Kim F. Storm <storm@cua.dk>
1908
1909 * process.c (read_process_output): Only activate adaptive
1910 buffering if we read less than 256 bytes at a time.
1911
1912 2004-01-06 Kim F. Storm <storm@cua.dk>
1913
1914 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
1915 object and image object. Return glyph width and height.
1916 (mode_line_string, marginal_area_string): Ditto.
1917
1918 * dispextern.h (buffer_posn_from_coords, mode_line_string)
1919 (marginal_area_string): Fix prototypes.
1920
1921 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
1922 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
1923 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
1924
1925 * keyboard.c (make_lispy_position): Use modified mode_line_string,
1926 buffer_posn_from_coords, and marginal_area_string functions to
1927 include both string object and image object in the lispy position.
1928 Also add actual glyph width and height to position.
1929 (read_key_sequence): Use real buffer position from mouse
1930 event to find keymap property even when click is in marginal area.
1931
1932 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
1933 mode_line_string and marginal_area_string functions to handle
1934 both string object and image object properties.
1935
1936 2004-01-06 Andreas Schwab <schwab@suse.de>
1937
1938 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
1939 character.
1940
1941 2004-01-02 Andreas Schwab <schwab@suse.de>
1942
1943 * macterm.c (emacs_options, x_initialized, same_x_server):
1944 Remove unused (and duplicated) definitions.
1945
1946 2004-01-02 Kim F. Storm <storm@cua.dk>
1947
1948 * process.h (struct Lisp_Process): New members for adaptive read
1949 buffering: adaptive_read_buffering, read_output_delay, and
1950 read_output_skip.
1951
1952 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
1953 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
1954 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
1955 (process_output_delay_count, process_output_skip): New vars.
1956 (Vprocess_adaptive_read_buffering): New variable.
1957 (make_process): Initialize adaptive read buffering members.
1958 (Fstart_process): Set adaptive_read_buffering member.
1959 (deactivate_process): Cleanup adaptive read buffering.
1960 (wait_reading_process_input): Temporarily omit delayed
1961 subprocesses from the set of file descriptors to read from;
1962 adjust the select timeout if we skipped any subprocesses.
1963 (read_process_output): Increase adaptive read buffering delay if
1964 we read less than a full buffer; reduce delay when we read a
1965 full buffer.
1966 (send_process): Simplify using local Lisp_Process var.
1967 Reset adaptive read buffering delay after write.
1968 (init_process): Initialize process_output_delay_count and
1969 process_output_skip.
1970 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
1971
1972 2004-01-01 Jason Rumney <jasonr@gnu.org>
1973
1974 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
1975
1976 2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
1977
1978 * print.c (Ferror_message_string): Add hyperlink in the docstring
1979 to the definition of `signal' in the Elisp manual.
1980 * eval.c (Fsignal): Ditto.
1981
1982 2003-12-29 James Clark <jjc@jclark.com> (tiny change)
1983
1984 * fns.c (internal_equal): Return t for two NaN arguments.
1985
1986 2003-12-29 Richard M. Stallman <rms@gnu.org>
1987
1988 * data.c (store_symval_forwarding): Handle setting
1989 default-fill-column, etc., by changing the value in
1990 buffers that use the default.
1991
1992 * minibuf.c (Fset_minibuffer_window): Doc fix.
1993
1994 * fileio.c (choose_write_coding_system): Ignore auto_saving
1995 if using the visited file for auto saves.
1996 (Fwrite_region): Don't update SAVE_MODIFF
1997 if auto-saving in visited file.
1998
1999 2003-12-29 Kenichi Handa <handa@m17n.org>
2000
2001 * dispextern.h (face_font_available_p): Extern it.
2002
2003 * fontset.c (Voverriding_fontspec_alist): New variable.
2004 (lookup_overriding_fontspec): New function.
2005 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
2006 (fontset_font_pattern): Likewise.
2007 (regulalize_fontname): New function.
2008 (Fset_fontset_font): Call regulalize_fontname.
2009 (Fset_overriding_fontspec_internal): New function.
2010 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
2011 Defsubr Sset_overriding_fontspec_internal.
2012
2013 * xfaces.c (face_font_available_p): New function.
2014
2015 2003-12-28 Richard M. Stallman <rms@gnu.org>
2016
2017 * buffer.c (Fother_buffer): Don't crash if BUF is nil
2018 or if its name is nil.
2019
2020 * buffer.c (Fkill_buffer): Don't delete auto-save file
2021 if it's the same as the visited file.
2022
2023 2003-12-28 Luc Teirlinck <teirllm@auburn.edu>
2024
2025 * coding.c (Fcheck_coding_system): Doc fix.
2026
2027 2003-12-28 Kim F. Storm <storm@cua.dk>
2028
2029 * Makefile.in (eval.o): Depend on dispextern.h.
2030
2031 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
2032 image glyph using image's ascent.
2033 (mode_line_string): Return image glyph as object clicked on.
2034 Adjust y0 for image glyph using image's ascent.
2035
2036 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
2037 (struct glyph): New members, ascent and descent. Used to save
2038 this glyph's ascent and descent, instead of having.
2039 (struct glyph): Declare member face_id using FACE_ID_BITS.
2040 (find_hot_spot): Add prototype.
2041
2042 * keyboard.c (Qimage): Remove extern (now in lisp.h).
2043 (QCmap): Declare extern.
2044 (make_lispy_position): When position is inside image hot-spot,
2045 use hot-spot element's id as posn element.
2046
2047 * lisp.h (IMAGEP): New macro to test for image object type.
2048 (Qimage): Declare extern.
2049
2050 * macfns.c (Qimage): Remove extern (now in lisp.h).
2051 (valid_image_p, parse_image_spec): Use IMAGEP macro.
2052
2053 * macterm.c (Qface, Qmouse_face): Remove unused externs.
2054
2055 * w32fns.c (Qimage): Remove extern (now in lisp.h).
2056 (valid_image_p, parse_image_spec): Use IMAGEP macro.
2057
2058 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
2059
2060 * w32term.c (Qface, Qmouse_face): Remove unused externs.
2061
2062 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
2063 pointer types.
2064 (Qrelative_width, Qalign_to): Remove unused variables.
2065 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
2066 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
2067 image maps.
2068 (x_y_to_hpos_vpos): Return glyph relative coordinates through
2069 new dx and dy args.
2070 Remove buffer_only_p arg (always 0). Simplify code accordingly.
2071 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
2072 than row's ascent and height, to get sensible height on tall rows.
2073 (build_desired_tool_bar_string): Remove Qimage extern.
2074 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
2075 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
2076 image glyph is alone on the last line.
2077 (append_glyph, append_composite_glyph, produce_image_glyph)
2078 (append_stretch_glyph): Set glyph's ascent and descent.
2079 (on_hot_spot_p): New function to check if position is inside an
2080 rectangular, circular, or polygon-shaped image hot-spot,
2081 (find_hot_spot): New function to search for image hot-spot.
2082 (Flookup_image_map): New defun to search for image hot-spot.
2083 (define_frame_cursor1): New aux function to determine frame pointer.
2084 (note_mode_line_or_margin_highlight, note_mouse_highlight):
2085 Handle `pointer' text property and :pointer image property to
2086 control frame pointer shape. Detect image hot-spots for pointer
2087 and help_echo properties. Use define_frame_cursor1.
2088 (note_mouse_highlight): Use Vvoid_text_area_pointer.
2089 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
2090 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
2091
2092 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
2093
2094 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
2095 (Qimage): Remove extern (now in lisp.h).
2096 (valid_image_p, parse_image_spec): Use IMAGEP macro.
2097
2098 * xmenu.c (show_help_event): Remove unused code.
2099
2100 * xterm.c (Qface, Qmouse_face): Remove unused externs.
2101 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
2102 row's ascent and descent, to get a sensible height on tall rows.
2103
2104 2003-12-25 Luc Teirlinck <teirllm@auburn.edu>
2105
2106 * minibuf.c (Fcompleting_read): Undo previous change.
2107
2108 2003-12-25 Lars Hansen <larsh@math.ku.dk>
2109
2110 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
2111 Arguments GCPRO'ed in call to file name handler.
2112
2113 2003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
2114
2115 * termcap.c (tgetst1): Scan for "%pN"; if all
2116 N are continuous in [1,9], remove all "%pN".
2117
2118 2003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2119
2120 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
2121
2122 * xfaces.c (lface_fully_specified_p): Take into account that
2123 MAC OS always have unspecified stipple.
2124
2125 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
2126
2127 * tparam.c (tparam1): Add handling for `%pN', which
2128 means use param N for the next substitution.
2129
2130 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
2131
2132 * xfaces.c (Fcolor_gray_p): Fix omission bug:
2133 In case `frame' is nil, consult the selected frame.
2134 (Fcolor_supported_p): Likewise.
2135
2136 2003-12-23 Luc Teirlinck <teirllm@auburn.edu>
2137
2138 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
2139 Doc fixes.
2140
2141 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
2142 and an integer. Adapt the introductory comment accordingly.
2143 (Fread_from_minibuffer): Delete code moved into read_minibuf.
2144 Doc fix.
2145 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
2146 read_minibuf.
2147 (Fcompleting_read): Delete code moved into read_minibuf.
2148 (Ftest_completion): Make it handle obarrays and hash tables correctly.
2149
2150 2003-12-03 Kenichi Handa <handa@m17n.org>
2151
2152 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
2153 encoding sequence.
2154
2155 2003-12-01 Kenichi Handa <handa@m17n.org>
2156
2157 * composite.c (syms_of_composite): Don't make the compostion hash
2158 table week.
2159
2160 2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
2161
2162 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
2163 * textprop.c (Fget_char_property_and_overlay): New function.
2164 (syms_of_textprop): Defsubr it.
2165
2166 2003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2167
2168 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
2169 to compile on terminal configuration.
2170
2171 * fileio.c (Fread_file_name): Check use_file_dialog also before
2172 calling Fx_file_dialog.
2173
2174 * fns.c: use_file_dialog: New variable.
2175 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
2176
2177 2003-11-29 Kim F. Storm <storm@cua.dk>
2178
2179 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
2180 (syms_of_msdos): Don't intern and staticpro them.
2181
2182 2003-11-27 Kim F. Storm <storm@cua.dk>
2183
2184 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
2185 coordinates relative to glyph at posn. If glyph is an image,
2186 return that as object at posn. Callers changed.
2187 (mode_line_string, marginal_area_string): Calculate and return
2188 pixel coordinates relative to glyph. Callers changed.
2189
2190 * dispextern.h (buffer_posn_from_coords, mode_line_string)
2191 (marginal_area_string): Fix prototypes.
2192 (window_box_left_offset, window_box_right_offset): Add prototypes.
2193
2194 * frame.h (get_specified_cursor_type, get_window_cursor_type):
2195 Remove prototypes.
2196
2197 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
2198
2199 * keyboard.c (make_lispy_position): Add x and y coordinates
2200 relative to the current glyph as 7th element of position.
2201 If glyph is an image, return it in the object element.
2202 (read_key_sequence): Skip checks for keymap property in cases
2203 where POSN_STRING is not a string (e.g. an image).
2204
2205 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
2206 (Vshow_text_cursor_in_void): New variable.
2207 (glyph_to_pixel_coords): Don't use negative hpos.
2208 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
2209 (append_stretch_glyph): Change ascent arg to be actual value
2210 in pixels rather than ratio to height. Callers changed.
2211 (calc_pixel_width_or_height): New aux function, implementing
2212 pixel based artihmetic for glyph widths and heights.
2213 (produce_stretch_glyph): Use calc_pixel_width_or_height for
2214 :width, :height, :align-to, and :ascent, thus allowing these to
2215 be specified in pixels as well as multiples of characters.
2216 Don't produce stretch glyphs with zero width or height.
2217 (get_specified_cursor_type): Declare static.
2218 (get_window_cursor_type): Declare static. Add glyph arg to be
2219 able to know when cursor is on an image; always substitute
2220 hollow-box cursor for filled-box cursor on images, to avoid
2221 negative images and flicker when blinking the cursor.
2222 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
2223 (note_mode_line_or_margin_highlight): Use non-text cursor rather
2224 than vertical scroll-bar cursor in display margins.
2225 (note_mouse_highlight): Use non-text cursor rather than text
2226 cursor in fringes and over images in the text area.
2227 Use non-text cursor when mouse pointer is outside editable text,
2228 i.e. in the void after end-of-line or end-of-buffer; this was
2229 already done for W32, but is now standard for all systems --
2230 user can toggle show-text-cursor-in-void to get old behaviour.
2231 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
2232 Vdisplay_pixels_per_inch.
2233
2234 2003-11-25 Andreas Schwab <schwab@suse.de>
2235
2236 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
2237 EMACS_INT to not lose bits.
2238 (Ffillarray): Don't set bits beyond the size of a bool vector.
2239
2240 2003-11-25 Kim F. Storm <storm@cua.dk>
2241
2242 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
2243 define this defun on systems that cannot use stderr as lvalue.
2244
2245 2003-11-24 Gerd Moellmann <gerd@gnu.org>
2246
2247 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
2248 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
2249 ld's default is incompatible with unexec.
2250
2251 2003-11-23 Kim F. Storm <storm@cua.dk>
2252
2253 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
2254 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
2255 (Fforce_window_update): New defun.
2256 (syms_of_window): Defsubr it.
2257 (Fset_window_margins, Fset_window_fringes): Doc fix.
2258
2259 * print.c (Fredirect_debugging_output): New defun.
2260 (syms_of_print): Defsubr it.
2261
2262 2003-11-22 Luc Teirlinck <teirllm@auburn.edu>
2263
2264 * fns.c (Fset_char_table_parent): Doc fix.
2265
2266 2003-11-22 Kim F. Storm <storm@cua.dk>
2267
2268 * dispnew.c (buffer_posn_from_coords): Return actual row/column
2269 for glyph clicked on, rather than (unused) pixel positions.
2270 (mode_line_string, marginal_area_string): Change X and Y args to
2271 pointers for returning actual row/column for glyph clicked on.
2272 Simplify and optimize loops.
2273
2274 * dispextern.h (mode_line_string, marginal_area_string):
2275 Update prototypes.
2276
2277 * keyboard.c (make_lispy_position): New function for generating
2278 mouse click positions from frame and pixel coordinates.
2279 Enhanced to return buffer position and actual row/column for
2280 events outside the text area using updated mode_line_string and
2281 marginal_area_string functions.
2282 Return left-fringe and right-fringe clicks as such, rather than
2283 clicks in text area.
2284 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
2285 pixel_to_glyph_coords, as we never use the results.
2286 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
2287 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
2288 Eliminate unused code in WHEEL_EVENT handling.
2289 (make_lispy_movement): Use make_lispy_position.
2290
2291 * window.c (coordinates_in_window): Remove redundant tests.
2292 Fix returned X pixel value for left-margin.
2293
2294 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
2295 mode_line_string and marginal_area_string parameters.
2296
2297 2003-11-22 Lars Hansen <larsh@math.ku.dk>
2298
2299 * w32.c (struct the_group, getgrgid): Add.
2300 * mac.c (struct my_group, getgrgid): Add.
2301
2302 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
2303
2304 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
2305
2306 2003-11-21 Lars Hansen <larsh@math.ku.dk>
2307
2308 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
2309 include in call to file name handler. Optionally translate numeric
2310 UID and GID to strings. Update docstring.
2311 (directory_files_internal): Add parameter ID-FORMAT.
2312 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
2313 include in call to file name handler and call to
2314 directory_files_internal. Update Docstring.
2315 (Fdirectory_files): Add dummy parameter in call to
2316 directory_files_internal.
2317 * lisp.h (Qinteger): Add.
2318 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
2319 (Ffile_attributes): Add parameter.
2320 * data.c (Qinteger): Export.
2321
2322 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
2323
2324 * fns.c (Freverse, Fnreverse): Doc fixes.
2325
2326 2003-11-19 Kim F. Storm <storm@cua.dk>
2327
2328 * xdisp.c (init_iterator): Initialize it->start to position
2329 before reseating (in case start position is invisible).
2330 (init_to_row_start): Set it->start to row-start.
2331 (redisplay_window): Accept optional_new_start if start position
2332 is invisible (in which case IT_CHARPOS overshoots PT).
2333 (display_line): Setup row->start from it->start (rather than
2334 it->current which is wrong if first char on line is invisible).
2335 When done, reseat it->start to it->current (= start of next row).
2336 (expose_area): Fix exposure of text area when first char (e.g. TAB)
2337 is only partially visible.
2338
2339 * dispextern.h (struct it): New member start.
2340
2341 2003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
2342
2343 * alloc.c (make_float, Fcons): Clear the markbit at init time.
2344 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
2345 of block_index outside of the macro call.
2346 (Fgarbage_collect): Remove null code.
2347
2348 * m/amdx86-64.h: Don't redefine XPNTR.
2349
2350 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
2351 of VALMASK.
2352
2353 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
2354 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
2355 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
2356
2357 * lisp.h (VALMASK): Only define for non-union type.
2358 (MARKBIT): Remove.
2359 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
2360 (XTYPE): Define unconditionally.
2361 (XSETTYPE): Remove one more remnant.
2362 (EQ): Define differently for the union and non-union cases.
2363 (INTMASK): New bit mask.
2364 (struct Lisp_Marker): Move down to prepare for upcoming patch.
2365 (GC_EQ): Delegate to EQ.
2366
2367 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
2368
2369 2003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2370
2371 * xterm.c (x_window_to_scroll_bar): Move check of display to
2372 where window_id is compared.
2373
2374 2003-11-17 Kim F. Storm <storm@cua.dk>
2375
2376 * dispextern.h (struct it): New member first_vpos.
2377
2378 * xdisp.c (start_display): Set it->first_vpos.
2379 (try_window_id): Use first_vpos to start display in first _text_
2380 line if no reusable lines at start of window with header line.
2381
2382 2003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2383
2384 * w32fns.c (XPutPixel):
2385 * w32bdf.c (w32_init_bdf_font):
2386 * sunfns.c (sel_read):
2387 * process.c (Fmake_network_process):
2388 * frame.c (store_frame_param):
2389 * fontset.c (Fset_fontset_font):
2390 * emacs.c (shut_down_emacs):
2391 * ccl.c (ccl_driver): Remove period at end of error message.
2392
2393 * config.in: Regenerate.
2394
2395 * xfns.c (x_window_to_frame, x_any_window_to_frame)
2396 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
2397 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
2398 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
2399 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
2400
2401 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
2402
2403 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
2404 (XTmouse_position, handle_one_xevent): Pass Display* to
2405 x_window_to_scroll_bar.
2406 (x_window_to_scroll_bar): Take a Display* argument.
2407 Check that display for frame is equal to Display* argument.
2408 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
2409 x_display_info_for_display instead. Use Display in xev instead
2410 of GDK_DISPLAY.
2411 (x_dispatch_event): Call x_display_info_for_display.
2412 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
2413 (x_connection_closed): Call xg_display_close for GTK.
2414 (x_term_init): Call xg_display_open for additional displays.
2415 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
2416 for GTK.
2417
2418 * xmenu.c (single_menu_item, mouse_position_for_popup)
2419 (x_activate_menubar): Formatting adjustments.
2420
2421 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
2422 adjustments.
2423
2424 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
2425 (xg_display_close, xg_create_default_cursor)
2426 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
2427 handling.
2428 (xg_left_ptr_cursor): Remove.
2429 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
2430 cursor here.
2431 (xg_win_to_widget): Take Display* argument, call
2432 gdk_xid_table_lookup_for_display.
2433 (xg_create_frame_widgets, xg_get_file_name, create_menus)
2434 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
2435 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
2436 in FRAME_X_DISPLAY_INFO.
2437 (xg_get_scroll_id_for_window): Take Display* argument.
2438 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
2439 (xg_initialize): Remove xg_left_ptr_cursor.
2440
2441 * gtkutil.h: xg_get_scroll_id_for_window, xg_win_to_widget takes
2442 Display* argument also. Declare xg_display_open,
2443 xg_display_close, xg_create_default_cursor.
2444
2445 2003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2446
2447 * xterm.c (x_detect_focus_change): Do not change focus frame for
2448 Enter/LeaveNotify if the current focus frame has explicit focus.
2449
2450 2003-11-14 Kim F. Storm <storm@cua.dk>
2451
2452 * dispnew.c (update_text_area): Fix redisplay error when hscroll
2453 is active and first glyph is only partially visible.
2454
2455 2003-11-13 Kenichi Handa <handa@m17n.org>
2456
2457 * xdisp.c (select_frame_for_redisplay): New function.
2458 (redisplay_internal): Record also selected_frame for
2459 unwind_redisplay. Call select_frame_for_redisplay before
2460 redrawing each frame.
2461 (unwind_redisplay): Argument changed to a cons.
2462
2463 2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
2464
2465 * fns.c (Fstring_to_multibyte): Doc fix.
2466
2467 2003-11-11 Kenichi Handa <handa@m17n.org>
2468
2469 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
2470
2471 2003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2472
2473 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
2474 program specified positions.
2475
2476 2003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2477
2478 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
2479
2480 2003-11-08 Kenichi Handa <handa@m17n.org>
2481
2482 * Makefile.in (lisp): Add kannada.el.
2483 (shortlisp): Likewise.
2484
2485 2003-11-07 Kenichi Handa <handa@m17n.org>
2486
2487 * coding.c (coding_allocate_composition_data):
2488 Reset coding->composing to COMPOSITION_NO.
2489 (coding_restore_composition): Detect invalid composition data.
2490 Give Fstring and Fvector a Lispy integer, not C int.
2491
2492 2003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
2493
2494 * floatfns.c (Flogb): Don't use VALMASK.
2495
2496 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
2497 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
2498
2499 * lisp.h (XINT): Move the cast to clarify what is going on.
2500 (GCTYPEMASK, XSETTYPE): Remove.
2501 (XGCTYPE): Make it an alias of XTYPE.
2502
2503 2003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2504
2505 * xterm.c (x_term_init): Fix formatting.
2506
2507 2003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2508
2509 * gtkutil.h: Declare xg_have_tear_offs, remove xg_keep_popup
2510 and xg_did_tearoff.
2511
2512 * gtkutil.c: Remove variable xg_did_tearoff.
2513 (xg_have_tear_offs): New function.
2514 (tearoff_remove): Just decrease xg_detached_menus.
2515 (tearoff_activate): Increase xg_detached_menus and call
2516 tearoff_remove when tearoff is removed.
2517 (xg_keep_popup): Remove function.
2518 (create_menus): Give add_tearoff_p as argument to recursive
2519 call to create_menus.
2520 (xg_create_widget): Use variables instead of multiple
2521 strcmp. Tell create_menus to create tear off only for
2522 menu bar menus.
2523 (xg_update_menubar): Change title for a detached menu also.
2524 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
2525 of deep_p.
2526 (xg_initialize): Initialize xg_detached_menus, remove
2527 initialization of xg_did_tearoff.
2528
2529 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
2530 xg_have_tear_offs returns non-zero.
2531 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
2532 call to xg_keep_popup.
2533
2534 2003-11-01 Andrew Choi <akochoi@shaw.ca>
2535
2536 * macterm.c (XTread_socket): Handle menubar selection and grow
2537 window only for mouseDown events.
2538
2539 2003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2540
2541 * xterm.c (x_term_init): For GTK part, increase x_initialized
2542 to check for more than one display. Use error instead of return 0.
2543
2544 2003-10-31 Andrew Choi <akochoi@shaw.ca>
2545
2546 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
2547 (copy_dysymtab): Call it.
2548
2549 2003-10-31 Luc Teirlinck <teirllm@auburn.edu>
2550
2551 * eval.c (Fdefvaralias): Doc fix.
2552
2553 2003-10-26 Luc Teirlinck <teirllm@auburn.edu>
2554
2555 * data.c (Fsetplist): Doc fix.
2556
2557 2003-10-14 Lute Kamstra <lute@gnu.org>
2558
2559 * window.c (Fset_window_fringes): Clarify docstring.
2560
2561 2003-10-14 Kim F. Storm <storm@cua.dk>
2562
2563 * window.c (Fset_window_margins): Simplify arg checking.
2564
2565 2003-10-13 Richard M. Stallman <rms@gnu.org>
2566
2567 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
2568 (print_partial_compiled_pattern): Replace assert with a printout.
2569 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
2570
2571 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
2572
2573 * window.c (Fset_window_margins): Allow only integers as args.
2574 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
2575 Doc fixes.
2576
2577 2003-10-13 Lute Kamstra <lute@gnu.org>
2578
2579 * window.c (Fset_window_fringes): Elaborate docstring.
2580
2581 2003-10-12 Andrew Choi <akochoi@shaw.ca>
2582
2583 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
2584
2585 * s/darwin.h (GC_MARK_STACK): Define.
2586
2587 2003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2588
2589 * window.c (shrink_windows): New function.
2590 (size_window): Call shrink_windows to calculate window sizes when
2591 shrinking frame with more than one window.
2592
2593 2003-10-12 Kim F. Storm <storm@cua.dk>
2594
2595 * xdisp.c (compute_fringe_widths): Doc fix.
2596
2597 2003-10-08 Kenichi Handa <handa@m17n.org>
2598
2599 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
2600
2601 2003-10-07 Kenichi Handa <handa@m17n.org>
2602
2603 * coding.c (Qcoding_system_define_form): New variable.
2604 (syms_of_coding): Intern and staticpro it.
2605 (Fcheck_coding_system): Try to autoload the definition of
2606 CODING-SYSTEM.
2607
2608 2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
2609
2610 * fns.c (Frequire): Doc fix.
2611
2612 2003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2613
2614 * xfns.c (Fx_send_client_event): New function as a base for
2615 manipulating extended window manager hints.
2616 (Fx_send_client_event): Remove unused variable s.
2617
2618 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
2619 that function is removed.
2620
2621 * xterm.c (x_set_offset): Use move_offset_left/top instead of
2622 x/y_pixels_outer_diff.
2623 (x_check_expected_move): Calculate move_offset_left/top.
2624
2625 * xterm.h (struct x_output): New members: move_offset_top/left.
2626
2627 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
2628 call x_set_offset directly.
2629
2630 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
2631
2632 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
2633
2634 * xterm.c (x_delete_display): Free font names and font_encoder
2635 in dpyinfo->font_table.
2636
2637 * xfns.c (Fx_close_connection): Only call XFreeFont here.
2638 Move xfree of font names to x_delete_display.
2639
2640 * xterm.h (struct x_display_info): New member, wm_type.
2641 (struct x_output): New members, expected_top/left and
2642 check_expected_move.
2643
2644 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
2645 is received.
2646 (handle_one_xevent): Rename x_check_expected_move from
2647 x_check_fullscreen_move.
2648 (x_set_offset): Only add WM decoration sizes to modified_top/left
2649 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
2650 (x_check_expected_move): Rename from x_check_fullscreen_move.
2651 Removed fullscreen specific code. Use check_expected_move,
2652 expected_left/top instead. Also, set wm_type.
2653 (x_term_init): Initialize wm_type to unknown.
2654
2655 * frame.c (x_fullscreen_move): Remove addition of WM decoration
2656 sizes to move_x/y.
2657
2658 2003-10-03 Kenichi Handa <handa@m17n.org>
2659
2660 * macterm.c (x_load_font): Clear all members of FONTP before start
2661 filling them.
2662
2663 2003-10-02 Kenichi Handa <handa@m17n.org>
2664
2665 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
2666 before calling find_ccl_program_func. Call find_ccl_program_func
2667 only when fontp->font_encoder is not NULL.
2668
2669 * xterm.c (x_load_font): Clear all members of FONTP before start
2670 filling them.
2671
2672 2003-10-03 John Paul Wallington <jpw@gnu.org>
2673
2674 * keymap.c (map_keymap): Don't abort when binding is a vector.
2675
2676 2003-10-02 Jason Rumney <jasonr@gnu.org>
2677
2678 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
2679 Sync dependencies with Makefile.in.
2680 (alloca.o): Remove.
2681
2682 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
2683 filling them.
2684
2685 * w32bdf.c (w32_load_bdf_font): Likewise.
2686
2687 2003-09-30 Richard M. Stallman <rms@gnu.org>
2688
2689 * term.c (set_tty_color_mode): Calculate current_mode_spec
2690 regardless of value of VAL.
2691
2692 * intervals.c (graft_intervals_into_buffer):
2693 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
2694 Handle over_used when splitting UNDER.
2695
2696 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2697
2698 * regex.c (regex_compile): Free the stack when returning from function.
2699
2700 2003-09-28 Kenichi Handa <handa@m17n.org>
2701
2702 * fontset.c (Finternal_char_font): Change return value to
2703 cons (FONT-NAME . GLYPH-CODE).
2704
2705 2003-09-28 Eli Zaretskii <eliz@gnu.org>
2706
2707 * term.c (tty_setup_colors): Treat any negative argument as -1.
2708
2709 2003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
2710
2711 * process.c (send_process): Delete unused temp_buf.
2712
2713 2003-09-26 Dave Love <fx@gnu.org>
2714
2715 * xterm.c (x_bitmap_mask): Declare.
2716
2717 2003-09-25 Dave Love <fx@gnu.org>
2718
2719 * Makefile.in (fns.o): Depend on md5.h.
2720
2721 2003-09-25 Kim F. Storm <storm@cua.dk>
2722
2723 * window.c (set_window_buffer): Fix redisplay problems when
2724 switching between buffers with different display margin widths.
2725
2726 2003-09-23 Kim F. Storm <storm@cua.dk>
2727
2728 * process.c (set_socket_option): Fix :bindtodevice option.
2729 (Fset_network_process_option): Update process contact list when
2730 setting option succeeds.
2731 (Fmake_network_process): Doc fix.
2732
2733 2003-09-23 Dave Love <fx@gnu.org>
2734
2735 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
2736
2737 2003-09-22 Eli Zaretskii <eliz@gnu.org>
2738
2739 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
2740 color mode is an integer number (it could be -1).
2741
2742 2003-09-22 Richard M. Stallman <rms@gnu.org>
2743
2744 * intervals.c (graft_intervals_into_buffer): Correct the main loop
2745 in the case where OVER is longer than UNDER.
2746
2747 2003-09-22 Masatake YAMATO <jet@gyve.org>
2748
2749 * window.c (Fset_window_scroll_bars): Validate the value of
2750 `vertical_type'.
2751
2752 2003-09-21 Kim F. Storm <storm@cua.dk>
2753
2754 * frame.c (Vdefault_frame_scroll_bars): New variable.
2755 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
2756 (syms_of_frame): DEFVAR_LISP it, and initialize according to
2757 window-system default scroll bar position.
2758
2759 * window.c (Fwindow_scroll_bars): Doc fix.
2760
2761 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2762
2763 * xterm.c (x_set_offset): Take window manager decorations into account.
2764
2765 2003-09-19 Richard M. Stallman <rms@gnu.org>
2766
2767 * atimer.h: Don't include lisp.h.
2768 (P_): Define it here (as well as elsewhere).
2769
2770 * print.c (Fprin1_to_string): Move the PRINTPREPARE
2771 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
2772
2773 * data.c (Fvariable_binding_locus): New function.
2774 (syms_of_data): defsubr it.
2775 (Flocal_variable_p): Delete duplicate call to indirect_variable.
2776
2777 2003-09-18 Dave Love <fx@gnu.org>
2778
2779 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
2780
2781 * process.c (Fnetwork_interface_info): Fix type error.
2782 (Fnetwork_interface_list): Doc fix.
2783 (read_process_output, read_process_output): Delete unused var.
2784
2785 2003-09-17 Kim F. Storm <storm@cua.dk>
2786
2787 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
2788 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
2789 (Fnetwork_interface_info): Check that ifreq struct has required
2790 fields before accessing them; this requires that those fields are
2791 defined as macros, which may be too restrictive on some platforms,
2792 but it is better than failing on other platforms.
2793 (syms_of_process): Only defsubr above fns when included.
2794
2795 2003-09-17 Dave Love <fx@gnu.org>
2796
2797 * unexalpha.c: Don't include varargs.h.
2798
2799 2003-09-17 Kim F. Storm <storm@cua.dk>
2800
2801 * process.c (Fset_process_sentinel): Add sentinel to childp plist
2802 for network process.
2803 (socket_options): Add `:' prefix to option names. Add optbit field.
2804 (set_socket_option): Remove no_error arg and special handling of s < 0.
2805 Return 1<<optbit for known option, 0 for unknown.
2806 Do not interpret 0 as false for boolean option (only nil).
2807 Pass failed option and value to report_file_error.
2808 (Fset_network_process_options): Replace by Fset_network_process_option.
2809 (Fset_network_process_option): New function to set just one option.
2810 (Fmake_network_process): Allow :coding arg to be a cons.
2811 Allow :server arg to be an integer specifying backlog size.
2812 Remove :options arg, and allow options to be specified directly
2813 as :KEY, VALUE pairs. Parse these options before binding socket.
2814 As before, :reuseaddr t is default for a server process, but this
2815 can now be disabled by specifying :reuseaddr nil.
2816 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
2817 (init_process): Availability of network options is now checked with
2818 simpler syntax (featurep 'make-network-process :OPTION); use loop to
2819 setup features.
2820 (syms_of_process): Fix defsubr's for the replaced functions.
2821
2822 2003-09-16 Dave Love <fx@gnu.org>
2823
2824 * Makefile.in: Depend on coding.h.
2825
2826 2003-09-14 Kim F. Storm <storm@cua.dk>
2827
2828 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
2829 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
2830 (syms_of_process): Defsubr them.
2831
2832 * config.in: Regenerate.
2833
2834 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2835
2836 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
2837 * m/news-r6.h (XUNMARK): Remove.
2838 * m/mips.h (XUNMARK): Remove.
2839 * m/mips-siemens.h (XUNMARK): Remove.
2840 * m/iris4d.h (XUNMARK): Remove.
2841 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
2842
2843 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
2844
2845 * lisp.h (VALBITS): Don't remove 1 for the markbit.
2846 (union Lisp_Object): Use unsigned int for types. Remove markbit.
2847 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
2848 (XTYPE): Use unsigned right-shift.
2849 (XMARKBIT, XMARK, XUNMARK): Remove.
2850
2851 * alloc.c (init_intervals, init_symbol, init_marker):
2852 Don't preallocate anything.
2853 (Fgarbage_collect, mark_object): Ignore the markbit.
2854
2855 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
2856
2857 2003-09-08 Lute Kamstra <lute@gnu.org>
2858
2859 * xdisp.c (pint2hrstr): New function.
2860 (decode_mode_spec): Add `%i' and `%I' specs.
2861 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
2862 for `mode-line-format'.
2863
2864 2003-09-07 Andreas Schwab <schwab@suse.de>
2865
2866 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
2867 avoid warning.
2868
2869 2003-09-07 Eli Zaretskii <eliz@gnu.org>
2870
2871 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
2872
2873 2003-09-03 Kim F. Storm <storm@cua.dk>
2874
2875 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
2876 change (superseded by 2002-08-30 change); the default blink-off
2877 cursor is now again "no cursor".
2878
2879 2003-09-01 Jason Rumney <jasonr@gnu.org>
2880
2881 * makefile.w32-in (alloca.o): Remove.
2882 (coding.o): Depend on intervals.h
2883 (emacs.o, bytecode.o): Depend on window.h
2884
2885 2003-09-01 Dave Love <fx@gnu.org>
2886
2887 * Makefile.in (alloca.o): Remove commands.
2888 (coding.o): Depend on intervals.h composite.h window.h.
2889 (emacs.o): Depend on window.h keyboard.h keymap.h.
2890 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
2891 (bytecode.o): Depend on window.h.
2892
2893 2003-08-31 Jason Rumney <jasonr@gnu.org>
2894
2895 * w32term.c (w32_per_char_metric): Allow cached metrics to be
2896 returned even when font_type is unknown.
2897
2898 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
2899
2900 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2901
2902 * xterm.c (x_term_init): Initialize new fields in x_display_info.
2903
2904 * xterm.h (struct x_display_info): Add red/green/blue_bits and
2905 *_offset.
2906
2907 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
2908 calculate pixel value.
2909
2910 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
2911
2912 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
2913 Don't tell redisplay display is accurate when it's actually been
2914 paused for pending input.
2915
2916 2003-08-29 Richard M. Stallman <rms@gnu.org>
2917
2918 * dispnew.c (adjust_glyph_matrix): Call window_box
2919 whenever W is nonzero.
2920
2921 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
2922 (Fkill_local_variable, Fmake_variable_frame_local)
2923 (Flocal_variable_p, Flocal_variable_if_set_p):
2924 Use indirect_variable to trace thru variable aliases.
2925
2926 * config.in: Updated.
2927
2928 * callint.c (Fcall_interactively): Save and restore
2929 Vthis_command, Vthis_original_command, real_this_command,
2930 and current_kboard->Vlast_command.
2931
2932 * abbrev.c (Fexpand_abbrev): Insert before deleting.
2933
2934 2003-08-29 Gerd Moellmann <gerd@gnu.org>
2935
2936 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
2937
2938 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
2939
2940 * coding.c (decode_coding_iso2022): Initialize local variable c2.
2941 (decode_coding_sjis_big5): Likewise.
2942
2943 2003-08-27 Jason Rumney <jasonr@gnu.org>
2944
2945 * w32.c (sys_pipe): Protect against file descriptor overflow.
2946
2947 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
2948
2949 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
2950
2951 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
2952
2953 * xfns.c (Vgtk_version_string): New variable.
2954 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
2955
2956 2003-08-24 Eli Zaretskii <eliz@gnu.org>
2957
2958 * term.c (term_init): Remove `const' from buffer_size's declaration.
2959
2960 * Makefile.in (msdos.o): Depend on intervals.h.
2961
2962 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
2963
2964 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2965
2966 * xterm.h (struct x_display_info): New fields: client_leader_window
2967 and Xatom_wm_client_leader.
2968
2969 * xterm.c (x_initialize): Move call to x_session_initialize to ...
2970 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
2971
2972 * xsmfns.c (create_client_leader_window): New function.
2973 (x_session_initialize): Call create_client_leader_window, take
2974 dpyinfo as argument.
2975
2976 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
2977
2978 * Makefile.in (xsmfns.o): Add more depenedencies.
2979
2980 2003-08-21 Dave Love <fx@gnu.org>
2981
2982 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
2983
2984 2003-08-21 Kenichi Handa <handa@m17n.org>
2985
2986 * term.c (term_init): Fix previous change; don't rely on the
2987 length of `buffer' if TERMINFO is defined.
2988
2989 2003-08-20 Dave Love <fx@gnu.org>
2990
2991 * atimer.h: Include lisp.h.
2992
2993 * lisp.h (EMACS_LISP_H): New.
2994 (popup_activated_flag): Don't declare.
2995
2996 * alloca.c: Some merging with gnulib. Change logic and doc
2997 concerning (x)malloc/(x)free -- no longer Emacs-specific.
2998 [DO_BLOCK_INPUT]: Don't include lisp.h.
2999 (xmalloc, xfree): Declare.
3000 (malloc): Don't declare.
3001
3002 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
3003 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
3004 atimer.h, blockinput.h.
3005
3006 * alloc.c (lisp_align_malloc): Change type of `aligned'.
3007
3008 * alloca.s: Removed.
3009
3010 2003-08-19 Gerd Moellmann <gerd@gnu.org>
3011
3012 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
3013 use -lncurses.
3014
3015 * term.c (term_init): Use a buffer of size 4096 for tgetent since
3016 FreeBSD returns something longer than 2044. Abort if the end of
3017 the buffer is overwritten.
3018
3019 2003-08-19 Miles Bader <miles@gnu.org>
3020
3021 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
3022
3023 2003-08-19 Gerd Moellmann <gerd@gnu.org>
3024
3025 * alloc.c (lisp_align_malloc): Check for memory full when
3026 allocating ablocks, which also avoids freeing a pointer into an
3027 ablocks structure.
3028
3029 * puresize.h (BASE_PURESIZE): Increase to 1100000.
3030
3031 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
3032
3033 2003-08-16 Richard M. Stallman <rms@gnu.org>
3034
3035 * editfns.c (Fencode_time): Doc fix.
3036
3037 2003-08-16 David Ponce <david@dponce.com>
3038
3039 * fileio.c (Fwrite_region): Fix conditional expression to issue
3040 the right message.
3041
3042 2003-08-16 Juri Linkov <juri@jurta.org> (tiny change)
3043
3044 * syntax.c (Fforward_word): Argument changed to optional.
3045 Set default value to 1.
3046
3047 2003-08-15 Kenichi Handa <handa@m17n.org>
3048
3049 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
3050 what autoscaled.
3051 (best_matching_font): Once we find a better scalable font, set
3052 non_scalable_has_exact_height_p to 1.
3053 (try_font_list): Call try_alternative_families to try any family
3054 with the given registry.
3055
3056 2003-08-09 Andreas Schwab <schwab@suse.de>
3057
3058 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
3059
3060 * print.c (print_string): Fix printing of multibyte string with
3061 nontrivial printcharfun.
3062
3063 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3064
3065 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
3066
3067 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
3068
3069 2003-07-31 Kenichi Handa <handa@m17n.org>
3070
3071 * process.c (read_process_output): Return the actually read bytes
3072 instead of the result of decoding.
3073
3074 2003-07-31 Kenichi Handa <handa@m17n.org>
3075
3076 * xterm.h (struct x_bitmap_record): New member have_mask.
3077
3078 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
3079 to 0.
3080 (x_create_bitmap_from_file): Likewise.
3081 (x_destroy_bitmap): Check have_mask member before freeing a mask.
3082 (x_destroy_all_bitmaps): Likewise.
3083 (x_create_bitmap_mask): Set have_mask member to 1.
3084
3085 2003-07-30 Richard M. Stallman <rms@gnu.org>
3086
3087 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
3088
3089 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3090
3091 * gtkutil.c (xg_mark_data): Update calls to mark_object.
3092
3093 2003-07-29 Richard M. Stallman <rms@gnu.org>
3094
3095 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
3096 Conditionalize XIM code on HAVE_XIM.
3097
3098 * fns.c (Fclear_string): New function.
3099 (syms_of_fns): defsubr it.
3100
3101 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
3102
3103 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
3104
3105 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
3106
3107 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
3108
3109 * buffer.c (delete_all_overlays): New function.
3110 * buffer.h (delete_all_overlays): Declare.
3111 * coding.c (run_pre_post_conversion_on_str):
3112 * print.c (temp_output_buffer_setup):
3113 * fileio.c (Finsert_file_contents):
3114 * minibuf.c (get_minibuffer): Use it.
3115
3116 2003-07-22 Andrew Choi <akochoi@shaw.ca>
3117
3118 * unexmacosx.c (unexec_regions_sort_compare):
3119 (unexec_regions_merge): New functions. Sort and merge unexec
3120 regions before dumping them.
3121
3122 2003-07-22 Dave Love <fx@gnu.org>
3123
3124 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
3125
3126 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
3127
3128 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
3129 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
3130 MARKBIT as the gcmarkbit for strings.
3131
3132 2003-07-21 Richard M. Stallman <rms@gnu.org>
3133
3134 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
3135
3136 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
3137 (syms_of_fns): Corresponding change.
3138
3139 * alloc.c (syms_of_alloc): Doc fixes.
3140
3141 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
3142
3143 * s/netbsd.h: Use -Wl syntax.
3144
3145 2003-07-17 Richard M. Stallman <rms@gnu.org>
3146
3147 * xterm.c (xim_initialize): Redo 6/24 change.
3148
3149 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
3150
3151 * buffer.c (copy_overlays): Use EMACS_INT for positions.
3152 (Fswitch_to_buffer): Don't signal an error when switching to the same
3153 buffer in a dedicated window.
3154
3155 * alloc.c: Use bitmaps for cons, as was done for floats.
3156 (init_float, init_cons): Let the normal code allocate the first block.
3157 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
3158 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
3159 New macros.
3160 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
3161 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
3162 (live_cons_p): Check the pointer is not past the `conses' array.
3163 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
3164 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
3165 (survives_gc_p): Use CONS_MARKED_P and simplify.
3166 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
3167
3168 2003-07-13 Paul Eggert <eggert@twinsun.com>
3169
3170 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
3171 puts it into BSS instead, at least on Solaris 8 and 9.
3172 This is a valid optimization, and it may occur on other platforms,
3173 so Emacs should not assume that initializing a static variable to
3174 zero puts it into data.
3175 * alloc.c (pure, staticvec):
3176 Initialize these arrays to nonzero, so that they're not
3177 put into BSS by that optimization.
3178
3179 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
3180
3181 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
3182 (lisp_align_malloc): Use posix_memalign is available.
3183 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
3184 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
3185 for consistency. Update users.
3186
3187 2003-07-13 Richard M. Stallman <rms@gnu.org>
3188
3189 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
3190
3191 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
3192
3193 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
3194 and use the Gtk+ function gtk_window_icon_from_file if available.
3195
3196 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
3197 handle mask of bitmaps.
3198 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
3199 mask property.
3200 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
3201
3202 * xterm.h (xg_set_icon): New function.
3203
3204 2003-07-12 Paul Eggert <eggert@twinsun.com>
3205
3206 * unexelf.c (unexec): Consider a section to precede the .bss
3207 section if its addresses overlap that of .bss.
3208
3209 2003-07-12 Richard M. Stallman <rms@gnu.org>
3210
3211 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
3212
3213 * config.in (HAVE_CRTIN): Add #undef.
3214 (INLINE): Really inline only if OPTIMIZE is defined.
3215
3216 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
3217 END_FILES_1.
3218 (START_FILES_1, END_FILES_1): New macros (conditional).
3219 (LD_SWITCH_SYSTEM_TEMACS): Define.
3220
3221 * s/openbsd.h: Don't include bsd4-3.h.
3222 (TERMINFO): Define.
3223 (LIBS_TERMCAP): Define.
3224 (LD_SWITCH_SYSTEM): Define (two definitions).
3225
3226 * xfns.c: Include libpng/png.h instead of png.h.
3227
3228 2003-07-11 Andreas Schwab <schwab@suse.de>
3229
3230 * buffer.c (modify_overlay): Update prototype.
3231 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
3232 Likewise.
3233
3234 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
3235
3236 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
3237 (struct interval): Move to intervals.h.
3238 (struct Lisp_Marker): Use EMACS_INT for position info.
3239 (forward_point): Remove prototype of defunct function.
3240 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
3241 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
3242 (syms_of_textprop, set_text_properties): Remove prototypes that are
3243 already in intervals.h.
3244
3245 * intervals.h (struct interval): Move from lisp.h.
3246 Use EMACS_INT for position and size info.
3247
3248 * coding.c: Include intervals.h for Fset_text_properties.
3249
3250 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
3251 position and length information.
3252
3253 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
3254
3255 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
3256 position and length information.
3257
3258 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
3259
3260 Change overlays_after and overlays_before so the overlays themselves
3261 are linked into lists, rather than using cons cells. After all each
3262 Lisp_Misc already occupies 5 words, so we can add a `next' field to
3263 Lisp_Overlay for free and save up one cons cell per overlay (not
3264 to mention one indirection when traversing the list of overlay).
3265
3266 * lisp.h (struct Lisp_Overlay): New field `next'.
3267
3268 * buffer.h (struct buffer): Change overlays_before and overlays_after
3269 from Lisp lists of overlays to pointers to overlays.
3270
3271 * buffer.c (overlay_strings, recenter_overlay_lists):
3272 Fix typo in eassert in last commit.
3273 (unchain_overlay): New function.
3274 (add_overlay_mod_hooklist): Use AREF.
3275 (copy_overlays, reset_buffer, overlays_at, overlays_in)
3276 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
3277 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
3278 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
3279 (report_overlay_modification, evaporate_overlays, init_buffer_once):
3280 Adjust to new type of overlays_(before|after).
3281
3282 * alloc.c (mark_object): Mark the new `next' field of overlays.
3283 (mark_buffer): Manually mark the overlays_(after|before) fields.
3284
3285 * coding.c (run_pre_post_conversion_on_str):
3286 * editfns.c (overlays_around):
3287 * xdisp.c (load_overlay_strings):
3288 * fileio.c (Finsert_file_contents):
3289 * indent.c (current_column):
3290 * insdel.c (signal_before_change, signal_after_change):
3291 * intervals.c (set_point_both):
3292 * print.c (temp_output_buffer_setup): Use new type for
3293 overlays_(before|after).
3294
3295 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
3296
3297 * buffer.c (report_overlay_modification): Don't run hooks while
3298 traversing the list of overlays.
3299
3300 * buffer.h (struct buffer): Use an int for overlay_center.
3301 (overlays_at, evaporate_overlays, recenter_overlay_lists)
3302 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
3303
3304 * buffer.c (reset_buffer, recenter_overlay_lists)
3305 (adjust_overlays_for_insert, adjust_overlays_for_delete)
3306 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
3307 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
3308 (overlays_at, evaporate_overlays, recenter_overlay_lists)
3309 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
3310
3311 * xdisp.c (fast_find_position): Remove unused var.
3312
3313 * cmds.c (Qexpand_abbrev): New sym.
3314 (syms_of_cmds): Initialize it.
3315 (internal_self_insert): Use it to call expand-abbrev.
3316
3317 2003-07-09 Kim F. Storm <storm@cua.dk>
3318
3319 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if emacs
3320 was configured with --without-xim.
3321 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
3322
3323 2003-07-07 Richard M. Stallman <rms@gnu.org>
3324
3325 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
3326
3327 * alloc.c (Fgarbage_collect): Doc fix.
3328
3329 2003-07-07 Nozomu Ando <nand@mac.com> (tiny change)
3330
3331 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
3332
3333 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
3334
3335 * minibuf.c (read_minibuf): UNGCPRO before returning.
3336 (Ftry_completion, Fall_completions): Doc fix.
3337
3338 * alloc.c (live_float_p): Check that p is not past the `floats' array,
3339 now that `floats' is not the last element of the struct any more.
3340
3341 2003-07-06 Jason Rumney <jasonr@gnu.org>
3342
3343 * w32term.h (ClipboardSequence_Proc): New type.
3344
3345 * w32fns.c (clipboard_sequence_fn): New variable.
3346 (globals_of_w32fns): Initialize it.
3347
3348 * w32select.c (last_clipboard_sequence_number): New variable.
3349 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
3350 number if possible.
3351
3352 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
3353
3354 * m/amdx86-64.h (MARKBIT):
3355 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
3356 MARKBIT and ARRAY_MARK_FLAG any more.
3357
3358 * m/hp800.h (XSETMARKBIT):
3359 * m/sr2k.h (XSETMARKBIT):
3360 * lisp.h (XSETMARKBIT): Remove unused macro.
3361
3362 * lisp.h (mark_object): Change prototype.
3363
3364 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
3365 (last_marked): Change accordingly.
3366 (mark_interval, mark_maybe_object, mark_maybe_pointer)
3367 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
3368 (mark_buffer): Update calls to mark_object.
3369
3370 * bytecode.c (mark_byte_stack):
3371 * fns.c (sweep_weak_table):
3372 * keyboard.c (mark_kboards): Update calls to mark_object.
3373
3374 2003-07-06 Jason Rumney <jasonr@gnu.org>
3375
3376 * alloc.c (struct ablock): Only include padding when there is some.
3377
3378 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
3379
3380 * alloc.c (ALIGN): Add casts to simplify usage.
3381 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
3382 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
3383 (struct ablock, struct ablocks): New types.
3384 (free_ablock): New global var.
3385 (lisp_align_malloc, lisp_align_free): New functions.
3386 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
3387 (struct float_block): Reorder and add gcmarkbits.
3388 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
3389 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
3390 (init_float, make_float): Use lisp_align_malloc.
3391 (free_float, live_float_p): Don't use `type' any more.
3392 (make_float): Use FLOAT_UNMARK to access to mark bit.
3393 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
3394 Use FLOAT_MARKED_P to access the mark bit.
3395 (pure_alloc): Simplify use of ALIGN.
3396 (mark_object): Use FLOAT_MARK to access the mark bit.
3397 (gc_sweep): Use new macros to access the float's mark bit.
3398 (init_alloc_once): Init free_ablock.
3399
3400 * lisp.h (struct Lisp_Float): Remove unused field `type'.
3401
3402 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
3403
3404 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
3405 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
3406 (allocate_buffer): Move.
3407 (string_bytes): Don't mask markbit of `size_byte'.
3408 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
3409 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
3410 Use the `size' field of buffers (rather than the `name' field) for
3411 the mark bit, as is done for all other vectorlike objects.
3412 Use the new macros to access the mark bit of vectorlike objects.
3413
3414 2003-06-26 Richard M. Stallman <rms@gnu.org>
3415
3416 * puresize.h (BASE_PURESIZE): Increment base size.
3417
3418 * xdisp.c (fast_find_position): Enable Gerd's new definition.
3419
3420 * xterm.c (xim_initialize): Undo previous change.
3421
3422 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
3423
3424 * alloc.c (survives_gc_p): Simplify.
3425
3426 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
3427
3428 * window.c (Fset_window_dedicated_p): Simplify.
3429 (display_buffer_1): Don't raise the win from which minibuf was entered.
3430 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
3431 (Fminibuffer_selected_window): Simplify.
3432
3433 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
3434
3435 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
3436 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
3437
3438 * insdel.c (check_markers, adjust_markers_for_delete)
3439 (adjust_markers_for_insert, adjust_markers_for_replace)
3440 (prepare_to_modify_buffer, RESTORE_VALUE):
3441 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
3442 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
3443 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
3444 * alloc.c (Fmake_marker, free_marker, gc_sweep):
3445 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
3446 * editfns.c (save_excursion_restore, transpose_markers):
3447 * window.c (delete_window):
3448 * xdisp.c (message_dolog): Update for new types.
3449
3450 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3451
3452 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
3453 (realize_default_face): Use default_face_done_p for the force_p
3454 argument to set_lface_from_font_name. Set default_face_done_p to one.
3455
3456 * frame.c (make_frame): Initialize default_face_done_p.
3457
3458 * frame.h (struct frame): Add default_face_done_p.
3459
3460 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
3461 will be defined.
3462
3463 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
3464
3465 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
3466 Initialize the new field `gcmarkbit'.
3467 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
3468 (mark_interval_tree): Don't mark the tree separately from the nodes.
3469 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
3470 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
3471 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
3472
3473 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
3474 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
3475 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
3476 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
3477 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
3478
3479 2003-06-24 Dave Love <fx@gnu.org>
3480
3481 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
3482
3483 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
3484 from gnulib.
3485
3486 2003-06-21 Richard M. Stallman <rms@gnu.org>
3487
3488 * fileio.c (Fwrite_region): Alternate messages
3489 for append and partial write.
3490
3491 * keyboard.c (read_key_sequence): When converting upcase fn key to
3492 downcase, update fkey and keytran so `backspace' gets translated.
3493
3494 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
3495
3496 * process.c (wait_reading_process_input): Don't signal SIGIO
3497 in batch mode.
3498
3499 2003-06-17 Kenichi Handa <handa@m17n.org>
3500
3501 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
3502 composite.h.
3503
3504 * xselect.c: Don't include charset.h, coding.h, composite.h.
3505 (Qforeign_selection): New variable.
3506 (syms_of_xselect): Intern and static it.
3507 (selection_data_to_lisp_data): Return a unibyte string made from
3508 data with `foreign-selection' text property.
3509
3510 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
3511
3512 * termhooks.h (EVENT_INIT): New macro.
3513
3514 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
3515
3516 * alloc.c (mark_kboards): Move to keyboard.c.
3517
3518 * keyboard.c (record_asynch_buffer_change, read_avail_input):
3519 * xterm.c (x_dispatch_event):
3520 * xmenu.c (find_and_call_menu_selection):
3521 * xdisp.c (handle_tool_bar_click):
3522 * w32menu.c (menubar_selection_callback):
3523 * sysdep.c (kbd_input_ast, read_input_waiting):
3524 * msdos.c (dos_rawgetc):
3525 * macterm.c (mac_check_for_quit_char):
3526 * macmenu.c (menubar_selection_callback):
3527 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
3528 data to kbd_buffer_store_event.
3529
3530 2003-06-15 Kim F. Storm <storm@cua.dk>
3531
3532 * xdisp.c (x_fix_overlapping_area): Always use area relative X
3533 to fix redisplay problem with tall characters (such as \e,AC\e(B).
3534
3535 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
3536
3537 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
3538
3539 2003-06-12 Kenichi Handa <handa@m17n.org>
3540
3541 * fileio.c (Fwrite_region): Save and restore restriction.
3542
3543 2003-06-12 Dave Love <fx@gnu.org>
3544
3545 * alloca.c (alloca): Declare arg as size_t.
3546
3547 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
3548 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
3549
3550 2003-06-11 Dave Love <fx@gnu.org>
3551
3552 * search.c (shrink_regexp_cache): Use xrealloc.
3553 (syms_of_search): Use xmalloc.
3554
3555 2003-06-10 Kim F. Storm <storm@cua.dk>
3556
3557 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
3558 Adjust phys_cursor.x to be relative to window box, rather than
3559 text area before checking -- to ensure cursor is redrawn when
3560 exposing window.
3561 Note: This also fixes a similar (older) bug if display margins
3562 are present.
3563
3564 2003-06-06 Kenichi Handa <handa@m17n.org>
3565
3566 * coding.c (encoding_buffer_size): If coding->type is
3567 coding_type_ccl, double magnification on CRLF encoding.
3568
3569 2003-06-06 Jason Rumney <jasonr@gnu.org>
3570
3571 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
3572 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
3573
3574 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
3575 Mac too.
3576
3577 2003-06-05 Dave Love <fx@gnu.org>
3578
3579 * strftime.c: Merge changes from gnulib.
3580
3581 * mktime.c (__mktime_internal): Merge changes from gnulib
3582 involving year 69 and dst2.
3583
3584 Changes to merge with gnulib version and be consistent with the
3585 autoconf test:
3586
3587 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
3588 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
3589 [HAVE_LOCALE_H]: Include locale.h.
3590 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
3591
3592 2003-06-05 Kim F. Storm <storm@cua.dk>
3593
3594 * window.c (coordinates_in_window): Convert X and Y to window
3595 relative coordinates inside mode-line and header-line parts.
3596 Convert X and Y to margin area relative coordinates inside left
3597 and right display margin parts.
3598
3599 2003-06-05 Jason Rumney <jasonr@gnu.org>
3600
3601 * w32fns.c (add_system_logical_colors_to_map): New function.
3602 (Fx_open_connection): Use it.
3603
3604 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
3605
3606 * process.c (allocate_pty): Revert part of the previous patch.
3607 (Faccept_process_output): Simplify.
3608
3609 2003-06-04 Jason Rumney <jasonr@gnu.org>
3610
3611 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
3612
3613 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
3614 (lispy_mouse_wheel_names): Remove.
3615 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
3616 Always define drag_and_drop_syms.
3617
3618 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
3619 WHEEL_EVENT events.
3620
3621 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
3622
3623 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
3624
3625 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
3626
3627 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3628
3629 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
3630 menu item label.
3631
3632 2003-06-03 Richard M. Stallman <rms@gnu.org>
3633
3634 * window.c (Fwindow_edges): Doc fix.
3635 (Fwindow_pixel_edges, Fwindow_inside_edges)
3636 (Fwindow_inside_pixel_edges): New functions.
3637 (syms_of_window): defsubr them.
3638
3639 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
3640 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
3641
3642 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
3643
3644 * dispnew.c (Fsit_for): Don't lie about the number of args.
3645
3646 2003-06-02 Dave Love <fx@gnu.org>
3647
3648 * callproc.c: Use HAVE_FCNTL_H, not USG5.
3649 (syms_of_callproc) <process-environment>: Doc fix.
3650
3651 * doc.c: Use HAVE_FCNTL_H, not USG5.
3652
3653 * xfaces.c (font_rescale_ratio): Fix for K&R.
3654
3655 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
3656
3657 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
3658
3659 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
3660
3661 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
3662 (xg_create_frame_widgets): Use ENCODE_UTF_8.
3663
3664 * xterm.c (Qutf_8): Move to coding.c
3665
3666 * xmenu.c (ENCODE_MENU_STRING): New.
3667 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
3668 Use it.
3669
3670 * coding.h (ENCODE_UTF_8): New.
3671 (Qutf_8): Declare.
3672
3673 * coding.c (Qutf_8): New.
3674 (syms_of_coding): Intern it.
3675
3676 * fns.c: Doc fixes.
3677
3678 2003-06-02 Kenichi Handa <handa@m17n.org>
3679
3680 * buffer.c (Fset_buffer_multibyte): Fix previous change.
3681
3682 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
3683
3684 * lread.c (openp): Make sure STR is a string.
3685
3686 2003-06-01 David Ponce <david@dponce.com>
3687
3688 * termhooks.h (enum event_kind): Added new WHEEL_EVENT event.
3689 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
3690
3691 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
3692 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
3693 (discard_mouse_events): Discard WHEEL_EVENT events too.
3694 (lispy_wheel_names, wheel_syms): New.
3695 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
3696 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX
3697 defined.
3698 (make_lispy_event): Add WHEEL_EVENT handler.
3699
3700 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
3701 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
3702 WHEEL_EVENT events.
3703
3704 2003-05-31 John Paul Wallington <jpw@gnu.org>
3705
3706 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
3707 timer are in lisp/emacs-lisp.
3708
3709 2003-05-31 Kenichi Handa <handa@m17n.org>
3710
3711 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
3712 region when a buffer is changed to unibyte.
3713
3714 * charset.h (VALID_LEADING_CODE_P): New macro.
3715 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
3716
3717 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
3718 is nonzero, accept multibyte form of eight-bit-control chars.
3719 (decode_composition_emacs_mule): Likewise.
3720 (decode_coding_emacs_mule): Likewise.
3721 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
3722 multibyte form of eight-bit-control chars.
3723
3724 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
3725 (Finsert_file_contents): If coding-system-for-read is bound to
3726 Qauto_save_coding, use the coding system emacs-mule with special
3727 setting for recovering a file.
3728 (choose_write_coding_system): On auto saving, use the coding
3729 system emacs-mule with special setting for auto saving.
3730 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
3731
3732 2003-05-30 Kenichi Handa <handa@m17n.org>
3733
3734 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
3735 properly before calling ccl_driver.
3736
3737 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
3738
3739 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is
3740 nonzero.
3741 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
3742 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
3743
3744 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
3745
3746 * xfaces.c (realize_default_face): Do not abort if lface is
3747 non-existent - reverts change from 2003-05-19.
3748
3749 2003-05-29 Kenichi Handa <handa@m17n.org>
3750
3751 * coding.c (decode_coding_iso2022): Pay attention to the byte
3752 sequence of CTEXT extended segment, and retain those bytes as is.
3753
3754 2003-05-28 Kenichi Handa <handa@m17n.org>
3755
3756 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change
3757 of CODING_REPLACEMENT_CHARACTER.
3758 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
3759 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
3760 check this flag on encoding.
3761 (encode_coding_sjis_big5): Check
3762 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
3763 (Fset_terminal_coding_system_internal): Set
3764 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
3765 instead of setting CODING_FLAG_ISO_SAFE flag in
3766 terminal_coding.flags.
3767
3768 * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from
3769 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
3770 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
3771
3772 2003-05-28 Richard M. Stallman <rms@gnu.org>
3773
3774 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
3775
3776 * eval.c (unbind_to): Move init of this_binding to separate statement.
3777
3778 2003-05-28 Kim F. Storm <storm@cua.dk>
3779
3780 * xdisp.c (expose_window): Fix error in calculation of
3781 window relative coordinates of area to redisplay.
3782
3783 2003-05-27 Jason Rumney <jasonr@gnu.org>
3784
3785 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
3786
3787 2003-05-27 David Ponce <david@dponce.com>
3788
3789 Handle W32 mouse wheel events as mouse click events, like in X.
3790
3791 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
3792 MOUSE_WHEEL_EVENT anymore.
3793
3794 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
3795 Scrolling down/up the mouse wheel is respectively mapped to mouse
3796 button 4 and 5.
3797 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
3798 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
3799 WM_MOUSEWHEEL events.
3800
3801 2003-05-27 Andreas Schwab <schwab@suse.de>
3802
3803 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
3804
3805 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
3806 partially visible line.
3807
3808 * alloc.c (Fgarbage_collect): Fix last change.
3809
3810 2003-05-26 John Paul Wallington <jpw@gnu.org>
3811
3812 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
3813
3814 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
3815
3816 * window.c (Fset_window_buffer): Add type of `keep_margins'.
3817 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
3818
3819 * window.h (window_box_text_cols): Declare.
3820
3821 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
3822 (x_draw_vertical_border): Remove unused var `f'.
3823
3824 * xfaces.c (build_scalable_font_name): Remove `unused var
3825 pixel_size' warning.
3826
3827 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
3828
3829 * unexelf.c (unexec): Remove `unused var n' warning.
3830
3831 * strftime.c (my_strftime_localtime_r): Remove `defined but
3832 unused' warning.
3833
3834 * process.c (allocate_pty): Remove `unused var stb' and
3835 `cp might be used uninitialized' warnings.
3836
3837 * dispnew.c (mode_line_string): Remove unused var `f'.
3838
3839 * coding.c (find_safe_codings): Remove unused var `i'.
3840
3841 * bytecode.c (Fbyte_code): Remove `unused val' warning.
3842
3843 * buffer.c (Fkill_buffer): Remove unused var `list'.
3844
3845 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
3846
3847 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3848
3849 * frame.c (make_frame): Condition want_fullscreen with
3850 HAVE_WINDOW_SYSTEM.
3851
3852 2003-05-25 Juanma Barranquero <lektu@terra.es>
3853
3854 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
3855 (Fwindow_scroll_bars): Fix typo in docstring.
3856
3857 2003-05-24 Kim F. Storm <storm@cua.dk>
3858
3859 The following changes serve several purposes:
3860
3861 1) Swap the position of fringes and display margins in windows, i.e.
3862 the fringes are now displayed between the margins and the text area
3863 (by default).
3864
3865 2) Allow fringe and scroll bar parameters to be set per-buffer and
3866 per-window (like display margins). Such settings are now stored
3867 in window configurations, preserved when frames are resized, and
3868 copied when windows are split vertically or horizontally.
3869 Several bugs related to display margins have been fixed.
3870
3871 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
3872
3873 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
3874 rather than FRAME_WIDTH (FRAME_FONT (f)).
3875
3876 5) Introduce a consistent naming of variables, members and macros
3877 depending on whether their value is measured in pixels or in
3878 canonical columns/lines. Pixel dimensions are named *_width and
3879 *_height, while canonical columns/lines are named *_cols and
3880 *_lines. Pixel positions are named *_x and *_y, while column/line
3881 positions are named *_col and *_line.
3882
3883 6) Consolidate more of the X, W32, and MAC gui code by moving
3884 common data into struct frame, and generalize it for the non-gui
3885 case by using suitable defaults.
3886
3887 7) Cleanup and consolidate the macros controlling frame and window
3888 layout into frame.h and window.h, and generalize the use of the
3889 various window_box_* functions (enhanced to handle the new fringe
3890 position and the per-window fringe and scroll bar settings).
3891
3892 * frame.h (struct frame): Rename members height to text_lines,
3893 width to text_cols, window_height to total_lines, window_width to
3894 total_cols, new_height to new_text_lines, new_width to
3895 new_text_cols. All uses changed.
3896 (struct frame): New members which consolidate common members of
3897 x_output, w32_output, and mac_output structures: left_pos,
3898 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
3899 win_gravity, size_hint_flags, border_width, internal_border_width,
3900 line_height, fringe_cols, left_fringe_width, right_fringe_width,
3901 want_fullscreen. All uses changed.
3902 (struct frame): New member column_width contaning the canonical
3903 column width, analogue to line_height. All uses changed.
3904 (struct frame): Rename members scroll_bar_pixel_width to
3905 config_scroll_bar_width, and scroll_bar_cols to
3906 config_scroll_bar_cols. All uses changed.
3907 (struct frame): New member scroll_bar_actual_width which
3908 consolidates and renames the vertical_scroll_bar_extra member of
3909 x_output, w32_output, and mac_output structures. All uses changed.
3910 (FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
3911 from x/w32/macterm.h files. All uses changed. Also change code
3912 which referred to f->output_data...->pixel_height.
3913 (FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
3914 from x/w32/macterm.h files. All uses changed. Also change code
3915 which referred to f->output_data...->pixel_width.
3916 (FRAME_LINES): Renamed from FRAME_HEIGHT. All uses changed.
3917 Also change code which referred to f->height.
3918 (FRAME_COLS): Renamed from FRAME_WIDTH. All uses changed.
3919 Also change code which referred to f->width.
3920 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
3921 to update new_text_lines and new_text_cols members directly.
3922 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
3923 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
3924 (FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
3925 FRAME_SCROLL_BAR_COLS. All uses changed.
3926 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
3927 Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
3928 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
3929 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
3930 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
3931 (FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
3932 (SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
3933 (FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
3934 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
3935 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
3936 (FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT. Unconditionally
3937 return line_height member (it now has proper value also for
3938 non-window frames).
3939 (FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT. Unconditionally
3940 return new column_width member (rather than the default font width).
3941 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
3942 (FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
3943 from x/w32/macterm.h files. Unconditionally return corresponding
3944 member of frame structure (they now have proper values also for
3945 non-window frames).
3946 (FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
3947 Calculate return value from left and right widths.
3948 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
3949 internal_border_width member (has proper value for non-window frame).
3950 (FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
3951 (FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
3952 (FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
3953 (FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
3954 (FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
3955 consolidated from xterm.h, macterm.h, and w32term.h.
3956 (FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
3957 consolidated from xterm.h, macterm.h, and w32term.h.
3958 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
3959 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
3960 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
3961 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
3962 (FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
3963 consolidated from x/mac/w32term.h.
3964 (FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
3965 consolidated from x/mac/w32term.h.
3966 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
3967 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
3968 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
3969 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
3970
3971 * window.h (struct window): Rename members left to left_col,
3972 top to top_line, height to total_lines, width to total_cols,
3973 left_margin_width to left_margin_cols, right_margin_width to
3974 right_margin_cols, orig_height to orig_total_lines, orig_top to
3975 orig_top_line. All uses changed.
3976 (struct window): New members left_fringe_width, right_fringe_width,
3977 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
3978 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
3979 New macros primarily used to simplify other macros.
3980 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
3981 referred to XINT (w->width).
3982 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
3983 referred to XINT (w->height).
3984 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
3985 referred to XINT (w->width) * canon_x_unit.
3986 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
3987 referred to XINT (w->height) * canon_y_unit.
3988 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
3989 referred to XINT (w->left).
3990 (WINDOW_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_EDGE. Change
3991 all uses and code that referred to XINT (w->left) + XINT (w->width).
3992 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
3993 referred to XINT (w->top).
3994 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
3995 referred to XINT (w->top) + XINT (w->height).
3996 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
3997 referred to XINT (w->left) * canon_x_unit.
3998 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
3999 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
4000 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
4001 referred to XINT (w->top) * canon_y_unit.
4002 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
4003 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
4004 (WINDOW_LEFTMOST_P): New macro.
4005 (WINDOW_BOX_LEFT_EDGE_COL): Renamed from WINDOW_LEFT_MARGIN.
4006 All uses changed.
4007 (WINDOW_BOX_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_MARGIN.
4008 All uses changed.
4009 (WINDOW_BOX_LEFT_EDGE_X): Renamed from
4010 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
4011 Do not exclude left fringe width.
4012 (WINDOW_BOX_RIGHT_EDGE_X): Renamed from
4013 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
4014 Do not exclude fringe widths.
4015 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
4016 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
4017 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
4018 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
4019 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
4020 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
4021 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
4022 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
4023 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
4024 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
4025 New macros. Change code which referenced corresponding
4026 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
4027 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
4028 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
4029 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
4030 allow per-window scroll-bar settings.
4031 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
4032 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
4033 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
4034 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
4035 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
4036 FRAME_SCROLL_BAR_WIDTH.
4037 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
4038 (WINDOW_SCROLL_BAR_AREA_X): New macros.
4039 (WINDOW_HEADER_LINE_HEIGHT): Renamed from
4040 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
4041 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Renamed from
4042 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
4043 (WINDOW_BOX_TEXT_HEIGHT): Renamed from
4044 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
4045 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
4046 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
4047 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Moved here from dispextern.h.
4048 (WINDOW_LEFT_MARGIN_WIDTH): Renamed from
4049 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
4050 (WINDOW_RIGHT_MARGIN_WIDTH): Renamed from
4051 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
4052 (window_from_coordinates): Update prototype.
4053 (Fset_window_buffer): Update EXFUN.
4054 (set_window_buffer): Update prototype.
4055
4056 * dispextern.h (struct glyph_matrix): Rename members window_left_x
4057 to window_left_col, window_top_y to window_top_line. All uses
4058 changed.
4059 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
4060 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
4061 internal_border_width is now set to 0 for non-window frames.
4062 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
4063 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
4064 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
4065 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
4066 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
4067 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
4068 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
4069 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
4070 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
4071 Move to window.h and renamed [see window.h changes].
4072 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
4073 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
4074 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
4075 Use WINDOW_TOTAL_LINES.
4076 (frame_update_line_height): Remove prototype.
4077
4078 * buffer.h (struct buffer): Rename members measured in columns:
4079 left_margin_width to left_margin_cols, right_margin_width to
4080 right_margin_cols. All uses changed.
4081 New members left_fringe_width, right_fringe_width,
4082 fringes_outside_margins for per-buffer fringe settings.
4083 New members scroll_bar_width and vertical_scroll_bar_type for
4084 per-buffer scroll bar settings.
4085
4086 * buffer.c (init_buffer_once): Set buffer_defaults and
4087 buffer_local_flags for new buffer-local variables
4088 left_fringe_width, right_fringe_width, fringes_outside_margins,
4089 scroll_bar_width, and vertical_scroll_bar_type.
4090 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
4091 default-* variables for them.
4092
4093 * dispnew.c: Make (many) trivial substitutions for renamed and
4094 new macros in dispextern.h, frame.h and window.h.
4095 (mode_line_string): No need to adjust width for mode lines, as it
4096 is already adjusted by the caller.
4097 (marginal_area_string): Handle fringes inside/outside margins.
4098
4099 * frame.c: Make (many) trivial substitutions for renamed and
4100 new macros in dispextern.h, frame.h and window.h.
4101 (make_frame): Initialize left_fringe_width, right_fringe_width,
4102 fringe_cols, scroll_bar_actual_width, border_width,
4103 internal_border_width, column_width, line_height, x_pixels_diff,
4104 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
4105 members with values suitable for a non-window frames.
4106
4107 * gtkutil.c: Make (many) trivial substitutions for renamed and
4108 new macros in dispextern.h, frame.h and window.h.
4109
4110 * indent.c: Make (few) trivial substitutions for renamed and
4111 new macros in dispextern.h, frame.h and window.h.
4112
4113 * keyboard.c: Make (many) trivial substitutions for renamed and
4114 new macros in dispextern.h, frame.h and window.h.
4115 (make_lispy_event): Use window positions returned from
4116 window_from_coordinates when constructing the lisp event for
4117 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
4118 (incorrect) values locally.
4119 (make_lispy_movement): Use window positions returned from
4120 window_from_coordinates when constructing the lisp event, rather
4121 than calculating (incorrect) values locally.
4122
4123 * scroll.c: Make (some) trivial substitutions for renamed and
4124 new macros in dispextern.h, frame.h and window.h.
4125
4126 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
4127 scroll-bars.
4128
4129 * sysdep.c: Make (few) trivial substitutions for renamed and
4130 new macros in dispextern.h, frame.h and window.h.
4131
4132 * term.c: Make (some) trivial substitutions for renamed and
4133 new macros in dispextern.h, frame.h and window.h.
4134
4135 * widget.c: Make (few) trivial substitutions for renamed and
4136 new macros in dispextern.h, frame.h and window.h.
4137
4138 * window.c: Make (many) trivial substitutions for renamed and
4139 new macros in dispextern.h, frame.h and window.h.
4140 (make_window): Initialize new members
4141 left_margin_cols, right_margin_cols, left_fringe_width,
4142 right_fringe_width, fringes_outside_margins, scroll_bar_width,
4143 and vertical_scroll_bar_type.
4144 (coordinates_in_window): Adapted to new fringe/margin positions
4145 and per-window fringes and scroll-bars.
4146 Fix bug related to incorrectly adjusting coordinates by
4147 frame's internal_border_width (the effect normally negible since
4148 the internal_border_width is typically 0 or 1 pixel, but very
4149 noticeable for an internal_border_width of e.g. 25 pixels).
4150 Upon successful return (other than ON_NOTHING), the coordinates
4151 are now always properly converted to window relative for the
4152 given display element.
4153 (window_from_coordinates): Add new parameters wx and wy to
4154 return the window relative x and y position in the returned
4155 window and part. A null arg means, don't return the position.
4156 All callers changed.
4157 (adjust_window_margins): New function which may reduce the width
4158 of the display margins if a window's text area is too small after
4159 resizing or splitting windows.
4160 (size_window): Fix bug that did not account for display margin
4161 widths when checking the minimum width of a window; use
4162 adjust_window_margins.
4163 (set_window_buffer): Call Fset_window_fringes and
4164 Fset_window_scroll_bars to setup per-window elements.
4165 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
4166 existing display margin, fringe widths, and scroll bar settings
4167 (e.g. after splitting a window or resizing the frame).
4168 All callers changed.
4169 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
4170 (Fsplit_window): Duplicate original window's display margin,
4171 fringe, and scroll-bar settings; then call Fset_window_buffer with
4172 KEEP_MARGINS non-nil. This fixes a bug which caused a split
4173 window to only preserve the display margins in one of the windows.
4174 When splitting horizontally, call adjust_window_margins on both
4175 windows to ensure that the text area of the new windows is non too
4176 narrow. This fixes a bug which could cause emacs to trap if the
4177 width of the split window was less than the width of the display
4178 margins.
4179 (window_box_text_cols): Renamed from window_internal_width.
4180 All uses changed. Adapt to per-window fringes and scroll bars.
4181 Fix bug that caused vertical separator to be subtracted also on
4182 window frames. Fix another bug that did not reduce the returned
4183 value by the columns used for display margins.
4184 (window_scroll_line_based): Fix bug related to scrolling too much
4185 when display margins are present (implicitly fixed by the fix to
4186 window_box_text_cols).
4187 (scroll_left, scroll_right): Fix bug related to scrolling too far
4188 by default when display margins are present (implicitly fixed by
4189 the fix to window_box_text_cols).
4190 (struct saved_window): Rename members left to left_col, top to
4191 top_line, width to total_cols, height to total_lines, orig_top to
4192 orig_top_line, orig_height to orig_total_lines. All uses changed.
4193 New members left_margin_cols, right_margin_cols,
4194 left_fringe_width, right_fringe_width, fringes_outside_margins,
4195 scroll_bar_width, and vertical_scroll_bar_type for saving
4196 per-window display elements.
4197 (Fset_window_configuration): Restore display margins, fringes,
4198 and scroll bar settings. This fixes a bug which caused display
4199 margins to be discarded when saving and restoring a window
4200 configuration.
4201 (save_window_save): Save display margins, fringes, and scroll bar
4202 settings. This fixes a bug which caused display margins to be
4203 discarded when saving and restoring a window configuration.
4204 (Fset_window_margins): Do nothing if display margins are not
4205 really changed. Otherwise, call adjust_window_margins to ensure
4206 the text area doesn't get too narrow. This fixes a bug which
4207 could cause emacs to trap if setting display margins wider than
4208 the width of the window.
4209 (Fset_window_fringes): New defun to allow user to specifically set
4210 this window's fringe widths and position vs. display margins.
4211 (Fwindow_fringes): New defun to return window's actual fringe
4212 settings.
4213 (Fset_window_scroll_bars): New defun to allow user to specifically
4214 set this window's scroll bar width and position.
4215 (Fwindow_scroll_bars): New defun to return window's actual scroll
4216 bar settings.
4217 (compare_window_configurations): Also compare display margins,
4218 fringes, and scroll bar settings.
4219 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
4220
4221 * xdisp.c: Make (many) trivial substitutions for renamed and
4222 new macros in dispextern.h, frame.h and window.h.
4223 (window_box_width): Adapt to per-window fringes and scroll bars,
4224 and new fringe vs. display margin position. Note that returned
4225 value is no longer guaranteed to be a whole multiple of the frame
4226 column width, since per-window fringes may now be any width.
4227 (window_box_left_offset): New function like window_box_left, but
4228 value is relative to left border of window (rather than frame).
4229 (window_box_right_offset): New function like window_box_right,
4230 but value is relative to left border of window.
4231 (window_box_left): Adapt to per-window fringes and scroll bars,
4232 and new fringe vs. display margin position. Simplify by using
4233 WINDOW_LEFT_EDGE_X and window_box_left_offset.
4234 (window_box): Allow null args for unnecessary return values;
4235 change/simplify relevant callers.
4236 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
4237 and new fringe vs. display margin position.
4238 Use window_box_left_offset and window_box_right_offset
4239 (get_glyph_string_clip_rect): Adapt to per-window fringes and
4240 scroll bars, and new fringe vs. display margin position.
4241 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
4242 (draw_fringe_bitmap): Rework to handle per-window fringes and new
4243 fringe vs. display margin position.
4244 (hscroll_window_tree): Use window_box_width instead of window_box.
4245 (redisplay_window): Adapt to per-window scroll bars.
4246 (draw_glyphs): Rework to handle per-window fringes and scroll
4247 bars, and new fringe vs. display margin position.
4248 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
4249 (x_clear_end_of_line): Adapt to per-window fringes and scroll
4250 bars, and new fringe vs. display margin position. Fix bug which
4251 increased total width of full_width rows by width of scroll bars
4252 although window's total width already includes that.
4253 (x_fix_overlapping_area): Simplify using window_box_left_offset.
4254 (expose_area): Simplify using window_box_left_offset.
4255 (x_draw_vertical_border): Handle per-window scroll bar settings,
4256 mixing windows with left, right and no scroll bars.
4257
4258 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
4259 where it's used in x_list_fonts (for clarity).
4260 (frame_update_line_height): Remove unused function; functionality
4261 is now done directly when setting the default font in x_set_font.
4262
4263 * xfns.c: Make (many) trivial substitutions for renamed and
4264 new macros in dispextern.h, frame.h and window.h.
4265
4266 * xmenu.c: Make (some) trivial substitutions for renamed and
4267 new macros in dispextern.h, frame.h and window.h.
4268
4269 * xterm.h (struct x_output): Move members left_pos, top_pos,
4270 border_width, pixel_height, pixel_width, line_height,
4271 internal_border_width, vertical_scroll_bar_extra,
4272 left_fringe_width, right_fringe_width, fringe_cols,
4273 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
4274 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
4275 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
4276 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
4277 (PIXEL_WIDTH, PIXEL_HEIGHT)
4278 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
4279 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
4280 frame.h and renamed [see frame.h changes].
4281 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
4282 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
4283 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
4284 and renamed [see frame.h changes].
4285
4286 * xterm.c: Make (several) trivial substitutions for renamed and
4287 new macros in dispextern.h, frame.h and window.h.
4288 (x_draw_glyph_string_box): Adapt to per-window fringes and
4289 scroll-bars.
4290 (scroll_run): Adapt to new fringe position.
4291 (glyph_rect): Use window coordinates returned from
4292 window_from_coordinates rather than frame_to_window_pixel_xy.
4293 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
4294 scroll-bars.
4295 (handle_one_xevent): Simplify a USE_GTK conditional.
4296 (x_clip_to_row): Remove superfluous whole_line_p arg and code
4297 (fringes are now inside margins, i.e. always in the clipping area).
4298 All callers changed.
4299 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
4300 directly, then call compute_fringe_widths. Don't call
4301 frame_update_line_height.
4302
4303 * w32term.h (struct w32_output): Move members left_pos, top_pos,
4304 border_width, pixel_height, pixel_width, line_height,
4305 internal_border_width, vertical_scroll_bar_extra,
4306 left_fringe_width, right_fringe_width, fringe_cols,
4307 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
4308 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
4309 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
4310 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
4311 (PIXEL_WIDTH, PIXEL_HEIGHT)
4312 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
4313 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
4314 frame.h and renamed [see frame.h changes].
4315 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
4316 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
4317 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
4318 and renamed [see frame.h changes].
4319
4320 * w32term.c: Make (several) trivial substitutions for renamed and
4321 new macros in dispextern.h, frame.h and window.h.
4322 (x_draw_glyph_string_box): Adapt to per-window fringes and
4323 scroll-bars.
4324 (glyph_rect): Use window coordinates returned from
4325 window_from_coordinates rather than frame_to_window_pixel_xy.
4326 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
4327 scroll-bars.
4328 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
4329 (fringes are now inside margins, i.e. always in the clipping area).
4330 All callers changed.
4331 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
4332 directly, then call compute_fringe_widths. Don't call
4333 frame_update_line_height.
4334
4335 * w32console.c: Make (few) trivial substitutions for renamed and
4336 new macros in dispextern.h, frame.h and window.h.
4337
4338 * w32fns.c: Make (many) trivial substitutions for renamed and
4339 new macros in dispextern.h, frame.h and window.h.
4340
4341 * w32menu.c: Make (few) trivial substitutions for renamed and
4342 new macros in dispextern.h, frame.h and window.h.
4343
4344 * macterm.h (struct mac_output): Move members left_pos, top_pos,
4345 border_width, pixel_height, pixel_width, line_height,
4346 internal_border_width, vertical_scroll_bar_extra,
4347 left_fringe_width, right_fringe_width, fringe_cols,
4348 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
4349 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
4350 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
4351 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
4352 (PIXEL_WIDTH, PIXEL_HEIGHT)
4353 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
4354 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
4355 frame.h and renamed [see frame.h changes].
4356 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
4357 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
4358 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
4359 and renamed [see frame.h changes].
4360
4361 * macterm.c: Make (several) trivial substitutions for renamed and
4362 new macros in dispextern.h, frame.h and window.h.
4363 (x_draw_glyph_string_box): Adapt to per-window fringes and
4364 scroll-bars.
4365 (glyph_rect): Use window coordinates returned from
4366 window_from_coordinates rather than frame_to_window_pixel_xy.
4367 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
4368 scroll-bars.
4369 (x_clip_to_row): Remove superfluous whole_line_p arg and code
4370 (fringes are now inside margins, i.e. always in the clipping area).
4371 All callers changed.
4372 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
4373 directly, then call compute_fringe_widths. Don't call
4374 frame_update_line_height.
4375
4376 * macfns.c: Make (several) trivial substitutions for renamed and
4377 new macros in dispextern.h, frame.h and window.h.
4378 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
4379
4380 * macmenu.c: Make (few) trivial substitutions for renamed and
4381 new macros in dispextern.h, frame.h and window.h.
4382
4383 * msdos.h (struct x_output): Remove members left_pos, top_pos,
4384 and line_height, and use corresponding new members in struct
4385 frame. All uses changed.
4386 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
4387 superseeded by corresponding macros in frame.h.
4388
4389 * msdos.c: Make (several) trivial substitutions for renamed and
4390 new macros in dispextern.h, frame.h and window.h.
4391 (IT_note_mouse_highlight): Use updated window coordinates returned
4392 by window_from_coordinates, rather than adjusting them locally.
4393 (internal_terminal_init): No need to initialize line_height here;
4394 it now defaults to 1.
4395
4396 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
4397
4398 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
4399 dropping `down' events.
4400
4401 2003-05-24 Andreas Schwab <schwab@suse.de>
4402
4403 * coding.c (find_safe_codings): Fix last change.
4404
4405 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
4406
4407 * xfns.c (x_window): Fix typo from 2003-05-21 change.
4408
4409 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
4410
4411 * xdisp.c (display_mode_element): Increase max depth.
4412 Simplify the error handling code. Use a different error string
4413 for the case where we hit the depth limit.
4414
4415 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
4416
4417 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
4418
4419 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
4420
4421 * intervals.c (get_local_map): Don't get char-property of previous
4422 point any more: get_pos_property already does it and better.
4423
4424 2003-05-21 Dave Love <fx@gnu.org>
4425
4426 [Merged from unicode branch.]
4427
4428 * xfns.c (x_window, x_window): Use use_xim.
4429
4430 * xterm.c (use_xim): Initialize.
4431 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
4432 (x_term_init): Maybe set use_xim.
4433
4434 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
4435
4436 2003-05-21 Jason Rumney <jasonr@gnu.org>
4437
4438 * unexw32.c (_start): Remove _fmode initialization.
4439
4440 * emacs.c (main) [WINDOWSNT]: Move it here.
4441
4442 2003-05-20 Dave Love <fx@gnu.org>
4443
4444 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
4445
4446 2003-05-19 Richard M. Stallman <rms@gnu.org>
4447
4448 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
4449 as value for QCfont attribute.
4450 (realize_default_face): lface should already exist; crash if not.
4451 Specify 0 for FORCE_P when calling set_lface_from_font_name.
4452
4453 * frame.c (Fignore_event): Doc fix.
4454
4455 2003-05-19 Kenichi Handa <handa@m17n.org>
4456
4457 * coding.c (decode_coding_string): Handle post-read-conversion
4458 even if the coding doesn't require decoding.
4459
4460 2003-05-18 Richard M. Stallman <rms@gnu.org>
4461
4462 * callproc.c (Fcall_process_region): Doc fix.
4463
4464 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
4465
4466 * lread.c (Fload): Print a message if package is obsolete.
4467
4468 * window.c (Fselect_window): Add optional `norecord' arg.
4469 (select_window_1): Fold into Fselect_window.
4470 (select_window_norecord): New function.
4471 (temp_output_buffer_show): Use it. Preserve current buffer.
4472
4473 * window.h (Fselect_window): Update declaration.
4474
4475 * window.c (delete_window, Fother_window, Fset_window_configuration):
4476 * minibuf.c (read_minibuf):
4477 * macterm.c (x_new_focus_frame):
4478 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
4479 * callint.c (Fcall_interactively):
4480 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
4481
4482 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
4483
4484 2003-05-17 David Kastrup <dak@gnu.org>
4485
4486 * process.c (read_process_output): Back out change from 2003-03-09.
4487
4488 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
4489
4490 * editfns.c (get_pos_property): Don't assume that `object' = nil.
4491
4492 * textprop.c (text_property_stickiness): New arg `buffer'.
4493
4494 * intervals.h (text_property_stickiness): New arg `buffer'.
4495 (get_pos_property): Declare.
4496
4497 * intervals.c (get_local_map): Use get_pos_property, to obey
4498 stickiness and empty overlays.
4499 (create_root_interval, graft_intervals_into_buffer): Use BEG.
4500 (merge_properties, intervals_equal, merge_properties_sticky):
4501 Use XCAR, XCDR.
4502 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
4503
4504 2003-05-17 Richard M. Stallman <rms@gnu.org>
4505
4506 * minibuf.c (read_minibuf): If buffer is empty, record the default
4507 in the history.
4508 (Fminibuffer_complete_word): When deleting the overlap, take account
4509 of its real position.
4510
4511 * fns.c (map_char_table): Fix previous change.
4512
4513 * syntax.c (find_defun_start):
4514 When open_paren_in_column_0_is_defun_start,
4515 return beginning of buffer.
4516
4517 * lisp.h (map_char_table): Declare added arg.
4518
4519 * fns.c (map_char_table): New arg TABLE gets the master table.
4520 All calls changed.
4521 Process default and inheritance, resorting to Faref if necessary.
4522
4523 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
4524 (Faccessible_keymaps): Pass new arg to map_char_table.
4525
4526 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
4527
4528 * casetab.c (set_case_table): Pass new arg to map_char_table.
4529
4530 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
4531
4532 * lisp.h (specbinding_func): New typedef.
4533 (struct specbinding): Use specbinding_func, to put the `volatile'
4534 in the right place.
4535
4536 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
4537 to avoid GCC warning.
4538
4539 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org> (tiny change)
4540
4541 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
4542
4543 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
4544
4545 * keyboard.c (apply_modifiers): Don't fill the other cache.
4546
4547 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
4548
4549 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
4550
4551 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
4552 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
4553 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
4554 (Fset_window_configuration, Fcurrent_window_configuration)
4555 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
4556 (Fpos_visible_in_window_p, mark_window_cursors_off)
4557 (window_internal_height, window_internal_width, Frecenter)
4558 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
4559 (replace_buffer_in_all_windows, init_window_once, init_window)
4560 (syms_of_window, keys_of_window): Move from lisp.h.
4561 * lisp.h: Move window.c declarations to window.h.
4562
4563 * bytecode.c: Include window.h.
4564 * emacs.c: Include window.h.
4565
4566 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
4567 (keyremap): Add `parent' field.
4568 (keyremap_step): Use it. Remove `parent' argument.
4569 (read_key_sequence): Setup and use the new `parent' field.
4570
4571 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
4572
4573 * keyboard.c (adjust_point_for_property): Ensure termination.
4574
4575 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
4576
4577 * keyboard.c (follow_key): Remove dead variable `did_meta'.
4578 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
4579 duplicated handling of function-key-map and key-translation-map
4580 in read_key_sequence.
4581 (read_key_sequence): Use them.
4582
4583 * keyboard.c (adjust_point_for_property): Try harder to move point
4584 to the non-sticky end of an invisible property.
4585
4586 * xdisp.c (single_display_prop_intangible_p): Make `space' display
4587 property intangible as well.
4588
4589 2003-05-10 Andreas Schwab <schwab@suse.de>
4590
4591 * xmenu.c (single_menu_item): Change last parameter to void* to
4592 avoid warning.
4593
4594 2003-05-09 Richard M. Stallman <rms@gnu.org>
4595
4596 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
4597 Bind Qinhibit_modification_hooks to t so there will be no GC.
4598 Rename local `tem' to `save_deactivate_mark'.
4599
4600 * eval.c (specpdl_ptr): Declare volatile.
4601 (unbind_to): Copy the whole binding and decrement specpdl_ptr
4602 before doing the work of unbinding it.
4603
4604 * lisp.h (struct specbinding): Declare elements volatile.
4605 (specpdl_ptr): Declare volatile.
4606
4607 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
4608
4609 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
4610 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
4611
4612 2003-05-08 Dave Love <fx@gnu.org>
4613
4614 * coding.c (Vlast_coding_system_used): Doc fix.
4615
4616 2003-05-07 Jason Rumney <jasonr@gnu.org>
4617
4618 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
4619 when system does not support them.
4620
4621 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
4622
4623 * fileio.c (Qwrite_region_annotate_functions): New var.
4624 (build_annotations): Use it to process the global part of the hook.
4625 (syms_of_fileio): Init and staticpro it.
4626
4627 * keyboard.c (safe_run_hooks_error): Display a message instead of
4628 silently ignoring the error.
4629
4630 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
4631
4632 * keyboard.c (input_available_signal): Mark static.
4633 (menu_bar_items): Use map_keymap.
4634 (menu_bar_one_keymap): Remove.
4635 (menu_bar_item): Adjust arglist (for use in map_keymap).
4636 Properly hide a second binding when not both are keymaps.
4637
4638 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
4639 (single_keymap_panes): Use it and map_keymap.
4640 (single_menu_item): Use skp as well.
4641
4642 * keymap.h (map_keymap_function_t): New type.
4643 (map_keymap): Declare.
4644
4645 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
4646 (map_keymap_call, Fmap_keymap): New functions.
4647 (syms_of_keymap): Defsubr map-keymap.
4648
4649 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4650
4651 * gtkutil.c (create_dialog, make_widget_for_menu_item)
4652 (make_menu_item, create_menus, xg_update_menu_item): Don't call
4653 ..._with_mnemonic functions for menu items.
4654
4655 2003-05-01 Kenichi Handa <handa@m17n.org>
4656
4657 * coding.c (coding_system_accept_latin_extra_p): Delete this
4658 function.
4659 (find_safe_codings): Pay attention to
4660 the property tranlsation-table-for-encode of each codings.
4661 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
4662
4663 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
4664
4665 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
4666
4667 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
4668
4669 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
4670
4671 * lisp.h (CHECK): Wrap args in parenthesis.
4672 (specbind): Fix doc: symbol = Qnil is not supported any more.
4673
4674 * bytecode.c (Fbyte_code) <unwind-protect>:
4675 Use Fprogn rather than 0 and Qnil.
4676
4677 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
4678 `double', and `triple' modifiers as well.
4679
4680 2003-04-30 Richard M. Stallman <rms@gnu.org>
4681
4682 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
4683
4684 * alloc.c (abort_on_gc): New variable.
4685 (Fgarbage_collect): Abort if abort_on_gc is set.
4686
4687 * lisp.h (abort_on_gc): Add decl.
4688
4689 * eval.c (Fsignal): Clear abort_on_gc.
4690
4691 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
4692 Reinit FORMAT_START and END before second scan.
4693
4694 * xdisp.c (move_it_vertically_backward): Do the final big else
4695 even if nlines is 0.
4696
4697 * xdisp.c (redisplay_internal): Finish the per-frame loop
4698 even if redisplay is suspended by input.
4699
4700 2003-04-24 Andrew Choi <akochoi@shaw.ca>
4701
4702 * macterm.c (x_list_fonts): Return all fonts that match if
4703 maxnames = -1.
4704
4705 2003-04-25 Kenichi Handa <handa@m17n.org>
4706
4707 * syntax.c (skip_chars): Fix previous change.
4708
4709 2003-04-24 Kenichi Handa <handa@m17n.org>
4710
4711 * syntax.c (skip_chars): Make the code faster by using the common
4712 technique of *p, *stop, and *endp.
4713
4714 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4715
4716 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
4717 tool_bar_items so GTK tool bar expose callback does not access items
4718 being updated.
4719
4720 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
4721
4722 * eval.c (Fapply): Undo last change and add a comment about why.
4723
4724 2003-04-18 Miles Bader <miles@gnu.org>
4725
4726 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
4727 pickier PARSE_MULTIBYTE_SEQ.
4728
4729 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
4730
4731 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
4732 Use XCDR, XCAR, CONSP.
4733 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
4734 (Fapply): Remove unnecessary GCPRO.
4735
4736 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
4737
4738 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
4739
4740 * buffer.h: Don't hardcode BEG==1.
4741
4742 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
4743
4744 2003-04-16 Richard M. Stallman <rms@gnu.org>
4745
4746 * xdisp.c (try_window, try_window_reusing_current_matrix):
4747 When at end of window, set window_end_pos to Z-ZV.
4748
4749 * buffer.c (Foverlay_recenter): Doc fix.
4750
4751 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
4752
4753 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
4754
4755 2003-04-14 Andrew Choi <akochoi@shaw.ca>
4756
4757 * macterm.c (mac_check_for_quit_char): Don't check more often than
4758 once a second.
4759
4760 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
4761
4762 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
4763 specially, so that they can't hide an implicit switch-frame event.
4764 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
4765 (head_table): Use switch-frame as event_kind for select-window.
4766 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
4767
4768 * editfns.c (Fformat): Lisp_Object/int mixup.
4769 (format2): Remove unused var numargs.
4770
4771 2003-04-11 Kenichi Handa <handa@m17n.org>
4772
4773 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
4774 (Qafter_insert_file_set_coding): New variable.
4775 (syms_of_fileio): Initialize and staticpro it. Delete declaration
4776 for after-insert-file-adjust-coding-function.
4777 (Finsert_file_contents): Call Qafter_insert_file_set_coding
4778 instead of Vafter_insert_file_adjust_coding_function.
4779
4780 2003-04-11 Kenichi Handa <handa@m17n.org>
4781
4782 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
4783
4784 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
4785 string. Callers changed.
4786
4787 2003-04-10 Kenichi Handa <handa@m17n.org>
4788
4789 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
4790 (syms_of_fileio): Declare it as a lisp variable.
4791 (Finsert_file_contents):
4792 Call Vafter_insert_file_adjust_coding_function before calling
4793 decode-format.
4794
4795 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4796
4797 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
4798 get GtkAdjustment as widget now is a GtkRange.
4799
4800 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
4801 GtkRange to avoid memory leak.
4802
4803 2003-04-09 Kenichi Handa <handa@m17n.org>
4804
4805 * xfaces.c (Vface_font_rescale_alist): New variable.
4806 (struct font_name): New member rescale_ratio.
4807 (font_rescale_ratio): New function.
4808 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
4809 (better_font_p): On comparing point sized, pay attention to
4810 recale_ratio member of fonts.
4811 (build_scalable_font_name): Reflect font->rescale_ratio in the
4812 font name.
4813 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
4814
4815 * lread.c (read1): Before calling index, check if the 2nd
4816 arguemnt is in ASCII range.
4817
4818 2003-04-08 Richard M. Stallman <rms@gnu.org>
4819
4820 * fileio.c (Ffile_symlink_p): Doc fix.
4821
4822 * editfns.c (Fformat): Translate positions of text properties
4823 in the format string to apply them to the result.
4824
4825 * fileio.c (Finsert_file_contents): Doc fix.
4826 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
4827
4828 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
4829
4830 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
4831
4832 2003-04-08 Steven Tamm <steventamm@mac.com>
4833
4834 * mac.c (init_mac_osx_environment): Switch libexec and bin so
4835 that self-contained application finds libexec files.
4836
4837 2003-04-08 Kenichi Handa <handa@m17n.org>
4838
4839 * coding.c (code_convert_region_unwind):
4840 Set Vlast_coding_system_used to the argument.
4841 (code_convert_region): If post-read-conversion function changed
4842 the value of last-coding-sytem, keep the new value in
4843 coding->symbol so that it won't be overridden.
4844 (run_pre_post_conversion_on_str): Likewise.
4845 (coding_system_accept_latin_extra_p): New function.
4846 (find_safe_codings): Pay attention to characters registered in
4847 latin-extra-code-table.
4848
4849 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
4850
4851 * Makefile.in (md5.o): Add missing dependency info.
4852
4853 2003-04-06 Richard M. Stallman <rms@gnu.org>
4854
4855 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
4856
4857 * marker.c (verify_bytepos): New function.
4858
4859 * intervals.c (set_intervals_multibyte_1): When becoming
4860 multibyte, adjust right and left child sizes to a whole set of
4861 characters. If an interval gets zero total-length, delete it.
4862 If an interval consists of just its children, delete one of them.
4863
4864 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
4865 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
4866
4867 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
4868 All calls deleted.
4869 (lisp_malloc): Do the work here directly.
4870
4871 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
4872
4873 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
4874 char tables.
4875
4876 2003-04-04 Kenichi Handa <handa@m17n.org>
4877
4878 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
4879 destructively change "%S" to "%s".
4880
4881 2003-04-03 Miles Bader <miles@gnu.org>
4882
4883 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
4884 always set.
4885
4886 2003-04-01 Dave Love <fx@gnu.org>
4887
4888 * xfns.c (xpm_lookup_color): Grok "opaque".
4889
4890 2003-03-31 Andrew Choi <akochoi@shaw.ca>
4891
4892 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
4893 parent window ID.
4894
4895 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
4896
4897 * macterm.h (struct mac_output): Define x_pixels_diff and
4898 y_pixels_diff.
4899
4900 2003-03-31 Juanma Barranquero <lektu@terra.es>
4901
4902 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
4903 blockinput.h and files included from it.
4904
4905 2003-03-31 Kim F. Storm <storm@cua.dk>
4906
4907 The following changes consolidates the common code related to
4908 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
4909 files into frame.c.
4910
4911 * frame.c: Include blockinput.h.
4912 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
4913 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
4914 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
4915 related vars here.
4916 (struct frame_parm_table, frame_parms): New table for describing
4917 frame parameters and their associated Q-variable.
4918 The order of the parameters corresponds to the sequence of the
4919 frame_parm_handlers table in redisplay_interface.
4920 (x_fullscreen_move, x_set_frame_parameters)
4921 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
4922 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
4923 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
4924 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
4925 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
4926 Generic functions for processing of frame parameters.
4927 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
4928 (display_x_get_resource, x_get_resource_string): Functions for
4929 generic access to X resources.
4930 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
4931 (x_default_parameter, Fx_parse_geometry): Functions for generic
4932 access to frame parameters.
4933 (x_figure_window_size): Generic calculation of frame size.
4934 Fixed to add space needed for tool bar. Also setup size_hint_flags.
4935 (syms_of_frame): Intern and staticpro frame parameter variables.
4936 Defvar_lisp Vx_resource_class and Vx_resource_name here.
4937 Defsubr Sx_get_resource and Sx_parse_geometry.
4938
4939 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
4940 parameter related vars defined in frame.c.
4941 (EMACS_CLASS): Define here.
4942 (enum FULLSCREEN_*): Define here.
4943 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
4944 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
4945 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
4946 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
4947 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
4948 (x_set_visibility, x_set_autoraise, x_set_autolower)
4949 (x_set_unsplittable, x_set_vertical_scroll_bars)
4950 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
4951 (x_figure_window_size): Add prototypes.
4952
4953 * dispextern.h (frame_parm_handler): New typedef.
4954 (struct redisplay_interface): New member frame_parm_handlers.
4955 (enum resource_types): Move declaration here.
4956 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
4957 (x_default_parameter): Add prototypes.
4958
4959 * window.c: Remove extern decl for frame parameter vars.
4960 (change_window_heights): New generic function;
4961 replaces x_change_window_heights. All users changed.
4962
4963 * window.h (change_window_heights): Add prototype.
4964
4965 * xfaces.c: Remove extern decl for frame parameter vars.
4966
4967 * xterm.h (EMACS_CLASS): Remove. Use generic define.
4968 (struct w32_display_info): Fix type of xrdb member.
4969 (enum FULLSCREEN_*): Remove.
4970 Remove prototypes for generic functions (in frame.h).
4971
4972 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
4973 parameters now defined in frame.h and frame.c.
4974 (Vx_resource_name): Remove. Use generic var.
4975 (enum x_frame_parms): Remove (bogus, unused enum).
4976 (check_x_display_info): Make non-static (for frame.c).
4977 (struct x_frame_parm_table, x_frame_parms): Remove.
4978 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
4979 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
4980 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
4981 (x_change_window_heights, x_set_autoraise, x_set_autolower)
4982 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
4983 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
4984 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
4985 Remove. Use generic functions instead.
4986 (enum resource_types): Remove.
4987 (x_set_scroll_bar_default_width): New global function (for frame.c).
4988 (Fx_create_frame): Depend on x_figure_window_size to add space for
4989 toolbar and setup size_hint_flags.
4990 (x_frame_parm_handlers): New table for redisplay_interface.
4991 (syms_of_xfns): Don't intern/staticpro removed vars.
4992
4993 * xterm.c: Remove unnecessary extern declarations.
4994 (x_fullscreen_adjust): Remove. Use generic instead.
4995 (x_redisplay_interface): Add x_frame_parm_handlers member.
4996
4997 * w32gui.h (XrmDatabase): New (dummy) typedef.
4998
4999 * w32term.h (EMACS_CLASS): Remove. Use generic define.
5000 (struct w32_display_info): Fix type of xrdb member.
5001 (enum FULLSCREEN_*): Remove.
5002 (x_fullscreen_adjust): Remove prototype.
5003
5004 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
5005 parameters now defined in frame.h and frame.c.
5006 (Vx_resource_name): Remove. Use generic var.
5007 (enum x_frame_parms): Remove (bogus, unused enum).
5008 (check_x_display_info): Make non-static (for frame.c).
5009 (struct x_frame_parm_table, x_frame_parms): Remove.
5010 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
5011 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
5012 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5013 (x_change_window_heights, x_set_autoraise, x_set_autolower)
5014 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
5015 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
5016 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
5017 Remove. Use generic functions instead.
5018 (enum resource_types): Remove.
5019 (x_set_scroll_bar_default_width): New global function (for frame.c).
5020 (Fx_create_frame): Depend on x_figure_window_size to add space for
5021 toolbar and setup size_hint_flags.
5022 (w32_frame_parm_handlers): New table for redisplay_interface.
5023 (syms_of_w32fns): Don't intern/staticpro removed vars.
5024
5025 * w32term.c: Remove unnecessary extern declarations.
5026 (x_fullscreen_adjust): Remove. Use generic instead.
5027 (x_redisplay_interface): Add w32_frame_parm_handlers member.
5028
5029 * w32reg.c (x_get_string_resource): Use XrmDatabase.
5030
5031 * macgui.h (XrmDatabase): New (dummy) typedef.
5032
5033 * macterm.h (EMACS_CLASS): Remove.
5034 (struct mac_display_info): Add xrdb member.
5035 (struct mac_output): Add want_fullscreen member.
5036
5037 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
5038 parameters now defined in frame.h and frame.c.
5039 (Vx_resource_name): Remove. Use generic var.
5040 (check_x_display_info): Make non-static (for frame.c).
5041 (struct x_frame_parm_table, x_frame_parms): Remove.
5042 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
5043 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
5044 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5045 (x_change_window_heights, x_set_autoraise, x_set_autolower)
5046 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
5047 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
5048 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
5049 Remove. Use generic functions instead.
5050 (enum resource_types): Remove.
5051 (x_set_scroll_bar_default_width): New global function (for frame.c).
5052 (mac_frame_parm_handlers): New table for redisplay_interface.
5053 (syms_of_macfns): Don't intern/staticpro removed vars.
5054
5055 * macterm.c: Remove unnecessary extern declarations.
5056 (x_redisplay_interface): Add mac_frame_parm_handlers member.
5057
5058 * Makefile.in (frame.o): Add dependency on blockinput.h and files
5059 included from it (atimer.h and systime.h).
5060
5061 2003-03-30 Andreas Schwab <schwab@suse.de>
5062
5063 * xdisp.c (x_insert_glyphs): Fix swapped width and height
5064 parameters for shift_glyphs_for_insert.
5065
5066 * macterm.c (x_redisplay_interface): Add missing entry for
5067 draw_vertical_window_border.
5068
5069 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
5070
5071 * fileio.c (Fexpand_file_name): In the no-handler case, after
5072 expanding, look again for a handler and invoke it. This is needed
5073 for filenames like "/foo/../user@host:/bar/../baz" -- the first
5074 expansion produces "/user@host:/bar/../baz" which needs to be
5075 expanded again for the finame result "/user@host:/baz".
5076
5077 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5078
5079 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
5080 of area to be redrawn for better performance.
5081
5082 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
5083
5084 * xterm.c (take_vertical_position_into_account): Remove.
5085 (xt_action_hook): Call set_vertical_scroll_bar if needed.
5086 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
5087 (xm_scroll_callback, x_create_toolkit_scroll_bar)
5088 (x_set_toolkit_scroll_bar_thumb): Simplify.
5089 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
5090 (XTread_socket): Remove unused var.
5091 (x_make_frame_invisible): Replace goto with else.
5092
5093 * xdisp.c (set_vertical_scroll_bar): New fun.
5094 (redisplay_window): Use it.
5095
5096 2003-03-26 Richard M. Stallman <rms@gnu.org>
5097
5098 * xdisp.c (update_tool_bar): Recompute tool bar if
5099 update_mode_lines is set. Set w->update_mode_line
5100 only if the tool bar contents actually change.
5101 (update_menu_bar): Undo previous change.
5102
5103 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5104
5105 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
5106 (xg_frame_set_char_size): Calculate scroll bar width before frame
5107 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
5108 (xg_separator_p): Check for all documented separator types.
5109 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
5110 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
5111
5112 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
5113 so tool bar gets updated.
5114
5115 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
5116
5117 * data.c (store_symval_forwarding): Re-instate part of the code
5118 that was deleted with too much enthusiasm.
5119
5120 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
5121
5122 * data.c (store_symval_forwarding): Delete special read-only
5123 hack for type == -1, since we now use ->constant instead.
5124 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
5125
5126 * buffer.c (overlays_in): Declare static.
5127 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
5128 `constant' field rather than the variable's `type' field.
5129
5130 2003-03-24 Andrew Choi <akochoi@shaw.ca>
5131
5132 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
5133
5134 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
5135
5136 * fns.c [MAC_OSX]: Do not redefine vector.
5137
5138 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
5139
5140 * macgui.h: Remove definition of No_Cursor.
5141
5142 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
5143
5144 * xdisp.c: Define No_Cursor.
5145 (x_write_glyphs, notice_overwritten_cursor)
5146 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
5147 (note_mouse_highlight): Remove Mac-specific code.
5148 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
5149
5150 2003-03-24 John Paul Wallington <jpw@gnu.org>
5151
5152 * xdisp.c (redisplay_window): If mini window's buffer is not
5153 empty, then redisplay it like other windows.
5154
5155 2003-03-23 Kim F. Storm <storm@cua.dk>
5156
5157 * w32term.c (w32_draw_window_cursor): Fix last change.
5158
5159 2003-03-23 Kenichi Handa <handa@m17n.org>
5160
5161 * alloc.c (make_string_from_bytes, make_specified_string):
5162 Add `const' for the arg CONTENTS.
5163
5164 * lisp.h (make_string_from_bytes, make_specified_string):
5165 Prototypes adjusted.
5166
5167 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5168
5169 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
5170
5171 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
5172 (XG_SB_RANGE): New define.
5173
5174 * gtkutil.c (xg_fixed_handle_expose): New function.
5175 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
5176 expose events.
5177 (xg_update_scrollbar_pos): Take two more arguments, left and width
5178 of scroll bar including borders.
5179 Clear left and right part outside scroll bar separately as some
5180 themes have bars that are not an even number of pixels.
5181 Don't set reallocate_redraws, don't call
5182 gdk_window_process_all_updates.
5183 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
5184 so no need to change it. Calculate size and value with XG_SB_RANGE.
5185
5186 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
5187 Pass left and width of scroll bar including borders to
5188 xg_update_scrollbar_pos.
5189
5190 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
5191
5192 * Makefile.in: Make sure space precedes end-of-line backslashes.
5193
5194 2003-03-22 Kim F. Storm <storm@cua.dk>
5195
5196 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
5197 Add generic versions here. Remove system specific versions
5198 defined elsewhere.
5199
5200 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
5201 Add prototypes.
5202
5203 * xterm.h (STORE_NATIVE_RECT): New macro.
5204
5205 2003-03-21 Kim F. Storm <storm@cua.dk>
5206
5207 * xdisp.c (get_glyph_string_clip_rect):
5208 Use FRAME_INTERNAL_BORDER_WIDTH.
5209
5210 * dispextern.h (struct redisplay_interface): Add active_p
5211 argument to draw_window_cursor member. All uses changed.
5212
5213 2003-03-21 Kim F. Storm <storm@cua.dk>
5214
5215 The following changes consolidate code related to writing and
5216 inserting glyphs, exposing frame, the tool bar, the mouse face,
5217 the output cursor, and help echo from xterm.c, w32term.c and
5218 macterm.c into xdisp.c. It also generalizes the use of the
5219 window_part enum instead of using numeric values throughout.
5220
5221 * xdisp.c: Consolidate gui-independent code here.
5222 Include keymap.h.
5223 (Qhelp_echo): Import.
5224 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
5225 (help_echo_string, help_echo_window, help_echo_object)
5226 (previous_help_echo_string, help_echo_pos): Declare here.
5227 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
5228 (estimate_mode_line_height): Define here. Handle windowing
5229 systems directly (without using estimate_mode_line_height_hook).
5230 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
5231 (update_window_cursor, update_cursor_in_window_tree)
5232 (fast_find_position, fast_find_string_pos)
5233 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
5234 (expose_area, expose_line, expose_overlaps, expose_window)
5235 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
5236 declared static as they are only used locally in xdisp.c.
5237 (draw_glyphs): Rename from x_draw_glyphs and make static.
5238 (tool_bar_item_info, notice_overwritten_cursor): Make static.
5239 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
5240 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
5241 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
5242 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
5243 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
5244 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
5245 (note_mouse_highlight, x_clear_window_mouse_face)
5246 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
5247 (x_intersect_rectangles): New generic functions for use by xdisp.c
5248 and GUI front-ends.
5249 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
5250 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
5251
5252 * dispextern.h (Display_Info): Generic typedef for *_display_info.
5253 (NativeRectangle): Generic typedef for rectangle type.
5254 (enum window_part): Move here from window.c.
5255 (struct redisplay_interface): New members flush_display_optional,
5256 define_frame_cursor, clear_frame_area, draw_window_cursor,
5257 draw_vertical_window_border, shift_glyphs_for_insert.
5258 Rename member clear_mouse_face to clear_window_mouse_face.
5259 (estimate_mode_line_height_hook): Remove hook.
5260 (auto_raise_tool_bar_buttons_p): Don't declare extern.
5261 (tool_bar_item_info): Remove prototype.
5262 (help_echo_string, help_echo_window, help_echo_object)
5263 (previous_help_echo_string, help_echo_pos)
5264 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
5265 (x_stretch_cursor_p, output_cursor): Declare extern.
5266 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
5267 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
5268 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
5269 (display_and_set_cursor, set_output_cursor, x_cursor_to)
5270 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
5271 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
5272 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
5273 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
5274 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
5275 Add prototypes.
5276 (mode_line_string, marginal_area_string): Fix prototypes.
5277
5278 * window.c (enum window_part): Move to dispextern.h.
5279 (coordinates_in_window): Use enum window_part member names
5280 instead of numbers to describe return value.
5281 (struct check_window_data): Change part member to window_part.
5282 (check_window_containing): Return window_part unaltered.
5283 (window_from_coordinates): Change part arg from int to enum
5284 window_part. Allow part arg to be null. All users changed.
5285
5286 * window.h (window_from_coordinates): Fix prototype.
5287
5288 * term.c (estimate_mode_line_height): Move to xdisp.c.
5289
5290 * keyboard.c (make_lispy_event): Use enum window_part.
5291
5292 * dispnew.c (mode_line_string, marginal_area_string): Use enum
5293 window_part instead of int in arg list. Users changed.
5294
5295 * xterm.h (No_Cursor): Declare as None for X.
5296 (struct mac_output): Replace member cross_cursor by hand_cursor.
5297
5298 * xterm.c: Remove consolidated defines and code.
5299 (BETWEEN): Remove unused macro.
5300 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
5301 (x_define_frame_cursor, x_clear_frame_area)
5302 (x_draw_window_cursor): New X-specific functions for RIF.
5303 (x_redisplay_interface): Add new members.
5304
5305 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
5306
5307 * w32term.h (struct w32_output): Remove cross_cursor member.
5308
5309 * w32term.c: Remove consolidated defines and code.
5310 (BETWEEN): Remove unused macro.
5311 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
5312 (w32_define_frame_cursor, w32_clear_frame_area)
5313 (w32_draw_window_cursor): New W32-specific functions for RIF.
5314 (w32_redisplay_interface): Add new members.
5315
5316 * w32gui.h (No_Cursor): Define as 0 for W32.
5317 (XRectangle): Add X compatible rectangle type.
5318 (NativeRectangle): Declare as RECT for W32.
5319 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
5320
5321 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
5322
5323 * w32console.c: Remove consolidated defines and code.
5324
5325 * msdos.h (Display_Info): Add generic typedef.
5326
5327 * msdos.c: Remove consolidated defines and code.
5328 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
5329
5330 * macterm.h (struct mac_output): Replace member cross_cursor by
5331 hand_cursor.
5332 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
5333
5334 * macterm.c: Remove consolidated defines and code.
5335 (BETWEEN): Remove unused macro.
5336 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
5337 (mac_define_frame_cursor, mac_clear_frame_area)
5338 (mac_draw_window_cursor): New Mac-specific functions for RIF.
5339 (x_redisplay_interface): Add new members.
5340
5341 * macgui.h (No_Cursor): Define as 0 for Mac.
5342 (XRectangle): Add X compatible rectangle type.
5343 (NativeRectangle): Declare as Rect for Mac.
5344 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
5345
5346 * macfns.c (x_set_mouse_color): Setup hand_cursor.
5347 (x_set_cursor_color): Use x_display_and_set_cursor.
5348
5349 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
5350 included from it. Add dependency on keymap.h.
5351
5352 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
5353
5354 2003-03-21 Kenichi Handa <handa@m17n.org>
5355
5356 * fileio.c (Fexpand_file_name): Fix previous change.
5357
5358 2003-03-19 Kenichi Handa <handa@m17n.org>
5359
5360 * fileio.c (Ffile_name_directory): Reconstruct file name by
5361 make_specified_string.
5362 (Ffile_name_nondirectory, Ffile_name_as_directory)
5363 (Fdirectory_file_name, Fexpand_file_name)
5364 (Fsubstitute_in_file_name): Likewise.
5365 (Fread_file_name): Compare decoded homedir with DIR and
5366 DEFAULT_FILENAME.
5367
5368 * alloc.c (make_specified_string): If NCHARS is negative, count
5369 the number of characters.
5370
5371 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5372
5373 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
5374 all widgets.
5375
5376 * gtkutil.h: Removed xg_ignore_next_thumb.
5377
5378 2003-03-18 Kenichi Handa <handa@m17n.org>
5379
5380 * coding.c (Vchar_coding_system_table): Remove this variable.
5381 (Vcoding_system_safe_chars): New variable.
5382 (intersection): Remove this function.
5383 (find_safe_codings): Don't use Vchar_coding_system_table, but try
5384 all codings in SAFE_CODINGS.
5385 (Ffind_coding_systems_region_internal): Adjust for the change of
5386 find_safe_codings. Get generic coding systems from
5387 Vcoding_system_safe_chars.
5388 (Fdefine_coding_system_internal): New function.
5389 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
5390 Initialize and staticpro Vcoding_system_safe_chars.
5391
5392 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5393
5394 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
5395 equal old values before updating.
5396
5397 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
5398
5399 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
5400
5401 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5402
5403 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
5404 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
5405 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
5406 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
5407 (xg_create_scroll_bar): Pass bar to button event callback.
5408 (xg_find_top_left_in_fixed): New function.
5409 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
5410 whole scroll bar area. Get old position with
5411 xg_find_top_left_in_fixed, calculate and only clear needed areas.
5412 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
5413 dragging is in progress. Calculate whole as for Motif.
5414 Remove code that saved last values. Call gtk_range functions to
5415 set scroll bar sizes.
5416
5417 * gtkutil.h: Removed xg_ignore_next_thumb.
5418
5419 2003-03-17 Juanma Barranquero <lektu@terra.es>
5420
5421 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
5422 and files included from it.
5423
5424 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
5425
5426 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
5427 multiple occurrences of the same keymap under different prefixes.
5428 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
5429
5430 2003-03-16 Jason Rumney <jasonr@gnu.org>
5431
5432 * w32gui.h: Use HDC for Display.
5433
5434 * w32term.c (w32_encode_char): Prevent double-byte chars from
5435 crashing Emacs.
5436
5437 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
5438 as binary.
5439
5440 2003-03-16 Juanma Barranquero <lektu@terra.es>
5441
5442 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
5443
5444 2003-03-16 Kim F. Storm <storm@cua.dk>
5445
5446 The following changes consolidate some of the gui-independent
5447 parts of the processing and drawing of "glyph strings" from
5448 xterm.c, w32term.c, and macterm.c into xdisp.c.
5449
5450 * dispextern.h (struct glyph): Reduce face_id member from 22 to
5451 21 bits (this reduces number of faces from 4M to 2M).
5452 Replace W32 specific w32_font_type member (2 bits) by generic
5453 font_type member (3 bits) for portability.
5454 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
5455 (enum draw_glyphs_face): Define here.
5456 (struct glyph_string): Define here. Merge W32 and X versions.
5457 (struct redisplay_interface): New members per_char_metric,
5458 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
5459 (VCENTER_BASELINE_OFFSET): Define here.
5460 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
5461 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
5462
5463 * xdisp.c: Consolidate gui-independent "glyph string" code here.
5464 (dump_glyph_string): Moved here.
5465 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
5466 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
5467 (fill_composite_glyph_string, fill_glyph_string)
5468 (fill_image_glyph_string, fill_stretch_glyph_string)
5469 (left_overwritten, left_overwriting, right_overwritten)
5470 (right_overwriting, get_char_face_and_encoding)
5471 (set_glyph_string_background_width, compute_overhangs_and_x)
5472 (append_glyph, append_composite_glyph, produce_image_glyph)
5473 (take_vertical_position_into_account, append_stretch_glyph)
5474 (produce_stretch_glyph): New generic functions (based on X version).
5475 Call platform specific functions through rif.
5476 (INIT_GLYPH_STRING): New macro, hides W32 details.
5477 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
5478 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
5479 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
5480 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
5481 (notice_overwritten_cursor):
5482 Generic functions exported to platform modules. Users changed.
5483
5484 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
5485 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
5486 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
5487 New macros for consolidated code.
5488
5489 * xterm.c: Remove consolidated defines and code.
5490 (x_per_char_metric, x_encode_char)
5491 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
5492 (x_redisplay_interface): Add new members.
5493
5494 * w32gui.h (Display): Add dummy typedef for consolidation.
5495 (XChar2b): Define alias for wchar_t for consolidation.
5496 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
5497
5498 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
5499 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
5500 New macros for consolidation.
5501
5502 * w32term.c: Remove consolidated defines and code.
5503 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
5504 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
5505 (w32_per_char_metric): Change font_type arg to int for RIF.
5506 (w32_encode_char): Return int according to RIF requirements.
5507 (w32_compute_glyph_string_overhangs): Adapt to RIF.
5508 (w32_get_glyph_overhangs): New function for RIF. Uses generic
5509 x_get_glyph_overhangs.
5510 (w32_redisplay_interface): Add new members.
5511
5512 * macgui.h (XChar2b): Move typedef here for consolidation.
5513 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
5514
5515 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
5516 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
5517 consolidation.
5518
5519 * macterm.c: Remove consolidated defines and code.
5520 (mac_per_char_metric): New function for RIF.
5521 (mac_encode_char): Adapt to new RIF requirements.
5522 (mac_compute_glyph_string_overhangs): Adapt for RIF.
5523 (x_redisplay_interface): Add new members.
5524
5525 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
5526
5527 * keymap.c (Vmenu_events): New var.
5528 (syms_of_keymap): Initialize it.
5529 (where_is_internal): Check more carefully what is a menu event.
5530
5531 2003-03-14 Richard M. Stallman <rms@gnu.org>
5532
5533 * lread.c (read1): After #!, exit loop on eof.
5534
5535 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5536
5537 * gtkutil.h: Add declaration for xg_frame_cleared.
5538
5539 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
5540
5541 * gtkutil.c (struct xg_last_sb_pos): New structure.
5542 (handle_fixed_child): New function.
5543 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
5544 and force a redraw on them.
5545 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
5546 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
5547 so we can avoid unneeded redraws.
5548 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
5549 and force a redraw on the scroll bar.
5550 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
5551 if xg_last_sb_pos shows the positions are up to date.
5552 (xg_frame_cleared): New function.
5553
5554 2003-03-13 Kenichi Handa <handa@m17n.org>
5555
5556 * coding.c (Fdetect_coding_region): Fix docstring.
5557 (Fdetect_coding_string): Fix docstring.
5558
5559 2003-03-13 Andreas Schwab <schwab@suse.de>
5560
5561 * gtkutil.c: Add prototype for create_menus.
5562
5563 * data.c (long_to_cons): Fix type of top.
5564
5565 * xselect.c (selection_data_to_lisp_data): Use int instead of
5566 long for an integer of size 4.
5567
5568 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
5569 (xg_tool_bar_help_callback): Likewise.
5570
5571 2003-03-12 Andreas Schwab <schwab@suse.de>
5572
5573 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
5574
5575 2003-03-12 Kim F. Storm <storm@cua.dk>
5576
5577 The following changes consolidate the fringe handling from
5578 xterm.c, w32term.c, and macterm.c into xdisp.c.
5579
5580 * xdisp.c: Consolidate fringe handling code here.
5581 (left_bits, right_bits, continued_bits, continuation_bits)
5582 (ov_bits, zv_bits): Define fringe bitmaps.
5583 (fringe_bitmaps): New array holding fringe bitmaps.
5584 (draw_fringe_bitmap): Draw a specific bitmap; call display
5585 specific drawing routine via rif->draw_fringe_bitmap.
5586 (draw_row_fringe_bitmaps): Generic replacement for
5587 x_draw_row_fringe_bitmaps; all callers changed.
5588 (compute_fringe_widths): Generic replacement for
5589 x_compute_fringe_widths; all callers changed.
5590
5591 * dispextern.h (enum fringe_bitmap_type): Define here.
5592 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
5593 (fringe_bitmaps): Declare extern.
5594 (struct redisplay_interface): New member draw_fringe_bitmap.
5595 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
5596
5597 * xterm.c: Remove generic fringe code.
5598 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
5599 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
5600
5601 * w32term.c: Remove generic fringe code.
5602 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
5603 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
5604
5605 * macterm.c: Remove generic fringe code.
5606 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
5607 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
5608
5609 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
5610
5611 * print.c (Fprin1_to_string): Return unibyte string if possible.
5612
5613 2003-03-09 David Kastrup <dak@gnu.org>
5614
5615 * process.c (read_process_output): We have allocated enough space
5616 for readmax and carryover, so actually use the alloted space.
5617
5618 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5619
5620 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
5621 toolkit scrollbar click.
5622
5623 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
5624 for USE_GTK.
5625 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
5626 also.
5627 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
5628 scrollbar and control is pressed, call x_scroll_bar_handle_click.
5629
5630 * gtkutil.h: Declare xg_get_scroll_id_for_window.
5631
5632 * gtkutil.c (xg_get_scroll_id_for_window): New function.
5633 (xg_tool_bar_item_expose_callback): New function.
5634 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
5635 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
5636 on the tool bar widget.
5637 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
5638 to expose on the tool bar item widgets.
5639
5640 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5641
5642 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
5643 struct image* when deciding to update (struct image* may have been
5644 deleted from the image cache).
5645
5646 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
5647 the event isn't for a frame (i.e. for dialogs).
5648
5649 2003-03-07 Kenichi Handa <handa@m17n.org>
5650
5651 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
5652 composition components reaches the limit, terminate composing.
5653 (COMPOSITION_OK): New macro.
5654 (detect_coding_iso2022): Use it if an escape sequence for
5655 composition is found.
5656 (coding_restore_composition): Adjust the number of composition
5657 components if it is not sane.
5658
5659 2003-03-06 Juanma Barranquero <lektu@terra.es>
5660
5661 * w32term.h (struct w32_display_info): Add xrdb member to support
5662 passing resources via -xrm on Windows.
5663
5664 * w32term.c (w32_make_rdb): New function.
5665 (w32_term_init): Use it to initialize xrdb member of w32_display_info
5666 struct. Delete leftover code.
5667
5668 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
5669 for resources passed on the command line.
5670
5671 * w32reg.c (w32_get_rdb_resource): New function.
5672 (x_get_string_resource): Use it, so resources passed with -xrm
5673 supercede the ones in the registry.
5674
5675 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5676
5677 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
5678 instead of x_top_window_to_frame.
5679
5680 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5681
5682 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
5683 when restarting Emacs.
5684
5685 2003-03-03 Richard M. Stallman <rms@gnu.org>
5686
5687 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
5688 to run kill-buffer-query-functions.
5689 (Qkill_buffer_query_functions): New var.
5690 (syms_of_buffer): Init and staticpro it.
5691
5692 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5693
5694 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
5695
5696 2003-02-25 Kim F. Storm <storm@cua.dk>
5697
5698 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
5699 If centering point failed to make whole line visible and vscroll
5700 is non-zero, disable vscroll and try centering point again.
5701
5702 * lread.c (read1): Accept `single space' syntax like (? x).
5703
5704 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5705
5706 * keyboard.c (cancel_hourglass_unwind): Surround with
5707 #ifdef HAVE_X_WINDOWS
5708
5709 2003-02-25 Kenichi Handa <handa@m17n.org>
5710
5711 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
5712 process only when "subprocesses" is defined.
5713
5714 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
5715
5716 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
5717
5718 2003-02-24 Juanma Barranquero <lektu@terra.es>
5719
5720 * callint.c (fix_command): Declare as static void and move before
5721 Fcall_interactively.
5722
5723 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
5724 (syms_of_xdisp): Don't initialize Qwhen.
5725
5726 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5727
5728 * keyboard.c (cancel_hourglass_unwind): New function.
5729 (command_loop_1): Cancel hourglass with unwind-protect.
5730
5731 2003-02-23 Richard M. Stallman <rms@gnu.org>
5732
5733 * callint.c (fix_command): New subroutine, from Fcall_interactively.
5734 Detect (when ... (region-beginning)) etc.
5735 (Fcall_interactively): Call fix_command.
5736 (Qif, Qwhen): New variables.
5737 (syms_of_callint): Init and staticpro them.
5738
5739 * regex.c (print_partial_compiled_pattern): Output to stderr.
5740
5741 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
5742
5743 * dired.c (directory_files_internal): Don't expand directory.
5744 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
5745 instead. From Lars Hansen <larsh@math.ku.dk>.
5746
5747 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
5748
5749 * fns.c (string_to_multibyte): Remove unused var i.
5750 (Flanginfo): Fix int/Lisp_Object mixup.
5751 (void_call2): New fun.
5752 (Fmap_char_table): Use it in place of call2.
5753
5754 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
5755
5756 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
5757
5758 * keymap.c (copy_keymap_1): Make it static.
5759
5760 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
5761
5762 2003-02-22 David Ponce <david@dponce.com>
5763
5764 * lread.c (Fload): Don't check STRING_MULTIBYTE.
5765
5766 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5767
5768 * process.h: Removed subtty field from struct Lisp_Process.
5769
5770 * process.c (create_process): Remove setting of subtty.
5771 (emacs_get_tty_pgrp): New function.
5772 (Fprocess_running_child_p, process_send_signal):
5773 Call emacs_get_tty_pgrp instead of ioctl.
5774 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
5775
5776 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
5777
5778 * keymap.c (Fdefine_key): Doc fix.
5779
5780 2003-02-21 Juanma Barranquero <lektu@terra.es>
5781
5782 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
5783
5784 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
5785 POLLING_PROBLEM_IN_SELECT.
5786
5787 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
5788 Delete #undef of POLLING_PROBLEM_IN_SELECT.
5789
5790 * s/hpux10-20.h: New file.
5791
5792 * process.c (wait_reading_process_input):
5793 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
5794
5795 2003-02-20 Kenichi Handa <handa@m17n.org>
5796
5797 * fontset.c (check_fontset_name): If NAME is nil, return the
5798 default fontset.
5799 (override_font_info): New function.
5800 (Fset_fontset_font): Document that NAME nil means the default fontset.
5801 (Ffontset_info): If FONTSET is not the default fontset, merge
5802 FONTSET onto the copy of the default fontset, and work on that
5803 copy. Document that NAME nil means the default fontset.
5804 (Ffontset_font): Document that NAME nil means the default fontset.
5805
5806 * process.c (setup_process_coding_systems): If the process's
5807 in/out descriptor is -1, do nothing.
5808
5809 2003-02-19 Andreas Schwab <schwab@suse.de>
5810
5811 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
5812 Add prototypes.
5813
5814 2003-02-19 Kenichi Handa <handa@m17n.org>
5815
5816 * xfaces.c (try_alternative_families): Try all scalable fonts if
5817 Vscalable_fonts_allowed is not Qt.
5818
5819 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5820
5821 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
5822
5823 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5824
5825 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
5826 names.
5827
5828 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
5829 (sorted_font_list): Move allocation of struct font_name to
5830 x_face_list_fonts.
5831 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
5832 (Fx_list_fonts): Set maxnames to -1 to get all font names.
5833
5834 2003-02-18 Kim F. Storm <storm@cua.dk>
5835
5836 * lread.c (read1): Fix last change.
5837 "`" is not always special. Allow "?" after a character constant.
5838
5839 2003-02-18 Andrew Choi <akochoi@shaw.ca>
5840
5841 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
5842
5843 2003-02-18 Andreas Schwab <schwab@suse.de>
5844
5845 * window.c (window_scroll_pixel_based): Move outside a
5846 multi-glyph character before setting new window start.
5847
5848 * xdisp.c (in_display_vector_p): New function.
5849 * dispextern.h (in_display_vector_p): Declare.
5850
5851 2003-02-18 Kim F. Storm <storm@cua.dk>
5852
5853 * lread.c (read1): Fix and relax read syntax.
5854 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
5855 Only recognize "," after dotted-pair dot if inside backquote.
5856 Never include "`" or "," (inside backquote) in a symbol.
5857 Allow dotted-pair dot after a character constant.
5858 Allow "`" and "," (inside backquote) after a character constant.
5859
5860 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5861
5862 * gtkutil.c (xg_tool_bar_expose_callback): New function.
5863 (xg_create_tool_bar): Force style of tool bar to be horizontal with
5864 icons. Set name of tool bar to emacs-toolbar.
5865 (update_frame_tool_bar): Connect expose event to
5866 xg_tool_bar_expose_callback.
5867
5868 2003-02-17 Richard M. Stallman <rms@gnu.org>
5869
5870 * keyboard.c (this_command_key_count_reset): New variable.
5871 Initiatize to 0 where this_command_key_count is set.
5872 (read_char): Save and restore this_command_key_count_reset
5873 around input method code.
5874 (read_char): If this_command_key_count_reset, echo reread commands.
5875 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
5876
5877 2003-02-17 Kenichi Handa <handa@m17n.org>
5878
5879 * fns.c (string_to_multibyte): Always return a multibyte string.
5880
5881 2003-02-16 Jason Rumney <jasonr@gnu.org>
5882
5883 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
5884 Negative max_fonts parameter means list all.
5885
5886 2003-02-14 Dave Love <fx@gnu.org>
5887
5888 * fns.c (Flanginfo): Doc fix.
5889
5890 2003-02-13 Kim F. Storm <storm@cua.dk>
5891
5892 * lread.c (read_escape): Interpret \s as a SPACE character, except
5893 for \s-X in a character constant which still is the super modifier.
5894 (read1): Signal an `invalid read syntax' error if a character
5895 constant is immediately followed by a digit or symbol character.
5896
5897 * search.c (Fmatch_data): Doc fix. Explicitly state that
5898 match-data is undefined if last search failed.
5899
5900 * keymap.c (Fcommand_remapping): Renamed from Fremap_command.
5901 All uses changed.
5902
5903 2003-02-12 Juanma Barranquero <lektu@terra.es>
5904
5905 * eval.c (Fdefmacro): Fix typo.
5906
5907 2003-02-12 Kim F. Storm <storm@cua.dk>
5908
5909 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
5910 macro is a string, convert meta modifiers in string when copying
5911 the string into a vector.
5912
5913 2003-02-11 Kim F. Storm <storm@cua.dk>
5914
5915 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
5916
5917 2003-02-11 Kenichi Handa <handa@m17n.org>
5918
5919 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
5920
5921 2003-02-10 Kim F. Storm <storm@cua.dk>
5922
5923 * process.c: Doc fixes.
5924 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
5925
5926 2003-02-10 Kenichi Handa <handa@m17n.org>
5927
5928 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
5929
5930 * process.c (QCfilter_multibyte): New variable.
5931 (setup_process_coding_systems): New function.
5932 (Fset_process_buffer, Fset_process_filter):
5933 Call setup_process_coding_systems.
5934 (Fstart_process): Initialize the member `filter_multibyte' of
5935 struct Lisp_Process.
5936 (create_process): Call setup_process_coding_systems.
5937 (Fmake_network_process): New keyward `:filter-multibyte'.
5938 Initialize the member `filter_multibyte' of struct Lisp_Process.
5939 Call setup_process_coding_systems.
5940 (server_accept_connection): Call setup_process_coding_systems.
5941 (read_process_output): If the process has a filter, decide the
5942 multibyteness of a string to given to the filter by
5943 `filter_multibyte' member of the process. If the process doesn't
5944 have a filter and the result of conversion is unibyte, use
5945 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
5946 multibyte form.
5947 (Fset_process_coding_system): Call setup_process_coding_systems.
5948 (Fset_process_filter_multibyte): New function.
5949 (Fprocess_filter_multibyte_p): New function.
5950 (syms_of_process): Intern and staticpro QCfilter_multibyte.
5951 Defsubr Sset_process_filter_multibyte and
5952 Sprocess_filter_multibyte_p.
5953
5954 * process.h (struct Lisp_Process): New member filter_multibyte.
5955
5956 * lisp.h (setup_process_coding_systems): Add prototype.
5957
5958 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
5959 process, update coding systems for the process.
5960
5961 2003-02-09 Kenichi Handa <handa@m17n.org>
5962
5963 * fns.c (string_to_multibyte): New function.
5964 (Fstring_to_multibyte): New function.
5965 (syms_of_fns): Defsubr it.
5966
5967 2003-02-08 Andreas Schwab <schwab@suse.de>
5968
5969 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
5970 instead of the substitution.
5971
5972 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5973
5974 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
5975
5976 * xmenu.c (menu_position_func): Adjust menu popup position so that
5977 the menu is fully visible.
5978
5979 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5980
5981 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
5982 (x_make_frame_invisible, x_wm_set_icon_position):
5983 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
5984
5985 * xfns.c (x_set_name, x_set_title): Ditto.
5986
5987 2003-02-04 Richard M. Stallman <rms@gnu.org>
5988
5989 * keyboard.c (echo_now): Update before_command_echo_length.
5990 (Freset_this_command_lengths): Reset this_command_key_count etc.
5991 immediately rather than arranging to do it later.
5992 (before_command_key_count_1, before_command_echo_length_1)
5993 (before_command_restore_flag): Vars deleted.
5994 (add_command_key): Don't handle before_command_restore_flag.
5995 (read_char, record_menu_key): Don't update before_command_key_count or
5996 before_command_echo_length.
5997 (read_char): Don't handle before_command_restore_flag.
5998
5999 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
6000 in direct-output clauses if it wouldn't be called in the ordinary case.
6001
6002 2003-02-04 Kim F. Storm <storm@cua.dk>
6003
6004 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
6005
6006 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6007
6008 * gtkutil.c (remove_from_container): Copying list is not needed.
6009 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
6010 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
6011 on list returned from gtk_container_get_children to avoid memory leak.
6012
6013 2003-02-01 Jason Rumney <jasonr@gnu.org>
6014
6015 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
6016 local malloc.
6017 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
6018 definitions in xpm.h.
6019 (init_xpm_functions): New function.
6020 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
6021 (init_external_image_libraries): Try to load libXpm.dll.
6022
6023 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
6024 timestamp.
6025
6026 2003-01-31 Dave Love <fx@gnu.org>
6027
6028 * syntax.c (Fskip_chars_forward)
6029 (open-paren-in-column-0-is-defun-start): Doc fix.
6030
6031 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
6032
6033 * fileio.c: Support // at start of name for Cygwin (just added proper
6034 preprocessor tests).
6035
6036 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
6037
6038 * Makefile.in: Use @EXEEXT@ for Cygwin.
6039
6040 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
6041
6042 * s/cygwin.h: Added for Cygwin port.
6043
6044 2003-01-31 Juanma Barranquero <lektu@terra.es>
6045
6046 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
6047 when including gif_lib.h.
6048 (init_gif_functions, init_tiff_functions): New functions.
6049 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
6050 Windows. Disable color table lookups. Call library functions
6051 through pointers determined at runtime.
6052 (init_external_image_libraries): Try to load libungif.dll and
6053 libtiff.dll.
6054
6055 2003-01-31 Kenichi Handa <handa@m17n.org>
6056
6057 * xdisp.c (SKIP_GLYPHS): New macro.
6058 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
6059
6060 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6061
6062 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
6063
6064 2003-01-30 Dave Love <fx@gnu.org>
6065
6066 * alloc.c (Vgc_elapsed, gcs_done): New variables.
6067 (Fgarbage_collect): Use them.
6068 (init_alloc, syms_of_alloc): Set them up.
6069
6070 2003-01-30 Juanma Barranquero <lektu@terra.es>
6071
6072 * w32fns.c (init_external_image_libraries): Add missing operator.
6073
6074 2003-01-29 Jason Rumney <jasonr@gnu.org>
6075
6076 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
6077 an alternative name for jpeg.dll.
6078
6079 2003-01-29 Kenichi Handa <handa@m17n.org>
6080
6081 * xdisp.c (set_cursor_from_row): Pay attention to string display
6082 properties.
6083
6084 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
6085
6086 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
6087 <escape>.
6088 (keycode_to_xkeysym_table): Reformat and add more comments.
6089 (XTread_socket): Drop special case for backspace.
6090
6091 2003-01-28 Andrew Choi <akochoi@shaw.ca>
6092
6093 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
6094 values in old-style RGB specs.
6095
6096 2003-01-27 Juanma Barranquero <lektu@terra.es>
6097
6098 * w32fns.c (init_external_image_libraries): Try alternate names for the
6099 jpeg dll.
6100
6101 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6102
6103 * gtkutil.c (create_dialog, xg_separator_p)
6104 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
6105 before calling strcmp or strlen.
6106
6107 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6108
6109 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
6110 and handle image load failure.
6111
6112 2003-01-26 Jason Rumney <jasonr@gnu.org>
6113
6114 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
6115 New functions.
6116 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
6117 Disable color table lookups. Call jpeg library functions
6118 through pointers determined at runtime.
6119 (init_external_image_libraries): Try to load jpeg.dll.
6120
6121 2003-01-25 Richard M. Stallman <rms@gnu.org>
6122
6123 * lisp.h: Declare format2 instead of format1.
6124
6125 * fileio.c (barf_or_query_if_file_exists):
6126 Call format2 instead of format1.
6127
6128 * editfns.c (format2): New function, replaces format1
6129 but takes exactly two Lisp Objects as format args.
6130
6131 * buffer.c (Fkill_buffer): Call format2 instead of format1.
6132
6133 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6134
6135 * xterm.h: Change to return value of x_dispatch_event to int.
6136
6137 * xterm.c (x_filter_event): New function.
6138 (event_handler_gdk, XTread_socket): Call x_filter_event.
6139 (x_dispatch_event): Change to return value of finish.
6140 (event_handler_gdk): Use return value from x_dispatch_event.
6141
6142 * xfns.c (x_window): Call create_frame_xic for GTK version to
6143 initialize input methods.
6144
6145 * gtkutil.h: Add (void) prototypes.
6146
6147 * gtkutil.c (create_menus): Remove code that puts the help menu to
6148 the right.
6149
6150 2003-01-25 Jason Rumney <jasonr@gnu.org>
6151
6152 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
6153 [HAVE_PNG]: Sync with xfns.c version.
6154 (png_load): Adjust colors for Windows. Use Windows
6155 bitmaps. Disable color table lookups.
6156 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
6157 (init_png_functions): New function.
6158 (png_read_from_memory, png_load): Call png library functions
6159 through pointers determined at runtime.
6160 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
6161 (init_external_image_libraries): New function.
6162 (init_xfns): Call it.
6163
6164 2003-01-24 Andreas Schwab <schwab@suse.de>
6165
6166 * minibuf.c (Fminibuffer_message): Verify type of parameter.
6167
6168 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6169
6170 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
6171 of static initializer.
6172
6173 2003-01-24 Dave Love <fx@gnu.org>
6174
6175 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
6176 architectures.
6177
6178 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
6179 Use __alignof__.
6180
6181 2003-01-24 Kenichi Handa <handa@m17n.org>
6182
6183 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
6184 It it is nonzero, don't pretend that an invisible area doesn't exist.
6185 (command_loop_1): Call adjust_point_for_property with proper
6186 second arg.
6187
6188 2003-01-22 Jason Rumney <jasonr@gnu.org>
6189
6190 Sync changes with xterm.c and xfns.c.
6191
6192 * w32term.c (x_draw_glyph_string_foreground)
6193 (x_draw_composite_glyph_string_foreground): Implement overstriking.
6194
6195 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
6196 phys_cursor's hpos is overwritten. This is still not completely
6197 correct, as it doesn't really make sense to use hpos at all to
6198 get the cursor glyph (as that is relative to the width of the
6199 characters on the line, which may have changed during the update).
6200
6201 * w32term.c (notice_overwritten_cursor): Handle the special case
6202 of the cursor being in the first blank non-text line at the
6203 end of a window.
6204
6205 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
6206 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
6207 Compute from the x position returned by x_draw_glyphs.
6208
6209 (x_display_and_set_cursor): Don't set phys_cursor_width here,
6210 except for NO_CURSOR and system caret, to make phys_cursor_width
6211 contain what its name suggests.
6212 (notice_overwritten_cursor): Consider the cursor image erased if
6213 the output area intersects the cursor image in y-direction.
6214
6215 * w32term.c (note_mode_line_or_margin_highlight): Rename from
6216 note_mode_line_highlight and extend.
6217
6218 * w32term.c (last_window): New variable.
6219 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
6220 (note_mouse_movement): Remove reimplemented code in #if 0.
6221
6222 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
6223 not update_mode_lines, and always set it to 1.
6224
6225 2003-01-21 Jason Rumney <jasonr@gnu.org>
6226
6227 * w32fns.c (IDC_HAND): Define it if system headers don't.
6228
6229 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
6230
6231 * w32term.h (struct w32_output): New member hand_cursor.
6232 (WM_EMACS_SETCURSOR): New message definition.
6233
6234 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
6235 function w32_define_cursor.
6236 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
6237 position, change member name output_data.x to output_data.w32 and
6238 add function w32_define_cursor.
6239 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
6240 and change member name output_data.x to output_data.w32.
6241 (w32_initialize_display_info):
6242 Setup dpyinfo->vertical_scroll_bar_cursor.
6243
6244 * w32fns.c (Vx_hand_shape): New variable.
6245 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
6246 WM_EMACS_SETCURSOR.
6247 (x-create-frame): Setup Cursor types.
6248
6249 2003-01-21 David Ponce <david@dponce.com>
6250
6251 * w32term.c (w32_encode_char): For DIM=1 charset, set
6252 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
6253 x_encode_char change by Kenichi Handa <handa@m17n.org> on
6254 2002-09-30.)
6255 (w32_draw_relief_rect): Declare all args.
6256 (w32_define_cursor): New.
6257
6258 * w32fns.c (w32_load_cursor): New function.
6259 (w32_init_class): Use it.
6260 (x_put_x_image): Declare all args.
6261
6262 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
6263
6264 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
6265
6266 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6267
6268 * gtkutil.c: Must include stdio.h before termhooks.h
6269
6270 2003-01-21 Dave Love <fx@gnu.org>
6271
6272 * alloc.c (Fgc_status): Print zombie list.
6273 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
6274 Fix assignment of zombies.
6275 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
6276 Don't take car of non-cons.
6277
6278 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6279
6280 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6281
6282 2003-01-20 David Ponce <david@dponce.com>
6283
6284 * w32menu.c (digest_single_submenu): Declare all args.
6285
6286 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
6287 changes in xmenu.c:
6288
6289 (parse_single_submenu): Use individual keymap's prompt
6290 string as pane name, if there is one.
6291 (set_frame_menubar): Save menu_items_n_panes from each call to
6292 parse_single_submenu and use it when calling digest_single_submenu.
6293
6294 2003-01-20 Steven Tamm <steventamm@mac.com>
6295
6296 * macterm.c (XTread_socket): Checks for valid, visible window
6297 before sending a scroll-wheel event.
6298
6299 2003-01-20 Richard M. Stallman <rms@gnu.org>
6300
6301 * xdisp.c (redisplay_window): If mini window's buffer is not
6302 a minibuffer, then redisplay it like other windows.
6303
6304 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6305
6306 * gtkutil.c (xg_create_frame_widgets): Check if there is an
6307 external tool bar before setting tool bar height.
6308
6309 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6310
6311 * xterm.c (handle_one_xevent): Surround popup_activated
6312 with #ifdef:s for non-toolkit version.
6313
6314 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
6315 (gtkutil.o): New file.
6316 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
6317 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
6318
6319 * gtkutil.c: New file for GTK version.
6320
6321 * gtkutil.h: New file for GTK version.
6322
6323 * xterm.h: Add xt_or_gtk_widget.
6324 Include gtk files for USE_GTK.
6325 (struct x_output): Add toolbar_height.
6326 (struct x_output): Add GTK widgets and Gdk size_hints.
6327 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
6328 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
6329 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
6330
6331 * xterm.c: Include gtkutil.h for USE_GTK.
6332 Declare extern void free_frame_menubar for USE_GTK.
6333 (note_mouse_highlight): Check popup_activated for USE_GTK.
6334 (xt_action_hook): Don't compile if USE_GTK.
6335 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
6336 (xg_scroll_callback): New function.
6337 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
6338 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
6339 for USE_GTK.
6340 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
6341 xg_show_scroll_bar for USE_GTK.
6342 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
6343 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
6344 (event_handler_gdk): New function for USE_GTK.
6345 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
6346 (handle_one_xevent): Make sure widget is mapped before
6347 calling x_real_positions for USE_GTK.
6348 (XTread_socket): Add GTK event loop for USE_GTK.
6349 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
6350 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
6351 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
6352 (x_iconify_frame): Add code for USE_GTK.
6353 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
6354 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
6355 is in gtkutil.c.
6356 (x_term_init): Add initialization for GTK.
6357 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
6358
6359 * xmenu.c: Include gtkutil.h for USE_GTK.
6360 (Fx_popup_menu): Use current position if x and y is NIL.
6361 (single_menu_item, single_menu_item, Fx_popup_dialog):
6362 Check for USE_GTK.
6363 (popup_widget_loop): New function for USE_GTK.
6364 (x_activate_menubar): Add code for USE_GTK.
6365 (popup_activate_callback, popup_deactivate_callback)
6366 (menu_highlight_callback, menubar_selection_callback):
6367 Add USE_GTK versions.
6368 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
6369 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
6370 (free_frame_menubar): Only compile if not USE_GTK. GTK version
6371 is in gtkutil.c.
6372 (popup_selection_callback): New version for USE_GTK.
6373 (create_and_show_popup_menu): New fuction, one USE_GTK version and
6374 one USE_X_TOOLKIT version.
6375 (xmenu_show): Call create_and_show_popup_menu.
6376 (dialog_selection_callback): New version for USE_GTK.
6377 (create_and_show_dialog): New fuction, one USE_GTK version and
6378 one USE_X_TOOLKIT version.
6379 (xdialog_show): Call create_and_show_dialog.
6380
6381 * xfns.c: Include gtkutil for USE_GTK.
6382 (x_window_to_frame, x_any_window_to_frame)
6383 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
6384 (x_top_window_to_frame): Add code for USE_GTK.
6385 (x_set_background_color): Call xg_set_background_color for GTK.
6386 (x_set_menu_bar_lines): Check for USE_GTK.
6387 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
6388 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
6389 (x_window): Call xg_create_frame_widgets for USE_GTK.
6390 (Fx_create_frame): Check for USE_GTK
6391 (Fx_file_dialog): New implementation for USE_GTK.
6392
6393 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
6394 (update_menu_bar): Add check for USE_GTK.
6395 (update_tool_bar): Add check for USE_GTK and external tool bar.
6396 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
6397 (redisplay_internal): Add check for USE_GTK and popup_activated.
6398 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
6399 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
6400 (display_menu_bar): Add check for USE_GTK
6401
6402 * lisp.h: Declare Vx_resource_name extern.
6403
6404 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
6405 for USE_GTK.
6406 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
6407
6408 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
6409 (FRAME_EXTERNAL_TOOL_BAR): New macro.
6410 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
6411
6412 * fileio.c (Fread_file_name): Add check for USE_GTK.
6413
6414 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
6415 Add check for USE_GTK.
6416
6417 * config.in: Added HAVE_GTK
6418
6419 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
6420
6421 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
6422
6423 * charset.h (Funibyte_char_to_multibyte): Export.
6424
6425 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6426
6427 * xmenu.c (mouse_position_for_popup): New function.
6428 (Fx_popup_menu): Call mouse_position_for_popup for X and
6429 mouse_position_hook for others.
6430
6431 2003-01-17 Kim F. Storm <storm@cua.dk>
6432
6433 * editfns.c (Finsert): Mention `string-make-multibyte' and
6434 `string-as-multibyte' in doc string.
6435
6436 2003-01-17 Kenichi Handa <handa@m17n.org>
6437
6438 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
6439
6440 * editfns.c (Fformat): Convert an unibyte char argument that is
6441 formatted by "%c" to multibyte if the total result must be a
6442 multibyte string.
6443
6444 2003-01-16 Kim F. Storm <storm@cua.dk>
6445
6446 * process.c (set-process-filter): Document unibyte/multibyte-ness
6447 of string argument.
6448
6449 2003-01-16 Kenichi Handa <handa@m17n.org>
6450
6451 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
6452
6453 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
6454 (re_search_2): Likewise.
6455
6456 2003-01-15 Kenichi Handa <handa@m17n.org>
6457
6458 * xdisp.c (message_dolog): Fix bug of the case that *Message*
6459 buffer is unibyte.
6460
6461 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
6462
6463 * fns.c (Fsubstring): Clarify doc string.
6464
6465 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
6466 (Fprevious_char_property_change)
6467 (Fnext_single_char_property_change)
6468 (Fprevious_single_char_property_change, Fnext_property_change)
6469 (Fnext_single_property_change, Fprevious_property_change)
6470 (Fprevious_single_property_change, Fadd_text_properties)
6471 (Fput_text_property, Fset_text_properties)
6472 (Fremove_text_properties, Fremove_list_of_text_properties)
6473 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
6474
6475 2003-01-14 Kim F. Storm <storm@cua.dk>
6476
6477 * process.h (struct Lisp_Process): New member plist replaces old
6478 member private_vars. All uses changed.
6479
6480 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
6481 (QCplist): Rename from QCvars. Change all uses.
6482 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
6483 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
6484 (syms_of_process): Intern, staticpro, defsubr these.
6485 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
6486
6487 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
6488
6489 * m/delta.h: Remove (obsolete).
6490
6491 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
6492
6493 * fileio.c (Fdelete_directory, Fdelete_file): Document the
6494 behaviour in front of symlinks.
6495 (Fdelete_file): Raise an error on directories.
6496
6497 2003-01-13 Dave Love <fx@gnu.org>
6498
6499 * fns.c (Freverse): Use QUIT.
6500
6501 2003-01-13 Richard M. Stallman <rms@gnu.org>
6502
6503 * minibuf.c (minibuffer_completion_contents):
6504 Error if point is inside prompt.
6505
6506 * keyboard.c (command_loop_1): Don't redisplay directly
6507 if there's a post-command-hook.
6508
6509 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
6510 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
6511
6512 2003-01-12 Kim F. Storm <storm@cua.dk>
6513
6514 * process.h (struct Lisp_Process): New member private_vars.
6515
6516 * process.c (QCvars): New variable.
6517 (syms_of_process): Intern and staticpro it.
6518 (Fset_process_contact): Removed function.
6519 (Fprocess_variable, Fset_process_variable): New functions.
6520 (syms_of_process): Defsubr them.
6521 (Fstart_process): Initialize private_vars plist to nil.
6522 (Fmake_network_process): New arg :vars to setup the private
6523 variables for new network process.
6524 (server_accept_connection): Copy server's private variables to
6525 client process.
6526
6527 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
6528 crashes). Code rewritten and simplified. Now directly aligns the
6529 pointer and recalculates pure_bytes_used, rather than aligning the
6530 size and adjusting the pointer.
6531
6532 2003-01-11 Kim F. Storm <storm@cua.dk>
6533
6534 * process.c (Fset_process_contact): New function.
6535 (syms_of_process): defsubr it.
6536 (make-network-process): Update doc.
6537
6538 2003-01-10 Andreas Schwab <schwab@suse.de>
6539
6540 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
6541 Reported by Berthold Gunreben <b.gunreben@web.de>.
6542
6543 2003-01-10 Dave Love <fx@gnu.org>
6544
6545 * composite.c (syms_of_composite): Make composition_hash_table weak.
6546
6547 2003-01-09 Kim F. Storm <storm@cua.dk>
6548
6549 * process.c (Fmake_network_process): Convert new port number
6550 to host byte order for `:service t' case. From Mario Lang.
6551
6552 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6553
6554 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
6555 instead of XtAppProcessEvent.
6556
6557 * xterm.c (handle_one_xevent): New function.
6558 (x_dispatch_event): New function.
6559 (XTread_socket): Call handle_one_xevent.
6560
6561 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
6562
6563 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
6564 call XQueryPointer to get coordinates.
6565 (popup_get_selection): Do not set popup_activated_flag to zero,
6566 let popup_deactivate_callback do that. Needed for Motif.
6567 Call x_dispatch_event instead of XtDispatchEvent.
6568 (xmenu_show): Calculate root coordinate from frame top/left position.
6569
6570 2003-01-08 Kim F. Storm <storm@cua.dk>
6571
6572 * process.c (server_accept_connection): Fix recording of new
6573 connection's local address in :local property of contact info.
6574 (Fmake_network_process): Record local network address for new
6575 client processes in :local property of contact info.
6576 (format-network-address): Add arg OMIT-PORT. Change callers.
6577
6578 2003-01-07 Dave Love <fx@gnu.org>
6579
6580 * Makefile.in (fns.o): Depend on coding.h.
6581
6582 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
6583
6584 * minibuf.c (Fread_variable): Doc fix.
6585
6586 * eval.c (Fuser_variable_p): Doc change. For custom variables,
6587 use the same test as for custom-variable-p.
6588
6589 2003-01-05 Richard M. Stallman <rms@gnu.org>
6590
6591 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
6592 Count LAST_LINE_MISFIT in scroll margin for end of window.
6593 Move label too_near_end before setting SCROLL_MARGIN_POS.
6594 Set LAST_LINE_MISFIT before jumping there.
6595
6596 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
6597 scroll_conservatively case. If scrolling that much doesn't change
6598 STARTP, move it down one line.
6599
6600 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
6601 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
6602
6603 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
6604 selected frame.
6605
6606 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
6607 (syms_of_keymap): staticpro them.
6608 (Fapropos_internal): Initialize them and clear them out.
6609 Don't GCPRO them.
6610
6611 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
6612 Doc fixes.
6613
6614 * lisp.h: New misc type Lisp_Save_Value.
6615 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
6616 (XSAVE_VALUE): New macro.
6617 (struct Lisp_Save_Value): New data type.
6618 (union Lisp_Misc): Add u_save_value alternative.
6619 (make_save_value): Declared.
6620
6621 * alloc.c (make_save_value): New function.
6622
6623 * xterm.c (x_catch_errors): Save dpy using make_save_value.
6624 (x_catch_errors_unwind): Call XSync.
6625
6626 2003-01-01 Richard M. Stallman <rms@gnu.org>
6627
6628 * window.c (window_scroll_pixel_based): Partially undo last change.
6629
6630 * keyboard.c (command_loop_1): Call adjust_point_for_property
6631 in direct action cases for Qforward_char and Qbackward_char.
6632 Set already_adjusted so it won't be done twice.
6633
6634 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
6635
6636 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
6637 type definition of size_t.
6638
6639 2003-01-02 Steven Tamm <steventamm@mac.com>
6640
6641 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
6642 distinguish Carbon GUI builds from X11 builds on darwin.
6643
6644 2002-12-30 Steven Tamm <steventamm@mac.com>
6645
6646 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
6647 to default to t.
6648
6649 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
6650
6651 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
6652
6653 2002-12-28 Steven Tamm <steventamm@mac.com>
6654
6655 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
6656 allow building in a different directory than source. Uses some
6657 GNU Make extensions, but there is no other make on Mac OS X.
6658
6659 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
6660
6661 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
6662 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
6663 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
6664 (Fstring_to_number): Mention the returned value in the doc strings.
6665
6666 2002-12-23 Richard M. Stallman <rms@gnu.org>
6667
6668 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
6669 <scroll-down-aggressively>: Doc fix.
6670
6671 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
6672 string as pane name, if there is one.
6673 (set_frame_menubar): Save menu_items_n_panes from each call to
6674 parse_single_submenu and use it when calling digest_single_submenu.
6675
6676 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
6677 Don't try to make last line fully visible if it is past end of window.
6678
6679 2002-12-22 Steven Tamm <steventamm@mac.com>
6680
6681 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
6682 (mac_menu_show): Add support for hierarchical popup menus.
6683 (add_menu_item): Remove indentation support.
6684 (fill_submenu, fill_menu): Create hierarchical menus
6685 instead of using indentation.
6686
6687 2002-12-22 Richard M. Stallman <rms@gnu.org>
6688
6689 * xdisp.c (try_cursor_movement): Don't call try_window here.
6690 (redisplay_window): Never redisplay minibuffer when inactive.
6691
6692 * window.c (select_window_1): Undo 9/21 change.
6693
6694 2002-12-22 Steven Tamm <steventamm@mac.com>
6695
6696 * macterm.c (XTread_socket): Call KeyTranslate for control and
6697 meta to deal correctly shifted non-alpha characters, like C-S-5
6698 being treated like C-%. Does not look for shift key to deal
6699 with masking off control-key with mac-reverse-ctrl-meta.
6700
6701 2002-12-21 Richard M. Stallman <rms@gnu.org>
6702
6703 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
6704 If it is non-nil, run timers. Use an unwind-protect to requeue
6705 the events that were read ahead.
6706 (popup_get_selection_unwind): New subroutine.
6707 (popup_get_selection_queue): File-scope variable now holds that queue.
6708 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
6709 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
6710 Use an unwind-protect to pop down the dialog box.
6711 (xdialog_show_unwind): New subroutine implements that.
6712
6713 * xdisp.c (row_containing_pos): Change exit test using last_y.
6714 (try_window_id): Abort if row_containing_pos returns null.
6715
6716 * lread.c (load_error_handler): New function.
6717 (Fload): Handle errors in Fsubstitute_in_file_name.
6718 Don't expect Fsignal to return.
6719
6720 * eval.c: Errors and throws work right with interrupt blocking.
6721 (struct catchtag): New elt interrupt_input_blocked.
6722 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
6723 (internal_catch, Fcondition_case, internal_condition_case)
6724 (internal_condition_case_1, internal_condition_case_2): Save it.
6725 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
6726
6727 * editfns.c (Fformat): Add parens.
6728
6729 * dired.c (file_name_completion): Fix that change.
6730 Delete special quit-handling code; just use QUIT.
6731
6732 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change)
6733
6734 * dired.c (file_name_completion): Close directory on error
6735 just as in directory_files_internal.
6736
6737 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
6738
6739 * window.c (Fset_window_configuration): Set old_point to correct
6740 value when new_current_buffer == current_buffer.
6741
6742 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
6743
6744 Revisited my earlier fix for the following entry in etc/PROBLEMS:
6745 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
6746 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
6747
6748 These changes were in part based upon suggestions made by Peter
6749 'Luna' Runestig [peter@runestig.com].
6750
6751 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
6752 g_b_init_get_token_information, g_b_init_lookup_account_sid,
6753 g_b_init_get_sid_identifier_authority ): Add several static
6754 global variables.
6755
6756 * w32.c (globals_of_w32): New function. Used to initialize those
6757 global variables that must always be initialized on startup even
6758 when the global variable initialized is non zero. Its primary
6759 purpose at this time is to set the global variables
6760 g_b_init_is_windows_9x, g_b_init_open_process_token,
6761 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
6762 g_b_init_get_sid_identifier_authority to 0 on startup.
6763 Called from main.
6764
6765 * w32.c (is_windows_9x): Perform initialization only if
6766 g_b_init_is_windows_9x is equal to 0. On initialization set
6767 g_b_init_is_windows_9x equal to 1.
6768
6769 * w32.c (open_process_token): Perform initialization only if
6770 g_b_init_open_process_token is equal to 0. On initialization set
6771 g_b_init_open_process_token equal to 1.
6772
6773 * w32.c (get_token_information): Perform initialization only if
6774 g_b_init_get_token_information is equal to 0. On initialization
6775 set g_b_init_get_token_information equal to 1.
6776
6777 * w32.c (lookup_account_sid): Perform initialization only if
6778 g_b_init_lookup_account_sid is equal to 0. On initialization
6779 set g_b_init_lookup_account_sid equal to 1.
6780
6781 * w32.c (get_sid_identifier_authority): Perform initialization
6782 only if g_b_init_get_sid_identifier_authority is equal to 0.
6783 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
6784
6785 * w32fns.c (globals_of_w32fns): New function. Used to initialize
6786 those global variables that must always be initialized on startup
6787 even when the global variable initialized is non zero.
6788 Its primary purpose at this time is to initialize the global variable
6789 track_mouse_event_fn.
6790
6791 * w32fns.c (w32_wnd_proc): Remove initialization of
6792 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
6793
6794 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
6795
6796 * w32menu.c (globals_of_w32menu): New function. Used to
6797 initialize those global variables that must always be initialized
6798 on startup even when the global variable initialized is non zero.
6799 Its primary purpose at this time is to initialize the global
6800 variables get_menu_item_info and set_menu_item_info.
6801
6802 * w32menu.c (initialize_frame_menubar): Remove initialization of
6803 get_menu_item_info and set_menu_item_info.
6804
6805 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
6806
6807 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
6808 Declare them.
6809
6810 * emacs.c (main): Call globals_of_w32 prior to calling
6811 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
6812 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
6813 is defined.
6814
6815 * w32term.c (x_update_window_begin): Fix Windows API error
6816 detected by BoundsChecker. Test to determine if
6817 w32_system_caret_hwnd is NULL prior to attempting to use
6818 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
6819
6820 * w32term.c (x_update_window_end): Fix Windows API error
6821 detected by BoundsChecker. Test to determine if
6822 w32_system_caret_hwnd is NULL prior to attempting to use
6823 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
6824
6825 2002-12-17 Kenichi Handa <handa@m17n.org>
6826
6827 * coding.c (coding_system_require_warning): New variable.
6828 (syms_of_coding): DEFVAR it.
6829
6830 * coding.h (coding_system_require_warning): Extern it.
6831
6832 * fileio.c (choose_write_coding_system): Even if
6833 Vcoding_system_for_write is non-nil, if
6834 coding_system_require_warning is nonzero, call
6835 Vselect_safe_coding_system_function.
6836
6837 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
6838
6839 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
6840 (lisp): Add font-core.
6841
6842 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
6843
6844 * textprop.c (text_read_only): New arg `propval'.
6845 (get_char_property_and_overlay): Remove unused var `next_overlay'.
6846 (verify_interval_modification): Use text_read_only's new arg.
6847
6848 2002-12-13 Kenichi Handa <handa@m17n.org>
6849
6850 * coding.c (Funencodable_char_position): Set pend correctly.
6851
6852 2002-12-12 Jason Rumney <jasonr@gnu.org>
6853
6854 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
6855 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
6856 Be more careful about when help_events are generated.
6857
6858 2002-12-12 Steven Tamm <steventamm@mac.com>
6859
6860 * macterm.c (mac_check_for_quit_char): Correctly set the
6861 modifiers of the event to 0.
6862 * mac.c (sys_select): Duplicate rfds before calling select to
6863 ensure that rfds survive the while loop.
6864
6865 2002-12-11 Kim F. Storm <storm@cua.dk>
6866
6867 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
6868 row_containing_pos returned NULL.
6869
6870 2002-12-10 Steven Tamm <steventamm@mac.com>
6871
6872 * mac.c (sys_read): Fix sys_read to not call select if IO is
6873 non-blocking.
6874 (sys_select): Fix sys_select to not use a timeout larger than
6875 the one given.
6876
6877 2002-12-10 Juanma Barranquero <lektu@terra.es>
6878
6879 * editfns.c (Fformat): Use alloca, not _alloca.
6880
6881 2002-12-09 Richard M. Stallman <rms@gnu.org>
6882
6883 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
6884 as the last thing.
6885
6886 2002-12-09 Dave Love <fx@gnu.org>
6887
6888 * s/sol2-8.h: Removed. (Not necessary.)
6889
6890 2002-12-09 Matthew Swift <swift@alum.mit.edu>
6891
6892 * editfns.c (Fformat): Handle precision in string conversion
6893 specifiers like libc functions do (ie, print at most that many
6894 characters).
6895
6896 2002-12-08 Richard M. Stallman <rms@gnu.org>
6897
6898 * xdisp.c (row_containing_pos): Check more carefully
6899 whether charpos is really in the row before returning it.
6900
6901 2002-12-07 Steven Tamm <steventamm@mac.com>
6902
6903 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
6904
6905 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
6906 each stack frame. This may change as it could be time consuming.
6907
6908 * macterm.c (mac_check_for_quit_char, quit_char_comp)
6909 (init_quit_char_handler, mac_determine_quit_char_modifiers)
6910 (mac_initialize): Add code to check for pressing of quit_char
6911 in the OS event queue.
6912
6913 * mac.c (sys_select): Call mac_check_for_quit_char every second
6914 while blocking on select.
6915
6916 * mac.c (sys_read): Use sys_select to test for input first
6917 before calling read, to allow C-g to break.
6918
6919 2002-12-07 Richard M. Stallman <rms@gnu.org>
6920
6921 * minibuf.c (Fcompleting_read): Doc fix.
6922
6923 * lread.c (syms_of_lread) <load-history>: Doc fix.
6924
6925 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
6926
6927 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
6928 autoload.
6929
6930 * data.c (Fdefalias): Record in load-history redefining an autoload.
6931
6932 * alloca.c: Undo ifdef change accidentally made on 12-04.
6933
6934 2002-12-06 Francesco Potorti` <pot@gnu.org>
6935
6936 * xfns.c (png_load): Avoid double gamma correction for PNG images.
6937
6938 2002-12-04 Richard M. Stallman <rms@gnu.org>
6939
6940 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
6941
6942 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
6943
6944 * alloca.c: Don't use #error.
6945
6946 2002-12-03 Dave Love <fx@gnu.org>
6947
6948 * buffer.c (Qucs_set_table_for_input): New.
6949 (Fget_buffer_create): Use it.
6950 (Qset_buffer_major_mode_hook): Deleted.
6951 (Fset_buffer_major_mode): Revert previous change.
6952 (init_buffer_once): Intern ucs-set-table-for-input.
6953 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
6954 Add &Qucs_set_table_for_input.
6955
6956 2002-12-03 Andreas Schwab <schwab@suse.de>
6957
6958 * callint.c (Fcall_interactively): Use next_event only if less
6959 than key_count.
6960
6961 2002-12-02 Andrew Choi <akochoi@shaw.ca>
6962
6963 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
6964 names to 255 characters.
6965
6966 * macterm.c (XTread_socket): If all frames have been collapsed,
6967 expand the first one before handling drag-and-drop events.
6968
6969 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
6970 which is detected by autoconf.
6971
6972 2002-12-01 Steven Tamm <steventamm@mac.com>
6973
6974 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
6975 offset in two hints table to allow prebinding to be redone and
6976 allow the executable to be stripped.
6977
6978 2002-11-29 Dave Love <fx@gnu.org>
6979
6980 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
6981 already provided.
6982
6983 2002-11-29 Richard M. Stallman <rms@gnu.org>
6984
6985 * xdisp.c (start_display): Check more intelligently for
6986 whether the line is continued.
6987 (move_it_vertically_backward): Clear it->continuation_lines_width.
6988
6989 2002-11-28 Dave Love <fx@gnu.org>
6990
6991 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
6992 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
6993
6994 2002-11-27 Steven Tamm <steventamm@mac.com>
6995
6996 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
6997 more descriptive error output from lread.c:Fload upon most require
6998 cycles during boostrapping.
6999
7000 2002-11-27 Jason Rumney <jasonr@gnu.org>
7001
7002 * fileio.c (Finsert_file_contents): Give a more appropriate error
7003 for files bigger than 2Gb when off_t is 32 bit.
7004
7005 * dired.c (Ffile_attributes): Don't return negative file sizes for
7006 files bigger than 2Gb when off_t is 32 bit.
7007
7008 2002-11-27 Dave Love <fx@gnu.org>
7009
7010 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7011
7012 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
7013 Test GETPGRP_VOID instead.
7014 [BSD_TERMIOS]: Remove definitions (never used).
7015
7016 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
7017 Don't define.
7018 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7019
7020 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
7021
7022 2002-11-25 Jason Rumney <jasonr@gnu.org>
7023
7024 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
7025 supported.
7026
7027 2002-11-25 Dave Love <fx@gnu.org>
7028
7029 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
7030
7031 * Makefile.in (TEMACS_LDFLAGS): Update last change.
7032
7033 2002-11-25 Andreas Schwab <schwab@suse.de>
7034
7035 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
7036
7037 2002-11-24 Steven Tamm <steventamm@mac.com>
7038
7039 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
7040 determine the size of pointers alloced in unexed space instead
7041 of using possibly invalid emacs_zone pointers. This fixes the
7042 binary incompatibility problems caused by updates to libSystem.B.
7043
7044 2002-11-24 Richard M. Stallman <rms@gnu.org>
7045
7046 * search.c (Fstring_match): Doc fix.
7047
7048 * callint.c (Fcall_interactively): If a command fails because
7049 `*' detects a read-only buffer, but RECORD_FLAG is set,
7050 record it anyway if the args don't actually do tty input.
7051
7052 2002-11-22 Dave Love <fx@gnu.org>
7053
7054 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
7055
7056 * keyboard.c (interrupt_signal): Provide forward declaration.
7057 (kbd_buffer_store_event): Don't declare interrupt_signal.
7058
7059 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
7060
7061 2002-11-21 Richard M. Stallman <rms@gnu.org>
7062
7063 * eval.c (interactive_p): Skip any number of bytecode
7064 and special form frames, in any order.
7065
7066 2002-11-20 Jason Rumney <jasonr@gnu.org>
7067
7068 * w32fns.c (convert_mono_to_color_image): New function.
7069 (xbm_load, xbm_load_image): Use it when foreground or background
7070 is explicitly set.
7071
7072 2002-11-19 Dave Love <fx@gnu.org>
7073
7074 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
7075
7076 2002-11-18 Jason Rumney <jasonr@gnu.org>
7077
7078 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
7079 (XPutPixel): Swap blue and red.
7080 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
7081 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
7082 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
7083 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
7084
7085 2002-11-18 Dave Love <fx@gnu.org>
7086
7087 * m/orion105.h (HAVE_ALLOCA): Don't define.
7088
7089 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
7090
7091 * m/intel386.h: Don't include alloca.h or define alloca.
7092
7093 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
7094 malloc, realloc, calloc.
7095
7096 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
7097 (bcmp): Don't define.
7098
7099 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
7100
7101 * m/amdahl.h: Don't define LIB_STANDARD.
7102
7103 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
7104
7105 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
7106
7107 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
7108 Don't include alloca.h.
7109
7110 * s/aix3-2.h (HAVE_FSYNC): Don't define.
7111
7112 * regex.c (_GNU_SOURCE): Don't define.
7113
7114 * process.c (_GNU_SOURCE): Don't define.
7115
7116 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
7117
7118 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
7119
7120 * s/sol2-8.h: Include sol2-6.h.
7121
7122 2002-11-18 Miles Bader <miles@gnu.org>
7123
7124 * dispextern.h (struct face): Add `overstrike' field.
7125 * xterm.c (x_draw_glyph_string_foreground)
7126 (x_draw_composite_glyph_string_foreground): Implement overstriking.
7127 * xfaces.c (load_face_font): Set `face->overstrike' based on
7128 result from choose_face_font.
7129 (best_matching_font, choose_face_font): Add `needs_overstrike'
7130 argument, and use it to return whether overstriking is desirable
7131 for this face/font combo.
7132 (set_font_frame_param: Pass new argument to choose_face_font.
7133
7134 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
7135
7136 This change is my fix for the following entry in etc/PROBLEMS:
7137 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
7138 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
7139
7140 * w32.c: Added wrapper functions around the win32 API functions
7141 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
7142 GetSidIdentifierAuthority. These wrapper functions serve two
7143 purposes:
7144 1. They ensure that the wrapped function can never be called
7145 when Emacs is running on an operating system on which they are
7146 not supported (Microsoft Windows 95 / 98 / ME).
7147 2. They call the wrapped functions via function pointers rather
7148 than calling them directly. This avoids taking advantage of the
7149 undocumented fact that although these functions are not supported
7150 in the 9x branch of Microsoft Windows, the functions do exist in
7151 the version of advapi32.dll that is found in the 9x branch of
7152 Microsoft Windows.
7153
7154 * w32.c (init_user_info): Replace the calls to the win32 API
7155 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
7156 and GetSidIdentifierAuthority with calls to the newly added
7157 wrapper functions.
7158
7159 * w32.h: Added extern declarations for the following functions:
7160 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
7161 syms_of_w32menu, and void syms_of_fontset.
7162
7163 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
7164 function pointer track_mouse_event_fn in the handler for the
7165 WM_SETFOCUS message.
7166
7167 * w32menu.c (initialize_frame_menubar): Add code to
7168 reinitialize the function pointers set_menu_item_info and
7169 get_menu_item_info.
7170
7171 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
7172
7173 * sound.c: Added a partial implementation of play-sound-internal
7174 for Microsoft Windows. Added various #ifdef / #else / #endif
7175 code blocks to separate the code that will compile under
7176 Microsoft Windows from the code that is specific to Gnu/Linux.
7177 Moved several blocks of code around to make this separation of code
7178 into Windows compatible and Gnu/Linux compatible code blocks easier.
7179
7180 * makefile.w32-in: Include sound.c and link with WinMM.lib.
7181
7182 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
7183 added support for play-sound-internal under Windows would be
7184 included in the build of Emacs.
7185
7186 2002-11-16 Jason Rumney <jasonr@gnu.org>
7187
7188 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
7189
7190 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
7191
7192 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
7193
7194 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
7195 (adjust_point_for_property): Move out of display and invisible even if
7196 we were already inside before (in case a property was added while
7197 we weren't looking). Be more careful when handling invisible props.
7198 Skip invisible text as if it really wasn't there at all.
7199
7200 2002-11-15 Jason Rumney <jasonr@gnu.org>
7201
7202 * w32term.c (x_draw_image_foreground)
7203 (w32_draw_image_foreground_1): Use standard copy and invert
7204 operations to draw images.
7205
7206 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
7207 depth of 1.
7208 (xbm_read_bitmap_data): Invert bits as xbm is read in.
7209 (XPutPixel): Don't invert bits here.
7210
7211 2002-11-15 Jason Rumney <jasonr@gnu.org>
7212
7213 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
7214 (w32_draw_image_foreground_1): Handle image masks.
7215 (x_draw_image_glyph_string): Don't BitBlt transparently.
7216
7217 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
7218 (x_from_xcolors): Adjust RGB values for W32.
7219 (image_background, image_background_transparent)
7220 (postprocess_image, x_to_xcolors, x_disable_image)
7221 (x_build_heuristic_mask): Adapt for W32 and enable.
7222 (x_create_x_image_and_pixmap): Mark images with palettes as such.
7223 (xbm_load): Remove unused variable.
7224
7225 2002-11-14 Richard M. Stallman <rms@gnu.org>
7226
7227 * buffer.c (syms_of_buffer): Doc fix.
7228
7229 2002-11-14 Dave Love <fx@gnu.org>
7230
7231 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
7232
7233 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
7234 * xmenu.c (unuse_menu_items, digest_single_submenu):
7235 * xfns.c (x_put_x_image):
7236 * xdisp.c (message2_nolog, set_message):
7237 * undo.c (record_point):
7238 * terminfo.c (tparam):
7239 * syntax.c (scan_sexps_forward):
7240 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
7241 * composite.c (update_compositions):
7242 * cm.c (calccost, cmgoto):
7243 * charset.c (c_string_width): Declare all args (per C99).
7244
7245 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
7246
7247 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
7248 Don't declare.
7249
7250 * emacs.c (main) [!VMS]: Avoid third arg.
7251
7252 * fns.c (Fcopy_sequence): Doc fix.
7253 (Fmap_char_table): Cast `call2'.
7254
7255 2002-11-14 Francesco Potorti` <pot@gnu.org>
7256
7257 * s/sol2-8.h: New file.
7258
7259 2002-11-14 Kim F. Storm <storm@cua.dk>
7260
7261 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
7262 dependency on `risky-local-variable' and the :propertize form.
7263
7264 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
7265
7266 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
7267
7268 * syntax.c (scan_sexps_forward): Undo last patch.
7269 Use a more obvious fix: check eob before updating the syntax table.
7270
7271 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
7272
7273 * syntax.c (scan_sexps_forward): Update syntax table before reading
7274 a char rather than after so we don't update the table past eob.
7275
7276 2002-11-09 Dave Love <fx@gnu.org>
7277
7278 * buffer.c (Fset_buffer_major_mode): Fix last change.
7279
7280 * regex.c (regexec): Fix pmatch declaration.
7281
7282 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
7283
7284 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
7285 to self-inserting characters.
7286 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
7287
7288 * coding.c (Vtranslation_table_for_input): New.
7289 (syms_of_coding): DEFVAR it.
7290
7291 2002-11-08 Juanma Barranquero <lektu@terra.es>
7292
7293 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
7294 window.
7295
7296 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7297
7298 * process.c (Fformat_network_address): Remove unused locals p,
7299 cp, and i.
7300
7301 2002-11-06 Dave Love <fx@gnu.org>
7302
7303 * buffer.c (Qset_buffer_major_mode_hook): New.
7304 (Fset_buffer_major_mode): Use it.
7305
7306 2002-11-06 Richard M. Stallman <rms@gnu.org>
7307
7308 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
7309 and stop_polling.
7310
7311 * process.c (wait_reading_process_input):
7312 Test POLLING_PROBLEM_IN_SELECT, not hpux.
7313 Avoid initialization for auto Lisp_Object var.
7314
7315 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
7316
7317 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
7318
7319 2002-11-05 Richard M. Stallman <rms@gnu.org>
7320
7321 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
7322
7323 * callint.c (Fcall_interactively): New local filter_specs.
7324 (Fcall_interactively): Check for progn as well as let.
7325 Add a gcpro.
7326 (Qprogn): New variable.
7327 (syms_of_callint): Staticpro and init Qprogn.
7328
7329 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
7330
7331 * lread.c (Feval_buffer): Doc fix.
7332
7333 2002-11-04 Dave Love <fx@gnu.org>
7334
7335 * keyboard.c (read_char): Always translate iff
7336 Vkeyboard_translate_table is a char table and c is valid.
7337
7338 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
7339 and fix C types.
7340
7341 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
7342
7343 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
7344
7345 * editfns.c (get_pos_property): Don't hardcode Qfield.
7346
7347 * keyboard.c (adjust_point_for_property): Handle `display' prop on
7348 overlays. Also handle `invisible' prop.
7349
7350 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
7351
7352 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
7353 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
7354
7355 2002-11-01 Andreas Schwab <schwab@suse.de>
7356
7357 * editfns.c (Fmessage): Revert last change to properly handle %%.
7358
7359 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
7360
7361 * xmenu.c (unuse_menu_items): New fun.
7362 (menu_items_inuse): New var.
7363 (syms_of_xmenu): Initialize it.
7364 (init_menu_items): Use it to detect re-entrance.
7365 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
7366 (Fx_popup_menu): Remove spurious XSETFRAME.
7367
7368 * editfns.c (find_field): Make an exception for nil fields.
7369
7370 2002-11-01 Dave Love <fx@gnu.org>
7371
7372 * m/gec63.h: Deleted.
7373
7374 2002-10-31 Dave Love <fx@gnu.org>
7375
7376 * xterm.c (XTread_socket): Fix last change.
7377 (xaw_scroll_callback): Cast call_data to long to avoid warning.
7378
7379 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
7380
7381 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
7382
7383 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
7384
7385 * editfns.c (overlays_around, get_pos_property): New funs.
7386 (find_field): Use them.
7387 Also be careful not to modify POS before its last use.
7388 (Fmessage): Don't Fformat if there's nothing to format.
7389
7390 2002-10-30 Dave Love <fx@gnu.org>
7391
7392 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
7393 [HAVE_PTY_H]; Include pty.h.
7394
7395 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
7396
7397 * xterm.c (Qeql): Declare.
7398 (Vx_keysym_table): New.
7399 (syms_of_xterm): Initialize it.
7400 (XTread_socket): Use it. Deal with ASCII keysyms.
7401 (XSetIMValues) [HAVE_X11R6]: Prototype.
7402
7403 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
7404 (lispy_kana_keys): Comment out.
7405 (make_lispy_event) [XK_kana_A]: Comment out.
7406 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
7407 Fix sprintf call.
7408
7409 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
7410 regexp.h change).
7411 (TERMINFO, LIBS_TERMCAP): Define.
7412
7413 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
7414 (bcmp): Define conditional on HAVE_BCMP.
7415 (NO_SIOCTL_H): Don't define.
7416 (TIOCSIGSEND): Don't make conditional on IRIX6.
7417
7418 * s/sol2-5.h: Don't include strings.h.
7419 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
7420
7421 * s/irix6-0.h (IRIX6): Don't define.
7422 (bcopy, bcmp, bzero): Don't undef.
7423
7424 * s/irix6-5.h: Don't include strings.h.
7425 (IRIX6): Don't define.
7426 (bcopy, bcmp, bzero): Don't undef.
7427
7428 * syntax.c (Fforward_comment): Doc fix.
7429
7430 2002-10-29 Kim F. Storm <storm@cua.dk>
7431
7432 * process.c (Fsignal_process): Allow PROCESS to be specified by
7433 name in addition to pid (as integer or string).
7434
7435 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
7436
7437 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
7438 environments.
7439
7440 2002-10-27 Kim F. Storm <storm@cua.dk>
7441
7442 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
7443
7444 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
7445
7446 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
7447
7448 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
7449
7450 2002-10-26 Richard M. Stallman <rms@gnu.org>
7451
7452 * editfns.c (Fformat): Detect invalid format letters for floats.
7453
7454 2002-10-25 Kenichi Handa <handa@m17n.org>
7455
7456 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
7457 (x_set_title): Likewise.
7458
7459 2002-10-25 Juanma Barranquero <lektu@terra.es>
7460
7461 * macgui.h:
7462 * w32gui.h: Remove definition of XColor.
7463
7464 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
7465
7466 2002-10-24 Kim F. Storm <storm@cua.dk>
7467
7468 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
7469 Callers changed (supply dummy arg).
7470
7471 * lisp.h (get_window_cursor_type): Update prototype.
7472
7473 * w32term.c (x_display_and_set_cursor): Get active_cursor from
7474 get_window_cursor_type to track system caret.
7475
7476 2002-10-24 Kim F. Storm <storm@cua.dk>
7477
7478 * process.c (Fformat_network_address): New function.
7479 (syms_of_process): Defsubr it.
7480 (list_processes_1): Use it to format :local/:remote address if
7481 service/host is not set; before emacs would crash in that case.
7482 (Fmake_network_process): Don't use Ffind_operation_coding_system
7483 to setup coding system if host or service is not set.
7484
7485 2002-10-23 Juanma Barranquero <lektu@terra.es>
7486
7487 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
7488
7489 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
7490 COLORREF.
7491
7492 * macgui.h:
7493 * w32gui.h: Add definition of XColor.
7494
7495 * macfns.c:
7496 * w32fns.c:
7497 * xfaces.c: Remove definition of XColor.
7498
7499 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
7500
7501 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
7502
7503 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
7504 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
7505 window if it is dedicated.
7506 (Fshrink_window): Add preserve_before as was done for enlarge_window.
7507 (Vspecial_display_function): Update docstring.
7508
7509 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
7510 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
7511 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
7512
7513 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
7514
7515 * casefiddle.c (casify_region): Don't treat a prefix char as part
7516 of a word when at the beginning.
7517
7518 2002-10-17 Juanma Barranquero <lektu@terra.es>
7519
7520 * lread.c (syms_of_lread): Fix typos.
7521
7522 2002-10-17 Dave Love <fx@gnu.org>
7523
7524 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
7525
7526 2002-10-16 Richard M. Stallman <rms@gnu.org>
7527
7528 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
7529
7530 2002-10-14 Juanma Barranquero <lektu@terra.es>
7531
7532 * w16select.c (syms_of_win16select): Fix docstring for
7533 `selection-coding-system'.
7534
7535 * w32select.c (syms_of_w32select): Likewise.
7536
7537 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
7538
7539 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
7540 a backslash-quoted char.
7541 (scan_lists, scan_sexps_forward): Pacify the compiler.
7542
7543 2002-10-13 Richard M. Stallman <rms@gnu.org>
7544
7545 * window.c (window_scroll): Set immediate_quit.
7546
7547 * print.c (print): When backquote form is the car of a list,
7548 output in old style. Use old_backquote_output to output all
7549 comma forms inside it in old style too.
7550
7551 * buffer.h (struct buffer): Move `undo_list' down below `name'.
7552
7553 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
7554
7555 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
7556 batch mode).
7557
7558 * lread.c (Fload): Doc fix (load-suffixes).
7559
7560 2002-10-10 Steven Tamm <steventamm@mac.com>
7561
7562 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
7563 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
7564 Also switch the default to Qnil from Qt.
7565
7566 2002-10-08 Kenichi Handa <handa@m17n.org>
7567
7568 * coding.c (code_convert_region): When we need more GAP for
7569 conversion, pay attention to the case that coding->produced is not
7570 greater than coding->consumed.
7571
7572 2002-10-07 Richard M. Stallman <rms@gnu.org>
7573
7574 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
7575
7576 2002-10-06 Andrew Choi <akochoi@shaw.ca>
7577
7578 * macmenu.c (mac_menu_show): Add j to count menu items; match
7579 menu_item_selection to it to find selected item.
7580
7581 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7582
7583 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
7584 cases. The correct fix is to pass ReparentNotify to Xt.
7585 The shell widget interprets ConfigureNotify differently depending
7586 on if it has been reparented or not.
7587
7588 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
7589
7590 * editfns.c (Fformat_time_string): Doc fix.
7591
7592 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
7593
7594 * fns.c (Flength): Doc fix.
7595
7596 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
7597
7598 * keyboard.c (keyremap): New struct.
7599 (read_key_sequence): Use it: globally replace keytran_foo with
7600 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
7601 keytran_next and fkey_next to just `next'.
7602
7603 2002-10-04 Steven Tamm <steventamm@mac.com>
7604
7605 * macterm.c (keycode_to_xkeysym_table): Change return to be
7606 treated like an X keysym.
7607
7608 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7609
7610 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
7611 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
7612 This is to also handle x/y changes that occur because of a resize.
7613
7614 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
7615
7616 * frame.c (Vdelete_frame_functions): New variable.
7617 (syms_of_frame): Initialize and defvar it.
7618 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
7619 it when frame's `tooltip' parameter is non-nil.
7620
7621 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
7622
7623 * w32fns.c (x_create_tip_frame): Likewise.
7624
7625 * macfns.c (x_create_tip_frame): Likewise.
7626
7627 2002-09-30 Kenichi Handa <handa@m17n.org>
7628
7629 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
7630 -1 before calling ccl_driver.
7631
7632 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
7633 Only when it is non-nil, handle composition sequence.
7634 (setup_coding_system) <0>: Don't force composition handling.
7635
7636 * Makefile.in (lisp, shortlisp): Add utf-16.elc
7637
7638 2002-09-29 Richard M. Stallman <rms@gnu.org>
7639
7640 * search.c (Freplace_match): Adjust match data for the substitution
7641 just made in the buffer.
7642
7643 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
7644 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
7645
7646 2002-09-27 Richard M. Stallman <rms@gnu.org>
7647
7648 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
7649 (read_char): Use them. Do all exits thru the end of the function.
7650
7651 2002-09-27 Kenichi Handa <handa@etl.go.jp>
7652
7653 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
7654 is nil.
7655
7656 2002-09-26 Richard M. Stallman <rms@gnu.org>
7657
7658 * regex.h (__restrict_arr): Don't define if already defined.
7659
7660 * coding.c (run_pre_post_conversion_on_str):
7661 Save and restore Vdeactivate_mark.
7662
7663 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
7664
7665 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
7666
7667 2002-09-26 Kenichi Handa <handa@etl.go.jp>
7668
7669 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
7670 nonzero, try face's family at first. Otherwise try FAMILY at first.
7671 (choose_face_font): If C is a single byte char or latin-1, call
7672 try_font_list with PREFER_FACE_FAMILY 1.
7673
7674 2002-09-21 Richard M. Stallman <rms@gnu.org>
7675
7676 * window.c (select_window_1): Don't select frame.
7677 Set frame's selected window only when frame itself is selected.
7678 (Fselect_window): Doc fix.
7679
7680 2002-09-18 Kim F. Storm <storm@cua.dk>
7681
7682 * process.c (make-network-process): Doc fix (there is no
7683 network-server-log-function hook).
7684
7685 2002-09-18 Richard M. Stallman <rms@gnu.org>
7686
7687 * print.c (print): Clear out the unused parts of Vprint_number_table.
7688 (syms_of_print): Doc fix for `print-number-table'.
7689
7690 * unexelf.c (unexec): Undo previous change.
7691
7692 2002-09-17 Andreas Schwab <schwab@suse.de>
7693
7694 * m/alpha.h [LINUX]: Don't define DATA_START.
7695
7696 2002-09-16 Dave Love <fx@gnu.org>
7697
7698 * unexelf.c (unexec): Deal with .got, reinstating change from
7699 25-08-1999.
7700
7701 2002-09-13 Richard M. Stallman <rms@gnu.org>
7702
7703 * s/sol2-6.h (UNEXEC): Comment out definition.
7704
7705 * unexsol.c (unexec): Don't downcase first letter of error msg.
7706
7707 * xfaces.c (Fcolor_supported_p): Just one arg is required.
7708
7709 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
7710
7711 * unexsol.c: Include buffer.h, charset.h, coding.h.
7712
7713 2002-09-11 Richard M. Stallman <rms@gnu.org>
7714
7715 * unexsol.c: Don't use report_file_error; do it by hand
7716 using dlerror.
7717
7718 * process.c (wait_reading_process_input, both versions):
7719 Before calling turn_on_atimers, call stop_polling.
7720
7721 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
7722
7723 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
7724 we go to too_near_end, call clear_glyph_matrix.
7725 (redisplay_window): After make_cursor_line_fully_visible,
7726 call clear_glyph_matrix and bypass `goto done'.
7727
7728 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
7729 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
7730
7731 2002-09-10 Richard M. Stallman <rms@gnu.org>
7732
7733 * fileio.c (Fdo_auto_save): Catch error making directory.
7734 Only call push_message if we need to.
7735 At the same time, make an unwind-protect to pop it.
7736 Rename local message_p to old_message_p.
7737 (do_auto_save_make_dir, do_auto_save_eh): New functions.
7738 (do_auto_save_unwind): Don't call pop_message.
7739
7740 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
7741
7742 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
7743
7744 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
7745
7746 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
7747
7748 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
7749
7750 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
7751 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
7752 (re_match_2_internal): Be more careful with infinite loops.
7753
7754 2002-09-10 Kim F. Storm <storm@cua.dk>
7755
7756 * macros.c (end_kbd_macro): New function.
7757 (Fend_kbd_macro): Use it.
7758
7759 * macros.h (end_kbd_macro): Declare extern.
7760
7761 * keyboard.c (Fdiscard_input): If defining keyboard macro,
7762 end and save it instead of discarding it.
7763
7764 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
7765
7766 * s/sol2-6.h: Fix typo. Add comment.
7767
7768 2002-09-09 Richard M. Stallman <rms@gnu.org>
7769
7770 * regex.c (regnum_t): Use signed int, not unsigned int.
7771
7772 * s/sol2-6.h: New file.
7773
7774 * s/sol2-5.h (UNEXEC): Definition deleted.
7775
7776 2002-09-08 Kim F. Storm <storm@cua.dk>
7777
7778 * macros.c (executing_macro_index): Change type to EMACS_INT.
7779 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
7780
7781 * macros.h (executing_macro_index): Change type to EMACS_INT.
7782
7783 2002-09-06 Richard M. Stallman <rms@gnu.org>
7784
7785 * casetab.c (set_case_table): Make canon table point to eqv table.
7786
7787 2002-09-06 Juanma Barranquero <lektu@terra.es>
7788
7789 * coding.c (syms_of_coding): Fix spacing.
7790
7791 * composite.c (Fcompose_region_internal)
7792 (Fcompose_string_internal): Likewise.
7793
7794 * data.c (Flsh): Likewise.
7795
7796 * fontset.c (Fset_fontset_font): Likewise.
7797
7798 * macfns.c (Fx_server_max_request_size): Likewise.
7799
7800 * w16select.c (syms_of_win16select): Likewise.
7801
7802 * w32select.c (syms_of_w32select): Likewise.
7803
7804 * xselect.c (syms_of_xselect): Likewise.
7805
7806 2002-09-05 Richard M. Stallman <rms@gnu.org>
7807
7808 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
7809 call EXTEND_RANGE_TABLE and return a proper value.
7810 (set_image_of_range): Don't call set_image_of_range_1
7811 if no TRANSLATE or if range includes all of Latin-1.
7812 Only call it for the Latin-1 part of the range.
7813 For other cases, make two separate ranges,
7814 one for the original specified characters and one for
7815 their case-conversions.
7816
7817 2002-09-04 Richard M. Stallman <rms@gnu.org>
7818
7819 * s/sol2-5.h (UNEXEC): Use unexsol.o.
7820
7821 * window.c (displayed_window_lines): Correct for one-off bug
7822 in HEIGHT on non-window displays.
7823
7824 * regex.c (set_image_of_range_1): New function.
7825 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
7826 Return a value to indicate running out of memory.
7827 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
7828 (extend_range_table_work_area): New subroutine.
7829 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
7830 Different calling conventions, and used from set_image_of_range{,_1}.
7831 (IMMEDIATE_QUIT_CHECK): Definitions moved.
7832
7833 2002-09-04 Juanma Barranquero <lektu@terra.es>
7834
7835 * makefile.w32-in: All dependencies updated.
7836
7837 2002-09-01 Richard M. Stallman <rms@gnu.org>
7838
7839 * unexsol.c: New file.
7840
7841 * xfns.c (Qbox): Declare external, don't define.
7842
7843 * xdisp.c (redisplay_window) <force-start case>:
7844 If point is on semi-visible last line, reposition
7845 it at previous line.
7846
7847 * alloc.c (display_malloc_warning): Use display-warning.
7848 (malloc_warning_1): Function deleted.
7849
7850 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
7851
7852 * lread.c (read1): Handle #! by skipping the line.
7853
7854 2002-08-31 Richard M. Stallman <rms@gnu.org>
7855
7856 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
7857 Don't include LDFLAGS.
7858 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
7859
7860 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
7861
7862 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
7863 member of x_display_info unless we compile for some window system.
7864
7865 2002-08-31 Kim F. Storm <storm@cua.dk>
7866
7867 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
7868 (get_window_cursor_type): Don't use them.
7869 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
7870
7871 2002-08-30 Kenichi Handa <handa@etl.go.jp>
7872
7873 * xdisp.c (get_next_display_element): Fix previous change.
7874
7875 2002-08-30 Andrew Choi <akochoi@shaw.ca>
7876
7877 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
7878 (expose_window): Use it to fix the display of overlapping
7879 rows (merge code from xterm.c).
7880
7881 * macfns.c (Qbox): Add extern declaration.
7882
7883 2002-08-30 Juanma Barranquero <lektu@terra.es>
7884
7885 * w32fns.c (Qbox): Make extern.
7886 (syms_of_w32fns): Remove initialization of Qbox.
7887
7888 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
7889
7890 * xfns.c (Fx_open_connection): Fix error message.
7891
7892 2002-08-30 Kim F. Storm <storm@cua.dk>
7893
7894 The following changes consolidates the handling of the cursor
7895 type in xdisp.c, moving duplicate code and functionality from
7896 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
7897
7898 * frame.h (enum text_cursor_kinds): Consolidated here.
7899 Added DEFAULT_CURSOR value.
7900 (struct frame) <desired_cursor, cursor_width>
7901 <blink_off_cursor, blink_off_cursor_width>: New fields.
7902 Consolidated from output_x, output_w32 and output_mac structs.
7903 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
7904 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
7905
7906 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
7907 Variables consolidated here.
7908 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
7909 (Vcursor_in_non_selected_windows): Renamed from
7910 cursor_in_non_selected_windows and changed to Lisp_Object.
7911 (syms_of_xdisp): Define and staticpro new and moved variables.
7912 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
7913 consolidated here. Recognize Qhollow setting.
7914 (set_frame_cursor_types): New function to set frame cursor types
7915 based on the frame parameters.
7916 (get_window_cursor_type): New function to calculate new cursor
7917 type and width for the specified window. Based on duplicated
7918 code consolidated here.
7919 Enhancements: cursor-in-non-selected-windows may be a cursor type,
7920 check buffer-local alternate-cursor-type and blink-cursor-alist
7921 before using built-in blink off methods.
7922
7923 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
7924
7925 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
7926 (get_specified_cursor_type, get_window_cursor_type)
7927 (set_frame_cursor_types): Added prototypes.
7928
7929 * macfns.c (x_specified_cursor_type): Removed.
7930 (x_set_cursor_type): Use set_frame_cursor_types.
7931 (Qbar, Qbox): Removed.
7932 (syms_of_macfns): Don't intern or staticpro them.
7933
7934 * macterm.c (x_specified_cursor_type): Remove prototype.
7935 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
7936 (x_display_and_set_cursor): Use get_window_cursor_type.
7937 Remove unused local variables cursor_non_selected, active_cursor.
7938 Redraw cursor if hbar cursor width changes.
7939 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
7940
7941 * macterm.h (enum text_cursor_kinds): Removed.
7942 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
7943 <blink_off_cursor, blink_off_cursor_width>: Members removed.
7944 (FRAME_DESIRED_CURSOR): Macro removed.
7945
7946 * w32fns.c (Vblink_cursor_alist): Removed.
7947 (Qbar, Qhbar, Qbox, Qhollow): Removed.
7948 (syms_of_w32fns): Don't intern, staticpro, or define them.
7949 (x_specified_cursor_type): Removed.
7950 (x_set_cursor_type): Use set_frame_cursor_types.
7951
7952 * w32term.c (x_specified_cursor_type): Remove prototype.
7953 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
7954 (x_display_and_set_cursor): Use get_window_cursor_type.
7955 Remove unused local variables cursor_off_state.
7956 Redraw cursor if hbar cursor width changes.
7957 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
7958
7959 * w32term.h (enum text_cursor_kinds): Removed.
7960 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
7961 <blink_off_cursor, blink_off_cursor_width>: Members removed.
7962 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
7963 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
7964 (struct w32_display_info) <x_highlight_frame>: Renamed member from
7965 w32_highlight_frame.
7966
7967 * xfns.c (Vblink_cursor_alist): Removed.
7968 (Qbar, Qhbar, Qbox, Qhollow): Removed.
7969 (syms_of_xfns): Don't intern, staticpro, or define them.
7970 (x_specified_cursor_type): Removed.
7971 (x_set_cursor_type): Use set_frame_cursor_types.
7972
7973 * xterm.c (x_specified_cursor_type): Remove prototype.
7974 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
7975 (x_display_and_set_cursor): Use get_window_cursor_type.
7976 Remove unused local variables cursor_off_state.
7977 Redraw cursor if hbar cursor width changes.
7978
7979 * xterm.h (enum text_cursor_kinds): Removed.
7980 (struct output_x) <current_cursor, desired_cursor, cursor_width>
7981 <blink_off_cursor, blink_off_cursor_width>: Members removed.
7982 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
7983 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
7984 (x_specified_cursor_type): Remove prototype.
7985
7986 2002-08-28 Richard M. Stallman <rms@gnu.org>
7987
7988 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
7989 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
7990 (Vblink_cursor_alist): New variable.
7991 (syms_of_w32fns): Initialize and defvar it.
7992 (x_specified_cursor_type): Recognize Qbox for filled box.
7993 Exceptions are hollow boxes.
7994 (Qbox, Qhollow): New variables.
7995 (syms_of_w32fns): Initialize and staticpro them.
7996
7997 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
7998 New macros.
7999 (struct w32_output): New fields blink_off_cursor,
8000 blink_off_cursor_width.
8001 (FRAME_CURSOR_WIDTH): New macro.
8002
8003 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
8004 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
8005
8006 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
8007 for bar cursor.
8008
8009 * w32term.c (expose_overlaps): New function.
8010 (expose_window): Use it to fix the display of overlapping rows.
8011
8012 2002-08-28 Simon Josefsson <jas@extundo.com>
8013
8014 * xfns.c (Fx_open_connection): Improve help when X connection
8015 fails, xhost is insecure and xauth is better.
8016
8017 2002-08-28 Juanma Barranquero <lektu@terra.es>
8018
8019 * makefile.w32-in: Add missing dependencies on w32term.h and
8020 composite.h.
8021
8022 * emacs.c (USAGE1): Add missing newline.
8023
8024 2002-08-27 Andrew Choi <akochoi@shaw.ca>
8025
8026 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
8027
8028 2002-08-27 Richard M. Stallman <rms@gnu.org>
8029
8030 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
8031 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
8032 (Vblink_cursor_alist): New variable.
8033 (syms_of_xfns): Initialize and defvar it.
8034 (x_specified_cursor_type): Recognize Qbox for filled box.
8035 Exceptions are hollow boxes.
8036 (Qbox, Qhollow): New variables.
8037 (syms_of_xfns): Initialize and staticpro them.
8038
8039 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
8040 New macros.
8041 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
8042
8043 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
8044 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
8045
8046 * emacs.c (main): Handle --script.
8047 (USAGE1): Mention --script.
8048 (standard_args): Define sort order for --script.
8049
8050 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
8051
8052 * xdisp.c (redisplay_updating_p): Variable removed.
8053 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
8054 New variables.
8055 (init_iterator): Don't free realized faces if
8056 inhibit_free_realized_faces is set.
8057 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
8058 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
8059 initialize Qinhibit_free_realized_faces.
8060
8061 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
8062 when iterator is adding glyphs to a glyph matrix.
8063
8064 2002-08-27 Kenichi Handa <handa@etl.go.jp>
8065
8066 * xdisp.c (get_next_display_element): In unibyte case, don't use
8067 octal form for such eight-bit characters that can be converted to
8068 multibyte char.
8069
8070 2002-08-26 Kim F. Storm <storm@cua.dk>
8071
8072 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize foreground
8073 and background colors. From Joe Buehler (tiny change).
8074
8075 2002-08-26 Miles Bader <miles@gnu.org>
8076
8077 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
8078
8079 2002-08-25 Andrew Choi <akochoi@shaw.ca>
8080
8081 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
8082 defined instead of MAC_OSX.
8083
8084 * s/darwin.h (select): Define select to sys_select only if
8085 HAVE_CARBON is defined.
8086 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
8087 (DONT_REOPEN_PTY): #def it.
8088
8089 * macterm.c (XTread_socket): Remove code to call
8090 SendEventToEventTarget for keys with command modifiers when
8091 mac_command_key_is_meta is nil.
8092
8093 2002-08-24 Andreas Schwab <schwab@suse.de>
8094
8095 * eval.c (Fdefvar): Fix last change.
8096
8097 2002-08-23 Richard M. Stallman <rms@gnu.org>
8098
8099 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
8100 Record variables in load history as (defvar . VAR).
8101 (Fdefvar): Don't record in load history if no initial value.
8102 (Qdefvar): New variable.
8103 (syms_of_eval): Init and staticpro it.
8104
8105 * lread.c (syms_of_lread): Doc fix.
8106 (build_load_history): Use Fmember to see if a definition
8107 is already in the Vload_history element.
8108
8109 * process.c (Fstart_process): Remove /: from program name.
8110
8111 * emacs.c (decode_env_path): Don't add /: if file name handler
8112 has a `safe-magic' property.
8113
8114 * callproc.c (Fcall_process): Remove /: from program name.
8115
8116 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
8117
8118 * regex.c (PATFETCH): Remove the translating fetch.
8119 (PATFETCH_RAW): Rename to PATFETCH.
8120 (set_image_of_range): New fun.
8121 (SET_RANGE_TABLE_WORK_AREA): Use it.
8122 (regex_compile): Don't translate the pattern chars so eagerly.
8123 Only do it when inserting an `exactn' bytecode or when handling
8124 a char-range.
8125 (mutually_exclusive_p): Avoid empty statement.
8126
8127 2002-08-22 Kim F. Storm <storm@cua.dk>
8128
8129 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
8130 end up on a partially visible line; this reverts a specific part
8131 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
8132 display error which has been reported several times now.
8133 However it introduces the problem that changes was supposed to fix.
8134 See my comments in the source if you want to debug this further.
8135
8136 2002-08-20 Kenichi Handa <handa@etl.go.jp>
8137
8138 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
8139
8140 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
8141
8142 * msdos.c (croak): Add `void' to definition.
8143
8144 * sysdep.c [MSDOS] (request_sigio, unrequest_sigio):
8145 Don't define them, they are defined in msdos.c.
8146
8147 * mem-limits.h [MSDOS]: Declare etext.
8148
8149 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
8150 `const' since CORRECT_DIR_SEPS modifies its target.
8151
8152 2002-08-19 Kim F. Storm <storm@cua.dk>
8153
8154 * keyboard.c (Fclear_this_command_keys): Added optional arg
8155 KEEP-RECORD to avoid clearing lossage when we just want to clear
8156 the current key sequence (kmacro needs this).
8157
8158 2002-08-19 Kenichi Handa <handa@localhost>
8159
8160 * composite.c (run_composition_function): Call FUNC if it is fboundp.
8161
8162 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
8163 cons, return Qnil.
8164
8165 2002-08-17 Richard M. Stallman <rms@gnu.org>
8166
8167 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
8168
8169 * sysdep.c [!VMS]: Include sys/files.h.
8170
8171 * editfns.c (save_restriction_restore): Defend from unchained marker.
8172
8173 * buffer.c (overlays_at): Handle extending vec uniformly.
8174 (overlays_in): Handle extending vec from length 0 as in overlays_at.
8175
8176 2002-08-15 Andrew Choi <akochoi@shaw.ca>
8177
8178 * mac.c (init_mac_osx_environment): New function.
8179
8180 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
8181
8182 2002-08-14 Kim F. Storm <storm@cua.dk>
8183
8184 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
8185 executing macro before appending to it (when used from Lisp).
8186 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
8187 which is called prior to each iteration of macro (for kmacro.el).
8188 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
8189
8190 * lisp.h (Fexecute_kbd_macro): Update prototype.
8191
8192 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
8193
8194 2002-08-14 Kenichi Handa <handa@etl.go.jp>
8195
8196 * xselect.c (QUTF8_STRING): New variable.
8197 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
8198 (x_atom_to_symbol): Likewise.
8199 (x_get_local_selection): New argument local_request. If it is
8200 nonzero, call handler_fn with the second arg nil.
8201 (x_handle_selection_request): Call x_get_local_selection with
8202 local_request 0.
8203 (lisp_data_to_selection_data): Don't encode the string here.
8204 (Fx_get_selection_internal): Call x_get_local_selection with
8205 local_request 1.
8206 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
8207
8208 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
8209
8210 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
8211
8212 2002-08-13 Richard M. Stallman <rms@gnu.org>
8213
8214 * minibuf.c (Fminibufferp): New function.
8215 (syms_of_minibuf): Defsubr it.
8216 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
8217
8218 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
8219
8220 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
8221
8222 2002-08-12 Richard M. Stallman <rms@gnu.org>
8223
8224 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
8225 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
8226 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
8227 already.
8228
8229 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
8230
8231 2002-08-11 Andrew Choi <akochoi@shaw.ca>
8232
8233 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
8234 (Vmac_pass_command_to_system): New variable.
8235 (Vmac_pass_control_to_system): New variable.
8236 (do_mouse_moved): Check wp with is_emacs_window.
8237 (XTread_socket): Check window_ptr with is_emacs_window.
8238 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
8239 events back to Mac Toolbox for processing, depending on values of
8240 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
8241 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
8242 Vmac_pass_control_to_system.
8243
8244 2002-08-10 Kenichi Handa <handa@etl.go.jp>
8245
8246 * coding.c (unencodable_char_position): New function.
8247 (Funencodable_char_position): New function.
8248 (syms_of_coding): Defsubr Funencodable_char_position.
8249
8250 2002-08-10 Andrew Choi <akochoi@shaw.ca>
8251
8252 * mac.c (sys_select) [MAC_OSX]: New function.
8253
8254 * macterm.c (MakeMeTheFrontProcess): New function.
8255 (mac_initialize): Call MakeMeTheFrontProcess.
8256
8257 * s/darwin.h: Define select to sys_select.
8258
8259 2002-08-09 Richard M. Stallman <rms@gnu.org>
8260
8261 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
8262
8263 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
8264
8265 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
8266 end of the buffer.
8267
8268 2002-08-08 Ken Raeburn <raeburn@mit.edu>
8269
8270 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
8271
8272 * puresize.h (BASE_PURESIZE): Increase to 910000.
8273
8274 2002-08-08 Kenichi Handa <handa@etl.go.jp>
8275
8276 * coding.c (Ffind_operation_coding_system): For write-region, if
8277 VISIT is a filename, make it the target.
8278
8279 2002-08-07 Richard M. Stallman <rms@gnu.org>
8280
8281 * alloc.c (mark_object): Detect long lists for debugging.
8282 (mark_object_loop_halt): New variable.
8283
8284 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
8285
8286 * data.c (Fmake_variable_frame_local): Doc fix.
8287
8288 2002-08-01 David Ponce <david@dponce.com>
8289
8290 * w32menu.c (local_heap, local_alloc, local_free): New macros.
8291 (malloc_widget_value, free_widget_value)
8292 (w32_free_submenu_strings): Use them.
8293
8294 (push_submenu_start, push_submenu_end, push_left_right_boundary)
8295 (push_menu_pane, push_menu_item, single_keymap_panes)
8296 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
8297 (single_submenu, set_frame_menubar)
8298 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
8299
8300 (Fx_popup_menu): Don't show pop up menu until preceding one is
8301 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
8302
8303 * w32menu.c: Changes adapted from xmenu.c
8304 (set_frame_menubar): First parse all submenus,
8305 then make widget_value trees from them.
8306 Don't allocate any widget_value objects
8307 until we are done with the parsing.
8308 (parse_single_submenu): New function.
8309 (digest_single_submenu): New function.
8310 (single_submenu): Function deleted, replaced by those two.
8311
8312 2002-08-04 Andrew Choi <akochoi@shaw.ca>
8313
8314 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
8315 returns a valid window pointer before proceeding for keyDown and
8316 autoKey events.
8317
8318 2002-08-03 Andrew Choi <akochoi@shaw.ca>
8319
8320 * macterm.c (USE_CARBON_EVENTS): New macro.
8321 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
8322 (x_iconify_frame): Call CollapseWindow.
8323 (Vmac_reverse_ctrl_meta): New variable.
8324 (Vmac_wheel_button_is_mouse_2): New variable.
8325 (init_mac_drag_n_drop): New function.
8326 (mac_do_receive_drag): New function.
8327 (mac_handle_service_event): New function.
8328 (init_service_handler): New function.
8329 (mac_to_emacs_modifiers): New function.
8330 (mac_event_to_emacs_modifiers): New function.
8331 (mac_get_mouse_btn): New function.
8332 (mac_convert_event_ref): New function.
8333 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
8334 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
8335 mac_get_mouse_btn.
8336 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
8337
8338 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
8339 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
8340 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
8341 TOOL_BAR_EVENT for MAC_OS as well.
8342 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
8343 as for WINDOWS_NT.
8344 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
8345
8346 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
8347
8348 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
8349
8350 * xdisp.c (forward_to_next_line_start): Fix a condition that
8351 lead to a newline being skipped.
8352
8353 2002-08-02 Andrew Choi <akochoi@shaw.ca>
8354
8355 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
8356
8357 2002-08-01 Richard M. Stallman <rms@gnu.org>
8358
8359 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
8360
8361 2002-07-31 Andrew Choi <akochoi@shaw.ca>
8362
8363 * macfns.c: #undef init_process before #define-ing it.
8364
8365 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
8366 HAVE_CARBON is defined.
8367
8368 2002-07-31 Richard M. Stallman <rms@gnu.org>
8369
8370 * xmenu.c (set_frame_menubar): First parse all submenus,
8371 then make widget_value trees from them.
8372 Don't allocate any widget_value objects
8373 until we are done with the parsing.
8374 (parse_single_submenu): New function.
8375 (digest_single_submenu): New function.
8376 (single_submenu): Function deleted, replaced by those two.
8377
8378 2002-07-30 Juanma Barranquero <lektu@terra.es>
8379
8380 * w32proc.c (syms_of_ntproc): Fix docstring of
8381 `w32-get-true-file-attributes'.
8382
8383 2002-07-28 Richard M. Stallman <rms@gnu.org>
8384
8385 * s/hpux8.h (HPUX8): Define this before including hpux.h.
8386 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
8387
8388 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
8389
8390 * keyboard.c (make_lispy_event):
8391 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
8392 Explicitly clear up_modifier in event->modifiers.
8393
8394 2002-07-27 Richard M. Stallman <rms@gnu.org>
8395
8396 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
8397
8398 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
8399 for bar cursor.
8400
8401 2002-07-26 Kenichi Handa <handa@etl.go.jp>
8402
8403 * coding.c (detect_coding_iso2022): While checking a byte sequence
8404 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
8405 it in the normal loop.
8406
8407 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
8408
8409 * xterm.c (expose_overlaps): New function.
8410 (expose_window): Use it to fix the display of overlapping rows.
8411
8412 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
8413
8414 2002-07-23 Ken Raeburn <raeburn@gnu.org>
8415
8416 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
8417 since it only depends on XUINT.
8418
8419 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
8420 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
8421 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
8422 Macros deleted.
8423
8424 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
8425 its value over other approaches.
8426 * sysdep.c (start_of_data): Don't define the function if a macro
8427 form has been defined.
8428
8429 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
8430
8431 * xdisp.c (redisplay_updating_p): New variable.
8432 (init_iterator): Don't free realized faces when
8433 redisplay_updating_p is set.
8434 (redisplay_internal): Set redisplay_updating_p while updating
8435 the display.
8436
8437 2002-07-23 Richard M. Stallman <rms@gnu.org>
8438
8439 * editfns.c (Fmessage): Treat "" like nil.
8440
8441 2002-07-23 Kenichi Handa <handa@etl.go.jp>
8442
8443 * xdisp.c (face_before_or_after_it_pos):
8444 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
8445
8446 2002-07-22 Juanma Barranquero <lektu@terra.es>
8447
8448 * callproc.c (init_callproc) [DOS_NT]:
8449 Initialize Vshared_game_score_directory to nil.
8450 (syms_of_callproc) [DOS_NT]: Likewise.
8451
8452 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
8453
8454 * xdisp.c (display_line): Replace an abort with xassert.
8455
8456 2002-07-21 Richard M. Stallman <rms@gnu.org>
8457
8458 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
8459 and END_UNCHANGED when setting buffer_unchanged_p.
8460 Use current_matrix_up_to_date_p to decide whether to use
8461 try_cursor_movement.
8462
8463 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
8464
8465 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
8466
8467 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
8468 Set to nil if dir does not exist.
8469 (syms_of_callproc): Init unconditionally and simply.
8470
8471 * buffer.c (Fbuffer_list): Doc fix.
8472
8473 2002-07-21 Ken Raeburn <raeburn@gnu.org>
8474
8475 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
8476
8477 * buffer.c (mmap_realloc): When shrinking, make sure number of
8478 pages to unmap is rounded towards zero.
8479
8480 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
8481 (XSETINT): Deleted.
8482
8483 * m/att3b.h (XINT): Don't define.
8484 (VALBITS, VALMASK, XTYPE): Deleted.
8485 (DATA_SEG_BITS): Define.
8486 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
8487 ARRAY_MARK_FLAG): Deleted.
8488 (DATA_SEG_BITS): Define.
8489 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
8490 (DATA_SEG_BITS): Define.
8491
8492 2002-07-20 Richard M. Stallman <rms@gnu.org>
8493
8494 * print.c (print_error_message): New args CONTEXT and CALLER.
8495 Calls changed.
8496
8497 * lisp.h (print_error_message): Declare new args.
8498
8499 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
8500 and CONTEXT to print_error_message, don't print them here.
8501 For a Quit, don't use Vsignaling_function.
8502 Call message_log_maybe_newline.
8503
8504 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
8505
8506 2002-07-20 Kim F. Storm <storm@cua.dk>
8507
8508 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
8509
8510 2002-07-19 Ken Raeburn <raeburn@gnu.org>
8511
8512 * bytecode.c (struct byte_stack): Pointers into byte string now
8513 point to const.
8514 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
8515 const.
8516 * charset.h (BCOPY_SHORT): Source pointer now points to const.
8517 * coding.c (encode_eol, detect_coding, detect_eol):
8518 (decode_coding, encode_coding, detect_coding_system):
8519 Source strings now treated as const.
8520 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
8521 modify Lisp string contents.
8522 * coding.h (decode_coding, encode_coding, detect_coding,
8523 detect_eol): Declarations updated.
8524 * composite.c (compose_chars_in_text): Treat Lisp string contents
8525 as const.
8526 * dispnew.c (safe_bcopy): Source pointer now points to const.
8527 * lisp.h (STRING_COPYIN): New macro.
8528 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
8529 (internal_with_output_to_temp_buffer): Declarations updated.
8530 * print.c (temp_output_buffer_setup):
8531 (internal_with_output_to_temp_buffer): Buffer name argument is now
8532 pointer to const.
8533 * sound.c (struct sound_device): Function pointer field "write"
8534 buffer argument now points to const.
8535 (vox_write): Buffer argument points to const.
8536 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
8537 contents as const.
8538 * sysdep.c (emacs_write): Buffer pointer now const.
8539 * term.c (encode_terminal_code): Buffer pointer now const.
8540 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
8541 (x_face_list_fonts, x_update_menu_appearance):
8542 (hash_string_case_insensitive): Treat Lisp string contents as const.
8543
8544 2002-07-19 Juanma Barranquero <lektu@terra.es>
8545
8546 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
8547
8548 * fileio.c (syms_of_fileio): Likewise.
8549 (Ffile_name_as_directory): Fix argument name in docstring.
8550 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
8551
8552 2002-07-18 Richard M. Stallman <rms@gnu.org>
8553
8554 * data.c (Fdefalias): Doc fix.
8555
8556 2002-07-17 Dave Love <fx@gnu.org>
8557
8558 * intervals.h (text_property_stickiness): Use P_.
8559
8560 * ccl.c: Remove `emacs' conditionals.
8561 (ccl_backtrace_table): Fix size spec.
8562 (ccl_driver): Fix type errors.
8563
8564 2002-07-16 Ken Raeburn <raeburn@gnu.org>
8565
8566 * alloc.c (xstrdup, make_string, make_unibyte_string)
8567 (make_multibyte_string, build_string): String pointer args now
8568 point to const.
8569 * charset.c (find_charset_in_text, c_string_width):
8570 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
8571 * fileio.c (report_file_error):
8572 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
8573 (count_combining_before, count_combining_after, insert_1_both):
8574 (insert, insert_and_inherit, insert_string):
8575 (insert_before_markers, insert_before_markers_and_inherit):
8576 * lread.c (intern, oblookup, hash_string):
8577 * minibuf.c (temp_echo_area_glyphs):
8578 * search.c (fast_c_string_match_ignore_case):
8579 * sysdep.c (emacs_open, set_file_times):
8580 * xfaces.c (xstricmp):
8581 * xdisp.c (store_frame_title, string_char_and_length):
8582 (message_dolog, message2, message2_nolog, set_message): Likewise.
8583 (set_message_1): Cast message string argument to const pointer.
8584 * editfns.c (general_insert_function): Insertion function now
8585 takes pointer to const for input data.
8586 * charset.h (find_charset_in_text, c_string_width):
8587 (parse_str_as_multibyte): Declarations updated.
8588 * dispextern.h (xstricmp): Declaration updated.
8589 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
8590 (count_size_as_multibyte, count_combining_before):
8591 (count_combining_after, insert_1, insert_1_both, message_dolog):
8592 (insert, insert_and_inherit, insert_before_markers)
8593 (insert_before_markers_and_inherit, set_message, message2):
8594 (message2_dolog, build_string, make_string, make_unibyte_string):
8595 (make_multibyte_string, intern, oblookup, report_file_error):
8596 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
8597 (emacs_open, xstrdup): Declarations updated.
8598 * systime.h (set_file_times): Declaration updated.
8599
8600 * charset.c (find_charset_in_text, lisp_string_width): Use const
8601 for pointer to lisp string data.
8602 * charset.h (FETCH_STRING_CHAR_ADVANCE):
8603 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
8604 * coding.c (Ffind_coding_systems_region_interval):
8605 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
8606 (Fmake_directory_internal, Fdelete_directory):
8607 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
8608 * fontset.c (font_family_registry, fs_query_fontset):
8609 (list_fontsets):
8610 * frame.c (Fframe_parameter):
8611 * keyboard.c (cmd_error_internal):
8612 * keymap.c (Fdescribe_buffer_bindings):
8613 * lread.c (complete_filename_p, openp):
8614 * minibuf.c (Fminibuffer_complete_word):
8615 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
8616 (face_before_or_after_it_pos, next_element_from_string):
8617 (get_overlay_arrow_glyph_row, display_mode_element):
8618 (decode_mode_spec_coding):
8619 * xterm.c (same_x_server): Likewise.
8620
8621 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
8622 settings of non-existent fields.
8623
8624 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
8625 copy a lisp value.
8626
8627 * lread.c (Fintern_soft): Use string macros instead of
8628 Lisp_String fields.
8629 * keyboard.c (echo_char, parse_modifiers_uncached):
8630 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
8631 * textprop.c (validate_interval_range, interval_of): Likewise.
8632
8633 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
8634
8635 * charset.h (FETCH_STRING_CHAR_ADVANCE)
8636 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
8637 XSTRING()->size_byte.
8638
8639 * lisp.h (SDATA, SREF): Produce rvalue.
8640 (SSET): New macro.
8641 * alloc.c (make_event_array): Use SSET for storing into a string.
8642 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
8643 a string.
8644 * casefiddle.c (casify_object): Use SSET.
8645 * charset.h (FETCH_STRING_CHAR_ADVANCE)
8646 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
8647 address of string contents.
8648 * data.c (Faref): Use SDATA.
8649 (Faset): Use SDATA, SSET.
8650 * dired.c (directory_files_internal): Use SSET.
8651 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
8652 (Fread_file_name): Use SREF, SSET.
8653 * fns.c (concat): Use SSET.
8654 (concat, Fdelete): Use SDATA.
8655 * insdel.c (insert_from_string_1): Use SDATA.
8656 * keyboard.c (Fevent_convert_list): Use SREF.
8657 * lread.c (Fload): Use SDATA, SSET.
8658 * macfns.c (validate_x_resource_name): Use SSET.
8659 * process.c (status_message): Use SSET.
8660 * search.c (wordify): Use SDATA.
8661 (Freplace_match): Use SREF.
8662 * w32fns.c (validate_x_resource_name): Use SSET.
8663 * xfns.c (validate_x_resource_name): Use SSET.
8664 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
8665
8666 2002-07-16 Richard M. Stallman <rms@gnu.org>
8667
8668 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
8669
8670 * xdisp.c (reconsider_clip_changes):
8671 Don't test prevent_redisplay_optimizations_p.
8672 (redisplay_internal): Test prevent_redisplay_optimizations_p
8673 along with clip_changed in some cases.
8674 (try_window_id): Likewise.
8675 (redisplay_window): New local var buffer_unchanged_p.
8676
8677 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
8678
8679 * process.c (create_process): Test USG_SUBTTY_WORKS.
8680 (process_send_signal): Clean up handling of GID.
8681 Detect errors in ioctls meant to set GID.
8682
8683 * window.c (temp_output_buffer_show):
8684 Don't set prevent_redisplay_optimizations_p.
8685
8686 2002-07-15 Juanma Barranquero <lektu@terra.es>
8687
8688 * eval.c (Fdefvaralias): Add docstring argument.
8689
8690 2002-07-15 Ken Raeburn <raeburn@gnu.org>
8691
8692 * lisp.h (STRING_INTERVALS): Produce rvalue.
8693 (STRING_SET_INTERVALS): New macro.
8694 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
8695 * fns.c (Fstring_as_multibyte): Likewise.
8696 * intervals.c (balance_possible_root_interval, delete_interval)
8697 (create_root_interval, copy_intervals_to_string): Likewise.
8698 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
8699 instead of 0.
8700
8701 2002-07-14 Ken Raeburn <raeburn@gnu.org>
8702
8703 * lisp.h (STRING_SET_CHARS): New macro.
8704 (SCHARS, SBYTES): Produce rvalues.
8705 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
8706 * fns.c (concat): Likewise.
8707 * lread.c (read_vector): Likewise.
8708
8709 * lisp.h (SMBP): Deleted. All uses changed to STRING_MULTIBYTE.
8710 (STRING_SET_UNIBYTE): New macro.
8711 (SET_STRING_BYTES): Deleted. Callers (all of which supplied a
8712 length of -1) changed to use STRING_SET_UNIBYTE.
8713 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
8714 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
8715 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
8716 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
8717 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
8718 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
8719 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
8720 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
8721 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
8722 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
8723 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
8724 STRING_BYTES or indirection changed to SCHARS, SBYTES,
8725 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
8726 unchanged for now.
8727
8728 2002-07-13 Kim F. Storm <storm@cua.dk>
8729
8730 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
8731
8732 2002-07-12 Richard M. Stallman <rms@gnu.org>
8733
8734 * fileio.c (Fwrite_region): Doc fix.
8735
8736 * print.c (print_error_message): Don't handle Vsignaling_function here.
8737
8738 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
8739 (command_loop_1): Avoid certain actions after memory-full error.
8740
8741 * eval.c (Fsignal): Don't call cancel_hourglass.
8742 For a memory-full error, don't call Vsignal_hook_function
8743 and don't set Vsignaling_function.
8744
8745 * process.c (process_send_signal): Add abort call.
8746
8747 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
8748
8749 * keymap.c (Fkey_binding): Fix typo.
8750
8751 2002-07-11 Richard M. Stallman <rms@gnu.org>
8752
8753 * alloc.c (Vmemory_full): New variable.
8754 (Vmemory_signal_data): Renamed from memory_signal_data.
8755 Uses changed.
8756 (syms_of_alloc): Defvar them.
8757 (memory_full, buffer_memory_full): Set Vmemory_full.
8758
8759 * lisp.h (Vmemory_full): Add declaration.
8760 (current_column, indented_beyond_p): Change declaration.
8761
8762 * indent.c (last_known_column): Declare as double, not float.
8763 (current_column, current_column_1, string_display_width)
8764 (position_indentation): Return `double'.
8765 (indented_beyond_p): Arg `column' is `double'. Callers changed.
8766
8767 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
8768 (back_to_previous_visible_line_start)
8769 (reseat_at_next_visible_line_start, next_element_from_buffer):
8770 Use `double', not `float', when calling indented_beyond_p.
8771
8772 * s/hpux11.h (BROKEN_SA_RESTART): Defined.
8773
8774 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
8775
8776 2002-07-11 Juanma Barranquero <lektu@terra.es>
8777
8778 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
8779 composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
8780 fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
8781 macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
8782 textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
8783 xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
8784
8785 2002-07-10 Juanma Barranquero <lektu@terra.es>
8786
8787 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
8788 All callers changed.
8789
8790 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
8791
8792 * data.c (Fdefalias): Add an optional `docstring' argument.
8793 (set_internal, Fsetq_default): Use XCAR/XCDR.
8794
8795 * composite.c (HASH_VALUE, HASH_KEY):
8796 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
8797
8798 2002-07-09 Kenichi Handa <handa@etl.go.jp>
8799
8800 * callproc.c (Fcall_process): Fix previous change.
8801
8802 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
8803
8804 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
8805 Add support for hash-tables.
8806 (Ftry_completion): Return t even if the string appears multiple times.
8807
8808 * fns.c (Fnconc): Use XCDR.
8809 (Fprovide): Use CONSP and XCDR.
8810 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
8811 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
8812 (Fmake_hash_table): Accept `:size nil'.
8813 (Fmakehash): Delete: moved to subr.el.
8814 (syms_of_fns): Don't defsubr makehash.
8815
8816 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
8817 (HASH_TABLE_SIZE): Move from fns.c.
8818
8819 2002-07-07 Richard M. Stallman <rms@gnu.org>
8820
8821 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
8822 Instead just return 0 when there is something to be done.
8823 (try_scrolling): If make_cursor_line_fully_visible returns 0,
8824 retry scrolling as if cursor were off the bottom.
8825 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
8826 return CURSOR_MOVEMENT_MUST_SCROLL.
8827 (redisplay_window): If make_cursor_line_fully_visible returns 0,
8828 go to try_to_scroll.
8829
8830 * buffer.c (Fbuffer_local_value): Store current value into its binding
8831 so we get the up-to-date value for the binding that is loaded.
8832
8833 * eval.c (Fdefmacro): Doc fix.
8834
8835 2002-07-05 Dave Love <fx@gnu.org>
8836
8837 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
8838 correctly.
8839
8840 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
8841 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
8842 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
8843 CCL_LookupCharConstTbl.
8844 (syms_of_ccl): Defvar translation-hash-table-vector.
8845
8846 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8847
8848 * xdisp.c: Remove unused variable `face'.
8849
8850 2002-07-04 Juanma Barranquero <lektu@terra.es>
8851
8852 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
8853 obsolescence information.
8854
8855 2002-07-03 Andrew Choi <akochoi@shaw.ca>
8856
8857 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
8858 pattern. Search cache first.
8859 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
8860 for Japanese font.
8861 (XLoadQueryFont): Use it.
8862
8863 2002-07-02 Richard M. Stallman <rms@gnu.org>
8864
8865 * keymap.c (Fdefine_key): Doc fix.
8866
8867 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
8868
8869 2002-07-02 Juanma Barranquero <lektu@terra.es>
8870
8871 * keymap.c (syms_of_keymap): Fix typo.
8872
8873 2002-07-01 Andrew Choi <akochoi@shaw.ca>
8874
8875 * s/darwin.h: Define POSIX_SIGNALS.
8876
8877 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
8878 and FSRefMakePath to convert FSSpec returned with Apple Event to
8879 Posix pathname.
8880 (mac_initialize) [TARGET_API_MAC_CARBON]:
8881 Call init_required_apple_events and disable the `Quit' menu item
8882 provided automatically by the Carbon Toolbox.
8883
8884 2002-07-01 Dave Love <fx@gnu.org>
8885
8886 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
8887 for K&R.
8888
8889 * xterm.c: Fix prototype for K&R.
8890
8891 * term.c (costs_set): Declare static, non-initialized for pcc.
8892
8893 2002-07-01 Richard M. Stallman <rms@gnu.org>
8894
8895 * keyboard.c (timer_last_idleness_start_time): New variable.
8896 (timer_start_idle): Set that.
8897 (read_key_sequence): Use that to reset timer_idleness_start_time
8898 to previous value.
8899
8900 * window.c (Frecenter): With arg, set optional_new_start.
8901
8902 * xdisp.c (redisplay_internal): Make optional_new_start really work.
8903
8904 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
8905 buffer for completion.
8906
8907 2002-06-29 Ken Raeburn <raeburn@gnu.org>
8908
8909 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
8910
8911 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8912
8913 * keyboard.c (readable_filtered_events): New function that filters
8914 FOCUS_IN_EVENT depending on parameter.
8915 (readable_events): Calls readable_filtered_events, not filtering
8916 FOCUS_IN_EVENT.
8917 (get_filtered_input_pending): New function, filtering parameter passed
8918 to readable_filtered_events.
8919 (get_input_pending): Calls get_filtered_input_pending, not filtering
8920 FOCUS_IN_EVENT.
8921 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
8922 FOCUS_IN_EVENT.
8923
8924 * xterm.h (struct x_output): Add focus_state.
8925
8926 * xterm.c (x_focus_changed): New function.
8927 (x_detect_focus_change): New function.
8928 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
8929 EnterNotify and LeaveNotify to track X focus changes.
8930
8931 2002-06-28 Andreas Schwab <schwab@suse.de>
8932
8933 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
8934
8935 2002-06-27 Kim F. Storm <storm@cua.dk>
8936
8937 * xdisp.c: (mode_line_string_list, mode_line_string_face)
8938 (mode_line_string_face_prop): New variables.
8939 (store_mode_line_string): New function.
8940 (display_mode_element): Use store_mode_line_string to
8941 add mode-line string elements to mode_line_string_list
8942 when mode_line_string_list is non-nil.
8943 (Fformat_mode_line): Now returns propertized string by
8944 default. New arg NO-PROPS to ignore properties.
8945 (decode_mode_spec): Only add two dashes for %- in propertized
8946 mode-line string.
8947 (syms_of_xdisp): Init and staticpro mode_line_string_list.
8948
8949 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
8950
8951 * minibuf.c (minibuffer_completion_contents): Add return type.
8952
8953 2002-06-27 Juanma Barranquero <lektu@terra.es>
8954
8955 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
8956
8957 2002-06-26 Juanma Barranquero <lektu@terra.es>
8958
8959 * fileio.c (read_file_name_cleanup): Add missing return.
8960
8961 2002-06-26 Richard M. Stallman <rms@gnu.org>
8962
8963 * window.c (Frecenter): Don't set force_start flag.
8964
8965 * minibuf.c (do_completion, Fminibuffer_complete_word)
8966 (Fminibuffer_completion_help): Complete just the text before point.
8967 (minibuffer_completion_contents): New function.
8968
8969 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
8970
8971 * frame.c (frames_bury_buffer): Function deleted.
8972
8973 2002-06-25 Miles Bader <miles@gnu.org>
8974
8975 * callint.c (Fcall_interactively): When checking to see if doprnt hit
8976 the end of callint_message, allow for a terminating '\0'.
8977
8978 2002-06-24 Juanma Barranquero <lektu@terra.es>
8979
8980 * w32select.c: Include composite.h
8981
8982 * w16select.c: Likewise.
8983
8984 2002-06-24 Kenichi Handa <handa@etl.go.jp>
8985
8986 * callproc.c (Fcall_process): If code detection is necessary,
8987 call detect_coding directly here.
8988
8989 * coding.c (detect_eol): Preserve coding->cmp_data.
8990
8991 * w16select.c (Fw16_get_clipboard_data):
8992 * w32fns.c (w32_to_x_font):
8993 * w32select.c (Fw32_get_clipboard_data):
8994 * xselect.c (selection_data_to_lisp_data):
8995 * xterm.c (XTread_socket): Disable composition handling.
8996
8997 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
8998
8999 * print.c (temp_output_buffer_setup): Kill all local variables.
9000
9001 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
9002
9003 * lread.c (Fread): Remove redundant and imprecise declaration.
9004
9005 * xfns.c (check_x_display_info): Use check_x_frame.
9006
9007 * .gdbinit (xprintsym): Use the new `xname' field.
9008 (xsymbol): Use it.
9009
9010 2002-06-22 Jason Rumney <jasonr@gnu.org>
9011
9012 * w32fns.c (file_dialog_callback): New function.
9013 (Fx_file_dialog): Allow selecting directories as well as files.
9014
9015 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9016
9017 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
9018 OpenBSD. Add support for mipseb-*-netbsd* machines.
9019
9020 2002-06-17 Andrew Choi <akochoi@shaw.ca>
9021
9022 * macterm.c (mac_scroll_area): Set foreground and backcolor to
9023 black and white before scrolling. Restore frame background and
9024 foreground color after scrolling.
9025 (do_window_update): Call XClearWindow before calling expose_frame.
9026 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
9027 FRAME_FOREGROUND_PIXEL of frame.
9028
9029 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
9030 test Mac command key as <ALT> key.
9031
9032 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
9033
9034 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
9035
9036 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
9037 Lookup keys in function-key-map immediately so that key-translation-map
9038 can be applied earlier.
9039 Remove function_key_possible and key_translation_possible, replaced
9040 by checking `keytran_start < t'.
9041
9042 * .gdbinit (xsymbol): Use the new `xname' field.
9043
9044 2002-06-17 Andrew Choi <akochoi@shaw.ca>
9045
9046 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
9047 test Mac command key as <ALT> key.
9048
9049 * mac.c (do_applescript): Call initialize_applescript if necessary
9050 when first called. Dispose of result_desc only when there is no error.
9051 (Fdo_applescript): Use %d format specifier instead of %ld.
9052
9053 2002-06-16 Andrew Choi <akochoi@shaw.ca>
9054
9055 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
9056 of FrontWindow for cases keyDown and autoKey.
9057
9058 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
9059 Vdefault_fontset to Monaco with mac-roman coding.
9060
9061 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
9062 init_process before and after inclusion of Carbon/Carbon.h, resp.
9063
9064 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
9065 cursor_gc.
9066 (add_font_name_table_entry): New function.
9067 (init_font_name_table): Use add_font_name_table_entry; add italic,
9068 bold, and bold-italic entries for truetype fonts.
9069
9070 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
9071 for Mac too.
9072 (try_font_list) [MAC_OS]: If no font matches given registry, try
9073 fonts with any registry matching face_family.
9074 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
9075
9076 * s/darwin.h: If autoconf detects the Ncurses library, define
9077 LIBS_TERMCAP to -lncurses to use it.
9078
9079 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
9080
9081 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
9082
9083 2002-06-15 Richard M. Stallman <rms@gnu.org>
9084
9085 * window.c (Fset_window_configuration): Explicitly preserve
9086 the point value that new_current_buffer had at the start.
9087
9088 2002-06-14 Juanma Barranquero <lektu@terra.es>
9089
9090 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
9091 Fix typos.
9092
9093 2002-06-14 Kim F. Storm <storm@cua.dk>
9094
9095 * insdel.c (insert_1_both, insert_from_string_1)
9096 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
9097 insert happened in the end_unchanged region. Otherwise, the
9098 redisplay may be confused and duplicate the last line in the
9099 buffer [seen after save-buffer when require-final-newline==t].
9100
9101 2002-06-13 Jason Rumney <jasonr@gnu.org>
9102
9103 * w32.c (init_environment): Remove EMACSLOCKDIR.
9104 (stat): Swap _S_IFDIR and _S_IFREG.
9105
9106 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9107
9108 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
9109 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
9110 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
9111 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
9112 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
9113 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
9114 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
9115 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
9116 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
9117 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
9118 SELECTION_REQUEST_EVENT, selection_clear_event to
9119 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
9120 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
9121 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
9122 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
9123 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
9124 no_event to NO_EVENT.
9125
9126 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9127
9128 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
9129
9130 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
9131
9132 * intervals.c (textget): Don't forget to `return'.
9133 (lookup_char_property): Use XCAR/XCDR.
9134
9135 2002-06-12 Juanma Barranquero <lektu@terra.es>
9136
9137 * xdisp.c (Fformat_mode_line): Fix typo.
9138
9139 2002-06-12 Kim F. Storm <storm@cua.dk>
9140
9141 * xdisp.c (Fformat_mode_line): New function.
9142 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
9143 (store_frame_title_char, store_frame_title): Use unconditionally.
9144 (init_xdisp): Defsubr Fformat_mode_line.
9145 Initialize frame_title_buf etc. unconditionally.
9146
9147 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
9148
9149 * keyboard.c (read_key_sequence):
9150 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
9151 things through those maps after downcasing events.
9152 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
9153 applies after function-key-map.
9154 Make sure that keytran can be done in the middle in the sequence.
9155 Be careful not to throw away events past the one we downcase.
9156
9157 * lread.c (read_integer): Remove unused var `tem'.
9158 (read1): Fix int/Lisp_Object mixup.
9159
9160 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
9161
9162 2002-06-11 Richard M. Stallman <rms@gnu.org>
9163
9164 * keyboard.c (readable_events): Ignore any number of
9165 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
9166
9167 2002-06-09 Miles Bader <miles@gnu.org>
9168
9169 * xfaces.c (Ftty_supports_face_attributes_p): New function.
9170 (parse_rgb_list, tty_lookup_color): New functions.
9171 (tty_defined_color): Use `tty_lookup_color' to do all the work.
9172 (color_distance, Fcolor_distance): New functions.
9173 (TTY_SAME_COLOR_THRESHOLD): New macro.
9174 (Qtty_color_standard_values): New variable.
9175 (syms_of_xfaces): Initialize new vars & functions.
9176
9177 2002-06-08 Colin Walters <walters@verbum.org>
9178
9179 * textprop.c (Vchar_property_alias_alist): New variable.
9180 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
9181
9182 * intervals.c (lookup_char_property): New function for looking up
9183 overlay and text properties, created from textget.
9184 (textget): Use it.
9185
9186 * intervals.h (lookup_char_property): Declare.
9187 (Vchar_property_alias_alist): Declare.
9188
9189 * buffer.c (Foverlay_get): Use lookup_char_property.
9190
9191 2002-06-07 Sam Steingold <sds@gnu.org>
9192
9193 * xselect.c (lisp_data_to_selection_data): Fix last change:
9194 *data_ret is not a Lisp string, while unibyte_string is.
9195
9196 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
9197
9198 * xselect.c (lisp_data_to_selection_data): Fix last change:
9199 set size_ret.
9200
9201 2002-06-07 Andreas Schwab <schwab@suse.de>
9202
9203 * m/amdx86-64.h: New file.
9204
9205 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
9206
9207 * fns.c (Fstring_make_unibyte): Doc fix.
9208
9209 * xselect.c (lisp_data_to_selection_data): If the requested type
9210 is STRING, call string_make_unibyte to encode the selected text
9211 as a string.
9212
9213 * window.c (Fset_window_hscroll): Doc fix.
9214
9215 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9216
9217 * fileio.c (choose_write_coding_system):
9218 Call select-safe-coding-system properly.
9219
9220 2002-06-03 Richard M. Stallman <rms@gnu.org>
9221
9222 * xdisp.c (message_with_string): Error if STRING is not a string.
9223
9224 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
9225
9226 * fileio.c (choose_write_coding_system): Pass FILE arg to
9227 Vselect_safe_coding_system_function.
9228
9229 2002-06-03 Ken Raeburn <raeburn@gnu.org>
9230
9231 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
9232
9233 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
9234
9235 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
9236 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
9237 * keymap.c (describe_command): Likewise.
9238 * minibuf.c (read_minibuf): Likewise.
9239
9240 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
9241 Cast `current_column' return value to int.
9242 (back_to_previous_visible_line_start)
9243 (reseat_at_next_visible_line_start, next_element_from_buffer):
9244 Cast `indented_beyond_p' 3rd arg to float.
9245
9246 * indent.c (last_known_column): Now a float.
9247 (current_column_1, position_indentation, current_column)
9248 (string_display_width): Return float.
9249 (Fcurrent_column): Cast `current_column' return value to int.
9250 (Fcurrent_indentation): Cast `position_indentation' retval to int.
9251 (indented_beyond_p): Third arg now a float.
9252 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
9253
9254 * lisp.h (current_column): Now returns float.
9255 (indented_beyond_p): 3rd arg now a float.
9256
9257 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
9258
9259 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
9260 is Qcompound_text_with_extensions.
9261
9262 * xselect.c (lisp_data_to_selection_data): Always set selection
9263 type as string if x_encode_text returns streingp non-NULL.
9264
9265 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
9266
9267 2002-05-30 Richard M. Stallman <rms@gnu.org>
9268
9269 * window.c (Fset_window_configuration): Correct the handling
9270 of point in current buffer, to work with multiple windows.
9271
9272 2002-05-29 Colin Walters <walters@verbum.org>
9273
9274 * lread.c (Fread_from_string): Don't depend on order of evaluation
9275 for C function parameters.
9276
9277 2002-05-28 Richard M. Stallman <rms@gnu.org>
9278
9279 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
9280 way for blinked-off state and for a nonselected window.
9281
9282 * window.c (window_scroll_pixel_based): Don't call Fbolp;
9283 instead, see if the new start pos is at beginning of line.
9284
9285 * fileio.c (Fwrite_region): If START is a string, don't
9286 make any annotations.
9287
9288 * eval.c (syms_of_eval): Doc fix.
9289
9290 2002-05-28 Colin Walters <walters@debian.org>
9291
9292 * emacs.c (USAGE1): Add --no-splash.
9293 (standard_args): Ditto.
9294
9295 2002-05-28 Colin Walters <walters@gnu.org>
9296
9297 * lread.c (readchar_count): New variable.
9298 (readchar): Increment it.
9299 (unreadchar): Decrement it.
9300 (read_multibyte): Decrement it.
9301 (Vread_with_symbol_positions): New variable.
9302 (Vread_symbol_positions_list): New variable.
9303 (read_internal_start): New function, created from Fread and
9304 Fread_from_string. Handle Vread_symbol_positions_list and
9305 Vread_with_symbol_positions.
9306 (readevalloop, Fread, Fread_from_string): Use it.
9307 (read1): Use readchar_count to add symbol positions to
9308 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
9309 (syms_of_lread): DEFVAR_LISP and initialize them.
9310
9311 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
9312 (substitute_object_recurse, substitute_object_in_subtree)
9313 (substitute_in_interval): Prototype.
9314 (read_multibyte): Return c if it's less than zero.
9315
9316 2002-05-28 Kim F. Storm <storm@cua.dk>
9317
9318 * fileio.c (Fread_file_name_internal): Added brute-force
9319 speed up for using predicate file-directory-p.
9320
9321 2002-05-28 Kim F. Storm <storm@cua.dk>
9322
9323 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
9324 New variables.
9325 (syms_of_fileio): DEFVAR_LISP them.
9326 (read_file_name_cleanup): New unwind function.
9327 (Fread_file_name_internal): Only return completions satifying
9328 Vread_file_name_predicate. Temporarily unwind protect and rebind
9329 default-directory while checking completions against the predicate.
9330 (Fread_file_name): Added PREDICATE argument. Specbind it to
9331 Vread_file_name_predicate during completion.
9332 Call Vread_file_name_function to read the file name if non-nil.
9333
9334 * lisp.h (Fread_file_name): Now has 6 args.
9335
9336 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
9337 predicate for Fread_file_name when reading directory name.
9338 Supply Qnil for predicate in other calls to Fread_file_name.
9339
9340 2002-05-26 Miles Bader <miles@gnu.org>
9341
9342 * term.c (tty_capable_p): New function.
9343 * dispextern.h (tty_capable_p): New function declaration.
9344 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
9345 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
9346
9347 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
9348
9349 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
9350 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
9351 (Vwrite_region_annotate_functions): Docstring fix.
9352
9353 2002-05-23 Kim F. Storm <storm@cua.dk>
9354
9355 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
9356 phys_cursor's hpos is overwritten. This is still not completely
9357 correct, as it doesn't really make sense to use hpos at all to
9358 get the cursor glyph (as that is relative to the width of the
9359 characters on the line, which may have changed during the update).
9360
9361 2002-05-22 Jason Rumney <jasonr@gnu.org>
9362
9363 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
9364 Lisp_Object.
9365 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
9366 Use modified enumfont_t struct.
9367
9368 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
9369
9370 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
9371 Handle the `hbar' cursor type.
9372 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
9373
9374 * w32fns.c (Qhbar): New variable.
9375 (x_specified_cursor_type): Use it.
9376
9377 2002-05-21 Ken Raeburn <raeburn@gnu.org>
9378
9379 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
9380 now, when the address is needed.
9381
9382 2002-05-21 Colin Walters <walters@gnu.org>
9383
9384 * Makefile.in (shortlisp): Add font-core.el.
9385
9386 2002-05-20 Richard M. Stallman <rms@gnu.org>
9387
9388 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
9389
9390 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
9391 equivalent key bindings here.
9392
9393 2002-05-20 Ken Raeburn <raeburn@gnu.org>
9394
9395 Change symbol structure to contain a lisp object for the symbol
9396 name:
9397 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
9398 object field named "xname".
9399 (SYMBOL_NAME): New macro.
9400 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
9401 name field.
9402 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
9403 (mark_object, gc_sweep): Use symbol xname field and XSTRING
9404 instead of name field.
9405 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
9406 SYMBOL_NAME instead of XSYMBOL and name field.
9407 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
9408 instead of XSYMBOL and name field.
9409 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
9410 and SYMBOL_NAME instead of XSYMBOL and name field.
9411 * coding.c (Fread_coding_system, code_convert_region1)
9412 (code_convert_string1, code_convert_string_norecord)
9413 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
9414 XSYMBOL and name field.
9415 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
9416 (Fmake_variable_buffer_local, Fmake_local_variable)
9417 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
9418 of XSYMBOL and name field.
9419 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
9420 XSYMBOL and name field.
9421 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
9422 instead of XSYMBOL and name field.
9423 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
9424 XSYMBOL and name field.
9425 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
9426 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
9427 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
9428 instead of XSYMBOL and name field.
9429 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
9430 (parse_modifiers, apply_modifiers, Fevent_convert_list)
9431 (parse_solitary_modifier, Fexecute_extended_command):
9432 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
9433 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
9434 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
9435 of XSYMBOL and name field.
9436 (describe_command, describe_translation): Use SYMBOL_NAME and
9437 assignment instead of XSYMBOL and name field and XSETSTRING.
9438 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
9439 instead of XSYMBOL and name field.
9440 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
9441 name field and XSETSTRING.
9442 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
9443 of XSYMBOL and name field.
9444 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
9445 assignment instead of XSYMBOL and name field and XSETSTRING.
9446 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
9447 XSTRING instead of XSYMBOL and name field.
9448 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
9449 and XSTRING instead of XSYMBOL and name field.
9450 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
9451 and XSTRING instead of XSYMBOL and name field.
9452 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
9453 XSTRING instead of XSYMBOL and name field.
9454 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
9455 of XSYMBOL and name field.
9456 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
9457 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
9458
9459 2002-05-19 Ken Raeburn <raeburn@gnu.org>
9460
9461 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
9462 and XCDR real rvalues in most configurations.
9463
9464 * buffer.c (fix_overlays_in_range, fix_overlays_before):
9465 Don't take the address of the cdr part of a cons cell; instead, track
9466 the parent cell and call XSETCDR, or set the variable for the head
9467 of the list if we haven't started down the list yet.
9468
9469 2002-05-19 Richard M. Stallman <rms@gnu.org>
9470
9471 * doc.c (reread_doc_file): Don't ask for confirmation.
9472
9473 2002-05-18 Jason Rumney <jasonr@gnu.org>
9474
9475 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
9476 (xbm_load_image): Use it.
9477 (xbm_load): Ditto.
9478 (xbm_read_bitmap_data): Reverted to xfns.c version.
9479 From David Ponce <david@dponce.com>.
9480
9481 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
9482
9483 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
9484 2.02 and later.
9485
9486 2002-05-16 Juanma Barranquero <lektu@terra.es>
9487
9488 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
9489
9490 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
9491
9492 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
9493 meaningful test.
9494 (read_char_minibuf_menu_prompt): Fix typo.
9495
9496 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9497
9498 * eval.c (Fcommandp): Doc fix.
9499
9500 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
9501
9502 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
9503 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
9504 (Fset_keymap_parent): Gcpro a bit more.
9505 (access_keymap): Gcpro around meta_map call and around the main loop.
9506 (get_keyelt): Gcpro when following indirect references.
9507 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
9508 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
9509 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
9510 Remove useless ad-hoc remap code.
9511
9512 2002-05-13 Richard M. Stallman <rms@gnu.org>
9513
9514 * search.c (search_buffer): Give up boyer moore search if inverse
9515 translation change charset_base.
9516
9517 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
9518
9519 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
9520 characters is carried over from the previous block of text, adjust
9521 coding->produced to account for the extra character.
9522
9523 2002-05-11 Andreas Schwab <schwab@suse.de>
9524
9525 * coding.c (intersection): Keep the elements of the returned list
9526 in the same order as in the first list.
9527
9528 2002-05-11 Kim F. Storm <storm@cua.dk>
9529
9530 * keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
9531 only update cmm_size if realloc actually succeeds.
9532 Testing with initial size of 2 elements revealed that using
9533 realloc on GNU/Linux would cause a random trap in xmalloc
9534 later on, so I rewrote the code to use malloc/bcopy/free instead
9535 of realloc.
9536
9537 2002-05-10 Jason Rumney <jasonr@gnu.org>
9538
9539 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
9540
9541 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
9542
9543 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
9544 parens, to ensure correct evaluation order.
9545
9546 2002-05-10 Kim F. Storm <storm@cua.dk>
9547
9548 * keymap.c (Vemulation_mode_map_alists): New variable.
9549 (syms_of_keymap): DEFVAR_LISP it.
9550 (current_minor_maps): Process keymap alists in that list before
9551 minor-mode-overriding-map-alist and minor-mode-map-alist.
9552
9553 2002-05-09 Richard M. Stallman <rms@gnu.org>
9554
9555 * search.c (Freplace_match): Doc fix.
9556
9557 2002-05-09 Kim F. Storm <storm@cua.dk>
9558
9559 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
9560 Enlarge cursor rectangle drawn around image with non-zero relief.
9561
9562 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
9563 Enlarge cursor rectangle drawn around image with non-zero relief.
9564
9565 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
9566 Enlarge cursor rectangle drawn around image with non-zero relief.
9567
9568 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
9569
9570 * xselect.c (lisp_data_to_selection_data): Don't set selection
9571 type if comes from the Lisp object's car. If the selection
9572 contains a pure ASCII text, always return QSTRING as its type.
9573
9574 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9575
9576 * mac.c (mac-cut-function): Doc fix.
9577
9578 2002-05-05 Richard M. Stallman <rms@gnu.org>
9579
9580 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
9581
9582 2002-05-04 Jason Rumney <jasonr@gnu.org>
9583
9584 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
9585 for event-click-count.
9586
9587 * process.c (init_process): Only add server subfeature if we can
9588 use non-blocking I/O.
9589
9590 2002-05-04 Andrew Choi <akochoi@shaw.ca>
9591
9592 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
9593 repeatedly.
9594
9595 2002-05-03 Jason Rumney <jasonr@gnu.org>
9596
9597 * process.c (Fmake_network_process): Only support server sockets
9598 when we can make them non-blocking.
9599
9600 * s/ms-w32.h (HAVE_SELECT): Define.
9601
9602 * w32.h (FILE_NDELAY): New flag.
9603
9604 * w32.c (sys_getpeername, fcntl): New functions.
9605 (_sys_read_ahead): Temporarily block on non-blocking sockets.
9606
9607 * w32proc.c: include sys/file.h.
9608
9609 2002-05-03 Colin Walters <walters@verbum.org>
9610
9611 * callproc.c (Vgame_score_directory): Renamed to
9612 Vshared_game_score_directory.
9613
9614 2002-04-30 Richard M. Stallman <rms@gnu.org>
9615
9616 * s/gnu.h [emacs]: Include stdio.h.
9617 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
9618
9619 * eval.c (do_autoload): Error if called while preparing to dump.
9620
9621 * fns.c (Frequire): Error if need to load while preparing to dump.
9622
9623 2002-04-28 Colin Walters <walters@verbum.org>
9624
9625 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
9626 Default to "~/.emacs.d/games".
9627
9628 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
9629
9630 * lread.c (openp): Change arg exec_only to predicate.
9631 (build_load_history): Use XCAR/XCDR.
9632 (Flocate_file_internal): New fun.
9633 (syms_of_lread): Defsubr it.
9634 (Fload): Update call to openp.
9635
9636 * lisp.h (openp): Update prototype.
9637
9638 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
9639 * w32proc.c (sys_spawnve):
9640 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
9641 * w32.c (check_windows_init_file):
9642 * sound.c (Fplay_sound_internal):
9643 * process.c (Fstart_process):
9644 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
9645 * mac.c (run_mac_command):
9646 * emacs.c (init_cmdargs):
9647 * callproc.c (Fcall_process): Update call to openp.
9648
9649 * textprop.c (remove_properties): Don't use XCAR without CONSP.
9650
9651 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
9652
9653 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9654
9655 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
9656 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
9657
9658 2002-04-28 Richard M. Stallman <rms@gnu.org>
9659
9660 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
9661
9662 * eval.c (Fcommandp): New arg for_call_interactively.
9663 * lisp.h (Fcommandp): Declare new arg.
9664
9665 2002-04-28 Jason Rumney <jasonr@gnu.org>
9666
9667 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
9668
9669 * w32.c (stat, fstat): Use file index information to generate
9670 inodes for directories where available.
9671
9672 2002-04-26 Andrew Choi <akochoi@shaw.ca>
9673
9674 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
9675 [HAVE_CARBON]: Include Mac object files.
9676
9677 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
9678 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
9679 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
9680 MAC_OSX, and MAC_OS instead of macintosh.
9681
9682 * editfns.c [MAC_OS8]: Include stdio.h.
9683
9684 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
9685
9686 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
9687 Apple Monaco.
9688
9689 * process.c: Declare QCfamily and QCfilter as extern.
9690 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
9691 calling select.
9692
9693 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
9694
9695 * tparam.c [MAC_OSX]: Don't define BC and UP.
9696
9697 * config.in [HAVE_CARBON]: Add.
9698
9699 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
9700 Move here from mac/src and mac/inc.
9701
9702 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
9703
9704 2002-04-26 Gerd Moellmann <gerd@gnu.org>
9705
9706 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
9707 Compute phys_cursor_width from the x position returned
9708 by x_draw_glyhs, which is cheaper.
9709 (x_display_and_set_cursor): Compute the buffer-local value
9710 of `cursor-in-non-selected-windows' only when needed.
9711
9712 2002-04-25 Gerd Moellmann <gerd@gnu.org>
9713
9714 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
9715 cursor on a stretch glyph has a width that depends on
9716 x_stretch_cursor_p.
9717
9718 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9719
9720 * abbrev.c (abbrev-start-location): Doc fix.
9721
9722 * indent.c (Fvertical_motion): Fix last change.
9723
9724 2002-04-25 Gerd Moellmann <gerd@gnu.org>
9725
9726 * indent.c (Fvertical_motion): Move to the start of the line
9727 containing PT before moving up or down.
9728
9729 2002-04-24 Gerd Moellmann <gerd@gnu.org>
9730
9731 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
9732 case of writing a whole row, more or less analogous to the case of
9733 writing only parts of a row.
9734
9735 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
9736 0 for NO_CURSOR.
9737
9738 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
9739
9740 2002-04-23 Colin Walters <walters@verbum.org>
9741
9742 * buffer.c (syms_of_buffer): Doc fix.
9743
9744 2002-04-23 Gerd Moellmann <gerd@gnu.org>
9745
9746 * xterm.c (notice_overwritten_cursor): Handle the special case
9747 of the cursor being in the first blank non-text line at the
9748 end of a window.
9749
9750 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
9751 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
9752 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
9753 bar cursors only, to make phys_cursor_width contain what its name
9754 suggests.
9755 (notice_overwritten_cursor): Consider the cursor image erased if
9756 the output area intersects the cursor image in y-direction.
9757
9758 2002-04-23 Simon Marshall <simon@gnu.org>
9759
9760 * xfns.c (x_set_mouse_color): Change default for cross_cursor
9761 to XC_hand2.
9762
9763 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9764
9765 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
9766
9767 2002-04-22 Kim F. Storm <storm@cua.dk>
9768
9769 * textprop.c (remove_properties): Fixed trap for malformed plist.
9770
9771 2002-04-22 Richard M. Stallman <rms@gnu.org>
9772
9773 * cmds.c (Fend_of_line): Handle intangible text in mid line.
9774
9775 * window.c (make_window): Initialize height_fixed_p,
9776 last_cursor_off_p, and p->cursor_off_p slots.
9777
9778 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9779
9780 * fns.c (use-dialog-box): Doc fix.
9781
9782 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9783
9784 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
9785 variables `row', `i' and `area'.
9786 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
9787 toolkit library.
9788
9789 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
9790
9791 * xfaces.c (clear_font_table): Don't free the default font of
9792 a frame even if it's on another display.
9793 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
9794 that could be Qt.
9795
9796 2002-04-19 Juanma Barranquero <lektu@terra.es>
9797
9798 * indent.c (Fmove_to_column): Remove unused local variable
9799 `next_boundary_byte'.
9800 (current_column_1): Likewise.
9801
9802 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
9803
9804 * msdos.c (Qhbar): New variable.
9805 (syms_of_msdos): Intern and staticpro it.
9806 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
9807 cursor type.
9808
9809 2002-04-19 Dave Lambert <dlambert@acm.org>
9810
9811 Theses change implement an underscore-like (`hbar') cursor.
9812
9813 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
9814
9815 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
9816 Handle the `hbar' cursor type.
9817 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
9818
9819 * xfns.c (Qhbar): New variable.
9820 (syms_of_xfns): Intern and staticpro it.
9821 (x_specified_cursor_type): Handle `hbar' cursor.
9822
9823 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
9824 not defined.
9825
9826 2002-04-18 Richard M. Stallman <rms@gnu.org>
9827
9828 * textprop.c (remove_properties): New arg LIST allows scanning
9829 either a list or a plist.
9830 (interval_has_some_properties_list): New function, like
9831 interval_has_some_properties using list instead of plist.
9832 All callers changed.
9833 (Fremove_list_of_text_properties): New function.
9834 (syms_of_textprop): Defsubr it.
9835
9836 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
9837
9838 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
9839
9840 2002-04-17 Juanma Barranquero <lektu@terra.es>
9841
9842 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
9843
9844 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
9845
9846 * window.c (coordinates_in_window): Don't report on margin area
9847 if its width is zero.
9848
9849 2002-04-16 Jason Rumney <jasonr@gnu.org>
9850
9851 * w32fns.c (Fx_file_dialog): Decode file name before using.
9852
9853 * w32term.c (construct_drag_n_drop): Likewise.
9854
9855 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
9856
9857 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
9858 store load-history in pure space.
9859
9860 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
9861
9862 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
9863
9864 * xterm.c (Qlatin_1, Qutf_8): New vars.
9865 (syms_of_xterm): Initialize them.
9866 (XTread_socket): Eliminate incorrect optimization that tried to avoid
9867 decoding the output of X*LookupString.
9868 Always use latin-1 to decode the output of XLookupString.
9869 Try Xutf8LookupString if XmbLookupString failed.
9870
9871 * region-cache.c (new_region_cache): Use BEG.
9872
9873 2002-04-16 Gerd Moellmann <gerd@gnu.org>
9874
9875 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
9876 configuration files.
9877 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
9878 returns 0.
9879
9880 2002-04-15 Andreas Schwab <schwab@suse.de>
9881
9882 * config.in: Regenerated using autoheader.
9883
9884 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
9885 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
9886 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
9887 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
9888 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
9889 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
9890 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
9891 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
9892 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
9893 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
9894 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
9895 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
9896 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
9897 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
9898 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
9899 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
9900 STACK_DIRECTION, now set by autoconf.
9901
9902 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9903
9904 * dispnew.c (marginal_area_string): Sort arguments.
9905
9906 * dispextern.h (marginal_area_string): Add prototype.
9907
9908 2002-04-13 Richard M. Stallman <rms@gnu.org>
9909
9910 * fileio.c (Finsert_file_contents):
9911 Don't call temp_output_buffer_setup--do just part, by hand.
9912
9913 * coding.c (run_pre_post_conversion_on_str):
9914 Don't call temp_output_buffer_setup--do just part, by hand.
9915
9916 * keyboard.c (command_loop_1): Don't call start_hourglass
9917 or cancel_hourglass when executing a macro.
9918
9919 * marker.c (count_markers): New function.
9920
9921 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
9922 grow without limit. Move recently used elements to the front.
9923
9924 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9925
9926 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
9927
9928 2002-04-12 Gerd Moellmann <gerd@gnu.org>
9929
9930 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
9931 rows marginal areas.
9932 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
9933 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
9934
9935 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
9936
9937 2002-04-12 Dave Love <fx@gnu.org>
9938
9939 * dispnew.c (marginal_area_string): New.
9940
9941 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
9942 (Qleft_margin, Qright_margin): Declare.
9943 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
9944
9945 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
9946 note_mode_line_highlight and extended.
9947
9948 * keyboard.c (Qleft_margin, Qright_margin): Declare.
9949 (make_lispy_event): Deal with mouse events in margins.
9950
9951 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
9952
9953 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
9954
9955 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
9956 than deactivating the mark if tmm is set to `lambda'.
9957 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
9958 Use a single event for HELP_EVENT.
9959 (Fexecute_extended_command): Save last_point_position.
9960
9961 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9962
9963 * lisp.h (Fpropertize): Add prototype.
9964
9965 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
9966
9967 2002-04-10 Colin Walters <walters@verbum.org>
9968
9969 * config.in: Add HAVE_SHARED_GAME_DIR.
9970
9971 * callproc.c: (Vgame_score_directory): New variable.
9972 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
9973
9974 2002-04-10 Richard M. Stallman <rms@gnu.org>
9975
9976 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
9977
9978 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
9979
9980 * minibuf.c (read_minibuf): Use empty_string.
9981 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
9982 Short-circuit the search as soon as it "failed".
9983 (Fall_completions): Allow lambda forms and lists of strings for alist.
9984 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
9985 when require_match is nil.
9986 (Ftest_completion): Rename from `test_completion' and export to elisp.
9987 Call the predicate also when alist is a list.
9988 Obey Vcompletion_regexp_list.
9989 (do_completion, Fminibuffer_complete_and_exit): Use it.
9990 (Fassoc_string): Rename from `assoc_for_completion'.
9991 Allow list of strings as well and export to elisp.
9992
9993 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
9994
9995 * puresize.h (BASE_PURESIZE): Increase to 900KB.
9996
9997 2002-04-08 Juanma Barranquero <lektu@terra.es>
9998
9999 * w32.c (sys_accept): Don't hide variable `s'.
10000
10001 2002-04-05 Gerd Moellmann <gerd@gnu.org>
10002
10003 * callint.c (Fcall_interactively): Use INTEGERP instead of
10004 NUMBERP for checking Vhistory_length.
10005
10006 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10007
10008 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
10009 Doc fix to reflect it.
10010
10011 2002-04-04 Richard M. Stallman <rms@gnu.org>
10012
10013 * xdisp.c (display_mode_element): New arg RISKY.
10014 Disregard text props found or specified within a variable
10015 that isn't marked risky-local-variable.
10016 (Qrisky_local_variable): New variable.
10017 (syms_of_xdisp): Init and staticpro it.
10018
10019 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
10020
10021 * undo.c (record_point): New fun.
10022 (record_delete, record_insert): Use it.
10023
10024 2002-04-03 Juanma Barranquero <lektu@terra.es>
10025
10026 * doc.c (Fdocumentation): Add missing parentheses.
10027 (Fdocumentation_property): Likewise.
10028
10029 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
10030
10031 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
10032 data is 0, just return nil.
10033
10034 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
10035
10036 * msdos.c (syms_of_msdos): Fix last change with
10037 mouse_autoselect_window.
10038
10039 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10040
10041 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
10042 mouse_autoselect_window.
10043
10044 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
10045
10046 * keyboard.c (make_lispy_event): Handle unknown keysyms together
10047 with system-specific keysyms. Use it also for unknown function keys.
10048
10049 * doc.c (reread_doc_file): Return whether reload was attempted.
10050 (Fdocumentation, Fdocumentation_property): Don't try to reload
10051 if the doc is 0 and only ask once.
10052
10053 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
10054
10055 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
10056
10057 * keyboard.c (read_char): If the event was Qselect_window,
10058 restore timer_idleness_start_time to its previous value.
10059
10060 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
10061
10062 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
10063
10064 * region-cache.c (new_region_cache): Use BEG.
10065
10066 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
10067 Use BEG and BEG_BYTE.
10068
10069 * doc.c (get_doc_string): Return nil if the location is wrong.
10070 (reread_doc_file): New fun.
10071 (Fdocumentation, Fdocumentation_property):
10072 Call it if get_doc_string fails.
10073 (Fsnarf_documentation): Make it work for a dumped Emacs.
10074
10075 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
10076 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
10077
10078 * charset.c (Fstring): Allow 0 arguments.
10079
10080 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
10081
10082 * process.c (DATAGRAM_CONN_P, list_processes_1)
10083 (Fprocess_datagram_address, Fset_process_datagram_address)
10084 (Fset_network_process_options, server_accept_connection):
10085 Fix some int/Lisp_Object confusions (thank you union types).
10086
10087 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10088
10089 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
10090
10091 * w32term.c: Likewise.
10092 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
10093
10094 * keyboard.c (Qselect_window): New symbol.
10095 (head_table): Use it.
10096 (keys_of_keyboard): Bound select-window event to handle-select-window.
10097 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
10098
10099 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
10100 (last_window): New variable.
10101 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
10102 (note_mouse_movement): Remove reimplemented code in #if 0.
10103 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
10104 Emacs windows.
10105
10106 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
10107
10108 2002-03-31 Gerd Moellmann <gerd@gnu.org>
10109
10110 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
10111 Callers changed.
10112
10113 2002-03-30 Richard M. Stallman <rms@gnu.org>
10114
10115 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
10116 loop whenever it stops making progress.
10117
10118 * widget.c (set_frame_size): Don't call change_frame_size.
10119
10120 2002-03-30 Gerd Moellmann <gerd@gnu.org>
10121
10122 * dispnew.c (direct_output_for_insert):
10123 Call mark_window_display_accurate.
10124
10125 2002-03-29 Jason Rumney <jasonr@gnu.org>
10126
10127 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
10128
10129 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
10130
10131 * Makefile.in (lread.o): Depend on coding.h.
10132
10133 * lread.c (openp, Fload): Encode the file name before passing it
10134 to `stat', `access', and `emacs_open'.
10135 (openp): GCPRO the encoded file name. Don't recompute Lisp
10136 strings unnecessarily.
10137
10138 2002-03-29 Kim F. Storm <storm@cua.dk>
10139
10140 * fns.c (Flax_plist_put): Doc fix.
10141
10142 2002-03-28 Miles Bader <miles@gnu.org>
10143
10144 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
10145
10146 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10147
10148 * process.c (set-network-process-options): Add usage.
10149 (make-network-process): Doc fix.
10150
10151 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
10152
10153 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
10154
10155 2002-03-26 Richard M. Stallman <rms@gnu.org>
10156
10157 * fns.c (Fsubstring_no_properties): New function.
10158 (Flax_plist_get, Flax_plist_put): New functions.
10159 (syms_of_fns): defsubr them.
10160
10161 * xdisp.c (update_menu_bar): Test only update_mode_lines;
10162 don't test or alter w->update_mode_line.
10163
10164 * window.c (Fdisplay_buffer): Doc fix.
10165
10166 2002-03-24 Richard M. Stallman <rms@gnu.org>
10167
10168 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
10169
10170 2002-03-24 Gerd Moellmann <gerd@gnu.org>
10171
10172 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
10173 (Fdefmacro): Handle `(declare ...)'.
10174 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
10175 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
10176
10177 2002-03-24 Jason Rumney <jasonr@gnu.org>
10178
10179 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
10180 (xbm_file_p): Add prototypes.
10181 (xbm_format, xbm_image_p): Sync with xfns.c.
10182 (reflect_byte): New function.
10183 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
10184 (xbm_load_image): Create bitmaps with a depth of 1.
10185 (init_xfns): Enable XBM images.
10186
10187 2002-03-23 Jason Rumney <jasonr@gnu.org>
10188
10189 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
10190 correctly. Do not pass up_modifier to keyboard buffer.
10191
10192 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
10193
10194 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
10195
10196 * Makefile.in (bootstrapclean): New target.
10197 (bootstrap-temacs, bootstrap-doc): Remove.
10198 (bootstrap-emacs): Use a bog-standard `temacs'.
10199 Don't bother to build a DOC file.
10200
10201 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
10202
10203 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
10204 in temacs even if !CANNOT_DUMP.
10205 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
10206
10207 * alloc.c (check_pure_size): Only output a warning.
10208
10209 2002-03-22 Jason Rumney <jasonr@gnu.org>
10210
10211 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
10212 supported.
10213
10214 * w32term.c (zv_bits): Declare as short, for word alignment.
10215 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
10216 (syms_of_w32term): Define x-use-underline-position-properties.
10217
10218 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
10219 (clear_image_cache): Block input, fix logic, clear matrices in
10220 all frames that share this cache.
10221
10222 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
10223
10224 * emacs.c (main): Update the Copyright year in the blurb printed
10225 by "emacs --version".
10226
10227 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
10228
10229 * xterm.c (XTread_socket): If XK_ISO_Lock and
10230 XK_ISO_Last_Group_Lock are defined, handle keysyms between
10231 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
10232
10233 2002-03-21 Kim F. Storm <storm@cua.dk>
10234
10235 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
10236 menu-bar bindings in keymap and local-map properties _are_ used.
10237 But try keymap property first in accordance with 2002-01-03 patch.
10238 Added comment describing why this is not always reliable.
10239 (tool_bar_items): Ditto for tool-bar.
10240
10241 2002-03-21 Jason Rumney <jasonr@gnu.org>
10242
10243 * w32fns.c (x_clear_image_1): Disable color table code.
10244
10245 2002-03-21 Kim F. Storm <storm@cua.dk>
10246
10247 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
10248 removed the wrong version of the DEFUN macro; fixed it.
10249
10250 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
10251 Fmember rather than Fmemq).
10252 (Fprovide): Check that subfeatures is a list.
10253
10254 * process.c (QCfeature, QCdatagram): Removed variables.
10255 (QCtype, Qdatagram): New variables.
10256 (network_process_featurep): Removed function.
10257 (Fmake_network_process): Removed :feature check.
10258 Use :type 'datagram instead of :datagram t to create a datagram
10259 socket. This allows us to add other connection types (e.g. raw
10260 sockets) later in a consistent manner.
10261 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
10262 supported subfeatures for feature make-network-process.
10263 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
10264 Intern and staticpro QCtype and Qdatagram.
10265 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
10266
10267 * xfns.c: (QCtype): Remove duplicate declaration and
10268 initialization (is now declared in process.c).
10269
10270 * w32fns.c: (QCtype): Remove duplicate declaration and
10271 initialization (is now declared in process.c).
10272
10273 2002-03-21 Richard M. Stallman <rms@gnu.org>
10274
10275 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
10276 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
10277 when jumping to `fail' to avoid undoing reg changes in the
10278 last iteration of the loop.
10279 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
10280
10281 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
10282 Depend on process.h.
10283
10284 2002-03-20 Jason Rumney <jasonr@gnu.org>
10285
10286 Most of the following changes are still conditional on HAVE_IMAGES
10287 which is not set by default on Windows.
10288
10289 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
10290
10291 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
10292 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
10293 (four_corners_best, x_clear_image_1, x_clear_image)
10294 (x_alloc_image_color, postprocess_image)
10295 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
10296 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
10297 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
10298
10299 * w32gui.h (struct XImage): Define.
10300
10301 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
10302 extract mouse co-ordinates.
10303
10304 2002-03-20 Jason Rumney <jasonr@gnu.org>
10305
10306 * w32.c (init_winsock): Dynamically load new server and UDP
10307 socket functions.
10308 (socket_to_fd): New function.
10309 (sys_socket): Use it.
10310 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
10311 (sys_recvfrom, sys_sendto): New wrapper functions.
10312
10313 * process.c (QCfamily, QCfilter): Remove duplicate declaration
10314 and initialization.
10315
10316 * makefile.w32-in (LIBS): Remove $(WSOCK32).
10317
10318 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
10319
10320 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
10321 Don't use "sun" as a variable, it's a predefined constant on Sun
10322 machines.
10323
10324 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10325
10326 * bytecode.c (Fbyte_code): Revert last change.
10327
10328 2002-03-19 Kim F. Storm <storm@cua.dk>
10329
10330 * makefile.w32-in (LIBS): Add $(WSOCK32).
10331 From David Ponce <dponce@voila.fr>.
10332
10333 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10334
10335 * process.c (wait_reading_process_input): Move variables `pname'
10336 and `pnamelen' down where they are used.
10337
10338 * bytecode.c (Fbyte_code): Discard unused computed value to
10339 prevent gcc warning.
10340
10341 * lisp.h (Fplist_member): Add prototype.
10342
10343 2002-03-18 Kim F. Storm <storm@cua.dk>
10344
10345 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
10346 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
10347
10348 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
10349 Remove explicit GNU_LINUX settings for datagram support.
10350
10351 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10352
10353 * process.c (Fmake_network_process): Remove unused variable `sa'.
10354 Doc fix. Add usage:.
10355 (set_socket_options): Remove unused variables `optnum' and `opttype'.
10356
10357 2002-03-17 Richard M. Stallman <rms@gnu.org>
10358
10359 * xdisp.c (cursor_type_changed): New variable.
10360 (redisplay_internal): Redisplay all windows if cursor_type_changed.
10361 Clear it when clearing windows_or_buffers_changed.
10362 (try_cursor_movement, redisplay_window, try_window_id)
10363 (try_window_reusing_current_matrix): Test cursor_type_changed
10364 along with windows_or_buffers_changed.
10365
10366 * window.h (cursor_type_changed): New variable.
10367
10368 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
10369 not update_mode_lines, and always set it to 1.
10370
10371 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
10372 if no frames needed redrawing.
10373
10374 2002-03-17 Kim F. Storm <storm@cua.dk>
10375
10376 The following changes add support for network server processes,
10377 datagram connections, and local (unix) sockets.
10378
10379 * process.h (struct Lisp_Process): New member log.
10380 Doc fix: Member command used to indicate stopped network process.
10381 Doc fix: Member childp contains plist for network process.
10382 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
10383
10384 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
10385 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
10386 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
10387 New variables.
10388 (NETCONN1_P): New macro.
10389 (DATAGRAM_SOCKETS): New conditional symbol.
10390 (datagram_address): New array.
10391 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
10392 (status_message): Use concat3.
10393 (Fprocess_status): Add `listen' status to doc string. Return `stop'
10394 for a stopped network process.
10395 (Fset_process_buffer): Update contact plist for network process.
10396 (Fset_process_filter): Ditto. Don't enable input for stopped
10397 network processes. Server must listen, even if filter is t.
10398 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
10399 New functions.
10400 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
10401 (Fprocess_contact): Added KEY argument. Handle datagrams.
10402 (list_processes_1): Optionally show only processes with the query
10403 on exit flag set. Dynamically adjust column widths. Omit tty
10404 column if not needed. Report stopped network processes.
10405 Identify server and datagram network processes.
10406 (Flist_processes): New optional arg `query-only'.
10407 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
10408 (conv_lisp_to_sockaddr, set_socket_options)
10409 (network_process_featurep, unwind_request_sigio): New helper functions.
10410 (Fprocess_datagram_address, Fset_process_datagram_address):
10411 (Fset_network_process_options): New lisp functions.
10412 (Fopen_network_stream): Removed. Now defined in simple.el.
10413 (Fmake_network_process): New lisp function. Code is based on previous
10414 Fopen_network_stream, but heavily reworked with new property list based
10415 argument list, support for datagrams, server processes, and local
10416 sockets in addition to old client-only functionality.
10417 (server_accept_connection): New function.
10418 (wait_reading_process_input): Use it to handle incoming connects.
10419 Do not enable input on a new connection if process is stopped.
10420 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
10421 (send_process): Handle datagram sockets.
10422 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
10423 network process is indicated by setting command field to t .
10424 (Fprocess_send_eof): No-op if datagram connection.
10425 (Fstatus_notify): Don't read input for a stream server socket or a
10426 stopped network process.
10427 (init_process): Initialize datagram_address array.
10428 (syms_of_process): Intern and staticpro new variables, defsubr new
10429 functions.
10430
10431 2002-03-16 Jason Rumney <jasonr@gnu.org>
10432
10433 * w32fns.c (w32_to_all_x_charsets): Return correct type in
10434 startup case.
10435
10436 2002-03-16 Richard M. Stallman <rms@gnu.org>
10437
10438 * xdisp.c (redisplay_internal, redisplay_windows):
10439 Use list_of_error to call internal_condition_case_1.
10440 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
10441 so as to catch all errors with no possibility of debugger redisplay.
10442 (list_of_error): New variable.
10443 (syms_of_xdisp): Init and staticpro it.
10444
10445 * print.c (print_object): Delete `\ ' from printed rep of frame.
10446
10447 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
10448
10449 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
10450 until its implementation is fixed.
10451
10452 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10453
10454 * xfns.c (png_load): Remove unused variable `gamma_str'.
10455
10456 2002-03-14 Richard M. Stallman <rms@gnu.org>
10457
10458 * xfns.c (x_real_positions): Handle failure in XQueryTree.
10459
10460 2002-03-14 Miles Bader <miles@gnu.org>
10461
10462 * intervals.c (adjust_for_invis_intang): New function.
10463 (set_point_both): Use `adjust_for_invis_intang' to do most of the
10464 work for dealing with invisible+intangible regions. Do so before
10465 and after both forward and backward movements, to handle both
10466 front-sticky and rear-sticky cases.
10467 * textprop.c (text_property_stickiness): Function moved here from
10468 `editfns.c'.
10469 * intervals.h (text_property_stickiness): New declaration.
10470 * editfns.c (char_property_eq): Function removed.
10471 (text_property_stickiness): Function moved to `textprop.c'.
10472
10473 2002-03-13 Jason Rumney <jasonr@gnu.org>
10474
10475 * config.in: Add STRFTIME_NO_POSIX2.
10476
10477 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
10478 and %OX when underlying strftime does not.
10479
10480 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
10481
10482 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
10483 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
10484 line) to avoid annoying flicker.
10485 (xm_scroll_callback): Get rid of the now unnecessary kludge.
10486 (XTread_socket): Mark it static.
10487
10488 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
10489
10490 2002-03-13 Kim F. Storm <storm@cua.dk>
10491
10492 * puresize.h (BASE_PURESIZE): Increase to 775000.
10493
10494 2002-03-12 Juanma Barranquero <lektu@terra.es>
10495
10496 * editfns.c (syms_of_editfns): Fix typo.
10497
10498 2002-03-12 Gerd Moellmann <gerd@gnu.org>
10499
10500 * xsmfns.c: Include stdio.h because termhooks.h needs it.
10501 Include termopt.h for interrupt_input.
10502
10503 2002-03-11 Andreas Schwab <schwab@suse.de>
10504
10505 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
10506
10507 2002-03-11 Gerd Moellmann <gerd@gnu.org>
10508
10509 * xterm.c (note_mouse_movement): Put code for
10510 x_autoselect_window_p in #if 0.
10511
10512 * lread.c (Fload): Don't assume that message_with_string uses the
10513 string it is given like a C string.
10514
10515 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10516
10517 * xterm.h (x_session_check_input, x_session_initialize): Declared.
10518
10519 * xterm.c: (XTread_socket): Add call to x_session_check_input and
10520 x_session_have_connection.
10521 (x_initialize): Add call to x_session_initialize.
10522
10523 * termhooks.h (enum event_kind): Add save_session_event.
10524
10525 * keyboard.c: Add Emacs event save_session_event.
10526
10527 * emacs.c (main): Add call to syms_of_xsmfns.
10528
10529 * lisp.h: Declare syms_of_xsmfns as extern.
10530
10531 * config.in: Add HAVE_X_SM.
10532
10533 * Makefile.in (LIBXT): Add -lSM -lICE
10534 if HAVE_X_SM and not USE_X_TOOLKIT.
10535 (XOBJ): New file xsmfns.c added.
10536
10537 * xsmfns.c: New file for X session management.
10538
10539 2002-03-09 Jason Rumney <jasonr@gnu.org>
10540
10541 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
10542 read-only when setting modified time.
10543
10544 2002-03-08 Gerd Moellmann <gerd@gnu.org>
10545
10546 * xdisp.c (move_it_vertically_backward): At the end of the function,
10547 when moving forward by lines, treat terminal frames specially.
10548
10549 * keyboard.c (echo_char): Make sure to add a separator between
10550 keys even if echo_dash hasn't been called.
10551
10552 * xdisp.c: Use new string macros.
10553 (update_echo_area): Pass number of bytes to message3 instead of
10554 number of chars.
10555 (set_message_1): Don't access a string's size_byte directly.
10556 (decode_mode_spec_coding): Use number of bytes of eoltype string
10557 instead number of chars.
10558
10559 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
10560
10561 2002-03-08 Juanma Barranquero <lektu@terra.es>
10562
10563 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
10564 24-bit.
10565
10566 2002-03-06 Jason Rumney <jasonr@gnu.org>
10567
10568 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
10569
10570 2002-03-06 Gerd Moellmann <gerd@gnu.org>
10571
10572 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
10573 (cancel_echoing, echo_length, echo_truncate): Changed to
10574 work with new kboard definition.
10575 (echo_now): Use message3_nolog instead of message2_nolog.
10576
10577 * alloc.c (mark_kboards): Mark echo_string.
10578
10579 * keyboard.h (ECHOBUFSIZE): Removed.
10580 (struct kboard): Member echoptr removed, member echobuf renamed
10581 to echo_string.
10582
10583 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
10584 message3 instead of message2 to display the message using STRING's
10585 text properties.
10586
10587 2002-03-05 Andreas Schwab <schwab@suse.de>
10588
10589 * xdisp.c (hscroll_margin): Change to EMACS_INT.
10590
10591 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
10592
10593 * frame.c (default-frame-alist): Explain that setting it doesn't
10594 affect existing frames.
10595
10596 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
10597
10598 * indent.c (skip_invisible): Fix my brain fart.
10599
10600 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
10601
10602 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
10603
10604 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
10605 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
10606 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
10607 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
10608 and variables to use EMACS_INT instead of just int.
10609
10610 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
10611
10612 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
10613
10614 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
10615 environment, pass it down with corrected value.
10616
10617 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10618
10619 * lread.c (read_filtered_event): Do not call start_hourglass
10620 before returning.
10621
10622 2002-03-04 Juanma Barranquero <lektu@terra.es>
10623
10624 * w32term.c (x_display_and_set_cursor): Fix typo.
10625
10626 2002-03-03 Richard M. Stallman <rms@gnu.org>
10627
10628 * fileio.c (Fmake_temp_name): Doc fix.
10629
10630 2002-03-03 Gary Wong <gtw@gnu.org>
10631
10632 * termcap.c [!emacs]: Replace ospeed for building standalone
10633 libtermcap, for binary compatibility.
10634
10635 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
10636
10637 2002-03-03 Richard M. Stallman <rms@gnu.org>
10638
10639 * xrdb.c (file_p): Rename arg `path' to `filename'.
10640
10641 * abbrev.c (Fexpand_abbrev): Increment plist as use count
10642 only if it is an integer.
10643
10644 * xfns.c (png_load): Set screen_gamma based on f->gamma.
10645 If png_get_sRGB gives an answer, call png_set_gamma
10646 using the default image gamma value.
10647
10648 * lread.c (read1): When reading from a file, default string to
10649 multibyte only if it has some multibyte characters.
10650
10651 * print.c (print_object): Output multibyte chars 128...255
10652 using \x even if ! print_escape_multibyte.
10653
10654 * xdisp.c (display_mode_element): Move the places where
10655 bytepos, charpos, this, and lisp_string are set.
10656 Use lisp_string to set bytepos.
10657
10658 * xdisp.c (redisplay_internal):
10659 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
10660
10661 * xdisp.c (display_mode_element): Merge properties specified with
10662 :propertize onto those that come with the string.
10663
10664 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
10665
10666 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
10667 automatic-hscrolling. Users changed.
10668 <hscroll-margin>: Renamed from automatic-hscroll-margin.
10669 Users changed.
10670 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
10671
10672 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10673
10674 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
10675
10676 2002-03-02 Kim F. Storm <storm@cua.dk>
10677
10678 * window.c (Fminibuffer_selected_window): New function.
10679 (syms_of_window): Defsubr it.
10680
10681 2002-03-01 Kim F. Storm <storm@cua.dk>
10682
10683 * window.h (struct window): New member phys_cursor_width.
10684
10685 * window.c (make_window, replace_window): Init phys_cursor_width.
10686
10687 * xterm.c (x_display_and_set_cursor): Blink box cursor using
10688 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
10689
10690 * w32term.c (x_display_and_set_cursor): Blink box cursor using
10691 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
10692
10693 * lisp.h (GCPRO6): New macro.
10694
10695 * process.c (Fopen_network_stream): Use GCPRO6.
10696
10697 2002-03-01 Kim F. Storm <storm@cua.dk>
10698
10699 * process.c (Qconnect, Qfailed): New variables.
10700 (syms_of_process): Intern and staticpro them.
10701 (Fprocess_status): Document connect and failed return values.
10702 [NON_BLOCKING_CONNECT]: New conditional.
10703 (connect_wait_mask, num_pending_connects): New variables.
10704 (status_message): Convert Qfailed status.
10705 (Fopen_network_stream): Added support for non-blocking connect.
10706 New optional args: filter, sentinel, non_blocking. Doc updated.
10707 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
10708 (deactivate_process): Handle pending non-blocking connect.
10709 (wait_reading_process_input): Poll for status of non-blocking
10710 connects. Exec sentinel directly when connect succeeds.
10711 (status_notify): Don't read process output if not yet connected.
10712
10713 2002-02-28 Kim F. Storm <storm@cua.dk>
10714
10715 * window.c: (minibuf_selected_window): Renamed from
10716 Vminibuf_selected_window. Users changed.
10717 (syms_of_window): Staticpro it.
10718
10719 2002-02-26 Kim F. Storm <storm@cua.dk>
10720
10721 The following changes add a new Vminibuf_selected_window variable
10722 which is similar to Vminibuf_scroll_window, but which is only set
10723 on entry to the minibuffer (from a non-minibuffer window):
10724
10725 * window.c: (Vminibuf_selected_window): New variable.
10726 (struct save_window_data): New member minibuf_selected_window.
10727 (Fset_window_configuration): Restore Vminibuf_selected_window.
10728 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
10729 Set minibuf_scroll_window member to nil if minibuf_level is 0.
10730 (compare_window_configurations): Compare minibuf_selected_window.
10731
10732 * window.h: (Vminibuf_selected_window): Declare extern.
10733
10734 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
10735 entry to minibuffer or on entry from a non-minibuffer window.
10736
10737 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
10738 Vminibuf_selected_window instead of Vminibuf_scroll_window.
10739
10740 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
10741 instead of Vminibuf_scroll_window when deciding in which window
10742 the region should be highlighted. Consequently, the region remains
10743 highlighteded even when a completion buffer is also displayed.
10744
10745 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
10746
10747 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
10748
10749 * xselect.c (Qcompound_text_with_extensions): Renamed from
10750 Qcompound_text_no_extensions.
10751 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
10752
10753 2002-02-26 Juanma Barranquero <lektu@terra.es>
10754
10755 * w32proc.c (syms_of_ntproc): Doc fix.
10756
10757 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10758
10759 * intervals.h: Include "dispextern.h" unconditionally.
10760
10761 2002-02-24 Jason Rumney <jasonr@gnu.org>
10762
10763 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
10764 and disp-table.elc.
10765 (lisp): Add emacs-lisp/backquote.elc.
10766
10767 2002-02-24 Kim F. Storm <storm@cua.dk>
10768
10769 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
10770 The validation of the event type was too strict as it didn't
10771 allow string events; buffer names are used in bindings for
10772 menu-bar-select-buffer (see `menu-bar-update-buffers').
10773
10774 2002-02-23 Kim F. Storm <storm@cua.dk>
10775
10776 The following changes rework my patch of 2002-02-06 which
10777 added command remapping by entering the commands directly into
10778 the keymaps. Now, command remapping uses an explicit `remap'
10779 prefix in the keymaps, i.e. [remap COMMAND].
10780
10781 * keymap.c (Qremap, remap_command_vector): New variables.
10782 (is_command_symbol): Removed function.
10783 (Fdefine_key): No longer accept a symbol for KEY.
10784 Added validation of [remap COMMAND] argument for KEY.
10785 The DEF is no longer required to be a symbol when remapping a command.
10786 (Fremap_command): New function to remap command through keymaps.
10787 (Flookup_key): Perform command remapping initiated by
10788 Fremap_command directly for speed.
10789 (Fkey_binding): Use Fremap_command for command remapping.
10790 (where_is_internal): Handle new command remapping representation.
10791 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
10792 staticpro them. Defsubr Fremap_command.
10793
10794 * keymap.h (Fremap_command): Declare extern.
10795 (is_command_symbol): Remove extern.
10796
10797 * keyboard.c (command_loop_1): Use Fremap_command for command
10798 remapping; now try command remapping for all symbols.
10799
10800 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
10801
10802 * coding.h (run_pre_post_conversion_on_str): Add prototype.
10803
10804 2002-02-23 Jason Rumney <jasonr@gnu.org>
10805
10806 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
10807 on the string before encoding it.
10808 (Fw32_get_clipboard_data): Run post-read-conversion on the string
10809 after decoding it.
10810
10811 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
10812
10813 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10814
10815 * w32term.c (enter_timestamp): Remove unused static variable to
10816 prevent warning.
10817
10818 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
10819
10820 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
10821
10822 * w16select.c (Fw16_get_clipboard_data): Fix last change.
10823
10824 * xselect.c (selection_data_to_lisp_data): Fix last change.
10825
10826 2002-02-22 Jason Rumney <jasonr@gnu.org>
10827
10828 * w32term.h (struct w32_output): New member menu_command_in_progress.
10829
10830 * w32menu.c (menubar_selection_callback): Free the menu and
10831 clear the menu_command_in_progress flag.
10832
10833 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
10834 (menu_free_timer): New variable.
10835 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
10836 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
10837 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
10838 menu command is in progress.
10839 <WM_COMMAND>: Set the menu_command_in_progress flag.
10840 Kill any menu_free_timer that is running.
10841
10842 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
10843 Call ExtTextOutA rather than ExtTextOut.
10844
10845 2002-02-22 Eli Zaretskii <eliz@gnu.org>
10846
10847 * puresize.h (BASE_PURESIZE): Increase to 755000.
10848
10849 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10850
10851 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
10852 on the string before encoding it.
10853 (Fw16_get_clipboard_data): Run post-read-conversion on the string
10854 after decoding it.
10855
10856 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10857
10858 Support for ICCCM Extended Segments in X selections:
10859
10860 * xselect.c <Qcompound_text_no_extensions>: New variable.
10861 (syms_of_xselect): Intern and staticpro it.
10862 (selection_data_to_lisp_data): Run post-read-conversion on decoded
10863 selection text.
10864 (lisp_data_to_selection_data): If next-selection-coding-system is
10865 compound-text-no-extensions, set the type of selection to be
10866 compound-text.
10867
10868 * xterm.h (x_encode_text): Update prototype.
10869
10870 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
10871 callers changed. If SELECTIONP is non-zero, run the
10872 pre-write-conversion function before encoding the selection text.
10873
10874 2002-02-21 Kim F. Storm <storm@cua.dk>
10875
10876 * frame.c (syms_of_frame): Change mouse-highlight default to t.
10877
10878 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
10879 Correct composing of language-change event.
10880
10881 2002-02-20 Kim F. Storm <storm@cua.dk>
10882
10883 * keyboard.c (menu_bar_items): Don't include keymap or local-map
10884 bindings at PT when building menu (the menu is not updated often
10885 enough for this to work reliable).
10886 (tool_bar_items): Likewise.
10887 (current_active_maps): Removed unused (and buggy) function.
10888
10889 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10890
10891 * xfns.c (gif_load): Use correct width and height for GIF images.
10892
10893 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
10894
10895 * floatfns.c (Fatan): Accept an optional second arg and call
10896 atan2 if passed 2 args.
10897
10898 2002-02-18 Jason Rumney <jasonr@gnu.org>
10899
10900 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
10901
10902 2002-02-17 Jason Rumney <jasonr@gnu.org>
10903
10904 * w32term.c (x_autoselect_window_p): New variable.
10905 (syms_of_w32term): DEFVAR_BOOL and initialize it.
10906 (note_mouse_movement): Use it.
10907
10908 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
10909
10910 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
10911
10912 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
10913 New variables.
10914 (syms_of_w32fns): Intern and staticpro them.
10915 (x_frame_parms) <"fullscreen">: New parameter.
10916 (x_fullscreen_move, x_set_fullscreen): New functions.
10917 (x_set_frame_parameters): Support Qfullscreen.
10918 (x_real_positions): Save x/y_pixels_diff frame params.
10919 (x_figure_window_size): Support full-screen frames.
10920 (Fx_create_frame): Default the fullscreen parameter.
10921
10922 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
10923 (x_fullscreen_adjust): New functions.
10924 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
10925 fullscreen. Call x_check_fullscreen_move, and set the
10926 want_fullscreen member of output_data.w32
10927 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
10928
10929 * w32term.h: New enum for FULLSCREEN_* constants.
10930 (struct w32_output): New members want_fullscreen, x_pixels_diff,
10931 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
10932 (x-fullscreen-adjust): New prototype.
10933
10934 2002-02-17 Kim F. Storm <storm@cua.dk>
10935
10936 * frame.c: (Vmouse_highlight): New variable.
10937 (syms_of_frame): DEFVAR_LISP it.
10938
10939 * frame.h: (Vmouse_highlight): Declare extern.
10940
10941 * xterm.h (struct x_display_info): Add mouse_face_hidden.
10942
10943 * xterm.c (disable_mouse_highlight): Removed variable.
10944 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
10945 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
10946 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
10947 and on after keyboard input.
10948 (x_term_init): Initialize mouse_face_hidden.
10949
10950 * msdos.h (struct display_info): Add mouse_face_hidden.
10951
10952 * msdos.c (disable_mouse_highlight): Removed variable.
10953 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
10954 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
10955 (internal_terminal_init): Initialize mouse_face_hidden.
10956 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
10957 and on after keyboard input.
10958
10959 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
10960
10961 * w32term.c (disable_mouse_highlight): Removed variable.
10962 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
10963 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
10964 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
10965 and on after keyboard input.
10966 (w32_initialize_display_info): Initialize mouse_face_hidden.
10967
10968 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
10969
10970 * msdos.c (last_mouse_window): New variable.
10971 (dos_rawgetc): Fix last change--if the mouse is in the same window
10972 as recorded in last_mouse_window, don't select this window.
10973
10974 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
10975
10976 * msdos.c (x_autoselect_window_p): New variable.
10977 (syms_of_msdos): Defvar it.
10978 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
10979 which the last mouse movement occured, unless it is already selected.
10980
10981 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
10982 New variables.
10983 (syms_of_xdisp): DEVFAR them.
10984 (hscroll_window_tree): Use automatic_hscroll_margin and
10985 Vautomatic_hscroll_step to compute the amount of window scrolling.
10986
10987 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10988
10989 * xterm.c (x-autoselect-window): New variable.
10990 (note_mouse_movement): Use it.
10991
10992 * keyboard.c: Do not include "systime.h" twice.
10993
10994 2002-02-15 Andreas Schwab <schwab@suse.de>
10995
10996 * puresize.h (BASE_PURESIZE): Increase to 9/5.
10997
10998 * alloc.c (NSTATICS): Increase to 1280.
10999
11000 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
11001
11002 * alloc.c (NSTATICS): Bump to 1026.
11003
11004 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
11005 (Vx_super_keysym): New variables.
11006 (syms_of_xterm): DEFVAR_LISP them.
11007 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
11008 variables to determine which keys to use for the various modifiers.
11009
11010 2002-02-13 Kim F. Storm <storm@cua.dk>
11011
11012 * window.c: (Vmode_line_in_non_selected_windows): Removed.
11013 (mode_line_in_non_selected_windows): New variable.
11014 (syms_of_window): DEFVAR_BOOL it.
11015
11016 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
11017 Use mode_line_in_non_selected_windows.
11018 (mode_line_in_non_selected_windows): Declare extern.
11019 (Vmode_line_in_non_selected_windows): Removed extern.
11020
11021 2002-02-13 Richard M. Stallman <rms@gnu.org>
11022
11023 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
11024 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
11025 (Fclear_this_command_keys): Doc fixes.
11026
11027 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
11028 (update_face_from_frame_parameter): Increment face_change_count
11029 and windows_or_buffers_changed to force redisplay using changed faces.
11030
11031 * xdisp.c (QCpropertize): New variable.
11032 (mode_line_proptrans_alist): New variable.
11033 (display_mode_element): New arg PROPS; all calls changed.
11034 Implement this, for strings.
11035 Handle literal output of strings by sharing the
11036 main-line code for strings, using local var `literal'.
11037 Handle :propertize feature.
11038 (syms_of_xdisp): Initialze and staticpro QCpropertize and
11039 mode_line_proptrans_alist.
11040
11041 2002-02-11 Kim F. Storm <storm@cua.dk>
11042
11043 * window.c: (Vmode_line_in_non_selected_windows): New variable.
11044 (syms_of_window): DEFVAR_LISP it.
11045
11046 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
11047 (CURRENT_MODE_LINE_FACE_ID): Use it.
11048 (Vmode_line_in_non_selected_windows): Declare extern.
11049
11050 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
11051 to get mode line face.
11052
11053 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
11054
11055 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
11056 variables; cus-start.el doesn't need them anymore.
11057
11058 2002-02-09 Kim F. Storm <storm@cua.dk>
11059
11060 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
11061 reduction. This fixes a display problem where stray newlines were
11062 inserted in the window (corrected by C-l). Clarified code (IMHO).
11063
11064 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
11065
11066 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
11067
11068 * xdisp.c (display_mode_lines): Fix last change.
11069
11070 2002-02-09 Jason Rumney <jasonr@gnu.org>
11071
11072 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
11073 match each other.
11074 (w32_load_system_font): Prevent Cleartype fonts from loading.
11075 (Fx_show_tip): Ensure tip frames are above other topmost windows.
11076
11077 2002-02-09 Kim F. Storm <storm@cua.dk>
11078
11079 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
11080 (CURRENT_MODE_LINE_HEIGHT): Use it.
11081 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
11082
11083 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
11084 (pos_visible_p, handle_face_prop): Likewise.
11085 (display_mode_lines): Likewise, but for the real selected window.
11086 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
11087
11088 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
11089 in non-selected windows.
11090 (realize_basic_faces): Realize it.
11091 (syms_of_term): Intern and staticpro it.
11092
11093 2002-02-08 Kim F. Storm <storm@cua.dk>
11094
11095 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
11096 Changed mail addresses to emacs-devel@gnu.org.
11097
11098 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
11099
11100 * fileio.c (Fsubstitute_in_file_name): If the file name includes
11101 ~user, and there's no such user, don't discard everything before ~user.
11102
11103 * floatfns.c (Fround): Doc fix.
11104
11105 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11106
11107 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
11108
11109 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
11110
11111 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
11112
11113 2002-02-07 Kim F. Storm <storm@cua.dk>
11114
11115 * keymap.c (where_is_internal): Only check whether definition is
11116 remapped if it fulfills is_command_symbol.
11117
11118 2002-02-07 Andreas Schwab <schwab@suse.de>
11119
11120 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
11121
11122 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
11123
11124 2002-02-06 Kim F. Storm <storm@cua.dk>
11125
11126 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
11127 defining command remapping. Doc updated.
11128 (Flookup_key): Remap command through keymap if KEY is a symbol.
11129 (is_command_symbol): New function.
11130 (Fkey_binding): Use it. New optional argument NO-REMAP.
11131 Doc updated. Callers changed. Perform command remapping via
11132 recursive call unless that arg is non-nil.
11133 (where_is_internal): New argument no_remap. Callers changed.
11134 Call recursively to find original key bindings for a remapped
11135 comand unless that arg is non-nil.
11136 (Fwhere_is_internal): New optional argument NO-REMAP.
11137 Doc updated. Callers changed. Pass arg to where_is_internal.
11138
11139 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
11140 (is_command_symbol): Added prototype.
11141
11142 * keyboard.c (Vthis_original_command): New variable.
11143 (syms_of_keyboard): DEFVAR_LISP it.
11144 (command_loop_1): Set it, and perform command remapping.
11145
11146 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11147
11148 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
11149
11150 2002-02-06 Jason Rumney <jasonr@gnu.org>
11151
11152 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
11153
11154 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
11155
11156 * charset.c (get_charset_id): Use if-else instead of ?:.
11157
11158 2002-02-06 Richard M. Stallman <rms@gnu.org>
11159
11160 * filelock.c (S_ISLNK): Define if not defined.
11161
11162 2002-02-03 Richard M. Stallman <rms@gnu.org>
11163
11164 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
11165
11166 * lread.c (read1): Redesign strategy for force_multibyte and
11167 force_singlebyte. Now is_multibyte records whether read_buffer
11168 is multibyte. Encountering any multibyte character makes it so.
11169
11170 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
11171
11172 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
11173 with the same sequence, map that sequence to f10 rather than f0.
11174
11175 2002-02-03 Andreas Schwab <schwab@suse.de>
11176
11177 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
11178 latter never being defined on GNU/Linux.
11179
11180 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
11181
11182 * xfaces.c (realize_default_face): Don't set the weight and slant of
11183 the default face to Qnormal, unless these attributes are unspecified.
11184
11185 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11186
11187 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
11188 Call cancel_hourglass unconditionally.
11189
11190 * eval.c (Fsignal): Remove duplicated declaration of
11191 the variable `display_hourglass_p'.
11192
11193 2002-01-31 Richard M. Stallman <rms@gnu.org>
11194
11195 * editfns.c (region_limit): Nicer error message.
11196
11197 * coding.c (decode_composition_emacs_mule):
11198 Give up if NCOMPONENT gets too large to index `component'.
11199
11200 * callint.c (check_mark): New arg to specify clearer error message.
11201 Callers changed.
11202
11203 2002-01-27 Richard M. Stallman <rms@gnu.org>
11204
11205 * minibuf.c (Fcompleting_read): Doc fix.
11206
11207 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11208
11209 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
11210 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
11211 Fix doc-strings.
11212
11213 2002-01-26 Richard M. Stallman <rms@gnu.org>
11214
11215 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
11216
11217 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
11218 and scroll_up_aggressively.
11219
11220 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11221
11222 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
11223
11224 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
11225
11226 * textprop.c (Fnext_property_change, Fnext_single_property_change)
11227 (Fprevious_property_change, Fprevious_single_property_change):
11228 Stay within the narrowed-buffer boundaries.
11229
11230 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
11231
11232 * term.c (Ftty_display_color_cells): New function.
11233 (syms_of_term): Defsubr it.
11234 (Ftty_display_color_cells, Ftty_display_color_p): Change the
11235 argument name to DISPLAY. Doc fix.
11236
11237 * dispextern.h: Add prototype for set_tty_color_mode and
11238 tty_setup_colors.
11239
11240 2002-01-24 Jason Rumney <jasonr@gnu.org>
11241
11242 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
11243 If region left to draw is not what was expected, mark the frame as
11244 garbaged.
11245
11246 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
11247 Combine the regions returned by BeginPaint and GetUpdateRect.
11248
11249 2002-01-23 Jason Rumney <jasonr@gnu.org>
11250
11251 * w32term.c (x_update_window_begin): Only hide caret if
11252 w32_use_visible_system_caret is set.
11253 (x_update_window_end): Only show caret if
11254 w32_use_visible_system_caret is set.
11255 (syms_of_w32term): Handle SystemParametersInfo call failing.
11256
11257 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
11258
11259 2002-01-22 Richard M. Stallman <rms@gnu.org>
11260
11261 * unexelf.c (unexec): Define n so as to cause compilation error
11262 for the code where people have often written n instead of nn.
11263
11264 * .gdbinit (hookpost-run): Defined.
11265
11266 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11267
11268 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
11269
11270 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11271
11272 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
11273 if fullscreen is being set.
11274
11275 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11276
11277 * minibuf.c (Fminibuffer_contents)
11278 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
11279 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
11280
11281 2002-01-21 Richard M. Stallman <rms@gnu.org>
11282
11283 * window.c (check_frame_size): Fix minimum height calculation.
11284
11285 2002-01-20 Ken Raeburn <raeburn@gnu.org>
11286
11287 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
11288 height before comparison.
11289 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
11290
11291 2002-01-20 Jason Rumney <jasonr@gnu.org>
11292
11293 * w32term.c (w32_system_caret_width): Remove.
11294 (w32_use_visible_system_caret): New user flag.
11295 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
11296 Windows reports a screen reader running.
11297 (x_update_window_begin): Hide the system caret.
11298 (x_update_window_end): Show the system caret.
11299 (x_display_and_set_cursor): Don't draw a cursor when
11300 w32_use_visible_system_caret is set. Do not adjust width.
11301
11302 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
11303 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
11304 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
11305 the user requests it. Use system default width when creating.
11306 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
11307
11308 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
11309 New window messages.
11310
11311 2002-01-20 Richard M. Stallman <rms@gnu.org>
11312
11313 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
11314
11315 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11316
11317 * doprnt.c (doprnt1): Fix typos in error call.
11318
11319 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
11320
11321 * unexelf.c (unexec) [__sgi]: Support the .got sections.
11322
11323 2002-01-20 Jason Rumney <jasonr@gnu.org>
11324
11325 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
11326 that Windows returns. If a double check fails, try to guess how
11327 ExtTextOut is going to act.
11328
11329 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
11330 in place of stricmp.
11331 (w32_list_synthesized_fonts): Removed.
11332 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
11333 (struct enumfont_t): New element; list.
11334 (enum_font_cb2): List all style and charset variations of a font.
11335 (Fw32_select_font): New optional argument; include_proportional.
11336 Exclude vertical fonts. Exclude proportional fonts unless
11337 include_proportional is non-nil.
11338 (w32_enable_synthesized_fonts): Change to a boolean.
11339 (Fw32_send_sys_command): Doc fix.
11340
11341 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11342
11343 * dispnew.c (update_frame): Move the variable `tem' to the block
11344 where it is used.
11345
11346 2002-01-19 Jason Rumney <jasonr@gnu.org>
11347
11348 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
11349 call to face-set-after-frame-default.
11350
11351 2002-01-18 Richard M. Stallman <rms@gnu.org>
11352
11353 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
11354 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
11355
11356 2002-01-17 Richard M. Stallman <rms@gnu.org>
11357
11358 * window.c (enlarge_window): When exceeding size of parent,
11359 directly delete all the siblings instead of trying to resize it.
11360
11361 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11362
11363 * term.c (set_tty_color_mode): Remove unused variable `tem'.
11364
11365 2002-01-16 Henrik Enberg <henrik@enberg.org>
11366
11367 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
11368
11369 2002-01-16 Kim F. Storm <storm@cua.dk>
11370
11371 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
11372 is invisible. This can happen if cursor is on top line of a
11373 window, and we switch to a buffer with a header line.
11374
11375 * w32term.c (x_erase_phys_cursor): Ditto.
11376
11377 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11378
11379 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
11380 `dont_resize' only when used.
11381
11382 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
11383
11384 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
11385
11386 * xdisp.c (display_mode_element): When computing charpos, depend
11387 on multibyteness of elt, not the text in field.
11388
11389 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11390
11391 * buffer.c (Fkill_all_local_variables):
11392 Increment `update_mode_lines' only once.
11393
11394 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11395
11396 * lisp.h (adjust_after_replace_noundo)
11397 (Fupdate_coding_systems_internal): Add prototypes.
11398
11399 * sound.c (Fplay_sound): Initialize header_size also for :data case.
11400
11401 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
11402
11403 Support for the --color command-line argument and tty-color-mode
11404 frame parameter:
11405
11406 * term.c (tty_default_color_capabilities, tty_setup_colors)
11407 (set_tty_color_mode): New functions.
11408 (term_init): Call tty_default_color_capabilities.
11409 (Qtty_color_mode_alist): New variable.
11410 (syms_of_term): Intern and staticpro it.
11411
11412 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
11413 frames.
11414 (do_switch_frame): For termcap frames, switch the tty
11415 color mode as specified by the frame's parameters.
11416 (Qtty_color_mode): New variable.
11417 (syms_of_frame): Intern and staticpro it.
11418
11419 * emacs.c (USAGE2): Add the --color option.
11420 (standard_args): Ditto.
11421
11422 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11423
11424 * xterm.h (struct x_output): New members want_fullscreen,
11425 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
11426 y_pixels_outer_diff.
11427 New enum for FULLSCREEN_* constants.
11428 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
11429 is NULL.
11430 (x_fullscreen_adjust): Add prototype.
11431
11432 * emacs.c (USAGE2): Add the new full-screen arguments.
11433 (standard_args): Ditto.
11434
11435 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
11436 New variables.
11437 (syms_of_xfns): Intern and staticpro them.
11438 (x_frame_parms) <"fullscreen">: New parameter.
11439 (x_fullscreen_move, x_set_fullscreen): New functions.
11440 (x_set_frame_parameters): Support for Qfullscreen.
11441 (x_real_positions): More accurate computation of the frame position.
11442 (x_figure_window_size): Support full-screen frames.
11443 (Fx_create_frame): Default the fullscreen parameter.
11444
11445 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
11446 (XTread_socket) <Expose>: Call x_check_fullscreen.
11447 <ConfigureNotify>: Don't resize to fullscreen.
11448 Call x_check_fullscreen_move, and set the want_fullscreen member of
11449 output_data.x.
11450
11451 2002-01-13 Jason Rumney <jasonr@gnu.org>
11452
11453 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
11454 for mice with more than 3 buttons.
11455
11456 * w32term.c (parse_button): New parameter xbutton. Callers changed.
11457 (w32_read_socket): Handle new "XBUTTON" messages.
11458
11459 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
11460 (syms_of_w32fns): DEFVAR_BOOL it.
11461 (w32_wnd_proc): Handle new "XBUTTON" messages.
11462
11463 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11464
11465 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
11466
11467 2002-01-13 Andreas Schwab <schwab@suse.de>
11468
11469 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
11470
11471 2002-01-12 Andreas Schwab <schwab@suse.de>
11472
11473 * .gdbinit (xbuffer): Remove address operator since data is now a
11474 pointer.
11475
11476 2002-01-11 Richard M. Stallman <rms@gnu.org>
11477
11478 * insdel.c (adjust_after_replace_noundo): New function.
11479
11480 * coding.c (code_convert_region): Don't copy old text if undo disabled.
11481
11482 2002-01-09 Jason Rumney <jasonr@gnu.org>
11483
11484 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
11485 when checking for multiple frames.
11486
11487 2002-01-08 Richard M. Stallman <rms@gnu.org>
11488
11489 * window.c (delete_window): Rewrite the code for changing the
11490 selected window to handle the case where WINDOW is not a leaf.
11491
11492 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
11493
11494 * process.c (send_process): Set src_multibyte to 1 after the call
11495 top setup_coding_system, not before the call.
11496
11497 2002-01-07 Jason Rumney <jasonr@gnu.org>
11498
11499 * xmenu.c (set_frame_menubar, xmenu_show):
11500 (xdialog_show): Initialize wv->help to Qnil.
11501
11502 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
11503 (w32_dialog_show): Initialize wv->help to Qnil.
11504
11505 2002-01-06 Jason Rumney <jasonr@gnu.org>
11506
11507 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
11508
11509 * w32menu.c (w32_menu_display_help): Revert last change.
11510
11511 * xmenu.c (menu_highlight_callback): Revert last change.
11512
11513 2002-01-06 Andreas Schwab <schwab@suse.de>
11514
11515 * insdel.c (make_gap_larger): Make sure buffer size does not
11516 overflow range of int.
11517
11518 2002-01-05 Jason Rumney <jasonr@gnu.org>
11519
11520 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
11521 OVERLAPS_P.
11522
11523 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
11524
11525 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
11526 to the left or to the right of the pointer, put it against
11527 the left screen edge.
11528 (x_frame_parms): Add missing braces around initializer.
11529
11530 * w32term.c (x_setup_relief_colors): Don't compute an image's
11531 background color if it doesn't have a Pixmap.
11532 (notice_overwritten_cursor): Don't depend on
11533 output_cursor and updated_area. Compare pixel coordinates with
11534 window's cursor pixel coordinates.
11535 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
11536 Call notice_overwritten_cursor with new arg list.
11537 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
11538 unconditionally.
11539 (x_draw_image_relief): Use predefined macro instead of
11540 constant when the value of `tool_bar_button_relief' is negative.
11541
11542 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
11543
11544 2002-01-04 Richard M. Stallman <rms@gnu.org>
11545
11546 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
11547
11548 2002-01-03 Richard M. Stallman <rms@gnu.org>
11549
11550 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
11551 (Fkey_binding): Try the `keymap' property map first.
11552 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
11553 minor mode bindings.
11554
11555 2002-01-03 Kim F. Storm <storm@cua.dk>
11556
11557 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
11558
11559 2002-01-02 Richard M. Stallman <rms@gnu.org>
11560
11561 * keyboard.c (read_key_sequence): Handle the keymap property
11562 before minor mode maps.
11563
11564 * editfns.c (Fformat): Update thissize from field_width
11565 based on the actual width, in the string case.
11566
11567 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11568
11569 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
11570 when used as truth value to prevent gcc warnings.
11571
11572 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
11573 * w32proc.c: Include <config.h>.
11574
11575 2002-01-01 Andreas Schwab <schwab@suse.de>
11576
11577 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
11578 not EMACS_INT, to make them compatible with DEFVAR_INT.
11579 * lisp.h (max_specpdl_size): Adjust declaration.
11580
11581 2002-01-01 Richard M. Stallman <rms@gnu.org>
11582
11583 * print.c (print_object): Test print_escape_nonascii only for
11584 unibyte strings.
11585 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
11586 when outputting to a multibyte buffer.
11587
11588 2001-12-29 Richard M. Stallman <rms@gnu.org>
11589
11590 * print.c (print_object): In multibyte string, use hex escapes.
11591 Use octal only for unibyte strings.
11592 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
11593
11594 * lread.c (read_escape): New arg BYTEREP for reporting whether
11595 escape forces unibyte or multibyte.
11596 (read1): When reading a string, take note of that info.
11597
11598 2001-12-29 Ken Raeburn <raeburn@gnu.org>
11599
11600 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
11601 comparison to test lisp value returned by Fget.
11602
11603 2001-12-29 Richard M. Stallman <rms@gnu.org>
11604
11605 * lisp.h (max_specpdl_size): Add declaration.
11606
11607 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
11608
11609 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
11610 Handle modifier bits. Correct typo in error message.
11611
11612 2001-12-28 Richard M. Stallman <rms@gnu.org>
11613
11614 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
11615 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
11616 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
11617 Update calls to Fdefine_abbrev.
11618 (write_abbrev): Update for changed data format.
11619 Don't list "system" abbrevs.
11620 (Fexpand_abbrev): Update use count with new data format.
11621 (describe_abbrev): Update for changed data format.
11622 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
11623
11624 * config.in (HAVE_MBSINIT): Add #undef.
11625
11626 * strftime.c (mbsinit): Define as no-op if not available.
11627
11628 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
11629 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
11630
11631 * keymap.c (Flookup_key): Error message if key has wrong data type.
11632 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
11633 (exclude_key): New variable.
11634
11635 2001-12-28 Gerd Moellmann <gerd@gnu.org>
11636
11637 * xterm.c (x_setup_relief_colors): Don't compute an image's
11638 background color if it doesn't have a Pixmap.
11639
11640 * xterm.c (notice_overwritten_cursor): Don't depend on
11641 output_cursor and updated_area. Compare pixel coordinates with
11642 window's cursor pixel coordinates.
11643 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
11644 Call notice_overwritten_cursor with new arg list.
11645 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
11646 unconditionally.
11647
11648 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
11649 height of the cursor line to the amount to scroll.
11650
11651 2001-12-27 Richard M. Stallman <rms@gnu.org>
11652
11653 * intervals.c (set_point_both): The position after an invisible,
11654 intangible character is not an acceptable stopping point.
11655
11656 2001-12-27 Ken Raeburn <raeburn@gnu.org>
11657
11658 * window.c (enlarge_window): In new preserve_before code, convert
11659 CURBEG from lisp object to integer before doing arithmetic.
11660
11661 2001-12-27 Richard M. Stallman <rms@gnu.org>
11662
11663 * bytecode.c (Fbyte_code): Undo previous change.
11664
11665 2001-12-26 Kim F. Storm <storm@cua.dk>
11666
11667 * keyboard.c (record_char): Ignore duplicate help-echo events only
11668 separated by mouse-movement. When tracking mouse, only record
11669 first and last mouse-movement event in same window.
11670 Don't record mouse-movement events in keyboard macros.
11671
11672 2001-12-25 Richard M. Stallman <rms@gnu.org>
11673
11674 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
11675 (Fenlarge_window): New arg PRESERVE_BEFORE.
11676
11677 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
11678 instead of Fstring_as_unibyte.
11679
11680 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11681
11682 The following changes remove mocklisp support:
11683
11684 * mocklisp.h, mocklisp.c: Files removed.
11685
11686 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
11687 `Qmocklisp' and `Qmocklisp_arguments'.
11688 Remove prototype of syms_of_mocklisp.
11689
11690 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
11691
11692 * callint.c: Do not include mocklisp.h.
11693 (Fcall_interactively): Do not test for mocklisp case.
11694
11695 * eval.c: Remove variables `Qmocklisp_arguments',
11696 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
11697 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
11698 Do not test for mocklisp case.
11699 (Fwhile): Remove unused variable `tem'.
11700 (syms_of_eval): Remove variable `moclisp-arguments'.
11701
11702 * data.c (wrong_type_argument): Remove mocklisp case.
11703
11704 * doc.c (Fdocumentation): Remove mocklisp case.
11705
11706 * emacs.c (main): Do not call syms_of_mocklisp.
11707
11708 2001-12-21 Richard M. Stallman <rms@gnu.org>
11709
11710 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
11711 to the left or to the right of the pointer, put it against
11712 the left screen edge.
11713
11714 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
11715
11716 * Makefile.in (distclean): Remove .gdbinit if we are building
11717 outside the source tree.
11718
11719 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
11720
11721 * w32.c (emacs_root_dir): New function.
11722
11723 * msdos.c (emacs_root_dir): New function.
11724
11725 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
11726 of the current drive as the fallback for default_directory.
11727
11728 * dired.c (file_name_completion): Run the elements of
11729 completion-ignored-extensions through ENCODE_FILE.
11730
11731 * lisp.h (scmp): Remove prototype, since it's now a static
11732 function private to dired.c.
11733
11734 2001-12-18 Richard M. Stallman <rms@gnu.org>
11735
11736 * dired.c (scmp): Function moved from minibuf.c.
11737 Delete multibyte handling--used only on encoded strings.
11738
11739 * minibuf.c (scmp): Function moved to dired.c.
11740
11741 * fns.c (merge): Add QUIT call.
11742
11743 2001-12-18 Dave Love <fx@gnu.org>
11744
11745 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
11746 language/georgian.el.
11747
11748 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
11749
11750 * Makefile.in (lisp, shortlisp): Synchronize with changes to
11751 lisp/Makefile.in:DONTCOMPILE.
11752
11753 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11754
11755 * xdisp.c (window_box_height): Do not return negative values.
11756 From Gerd Moellmann <gerd@gnu.org>.
11757
11758 * keyboard.c (head_table): Add missing braces around initializer.
11759
11760 * term.c (keys): Likewise.
11761
11762 * xfns.c (x_frame_parms, visual_classes): Likewise.
11763
11764 2001-12-17 Sam Steingold <sds@gnu.org>
11765
11766 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
11767 patch (COMPOSING_P, not COMPOSING).
11768
11769 2001-12-17 Richard M. Stallman <rms@gnu.org>
11770
11771 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
11772
11773 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
11774 before calling decode_coding.
11775
11776 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
11777
11778 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
11779 instead of only for COMPOSITION_DISABLED.
11780
11781 2001-12-16 Richard M. Stallman <rms@gnu.org>
11782
11783 * alloc.c (pure_alloc): After overflow, allocate just a small block.
11784
11785 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
11786
11787 * buffer.h (struct buffer): New field `display_error_modiff'.
11788 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
11789
11790 * window.c (Frecenter): Clear display_error_modiff field.
11791
11792 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
11793 Call redisplay_window, but not if display_error_modiff field says no.
11794 (redisplay_window_error): New function.
11795 (displayed_buffer): New variable.
11796 (redisplay_internal, redisplay_windows): Call the new functions
11797 instead of redisplay_window directly.
11798
11799 2001-12-15 Richard M. Stallman <rms@gnu.org>
11800
11801 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
11802
11803 2001-12-14 Andrew Innes <andrewi@gnu.org>
11804
11805 * makefile.w32-in (EMACSLOADPATH): Define.
11806 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
11807 (bootstrap-temacs): Remove dependency on bootstrap-clean.
11808
11809 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
11810
11811 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
11812 parameter have a numeric value all the time.
11813
11814 * w32fns.c (x_report_frame_params): Likewise.
11815
11816 2001-12-12 Richard M. Stallman <rms@gnu.org>
11817
11818 * fileio.c (Fwrite_region): Doc fix.
11819
11820 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
11821 (redisplay_internal): Call clear_image_cache only for window terminals.
11822
11823 2001-12-12 Gerd Moellmann <gerd@gnu.org>
11824
11825 * xdisp.c (move_it_vertically_backward): Change heuristic
11826 for the case that we didn't move far enough initially.
11827
11828 * window.c (Frecenter): Simplify computation in the case of window
11829 system frames and ARG < 0; use window_box_height.
11830
11831 2001-12-11 Richard M. Stallman <rms@gnu.org>
11832
11833 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
11834 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
11835
11836 2001-12-11 Andrew Innes <andrewi@gnu.org>
11837
11838 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
11839 arg is negative.
11840
11841 2001-12-11 Richard M. Stallman <rms@gnu.org>
11842
11843 * m/hp800.h: Split the __hpux conditional into the parts
11844 that are right for GNU/Linux too and the parts that are not.
11845 Use the former if GNU_LINUX.
11846 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
11847
11848 * s/gnu-linux.h (GNU_LINUX): Defined.
11849
11850 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11851
11852 * macros.c, msdos.c, w16select.c: Change doc-string comments to
11853 `new style' [w/`doc:' keyword].
11854
11855 2001-12-10 Jason Rumney <jasonr@gnu.org>
11856
11857 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
11858 before using.
11859
11860 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11861
11862 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
11863 keyword].
11864
11865 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
11866
11867 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
11868
11869 * s/hpux10.h (srand48): Don't undefine.
11870
11871 2001-12-09 Jason Rumney <jasonr@gnu.org>
11872
11873 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
11874 Add comment to explain where the struct came from.
11875 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
11876 (add_menu_item): Process pop-up menus first to avoid memory leak.
11877 (add_menu_item, w32_menu_display_help): Use `help' field as
11878 Lisp_Object.
11879 (w32_free_submenu_strings): Only free owner-drawn strings.
11880
11881 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11882
11883 * COPYING: Moved back.
11884
11885 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
11886 Add parentheses around && within ||.
11887
11888 * indent.c (compute_motion): Likewise.
11889
11890 * intervals.c (merge_properties_sticky): Likewise.
11891
11892 * coding.c (setup_coding_system, shrink_encoding_region)
11893 (Fdecode_sjis_char): Likewise.
11894
11895 2001-12-07 Andreas Schwab <schwab@suse.de>
11896
11897 * xdisp.c (display_mode_element): Don't read past end of string if
11898 it ends with '%'.
11899
11900 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
11901 can hold.
11902
11903 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
11904 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
11905 type changed to Lisp_Object.
11906 (syms_of_data): DEFVAR_LISP them.
11907
11908 2001-12-07 Richard M. Stallman <rms@gnu.org>
11909
11910 * callproc.c (init_callproc): Set Vdata_directory based on the source
11911 location whenever Emacs was run uninstalled.
11912
11913 2001-12-06 Paul Eggert <eggert@twinsun.com>
11914
11915 * config.in (HAVE_WORKING_VFORK): New #undefs.
11916 * process.c (create_process):
11917 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
11918 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
11919 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
11920 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
11921 * m/intel386.h (HAVE_VFORK): Likewise.
11922 * m/mips-siemens.h (HAVE_VFORK): Likewise.
11923 * m/mips.h (HAVE_VFORK): Likewise.
11924 * s/freebsd.h (vfork): Remove #define.
11925 * s/lynxos.h (HAVE_VFORK): Remove #undef.
11926 * s/usg5-4-2.h: Fix comment about vfork.
11927
11928 2001-12-06 Richard M. Stallman <rms@gnu.org>
11929
11930 * s/hpux10.h (random): Add undef.
11931 (HAVE_RANDOM): Define it just once.
11932
11933 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
11934
11935 * eval.c: Undo last change: the standard syntax is not wanted.
11936
11937 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
11938
11939 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
11940 scroll bars of the frame before deleting the frame itself. If the
11941 frame has a widget, delete the frame with XtDestroyWidget, and do
11942 not call XDestroyWindow before that.
11943
11944 2001-12-06 Kim F. Storm <storm@cua.dk>
11945
11946 * xfns.c (x_report_frame_params): Return actual fringe widths.
11947
11948 * w32fns.c (x_report_frame_params): Return actual fringe widths.
11949
11950 2001-12-05 Andrew Innes <andrewi@gnu.org>
11951
11952 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
11953 excessively large.
11954
11955 * insdel.c (make_gap_larger): New function.
11956 (make_gap_smaller): New function.
11957 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
11958 Call make_gap_smaller if arg is negative.
11959
11960 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
11961
11962 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
11963 Pass a dummy argument when calling interrupt_signal.
11964 (parse_menu_item): Mark disabled items before checking for empty def.
11965 (read_char_minibuf_menu_prompt): Make safety more visible.
11966 (read_key_sequence): Add a `first_unbound' variable.
11967 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
11968 unbound prefix as soon as we can detect it.
11969
11970 * doc.c (Fsnarf_documentation): Add prototype.
11971 (get_doc_string): Handle negative arguments.
11972 (Fdocumentation): Use AREF and ASIZE.
11973 Move the calls to get_doc_string to a single place.
11974 Don't confuse an interactive-spec for a docstring reference.
11975 (Fdocumentation_property): Take advantage of the fact that
11976 get_doc_string now ignores the sign of the docstring position.
11977
11978 * eval.c: Use standard syntax for usage in docstrings.
11979
11980 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11981
11982 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
11983
11984 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11985
11986 * xterm.c (x_draw_image_relief): Use predefined macro instead of
11987 constant when the value of `tool_bar_button_relief' is negative.
11988
11989 2001-12-02 Richard M. Stallman <rms@gnu.org>
11990
11991 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
11992 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
11993
11994 * fileio.c (read_non_regular): Delete Fsignal call.
11995
11996 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
11997
11998 * lisp.h (run_hook_list_with_args): Undo last change.
11999
12000 2001-12-01 Gerd Moellmann <gerd@gnu.org>
12001
12002 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
12003
12004 2001-12-01 Jason Rumney <jasonr@gnu.org>
12005
12006 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
12007
12008 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
12009 [!WM_MOUSELEAVE]: Define.
12010
12011 * w32menu.c (current_popup_menu, get_menu_item_info):
12012 (set_menu_item_info): New vars.
12013 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
12014 (w32_menu_show): Set current_popup_menu.
12015 (add_menu_item): Allocate new strings for owner-drawn menu items
12016 and help strings.
12017 Use owner-draw for disabled menu items again.
12018 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
12019 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
12020
12021 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
12022 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
12023 <WM_EXITMENULOOP>: Free menu strings.
12024 <WM_MOUSELEAVE>: Stop tracking mouse.
12025 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
12026
12027 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
12028 and mouse face.
12029
12030 2001-12-01 Kim F. Storm <storm@cua.dk>
12031
12032 The following changes add left-fringe and right-fringe
12033 frame parameters to adjust fringe widths, or remove one or
12034 both fringes.
12035
12036 * frame.h (struct frame): Remove trunc_area_pixel_width and
12037 trunc_area_cols fields.
12038 (Qleft_fringe, Qright_fringe): Declare.
12039 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
12040
12041 * frame.c (Qleft_fringe, Qright_fringe): New vars.
12042 (syms_of_frame): Initialize them.
12043
12044 * window.c (coordinates_in_window): Handle separate left and right
12045 fringe widths.
12046
12047 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
12048 and fringe_cols fields.
12049 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
12050 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
12051 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
12052 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
12053 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
12054 (x_compute_fringe_widths): Add prototype.
12055
12056 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
12057 fill fringe evenly with small dashes.
12058 (x_draw_fringe_bitmap): Clear background if necessary. Align and
12059 clip the new ZV bitmap to avoid jitter between rows.
12060 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
12061 background. Don't draw fringe bitmaps if fringe width is zero.
12062 (x_compute_fringe_widths): New function.
12063 (x_new_font, x_set_window_size_1): Use it.
12064
12065 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
12066 (x_set_frame_parameters): Process `font' parameter before other
12067 parameters as fringe widths depend on it.
12068 (x_set_fringe_width): New function.
12069 (x_figure_window_size): Use x_compute_fringe_widths.
12070 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
12071 parameters.
12072
12073 * widget.c (set_frame_size): Use x_compute_fringe_widths.
12074 (EmacsFrameSetCharSize): Ditto.
12075
12076 * w32term.h: Merged changes from xterm.h.
12077 * w32term.c: Merged changes from xterm.c.
12078 * w32fns.c: Merged changes from xfns.c.
12079
12080 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12081
12082 * COPYING: Removed.
12083
12084 2001-11-29 Dave Love <fx@gnu.org>
12085
12086 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
12087 extra extra slot.
12088 (detect_coding_mask): Fix call of detect_coding_iso2022.
12089
12090 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12091
12092 * fileio.c (file-name-coding-system)
12093 (default-file-name-coding-system): Doc fix (links to referenced
12094 variables added).
12095
12096 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
12097
12098 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
12099 Add dummy uses of gcproN variables.
12100
12101 * category.c (describe_category, describe_category_1)
12102 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
12103 (syms_of_category): Don't defsubr Sdescribe_categories.
12104
12105 2001-11-28 Richard M. Stallman <rms@gnu.org>
12106
12107 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
12108
12109 * Makefile.in (lispdir): New variable, referring to build dir.
12110 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
12111
12112 2001-11-28 Andrew Innes <andrewi@gnu.org>
12113
12114 * w32menu.c (w32_menu_display_help): Actually add the new argument
12115 OWNER.
12116
12117 2001-11-28 Jason Rumney <jasonr@gnu.org>
12118
12119 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
12120 menu items. From David Ponce <dponce@wanadoo.fr>.
12121 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
12122 conditionally.
12123 (w32_menu_display_help): New argument OWNER. Rewritten to store a
12124 help event in the owner frame's keyboard buffer.
12125
12126 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
12127 (Fx_show_tip): Don't subtract last width from row width.
12128
12129 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
12130 (w32_read_socket): Use EQ to compare frames.
12131
12132 2001-11-28 Gerd Moellmann <gerd@gnu.org>
12133
12134 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
12135 OVERLAPS_P.
12136
12137 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12138
12139 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
12140 `gcpro3' and `gcpro4'.
12141
12142 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
12143
12144 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
12145
12146 * ccl.c: Use AREF and ASIZE.
12147
12148 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
12149
12150 * lisp.h (run_hook_list_with_args): Remove.
12151 (LIST_END_P): Fix call to wrong_type_argument.
12152 (make_fixnum_or_float): Use EMACS_INT rather than int.
12153
12154 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
12155
12156 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
12157 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
12158
12159 * eval.c: Use AREF and ASIZE.
12160 (Ffetch_bytecode): Add the file name to the error message.
12161
12162 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
12163 which match the end of the file-name.
12164 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
12165 is not a valid env var, but leave it as is instead.
12166
12167 * keymap.c (access_keymap): Handle t bindings like nil bindings.
12168 Make nil bindings in char-tables transparent.
12169 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
12170
12171 2001-11-26 Richard M. Stallman <rms@gnu.org>
12172
12173 * textprop.c (set_text_properties_1): Allow START, END in either order.
12174 Do nothing if range is empty.
12175
12176 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
12177
12178 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
12179 (clean): Not here.
12180
12181 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
12182
12183 * textprop.c (set_text_properties_1): Clearly mark that the
12184 interval should not be empty.
12185
12186 * intervals.c (graft_intervals_into_buffer):
12187 Don't call set_text_properties_1 on an empty interval.
12188
12189 2001-11-25 Richard M. Stallman <rms@gnu.org>
12190
12191 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
12192
12193 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
12194 don't lose the data in it.
12195
12196 2001-11-25 Juanma Barranquero <lektu@terra.es>
12197
12198 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
12199
12200 * buffer.c (Fkill_buffer): Likewise.
12201
12202 * print.c (temp_output_buffer_setup): Likewise.
12203
12204 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
12205
12206 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
12207
12208 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
12209
12210 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
12211 Niemitalo <kon@iki.fi>.
12212
12213 2001-11-25 Jason Rumney <jasonr@gnu.org>
12214
12215 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
12216
12217 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
12218 (Fx_show_tip): Block input during frame creation.
12219 (Fx_show_tip, Fx_hide_tip): Enable.
12220
12221 2001-11-24 Richard M. Stallman <rms@gnu.org>
12222
12223 * lread.c (Fload): Detect recursive load error for more than 3
12224 nestings of the same file.
12225 (Vrecursive_load_depth_limit): Variable deleted.
12226 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
12227
12228 2001-11-24 Jason Rumney <jasonr@gnu.org>
12229
12230 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
12231 mouse position if either left or top is not specified.
12232
12233 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
12234 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
12235 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
12236 (my_create_tip_window): Assign tip_window.
12237 (x_create_tip_frame): Use same defaults as X.
12238 (compute_tip_xy): Remove unused variable. Use full screen width.
12239 (Fx_show_tip): Do not double height. Call ShowWindow directly.
12240
12241 * w32term.c (x_after_update_window_line): Doc fix.
12242 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
12243 frames.
12244 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
12245
12246 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
12247 for all Windowed systems.
12248
12249 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
12250
12251 * msdos.c (IT_clear_screen): If the frame's faces are not yet
12252 realized, use the initial screen colors to clear the screen.
12253
12254 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12255
12256 * textprop.c (Fset_text_properties): Remove unused variables
12257 `unchanged', `prev_changed', `s' and `len'.
12258
12259 * search.c (Freplace_match): Remove unused variable `inslen'.
12260
12261 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
12262
12263 2001-11-22 Jason Rumney <jasonr@gnu.org>
12264
12265 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
12266 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
12267 (my_create_tip_window): New function.
12268 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
12269 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
12270
12271 2001-11-20 Jason Rumney <jasonr@gnu.org>
12272
12273 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
12274 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
12275
12276 * w32fns.c (Vw32_system_coding_system): Remove.
12277 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
12278
12279 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
12280
12281 * fileio.c (Fwrite_region): Move choose_write_coding_system to
12282 after build_annotations.
12283
12284 * syntax.c (describe_syntax): Add dummy arg.
12285 (describe_syntax_1): Update call to describe_vector.
12286
12287 * category.c (describe_category): Add dummy arg.
12288 (describe_category_1): Update call to describe_vector.
12289
12290 * keymap.c (Fdescribe_vector): Add `describer' parameter.
12291 (describe_command, describe_translation): Add dummy second param.
12292 (describe_map): Call elt_describer with two arguments.
12293 (describe_vector_princ): Add `fun' parameter.
12294 Call it instead of the hardcoded `princ'.
12295 (describe_vector): Add arg `args'.
12296 Pass it as a new second argument to elt_describer.
12297
12298 * keymap.h (describe_vector): Update prototype.
12299
12300 * frame.c: Don't include keymap.h any more.
12301 (keys_of_frame): Remove.
12302
12303 * lisp.h (keys_of_frame): Remove declaration.
12304
12305 * emacs.c (main): Don't call `keys_of_frame' any more.
12306
12307 2001-11-14 Andreas Schwab <schwab@suse.de>
12308
12309 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
12310 if defined, 0 otherwise.
12311 (MAP_FAILED): Define if not defined and use it to test mmap failure.
12312 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
12313
12314 2001-11-19 Richard M. Stallman <rms@gnu.org>
12315
12316 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
12317
12318 2001-11-18 Jason Rumney <jasonr@gnu.org>
12319
12320 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
12321 (x_draw_bar_cursor): If the background color of the glyph under
12322 the cursor equals the frame's cursor color, use the glyph's
12323 foreground color for drawing the bar cursor.
12324 (x_after_update_window_line): Clear internal border in different
12325 circumstances.
12326 (w32_set_vertical_scroll_bar): Check for width and height > 0.
12327 (w32_draw_relief_rect): Correct relief by 1 pixel.
12328 (x_set_glyph_string_background_width):
12329 Set extends_to_end_of_line_p if the row's fill_line_p is set and
12330 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
12331 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
12332 if cursor_in_non_selected_windows is false.
12333 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
12334 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
12335 Notice if cursor gets overwritten.
12336 (notice_overwritten_cursor): Renamed from
12337 note_overwritten_text_cursor. Rewritten to take glyph widths
12338 into account, and to take X positions as parameters.
12339 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
12340 around call to x_draw_glyphs.
12341 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
12342 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
12343 color to use for image glyph reliefs.
12344 (x_draw_image_relief): Accept zero tool_bar_button_relief.
12345 (glyph_rect): Remove unused variable `area'.
12346
12347 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
12348 some items.
12349 (x_set_internal_border_width): Set frame garbaged when window
12350 doesn't exist yet.
12351 (Fx_create_frame): Accept zero tool_bar_button_relief.
12352 (x_clear_image_1, four_corners_best, image_background)
12353 (image_background_transparent): New functions.
12354 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
12355 (gs_format): Add `:background' entry.
12356 (lookup_image): Set IMG's background color if specified.
12357 (pbm_load, xbm_load_image, png_load): Set IMG's background field
12358 when appropriate.
12359 (x_clear_image_1): Reset `background_valid' and
12360 `background_transparent_valid' fields.
12361 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
12362 calculating it here. Set IMG's background_transparent field.
12363 (enum xpm_keyword_index): Add XPM_BACKGROUND.
12364 (enum png_keyword_index): Add PNG_BACKGROUND.
12365 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
12366 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
12367 (enum gif_keyword_index): Add GIF_BACKGROUND.
12368 (enum gs_keyword_index): Add GS_BACKGROUND.
12369 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
12370 Pre-calculate image background color where necessary.
12371 (x_create_x_image_and_pixmap, xbm_load, gs_load):
12372 Use display info's n_cbits entry for screen depth.
12373 (Fx_show_tip): Remove unused variables `buffer', `top',
12374 `left', `max_width' and `max_height'.
12375
12376 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
12377
12378 2001-11-18 Gerd Moellmann <gerd@gnu.org>
12379
12380 * puresize.h (BASE_PURESIZE): Increase to 750000.
12381
12382 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12383
12384 * frame.c (Fframe_live_p): Doc fix.
12385
12386 2001-11-18 Richard M. Stallman <rms@gnu.org>
12387
12388 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
12389 (message_dolog_marker3): New static variables hold three markers.
12390 (syms_of_xdisp): Initialize and staticpro them.
12391 (message_dolog): Use message_dolog_marker1..3 instead of
12392 allocating markers each time. Unchain them when done.
12393
12394 2001-11-17 Richard M. Stallman <rms@gnu.org>
12395
12396 * doc.c (Fsnarf_documentation): Doc fix.
12397
12398 2001-11-17 Andreas Schwab <schwab@suse.de>
12399
12400 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
12401
12402 2001-11-17 Richard M. Stallman <rms@gnu.org>
12403
12404 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
12405
12406 2001-11-17 Jason Rumney <jasonr@gnu.org>
12407
12408 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
12409
12410 2001-11-17 Gerd Moellmann <gerd@gnu.org>
12411
12412 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
12413 with invalid position.
12414
12415 2001-11-16 Richard M. Stallman <rms@gnu.org>
12416
12417 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
12418
12419 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
12420 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
12421 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
12422
12423 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
12424
12425 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
12426
12427 * fileio.c (build_annotations): Split off the tail.
12428 (build_annotations_2): New fun. Extracted from build_annotations.
12429 (Fwrite_region): Split the call to build_annotations into two
12430 calls to build_annotations and build_annotations_2.
12431
12432 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12433
12434 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
12435 clear_waiting_for_input with argument.
12436
12437 * xterm.h (x_update_cursor): Remove duplicated prototype.
12438
12439 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
12440
12441 * xterm.c (waiting_for_input): Remove unnecessary declaration.
12442
12443 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
12444
12445 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
12446
12447 * fileio.c (choose_write_coding_system): New fun, extracted
12448 from Fwrite_region.
12449 (Fwrite_region): Use it.
12450
12451 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
12452 (funcall_lambda, run_hook_with_args): Make static and add prototype.
12453 (ml_apply, find_handler_clause): Add prototype.
12454
12455 2001-11-16 Eli Zaretskii <eliz@gnu.org>
12456
12457 * config.in: Add #undef HAVE_COFF_H.
12458
12459 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
12460 Required for ISC 4.1.
12461
12462 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
12463
12464 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
12465 Andrew Wiseman <a.wiseman@btclick.com>.
12466
12467 2001-11-16 Kim F. Storm <storm@cua.dk>
12468
12469 The following changes are made to clean up the various internal
12470 references to the fringes to actually use the term `fringe' for
12471 them. Previously, they were called `flags areas', `bitmap areas',
12472 `left/right side of windows', or implicitly as `flags' or
12473 `bitmaps':
12474
12475 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
12476 Comments fixed. Use renamed symbols.
12477
12478 * dispnew.c: Comment fix. Use renamed symbols.
12479
12480 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
12481 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
12482 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
12483
12484 * msdos.c: Comment fix.
12485
12486 * w32fns.c: Use renamed symbols.
12487
12488 * w32term.c: Comment fixes. Use renamed symbols.
12489 (fringe_bitmap_type): Renamed from bitmap_type.
12490 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
12491 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
12492 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
12493
12494 * w32term.h: Comment fixes. Use renamed symbols.
12495 (fringes_extra): Renamed from flags_areas_extra.
12496 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
12497 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
12498 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
12499 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
12500 (FRAME_X_LEFT_FRINGE_WIDTH):
12501 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
12502 (FRAME_X_RIGHT_FRINGE_WIDTH):
12503 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
12504
12505 * widget.c: Use renamed symbols.
12506
12507 * window.c: Comment fixes. Use renamed symbols.
12508 (coordinates-in-window-p): Doc fix.
12509
12510 * xdisp.c: Comment fixes. Use renamed symbols.
12511
12512 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
12513
12514 * xfns.c: Use renamed symbols.
12515
12516 * xterm.c: Comment fixes. Use renamed symbols.
12517 (fringe_bitmap_type): Renamed from bitmap_type.
12518 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
12519 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
12520 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
12521
12522 * xterm.h: Comment fixes. Use renamed symbols.
12523 (fringes_extra): Renamed from flags_areas_extra.
12524 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
12525 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
12526 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
12527 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
12528 (FRAME_X_LEFT_FRINGE_WIDTH):
12529 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
12530 (FRAME_X_RIGHT_FRINGE_WIDTH):
12531 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
12532
12533 2001-11-15 Jason Rumney <jasonr@gnu.org>
12534
12535 * w32menu.c (add-menu-item): Make help_echo and radio buttons
12536 work for most menu items. From David Ponce
12537 <david.ponce@wanadoo.fr>.
12538
12539 2001-11-15 Gerd Moellmann <gerd@gnu.org>
12540
12541 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
12542 Some x_set_* function expect to be called even if old and new
12543 value are equal.
12544
12545 * xdisp.c (build_desired_tool_bar_string): Accept zero
12546 tool_bar_button_relief.
12547
12548 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
12549
12550 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
12551
12552 * xterm.c (x_draw_bar_cursor): If the background color of the
12553 glyph under the cursor equals the frame's cursor color, use
12554 the glyph's foreground color for drawing the bar cursor.
12555
12556 * dispnew.c (direct_output_forward_char): Fix character/byte
12557 position comparison.
12558
12559 2001-11-15 Miles Bader <miles@gnu.org>
12560
12561 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
12562 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
12563 Update arguments to find_field.
12564 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
12565 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
12566 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
12567 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
12568
12569 2001-11-14 Richard M. Stallman <rms@gnu.org>
12570
12571 * editfns.c (Fpropertize): Allow call with 1 arg.
12572
12573 * dispextern.h (image_background, image_background_transparent):
12574 Conditionalize on HAVE_X_WINDOWS.
12575
12576 2001-11-13 Richard M. Stallman <rms@gnu.org>
12577
12578 * print.c (Fprin1_to_string): Doc fix.
12579
12580 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
12581
12582 * floatfns.c (Fceiling, Ffloor): Doc fixes.
12583
12584 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
12585
12586 * fileio.c (Ffile_accessible_directory_p): Doc fix.
12587
12588 * eval.c (syms_of_eval): Doc fix.
12589
12590 * coding.c (syms_of_coding): Doc fix.
12591
12592 * doc.c (Fsnarf_documentation): Doc fix.
12593
12594 * dispnew.c (syms_of_display): Doc fix.
12595
12596 * category.c (Fget_unused_category): Doc fix.
12597
12598 * buffer.c (syms_of_buffer): Doc fixes.
12599
12600 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
12601
12602 * print.c (prin1, print): Doc fix.
12603
12604 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12605
12606 * fontset.h: Remove declarations of variables
12607 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
12608
12609 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
12610 `Vclip_large_size_font'.
12611
12612 2001-11-13 Jason Rumney <jasonr@gnu.org>
12613
12614 * w32fns.c: Doc fix.
12615
12616 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12617
12618 * xfaces.c (Fface_attributes_as_vector): Doc fix.
12619
12620 * fns.c: Doc fix.
12621
12622 * emacs.c: Doc fix.
12623
12624 * coding.c: Doc fix.
12625
12626 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
12627 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
12628 `new style' [w/`doc:' keyword].
12629
12630 2001-11-12 Richard M. Stallman <rms@gnu.org>
12631
12632 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
12633 LeaveNotify events. Only FocusIn and FocusOut do that now.
12634 (x_display_and_set_cursor): Do display hollow cursors in active
12635 minibuffer windows when they are not selected.
12636
12637 2001-11-12 Jason Rumney <jasonr@gnu.org>
12638
12639 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
12640 * w32term.c: Change doc-string comments to `new style'.
12641 [w/`doc:' keyword]. Doc fixes.
12642
12643 * w32fns.c: Don't define max.
12644 (Fx_open_connection): Only execute once.
12645
12646 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12647
12648 * ccl.c: Change macros to use do-while block instead of if-else.
12649 Use braces to follow GNU Coding Standards.
12650
12651 2001-11-11 Richard M. Stallman <rms@gnu.org>
12652
12653 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
12654
12655 * lread.c (read_escape): Use end_of_file_error for reporting eof.
12656
12657 * insdel.c (replace_range): Use adjust_markers_for_replace
12658 instead of adjust_markers_for_delete and adjust_markers_for_insert.
12659
12660 * intervals.h: Declare set_text_properties and set_text_properties_1.
12661
12662 * textprop.c (set_text_properties_1): New subroutine
12663 broken out of set_text_properties.
12664 (set_text_properties): Use set_text_properties_1.
12665
12666 * intervals.c (graft_intervals_into_buffer):
12667 Use set_text_properties_1 to clear out properties.
12668
12669 * search.c (Freplace_match): Use replace_range to insert
12670 and delete. Don't request property inheritance from
12671 surrounding text.
12672
12673 2001-11-10 Jason Rumney <jasonr@gnu.org>
12674
12675 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
12676 vertical fonts. Allow them if face name is explicitly specified.
12677 Do not give up if we find a font that cannot be converted to an xlfd.
12678
12679 2001-11-10 Gerd Moellmann <gerd@gnu.org>
12680
12681 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
12682 instead of malloc/free.
12683
12684 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12685
12686 * xfaces.c (merge_face_vectors): Use braces to follow GNU
12687 Coding Standards.
12688 (Finternal_set_lisp_face_attribute): Likewise.
12689
12690 * buffer.c (Fbury_buffer): Likewise.
12691
12692 * indent.c (current_column_1): Remove unused variable `prev_col'.
12693
12694 * coding.c (encode_coding): Use precomputed value of `src'.
12695 (encode_coding): Remove unused variable `src_end'.
12696 (code_convert_region): Remove unused variables `count'.
12697
12698 2001-11-07 Jason Rumney <jasonr@gnu.org>
12699
12700 * w32term.c (x_display_and_set_cursor): Do not move system caret
12701 if cursor_glyph is NULL.
12702
12703 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12704
12705 * keymap.c (access_keymap): Fix compilation error.
12706
12707 2001-11-07 Miles Bader <miles@gnu.org>
12708
12709 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
12710
12711 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12712
12713 * intervals.c (graft_intervals_into_buffer):
12714 Remove #ifdef'd-out code.
12715 (graft_intervals_into_buffer): Remove unused variable `middle'.
12716
12717 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
12718 code (eval-current-buffer).
12719 Change doc-string comments to `new style' [w/`doc:' keyword].
12720
12721 2001-11-06 Richard M. Stallman <rms@gnu.org>
12722
12723 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
12724
12725 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
12726
12727 * lread.c (read1): Fix behavior with nested backquoting.
12728
12729 * keyboard.c (make_lispy_event): Check integerness and fix
12730 Lisp_Object/int mixup.
12731
12732 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12733
12734 * fns.c (copy_hash_table): Remove unused variable `v'.
12735
12736 * fontset.c (fontset_font_pattern): Remove unused variable
12737 `family_registry'.
12738
12739 * indent.c (current_column_1): Remove unused variable `prev_col'.
12740
12741 2001-11-05 Richard M. Stallman <rms@gnu.org>
12742
12743 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
12744
12745 * buffer.c (Fkill_buffer): Don't delete auto save file
12746 if buffer is modified.
12747
12748 2001-11-05 Andrew Innes <andrewi@gnu.org>
12749
12750 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
12751 CHECK_NUMBER_CDR.
12752
12753 2001-11-05 Richard M. Stallman <rms@gnu.org>
12754
12755 * unexelf.c (unexec): Minor changes; clean up comments.
12756
12757 2001-11-05 Sam Steingold <sds@gnu.org>
12758
12759 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
12760
12761 2001-11-05 Andreas Schwab <schwab@suse.de>
12762
12763 * sound.c (sound_perror): Save errno from being clobbered.
12764
12765 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
12766
12767 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
12768 the program image directly.
12769
12770 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12771
12772 * buffer.h (Fbuffer_local_value): Add prototype.
12773
12774 2001-11-04 Richard M. Stallman <rms@gnu.org>
12775
12776 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
12777 and CHECK_BUFFER.
12778
12779 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
12780 (record_char): Likewise.
12781
12782 * keyboard.c (make_lispy_event): Don't insist a drag event must
12783 move to a different buffer position. Instead, check for moving at
12784 least double_click_fuzz.
12785
12786 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
12787
12788 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
12789
12790 * indent.c (current_column_1, Fmove_to_column): Separate the code
12791 for display-table glyphs from the code for buffer text, to fix
12792 bugs in the former.
12793
12794 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
12795
12796 * buffer.c (Fbuffer_local_value): New function.
12797 (syms_of_buffer): Defsubr it.
12798
12799 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
12800 value of `cursor-in-non-selected-windows'.
12801
12802 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
12803 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
12804 (syms_of_xdisp): Initialize it.
12805
12806 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12807
12808 * xfns.c (Fx_create_frame): Doc fix.
12809
12810 * coding.c: Change doc-string comments to `new style' [w/`doc:'
12811 keyword].
12812
12813 * eval.c (top_level_value, top_level_set): Remove commented and
12814 #ifdef'd-out code.
12815 (Fdefvar): Fix usage in doc-string.
12816
12817 2001-11-03 Richard M. Stallman <rms@gnu.org>
12818
12819 * xfns.c: Include unistd.h, if it exists.
12820
12821 * editfns.c: Move the include of ctype.h after unistd.h.
12822
12823 * gmalloc.c: Test BROKEN_PROTOTYPES.
12824
12825 2001-11-03 Ken Raeburn <raeburn@gnu.org>
12826
12827 * lisp.h (CHECK_STRING_CAR): New macro.
12828 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
12829 treating XCAR and XCDR as lvalues.
12830 (openp): Use CHECK_STRING_CAR.
12831 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
12832
12833 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
12834
12835 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
12836 (SIGMASKTYPE): Define.
12837
12838 * syssignal.h (sigunblock): Don't define if already defined.
12839
12840 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12841
12842 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
12843 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
12844 Fix typos in comments.
12845
12846 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
12847 and #ifdef'd-out code.
12848 Fix and reindent comments.
12849
12850 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
12851
12852 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
12853 argument `i' in macros.
12854
12855 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
12856 `i' in macros.
12857
12858 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
12859 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
12860 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
12861 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
12862 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
12863 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
12864 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
12865 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
12866 in macros.
12867
12868 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
12869 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
12870 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
12871 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
12872 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
12873 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
12874 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
12875 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
12876 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
12877 (remove unused second argument).
12878
12879 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
12880
12881 * syntax.c (describe_syntax): New wrapper.
12882 (Finternal_describe_syntax_value): Rename from describe_syntax.
12883 Don't insert space at front and \n at the end.
12884 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
12885
12886 * regex.c (re_wctype): Try to fix some warnings.
12887 (regcomp, regexec): Don't forget the __restrict.
12888
12889 2001-11-02 Richard M. Stallman <rms@gnu.org>
12890
12891 * textprop.c (Fget_char_property): Doc fix.
12892
12893 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12894
12895 * process.c (Fstart_process): Add usage to doc-string.
12896
12897 * data.c (Fsetq_default): Ditto.
12898
12899 * callint.c (Finteractive): Ditto.
12900
12901 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
12902
12903 * macros.c: Don't include keymap.h any more.
12904
12905 2001-11-01 Richard M. Stallman <rms@gnu.org>
12906
12907 * data.c (Fmake_local_variable): Doc fix.
12908
12909 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
12910 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
12911
12912 * keymap.c (Fdescribe_buffer_bindings): Print character property
12913 bindings along with or instead of the buffer local map.
12914 Make the overriding maps override what they should.
12915
12916 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12917
12918 * window.c (grow_mini_window): Fix typo in comment.
12919
12920 2001-11-01 Gerd Moellmann <gerd@gnu.org>
12921
12922 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
12923 (XTset_vertical_scroll_bar): Likewise.
12924
12925 * xfns.c (x_build_heuristic_mask): Use four_corners_best
12926 instead of IMAGE_BACKGROUND.
12927
12928 * xfns.c (four_corners_best): Reindent.
12929
12930 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
12931 Handle :box so that it is possible to specify sexprs.
12932
12933 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
12934
12935 * s/hpux11.h: New file.
12936
12937 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12938
12939 * emacs.c (USAGE1): Show command line option --no-window-system
12940 instead of --no-windows in usage.
12941 (standard_args): Rename --no-windows to --no-window-system.
12942 (bug_reporting_address): Follow Emacs coding conventions.
12943
12944 * eval.c (Fcommandp): Doc fix.
12945 Change doc-string comments to `new style' [w/`doc:' keyword].
12946
12947 * frame.c (Fframe_live_p): Doc fix.
12948
12949 * buffer.c (selective-display-ellipses): Doc fix.
12950
12951 2001-10-31 Gerd Moellmann <gerd@gnu.org>
12952
12953 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
12954
12955 * xfaces.c (realize_x_face): If C is not a single-byte character,
12956 set the face's colors_copied_bitwise_p instead of the defaulted_p
12957 members which have a different meaning.
12958 (free_face_colors): Do nothing for a face whose colors have been
12959 copied bitwise.
12960
12961 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
12962
12963 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12964
12965 * marker.c, mocklisp.c: Change doc-string comments to `new style'
12966 [w/`doc:' keyword].
12967
12968 2001-10-31 Gerd Moellmann <gerd@gnu.org>
12969
12970 * fns.c (require_unwind): Return Lisp_Object.
12971
12972 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12973
12974 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
12975 (last-input-char): Revert doc-string to be the same as the
12976 doc-string of `last-input-event'.
12977
12978 * xdisp.c: Fix typos in comments.
12979
12980 2001-10-31 Gerd Moellmann <gerd@gnu.org>
12981
12982 * window.c (grow_mini_window): Handle case that the root
12983 window is already smaller than the nominal mininum height.
12984
12985 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
12986
12987 * emacs.c (main): Don't call keys_of_macros any more.
12988
12989 * lisp.h (keys_of_macros): Remove.
12990
12991 * macros.c (keys_of_macros): Remove.
12992
12993 * xfaces.c (Fface_attribute_relative_p): Declare args.
12994
12995 2001-10-30 Jason Rumney <jasonr@gnu.org>
12996
12997 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
12998 (enum_font_cb2): Ignore fonts with vertical orientation.
12999
13000 2001-10-30 Richard M. Stallman <rms@gnu.org>
13001
13002 * keyboard.c (Finput_pending_p): Doc fix.
13003
13004 2001-10-30 Gerd Moellmann <gerd@gnu.org>
13005
13006 * xterm.c (x_after_update_window_line): Don't run the code
13007 clearing in borders for rows whose visible height is 0.
13008
13009 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
13010 resized_p flag is set. If not set, use the much less flickering
13011 method previously used.
13012
13013 * dispnew.c (change_frame_size_1): Set frame's resized_p.
13014
13015 * frame.h (struct frame) <resized_p>: New member.
13016
13017 * lread.c (to_multibyte): Ensure read_buffer is at least twice
13018 as large as the number of bytes to convert.
13019
13020 * lread.c (to_multibyte): New function.
13021 (read1): Use it.
13022
13023 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
13024
13025 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
13026
13027 2001-10-30 Gerd Moellmann <gerd@gnu.org>
13028
13029 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
13030 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
13031 if the row's fill_line_p is set and drawing the last glyph with
13032 DRAW_IMAGE_{RAISED,SUNKEN}.
13033
13034 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
13035
13036 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
13037
13038 * xmenu.c: Include coding.h and charset.h.
13039 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
13040 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
13041 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
13042 Explicitly set wv->help. Use `TRUE' rather than `True'.
13043 (menu_help_callback): Use empty_string.
13044
13045 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
13046 (Fx_popup_dialog): Explicitly init f.
13047 (w32_menu_display_help): Use empty_string.
13048
13049 2001-10-29 Richard M. Stallman <rms@gnu.org>
13050
13051 * fns.c (Frequire): Detect recursive try to require the same
13052 feature 3 or more levels deep, and get error.
13053 (require_unwind): New subroutine.
13054 (require_nesting_list): New variable.
13055 (syms_of_fns): Init and staticpro it.
13056
13057 * print.c (print_object): Clarify indication of insertion type.
13058
13059 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
13060
13061 * coding.c (syms_of_coding): Document that locale-coding-system is
13062 used for decoding input on X.
13063
13064 * window.c (Fscroll_left, Fscroll_right): Doc fix.
13065
13066 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13067
13068 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
13069 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
13070
13071 2001-10-29 Gerd Moellmann <gerd@gnu.org>
13072
13073 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
13074 use NO_CURSOR if cursor_in_non_selected_windows is false.
13075
13076 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
13077 the slant attribute if FRAME is t.
13078
13079 * xfns.c (x_set_internal_border_width): Set frame garbaged
13080 when X window doesn't exist yet.
13081
13082 * xterm.c (x_after_update_window_line): Clear internal border
13083 in different circumstances.
13084
13085 * xterm.c (XTread_socket) <KeyPress>: Don't use
13086 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
13087 <handa@etl.go.jp>.
13088
13089 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
13090
13091 * m/ibms390.h: New file. From Adam Thornton
13092 <athornton@sinenomine.net>.
13093
13094 2001-10-28 Gerd Moellmann <gerd@gnu.org>
13095
13096 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
13097
13098 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
13099 a loop counter.
13100
13101 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13102
13103 * emacs.c: Use argv[0] instead of emacs when -t was specified.
13104
13105 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
13106 keyword].
13107 Fix typos in comments.
13108
13109 * emacs.c (bug_reporting_address): New function.
13110 Use it when displaying usage message.
13111
13112 * minibuf.c (read_minibuf): Remove unused external declaration of
13113 variable `Qread_only'.
13114
13115 * keymap.c (access_keymap): Remove unused variable `charset'.
13116
13117 2001-10-28 Miles Bader <miles@gnu.org>
13118
13119 * xfaces.c (merge_face_heights): Handle TO being relative as well.
13120 Remove #ifdef'd-out code.
13121 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
13122 (syms_of_xfaces): Initialize them.
13123
13124 2001-10-27 Jason Rumney <jasonr@gnu.org>
13125
13126 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
13127 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
13128 position using the system caret.
13129
13130 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
13131 (w32_system_caret_height, w32_system_caret_x)
13132 (w32_system_caret_y): New variables for tracking system caret.
13133 (w32_initialize): Initialize them.
13134 (x_display_and_set_cursor): Make system caret follow the active cursor.
13135
13136 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
13137 New messages types.
13138
13139 * w32term.c (note_mouse_highlight): Clear old help_echo.
13140
13141 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13142
13143 * xterm.c: Fix typo in a comment.
13144
13145 * emacs.c: Fix typos in comments.
13146 Remove unnecessary spaces.
13147 Change doc-string comments to `new style' [w/`doc:' keyword].
13148 (USAGE2): Fix typos in usage string.
13149
13150 * xterm.c: Fix typo in a comment.
13151
13152 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
13153 emacs.c.
13154
13155 2001-10-27 Gerd Moellmann <gerd@gnu.org>
13156
13157 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
13158 instead of 1/2 line_height in the heuristic for skipping
13159 farther backward when target_y was not reached.
13160
13161 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
13162 Display errno only if non-zero.
13163 (sound_warning): New function.
13164 (vox_configure): Don't treat failing to set sample rate as error.
13165 (various places): Improve error messages.
13166
13167 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
13168
13169 * fileio.c (Faccess_file): Run the argument filename through
13170 Fexpand_file_name, before using it.
13171
13172 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
13173 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
13174
13175 2001-10-26 Gerd Moellmann <gerd@gnu.org>
13176
13177 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
13178
13179 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
13180 Fix clearing in the case of scroll bars on the right.
13181
13182 2001-10-26 Juanma Barranquero <lektu@terra.es>
13183
13184 * w32gui.h (XImage): Add a dummy typedef.
13185
13186 2001-10-26 Gerd Moellmann <gerd@gnu.org>
13187
13188 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
13189
13190 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
13191
13192 * frame.c (Fframe_parameter): Fix last change.
13193
13194 * fileio.c: Revert last change (which removed old commented-out
13195 version of expand-file-name). Add a comment that explains why
13196 this old version should not be removed.
13197
13198 2001-10-25 Gerd Moellmann <gerd@gnu.org>
13199
13200 * frame.c (Fframe_parameter): Fix a bug whereby some
13201 ``artificial'' frame parameters, like `minibuffer' were not
13202 obtained by calling Fframe_parameters.
13203
13204 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
13205 cursor differently.
13206
13207 * xdisp.c (move_it_vertically_backward): Compute line height
13208 differently. Add heuristic to try to be more compatible to 20.x.
13209
13210 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
13211
13212 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
13213
13214 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
13215 boolean.
13216
13217 2001-10-25 Miles Bader <miles@gnu.org>
13218
13219 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
13220 BG is a pointer to a structure, not a structure.
13221 (gif_format, png_format): Add missing commas.
13222
13223 2001-10-24 Richard M. Stallman <rms@gnu.org>
13224
13225 * xfaces.c (Fface_attributes_as_vector): New function.
13226 (syms_of_xfaces): Defsubr it.
13227
13228 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13229
13230 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
13231 variable `area'.
13232
13233 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13234
13235 * search.c (scan_newline): Remove unused variable `selective_display'.
13236
13237 2001-10-25 Miles Bader <miles@gnu.org>
13238
13239 * dispextern.h (struct image): Add `background',
13240 `background_valid', and `background_transparent' fields.
13241 (image_background, image_background_transparent): New declarations.
13242 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
13243 * xfns.c (image_background, image_background_transparent)
13244 (four_corners_best): New functions.
13245 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
13246 (gs_format): Add `:background' entry.
13247 (lookup_image): Set IMG's background color if specified.
13248 (pbm_load, xbm_load_image, png_load): Set IMG's background field
13249 when appropriate.
13250 (x_clear_image_1): Reset `background_valid' and
13251 `background_transparent_valid' fields.
13252 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
13253 calculating it here. Set IMG's background_transparent field.
13254 (enum xpm_keyword_index): Add XPM_BACKGROUND.
13255 (enum png_keyword_index): Add PNG_BACKGROUND.
13256 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
13257 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
13258 (enum gif_keyword_index): Add GIF_BACKGROUND.
13259 (enum gs_keyword_index): Add GS_BACKGROUND.
13260 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
13261 Pre-calculate image background color where necessary.
13262 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
13263 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
13264 color to use for image glyph reliefs.
13265
13266 2001-10-24 Gerd Moellmann <gerd@gnu.org>
13267
13268 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
13269 in full-width rows.
13270
13271 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
13272 Fix clearing of area not covered by scroll bar.
13273
13274 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13275
13276 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
13277 and `real_start'.
13278 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
13279 (glyph_rect): Remove unused variable `area'.
13280
13281 2001-10-24 Gerd Moellmann <gerd@gnu.org>
13282
13283 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
13284
13285 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
13286 (row_containing_pos): Take additional argument DY.
13287 Treat rows ending in middle of char differently.
13288 (display_line): Handle tabs on window systems differently.
13289
13290 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
13291 with additional argument.
13292
13293 * dispextern.h (row_containing_pos): Adjust prototype.
13294
13295 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
13296 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
13297 (try_window_id, try_window_reusing_current_matrix)
13298 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
13299 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
13300
13301 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13302
13303 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
13304 gnuemacs).
13305 (HAVE_BOXES): Fix typo in comment.
13306 (push_menu_pane): Fix typo in comment.
13307
13308 * xdisp.c: (display_prop_string_p): Remove unused local declaration
13309 of `Qwhen'.
13310 (single_display_prop_string_p): Remove unused local declarations
13311 of `Qwhen' and `Qmargin'.
13312 (string_buffer_position): Remove unused variable `around'.
13313 (store_frame_title): Remove unused variable `width'.
13314
13315 * window.c: Don't define max.
13316 (coordinates_in_window): Remove unused variable `uy'.
13317
13318 * widget.c: Don't define max.
13319
13320 * process.c: Don't define max.
13321 (create_process): Remove unused variable `buffer'.
13322
13323 2001-10-23 Gerd Moellmann <gerd@gnu.org>
13324
13325 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
13326
13327 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
13328
13329 * xfaces.c (Finternal_set_lisp_face_attribute)
13330 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
13331 frame is on a windowed display.
13332
13333 2001-10-23 Gerd Moellmann <gerd@gnu.org>
13334
13335 * dispnew.c (sync_window_with_frame_matrix_rows):
13336 Fix handling of windows which aren't full-width, fix handling
13337 of marginal areas.
13338
13339 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
13340
13341 2001-10-23 Andreas Schwab <schwab@suse.de>
13342
13343 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
13344 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
13345
13346 2001-10-23 Gerd Moellmann <gerd@gnu.org>
13347
13348 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
13349 REAL_END. Notice if cursor gets overwritten.
13350 (notice_overwritten_cursor): Take X positions as parameters.
13351 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
13352 around call to x_draw_glyphs.
13353
13354 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13355
13356 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
13357 instead of C) and usage.
13358
13359 * editfns.c (char-to-string): Fix argument names (use CHAR instead
13360 of C) and usage.
13361
13362 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
13363 `left', `max_width' and `max_height'.
13364
13365 2001-10-23 Gerd Moellmann <gerd@gnu.org>
13366
13367 * xdisp.c (display_line): For a tab continued to the next line,
13368 set row's ends_in_middle_of_char_p.
13369
13370 2001-10-22 Gerd Moellmann <gerd@gnu.org>
13371
13372 * xdisp.c (display_line): Fix computation of continuation lines
13373 width for TABs.
13374
13375 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13376
13377 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
13378 `Qlaplace'.
13379
13380 * fileio.c: Remove unused code.
13381
13382 2001-10-22 Miles Bader <miles@gnu.org>
13383
13384 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
13385 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
13386 Remove `DOC_STRINGS_IN_COMMENTS' cases.
13387
13388 2001-10-21 Jason Rumney <jasonr@gnu.org>
13389
13390 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
13391
13392 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
13393
13394 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
13395 (Finsert_string): Avoid the multi-line string literals warning.
13396
13397 2001-10-22 Miles Bader <miles@gnu.org>
13398
13399 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
13400 (Fdocumentation): Don't use it.
13401 (syms_of_doc): Don't initialize it.
13402
13403 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
13404 * print.c (Fwith_output_to_temp_buffer): Likewise.
13405 * window.c (Fsave_window_excursion): Likewise.
13406 * editfns.c (Fsave_excursion, Fsave_current_buffer)
13407 (Fsave_restriction): Likewise.
13408 * eval.c (Frun_hooks, Frun_hook_with_args)
13409 (Frun_hook_with_args_until_failure)
13410 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
13411 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
13412 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
13413 (Funwind_protect, Fcondition_case): Likewise.
13414 * coding.c (Ffind_operation_coding_system): Likewise.
13415 * keyboard.c (Ftrack_mouse): Likewise.
13416
13417 2001-10-21 Miles Bader <miles@gnu.org>
13418
13419 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
13420 (Fmake_hash_table): Add usage: string to doc string.
13421 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
13422 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
13423 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
13424 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
13425 (Fml_prefix_argument_loop): Likewise.
13426
13427 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13428
13429 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
13430
13431 * sysdep.c (init_sys_modes): Change doc-string comments to `new
13432 style' [w/`doc:' keyword].
13433
13434 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
13435 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
13436 comments to `new style' [w/`doc:' keyword].
13437
13438 2001-10-21 Jason Rumney <jasonr@gnu.org>
13439
13440 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
13441
13442 * w32term.c (remember_mouse_glyph): New function.
13443 (w32_mouse_position): Use it.
13444 (note_mouse_movement): If the mouse moved off the glyph, remember
13445 its new position.
13446
13447 * w32term.h (struct w32_output): Correct spelling of x_compatible.
13448 (w32_display_info): Add mouse_face_overlay.
13449
13450 * w32term.c (notice_overwritten_cursor): Renamed from
13451 note_overwritten_text_cursor. Rewritten to take glyph widths into
13452 account.
13453 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
13454 (fast_find_string_pos): New function.
13455 (fast_find_position): Return the correct vpos. Add parameter
13456 STOP. In the final row, stop before glyphs having STOP as object.
13457 Don't consider glyphs that are not from a buffer.
13458 (fast_find_position) [0]: Add a presumably more correct version
13459 for after 21.1.
13460 (expose_window_tree, expose_frame): Don't compute intersections here.
13461 (expose_window): Do it here instead.
13462 (expose_window_tree, expose_window, expose_line): Return 1 when
13463 overwriting mouse-face.
13464 (expose_window): If W is the window currently being updated, mark
13465 the frame garbaged.
13466 (expose_frame): If mouse-face was overwritten, redo it.
13467 (x_use_underline_position_properties): New variable.
13468 (syms_of_xterm): DEFVAR_BOOL it.
13469 (x_draw_glyph_string): Add comment to use it in future.
13470 (x_draw_glyph_string): Restore clipping after drawing box.
13471 Fix a computation of the underline position.
13472 (w32_get_glyph_string_clip_rect): Minor cleanup.
13473 (x_fill_stretch_glyph_string): Remove an assertion.
13474 (x_produce_glyphs): Don't convert multibyte characters
13475 to unibyte characters in unibyte buffers.
13476 (cursor_in_mouse_face_p): New function.
13477 (x_draw_stretch_glyph_string): Use it to choose a different GC
13478 when drawing a cursor within highlighted text. Don't draw
13479 background again if it has already been drawn.
13480 (x_draw_glyph_string_box): Don't draw a full-width
13481 box just because the glyph row's full_width_p flag is set.
13482 (x_draw_glyphs): Fix computation of rightmost x for
13483 full-width rows.
13484 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
13485 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
13486 change bottom shadow accordingly. Some cleanup.
13487 (x_update_window_end): Handle overwritten mouse face
13488 also for tool bar windows.
13489 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
13490 DRAW is DRAW_IMAGE_RAISED.
13491 (clear_mouse_face): Return 1 if text with mouse face was
13492 actually redrawn. Make the function static.
13493 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
13494 optimize away highlighting if we pass over that same overlay again.
13495 (note_mouse_highlight): Call mouse_face_overlay_overlaps
13496 to detect a case where we have to highlight a different region
13497 despite not having left the currently highlighted region.
13498 Set mouse_face_overlay in the x_display_info. Avoid changing the
13499 mouse pointer shape when show_mouse_face has already done it, or
13500 there is no need. Handle mouse-face and help-echo in strings.
13501 (glyph_rect): New function.
13502 (w32_mouse_position): Use it to raise the threshold for mouse
13503 movement event generation.
13504 (w32_initialize_display_info): Initialize the x_display_info's
13505 mouse_face_overlay.
13506 (w32_set_vertical_scroll_bar): Don't clear a zero height
13507 or width area.
13508 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
13509 a widget to zero height.
13510
13511 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
13512 Protect unibyte strings created by replacing their multibyte
13513 equivalents in menu_items.
13514 (w32_menu_show): Don't overwrite an item's name with its key
13515 description in case the description is a multibyte string.
13516 (single_submenu): Some cleanup.
13517
13518 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
13519 (postprocess_image): New function.
13520 (lookup_image): Call it for all image types except PostScript.
13521 (x_kill_gs_process): Call postprocess_image.
13522 (tiff_error_handler, tiff_warning_handler): New functions.
13523 (tiff_load): Install them as handlers.
13524 (x_kill_gs_process): Recognize if someone has cleared the image
13525 cache under us.
13526 (valid_image_p): Protect better against invalid image
13527 specifications. Previous code could signal an error.
13528 (Fx_hide_tip, Fshow_tip): Doc fix.
13529 (Fv_max_tooltip_size): New variable.
13530 (syns_of_xfns): DEFVAR_LISP it.
13531 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
13532 window buffer to *tip* right after creating the frame. Set frame's
13533 window_width. Use a maximum tooltip size specified by
13534 Vx_max_tooltip_size, if that has valid contents.
13535 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
13536 Make sure the tooltip is completely visible.
13537 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
13538 (Fx_create_frame): Adjust the frame's height for presence
13539 of the tool bar before calling x_figure_window_size.
13540 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
13541 when the window gets smaller.
13542 (x_set_foreground_color): Set frame's cursor_pixel.
13543 (x_set_foreground_color, x_set_background_color): Cleaned up.
13544 (x_set_font): Handle case of x_new_fontset returning the same name
13545 as before, although there was a change in fontsets.
13546
13547 2001-10-21 Miles Bader <miles@gnu.org>
13548
13549 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
13550 (Flogxor): Add usage: string to doc string.
13551 * charset.c (Fstring): Likewise.
13552 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
13553 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
13554
13555 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13556
13557 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
13558
13559 * alloc.c: Reindent DEFUNs with doc: keywords.
13560
13561 * abbrev.c (Finsert_abbrev_table_description): Reindent.
13562
13563 * frame.c: Change doc-string comments to `new style' [w/`doc:'
13564 keyword].
13565
13566 See ChangeLog.9 for earlier changes.
13567
13568 ;; Local Variables:
13569 ;; coding: iso-2022-7bit
13570 ;; End:
13571
13572 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
13573 Copying and distribution of this file, with or without modification,
13574 are permitted provided the copyright notice and this notice are preserved.
13575
13576 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4