]> code.delx.au - gnu-emacs/blob - src/ChangeLog
bd641e8f6fb570ecf9a8c87edeeffc51c4751be9
[gnu-emacs] / src / ChangeLog
1 2004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2
3 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
4 how many colors can be displayed.
5
6 2004-03-01 Kenichi Handa <handa@m17n.org>
7
8 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
9 correctly.
10
11 2004-02-28 Kim F. Storm <storm@cua.dk>
12
13 * dispnew.c (update_window): Update header line also if there are
14 no other changes in window (move code after set_cursor label).
15
16 * lisp.h (mark_window_display_accurate): Remove prototype.
17
18 * window.c (window_loop, Fforce_window_update): Force mode line
19 updates by setting prevent_redisplay_optimizations_p and
20 update_mode_lines.
21
22 2004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
23
24 * xfns.c (x_window): Fixed indentation.
25
26 * xterm.c (x_calc_absolute_position): Call x_real_positions
27 to get WM window sizes and use those to calculate position.
28 (x_set_offset): Removed code commented out.
29
30 2004-02-28 Miles Bader <miles@gnu.org>
31
32 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
33
34 2004-02-28 Kim F. Storm <storm@cua.dk>
35
36 * keyboard.c (kbd_buffer_store_event_hold): New function to store
37 an event into kbd fifo, but with special handling of quit event;
38 a quit event is saved for later, and further events are discarded
39 until the saved quit event has been processed.
40 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
41 (gen_help_event): Store help event in kbd fifo.
42 (NREAD_INPUT_EVENTS): Remove.
43 (read_avail_input): Adapt to new read_socket_hook interface.
44 Remove allocation and initialization of local input_event buffer,
45 as read_socket_hook stores events directly in fifo. Allocate and
46 initialize local hold_quit event to handle postponed quit event
47 (and store it if set by kbd_buffer_store_event_hold).
48
49 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
50 (gen_help_event): Fix prototype.
51
52 * macterm.c (XTread_socket): Remove bufp_r and
53 numcharsp args. Add hold_quit arg.
54 Rework to use just one, local, inev input_event. Store inev
55 directly in fifo using kbd_buffer_store_event_hold.
56
57 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
58 (read_input_waiting): Adapt to new read_socket_hook interface.
59 Remove allocation and initialization of local input_event buffer,
60 as read_socket_hook stores events directly in fifo. Allocate and
61 initialize local hold_quit event to handle postponed quit event
62 (and store it if set by kbd_buffer_store_event_hold).
63
64 * term.c (read_socket_hook): Fix arg list.
65
66 * termhooks.h (read_socket_hook): Fix prototype.
67
68 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
69 numcharsp args. Add hold_quit arg.
70 Rework to use just one, local, inev input_event. Store inev
71 directly in fifo using kbd_buffer_store_event_hold.
72
73 * w32inevt.h (w32_console_mouse_position): Fix prototype.
74
75 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
76 Add hold_quit arg. Rework to use just one, local, inev
77 input_event. Store inev directly in fifo using
78 kbd_buffer_store_event_hold. Update count in one place.
79 Postpone call to gen_help_event until inev is stored; use new
80 local do_help for this.
81 Remove local emacs_event in handing of ButtonPress event; just use
82 inev instead (so no reason to copy it later).
83
84 * xsmfns.c (x_session_check_input): Remove numchars arg.
85
86 * xterm.c (x_focus_changed, x_detect_focus_change): Remove
87 numchars arg. Always store event into bufp arg. Return nothing.
88 Callers changed accordingly.
89 (glyph_rect): Simplify.
90 (STORE_KEYSYM_FOR_DEBUG): New macro.
91 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
92 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
93 (current_hold_quit) [USE_GTK]: Add.
94 (event_handler_gdk): Adapt to new handle_one_xevent.
95 (handle_one_xevent): Remove bufp_r and numcharsp args.
96 Add hold_quit arg. Rework to use just one, local, inev
97 input_event. Store inev directly in fifo using
98 kbd_buffer_store_event_hold. Update count in one place.
99 Postpone call to gen_help_event until inev is stored; use new
100 local do_help for this.
101 Simplify handling of keysyms (consolidate common code). Fix bug
102 where count was updated with nchars instead of nbytes.
103 Remove local emacs_event in handing of ButtonPress event; just use
104 inev instead (so no reason to copy it later).
105 Remove `out' label. Rename label `ret' to `done'; add various
106 `goto done' to clarify code flow in deeply nested blocks.
107 (x_dispatch_event): Simplify as handle_one_xevent now calls
108 kbd_buffer_store_event itself.
109 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
110 arg. Call handle_one_xevent with new arglist. Store event from
111 x_session_check_input in fifo.
112 [USE_GTK]: Setup current_hold_quit.
113 Decrement handling_signal before unblocking input.
114 (x_initialize) [USE_GTK]: Initialize current_count.
115
116 * xterm.h (x_session_check_input): Fix prototype.
117
118 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
119
120 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework
121 QuickTime'.
122
123 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
124 macgui.h).
125
126 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
127
128 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
129 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
130 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
131 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
132 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
133 (Bitmap): Remove typedef.
134 (Pixmap): Change int to GWorldPtr.
135
136 * macmenu.c [MAC_OSX]: Do not include Carbon/Carbon.h (now in
137 macgui.h).
138
139 * macterm.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
140 macgui.h).
141 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG): New
142 #define to extract 16-bit depth color components from unsigned
143 long representation.
144 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
145 colors used for masks.
146 (struct mac_display_info): Add color_p. Remove n_cbits.
147
148 * macfns.c: Include sys/types.h and sys/stat.h.
149 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
150 Include QuickTime/QuickTime.h.
151 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
152 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
153 functions defined in macterm.c.
154 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
155 (ZPixmap): New #define for compatibility with xfns.c.
156 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
157 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
158 (find_image_fsspec, image_load_qt_1, image_load_quicktime): New
159 functions.
160 (four_corners_best, x_create_x_image_and_pixmap)
161 (x_destroy_x_image, unwind_create_frame, x_disable_image,
162 (x_edge_detection, init_color_table, colors_in_color_table,
163 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
164 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
165 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
166 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
167 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
168 long mixup.
169 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
170 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
171 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
172 (x_set_cursor_type, Fxw_color_values, valid_image_p)
173 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
174 (x_alloc_image_color, clear_image_cache, lookup_image)
175 (x_find_image_file, xbm_read_bitmap_file_data)
176 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
177 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
178 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
179 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
180 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
181 (enum gif_keyword_index, gif_format, gif_image_p): Sync with
182 xfns.c.
183 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
184 #if 0.
185 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
186 #if 0. Free white_relief.gc and black_relief.gc.
187 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection): New
188 functions (from xfns.c).
189 (Fx_create_frame): Record unwind_create_frame.
190 (Fxw_display_color_p): Use dpyinfo->color_p.
191 (Fx_display_grayscale_p, Fx_display_planes): Don't use
192 dpyinfo->n_cbits.
193 (Fx_display_color_cells): Use dpyinfo->n_planes;
194 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
195 (Qheuristic, cross_disabled_images, emboss_matrix)
196 (laplace_matrix): New variables (from xfns.c).
197 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
198 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
199 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
200 (image_background_transparent): New function (from xfns.c). Use
201 PIX_MASK_DRAW/PIX_MASK_RETAIN.
202 (image_load_quicktime): Add declaration.
203 [MAC_OSX] (image_load_quartz2d): Likewise.
204 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
205 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
206 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New
207 functions.
208 (xbm_load_image_from_file, x_laplace_read_row)
209 (x_laplace_write_row, pbm_read_file): Remove functions.
210 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
211 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
212 (colors_in_color_table): Sync with xfns.c (although not used).
213 (lookup_rgb_color): Don't lookup color table. Just do gamma
214 correction.
215 (COLOR_INTENSITY): New #define (from xfns.c).
216 (x_disable_image): New function (from xfns.c). Use
217 PIX_MASK_DRAW/PIX_MASK_RETAIN.
218 (x_build_heuristic_mask): Sync with xfns.c. Use
219 PIX_MASK_DRAW/PIX_MASK_RETAIN.
220 (HAVE_PBM): Remove #ifdef.
221 (pbm_load): Sync with xfns.c. Set img->width and img->height
222 before IMAGE_BACKGROUND.
223 (png_image_p, png_load): Don't enclose declarations with #if
224 HAVE_PNG.
225 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
226 Don't enclose with #if HAVE_PNG.
227 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
228 symbol _CGImageCreateWithPNGDataProvider is defined. Otherwise
229 use image_load_quicktime.
230 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
231 [HAVE_PNG] (png_load): Sync with xfns.c. Use
232 PIX_MASK_DRAW/PIX_MASK_RETAIN.
233 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
234 HAVE_JPEG.
235 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
236 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
237 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
238 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
239 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
240 (tiff_image_p, tiff_load): Don't enclose declarations with #if
241 HAVE_TIFF.
242 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
243 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
244 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
245 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler): New
246 functions (from xfns.c).
247 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
248 (gif_image_p, gif_load): Don't enclose declarations with #if
249 HAVE_GIF.
250 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
251 Don't enclose with #if HAVE_GIF.
252 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
253 animated gif. Otherwise use image_load_quicktime.
254 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
255 gif_DrawText to avoid conflict with QuickdrawText.h.
256 [HAVE_GIF] (gif_load): Sync with xfns.c.
257 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
258 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
259 Ghostscript is not supported yet).
260 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
261 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
262 cross_disabled_images (from xfns.c). Remove #if 0 for supported
263 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
264 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
265 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
266 HAVE_PNG. Call EnterMovies to support animated gifs. Call
267 init_image_func_pointer to bind a symbol
268 _CGImageCreateWithPNGDataProvider if it is defined.
269
270 * macterm.c [MAC_OSX]: Do not include Carbon/Carbon.h (now in
271 macgui.h).
272 (x_draw_bar_cursor): Sync declaration with xterm.c.
273 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
274 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
275 graphics).
276 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
277 (mac_draw_line_to_pixmap, XCreatePixmap)
278 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
279 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap): New
280 functions.
281 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]: Use
282 GetPortBitMapForCopyBits instead of the cast to Bitmap *. Cast
283 bits to char *.
284 (reflect_byte): New function (from w32fns.c).
285 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
286 due to byte alignment.
287 (mac_scroll_area) [TARGET_API_MAC_CARBON]: Use
288 GetPortBitMapForCopyBits instead of the cast to Bitmap *.
289 (XSetForeground): Remove static (now used in macfns.c).
290 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
291 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
292 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
293 (x_draw_glyph_string_box, x_draw_image_foreground)
294 (x_draw_image_foreground_1, x_draw_image_glyph_string)
295 (x_draw_stretch_glyph_string, x_draw_glyph_string)
296 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
297 Sync with xterm.c.
298 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
299 than the xterm.c version when a strictly horizontal or vertical
300 line is drawn.
301 (XTset_terminal_window): Add static.
302 (x_make_frame_visible): Add UNBLOCK_INPUT.
303 (x_free_frame_resources): New funcion (from xterm.c).
304 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
305 occurs in tool bar area.
306 (mac_initialize_display_info): Remove dpyinfo->n_cbits. Set
307 dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
308 Initialize image cache.
309 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
310 Enclose unused functions with #if 0.
311 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
312 (decode_mac_font_name): New function to apply code conversions
313 from a mac font name to an XLFD font name according to its script
314 code.
315 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
316 font name to a mac font name according to REGISTRY and ENCODING
317 fields.
318 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
319 whose name starts with `.'.
320 (init_font_name_table): Use decode_mac_font_name. Add both
321 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
322 of a font is smJapanese.
323 (mac_do_list_fonts): New function to list fonts that match a given
324 pattern.
325 (x_list_fonts, XLoadQueryFont): Use it.
326 (XLoadQueryFont): Set rbearing field for each variable width
327 character to avoid needless redraw.
328 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
329
330 2004-02-26 Kim F. Storm <storm@cua.dk>
331
332 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
333 as read_socket_hook handler on X aborts if buffer is too small
334 and W32 handler doesn't always check buffer limit.
335
336 * xdisp.c (handle_single_display_prop): Handle left-fringe and
337 right-fringe similar to a display margin image. Specifically,
338 the characters having the fringe prop are no longer shown, and
339 we use IT_IMAGE/next_element_from_image with image_id = -1 to
340 do this. Set fringe bitmap face_id in it->face_id.
341 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
342 still realize it->face (i.e. the fringe bitmap face).
343
344 2004-02-25 Miles Bader <miles@gnu.org>
345
346 * xdisp.c (check_it): Check string/string_pos consistency.
347 (init_iterator): Initialize string-related fields properly.
348
349 2004-02-11 Miles Bader <miles@gnu.org>
350
351 * xdisp.c (produce_image_glyph): Force negative descents to zero.
352
353 2004-02-10 Miles Bader <miles@gnu.org>
354
355 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
356 BLOCK_INPUT can be nested, so it doesn't make much sense.
357
358 2004-02-24 Michael Mauger <mmaug@yahoo.com>
359
360 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
361 (xbm_read_bitmap_data): Use unsigned char for image data.
362
363 2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
364
365 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
366
367 2004-02-22 Jason Rumney <jasonr@gnu.org>
368
369 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
370 correctly over other bitmaps.
371
372 2004-02-21 Eli Zaretskii <eliz@elta.co.il>
373
374 * emacs.c (USAGE1): Split into two halves.
375 (USAGE2): Second half of the old USAGE1.
376 (USAGE3): Renamed from USAGE2.
377 (USAGE4): Renamed from USAGE3.
378
379 2004-02-21 Juri Linkov <juri@jurta.org>
380
381 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
382 Fix --multibyte. Move --help, --version to USAGE2. Add alias
383 --file. Fix -f, -l. Sort options. Untabify.
384 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
385
386 2004-02-19 Luc Teirlinck <teirllm@auburn.edu>
387
388 * category.c (Fdefine_category, Fcategory_docstring)
389 (Fget_unused_category, Fset_category_table)
390 (Fcategory_set_mnemonics): Doc fixes.
391
392 2004-02-20 Kim F. Storm <storm@cua.dk>
393
394 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
395 The following changes are relative to the 2004-01-21 revision.
396 (NREAD_INPUT_EVENTS): Define as max number of input events to read
397 in one call to read_socket_hook. Value is 8.
398 (read_avail_input): Separate and rework handling of read_socket_hook
399 and non-read_socket_hook cases. Use smaller input_event buffer
400 in read_socket_hook case, and repeat if full buffer is read. Use
401 new local variable 'discard' to skip input after C-g.
402 In non-read_socket_hook case, just use a single input_event, and
403 call kbd_buffer_store_event on the fly for each character.
404
405 2004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
406
407 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
408 Remove unused `gu' alternative.
409
410 2004-02-19 Andreas Schwab <schwab@suse.de>
411
412 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
413 warning.
414
415 2004-02-18 Kim F. Storm <storm@cua.dk>
416
417 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
418 Fix last change.
419
420 2004-02-17 Kim F. Storm <storm@cua.dk>
421
422 * xdisp.c (fast_find_position): Fix return value of new version;
423 it was inverted compared to the 21.1 version.
424 (get_window_cursor_type): Don't look at glyph if NULL.
425 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
426
427 * keyboard.c: Rework previous change; it didn't consider that the
428 buf array was allocated on the stack.
429 (prev_read): Remove variable.
430 (read_avail_input_buf): New static event buffer array.
431 (in_read_avail_input): New static variable to handle re-entrancy.
432 (read_avail_input): Change buf to pinter to read_avail_input_buf.
433 Use in_read_avail_input to handle re-entrance; when re-entered,
434 fully initialize and use tmp_buf array instead of read_avail_input_buf.
435 Do not initialize read_avail_input_buf in full here; instead assume it
436 is always cleared on entry. To ensure that, we clear (just) the
437 entries that were used before we return.
438 (init_keyboard): Initialize read_avail_input_buf here.
439
440 2004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change)
441
442 * cmds.c (Fend_of_line): Doc fix.
443
444 2004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
445
446 * keyboard.c (prev_read): New static variable.
447 (read_avail_input): Use it to zero out only those slots in buf[]
448 that were used last time we were called.
449
450 2004-02-16 Eli Zaretskii <eliz@elta.co.il>
451
452 * Makefile.in (obj): Move fringe.o from here...
453 (XOBJ, MAC_OBJ): ...to here.
454
455 2004-02-16 Stephen Eglen <stephen@gnu.org>
456
457 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
458
459 2004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
460
461 * data.c (Fbyteorder):
462 * fringe.c (Fdefine_fringe_bitmap):
463 * xdisp.c (handle_single_display_prop):
464 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
465
466 2004-02-16 Jason Rumney <jasonr@gnu.org>
467
468 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
469
470 2004-02-15 Steven Tamm <steventamm@mac.com>
471
472 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
473 controlling emulation of a three button mouse with option and
474 command keys.
475 (Qreverse, mac_get_enumlated_btn): Handle the emulation
476 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
477
478 2004-02-15 Kim F. Storm <storm@cua.dk>
479
480 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
481
482 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
483 Perform byte-swapping.
484
485 2004-02-14 Kim F. Storm <storm@cua.dk>
486
487 * dispextern.h (struct draw_fringe_bitmap_params): Change member
488 bits from char to short to facilitate wider bitmaps.
489 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
490 member.
491
492 * fringe.c (struct fringe_bitmap): Change member bits from char to
493 short to facilitate 16 bits wide bitmaps. Modify all standard
494 bitmaps accordingly.
495 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
496 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
497 (draw_fringe_bitmap): Ditto.
498 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
499 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
500 handle up to 16 bits wide bitmaps.
501 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
502 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
503
504 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
505 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
506 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
507
508 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
509 so it is no longer necessary to expand them here.
510
511 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
512
513 2004-02-12 Kim F. Storm <storm@cua.dk>
514
515 * window.c (Fwindow_fringes): Doc fix.
516
517 2004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
518
519 * xselect.c (x_get_foreign_selection): Add new optional parameter
520 time_stamp.
521 (Fx_get_selection_internal): Ditto, pass time_stamp to
522 x_get_foreign_selection.
523
524 * data.c (Fbyteorder): New function.
525
526 2004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
527
528 * atimer.c: Move include stdio.h to same place as in other files.
529
530 * region-cache.c: Ditto.
531
532 * sysdep.c: Ditto.
533
534 * xfaces.c: Ditto.
535
536 2004-02-09 Sam Steingold <sds@gnu.org>
537
538 * w32term.c (w32_draw_fringe_bitmap): Fixed a typo in the last patch.
539
540 2004-02-09 Kim F. Storm <storm@cua.dk>
541
542 * fringe.c: New file. Move original fringe related declarations
543 and code from dispextern.h and xdisp.c here.
544 Rework code to support user defined fringe bitmaps, redefining
545 standard bitmaps, ability to overlay user defined bitmap with
546 overlay arrow bitmap, and add faces to bitmaps.
547 (Voverflow_newline_into_fringe): Declare here.
548 (enum fringe_bitmap_align): New enum.
549 (..._bits): All bitmaps are now defined without bitswapping; that
550 is now done in init_fringe_once (if necessary).
551 (standard_bitmaps): New array with specifications for the
552 standard fringe bitmaps.
553 (fringe_faces): New array.
554 (valid_fringe_bitmap_id_p): New function.
555 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
556 (draw_fringe_bitmap): New function which draws fringe bitmap,
557 possibly overlaying bitmap with cursor in right fringe or the
558 overlay arrow in the left fringe.
559 (update_window_fringes): Do not handle overlay arrow here.
560 Compare and copy fringe bitmap faces.
561 (init_fringe_bitmap): New function.
562 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
563 define and destroy user defined fringe bitmaps.
564 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
565 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
566 (syms_of_fringe): New function. Defsubr new DEFUNs.
567 DEFVAR_LISP Voverflow_newline_into_fringe.
568 (init_fringe_once, init_fringe): New functions.
569 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
570
571 * Makefile.in (obj): Add fringe.o.
572 (fringe.o): New dependencies.
573
574 * dispextern.h (FRINGE_ID_BITS): New definition for number of
575 bits allocated to hold a fringe number. Increase number of bits
576 from 4 to 8 to allow user defined fringe bitmaps.
577 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
578 left_user_fringe_face_id, right_user_fringe_bitmap,
579 right_user_fringe_face_id.
580 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
581 Move to new file fringe.c.
582 (MAX_FRINGE_BITMAPS): Define here.
583 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
584 and overlay_p. Change member which to int.
585 (struct redisplay_interface): New members define_fringe_bitmap
586 and destroy_fringe_bitmap.
587 (valid_fringe_bitmap_id_p): Add prototype.
588 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
589
590 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
591 arrows.
592 (update_frame): Do flush_display if force_flush_display_p to
593 ensure display (specifically fringes) are updated in a timely
594 manner when resizing the frame by dragging the mouse.
595 (update_window_line): Update row if overlay arrow changed.
596 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
597 or overlay arrow changed.
598
599 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
600 syms_of_fringe, and init_fringe.
601
602 * frame.h (struct frame): New member force_flush_display_p.
603
604 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
605 Add prototypes.
606
607 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
608 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
609 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
610 Use cursor color for displaying cursor in fringe.
611 (x_redisplay_interface): Add null handlers for
612 define_fringe_bitmap and destroy_fringe_bitmap functions.
613
614 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
615 xterm.c to handle overlayed fringe bitmaps and to use cursor color
616 for displaying cursor in fringe.
617 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
618 specific functions to define and destroy fringe bitmaps in fringe_bmp.
619 (w32_redisplay_interface): Add them to redisplay_interface.
620 (w32_term_init): Call w32_init_fringe instead of explicitly
621 defining fringe bitmaps in fringe_bmp array.
622 (x_delete_display): Call w32_reset_fringes instead of explicitly
623 destroying fringe bitmaps in fringe_bmp array.
624
625 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
626 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
627 (continued_bits, continuation_bits, ov_bits, first_line_bits)
628 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
629 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
630 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
631 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
632 Move fringe handling vars and code to new file fringe.c.
633 (handle_display_prop): Handle left-fringe and right-fringe
634 display properties; store user fringe bitmaps in iterator.
635 (move_it_in_display_line_to): Handle cursor in fringe at eob.
636 (clear_garbaged_frames): Set force_flush_display_p if resized.
637 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
638 (display_line): Handle cursor in fringe at eob.
639 (display_line): Set row user fringe bitmaps from iterator.
640
641 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
642 Use cursor color for displaying cursor in fringe.
643 (x_redisplay_interface): Add null handlers for
644 define_fringe_bitmap and destroy_fringe_bitmap functions.
645
646 2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
647
648 * macfns.c (Fx_change_window_property): Make doc string and
649 parameters same as for X version.
650
651 * w32fns.c (Fx_change_window_property): Ditto.
652
653 2004-02-07 Kim F. Storm <storm@cua.dk>
654
655 * xdisp.c (hscroll_window_tree): Position cursor near to right
656 margin in hscrolled window when jumping to end of line (rather
657 than centering cursor).
658
659 * process.c (wait_reading_process_input): Don't do adaptive read
660 buffering if waiting for a specific process.
661
662 2004-02-05 Luc Teirlinck <teirllm@auburn.edu>
663
664 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
665 (Fread_minibuffer, Feval_minibuffer)
666 (Fread_string, Fread_no_blanks_input)
667 (Fcompleting_read): Doc fixes.
668 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
669 completion-regexp-list. Define Qcase_fold_search and staticpro it.
670 (read_minibuf): Fix initial comment.
671 (Ftry_completion, Fall_completions, Ftest_completion): Bind
672 case-fold-serach to the value of completion-ignore-case when
673 checking completion-regexp-list.
674 (Fdisplay_completion_list): Make it handle arguments that are
675 symbols. Doc fix.
676
677 2004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
678
679 * xterm.h: Add declaration of free_frame_menubar.
680
681 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
682 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
683 (Fx_change_window_property): Add declaration of parameters type and
684 format. Remove unused variable cons.
685
686 * xselect.c: Include stdio,h.
687
688 2004-02-05 Kenichi Handa <handa@m17n.org>
689
690 * fns.c (Fset_char_table_range): Fix previous change.
691
692 * buffer.c (Fset_buffer_multibyte): Fix docstring.
693
694 2004-02-04 Luc Teirlinck <teirllm@auburn.edu>
695
696 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
697
698 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
699
700 * keymap.c (Vmouse_events): Rename from Vmenu_events.
701 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
702
703 2004-02-04 Kenichi Handa <handa@m17n.org>
704
705 * fns.c (Fset_char_table_range): Handle charsets ascii,
706 eight-bit-control, and eight-bit-graphic correctly.
707
708 2004-02-03 Jason Rumney <jasonr@gnu.org>
709
710 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
711
712 * w32fns.c (x_to_w32_font): Likewise.
713
714 2004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
715
716 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
717 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
718
719 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
720 ClientMessages.
721
722 * xselect.c: Include termhooks.h and X11/Xproto.h
723 (x_check_property_data, x_fill_property_data)
724 (x_property_data_to_lisp, mouse_position_for_drop)
725 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
726 (Fx_send_client_event): Move here from xfns.c.
727 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
728
729 * xfns.c (x-send-client-message): Move to xselect.c
730 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
731 OUTER_P.
732 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
733 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
734 if vector_ret_p is true.
735 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
736
737 2004-02-02 Eli Zaretskii <eliz@elta.co.il>
738
739 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
740 basename of FILE relative to it, not FILE itself.
741
742 2004-02-02 Kenichi Handa <handa@m17n.org>
743
744 * coding.c (coding_restore_composition): Check invalid
745 composition data more rigidly.
746
747 2004-01-30 Luc Teirlinck <teirllm@auburn.edu>
748
749 * fileio.c (Fread_file_name_internal): Correctly handle the case
750 where insert-default-directory is nil.
751 (Fread_file_name): Always return an empty string if the user exits
752 with an empty minibuffer. Adapt the docstring accordingly.
753 (syms_of_fileio): Adapt the docstring of insert-default-directory
754 to the change in Fread_file_name.
755
756 2004-01-29 Eli Zaretskii <eliz@elta.co.il>
757
758 * alloca.c [!alloca]: Fix the prototype for xfree.
759
760 2004-01-29 Kenichi Handa <handa@m17n.org>
761
762 * fns.c (string_char_to_byte): Optimize for ASCII only string.
763 (string_byte_to_char): Likewise.
764
765 2004-01-28 Peter Runestig <peter@runestig.com>
766
767 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
768
769 2004-01-27 Steven Tamm <steventamm@mac.com>
770
771 * unexmacosx.c (unexec_copy): Do not copy more than was
772 requested to prevent overwriting during unexec.
773
774 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
775
776 * process.c (sigchld_handler): Add comment about not calling malloc.
777
778 * process.h: Add extern to synch_process_termsig.
779
780 2004-01-27 Steven Tamm <steventamm@mac.com>
781
782 * macterm.c (make_mac_frame, make_mac_terminal_frame):
783 Move setting of scroll bars from make_mac_frame to
784 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
785
786 2004-01-26 Richard M. Stallman <rms@gnu.org>
787
788 * search.c (Freplace_match): Handle nonexistent
789 back-references properly.
790
791 2004-01-03 Richard M. Stallman <rms@gnu.org>
792
793 * window.c (decode_any_window): New function.
794 (Fwindow_height, Fwindow_width, Fwindow_edges)
795 (Fwindow_pixel_edges, Fwindow_inside_edges)
796 (Fwindow_inside_pixel_edges): Use decode_any_window.
797
798 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
799
800 * process.h: synch_process_termsig new variable.
801
802 * callproc.c: Define synch_process_termsig.
803 (Fcall_process): Initiate synch_process_termsig to zero and
804 check if non-zero and get signal name after subprocess has ended.
805
806 * process.c (sigchld_handler): Set synch_process_termsig
807 if terminated by a signal. synch_process_death setting removed.
808
809 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
810
811 2004-01-26 Andreas Schwab <schwab@suse.de>
812
813 * print.c (print_preprocess): Declare size as EMACS_INT to not
814 lose bits.
815 (print_object): Likewise.
816 * alloc.c (Fpurecopy): Likewise.
817
818 2004-01-25 Luc Teirlinck <teirllm@auburn.edu>
819
820 * window.c (Fwindow_minibuffer_p): Doc fix.
821
822 2004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
823
824 * editfns.c (Fformat): Make both passes accept the same set of flags.
825
826 2004-01-23 Kenichi Handa <handa@m17n.org>
827
828 * fns.c (Fmd5): If OBJECT is a buffer different from the current
829 one, set buffer to OBJECT temporarily.
830
831 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
832
833 * keyboard.c (kbd_buffer_gcpro): Remove.
834 (kbd_buffer_store_event, clear_event, Fdiscard_input)
835 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
836 Don't initialize and/or maintain the variable any more. It was made
837 redundant by my commit of 2003-06-15.
838
839 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
840
841 2004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
842
843 * lisp.h: Add undef DECL_ALIGN.
844
845 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
846
847 * process.c (wait_reading_process_input) [SYNC_INPUT]:
848 Check interrupt_input_pending explicitly.
849
850 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
851
852 * keyboard.c (handle_async_input): New fun,
853 extracted from input_available_signal.
854 (input_available_signal, reinvoke_input_signal): Use it.
855
856 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
857
858 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
859
860 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
861 manipulation macros for when tags are in the lower bits.
862 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
863 (DECL_ALIGN): New macro.
864 (DEFUN): Use it.
865
866 * lisp.h [ENABLE_CHECKING]: Don't force union type.
867
868 * s/darwin.h (__attribute__): Remove outdated workaround.
869
870 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
871
872 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
873 Don't check range of malloc address.
874 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
875
876 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
877
878 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
879
880 2004-01-19 Kenichi Handa <handa@m17n.org>
881
882 * fontset.c (fontset_font_pattern): Fix previous change.
883
884 2004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
885
886 * xdisp.c (Voverflow_newline_into_fringe)
887 (move_it_in_display_line_to, redisplay_internal)
888 (update_window_fringes, redisplay_window, display_line, window):
889 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
890 that it compiles without a window-system.
891 * dispnew.c (direct_output_for_insert, update_window): Likewise.
892
893 2004-01-16 Kim F. Storm <storm@cua.dk>
894
895 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
896
897 * buffer.c (init_buffer_once): Set buffer_defaults and
898 buffer_local_flags for indicate_buffer_boundaries.
899 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
900 default- variable for it.
901
902 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
903 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
904 New members exact_window_width_line_p and cursor_in_fringe_p for
905 overflowing newlines into right fringe.
906 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
907 and indicate_bottom_line_p for buffer boundaries and scrolling.
908 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
909 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
910 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
911 and HOLLOW_SQUARE_BITMAP.
912 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
913 Add prototypes.
914
915 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
916 instead of related indicator fields.
917 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
918 (direct_output_for_insert): Handle exact width lines like
919 contined lines. Call update_window_fringes.
920 (update_window): Call update_window_fringes.
921 (scrolling_window): Don't skip desired rows with changed bitmaps.
922 Check if fringe bitmaps changes when assigning scrolled rows.
923
924 * xdisp.c (Voverflow_newline_into_fringe): New variable.
925 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
926 (move_it_in_display_line_to): Overflow newline into fringe for
927 rows that are exactly as wide as the window.
928 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
929 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
930 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
931 (fringe_bitmaps): Add new bitmaps.
932 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
933 Select proper bitmap for cursor in fringe when appropriate.
934 Handle alignment of bitmap to top or bottom of row.
935 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
936 done by update_window_fringes.
937 (update_window_fringes, draw_window_fringes): New functions.
938 (redisplay_internal): Call update_window_fringes in case only
939 cursor row is updated.
940 (redisplay_window): Call update_window_fringes.
941 Explicitly call draw_window_fringes if redisplay was done using
942 the current matrix or the overlay arrow is in the window.
943 (try_window_reusing_current_matrix): Mark scrolled rows for
944 fringe update (to update buffer-boundaries / scrolling icons).
945 (find_last_unchanged_at_beg_row): Handle exact width lines line
946 continued lines.
947 (display_line): Overflow newline into fringe for rows that are
948 exactly as wide as the window. Don't append space for newline
949 in this case.
950 (notice_overwritten_cursor): Explicitly clear cursor bitmap
951 in fringe as if it had been overwritten.
952 (erase_phys_cursor): Erase cursor bitmap in fringe.
953 (syms_of_xdisp): Mark show-trailing-whitespace and
954 void-text-area-pointer as user options.
955 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
956
957 * xterm.c (x_update_window_end): Call draw_window_fringes.
958 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
959 in row instead of actually drawing fringe bitmaps.
960 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
961 (x_draw_window_cursor): Draw cursor in fringe.
962
963 * w32term.c (x_update_window_end): Call draw_window_fringes.
964 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
965 in row instead of actually drawing fringe bitmaps.
966 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
967 (w32_draw_window_cursor): Draw cursor in fringe.
968
969 * macterm.c (x_update_window_end): Call draw_window_fringes.
970 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
971 in row instead of actually drawing fringe bitmaps.
972 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
973 (mac_draw_window_cursor): Draw cursor in fringe.
974
975 2004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
976
977 * xterm.c (handle_one_xevent): Don't handle characters that are part
978 of an old style (XLookupString) compose sequence.
979
980 2004-01-15 Kenichi Handa <handa@m17n.org>
981
982 * search.c (Freplace_match): Use make_multibyte_string or
983 make_unibyte_string according to the buffer multibyteness.
984
985 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
986
987 * alloc.c (struct interval_block, struct string_block)
988 (struct symbol_block, struct marker_block, live_string_p)
989 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
990 Better preserve alignment for objects in blocks.
991 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
992
993 * lread.c (defvar_per_buffer): Remove dead declaration.
994
995 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
996 space size.
997
998 2004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
999
1000 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
1001 if a key press should pop down. Only pop down if a key is pressed
1002 outside the menu/dialog.
1003 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
1004 popup_get_selection.
1005 (create_and_show_dialog): Pass 1 for down_on_keypress to
1006 popup_get_selection.
1007
1008 2004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1009
1010 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
1011 BLOCK/UNBLOCK_INPUT.
1012
1013 2004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1014
1015 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
1016 specified.
1017
1018 2004-01-08 Kenichi Handa <handa@m17n.org>
1019
1020 * editfns.c (Fformat): Fix '&' to '&&'.
1021
1022 2004-01-08 Andreas Schwab <schwab@suse.de>
1023
1024 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
1025 size if PSEUDOVECTOR_FLAG is set.
1026
1027 2004-01-07 Kenichi Handa <handa@m17n.org>
1028
1029 * charset.c (Fdeclare_equiv_charset): Fix docstring.
1030
1031 * fontset.c (fontset_ref_via_base): Fix previous change.
1032
1033 2004-01-07 Kim F. Storm <storm@cua.dk>
1034
1035 * process.c (read_process_output): Only activate adaptive
1036 buffering if we read less than 256 bytes at a time.
1037
1038 2004-01-06 Kim F. Storm <storm@cua.dk>
1039
1040 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
1041 object and image object. Return glyph width and height.
1042 (mode_line_string, marginal_area_string): Ditto.
1043
1044 * dispextern.h (buffer_posn_from_coords, mode_line_string)
1045 (marginal_area_string): Fix prototypes.
1046
1047 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
1048 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
1049 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
1050
1051 * keyboard.c (make_lispy_position): Use modified mode_line_string,
1052 buffer_posn_from_coords, and marginal_area_string functions to
1053 include both string object and image object in the lispy position.
1054 Also add actual glyph width and height to position.
1055 (read_key_sequence): Use real buffer position from mouse
1056 event to find keymap property even when click is in marginal area.
1057
1058 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
1059 mode_line_string and marginal_area_string functions to handle
1060 both string object and image object properties.
1061
1062 2004-01-06 Andreas Schwab <schwab@suse.de>
1063
1064 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
1065 character.
1066
1067 2004-01-02 Andreas Schwab <schwab@suse.de>
1068
1069 * macterm.c (emacs_options, x_initialized, same_x_server):
1070 Remove unused (and duplicated) definitions.
1071
1072 2004-01-02 Kim F. Storm <storm@cua.dk>
1073
1074 * process.h (struct Lisp_Process): New members for adaptive read
1075 buffering: adaptive_read_buffering, read_output_delay, and
1076 read_output_skip.
1077
1078 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
1079 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
1080 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
1081 (process_output_delay_count, process_output_skip): New vars.
1082 (Vprocess_adaptive_read_buffering): New variable.
1083 (make_process): Initialize adaptive read buffering members.
1084 (Fstart_process): Set adaptive_read_buffering member.
1085 (deactivate_process): Cleanup adaptive read buffering.
1086 (wait_reading_process_input): Temporarily omit delayed
1087 subprocesses from the set of file descriptors to read from;
1088 adjust the select timeout if we skipped any subprocesses.
1089 (read_process_output): Increase adaptive read buffering delay if
1090 we read less than a full buffer; reduce delay when we read a
1091 full buffer.
1092 (send_process): Simplify using local Lisp_Process var.
1093 Reset adaptive read buffering delay after write.
1094 (init_process): Initialize process_output_delay_count and
1095 process_output_skip.
1096 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
1097
1098 2004-01-01 Jason Rumney <jasonr@gnu.org>
1099
1100 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
1101
1102 2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
1103
1104 * print.c (Ferror_message_string): Add hyperlink in the docstring
1105 to the definition of `signal' in the Elisp manual.
1106 * eval.c (Fsignal): Ditto.
1107
1108 2003-12-29 James Clark <jjc@jclark.com> (tiny change)
1109
1110 * fns.c (internal_equal): Return t for two NaN arguments.
1111
1112 2003-12-29 Richard M. Stallman <rms@gnu.org>
1113
1114 * data.c (store_symval_forwarding): Handle setting
1115 default-fill-column, etc., by changing the value in
1116 buffers that use the default.
1117
1118 * minibuf.c (Fset_minibuffer_window): Doc fix.
1119
1120 * fileio.c (choose_write_coding_system): Ignore auto_saving
1121 if using the visited file for auto saves.
1122 (Fwrite_region): Don't update SAVE_MODIFF
1123 if auto-saving in visited file.
1124
1125 2003-12-29 Kenichi Handa <handa@m17n.org>
1126
1127 * dispextern.h (face_font_available_p): Extern it.
1128
1129 * fontset.c (Voverriding_fontspec_alist): New variable.
1130 (lookup_overriding_fontspec): New function.
1131 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
1132 (fontset_font_pattern): Likewise.
1133 (regulalize_fontname): New function.
1134 (Fset_fontset_font): Call regulalize_fontname.
1135 (Fset_overriding_fontspec_internal): New function.
1136 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
1137 Defsubr Sset_overriding_fontspec_internal.
1138
1139 * xfaces.c (face_font_available_p): New function.
1140
1141 2003-12-28 Richard M. Stallman <rms@gnu.org>
1142
1143 * buffer.c (Fother_buffer): Don't crash if BUF is nil
1144 or if its name is nil.
1145
1146 * buffer.c (Fkill_buffer): Don't delete auto-save file
1147 if it's the same as the visited file.
1148
1149 2003-12-28 Luc Teirlinck <teirllm@auburn.edu>
1150
1151 * coding.c (Fcheck_coding_system): Doc fix.
1152
1153 2003-12-28 Kim F. Storm <storm@cua.dk>
1154
1155 * Makefile.in (eval.o): Depend on dispextern.h.
1156
1157 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
1158 image glyph using image's ascent.
1159 (mode_line_string): Return image glyph as object clicked on.
1160 Adjust y0 for image glyph using image's ascent.
1161
1162 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
1163 (struct glyph): New members, ascent and descent. Used to save
1164 this glyph's ascent and descent, instead of having.
1165 (struct glyph): Declare member face_id using FACE_ID_BITS.
1166 (find_hot_spot): Add prototype.
1167
1168 * keyboard.c (Qimage): Remove extern (now in lisp.h).
1169 (QCmap): Declare extern.
1170 (make_lispy_position): When position is inside image hot-spot,
1171 use hot-spot element's id as posn element.
1172
1173 * lisp.h (IMAGEP): New macro to test for image object type.
1174 (Qimage): Declare extern.
1175
1176 * macfns.c (Qimage): Remove extern (now in lisp.h).
1177 (valid_image_p, parse_image_spec): Use IMAGEP macro.
1178
1179 * macterm.c (Qface, Qmouse_face): Remove unused externs.
1180
1181 * w32fns.c (Qimage): Remove extern (now in lisp.h).
1182 (valid_image_p, parse_image_spec): Use IMAGEP macro.
1183
1184 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
1185
1186 * w32term.c (Qface, Qmouse_face): Remove unused externs.
1187
1188 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
1189 pointer types.
1190 (Qrelative_width, Qalign_to): Remove unused variables.
1191 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
1192 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
1193 image maps.
1194 (x_y_to_hpos_vpos): Return glyph relative coordinates through
1195 new dx and dy args.
1196 Remove buffer_only_p arg (always 0). Simplify code accordingly.
1197 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
1198 than row's ascent and height, to get sensible height on tall rows.
1199 (build_desired_tool_bar_string): Remove Qimage extern.
1200 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
1201 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
1202 image glyph is alone on the last line.
1203 (append_glyph, append_composite_glyph, produce_image_glyph)
1204 (append_stretch_glyph): Set glyph's ascent and descent.
1205 (on_hot_spot_p): New function to check if position is inside an
1206 rectangular, circular, or polygon-shaped image hot-spot,
1207 (find_hot_spot): New function to search for image hot-spot.
1208 (Flookup_image_map): New defun to search for image hot-spot.
1209 (define_frame_cursor1): New aux function to determine frame pointer.
1210 (note_mode_line_or_margin_highlight, note_mouse_highlight):
1211 Handle `pointer' text property and :pointer image property to
1212 control frame pointer shape. Detect image hot-spots for pointer
1213 and help_echo properties. Use define_frame_cursor1.
1214 (note_mouse_highlight): Use Vvoid_text_area_pointer.
1215 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
1216 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
1217
1218 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
1219
1220 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
1221 (Qimage): Remove extern (now in lisp.h).
1222 (valid_image_p, parse_image_spec): Use IMAGEP macro.
1223
1224 * xmenu.c (show_help_event): Remove unused code.
1225
1226 * xterm.c (Qface, Qmouse_face): Remove unused externs.
1227 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
1228 row's ascent and descent, to get a sensible height on tall rows.
1229
1230 2003-12-25 Luc Teirlinck <teirllm@auburn.edu>
1231
1232 * minibuf.c (Fcompleting_read): Undo previous change.
1233
1234 2003-12-25 Lars Hansen <larsh@math.ku.dk>
1235
1236 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
1237 Arguments GCPRO'ed in call to file name handler.
1238
1239 2003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
1240
1241 * termcap.c (tgetst1): Scan for "%pN"; if all
1242 N are continuous in [1,9], remove all "%pN".
1243
1244 2003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1245
1246 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
1247
1248 * xfaces.c (lface_fully_specified_p): Take into account that
1249 MAC OS always have unspecified stipple.
1250
1251 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
1252
1253 * tparam.c (tparam1): Add handling for `%pN', which
1254 means use param N for the next substitution.
1255
1256 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
1257
1258 * xfaces.c (Fcolor_gray_p): Fix omission bug:
1259 In case `frame' is nil, consult the selected frame.
1260 (Fcolor_supported_p): Likewise.
1261
1262 2003-12-23 Luc Teirlinck <teirllm@auburn.edu>
1263
1264 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
1265 Doc fixes.
1266
1267 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
1268 and an integer. Adapt the introductory comment accordingly.
1269 (Fread_from_minibuffer): Delete code moved into read_minibuf.
1270 Doc fix.
1271 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
1272 read_minibuf.
1273 (Fcompleting_read): Delete code moved into read_minibuf.
1274 (Ftest_completion): Make it handle obarrays and hash tables correctly.
1275
1276 2003-12-03 Kenichi Handa <handa@m17n.org>
1277
1278 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
1279 encoding sequence.
1280
1281 2003-12-01 Kenichi Handa <handa@m17n.org>
1282
1283 * composite.c (syms_of_composite): Don't make the compostion hash
1284 table week.
1285
1286 2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
1287
1288 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
1289 * textprop.c (Fget_char_property_and_overlay): New function.
1290 (syms_of_textprop): Defsubr it.
1291
1292 2003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1293
1294 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
1295 to compile on terminal configuration.
1296
1297 * fileio.c (Fread_file_name): Check use_file_dialog also before
1298 calling Fx_file_dialog.
1299
1300 * fns.c: use_file_dialog: New variable.
1301 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
1302
1303 2003-11-29 Kim F. Storm <storm@cua.dk>
1304
1305 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
1306 (syms_of_msdos): Don't intern and staticpro them.
1307
1308 2003-11-27 Kim F. Storm <storm@cua.dk>
1309
1310 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
1311 coordinates relative to glyph at posn. If glyph is an image,
1312 return that as object at posn. Callers changed.
1313 (mode_line_string, marginal_area_string): Calculate and return
1314 pixel coordinates relative to glyph. Callers changed.
1315
1316 * dispextern.h (buffer_posn_from_coords, mode_line_string)
1317 (marginal_area_string): Fix prototypes.
1318 (window_box_left_offset, window_box_right_offset): Add prototypes.
1319
1320 * frame.h (get_specified_cursor_type, get_window_cursor_type):
1321 Remove prototypes.
1322
1323 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
1324
1325 * keyboard.c (make_lispy_position): Add x and y coordinates
1326 relative to the current glyph as 7th element of position.
1327 If glyph is an image, return it in the object element.
1328 (read_key_sequence): Skip checks for keymap property in cases
1329 where POSN_STRING is not a string (e.g. an image).
1330
1331 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
1332 (Vshow_text_cursor_in_void): New variable.
1333 (glyph_to_pixel_coords): Don't use negative hpos.
1334 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
1335 (append_stretch_glyph): Change ascent arg to be actual value
1336 in pixels rather than ratio to height. Callers changed.
1337 (calc_pixel_width_or_height): New aux function, implementing
1338 pixel based artihmetic for glyph widths and heights.
1339 (produce_stretch_glyph): Use calc_pixel_width_or_height for
1340 :width, :height, :align-to, and :ascent, thus allowing these to
1341 be specified in pixels as well as multiples of characters.
1342 Don't produce stretch glyphs with zero width or height.
1343 (get_specified_cursor_type): Declare static.
1344 (get_window_cursor_type): Declare static. Add glyph arg to be
1345 able to know when cursor is on an image; always substitute
1346 hollow-box cursor for filled-box cursor on images, to avoid
1347 negative images and flicker when blinking the cursor.
1348 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
1349 (note_mode_line_or_margin_highlight): Use non-text cursor rather
1350 than vertical scroll-bar cursor in display margins.
1351 (note_mouse_highlight): Use non-text cursor rather than text
1352 cursor in fringes and over images in the text area.
1353 Use non-text cursor when mouse pointer is outside editable text,
1354 i.e. in the void after end-of-line or end-of-buffer; this was
1355 already done for W32, but is now standard for all systems --
1356 user can toggle show-text-cursor-in-void to get old behaviour.
1357 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
1358 Vdisplay_pixels_per_inch.
1359
1360 2003-11-25 Andreas Schwab <schwab@suse.de>
1361
1362 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
1363 EMACS_INT to not lose bits.
1364 (Ffillarray): Don't set bits beyond the size of a bool vector.
1365
1366 2003-11-25 Kim F. Storm <storm@cua.dk>
1367
1368 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
1369 define this defun on systems that cannot use stderr as lvalue.
1370
1371 2003-11-24 Gerd Moellmann <gerd@gnu.org>
1372
1373 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
1374 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
1375 ld's default is incompatible with unexec.
1376
1377 2003-11-23 Kim F. Storm <storm@cua.dk>
1378
1379 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
1380 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
1381 (Fforce_window_update): New defun.
1382 (syms_of_window): Defsubr it.
1383 (Fset_window_margins, Fset_window_fringes): Doc fix.
1384
1385 * print.c (Fredirect_debugging_output): New defun.
1386 (syms_of_print): Defsubr it.
1387
1388 2003-11-22 Luc Teirlinck <teirllm@auburn.edu>
1389
1390 * fns.c (Fset_char_table_parent): Doc fix.
1391
1392 2003-11-22 Kim F. Storm <storm@cua.dk>
1393
1394 * dispnew.c (buffer_posn_from_coords): Return actual row/column
1395 for glyph clicked on, rather than (unused) pixel positions.
1396 (mode_line_string, marginal_area_string): Change X and Y args to
1397 pointers for returning actual row/column for glyph clicked on.
1398 Simplify and optimize loops.
1399
1400 * dispextern.h (mode_line_string, marginal_area_string):
1401 Update prototypes.
1402
1403 * keyboard.c (make_lispy_position): New function for generating
1404 mouse click positions from frame and pixel coordinates.
1405 Enhanced to return buffer position and actual row/column for
1406 events outside the text area using updated mode_line_string and
1407 marginal_area_string functions.
1408 Return left-fringe and right-fringe clicks as such, rather than
1409 clicks in text area.
1410 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
1411 pixel_to_glyph_coords, as we never use the results.
1412 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
1413 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
1414 Eliminate unused code in WHEEL_EVENT handling.
1415 (make_lispy_movement): Use make_lispy_position.
1416
1417 * window.c (coordinates_in_window): Remove redundant tests.
1418 Fix returned X pixel value for left-margin.
1419
1420 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
1421 mode_line_string and marginal_area_string parameters.
1422
1423 2003-11-22 Lars Hansen <larsh@math.ku.dk>
1424
1425 * w32.c (struct the_group, getgrgid): Add.
1426 * mac.c (struct my_group, getgrgid): Add.
1427
1428 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
1429
1430 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
1431
1432 2003-11-21 Lars Hansen <larsh@math.ku.dk>
1433
1434 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
1435 include in call to file name handler. Optionally translate numeric
1436 UID and GID to strings. Update docstring.
1437 (directory_files_internal): Add parameter ID-FORMAT.
1438 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
1439 include in call to file name handler and call to
1440 directory_files_internal. Update Docstring.
1441 (Fdirectory_files): Add dummy parameter in call to
1442 directory_files_internal.
1443 * lisp.h (Qinteger): Add.
1444 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
1445 (Ffile_attributes): Add parameter.
1446 * data.c (Qinteger): Export.
1447
1448 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
1449
1450 * fns.c (Freverse, Fnreverse): Doc fixes.
1451
1452 2003-11-19 Kim F. Storm <storm@cua.dk>
1453
1454 * xdisp.c (init_iterator): Initialize it->start to position
1455 before reseating (in case start position is invisible).
1456 (init_to_row_start): Set it->start to row-start.
1457 (redisplay_window): Accept optional_new_start if start position
1458 is invisible (in which case IT_CHARPOS overshoots PT).
1459 (display_line): Setup row->start from it->start (rather than
1460 it->current which is wrong if first char on line is invisible).
1461 When done, reseat it->start to it->current (= start of next row).
1462 (expose_area): Fix exposure of text area when first char (e.g. TAB)
1463 is only partially visible.
1464
1465 * dispextern.h (struct it): New member start.
1466
1467 2003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
1468
1469 * alloc.c (make_float, Fcons): Clear the markbit at init time.
1470 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
1471 of block_index outside of the macro call.
1472 (Fgarbage_collect): Remove null code.
1473
1474 * m/amdx86-64.h: Don't redefine XPNTR.
1475
1476 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
1477 of VALMASK.
1478
1479 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
1480 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
1481 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
1482
1483 * lisp.h (VALMASK): Only define for non-union type.
1484 (MARKBIT): Remove.
1485 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
1486 (XTYPE): Define unconditionally.
1487 (XSETTYPE): Remove one more remnant.
1488 (EQ): Define differently for the union and non-union cases.
1489 (INTMASK): New bit mask.
1490 (struct Lisp_Marker): Move down to prepare for upcoming patch.
1491 (GC_EQ): Delegate to EQ.
1492
1493 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
1494
1495 2003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1496
1497 * xterm.c (x_window_to_scroll_bar): Move check of display to
1498 where window_id is compared.
1499
1500 2003-11-17 Kim F. Storm <storm@cua.dk>
1501
1502 * dispextern.h (struct it): New member first_vpos.
1503
1504 * xdisp.c (start_display): Set it->first_vpos.
1505 (try_window_id): Use first_vpos to start display in first _text_
1506 line if no reusable lines at start of window with header line.
1507
1508 2003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1509
1510 * w32fns.c (XPutPixel):
1511 * w32bdf.c (w32_init_bdf_font):
1512 * sunfns.c (sel_read):
1513 * process.c (Fmake_network_process):
1514 * frame.c (store_frame_param):
1515 * fontset.c (Fset_fontset_font):
1516 * emacs.c (shut_down_emacs):
1517 * ccl.c (ccl_driver): Remove period at end of error message.
1518
1519 * config.in: Regenerate.
1520
1521 * xfns.c (x_window_to_frame, x_any_window_to_frame)
1522 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
1523 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
1524 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
1525 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
1526
1527 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
1528
1529 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
1530 (XTmouse_position, handle_one_xevent): Pass Display* to
1531 x_window_to_scroll_bar.
1532 (x_window_to_scroll_bar): Take a Display* argument.
1533 Check that display for frame is equal to Display* argument.
1534 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
1535 x_display_info_for_display instead. Use Display in xev instead
1536 of GDK_DISPLAY.
1537 (x_dispatch_event): Call x_display_info_for_display.
1538 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
1539 (x_connection_closed): Call xg_display_close for GTK.
1540 (x_term_init): Call xg_display_open for additional displays.
1541 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
1542 for GTK.
1543
1544 * xmenu.c (single_menu_item, mouse_position_for_popup)
1545 (x_activate_menubar): Formatting adjustments.
1546
1547 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
1548 adjustments.
1549
1550 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
1551 (xg_display_close, xg_create_default_cursor)
1552 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
1553 handling.
1554 (xg_left_ptr_cursor): Remove.
1555 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
1556 cursor here.
1557 (xg_win_to_widget): Take Display* argument, call
1558 gdk_xid_table_lookup_for_display.
1559 (xg_create_frame_widgets, xg_get_file_name, create_menus)
1560 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
1561 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
1562 in FRAME_X_DISPLAY_INFO.
1563 (xg_get_scroll_id_for_window): Take Display* argument.
1564 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
1565 (xg_initialize): Remove xg_left_ptr_cursor.
1566
1567 * gtkutil.h: xg_get_scroll_id_for_window, xg_win_to_widget takes
1568 Display* argument also. Declare xg_display_open,
1569 xg_display_close, xg_create_default_cursor.
1570
1571 2003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1572
1573 * xterm.c (x_detect_focus_change): Do not change focus frame for
1574 Enter/LeaveNotify if the current focus frame has explicit focus.
1575
1576 2003-11-14 Kim F. Storm <storm@cua.dk>
1577
1578 * dispnew.c (update_text_area): Fix redisplay error when hscroll
1579 is active and first glyph is only partially visible.
1580
1581 2003-11-13 Kenichi Handa <handa@m17n.org>
1582
1583 * xdisp.c (select_frame_for_redisplay): New function.
1584 (redisplay_internal): Record also selected_frame for
1585 unwind_redisplay. Call select_frame_for_redisplay before
1586 redrawing each frame.
1587 (unwind_redisplay): Argument changed to a cons.
1588
1589 2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
1590
1591 * fns.c (Fstring_to_multibyte): Doc fix.
1592
1593 2003-11-11 Kenichi Handa <handa@m17n.org>
1594
1595 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
1596
1597 2003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1598
1599 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
1600 program specified positions.
1601
1602 2003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1603
1604 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
1605
1606 2003-11-08 Kenichi Handa <handa@m17n.org>
1607
1608 * Makefile.in (lisp): Add kannada.el.
1609 (shortlisp): Likewise.
1610
1611 2003-11-07 Kenichi Handa <handa@m17n.org>
1612
1613 * coding.c (coding_allocate_composition_data):
1614 Reset coding->composing to COMPOSITION_NO.
1615 (coding_restore_composition): Detect invalid composition data.
1616 Give Fstring and Fvector a Lispy integer, not C int.
1617
1618 2003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
1619
1620 * floatfns.c (Flogb): Don't use VALMASK.
1621
1622 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
1623 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
1624
1625 * lisp.h (XINT): Move the cast to clarify what is going on.
1626 (GCTYPEMASK, XSETTYPE): Remove.
1627 (XGCTYPE): Make it an alias of XTYPE.
1628
1629 2003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1630
1631 * xterm.c (x_term_init): Fix formatting.
1632
1633 2003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1634
1635 * gtkutil.h: Declare xg_have_tear_offs, remove xg_keep_popup
1636 and xg_did_tearoff.
1637
1638 * gtkutil.c: Remove variable xg_did_tearoff.
1639 (xg_have_tear_offs): New function.
1640 (tearoff_remove): Just decrease xg_detached_menus.
1641 (tearoff_activate): Increase xg_detached_menus and call
1642 tearoff_remove when tearoff is removed.
1643 (xg_keep_popup): Remove function.
1644 (create_menus): Give add_tearoff_p as argument to recursive
1645 call to create_menus.
1646 (xg_create_widget): Use variables instead of multiple
1647 strcmp. Tell create_menus to create tear off only for
1648 menu bar menus.
1649 (xg_update_menubar): Change title for a detached menu also.
1650 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
1651 of deep_p.
1652 (xg_initialize): Initialize xg_detached_menus, remove
1653 initialization of xg_did_tearoff.
1654
1655 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
1656 xg_have_tear_offs returns non-zero.
1657 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
1658 call to xg_keep_popup.
1659
1660 2003-11-01 Andrew Choi <akochoi@shaw.ca>
1661
1662 * macterm.c (XTread_socket): Handle menubar selection and grow
1663 window only for mouseDown events.
1664
1665 2003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1666
1667 * xterm.c (x_term_init): For GTK part, increase x_initialized
1668 to check for more than one display. Use error instead of return 0.
1669
1670 2003-10-31 Andrew Choi <akochoi@shaw.ca>
1671
1672 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
1673 (copy_dysymtab): Call it.
1674
1675 2003-10-31 Luc Teirlinck <teirllm@auburn.edu>
1676
1677 * eval.c (Fdefvaralias): Doc fix.
1678
1679 2003-10-26 Luc Teirlinck <teirllm@auburn.edu>
1680
1681 * data.c (Fsetplist): Doc fix.
1682
1683 2003-10-14 Lute Kamstra <lute@gnu.org>
1684
1685 * window.c (Fset_window_fringes): Clarify docstring.
1686
1687 2003-10-14 Kim F. Storm <storm@cua.dk>
1688
1689 * window.c (Fset_window_margins): Simplify arg checking.
1690
1691 2003-10-13 Richard M. Stallman <rms@gnu.org>
1692
1693 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
1694 (print_partial_compiled_pattern): Replace assert with a printout.
1695 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
1696
1697 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
1698
1699 * window.c (Fset_window_margins): Allow only integers as args.
1700 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
1701 Doc fixes.
1702
1703 2003-10-13 Lute Kamstra <lute@gnu.org>
1704
1705 * window.c (Fset_window_fringes): Elaborate docstring.
1706
1707 2003-10-12 Andrew Choi <akochoi@shaw.ca>
1708
1709 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
1710
1711 * s/darwin.h (GC_MARK_STACK): Define.
1712
1713 2003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1714
1715 * window.c (shrink_windows): New function.
1716 (size_window): Call shrink_windows to calculate window sizes when
1717 shrinking frame with more than one window.
1718
1719 2003-10-12 Kim F. Storm <storm@cua.dk>
1720
1721 * xdisp.c (compute_fringe_widths): Doc fix.
1722
1723 2003-10-08 Kenichi Handa <handa@m17n.org>
1724
1725 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
1726
1727 2003-10-07 Kenichi Handa <handa@m17n.org>
1728
1729 * coding.c (Qcoding_system_define_form): New variable.
1730 (syms_of_coding): Intern and staticpro it.
1731 (Fcheck_coding_system): Try to autoload the definition of
1732 CODING-SYSTEM.
1733
1734 2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
1735
1736 * fns.c (Frequire): Doc fix.
1737
1738 2003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1739
1740 * xfns.c (Fx_send_client_event): New function as a base for
1741 manipulating extended window manager hints.
1742 (Fx_send_client_event): Remove unused variable s.
1743
1744 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
1745 that function is removed.
1746
1747 * xterm.c (x_set_offset): Use move_offset_left/top instead of
1748 x/y_pixels_outer_diff.
1749 (x_check_expected_move): Calculate move_offset_left/top.
1750
1751 * xterm.h (struct x_output): New members: move_offset_top/left.
1752
1753 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
1754 call x_set_offset directly.
1755
1756 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
1757
1758 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
1759
1760 * xterm.c (x_delete_display): Free font names and font_encoder
1761 in dpyinfo->font_table.
1762
1763 * xfns.c (Fx_close_connection): Only call XFreeFont here.
1764 Move xfree of font names to x_delete_display.
1765
1766 * xterm.h (struct x_display_info): New member, wm_type.
1767 (struct x_output): New members, expected_top/left and
1768 check_expected_move.
1769
1770 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
1771 is received.
1772 (handle_one_xevent): Rename x_check_expected_move from
1773 x_check_fullscreen_move.
1774 (x_set_offset): Only add WM decoration sizes to modified_top/left
1775 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
1776 (x_check_expected_move): Rename from x_check_fullscreen_move.
1777 Removed fullscreen specific code. Use check_expected_move,
1778 expected_left/top instead. Also, set wm_type.
1779 (x_term_init): Initialize wm_type to unknown.
1780
1781 * frame.c (x_fullscreen_move): Remove addition of WM decoration
1782 sizes to move_x/y.
1783
1784 2003-10-03 Kenichi Handa <handa@m17n.org>
1785
1786 * macterm.c (x_load_font): Clear all members of FONTP before start
1787 filling them.
1788
1789 2003-10-02 Kenichi Handa <handa@m17n.org>
1790
1791 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
1792 before calling find_ccl_program_func. Call find_ccl_program_func
1793 only when fontp->font_encoder is not NULL.
1794
1795 * xterm.c (x_load_font): Clear all members of FONTP before start
1796 filling them.
1797
1798 2003-10-03 John Paul Wallington <jpw@gnu.org>
1799
1800 * keymap.c (map_keymap): Don't abort when binding is a vector.
1801
1802 2003-10-02 Jason Rumney <jasonr@gnu.org>
1803
1804 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
1805 Sync dependencies with Makefile.in.
1806 (alloca.o): Remove.
1807
1808 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
1809 filling them.
1810
1811 * w32bdf.c (w32_load_bdf_font): Likewise.
1812
1813 2003-09-30 Richard M. Stallman <rms@gnu.org>
1814
1815 * term.c (set_tty_color_mode): Calculate current_mode_spec
1816 regardless of value of VAL.
1817
1818 * intervals.c (graft_intervals_into_buffer):
1819 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
1820 Handle over_used when splitting UNDER.
1821
1822 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1823
1824 * regex.c (regex_compile): Free the stack when returning from function.
1825
1826 2003-09-28 Kenichi Handa <handa@m17n.org>
1827
1828 * fontset.c (Finternal_char_font): Change return value to
1829 cons (FONT-NAME . GLYPH-CODE).
1830
1831 2003-09-28 Eli Zaretskii <eliz@elta.co.il>
1832
1833 * term.c (tty_setup_colors): Treat any negative argument as -1.
1834
1835 2003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
1836
1837 * process.c (send_process): Delete unused temp_buf.
1838
1839 2003-09-26 Dave Love <fx@gnu.org>
1840
1841 * xterm.c (x_bitmap_mask): Declare.
1842
1843 2003-09-25 Dave Love <fx@gnu.org>
1844
1845 * Makefile.in (fns.o): Depend on md5.h.
1846
1847 2003-09-25 Kim F. Storm <storm@cua.dk>
1848
1849 * window.c (set_window_buffer): Fix redisplay problems when
1850 switching between buffers with different display margin widths.
1851
1852 2003-09-23 Kim F. Storm <storm@cua.dk>
1853
1854 * process.c (set_socket_option): Fix :bindtodevice option.
1855 (Fset_network_process_option): Update process contact list when
1856 setting option succeeds.
1857 (Fmake_network_process): Doc fix.
1858
1859 2003-09-23 Dave Love <fx@gnu.org>
1860
1861 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
1862
1863 2003-09-22 Eli Zaretskii <eliz@elta.co.il>
1864
1865 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
1866 color mode is an integer number (it could be -1).
1867
1868 2003-09-22 Richard M. Stallman <rms@gnu.org>
1869
1870 * intervals.c (graft_intervals_into_buffer): Correct the main loop
1871 in the case where OVER is longer than UNDER.
1872
1873 2003-09-22 Masatake YAMATO <jet@gyve.org>
1874
1875 * window.c (Fset_window_scroll_bars): Validate the value of
1876 `vertical_type'.
1877
1878 2003-09-21 Kim F. Storm <storm@cua.dk>
1879
1880 * frame.c (Vdefault_frame_scroll_bars): New variable.
1881 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
1882 (syms_of_frame): DEFVAR_LISP it, and initialize according to
1883 window-system default scroll bar position.
1884
1885 * window.c (Fwindow_scroll_bars): Doc fix.
1886
1887 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1888
1889 * xterm.c (x_set_offset): Take window manager decorations into account.
1890
1891 2003-09-19 Richard M. Stallman <rms@gnu.org>
1892
1893 * atimer.h: Don't include lisp.h.
1894 (P_): Define it here (as well as elsewhere).
1895
1896 * print.c (Fprin1_to_string): Move the PRINTPREPARE
1897 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
1898
1899 * data.c (Fvariable_binding_locus): New function.
1900 (syms_of_data): defsubr it.
1901 (Flocal_variable_p): Delete duplicate call to indirect_variable.
1902
1903 2003-09-18 Dave Love <fx@gnu.org>
1904
1905 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
1906
1907 * process.c (Fnetwork_interface_info): Fix type error.
1908 (Fnetwork_interface_list): Doc fix.
1909 (read_process_output, read_process_output): Delete unused var.
1910
1911 2003-09-17 Kim F. Storm <storm@cua.dk>
1912
1913 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
1914 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
1915 (Fnetwork_interface_info): Check that ifreq struct has required
1916 fields before accessing them; this requires that those fields are
1917 defined as macros, which may be too restrictive on some platforms,
1918 but it is better than failing on other platforms.
1919 (syms_of_process): Only defsubr above fns when included.
1920
1921 2003-09-17 Dave Love <fx@gnu.org>
1922
1923 * unexalpha.c: Don't include varargs.h.
1924
1925 2003-09-17 Kim F. Storm <storm@cua.dk>
1926
1927 * process.c (Fset_process_sentinel): Add sentinel to childp plist
1928 for network process.
1929 (socket_options): Add `:' prefix to option names. Add optbit field.
1930 (set_socket_option): Remove no_error arg and special handling of s < 0.
1931 Return 1<<optbit for known option, 0 for unknown.
1932 Do not interpret 0 as false for boolean option (only nil).
1933 Pass failed option and value to report_file_error.
1934 (Fset_network_process_options): Replace by Fset_network_process_option.
1935 (Fset_network_process_option): New function to set just one option.
1936 (Fmake_network_process): Allow :coding arg to be a cons.
1937 Allow :server arg to be an integer specifying backlog size.
1938 Remove :options arg, and allow options to be specified directly
1939 as :KEY, VALUE pairs. Parse these options before binding socket.
1940 As before, :reuseaddr t is default for a server process, but this
1941 can now be disabled by specifying :reuseaddr nil.
1942 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
1943 (init_process): Availability of network options is now checked with
1944 simpler syntax (featurep 'make-network-process :OPTION); use loop to
1945 setup features.
1946 (syms_of_process): Fix defsubr's for the replaced functions.
1947
1948 2003-09-16 Dave Love <fx@gnu.org>
1949
1950 * Makefile.in: Depend on coding.h.
1951
1952 2003-09-14 Kim F. Storm <storm@cua.dk>
1953
1954 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
1955 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
1956 (syms_of_process): Defsubr them.
1957
1958 * config.in: Regenerate.
1959
1960 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
1961
1962 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
1963 * m/news-r6.h (XUNMARK): Remove.
1964 * m/mips.h (XUNMARK): Remove.
1965 * m/mips-siemens.h (XUNMARK): Remove.
1966 * m/iris4d.h (XUNMARK): Remove.
1967 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
1968
1969 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
1970
1971 * lisp.h (VALBITS): Don't remove 1 for the markbit.
1972 (union Lisp_Object): Use unsigned int for types. Remove markbit.
1973 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
1974 (XTYPE): Use unsigned right-shift.
1975 (XMARKBIT, XMARK, XUNMARK): Remove.
1976
1977 * alloc.c (init_intervals, init_symbol, init_marker):
1978 Don't preallocate anything.
1979 (Fgarbage_collect, mark_object): Ignore the markbit.
1980
1981 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
1982
1983 2003-09-08 Lute Kamstra <lute@gnu.org>
1984
1985 * xdisp.c (pint2hrstr): New function.
1986 (decode_mode_spec): Add `%i' and `%I' specs.
1987 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
1988 for `mode-line-format'.
1989
1990 2003-09-07 Andreas Schwab <schwab@suse.de>
1991
1992 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
1993 avoid warning.
1994
1995 2003-09-07 Eli Zaretskii <eliz@elta.co.il>
1996
1997 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
1998
1999 2003-09-03 Kim F. Storm <storm@cua.dk>
2000
2001 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
2002 change (superseded by 2002-08-30 change); the default blink-off
2003 cursor is now again "no cursor".
2004
2005 2003-09-01 Jason Rumney <jasonr@gnu.org>
2006
2007 * makefile.w32-in (alloca.o): Remove.
2008 (coding.o): Depend on intervals.h
2009 (emacs.o, bytecode.o): Depend on window.h
2010
2011 2003-09-01 Dave Love <fx@gnu.org>
2012
2013 * Makefile.in (alloca.o): Remove commands.
2014 (coding.o): Depend on intervals.h composite.h window.h.
2015 (emacs.o): Depend on window.h keyboard.h keymap.h.
2016 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
2017 (bytecode.o): Depend on window.h.
2018
2019 2003-08-31 Jason Rumney <jasonr@gnu.org>
2020
2021 * w32term.c (w32_per_char_metric): Allow cached metrics to be
2022 returned even when font_type is unknown.
2023
2024 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
2025
2026 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2027
2028 * xterm.c (x_term_init): Initialize new fields in x_display_info.
2029
2030 * xterm.h (struct x_display_info): Add red/green/blue_bits and
2031 *_offset.
2032
2033 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
2034 calculate pixel value.
2035
2036 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
2037
2038 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
2039 Don't tell redisplay display is accurate when it's actually been
2040 paused for pending input.
2041
2042 2003-08-29 Richard M. Stallman <rms@gnu.org>
2043
2044 * dispnew.c (adjust_glyph_matrix): Call window_box
2045 whenever W is nonzero.
2046
2047 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
2048 (Fkill_local_variable, Fmake_variable_frame_local)
2049 (Flocal_variable_p, Flocal_variable_if_set_p):
2050 Use indirect_variable to trace thru variable aliases.
2051
2052 * config.in: Updated.
2053
2054 * callint.c (Fcall_interactively): Save and restore
2055 Vthis_command, Vthis_original_command, real_this_command,
2056 and current_kboard->Vlast_command.
2057
2058 * abbrev.c (Fexpand_abbrev): Insert before deleting.
2059
2060 2003-08-29 Gerd Moellmann <gerd@gnu.org>
2061
2062 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
2063
2064 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
2065
2066 * coding.c (decode_coding_iso2022): Initialize local variable c2.
2067 (decode_coding_sjis_big5): Likewise.
2068
2069 2003-08-27 Jason Rumney <jasonr@gnu.org>
2070
2071 * w32.c (sys_pipe): Protect against file descriptor overflow.
2072
2073 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
2074
2075 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
2076
2077 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
2078
2079 * xfns.c (Vgtk_version_string): New variable.
2080 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
2081
2082 2003-08-24 Eli Zaretskii <eliz@elta.co.il>
2083
2084 * term.c (term_init): Remove `const' from buffer_size's declaration.
2085
2086 * Makefile.in (msdos.o): Depend on intervals.h.
2087
2088 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
2089
2090 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2091
2092 * xterm.h (struct x_display_info): New fields: client_leader_window
2093 and Xatom_wm_client_leader.
2094
2095 * xterm.c (x_initialize): Move call to x_session_initialize to ...
2096 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
2097
2098 * xsmfns.c (create_client_leader_window): New function.
2099 (x_session_initialize): Call create_client_leader_window, take
2100 dpyinfo as argument.
2101
2102 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
2103
2104 * Makefile.in (xsmfns.o): Add more depenedencies.
2105
2106 2003-08-21 Dave Love <fx@gnu.org>
2107
2108 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
2109
2110 2003-08-21 Kenichi Handa <handa@m17n.org>
2111
2112 * term.c (term_init): Fix previous change; don't rely on the
2113 length of `buffer' if TERMINFO is defined.
2114
2115 2003-08-20 Dave Love <fx@gnu.org>
2116
2117 * atimer.h: Include lisp.h.
2118
2119 * lisp.h (EMACS_LISP_H): New.
2120 (popup_activated_flag): Don't declare.
2121
2122 * alloca.c: Some merging with gnulib. Change logic and doc
2123 concerning (x)malloc/(x)free -- no longer Emacs-specific.
2124 [DO_BLOCK_INPUT]: Don't include lisp.h.
2125 (xmalloc, xfree): Declare.
2126 (malloc): Don't declare.
2127
2128 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
2129 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
2130 atimer.h, blockinput.h.
2131
2132 * alloc.c (lisp_align_malloc): Change type of `aligned'.
2133
2134 * alloca.s: Removed.
2135
2136 2003-08-19 Gerd Moellmann <gerd@gnu.org>
2137
2138 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
2139 use -lncurses.
2140
2141 * term.c (term_init): Use a buffer of size 4096 for tgetent since
2142 FreeBSD returns something longer than 2044. Abort if the end of
2143 the buffer is overwritten.
2144
2145 2003-08-19 Miles Bader <miles@gnu.org>
2146
2147 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
2148
2149 2003-08-19 Gerd Moellmann <gerd@gnu.org>
2150
2151 * alloc.c (lisp_align_malloc): Check for memory full when
2152 allocating ablocks, which also avoids freeing a pointer into an
2153 ablocks structure.
2154
2155 * puresize.h (BASE_PURESIZE): Increase to 1100000.
2156
2157 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
2158
2159 2003-08-16 Richard M. Stallman <rms@gnu.org>
2160
2161 * editfns.c (Fencode_time): Doc fix.
2162
2163 2003-08-16 David Ponce <david@dponce.com>
2164
2165 * fileio.c (Fwrite_region): Fix conditional expression to issue
2166 the right message.
2167
2168 2003-08-16 Juri Linkov <juri@jurta.org> (tiny change)
2169
2170 * syntax.c (Fforward_word): Argument changed to optional.
2171 Set default value to 1.
2172
2173 2003-08-15 Kenichi Handa <handa@m17n.org>
2174
2175 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
2176 what autoscaled.
2177 (best_matching_font): Once we find a better scalable font, set
2178 non_scalable_has_exact_height_p to 1.
2179 (try_font_list): Call try_alternative_families to try any family
2180 with the given registry.
2181
2182 2003-08-09 Andreas Schwab <schwab@suse.de>
2183
2184 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
2185
2186 * print.c (print_string): Fix printing of multibyte string with
2187 nontrivial printcharfun.
2188
2189 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2190
2191 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
2192
2193 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
2194
2195 2003-07-31 Kenichi Handa <handa@m17n.org>
2196
2197 * process.c (read_process_output): Return the actually read bytes
2198 instead of the result of decoding.
2199
2200 2003-07-31 Kenichi Handa <handa@m17n.org>
2201
2202 * xterm.h (struct x_bitmap_record): New member have_mask.
2203
2204 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
2205 to 0.
2206 (x_create_bitmap_from_file): Likewise.
2207 (x_destroy_bitmap): Check have_mask member before freeing a mask.
2208 (x_destroy_all_bitmaps): Likewise.
2209 (x_create_bitmap_mask): Set have_mask member to 1.
2210
2211 2003-07-30 Richard M. Stallman <rms@gnu.org>
2212
2213 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
2214
2215 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2216
2217 * gtkutil.c (xg_mark_data): Update calls to mark_object.
2218
2219 2003-07-29 Richard M. Stallman <rms@gnu.org>
2220
2221 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
2222 Conditionalize XIM code on HAVE_XIM.
2223
2224 * fns.c (Fclear_string): New function.
2225 (syms_of_fns): defsubr it.
2226
2227 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
2228
2229 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
2230
2231 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
2232
2233 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
2234
2235 * buffer.c (delete_all_overlays): New function.
2236 * buffer.h (delete_all_overlays): Declare.
2237 * coding.c (run_pre_post_conversion_on_str):
2238 * print.c (temp_output_buffer_setup):
2239 * fileio.c (Finsert_file_contents):
2240 * minibuf.c (get_minibuffer): Use it.
2241
2242 2003-07-22 Andrew Choi <akochoi@shaw.ca>
2243
2244 * unexmacosx.c (unexec_regions_sort_compare):
2245 (unexec_regions_merge): New functions. Sort and merge unexec
2246 regions before dumping them.
2247
2248 2003-07-22 Dave Love <fx@gnu.org>
2249
2250 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
2251
2252 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
2253
2254 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
2255 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
2256 MARKBIT as the gcmarkbit for strings.
2257
2258 2003-07-21 Richard M. Stallman <rms@gnu.org>
2259
2260 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
2261
2262 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
2263 (syms_of_fns): Corresponding change.
2264
2265 * alloc.c (syms_of_alloc): Doc fixes.
2266
2267 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
2268
2269 * s/netbsd.h: Use -Wl syntax.
2270
2271 2003-07-17 Richard M. Stallman <rms@gnu.org>
2272
2273 * xterm.c (xim_initialize): Redo 6/24 change.
2274
2275 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
2276
2277 * buffer.c (copy_overlays): Use EMACS_INT for positions.
2278 (Fswitch_to_buffer): Don't signal an error when switching to the same
2279 buffer in a dedicated window.
2280
2281 * alloc.c: Use bitmaps for cons, as was done for floats.
2282 (init_float, init_cons): Let the normal code allocate the first block.
2283 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
2284 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
2285 New macros.
2286 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
2287 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
2288 (live_cons_p): Check the pointer is not past the `conses' array.
2289 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
2290 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
2291 (survives_gc_p): Use CONS_MARKED_P and simplify.
2292 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
2293
2294 2003-07-13 Paul Eggert <eggert@twinsun.com>
2295
2296 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
2297 puts it into BSS instead, at least on Solaris 8 and 9.
2298 This is a valid optimization, and it may occur on other platforms,
2299 so Emacs should not assume that initializing a static variable to
2300 zero puts it into data.
2301 * alloc.c (pure, staticvec):
2302 Initialize these arrays to nonzero, so that they're not
2303 put into BSS by that optimization.
2304
2305 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
2306
2307 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
2308 (lisp_align_malloc): Use posix_memalign is available.
2309 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
2310 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
2311 for consistency. Update users.
2312
2313 2003-07-13 Richard M. Stallman <rms@gnu.org>
2314
2315 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
2316
2317 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
2318
2319 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
2320 and use the Gtk+ function gtk_window_icon_from_file if available.
2321
2322 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
2323 handle mask of bitmaps.
2324 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
2325 mask property.
2326 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
2327
2328 * xterm.h (xg_set_icon): New function.
2329
2330 2003-07-12 Paul Eggert <eggert@twinsun.com>
2331
2332 * unexelf.c (unexec): Consider a section to precede the .bss
2333 section if its addresses overlap that of .bss.
2334
2335 2003-07-12 Richard M. Stallman <rms@gnu.org>
2336
2337 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
2338
2339 * config.in (HAVE_CRTIN): Add #undef.
2340 (INLINE): Really inline only if OPTIMIZE is defined.
2341
2342 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
2343 END_FILES_1.
2344 (START_FILES_1, END_FILES_1): New macros (conditional).
2345 (LD_SWITCH_SYSTEM_TEMACS): Define.
2346
2347 * s/openbsd.h: Don't include bsd4-3.h.
2348 (TERMINFO): Define.
2349 (LIBS_TERMCAP): Define.
2350 (LD_SWITCH_SYSTEM): Define (two definitions).
2351
2352 * xfns.c: Include libpng/png.h instead of png.h.
2353
2354 2003-07-11 Andreas Schwab <schwab@suse.de>
2355
2356 * buffer.c (modify_overlay): Update prototype.
2357 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
2358 Likewise.
2359
2360 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
2361
2362 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
2363 (struct interval): Move to intervals.h.
2364 (struct Lisp_Marker): Use EMACS_INT for position info.
2365 (forward_point): Remove prototype of defunct function.
2366 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
2367 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
2368 (syms_of_textprop, set_text_properties): Remove prototypes that are
2369 already in intervals.h.
2370
2371 * intervals.h (struct interval): Move from lisp.h.
2372 Use EMACS_INT for position and size info.
2373
2374 * coding.c: Include intervals.h for Fset_text_properties.
2375
2376 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
2377 position and length information.
2378
2379 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
2380
2381 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
2382 position and length information.
2383
2384 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
2385
2386 Change overlays_after and overlays_before so the overlays themselves
2387 are linked into lists, rather than using cons cells. After all each
2388 Lisp_Misc already occupies 5 words, so we can add a `next' field to
2389 Lisp_Overlay for free and save up one cons cell per overlay (not
2390 to mention one indirection when traversing the list of overlay).
2391
2392 * lisp.h (struct Lisp_Overlay): New field `next'.
2393
2394 * buffer.h (struct buffer): Change overlays_before and overlays_after
2395 from Lisp lists of overlays to pointers to overlays.
2396
2397 * buffer.c (overlay_strings, recenter_overlay_lists):
2398 Fix typo in eassert in last commit.
2399 (unchain_overlay): New function.
2400 (add_overlay_mod_hooklist): Use AREF.
2401 (copy_overlays, reset_buffer, overlays_at, overlays_in)
2402 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
2403 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
2404 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
2405 (report_overlay_modification, evaporate_overlays, init_buffer_once):
2406 Adjust to new type of overlays_(before|after).
2407
2408 * alloc.c (mark_object): Mark the new `next' field of overlays.
2409 (mark_buffer): Manually mark the overlays_(after|before) fields.
2410
2411 * coding.c (run_pre_post_conversion_on_str):
2412 * editfns.c (overlays_around):
2413 * xdisp.c (load_overlay_strings):
2414 * fileio.c (Finsert_file_contents):
2415 * indent.c (current_column):
2416 * insdel.c (signal_before_change, signal_after_change):
2417 * intervals.c (set_point_both):
2418 * print.c (temp_output_buffer_setup): Use new type for
2419 overlays_(before|after).
2420
2421 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
2422
2423 * buffer.c (report_overlay_modification): Don't run hooks while
2424 traversing the list of overlays.
2425
2426 * buffer.h (struct buffer): Use an int for overlay_center.
2427 (overlays_at, evaporate_overlays, recenter_overlay_lists)
2428 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
2429
2430 * buffer.c (reset_buffer, recenter_overlay_lists)
2431 (adjust_overlays_for_insert, adjust_overlays_for_delete)
2432 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
2433 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
2434 (overlays_at, evaporate_overlays, recenter_overlay_lists)
2435 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
2436
2437 * xdisp.c (fast_find_position): Remove unused var.
2438
2439 * cmds.c (Qexpand_abbrev): New sym.
2440 (syms_of_cmds): Initialize it.
2441 (internal_self_insert): Use it to call expand-abbrev.
2442
2443 2003-07-09 Kim F. Storm <storm@cua.dk>
2444
2445 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if emacs
2446 was configured with --without-xim.
2447 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
2448
2449 2003-07-07 Richard M. Stallman <rms@gnu.org>
2450
2451 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
2452
2453 * alloc.c (Fgarbage_collect): Doc fix.
2454
2455 2003-07-07 Nozomu Ando <nand@mac.com> (tiny change)
2456
2457 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
2458
2459 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
2460
2461 * minibuf.c (read_minibuf): UNGCPRO before returning.
2462 (Ftry_completion, Fall_completions): Doc fix.
2463
2464 * alloc.c (live_float_p): Check that p is not past the `floats' array,
2465 now that `floats' is not the last element of the struct any more.
2466
2467 2003-07-06 Jason Rumney <jasonr@gnu.org>
2468
2469 * w32term.h (ClipboardSequence_Proc): New type.
2470
2471 * w32fns.c (clipboard_sequence_fn): New variable.
2472 (globals_of_w32fns): Initialize it.
2473
2474 * w32select.c (last_clipboard_sequence_number): New variable.
2475 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
2476 number if possible.
2477
2478 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
2479
2480 * m/amdx86-64.h (MARKBIT):
2481 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
2482 MARKBIT and ARRAY_MARK_FLAG any more.
2483
2484 * m/hp800.h (XSETMARKBIT):
2485 * m/sr2k.h (XSETMARKBIT):
2486 * lisp.h (XSETMARKBIT): Remove unused macro.
2487
2488 * lisp.h (mark_object): Change prototype.
2489
2490 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
2491 (last_marked): Change accordingly.
2492 (mark_interval, mark_maybe_object, mark_maybe_pointer)
2493 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
2494 (mark_buffer): Update calls to mark_object.
2495
2496 * bytecode.c (mark_byte_stack):
2497 * fns.c (sweep_weak_table):
2498 * keyboard.c (mark_kboards): Update calls to mark_object.
2499
2500 2003-07-06 Jason Rumney <jasonr@gnu.org>
2501
2502 * alloc.c (struct ablock): Only include padding when there is some.
2503
2504 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
2505
2506 * alloc.c (ALIGN): Add casts to simplify usage.
2507 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
2508 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
2509 (struct ablock, struct ablocks): New types.
2510 (free_ablock): New global var.
2511 (lisp_align_malloc, lisp_align_free): New functions.
2512 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
2513 (struct float_block): Reorder and add gcmarkbits.
2514 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
2515 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
2516 (init_float, make_float): Use lisp_align_malloc.
2517 (free_float, live_float_p): Don't use `type' any more.
2518 (make_float): Use FLOAT_UNMARK to access to mark bit.
2519 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
2520 Use FLOAT_MARKED_P to access the mark bit.
2521 (pure_alloc): Simplify use of ALIGN.
2522 (mark_object): Use FLOAT_MARK to access the mark bit.
2523 (gc_sweep): Use new macros to access the float's mark bit.
2524 (init_alloc_once): Init free_ablock.
2525
2526 * lisp.h (struct Lisp_Float): Remove unused field `type'.
2527
2528 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
2529
2530 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
2531 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
2532 (allocate_buffer): Move.
2533 (string_bytes): Don't mask markbit of `size_byte'.
2534 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
2535 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
2536 Use the `size' field of buffers (rather than the `name' field) for
2537 the mark bit, as is done for all other vectorlike objects.
2538 Use the new macros to access the mark bit of vectorlike objects.
2539
2540 2003-06-26 Richard M. Stallman <rms@gnu.org>
2541
2542 * puresize.h (BASE_PURESIZE): Increment base size.
2543
2544 * xdisp.c (fast_find_position): Enable Gerd's new definition.
2545
2546 * xterm.c (xim_initialize): Undo previous change.
2547
2548 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
2549
2550 * alloc.c (survives_gc_p): Simplify.
2551
2552 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
2553
2554 * window.c (Fset_window_dedicated_p): Simplify.
2555 (display_buffer_1): Don't raise the win from which minibuf was entered.
2556 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
2557 (Fminibuffer_selected_window): Simplify.
2558
2559 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
2560
2561 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
2562 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
2563
2564 * insdel.c (check_markers, adjust_markers_for_delete)
2565 (adjust_markers_for_insert, adjust_markers_for_replace)
2566 (prepare_to_modify_buffer, RESTORE_VALUE):
2567 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
2568 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
2569 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
2570 * alloc.c (Fmake_marker, free_marker, gc_sweep):
2571 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
2572 * editfns.c (save_excursion_restore, transpose_markers):
2573 * window.c (delete_window):
2574 * xdisp.c (message_dolog): Update for new types.
2575
2576 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2577
2578 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
2579 (realize_default_face): Use default_face_done_p for the force_p
2580 argument to set_lface_from_font_name. Set default_face_done_p to one.
2581
2582 * frame.c (make_frame): Initialize default_face_done_p.
2583
2584 * frame.h (struct frame): Add default_face_done_p.
2585
2586 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
2587 will be defined.
2588
2589 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
2590
2591 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
2592 Initialize the new field `gcmarkbit'.
2593 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
2594 (mark_interval_tree): Don't mark the tree separately from the nodes.
2595 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
2596 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
2597 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
2598
2599 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
2600 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
2601 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
2602 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
2603 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
2604
2605 2003-06-24 Dave Love <fx@gnu.org>
2606
2607 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
2608
2609 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
2610 from gnulib.
2611
2612 2003-06-21 Richard M. Stallman <rms@gnu.org>
2613
2614 * fileio.c (Fwrite_region): Alternate messages
2615 for append and partial write.
2616
2617 * keyboard.c (read_key_sequence): When converting upcase fn key to
2618 downcase, update fkey and keytran so `backspace' gets translated.
2619
2620 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
2621
2622 * process.c (wait_reading_process_input): Don't signal SIGIO
2623 in batch mode.
2624
2625 2003-06-17 Kenichi Handa <handa@m17n.org>
2626
2627 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
2628 composite.h.
2629
2630 * xselect.c: Don't include charset.h, coding.h, composite.h.
2631 (Qforeign_selection): New variable.
2632 (syms_of_xselect): Intern and static it.
2633 (selection_data_to_lisp_data): Return a unibyte string made from
2634 data with `foreign-selection' text property.
2635
2636 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
2637
2638 * termhooks.h (EVENT_INIT): New macro.
2639
2640 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
2641
2642 * alloc.c (mark_kboards): Move to keyboard.c.
2643
2644 * keyboard.c (record_asynch_buffer_change, read_avail_input):
2645 * xterm.c (x_dispatch_event):
2646 * xmenu.c (find_and_call_menu_selection):
2647 * xdisp.c (handle_tool_bar_click):
2648 * w32menu.c (menubar_selection_callback):
2649 * sysdep.c (kbd_input_ast, read_input_waiting):
2650 * msdos.c (dos_rawgetc):
2651 * macterm.c (mac_check_for_quit_char):
2652 * macmenu.c (menubar_selection_callback):
2653 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
2654 data to kbd_buffer_store_event.
2655
2656 2003-06-15 Kim F. Storm <storm@cua.dk>
2657
2658 * xdisp.c (x_fix_overlapping_area): Always use area relative X
2659 to fix redisplay problem with tall characters (such as \e,AC\e(B).
2660
2661 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
2662
2663 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
2664
2665 2003-06-12 Kenichi Handa <handa@m17n.org>
2666
2667 * fileio.c (Fwrite_region): Save and restore restriction.
2668
2669 2003-06-12 Dave Love <fx@gnu.org>
2670
2671 * alloca.c (alloca): Declare arg as size_t.
2672
2673 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
2674 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
2675
2676 2003-06-11 Dave Love <fx@gnu.org>
2677
2678 * search.c (shrink_regexp_cache): Use xrealloc.
2679 (syms_of_search): Use xmalloc.
2680
2681 2003-06-10 Kim F. Storm <storm@cua.dk>
2682
2683 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
2684 Adjust phys_cursor.x to be relative to window box, rather than
2685 text area before checking -- to ensure cursor is redrawn when
2686 exposing window.
2687 Note: This also fixes a similar (older) bug if display margins
2688 are present.
2689
2690 2003-06-06 Kenichi Handa <handa@m17n.org>
2691
2692 * coding.c (encoding_buffer_size): If coding->type is
2693 coding_type_ccl, double magnification on CRLF encoding.
2694
2695 2003-06-06 Jason Rumney <jasonr@gnu.org>
2696
2697 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
2698 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
2699
2700 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
2701 Mac too.
2702
2703 2003-06-05 Dave Love <fx@gnu.org>
2704
2705 * strftime.c: Merge changes from gnulib.
2706
2707 * mktime.c (__mktime_internal): Merge changes from gnulib
2708 involving year 69 and dst2.
2709
2710 Changes to merge with gnulib version and be consistent with the
2711 autoconf test:
2712
2713 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
2714 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
2715 [HAVE_LOCALE_H]: Include locale.h.
2716 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
2717
2718 2003-06-05 Kim F. Storm <storm@cua.dk>
2719
2720 * window.c (coordinates_in_window): Convert X and Y to window
2721 relative coordinates inside mode-line and header-line parts.
2722 Convert X and Y to margin area relative coordinates inside left
2723 and right display margin parts.
2724
2725 2003-06-05 Jason Rumney <jasonr@gnu.org>
2726
2727 * w32fns.c (add_system_logical_colors_to_map): New function.
2728 (Fx_open_connection): Use it.
2729
2730 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
2731
2732 * process.c (allocate_pty): Revert part of the previous patch.
2733 (Faccept_process_output): Simplify.
2734
2735 2003-06-04 Jason Rumney <jasonr@gnu.org>
2736
2737 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
2738
2739 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
2740 (lispy_mouse_wheel_names): Remove.
2741 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
2742 Always define drag_and_drop_syms.
2743
2744 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
2745 WHEEL_EVENT events.
2746
2747 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
2748
2749 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
2750
2751 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
2752
2753 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2754
2755 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
2756 menu item label.
2757
2758 2003-06-03 Richard M. Stallman <rms@gnu.org>
2759
2760 * window.c (Fwindow_edges): Doc fix.
2761 (Fwindow_pixel_edges, Fwindow_inside_edges)
2762 (Fwindow_inside_pixel_edges): New functions.
2763 (syms_of_window): defsubr them.
2764
2765 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
2766 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
2767
2768 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
2769
2770 * dispnew.c (Fsit_for): Don't lie about the number of args.
2771
2772 2003-06-02 Dave Love <fx@gnu.org>
2773
2774 * callproc.c: Use HAVE_FCNTL_H, not USG5.
2775 (syms_of_callproc) <process-environment>: Doc fix.
2776
2777 * doc.c: Use HAVE_FCNTL_H, not USG5.
2778
2779 * xfaces.c (font_rescale_ratio): Fix for K&R.
2780
2781 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
2782
2783 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
2784
2785 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
2786
2787 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
2788 (xg_create_frame_widgets): Use ENCODE_UTF_8.
2789
2790 * xterm.c (Qutf_8): Move to coding.c
2791
2792 * xmenu.c (ENCODE_MENU_STRING): New.
2793 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
2794 Use it.
2795
2796 * coding.h (ENCODE_UTF_8): New.
2797 (Qutf_8): Declare.
2798
2799 * coding.c (Qutf_8): New.
2800 (syms_of_coding): Intern it.
2801
2802 * fns.c: Doc fixes.
2803
2804 2003-06-02 Kenichi Handa <handa@m17n.org>
2805
2806 * buffer.c (Fset_buffer_multibyte): Fix previous change.
2807
2808 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
2809
2810 * lread.c (openp): Make sure STR is a string.
2811
2812 2003-06-01 David Ponce <david@dponce.com>
2813
2814 * termhooks.h (enum event_kind): Added new WHEEL_EVENT event.
2815 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
2816
2817 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
2818 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
2819 (discard_mouse_events): Discard WHEEL_EVENT events too.
2820 (lispy_wheel_names, wheel_syms): New.
2821 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
2822 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX
2823 defined.
2824 (make_lispy_event): Add WHEEL_EVENT handler.
2825
2826 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
2827 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
2828 WHEEL_EVENT events.
2829
2830 2003-05-31 John Paul Wallington <jpw@gnu.org>
2831
2832 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
2833 timer are in lisp/emacs-lisp.
2834
2835 2003-05-31 Kenichi Handa <handa@m17n.org>
2836
2837 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
2838 region when a buffer is changed to unibyte.
2839
2840 * charset.h (VALID_LEADING_CODE_P): New macro.
2841 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
2842
2843 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
2844 is nonzero, accept multibyte form of eight-bit-control chars.
2845 (decode_composition_emacs_mule): Likewise.
2846 (decode_coding_emacs_mule): Likewise.
2847 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
2848 multibyte form of eight-bit-control chars.
2849
2850 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
2851 (Finsert_file_contents): If coding-system-for-read is bound to
2852 Qauto_save_coding, use the coding system emacs-mule with special
2853 setting for recovering a file.
2854 (choose_write_coding_system): On auto saving, use the coding
2855 system emacs-mule with special setting for auto saving.
2856 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
2857
2858 2003-05-30 Kenichi Handa <handa@m17n.org>
2859
2860 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
2861 properly before calling ccl_driver.
2862
2863 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
2864
2865 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is
2866 nonzero.
2867 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
2868 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
2869
2870 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
2871
2872 * xfaces.c (realize_default_face): Do not abort if lface is
2873 non-existent - reverts change from 2003-05-19.
2874
2875 2003-05-29 Kenichi Handa <handa@m17n.org>
2876
2877 * coding.c (decode_coding_iso2022): Pay attention to the byte
2878 sequence of CTEXT extended segment, and retain those bytes as is.
2879
2880 2003-05-28 Kenichi Handa <handa@m17n.org>
2881
2882 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change
2883 of CODING_REPLACEMENT_CHARACTER.
2884 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
2885 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
2886 check this flag on encoding.
2887 (encode_coding_sjis_big5): Check
2888 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
2889 (Fset_terminal_coding_system_internal): Set
2890 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
2891 instead of setting CODING_FLAG_ISO_SAFE flag in
2892 terminal_coding.flags.
2893
2894 * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from
2895 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
2896 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
2897
2898 2003-05-28 Richard M. Stallman <rms@gnu.org>
2899
2900 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
2901
2902 * eval.c (unbind_to): Move init of this_binding to separate statement.
2903
2904 2003-05-28 Kim F. Storm <storm@cua.dk>
2905
2906 * xdisp.c (expose_window): Fix error in calculation of
2907 window relative coordinates of area to redisplay.
2908
2909 2003-05-27 Jason Rumney <jasonr@gnu.org>
2910
2911 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
2912
2913 2003-05-27 David Ponce <david@dponce.com>
2914
2915 Handle W32 mouse wheel events as mouse click events, like in X.
2916
2917 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
2918 MOUSE_WHEEL_EVENT anymore.
2919
2920 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
2921 Scrolling down/up the mouse wheel is respectively mapped to mouse
2922 button 4 and 5.
2923 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
2924 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
2925 WM_MOUSEWHEEL events.
2926
2927 2003-05-27 Andreas Schwab <schwab@suse.de>
2928
2929 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
2930
2931 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
2932 partially visible line.
2933
2934 * alloc.c (Fgarbage_collect): Fix last change.
2935
2936 2003-05-26 John Paul Wallington <jpw@gnu.org>
2937
2938 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
2939
2940 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
2941
2942 * window.c (Fset_window_buffer): Add type of `keep_margins'.
2943 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
2944
2945 * window.h (window_box_text_cols): Declare.
2946
2947 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
2948 (x_draw_vertical_border): Remove unused var `f'.
2949
2950 * xfaces.c (build_scalable_font_name): Remove `unused var
2951 pixel_size' warning.
2952
2953 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
2954
2955 * unexelf.c (unexec): Remove `unused var n' warning.
2956
2957 * strftime.c (my_strftime_localtime_r): Remove `defined but
2958 unused' warning.
2959
2960 * process.c (allocate_pty): Remove `unused var stb' and
2961 `cp might be used uninitialized' warnings.
2962
2963 * dispnew.c (mode_line_string): Remove unused var `f'.
2964
2965 * coding.c (find_safe_codings): Remove unused var `i'.
2966
2967 * bytecode.c (Fbyte_code): Remove `unused val' warning.
2968
2969 * buffer.c (Fkill_buffer): Remove unused var `list'.
2970
2971 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
2972
2973 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2974
2975 * frame.c (make_frame): Condition want_fullscreen with
2976 HAVE_WINDOW_SYSTEM.
2977
2978 2003-05-25 Juanma Barranquero <lektu@terra.es>
2979
2980 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
2981 (Fwindow_scroll_bars): Fix typo in docstring.
2982
2983 2003-05-24 Kim F. Storm <storm@cua.dk>
2984
2985 The following changes serve several purposes:
2986
2987 1) Swap the position of fringes and display margins in windows, i.e.
2988 the fringes are now displayed between the margins and the text area
2989 (by default).
2990
2991 2) Allow fringe and scroll bar parameters to be set per-buffer and
2992 per-window (like display margins). Such settings are now stored
2993 in window configurations, preserved when frames are resized, and
2994 copied when windows are split vertically or horizontally.
2995 Several bugs related to display margins have been fixed.
2996
2997 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
2998
2999 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
3000 rather than FRAME_WIDTH (FRAME_FONT (f)).
3001
3002 5) Introduce a consistent naming of variables, members and macros
3003 depending on whether their value is measured in pixels or in
3004 canonical columns/lines. Pixel dimensions are named *_width and
3005 *_height, while canonical columns/lines are named *_cols and
3006 *_lines. Pixel positions are named *_x and *_y, while column/line
3007 positions are named *_col and *_line.
3008
3009 6) Consolidate more of the X, W32, and MAC gui code by moving
3010 common data into struct frame, and generalize it for the non-gui
3011 case by using suitable defaults.
3012
3013 7) Cleanup and consolidate the macros controlling frame and window
3014 layout into frame.h and window.h, and generalize the use of the
3015 various window_box_* functions (enhanced to handle the new fringe
3016 position and the per-window fringe and scroll bar settings).
3017
3018 * frame.h (struct frame): Rename members height to text_lines,
3019 width to text_cols, window_height to total_lines, window_width to
3020 total_cols, new_height to new_text_lines, new_width to
3021 new_text_cols. All uses changed.
3022 (struct frame): New members which consolidate common members of
3023 x_output, w32_output, and mac_output structures: left_pos,
3024 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
3025 win_gravity, size_hint_flags, border_width, internal_border_width,
3026 line_height, fringe_cols, left_fringe_width, right_fringe_width,
3027 want_fullscreen. All uses changed.
3028 (struct frame): New member column_width contaning the canonical
3029 column width, analogue to line_height. All uses changed.
3030 (struct frame): Rename members scroll_bar_pixel_width to
3031 config_scroll_bar_width, and scroll_bar_cols to
3032 config_scroll_bar_cols. All uses changed.
3033 (struct frame): New member scroll_bar_actual_width which
3034 consolidates and renames the vertical_scroll_bar_extra member of
3035 x_output, w32_output, and mac_output structures. All uses changed.
3036 (FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
3037 from x/w32/macterm.h files. All uses changed. Also change code
3038 which referred to f->output_data...->pixel_height.
3039 (FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
3040 from x/w32/macterm.h files. All uses changed. Also change code
3041 which referred to f->output_data...->pixel_width.
3042 (FRAME_LINES): Renamed from FRAME_HEIGHT. All uses changed.
3043 Also change code which referred to f->height.
3044 (FRAME_COLS): Renamed from FRAME_WIDTH. All uses changed.
3045 Also change code which referred to f->width.
3046 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
3047 to update new_text_lines and new_text_cols members directly.
3048 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
3049 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
3050 (FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
3051 FRAME_SCROLL_BAR_COLS. All uses changed.
3052 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
3053 Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
3054 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
3055 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
3056 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
3057 (FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
3058 (SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
3059 (FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
3060 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
3061 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
3062 (FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT. Unconditionally
3063 return line_height member (it now has proper value also for
3064 non-window frames).
3065 (FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT. Unconditionally
3066 return new column_width member (rather than the default font width).
3067 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
3068 (FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
3069 from x/w32/macterm.h files. Unconditionally return corresponding
3070 member of frame structure (they now have proper values also for
3071 non-window frames).
3072 (FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
3073 Calculate return value from left and right widths.
3074 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
3075 internal_border_width member (has proper value for non-window frame).
3076 (FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
3077 (FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
3078 (FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
3079 (FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
3080 (FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
3081 consolidated from xterm.h, macterm.h, and w32term.h.
3082 (FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
3083 consolidated from xterm.h, macterm.h, and w32term.h.
3084 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
3085 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
3086 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
3087 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
3088 (FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
3089 consolidated from x/mac/w32term.h.
3090 (FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
3091 consolidated from x/mac/w32term.h.
3092 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
3093 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
3094 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
3095 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
3096
3097 * window.h (struct window): Rename members left to left_col,
3098 top to top_line, height to total_lines, width to total_cols,
3099 left_margin_width to left_margin_cols, right_margin_width to
3100 right_margin_cols, orig_height to orig_total_lines, orig_top to
3101 orig_top_line. All uses changed.
3102 (struct window): New members left_fringe_width, right_fringe_width,
3103 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
3104 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
3105 New macros primarily used to simplify other macros.
3106 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
3107 referred to XINT (w->width).
3108 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
3109 referred to XINT (w->height).
3110 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
3111 referred to XINT (w->width) * canon_x_unit.
3112 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
3113 referred to XINT (w->height) * canon_y_unit.
3114 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
3115 referred to XINT (w->left).
3116 (WINDOW_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_EDGE. Change
3117 all uses and code that referred to XINT (w->left) + XINT (w->width).
3118 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
3119 referred to XINT (w->top).
3120 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
3121 referred to XINT (w->top) + XINT (w->height).
3122 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
3123 referred to XINT (w->left) * canon_x_unit.
3124 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
3125 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
3126 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
3127 referred to XINT (w->top) * canon_y_unit.
3128 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
3129 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
3130 (WINDOW_LEFTMOST_P): New macro.
3131 (WINDOW_BOX_LEFT_EDGE_COL): Renamed from WINDOW_LEFT_MARGIN.
3132 All uses changed.
3133 (WINDOW_BOX_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_MARGIN.
3134 All uses changed.
3135 (WINDOW_BOX_LEFT_EDGE_X): Renamed from
3136 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
3137 Do not exclude left fringe width.
3138 (WINDOW_BOX_RIGHT_EDGE_X): Renamed from
3139 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
3140 Do not exclude fringe widths.
3141 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
3142 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
3143 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
3144 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
3145 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
3146 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
3147 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
3148 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
3149 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
3150 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
3151 New macros. Change code which referenced corresponding
3152 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
3153 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
3154 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
3155 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
3156 allow per-window scroll-bar settings.
3157 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
3158 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
3159 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
3160 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
3161 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
3162 FRAME_SCROLL_BAR_WIDTH.
3163 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
3164 (WINDOW_SCROLL_BAR_AREA_X): New macros.
3165 (WINDOW_HEADER_LINE_HEIGHT): Renamed from
3166 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
3167 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Renamed from
3168 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
3169 (WINDOW_BOX_TEXT_HEIGHT): Renamed from
3170 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
3171 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
3172 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
3173 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Moved here from dispextern.h.
3174 (WINDOW_LEFT_MARGIN_WIDTH): Renamed from
3175 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
3176 (WINDOW_RIGHT_MARGIN_WIDTH): Renamed from
3177 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
3178 (window_from_coordinates): Update prototype.
3179 (Fset_window_buffer): Update EXFUN.
3180 (set_window_buffer): Update prototype.
3181
3182 * dispextern.h (struct glyph_matrix): Rename members window_left_x
3183 to window_left_col, window_top_y to window_top_line. All uses
3184 changed.
3185 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
3186 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
3187 internal_border_width is now set to 0 for non-window frames.
3188 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
3189 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
3190 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
3191 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
3192 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
3193 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
3194 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
3195 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
3196 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
3197 Move to window.h and renamed [see window.h changes].
3198 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
3199 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
3200 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
3201 Use WINDOW_TOTAL_LINES.
3202 (frame_update_line_height): Remove prototype.
3203
3204 * buffer.h (struct buffer): Rename members measured in columns:
3205 left_margin_width to left_margin_cols, right_margin_width to
3206 right_margin_cols. All uses changed.
3207 New members left_fringe_width, right_fringe_width,
3208 fringes_outside_margins for per-buffer fringe settings.
3209 New members scroll_bar_width and vertical_scroll_bar_type for
3210 per-buffer scroll bar settings.
3211
3212 * buffer.c (init_buffer_once): Set buffer_defaults and
3213 buffer_local_flags for new buffer-local variables
3214 left_fringe_width, right_fringe_width, fringes_outside_margins,
3215 scroll_bar_width, and vertical_scroll_bar_type.
3216 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
3217 default-* variables for them.
3218
3219 * dispnew.c: Make (many) trivial substitutions for renamed and
3220 new macros in dispextern.h, frame.h and window.h.
3221 (mode_line_string): No need to adjust width for mode lines, as it
3222 is already adjusted by the caller.
3223 (marginal_area_string): Handle fringes inside/outside margins.
3224
3225 * frame.c: Make (many) trivial substitutions for renamed and
3226 new macros in dispextern.h, frame.h and window.h.
3227 (make_frame): Initialize left_fringe_width, right_fringe_width,
3228 fringe_cols, scroll_bar_actual_width, border_width,
3229 internal_border_width, column_width, line_height, x_pixels_diff,
3230 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
3231 members with values suitable for a non-window frames.
3232
3233 * gtkutil.c: Make (many) trivial substitutions for renamed and
3234 new macros in dispextern.h, frame.h and window.h.
3235
3236 * indent.c: Make (few) trivial substitutions for renamed and
3237 new macros in dispextern.h, frame.h and window.h.
3238
3239 * keyboard.c: Make (many) trivial substitutions for renamed and
3240 new macros in dispextern.h, frame.h and window.h.
3241 (make_lispy_event): Use window positions returned from
3242 window_from_coordinates when constructing the lisp event for
3243 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
3244 (incorrect) values locally.
3245 (make_lispy_movement): Use window positions returned from
3246 window_from_coordinates when constructing the lisp event, rather
3247 than calculating (incorrect) values locally.
3248
3249 * scroll.c: Make (some) trivial substitutions for renamed and
3250 new macros in dispextern.h, frame.h and window.h.
3251
3252 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
3253 scroll-bars.
3254
3255 * sysdep.c: Make (few) trivial substitutions for renamed and
3256 new macros in dispextern.h, frame.h and window.h.
3257
3258 * term.c: Make (some) trivial substitutions for renamed and
3259 new macros in dispextern.h, frame.h and window.h.
3260
3261 * widget.c: Make (few) trivial substitutions for renamed and
3262 new macros in dispextern.h, frame.h and window.h.
3263
3264 * window.c: Make (many) trivial substitutions for renamed and
3265 new macros in dispextern.h, frame.h and window.h.
3266 (make_window): Initialize new members
3267 left_margin_cols, right_margin_cols, left_fringe_width,
3268 right_fringe_width, fringes_outside_margins, scroll_bar_width,
3269 and vertical_scroll_bar_type.
3270 (coordinates_in_window): Adapted to new fringe/margin positions
3271 and per-window fringes and scroll-bars.
3272 Fix bug related to incorrectly adjusting coordinates by
3273 frame's internal_border_width (the effect normally negible since
3274 the internal_border_width is typically 0 or 1 pixel, but very
3275 noticeable for an internal_border_width of e.g. 25 pixels).
3276 Upon successful return (other than ON_NOTHING), the coordinates
3277 are now always properly converted to window relative for the
3278 given display element.
3279 (window_from_coordinates): Add new parameters wx and wy to
3280 return the window relative x and y position in the returned
3281 window and part. A null arg means, don't return the position.
3282 All callers changed.
3283 (adjust_window_margins): New function which may reduce the width
3284 of the display margins if a window's text area is too small after
3285 resizing or splitting windows.
3286 (size_window): Fix bug that did not account for display margin
3287 widths when checking the minimum width of a window; use
3288 adjust_window_margins.
3289 (set_window_buffer): Call Fset_window_fringes and
3290 Fset_window_scroll_bars to setup per-window elements.
3291 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
3292 existing display margin, fringe widths, and scroll bar settings
3293 (e.g. after splitting a window or resizing the frame).
3294 All callers changed.
3295 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
3296 (Fsplit_window): Duplicate original window's display margin,
3297 fringe, and scroll-bar settings; then call Fset_window_buffer with
3298 KEEP_MARGINS non-nil. This fixes a bug which caused a split
3299 window to only preserve the display margins in one of the windows.
3300 When splitting horizontally, call adjust_window_margins on both
3301 windows to ensure that the text area of the new windows is non too
3302 narrow. This fixes a bug which could cause emacs to trap if the
3303 width of the split window was less than the width of the display
3304 margins.
3305 (window_box_text_cols): Renamed from window_internal_width.
3306 All uses changed. Adapt to per-window fringes and scroll bars.
3307 Fix bug that caused vertical separator to be subtracted also on
3308 window frames. Fix another bug that did not reduce the returned
3309 value by the columns used for display margins.
3310 (window_scroll_line_based): Fix bug related to scrolling too much
3311 when display margins are present (implicitly fixed by the fix to
3312 window_box_text_cols).
3313 (scroll_left, scroll_right): Fix bug related to scrolling too far
3314 by default when display margins are present (implicitly fixed by
3315 the fix to window_box_text_cols).
3316 (struct saved_window): Rename members left to left_col, top to
3317 top_line, width to total_cols, height to total_lines, orig_top to
3318 orig_top_line, orig_height to orig_total_lines. All uses changed.
3319 New members left_margin_cols, right_margin_cols,
3320 left_fringe_width, right_fringe_width, fringes_outside_margins,
3321 scroll_bar_width, and vertical_scroll_bar_type for saving
3322 per-window display elements.
3323 (Fset_window_configuration): Restore display margins, fringes,
3324 and scroll bar settings. This fixes a bug which caused display
3325 margins to be discarded when saving and restoring a window
3326 configuration.
3327 (save_window_save): Save display margins, fringes, and scroll bar
3328 settings. This fixes a bug which caused display margins to be
3329 discarded when saving and restoring a window configuration.
3330 (Fset_window_margins): Do nothing if display margins are not
3331 really changed. Otherwise, call adjust_window_margins to ensure
3332 the text area doesn't get too narrow. This fixes a bug which
3333 could cause emacs to trap if setting display margins wider than
3334 the width of the window.
3335 (Fset_window_fringes): New defun to allow user to specifically set
3336 this window's fringe widths and position vs. display margins.
3337 (Fwindow_fringes): New defun to return window's actual fringe
3338 settings.
3339 (Fset_window_scroll_bars): New defun to allow user to specifically
3340 set this window's scroll bar width and position.
3341 (Fwindow_scroll_bars): New defun to return window's actual scroll
3342 bar settings.
3343 (compare_window_configurations): Also compare display margins,
3344 fringes, and scroll bar settings.
3345 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
3346
3347 * xdisp.c: Make (many) trivial substitutions for renamed and
3348 new macros in dispextern.h, frame.h and window.h.
3349 (window_box_width): Adapt to per-window fringes and scroll bars,
3350 and new fringe vs. display margin position. Note that returned
3351 value is no longer guaranteed to be a whole multiple of the frame
3352 column width, since per-window fringes may now be any width.
3353 (window_box_left_offset): New function like window_box_left, but
3354 value is relative to left border of window (rather than frame).
3355 (window_box_right_offset): New function like window_box_right,
3356 but value is relative to left border of window.
3357 (window_box_left): Adapt to per-window fringes and scroll bars,
3358 and new fringe vs. display margin position. Simplify by using
3359 WINDOW_LEFT_EDGE_X and window_box_left_offset.
3360 (window_box): Allow null args for unnecessary return values;
3361 change/simplify relevant callers.
3362 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
3363 and new fringe vs. display margin position.
3364 Use window_box_left_offset and window_box_right_offset
3365 (get_glyph_string_clip_rect): Adapt to per-window fringes and
3366 scroll bars, and new fringe vs. display margin position.
3367 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
3368 (draw_fringe_bitmap): Rework to handle per-window fringes and new
3369 fringe vs. display margin position.
3370 (hscroll_window_tree): Use window_box_width instead of window_box.
3371 (redisplay_window): Adapt to per-window scroll bars.
3372 (draw_glyphs): Rework to handle per-window fringes and scroll
3373 bars, and new fringe vs. display margin position.
3374 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
3375 (x_clear_end_of_line): Adapt to per-window fringes and scroll
3376 bars, and new fringe vs. display margin position. Fix bug which
3377 increased total width of full_width rows by width of scroll bars
3378 although window's total width already includes that.
3379 (x_fix_overlapping_area): Simplify using window_box_left_offset.
3380 (expose_area): Simplify using window_box_left_offset.
3381 (x_draw_vertical_border): Handle per-window scroll bar settings,
3382 mixing windows with left, right and no scroll bars.
3383
3384 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
3385 where it's used in x_list_fonts (for clarity).
3386 (frame_update_line_height): Remove unused function; functionality
3387 is now done directly when setting the default font in x_set_font.
3388
3389 * xfns.c: Make (many) trivial substitutions for renamed and
3390 new macros in dispextern.h, frame.h and window.h.
3391
3392 * xmenu.c: Make (some) trivial substitutions for renamed and
3393 new macros in dispextern.h, frame.h and window.h.
3394
3395 * xterm.h (struct x_output): Move members left_pos, top_pos,
3396 border_width, pixel_height, pixel_width, line_height,
3397 internal_border_width, vertical_scroll_bar_extra,
3398 left_fringe_width, right_fringe_width, fringe_cols,
3399 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
3400 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
3401 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
3402 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
3403 (PIXEL_WIDTH, PIXEL_HEIGHT)
3404 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
3405 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
3406 frame.h and renamed [see frame.h changes].
3407 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
3408 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
3409 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
3410 and renamed [see frame.h changes].
3411
3412 * xterm.c: Make (several) trivial substitutions for renamed and
3413 new macros in dispextern.h, frame.h and window.h.
3414 (x_draw_glyph_string_box): Adapt to per-window fringes and
3415 scroll-bars.
3416 (scroll_run): Adapt to new fringe position.
3417 (glyph_rect): Use window coordinates returned from
3418 window_from_coordinates rather than frame_to_window_pixel_xy.
3419 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
3420 scroll-bars.
3421 (handle_one_xevent): Simplify a USE_GTK conditional.
3422 (x_clip_to_row): Remove superfluous whole_line_p arg and code
3423 (fringes are now inside margins, i.e. always in the clipping area).
3424 All callers changed.
3425 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
3426 directly, then call compute_fringe_widths. Don't call
3427 frame_update_line_height.
3428
3429 * w32term.h (struct w32_output): Move members left_pos, top_pos,
3430 border_width, pixel_height, pixel_width, line_height,
3431 internal_border_width, vertical_scroll_bar_extra,
3432 left_fringe_width, right_fringe_width, fringe_cols,
3433 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
3434 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
3435 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
3436 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
3437 (PIXEL_WIDTH, PIXEL_HEIGHT)
3438 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
3439 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
3440 frame.h and renamed [see frame.h changes].
3441 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
3442 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
3443 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
3444 and renamed [see frame.h changes].
3445
3446 * w32term.c: Make (several) trivial substitutions for renamed and
3447 new macros in dispextern.h, frame.h and window.h.
3448 (x_draw_glyph_string_box): Adapt to per-window fringes and
3449 scroll-bars.
3450 (glyph_rect): Use window coordinates returned from
3451 window_from_coordinates rather than frame_to_window_pixel_xy.
3452 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
3453 scroll-bars.
3454 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
3455 (fringes are now inside margins, i.e. always in the clipping area).
3456 All callers changed.
3457 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
3458 directly, then call compute_fringe_widths. Don't call
3459 frame_update_line_height.
3460
3461 * w32console.c: Make (few) trivial substitutions for renamed and
3462 new macros in dispextern.h, frame.h and window.h.
3463
3464 * w32fns.c: Make (many) trivial substitutions for renamed and
3465 new macros in dispextern.h, frame.h and window.h.
3466
3467 * w32menu.c: Make (few) trivial substitutions for renamed and
3468 new macros in dispextern.h, frame.h and window.h.
3469
3470 * macterm.h (struct mac_output): Move members left_pos, top_pos,
3471 border_width, pixel_height, pixel_width, line_height,
3472 internal_border_width, vertical_scroll_bar_extra,
3473 left_fringe_width, right_fringe_width, fringe_cols,
3474 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
3475 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
3476 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
3477 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
3478 (PIXEL_WIDTH, PIXEL_HEIGHT)
3479 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
3480 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
3481 frame.h and renamed [see frame.h changes].
3482 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
3483 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
3484 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
3485 and renamed [see frame.h changes].
3486
3487 * macterm.c: Make (several) trivial substitutions for renamed and
3488 new macros in dispextern.h, frame.h and window.h.
3489 (x_draw_glyph_string_box): Adapt to per-window fringes and
3490 scroll-bars.
3491 (glyph_rect): Use window coordinates returned from
3492 window_from_coordinates rather than frame_to_window_pixel_xy.
3493 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
3494 scroll-bars.
3495 (x_clip_to_row): Remove superfluous whole_line_p arg and code
3496 (fringes are now inside margins, i.e. always in the clipping area).
3497 All callers changed.
3498 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
3499 directly, then call compute_fringe_widths. Don't call
3500 frame_update_line_height.
3501
3502 * macfns.c: Make (several) trivial substitutions for renamed and
3503 new macros in dispextern.h, frame.h and window.h.
3504 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
3505
3506 * macmenu.c: Make (few) trivial substitutions for renamed and
3507 new macros in dispextern.h, frame.h and window.h.
3508
3509 * msdos.h (struct x_output): Remove members left_pos, top_pos,
3510 and line_height, and use corresponding new members in struct
3511 frame. All uses changed.
3512 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
3513 superseeded by corresponding macros in frame.h.
3514
3515 * msdos.c: Make (several) trivial substitutions for renamed and
3516 new macros in dispextern.h, frame.h and window.h.
3517 (IT_note_mouse_highlight): Use updated window coordinates returned
3518 by window_from_coordinates, rather than adjusting them locally.
3519 (internal_terminal_init): No need to initialize line_height here;
3520 it now defaults to 1.
3521
3522 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
3523
3524 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
3525 dropping `down' events.
3526
3527 2003-05-24 Andreas Schwab <schwab@suse.de>
3528
3529 * coding.c (find_safe_codings): Fix last change.
3530
3531 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
3532
3533 * xfns.c (x_window): Fix typo from 2003-05-21 change.
3534
3535 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
3536
3537 * xdisp.c (display_mode_element): Increase max depth.
3538 Simplify the error handling code. Use a different error string
3539 for the case where we hit the depth limit.
3540
3541 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
3542
3543 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
3544
3545 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
3546
3547 * intervals.c (get_local_map): Don't get char-property of previous
3548 point any more: get_pos_property already does it and better.
3549
3550 2003-05-21 Dave Love <fx@gnu.org>
3551
3552 [Merged from unicode branch.]
3553
3554 * xfns.c (x_window, x_window): Use use_xim.
3555
3556 * xterm.c (use_xim): Initialize.
3557 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
3558 (x_term_init): Maybe set use_xim.
3559
3560 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
3561
3562 2003-05-21 Jason Rumney <jasonr@gnu.org>
3563
3564 * unexw32.c (_start): Remove _fmode initialization.
3565
3566 * emacs.c (main) [WINDOWSNT]: Move it here.
3567
3568 2003-05-20 Dave Love <fx@gnu.org>
3569
3570 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
3571
3572 2003-05-19 Richard M. Stallman <rms@gnu.org>
3573
3574 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
3575 as value for QCfont attribute.
3576 (realize_default_face): lface should already exist; crash if not.
3577 Specify 0 for FORCE_P when calling set_lface_from_font_name.
3578
3579 * frame.c (Fignore_event): Doc fix.
3580
3581 2003-05-19 Kenichi Handa <handa@m17n.org>
3582
3583 * coding.c (decode_coding_string): Handle post-read-conversion
3584 even if the coding doesn't require decoding.
3585
3586 2003-05-18 Richard M. Stallman <rms@gnu.org>
3587
3588 * callproc.c (Fcall_process_region): Doc fix.
3589
3590 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
3591
3592 * lread.c (Fload): Print a message if package is obsolete.
3593
3594 * window.c (Fselect_window): Add optional `norecord' arg.
3595 (select_window_1): Fold into Fselect_window.
3596 (select_window_norecord): New function.
3597 (temp_output_buffer_show): Use it. Preserve current buffer.
3598
3599 * window.h (Fselect_window): Update declaration.
3600
3601 * window.c (delete_window, Fother_window, Fset_window_configuration):
3602 * minibuf.c (read_minibuf):
3603 * macterm.c (x_new_focus_frame):
3604 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
3605 * callint.c (Fcall_interactively):
3606 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
3607
3608 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
3609
3610 2003-05-17 David Kastrup <dak@gnu.org>
3611
3612 * process.c (read_process_output): Back out change from 2003-03-09.
3613
3614 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
3615
3616 * editfns.c (get_pos_property): Don't assume that `object' = nil.
3617
3618 * textprop.c (text_property_stickiness): New arg `buffer'.
3619
3620 * intervals.h (text_property_stickiness): New arg `buffer'.
3621 (get_pos_property): Declare.
3622
3623 * intervals.c (get_local_map): Use get_pos_property, to obey
3624 stickiness and empty overlays.
3625 (create_root_interval, graft_intervals_into_buffer): Use BEG.
3626 (merge_properties, intervals_equal, merge_properties_sticky):
3627 Use XCAR, XCDR.
3628 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
3629
3630 2003-05-17 Richard M. Stallman <rms@gnu.org>
3631
3632 * minibuf.c (read_minibuf): If buffer is empty, record the default
3633 in the history.
3634 (Fminibuffer_complete_word): When deleting the overlap, take account
3635 of its real position.
3636
3637 * fns.c (map_char_table): Fix previous change.
3638
3639 * syntax.c (find_defun_start):
3640 When open_paren_in_column_0_is_defun_start,
3641 return beginning of buffer.
3642
3643 * lisp.h (map_char_table): Declare added arg.
3644
3645 * fns.c (map_char_table): New arg TABLE gets the master table.
3646 All calls changed.
3647 Process default and inheritance, resorting to Faref if necessary.
3648
3649 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
3650 (Faccessible_keymaps): Pass new arg to map_char_table.
3651
3652 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
3653
3654 * casetab.c (set_case_table): Pass new arg to map_char_table.
3655
3656 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
3657
3658 * lisp.h (specbinding_func): New typedef.
3659 (struct specbinding): Use specbinding_func, to put the `volatile'
3660 in the right place.
3661
3662 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
3663 to avoid GCC warning.
3664
3665 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org> (tiny change)
3666
3667 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
3668
3669 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
3670
3671 * keyboard.c (apply_modifiers): Don't fill the other cache.
3672
3673 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
3674
3675 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
3676
3677 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
3678 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
3679 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
3680 (Fset_window_configuration, Fcurrent_window_configuration)
3681 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
3682 (Fpos_visible_in_window_p, mark_window_cursors_off)
3683 (window_internal_height, window_internal_width, Frecenter)
3684 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
3685 (replace_buffer_in_all_windows, init_window_once, init_window)
3686 (syms_of_window, keys_of_window): Move from lisp.h.
3687 * lisp.h: Move window.c declarations to window.h.
3688
3689 * bytecode.c: Include window.h.
3690 * emacs.c: Include window.h.
3691
3692 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
3693 (keyremap): Add `parent' field.
3694 (keyremap_step): Use it. Remove `parent' argument.
3695 (read_key_sequence): Setup and use the new `parent' field.
3696
3697 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
3698
3699 * keyboard.c (adjust_point_for_property): Ensure termination.
3700
3701 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
3702
3703 * keyboard.c (follow_key): Remove dead variable `did_meta'.
3704 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
3705 duplicated handling of function-key-map and key-translation-map
3706 in read_key_sequence.
3707 (read_key_sequence): Use them.
3708
3709 * keyboard.c (adjust_point_for_property): Try harder to move point
3710 to the non-sticky end of an invisible property.
3711
3712 * xdisp.c (single_display_prop_intangible_p): Make `space' display
3713 property intangible as well.
3714
3715 2003-05-10 Andreas Schwab <schwab@suse.de>
3716
3717 * xmenu.c (single_menu_item): Change last parameter to void* to
3718 avoid warning.
3719
3720 2003-05-09 Richard M. Stallman <rms@gnu.org>
3721
3722 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
3723 Bind Qinhibit_modification_hooks to t so there will be no GC.
3724 Rename local `tem' to `save_deactivate_mark'.
3725
3726 * eval.c (specpdl_ptr): Declare volatile.
3727 (unbind_to): Copy the whole binding and decrement specpdl_ptr
3728 before doing the work of unbinding it.
3729
3730 * lisp.h (struct specbinding): Declare elements volatile.
3731 (specpdl_ptr): Declare volatile.
3732
3733 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
3734
3735 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
3736 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
3737
3738 2003-05-08 Dave Love <fx@gnu.org>
3739
3740 * coding.c (Vlast_coding_system_used): Doc fix.
3741
3742 2003-05-07 Jason Rumney <jasonr@gnu.org>
3743
3744 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
3745 when system does not support them.
3746
3747 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
3748
3749 * fileio.c (Qwrite_region_annotate_functions): New var.
3750 (build_annotations): Use it to process the global part of the hook.
3751 (syms_of_fileio): Init and staticpro it.
3752
3753 * keyboard.c (safe_run_hooks_error): Display a message instead of
3754 silently ignoring the error.
3755
3756 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
3757
3758 * keyboard.c (input_available_signal): Mark static.
3759 (menu_bar_items): Use map_keymap.
3760 (menu_bar_one_keymap): Remove.
3761 (menu_bar_item): Adjust arglist (for use in map_keymap).
3762 Properly hide a second binding when not both are keymaps.
3763
3764 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
3765 (single_keymap_panes): Use it and map_keymap.
3766 (single_menu_item): Use skp as well.
3767
3768 * keymap.h (map_keymap_function_t): New type.
3769 (map_keymap): Declare.
3770
3771 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
3772 (map_keymap_call, Fmap_keymap): New functions.
3773 (syms_of_keymap): Defsubr map-keymap.
3774
3775 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3776
3777 * gtkutil.c (create_dialog, make_widget_for_menu_item)
3778 (make_menu_item, create_menus, xg_update_menu_item): Don't call
3779 ..._with_mnemonic functions for menu items.
3780
3781 2003-05-01 Kenichi Handa <handa@m17n.org>
3782
3783 * coding.c (coding_system_accept_latin_extra_p): Delete this
3784 function.
3785 (find_safe_codings): Pay attention to
3786 the property tranlsation-table-for-encode of each codings.
3787 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
3788
3789 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
3790
3791 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
3792
3793 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
3794
3795 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
3796
3797 * lisp.h (CHECK): Wrap args in parenthesis.
3798 (specbind): Fix doc: symbol = Qnil is not supported any more.
3799
3800 * bytecode.c (Fbyte_code) <unwind-protect>:
3801 Use Fprogn rather than 0 and Qnil.
3802
3803 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
3804 `double', and `triple' modifiers as well.
3805
3806 2003-04-30 Richard M. Stallman <rms@gnu.org>
3807
3808 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
3809
3810 * alloc.c (abort_on_gc): New variable.
3811 (Fgarbage_collect): Abort if abort_on_gc is set.
3812
3813 * lisp.h (abort_on_gc): Add decl.
3814
3815 * eval.c (Fsignal): Clear abort_on_gc.
3816
3817 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
3818 Reinit FORMAT_START and END before second scan.
3819
3820 * xdisp.c (move_it_vertically_backward): Do the final big else
3821 even if nlines is 0.
3822
3823 * xdisp.c (redisplay_internal): Finish the per-frame loop
3824 even if redisplay is suspended by input.
3825
3826 2003-04-24 Andrew Choi <akochoi@shaw.ca>
3827
3828 * macterm.c (x_list_fonts): Return all fonts that match if
3829 maxnames = -1.
3830
3831 2003-04-25 Kenichi Handa <handa@m17n.org>
3832
3833 * syntax.c (skip_chars): Fix previous change.
3834
3835 2003-04-24 Kenichi Handa <handa@m17n.org>
3836
3837 * syntax.c (skip_chars): Make the code faster by using the common
3838 technique of *p, *stop, and *endp.
3839
3840 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3841
3842 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
3843 tool_bar_items so GTK tool bar expose callback does not access items
3844 being updated.
3845
3846 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
3847
3848 * eval.c (Fapply): Undo last change and add a comment about why.
3849
3850 2003-04-18 Miles Bader <miles@gnu.org>
3851
3852 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
3853 pickier PARSE_MULTIBYTE_SEQ.
3854
3855 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
3856
3857 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
3858 Use XCDR, XCAR, CONSP.
3859 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
3860 (Fapply): Remove unnecessary GCPRO.
3861
3862 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
3863
3864 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
3865
3866 * buffer.h: Don't hardcode BEG==1.
3867
3868 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
3869
3870 2003-04-16 Richard M. Stallman <rms@gnu.org>
3871
3872 * xdisp.c (try_window, try_window_reusing_current_matrix):
3873 When at end of window, set window_end_pos to Z-ZV.
3874
3875 * buffer.c (Foverlay_recenter): Doc fix.
3876
3877 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
3878
3879 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
3880
3881 2003-04-14 Andrew Choi <akochoi@shaw.ca>
3882
3883 * macterm.c (mac_check_for_quit_char): Don't check more often than
3884 once a second.
3885
3886 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
3887
3888 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
3889 specially, so that they can't hide an implicit switch-frame event.
3890 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
3891 (head_table): Use switch-frame as event_kind for select-window.
3892 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
3893
3894 * editfns.c (Fformat): Lisp_Object/int mixup.
3895 (format2): Remove unused var numargs.
3896
3897 2003-04-11 Kenichi Handa <handa@m17n.org>
3898
3899 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
3900 (Qafter_insert_file_set_coding): New variable.
3901 (syms_of_fileio): Initialize and staticpro it. Delete declaration
3902 for after-insert-file-adjust-coding-function.
3903 (Finsert_file_contents): Call Qafter_insert_file_set_coding
3904 instead of Vafter_insert_file_adjust_coding_function.
3905
3906 2003-04-11 Kenichi Handa <handa@m17n.org>
3907
3908 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
3909
3910 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
3911 string. Callers changed.
3912
3913 2003-04-10 Kenichi Handa <handa@m17n.org>
3914
3915 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
3916 (syms_of_fileio): Declare it as a lisp variable.
3917 (Finsert_file_contents):
3918 Call Vafter_insert_file_adjust_coding_function before calling
3919 decode-format.
3920
3921 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3922
3923 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
3924 get GtkAdjustment as widget now is a GtkRange.
3925
3926 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
3927 GtkRange to avoid memory leak.
3928
3929 2003-04-09 Kenichi Handa <handa@m17n.org>
3930
3931 * xfaces.c (Vface_font_rescale_alist): New variable.
3932 (struct font_name): New member rescale_ratio.
3933 (font_rescale_ratio): New function.
3934 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
3935 (better_font_p): On comparing point sized, pay attention to
3936 recale_ratio member of fonts.
3937 (build_scalable_font_name): Reflect font->rescale_ratio in the
3938 font name.
3939 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
3940
3941 * lread.c (read1): Before calling index, check if the 2nd
3942 arguemnt is in ASCII range.
3943
3944 2003-04-08 Richard M. Stallman <rms@gnu.org>
3945
3946 * fileio.c (Ffile_symlink_p): Doc fix.
3947
3948 * editfns.c (Fformat): Translate positions of text properties
3949 in the format string to apply them to the result.
3950
3951 * fileio.c (Finsert_file_contents): Doc fix.
3952 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
3953
3954 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
3955
3956 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
3957
3958 2003-04-08 Steven Tamm <steventamm@mac.com>
3959
3960 * mac.c (init_mac_osx_environment): Switch libexec and bin so
3961 that self-contained application finds libexec files.
3962
3963 2003-04-08 Kenichi Handa <handa@m17n.org>
3964
3965 * coding.c (code_convert_region_unwind):
3966 Set Vlast_coding_system_used to the argument.
3967 (code_convert_region): If post-read-conversion function changed
3968 the value of last-coding-sytem, keep the new value in
3969 coding->symbol so that it won't be overridden.
3970 (run_pre_post_conversion_on_str): Likewise.
3971 (coding_system_accept_latin_extra_p): New function.
3972 (find_safe_codings): Pay attention to characters registered in
3973 latin-extra-code-table.
3974
3975 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
3976
3977 * Makefile.in (md5.o): Add missing dependency info.
3978
3979 2003-04-06 Richard M. Stallman <rms@gnu.org>
3980
3981 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
3982
3983 * marker.c (verify_bytepos): New function.
3984
3985 * intervals.c (set_intervals_multibyte_1): When becoming
3986 multibyte, adjust right and left child sizes to a whole set of
3987 characters. If an interval gets zero total-length, delete it.
3988 If an interval consists of just its children, delete one of them.
3989
3990 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
3991 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
3992
3993 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
3994 All calls deleted.
3995 (lisp_malloc): Do the work here directly.
3996
3997 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
3998
3999 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
4000 char tables.
4001
4002 2003-04-04 Kenichi Handa <handa@m17n.org>
4003
4004 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
4005 destructively change "%S" to "%s".
4006
4007 2003-04-03 Miles Bader <miles@gnu.org>
4008
4009 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
4010 always set.
4011
4012 2003-04-01 Dave Love <fx@gnu.org>
4013
4014 * xfns.c (xpm_lookup_color): Grok "opaque".
4015
4016 2003-03-31 Andrew Choi <akochoi@shaw.ca>
4017
4018 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
4019 parent window ID.
4020
4021 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
4022
4023 * macterm.h (struct mac_output): Define x_pixels_diff and
4024 y_pixels_diff.
4025
4026 2003-03-31 Juanma Barranquero <lektu@terra.es>
4027
4028 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
4029 blockinput.h and files included from it.
4030
4031 2003-03-31 Kim F. Storm <storm@cua.dk>
4032
4033 The following changes consolidates the common code related to
4034 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
4035 files into frame.c.
4036
4037 * frame.c: Include blockinput.h.
4038 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
4039 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
4040 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
4041 related vars here.
4042 (struct frame_parm_table, frame_parms): New table for describing
4043 frame parameters and their associated Q-variable.
4044 The order of the parameters corresponds to the sequence of the
4045 frame_parm_handlers table in redisplay_interface.
4046 (x_fullscreen_move, x_set_frame_parameters)
4047 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
4048 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
4049 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
4050 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
4051 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
4052 Generic functions for processing of frame parameters.
4053 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
4054 (display_x_get_resource, x_get_resource_string): Functions for
4055 generic access to X resources.
4056 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
4057 (x_default_parameter, Fx_parse_geometry): Functions for generic
4058 access to frame parameters.
4059 (x_figure_window_size): Generic calculation of frame size.
4060 Fixed to add space needed for tool bar. Also setup size_hint_flags.
4061 (syms_of_frame): Intern and staticpro frame parameter variables.
4062 Defvar_lisp Vx_resource_class and Vx_resource_name here.
4063 Defsubr Sx_get_resource and Sx_parse_geometry.
4064
4065 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
4066 parameter related vars defined in frame.c.
4067 (EMACS_CLASS): Define here.
4068 (enum FULLSCREEN_*): Define here.
4069 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
4070 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
4071 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
4072 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
4073 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
4074 (x_set_visibility, x_set_autoraise, x_set_autolower)
4075 (x_set_unsplittable, x_set_vertical_scroll_bars)
4076 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
4077 (x_figure_window_size): Add prototypes.
4078
4079 * dispextern.h (frame_parm_handler): New typedef.
4080 (struct redisplay_interface): New member frame_parm_handlers.
4081 (enum resource_types): Move declaration here.
4082 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
4083 (x_default_parameter): Add prototypes.
4084
4085 * window.c: Remove extern decl for frame parameter vars.
4086 (change_window_heights): New generic function;
4087 replaces x_change_window_heights. All users changed.
4088
4089 * window.h (change_window_heights): Add prototype.
4090
4091 * xfaces.c: Remove extern decl for frame parameter vars.
4092
4093 * xterm.h (EMACS_CLASS): Remove. Use generic define.
4094 (struct w32_display_info): Fix type of xrdb member.
4095 (enum FULLSCREEN_*): Remove.
4096 Remove prototypes for generic functions (in frame.h).
4097
4098 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
4099 parameters now defined in frame.h and frame.c.
4100 (Vx_resource_name): Remove. Use generic var.
4101 (enum x_frame_parms): Remove (bogus, unused enum).
4102 (check_x_display_info): Make non-static (for frame.c).
4103 (struct x_frame_parm_table, x_frame_parms): Remove.
4104 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
4105 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
4106 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
4107 (x_change_window_heights, x_set_autoraise, x_set_autolower)
4108 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
4109 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
4110 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
4111 Remove. Use generic functions instead.
4112 (enum resource_types): Remove.
4113 (x_set_scroll_bar_default_width): New global function (for frame.c).
4114 (Fx_create_frame): Depend on x_figure_window_size to add space for
4115 toolbar and setup size_hint_flags.
4116 (x_frame_parm_handlers): New table for redisplay_interface.
4117 (syms_of_xfns): Don't intern/staticpro removed vars.
4118
4119 * xterm.c: Remove unnecessary extern declarations.
4120 (x_fullscreen_adjust): Remove. Use generic instead.
4121 (x_redisplay_interface): Add x_frame_parm_handlers member.
4122
4123 * w32gui.h (XrmDatabase): New (dummy) typedef.
4124
4125 * w32term.h (EMACS_CLASS): Remove. Use generic define.
4126 (struct w32_display_info): Fix type of xrdb member.
4127 (enum FULLSCREEN_*): Remove.
4128 (x_fullscreen_adjust): Remove prototype.
4129
4130 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
4131 parameters now defined in frame.h and frame.c.
4132 (Vx_resource_name): Remove. Use generic var.
4133 (enum x_frame_parms): Remove (bogus, unused enum).
4134 (check_x_display_info): Make non-static (for frame.c).
4135 (struct x_frame_parm_table, x_frame_parms): Remove.
4136 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
4137 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
4138 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
4139 (x_change_window_heights, x_set_autoraise, x_set_autolower)
4140 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
4141 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
4142 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
4143 Remove. Use generic functions instead.
4144 (enum resource_types): Remove.
4145 (x_set_scroll_bar_default_width): New global function (for frame.c).
4146 (Fx_create_frame): Depend on x_figure_window_size to add space for
4147 toolbar and setup size_hint_flags.
4148 (w32_frame_parm_handlers): New table for redisplay_interface.
4149 (syms_of_w32fns): Don't intern/staticpro removed vars.
4150
4151 * w32term.c: Remove unnecessary extern declarations.
4152 (x_fullscreen_adjust): Remove. Use generic instead.
4153 (x_redisplay_interface): Add w32_frame_parm_handlers member.
4154
4155 * w32reg.c (x_get_string_resource): Use XrmDatabase.
4156
4157 * macgui.h (XrmDatabase): New (dummy) typedef.
4158
4159 * macterm.h (EMACS_CLASS): Remove.
4160 (struct mac_display_info): Add xrdb member.
4161 (struct mac_output): Add want_fullscreen member.
4162
4163 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
4164 parameters now defined in frame.h and frame.c.
4165 (Vx_resource_name): Remove. Use generic var.
4166 (check_x_display_info): Make non-static (for frame.c).
4167 (struct x_frame_parm_table, x_frame_parms): Remove.
4168 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
4169 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
4170 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
4171 (x_change_window_heights, x_set_autoraise, x_set_autolower)
4172 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
4173 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
4174 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
4175 Remove. Use generic functions instead.
4176 (enum resource_types): Remove.
4177 (x_set_scroll_bar_default_width): New global function (for frame.c).
4178 (mac_frame_parm_handlers): New table for redisplay_interface.
4179 (syms_of_macfns): Don't intern/staticpro removed vars.
4180
4181 * macterm.c: Remove unnecessary extern declarations.
4182 (x_redisplay_interface): Add mac_frame_parm_handlers member.
4183
4184 * Makefile.in (frame.o): Add dependency on blockinput.h and files
4185 included from it (atimer.h and systime.h).
4186
4187 2003-03-30 Andreas Schwab <schwab@suse.de>
4188
4189 * xdisp.c (x_insert_glyphs): Fix swapped width and height
4190 parameters for shift_glyphs_for_insert.
4191
4192 * macterm.c (x_redisplay_interface): Add missing entry for
4193 draw_vertical_window_border.
4194
4195 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
4196
4197 * fileio.c (Fexpand_file_name): In the no-handler case, after
4198 expanding, look again for a handler and invoke it. This is needed
4199 for filenames like "/foo/../user@host:/bar/../baz" -- the first
4200 expansion produces "/user@host:/bar/../baz" which needs to be
4201 expanded again for the finame result "/user@host:/baz".
4202
4203 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4204
4205 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
4206 of area to be redrawn for better performance.
4207
4208 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
4209
4210 * xterm.c (take_vertical_position_into_account): Remove.
4211 (xt_action_hook): Call set_vertical_scroll_bar if needed.
4212 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
4213 (xm_scroll_callback, x_create_toolkit_scroll_bar)
4214 (x_set_toolkit_scroll_bar_thumb): Simplify.
4215 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
4216 (XTread_socket): Remove unused var.
4217 (x_make_frame_invisible): Replace goto with else.
4218
4219 * xdisp.c (set_vertical_scroll_bar): New fun.
4220 (redisplay_window): Use it.
4221
4222 2003-03-26 Richard M. Stallman <rms@gnu.org>
4223
4224 * xdisp.c (update_tool_bar): Recompute tool bar if
4225 update_mode_lines is set. Set w->update_mode_line
4226 only if the tool bar contents actually change.
4227 (update_menu_bar): Undo previous change.
4228
4229 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4230
4231 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
4232 (xg_frame_set_char_size): Calculate scroll bar width before frame
4233 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
4234 (xg_separator_p): Check for all documented separator types.
4235 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
4236 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
4237
4238 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
4239 so tool bar gets updated.
4240
4241 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
4242
4243 * data.c (store_symval_forwarding): Re-instate part of the code
4244 that was deleted with too much enthusiasm.
4245
4246 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
4247
4248 * data.c (store_symval_forwarding): Delete special read-only
4249 hack for type == -1, since we now use ->constant instead.
4250 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
4251
4252 * buffer.c (overlays_in): Declare static.
4253 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
4254 `constant' field rather than the variable's `type' field.
4255
4256 2003-03-24 Andrew Choi <akochoi@shaw.ca>
4257
4258 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
4259
4260 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
4261
4262 * fns.c [MAC_OSX]: Do not redefine vector.
4263
4264 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
4265
4266 * macgui.h: Remove definition of No_Cursor.
4267
4268 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
4269
4270 * xdisp.c: Define No_Cursor.
4271 (x_write_glyphs, notice_overwritten_cursor)
4272 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
4273 (note_mouse_highlight): Remove Mac-specific code.
4274 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
4275
4276 2003-03-24 John Paul Wallington <jpw@gnu.org>
4277
4278 * xdisp.c (redisplay_window): If mini window's buffer is not
4279 empty, then redisplay it like other windows.
4280
4281 2003-03-23 Kim F. Storm <storm@cua.dk>
4282
4283 * w32term.c (w32_draw_window_cursor): Fix last change.
4284
4285 2003-03-23 Kenichi Handa <handa@m17n.org>
4286
4287 * alloc.c (make_string_from_bytes, make_specified_string):
4288 Add `const' for the arg CONTENTS.
4289
4290 * lisp.h (make_string_from_bytes, make_specified_string):
4291 Prototypes adjusted.
4292
4293 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4294
4295 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
4296
4297 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
4298 (XG_SB_RANGE): New define.
4299
4300 * gtkutil.c (xg_fixed_handle_expose): New function.
4301 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
4302 expose events.
4303 (xg_update_scrollbar_pos): Take two more arguments, left and width
4304 of scroll bar including borders.
4305 Clear left and right part outside scroll bar separately as some
4306 themes have bars that are not an even number of pixels.
4307 Don't set reallocate_redraws, don't call
4308 gdk_window_process_all_updates.
4309 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
4310 so no need to change it. Calculate size and value with XG_SB_RANGE.
4311
4312 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
4313 Pass left and width of scroll bar including borders to
4314 xg_update_scrollbar_pos.
4315
4316 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
4317
4318 * Makefile.in: Make sure space precedes end-of-line backslashes.
4319
4320 2003-03-22 Kim F. Storm <storm@cua.dk>
4321
4322 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
4323 Add generic versions here. Remove system specific versions
4324 defined elsewhere.
4325
4326 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
4327 Add prototypes.
4328
4329 * xterm.h (STORE_NATIVE_RECT): New macro.
4330
4331 2003-03-21 Kim F. Storm <storm@cua.dk>
4332
4333 * xdisp.c (get_glyph_string_clip_rect):
4334 Use FRAME_INTERNAL_BORDER_WIDTH.
4335
4336 * dispextern.h (struct redisplay_interface): Add active_p
4337 argument to draw_window_cursor member. All uses changed.
4338
4339 2003-03-21 Kim F. Storm <storm@cua.dk>
4340
4341 The following changes consolidate code related to writing and
4342 inserting glyphs, exposing frame, the tool bar, the mouse face,
4343 the output cursor, and help echo from xterm.c, w32term.c and
4344 macterm.c into xdisp.c. It also generalizes the use of the
4345 window_part enum instead of using numeric values throughout.
4346
4347 * xdisp.c: Consolidate gui-independent code here.
4348 Include keymap.h.
4349 (Qhelp_echo): Import.
4350 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
4351 (help_echo_string, help_echo_window, help_echo_object)
4352 (previous_help_echo_string, help_echo_pos): Declare here.
4353 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
4354 (estimate_mode_line_height): Define here. Handle windowing
4355 systems directly (without using estimate_mode_line_height_hook).
4356 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
4357 (update_window_cursor, update_cursor_in_window_tree)
4358 (fast_find_position, fast_find_string_pos)
4359 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
4360 (expose_area, expose_line, expose_overlaps, expose_window)
4361 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
4362 declared static as they are only used locally in xdisp.c.
4363 (draw_glyphs): Rename from x_draw_glyphs and make static.
4364 (tool_bar_item_info, notice_overwritten_cursor): Make static.
4365 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
4366 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
4367 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
4368 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
4369 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
4370 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
4371 (note_mouse_highlight, x_clear_window_mouse_face)
4372 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
4373 (x_intersect_rectangles): New generic functions for use by xdisp.c
4374 and GUI front-ends.
4375 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
4376 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
4377
4378 * dispextern.h (Display_Info): Generic typedef for *_display_info.
4379 (NativeRectangle): Generic typedef for rectangle type.
4380 (enum window_part): Move here from window.c.
4381 (struct redisplay_interface): New members flush_display_optional,
4382 define_frame_cursor, clear_frame_area, draw_window_cursor,
4383 draw_vertical_window_border, shift_glyphs_for_insert.
4384 Rename member clear_mouse_face to clear_window_mouse_face.
4385 (estimate_mode_line_height_hook): Remove hook.
4386 (auto_raise_tool_bar_buttons_p): Don't declare extern.
4387 (tool_bar_item_info): Remove prototype.
4388 (help_echo_string, help_echo_window, help_echo_object)
4389 (previous_help_echo_string, help_echo_pos)
4390 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
4391 (x_stretch_cursor_p, output_cursor): Declare extern.
4392 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
4393 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
4394 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
4395 (display_and_set_cursor, set_output_cursor, x_cursor_to)
4396 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
4397 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
4398 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
4399 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
4400 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
4401 Add prototypes.
4402 (mode_line_string, marginal_area_string): Fix prototypes.
4403
4404 * window.c (enum window_part): Move to dispextern.h.
4405 (coordinates_in_window): Use enum window_part member names
4406 instead of numbers to describe return value.
4407 (struct check_window_data): Change part member to window_part.
4408 (check_window_containing): Return window_part unaltered.
4409 (window_from_coordinates): Change part arg from int to enum
4410 window_part. Allow part arg to be null. All users changed.
4411
4412 * window.h (window_from_coordinates): Fix prototype.
4413
4414 * term.c (estimate_mode_line_height): Move to xdisp.c.
4415
4416 * keyboard.c (make_lispy_event): Use enum window_part.
4417
4418 * dispnew.c (mode_line_string, marginal_area_string): Use enum
4419 window_part instead of int in arg list. Users changed.
4420
4421 * xterm.h (No_Cursor): Declare as None for X.
4422 (struct mac_output): Replace member cross_cursor by hand_cursor.
4423
4424 * xterm.c: Remove consolidated defines and code.
4425 (BETWEEN): Remove unused macro.
4426 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
4427 (x_define_frame_cursor, x_clear_frame_area)
4428 (x_draw_window_cursor): New X-specific functions for RIF.
4429 (x_redisplay_interface): Add new members.
4430
4431 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
4432
4433 * w32term.h (struct w32_output): Remove cross_cursor member.
4434
4435 * w32term.c: Remove consolidated defines and code.
4436 (BETWEEN): Remove unused macro.
4437 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
4438 (w32_define_frame_cursor, w32_clear_frame_area)
4439 (w32_draw_window_cursor): New W32-specific functions for RIF.
4440 (w32_redisplay_interface): Add new members.
4441
4442 * w32gui.h (No_Cursor): Define as 0 for W32.
4443 (XRectangle): Add X compatible rectangle type.
4444 (NativeRectangle): Declare as RECT for W32.
4445 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
4446
4447 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
4448
4449 * w32console.c: Remove consolidated defines and code.
4450
4451 * msdos.h (Display_Info): Add generic typedef.
4452
4453 * msdos.c: Remove consolidated defines and code.
4454 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
4455
4456 * macterm.h (struct mac_output): Replace member cross_cursor by
4457 hand_cursor.
4458 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
4459
4460 * macterm.c: Remove consolidated defines and code.
4461 (BETWEEN): Remove unused macro.
4462 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
4463 (mac_define_frame_cursor, mac_clear_frame_area)
4464 (mac_draw_window_cursor): New Mac-specific functions for RIF.
4465 (x_redisplay_interface): Add new members.
4466
4467 * macgui.h (No_Cursor): Define as 0 for Mac.
4468 (XRectangle): Add X compatible rectangle type.
4469 (NativeRectangle): Declare as Rect for Mac.
4470 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
4471
4472 * macfns.c (x_set_mouse_color): Setup hand_cursor.
4473 (x_set_cursor_color): Use x_display_and_set_cursor.
4474
4475 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
4476 included from it. Add dependency on keymap.h.
4477
4478 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
4479
4480 2003-03-21 Kenichi Handa <handa@m17n.org>
4481
4482 * fileio.c (Fexpand_file_name): Fix previous change.
4483
4484 2003-03-19 Kenichi Handa <handa@m17n.org>
4485
4486 * fileio.c (Ffile_name_directory): Reconstruct file name by
4487 make_specified_string.
4488 (Ffile_name_nondirectory, Ffile_name_as_directory)
4489 (Fdirectory_file_name, Fexpand_file_name)
4490 (Fsubstitute_in_file_name): Likewise.
4491 (Fread_file_name): Compare decoded homedir with DIR and
4492 DEFAULT_FILENAME.
4493
4494 * alloc.c (make_specified_string): If NCHARS is negative, count
4495 the number of characters.
4496
4497 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4498
4499 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
4500 all widgets.
4501
4502 * gtkutil.h: Removed xg_ignore_next_thumb.
4503
4504 2003-03-18 Kenichi Handa <handa@m17n.org>
4505
4506 * coding.c (Vchar_coding_system_table): Remove this variable.
4507 (Vcoding_system_safe_chars): New variable.
4508 (intersection): Remove this function.
4509 (find_safe_codings): Don't use Vchar_coding_system_table, but try
4510 all codings in SAFE_CODINGS.
4511 (Ffind_coding_systems_region_internal): Adjust for the change of
4512 find_safe_codings. Get generic coding systems from
4513 Vcoding_system_safe_chars.
4514 (Fdefine_coding_system_internal): New function.
4515 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
4516 Initialize and staticpro Vcoding_system_safe_chars.
4517
4518 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4519
4520 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
4521 equal old values before updating.
4522
4523 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
4524
4525 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
4526
4527 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4528
4529 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
4530 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
4531 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
4532 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
4533 (xg_create_scroll_bar): Pass bar to button event callback.
4534 (xg_find_top_left_in_fixed): New function.
4535 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
4536 whole scroll bar area. Get old position with
4537 xg_find_top_left_in_fixed, calculate and only clear needed areas.
4538 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
4539 dragging is in progress. Calculate whole as for Motif.
4540 Remove code that saved last values. Call gtk_range functions to
4541 set scroll bar sizes.
4542
4543 * gtkutil.h: Removed xg_ignore_next_thumb.
4544
4545 2003-03-17 Juanma Barranquero <lektu@terra.es>
4546
4547 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
4548 and files included from it.
4549
4550 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
4551
4552 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
4553 multiple occurrences of the same keymap under different prefixes.
4554 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
4555
4556 2003-03-16 Jason Rumney <jasonr@gnu.org>
4557
4558 * w32gui.h: Use HDC for Display.
4559
4560 * w32term.c (w32_encode_char): Prevent double-byte chars from
4561 crashing Emacs.
4562
4563 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
4564 as binary.
4565
4566 2003-03-16 Juanma Barranquero <lektu@terra.es>
4567
4568 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
4569
4570 2003-03-16 Kim F. Storm <storm@cua.dk>
4571
4572 The following changes consolidate some of the gui-independent
4573 parts of the processing and drawing of "glyph strings" from
4574 xterm.c, w32term.c, and macterm.c into xdisp.c.
4575
4576 * dispextern.h (struct glyph): Reduce face_id member from 22 to
4577 21 bits (this reduces number of faces from 4M to 2M).
4578 Replace W32 specific w32_font_type member (2 bits) by generic
4579 font_type member (3 bits) for portability.
4580 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
4581 (enum draw_glyphs_face): Define here.
4582 (struct glyph_string): Define here. Merge W32 and X versions.
4583 (struct redisplay_interface): New members per_char_metric,
4584 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
4585 (VCENTER_BASELINE_OFFSET): Define here.
4586 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
4587 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
4588
4589 * xdisp.c: Consolidate gui-independent "glyph string" code here.
4590 (dump_glyph_string): Moved here.
4591 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
4592 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
4593 (fill_composite_glyph_string, fill_glyph_string)
4594 (fill_image_glyph_string, fill_stretch_glyph_string)
4595 (left_overwritten, left_overwriting, right_overwritten)
4596 (right_overwriting, get_char_face_and_encoding)
4597 (set_glyph_string_background_width, compute_overhangs_and_x)
4598 (append_glyph, append_composite_glyph, produce_image_glyph)
4599 (take_vertical_position_into_account, append_stretch_glyph)
4600 (produce_stretch_glyph): New generic functions (based on X version).
4601 Call platform specific functions through rif.
4602 (INIT_GLYPH_STRING): New macro, hides W32 details.
4603 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
4604 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
4605 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
4606 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
4607 (notice_overwritten_cursor):
4608 Generic functions exported to platform modules. Users changed.
4609
4610 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
4611 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
4612 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
4613 New macros for consolidated code.
4614
4615 * xterm.c: Remove consolidated defines and code.
4616 (x_per_char_metric, x_encode_char)
4617 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
4618 (x_redisplay_interface): Add new members.
4619
4620 * w32gui.h (Display): Add dummy typedef for consolidation.
4621 (XChar2b): Define alias for wchar_t for consolidation.
4622 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
4623
4624 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
4625 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
4626 New macros for consolidation.
4627
4628 * w32term.c: Remove consolidated defines and code.
4629 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
4630 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
4631 (w32_per_char_metric): Change font_type arg to int for RIF.
4632 (w32_encode_char): Return int according to RIF requirements.
4633 (w32_compute_glyph_string_overhangs): Adapt to RIF.
4634 (w32_get_glyph_overhangs): New function for RIF. Uses generic
4635 x_get_glyph_overhangs.
4636 (w32_redisplay_interface): Add new members.
4637
4638 * macgui.h (XChar2b): Move typedef here for consolidation.
4639 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
4640
4641 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
4642 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
4643 consolidation.
4644
4645 * macterm.c: Remove consolidated defines and code.
4646 (mac_per_char_metric): New function for RIF.
4647 (mac_encode_char): Adapt to new RIF requirements.
4648 (mac_compute_glyph_string_overhangs): Adapt for RIF.
4649 (x_redisplay_interface): Add new members.
4650
4651 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
4652
4653 * keymap.c (Vmenu_events): New var.
4654 (syms_of_keymap): Initialize it.
4655 (where_is_internal): Check more carefully what is a menu event.
4656
4657 2003-03-14 Richard M. Stallman <rms@gnu.org>
4658
4659 * lread.c (read1): After #!, exit loop on eof.
4660
4661 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4662
4663 * gtkutil.h: Add declaration for xg_frame_cleared.
4664
4665 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
4666
4667 * gtkutil.c (struct xg_last_sb_pos): New structure.
4668 (handle_fixed_child): New function.
4669 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
4670 and force a redraw on them.
4671 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
4672 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
4673 so we can avoid unneeded redraws.
4674 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
4675 and force a redraw on the scroll bar.
4676 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
4677 if xg_last_sb_pos shows the positions are up to date.
4678 (xg_frame_cleared): New function.
4679
4680 2003-03-13 Kenichi Handa <handa@m17n.org>
4681
4682 * coding.c (Fdetect_coding_region): Fix docstring.
4683 (Fdetect_coding_string): Fix docstring.
4684
4685 2003-03-13 Andreas Schwab <schwab@suse.de>
4686
4687 * gtkutil.c: Add prototype for create_menus.
4688
4689 * data.c (long_to_cons): Fix type of top.
4690
4691 * xselect.c (selection_data_to_lisp_data): Use int instead of
4692 long for an integer of size 4.
4693
4694 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
4695 (xg_tool_bar_help_callback): Likewise.
4696
4697 2003-03-12 Andreas Schwab <schwab@suse.de>
4698
4699 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
4700
4701 2003-03-12 Kim F. Storm <storm@cua.dk>
4702
4703 The following changes consolidate the fringe handling from
4704 xterm.c, w32term.c, and macterm.c into xdisp.c.
4705
4706 * xdisp.c: Consolidate fringe handling code here.
4707 (left_bits, right_bits, continued_bits, continuation_bits)
4708 (ov_bits, zv_bits): Define fringe bitmaps.
4709 (fringe_bitmaps): New array holding fringe bitmaps.
4710 (draw_fringe_bitmap): Draw a specific bitmap; call display
4711 specific drawing routine via rif->draw_fringe_bitmap.
4712 (draw_row_fringe_bitmaps): Generic replacement for
4713 x_draw_row_fringe_bitmaps; all callers changed.
4714 (compute_fringe_widths): Generic replacement for
4715 x_compute_fringe_widths; all callers changed.
4716
4717 * dispextern.h (enum fringe_bitmap_type): Define here.
4718 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
4719 (fringe_bitmaps): Declare extern.
4720 (struct redisplay_interface): New member draw_fringe_bitmap.
4721 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
4722
4723 * xterm.c: Remove generic fringe code.
4724 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
4725 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
4726
4727 * w32term.c: Remove generic fringe code.
4728 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
4729 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
4730
4731 * macterm.c: Remove generic fringe code.
4732 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
4733 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
4734
4735 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
4736
4737 * print.c (Fprin1_to_string): Return unibyte string if possible.
4738
4739 2003-03-09 David Kastrup <dak@gnu.org>
4740
4741 * process.c (read_process_output): We have allocated enough space
4742 for readmax and carryover, so actually use the alloted space.
4743
4744 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4745
4746 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
4747 toolkit scrollbar click.
4748
4749 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
4750 for USE_GTK.
4751 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
4752 also.
4753 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
4754 scrollbar and control is pressed, call x_scroll_bar_handle_click.
4755
4756 * gtkutil.h: Declare xg_get_scroll_id_for_window.
4757
4758 * gtkutil.c (xg_get_scroll_id_for_window): New function.
4759 (xg_tool_bar_item_expose_callback): New function.
4760 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
4761 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
4762 on the tool bar widget.
4763 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
4764 to expose on the tool bar item widgets.
4765
4766 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4767
4768 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
4769 struct image* when deciding to update (struct image* may have been
4770 deleted from the image cache).
4771
4772 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
4773 the event isn't for a frame (i.e. for dialogs).
4774
4775 2003-03-07 Kenichi Handa <handa@m17n.org>
4776
4777 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
4778 composition components reaches the limit, terminate composing.
4779 (COMPOSITION_OK): New macro.
4780 (detect_coding_iso2022): Use it if an escape sequence for
4781 composition is found.
4782 (coding_restore_composition): Adjust the number of composition
4783 components if it is not sane.
4784
4785 2003-03-06 Juanma Barranquero <lektu@terra.es>
4786
4787 * w32term.h (struct w32_display_info): Add xrdb member to support
4788 passing resources via -xrm on Windows.
4789
4790 * w32term.c (w32_make_rdb): New function.
4791 (w32_term_init): Use it to initialize xrdb member of w32_display_info
4792 struct. Delete leftover code.
4793
4794 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
4795 for resources passed on the command line.
4796
4797 * w32reg.c (w32_get_rdb_resource): New function.
4798 (x_get_string_resource): Use it, so resources passed with -xrm
4799 supercede the ones in the registry.
4800
4801 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4802
4803 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
4804 instead of x_top_window_to_frame.
4805
4806 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4807
4808 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
4809 when restarting Emacs.
4810
4811 2003-03-03 Richard M. Stallman <rms@gnu.org>
4812
4813 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
4814 to run kill-buffer-query-functions.
4815 (Qkill_buffer_query_functions): New var.
4816 (syms_of_buffer): Init and staticpro it.
4817
4818 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4819
4820 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
4821
4822 2003-02-25 Kim F. Storm <storm@cua.dk>
4823
4824 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
4825 If centering point failed to make whole line visible and vscroll
4826 is non-zero, disable vscroll and try centering point again.
4827
4828 * lread.c (read1): Accept `single space' syntax like (? x).
4829
4830 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4831
4832 * keyboard.c (cancel_hourglass_unwind): Surround with
4833 #ifdef HAVE_X_WINDOWS
4834
4835 2003-02-25 Kenichi Handa <handa@m17n.org>
4836
4837 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
4838 process only when "subprocesses" is defined.
4839
4840 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
4841
4842 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
4843
4844 2003-02-24 Juanma Barranquero <lektu@terra.es>
4845
4846 * callint.c (fix_command): Declare as static void and move before
4847 Fcall_interactively.
4848
4849 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
4850 (syms_of_xdisp): Don't initialize Qwhen.
4851
4852 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4853
4854 * keyboard.c (cancel_hourglass_unwind): New function.
4855 (command_loop_1): Cancel hourglass with unwind-protect.
4856
4857 2003-02-23 Richard M. Stallman <rms@gnu.org>
4858
4859 * callint.c (fix_command): New subroutine, from Fcall_interactively.
4860 Detect (when ... (region-beginning)) etc.
4861 (Fcall_interactively): Call fix_command.
4862 (Qif, Qwhen): New variables.
4863 (syms_of_callint): Init and staticpro them.
4864
4865 * regex.c (print_partial_compiled_pattern): Output to stderr.
4866
4867 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
4868
4869 * dired.c (directory_files_internal): Don't expand directory.
4870 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
4871 instead. From Lars Hansen <larsh@math.ku.dk>.
4872
4873 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
4874
4875 * fns.c (string_to_multibyte): Remove unused var i.
4876 (Flanginfo): Fix int/Lisp_Object mixup.
4877 (void_call2): New fun.
4878 (Fmap_char_table): Use it in place of call2.
4879
4880 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
4881
4882 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
4883
4884 * keymap.c (copy_keymap_1): Make it static.
4885
4886 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
4887
4888 2003-02-22 David Ponce <david@dponce.com>
4889
4890 * lread.c (Fload): Don't check STRING_MULTIBYTE.
4891
4892 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4893
4894 * process.h: Removed subtty field from struct Lisp_Process.
4895
4896 * process.c (create_process): Remove setting of subtty.
4897 (emacs_get_tty_pgrp): New function.
4898 (Fprocess_running_child_p, process_send_signal):
4899 Call emacs_get_tty_pgrp instead of ioctl.
4900 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
4901
4902 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
4903
4904 * keymap.c (Fdefine_key): Doc fix.
4905
4906 2003-02-21 Juanma Barranquero <lektu@terra.es>
4907
4908 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
4909
4910 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
4911 POLLING_PROBLEM_IN_SELECT.
4912
4913 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
4914 Delete #undef of POLLING_PROBLEM_IN_SELECT.
4915
4916 * s/hpux10-20.h: New file.
4917
4918 * process.c (wait_reading_process_input):
4919 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
4920
4921 2003-02-20 Kenichi Handa <handa@m17n.org>
4922
4923 * fontset.c (check_fontset_name): If NAME is nil, return the
4924 default fontset.
4925 (override_font_info): New function.
4926 (Fset_fontset_font): Document that NAME nil means the default fontset.
4927 (Ffontset_info): If FONTSET is not the default fontset, merge
4928 FONTSET onto the copy of the default fontset, and work on that
4929 copy. Document that NAME nil means the default fontset.
4930 (Ffontset_font): Document that NAME nil means the default fontset.
4931
4932 * process.c (setup_process_coding_systems): If the process's
4933 in/out descriptor is -1, do nothing.
4934
4935 2003-02-19 Andreas Schwab <schwab@suse.de>
4936
4937 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
4938 Add prototypes.
4939
4940 2003-02-19 Kenichi Handa <handa@m17n.org>
4941
4942 * xfaces.c (try_alternative_families): Try all scalable fonts if
4943 Vscalable_fonts_allowed is not Qt.
4944
4945 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4946
4947 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
4948
4949 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4950
4951 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
4952 names.
4953
4954 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
4955 (sorted_font_list): Move allocation of struct font_name to
4956 x_face_list_fonts.
4957 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
4958 (Fx_list_fonts): Set maxnames to -1 to get all font names.
4959
4960 2003-02-18 Kim F. Storm <storm@cua.dk>
4961
4962 * lread.c (read1): Fix last change.
4963 "`" is not always special. Allow "?" after a character constant.
4964
4965 2003-02-18 Andrew Choi <akochoi@shaw.ca>
4966
4967 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
4968
4969 2003-02-18 Andreas Schwab <schwab@suse.de>
4970
4971 * window.c (window_scroll_pixel_based): Move outside a
4972 multi-glyph character before setting new window start.
4973
4974 * xdisp.c (in_display_vector_p): New function.
4975 * dispextern.h (in_display_vector_p): Declare.
4976
4977 2003-02-18 Kim F. Storm <storm@cua.dk>
4978
4979 * lread.c (read1): Fix and relax read syntax.
4980 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
4981 Only recognize "," after dotted-pair dot if inside backquote.
4982 Never include "`" or "," (inside backquote) in a symbol.
4983 Allow dotted-pair dot after a character constant.
4984 Allow "`" and "," (inside backquote) after a character constant.
4985
4986 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4987
4988 * gtkutil.c (xg_tool_bar_expose_callback): New function.
4989 (xg_create_tool_bar): Force style of tool bar to be horizontal with
4990 icons. Set name of tool bar to emacs-toolbar.
4991 (update_frame_tool_bar): Connect expose event to
4992 xg_tool_bar_expose_callback.
4993
4994 2003-02-17 Richard M. Stallman <rms@gnu.org>
4995
4996 * keyboard.c (this_command_key_count_reset): New variable.
4997 Initiatize to 0 where this_command_key_count is set.
4998 (read_char): Save and restore this_command_key_count_reset
4999 around input method code.
5000 (read_char): If this_command_key_count_reset, echo reread commands.
5001 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
5002
5003 2003-02-17 Kenichi Handa <handa@m17n.org>
5004
5005 * fns.c (string_to_multibyte): Always return a multibyte string.
5006
5007 2003-02-16 Jason Rumney <jasonr@gnu.org>
5008
5009 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
5010 Negative max_fonts parameter means list all.
5011
5012 2003-02-14 Dave Love <fx@gnu.org>
5013
5014 * fns.c (Flanginfo): Doc fix.
5015
5016 2003-02-13 Kim F. Storm <storm@cua.dk>
5017
5018 * lread.c (read_escape): Interpret \s as a SPACE character, except
5019 for \s-X in a character constant which still is the super modifier.
5020 (read1): Signal an `invalid read syntax' error if a character
5021 constant is immediately followed by a digit or symbol character.
5022
5023 * search.c (Fmatch_data): Doc fix. Explicitly state that
5024 match-data is undefined if last search failed.
5025
5026 * keymap.c (Fcommand_remapping): Renamed from Fremap_command.
5027 All uses changed.
5028
5029 2003-02-12 Juanma Barranquero <lektu@terra.es>
5030
5031 * eval.c (Fdefmacro): Fix typo.
5032
5033 2003-02-12 Kim F. Storm <storm@cua.dk>
5034
5035 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
5036 macro is a string, convert meta modifiers in string when copying
5037 the string into a vector.
5038
5039 2003-02-11 Kim F. Storm <storm@cua.dk>
5040
5041 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
5042
5043 2003-02-11 Kenichi Handa <handa@m17n.org>
5044
5045 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
5046
5047 2003-02-10 Kim F. Storm <storm@cua.dk>
5048
5049 * process.c: Doc fixes.
5050 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
5051
5052 2003-02-10 Kenichi Handa <handa@m17n.org>
5053
5054 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
5055
5056 * process.c (QCfilter_multibyte): New variable.
5057 (setup_process_coding_systems): New function.
5058 (Fset_process_buffer, Fset_process_filter):
5059 Call setup_process_coding_systems.
5060 (Fstart_process): Initialize the member `filter_multibyte' of
5061 struct Lisp_Process.
5062 (create_process): Call setup_process_coding_systems.
5063 (Fmake_network_process): New keyward `:filter-multibyte'.
5064 Initialize the member `filter_multibyte' of struct Lisp_Process.
5065 Call setup_process_coding_systems.
5066 (server_accept_connection): Call setup_process_coding_systems.
5067 (read_process_output): If the process has a filter, decide the
5068 multibyteness of a string to given to the filter by
5069 `filter_multibyte' member of the process. If the process doesn't
5070 have a filter and the result of conversion is unibyte, use
5071 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
5072 multibyte form.
5073 (Fset_process_coding_system): Call setup_process_coding_systems.
5074 (Fset_process_filter_multibyte): New function.
5075 (Fprocess_filter_multibyte_p): New function.
5076 (syms_of_process): Intern and staticpro QCfilter_multibyte.
5077 Defsubr Sset_process_filter_multibyte and
5078 Sprocess_filter_multibyte_p.
5079
5080 * process.h (struct Lisp_Process): New member filter_multibyte.
5081
5082 * lisp.h (setup_process_coding_systems): Add prototype.
5083
5084 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
5085 process, update coding systems for the process.
5086
5087 2003-02-09 Kenichi Handa <handa@m17n.org>
5088
5089 * fns.c (string_to_multibyte): New function.
5090 (Fstring_to_multibyte): New function.
5091 (syms_of_fns): Defsubr it.
5092
5093 2003-02-08 Andreas Schwab <schwab@suse.de>
5094
5095 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
5096 instead of the substitution.
5097
5098 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5099
5100 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
5101
5102 * xmenu.c (menu_position_func): Adjust menu popup position so that
5103 the menu is fully visible.
5104
5105 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5106
5107 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
5108 (x_make_frame_invisible, x_wm_set_icon_position):
5109 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
5110
5111 * xfns.c (x_set_name, x_set_title): Ditto.
5112
5113 2003-02-04 Richard M. Stallman <rms@gnu.org>
5114
5115 * keyboard.c (echo_now): Update before_command_echo_length.
5116 (Freset_this_command_lengths): Reset this_command_key_count etc.
5117 immediately rather than arranging to do it later.
5118 (before_command_key_count_1, before_command_echo_length_1)
5119 (before_command_restore_flag): Vars deleted.
5120 (add_command_key): Don't handle before_command_restore_flag.
5121 (read_char, record_menu_key): Don't update before_command_key_count or
5122 before_command_echo_length.
5123 (read_char): Don't handle before_command_restore_flag.
5124
5125 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
5126 in direct-output clauses if it wouldn't be called in the ordinary case.
5127
5128 2003-02-04 Kim F. Storm <storm@cua.dk>
5129
5130 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
5131
5132 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5133
5134 * gtkutil.c (remove_from_container): Copying list is not needed.
5135 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
5136 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
5137 on list returned from gtk_container_get_children to avoid memory leak.
5138
5139 2003-02-01 Jason Rumney <jasonr@gnu.org>
5140
5141 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
5142 local malloc.
5143 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
5144 definitions in xpm.h.
5145 (init_xpm_functions): New function.
5146 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
5147 (init_external_image_libraries): Try to load libXpm.dll.
5148
5149 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
5150 timestamp.
5151
5152 2003-01-31 Dave Love <fx@gnu.org>
5153
5154 * syntax.c (Fskip_chars_forward)
5155 (open-paren-in-column-0-is-defun-start): Doc fix.
5156
5157 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
5158
5159 * fileio.c: Support // at start of name for Cygwin (just added proper
5160 preprocessor tests).
5161
5162 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
5163
5164 * Makefile.in: Use @EXEEXT@ for Cygwin.
5165
5166 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
5167
5168 * s/cygwin.h: Added for Cygwin port.
5169
5170 2003-01-31 Juanma Barranquero <lektu@terra.es>
5171
5172 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
5173 when including gif_lib.h.
5174 (init_gif_functions, init_tiff_functions): New functions.
5175 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
5176 Windows. Disable color table lookups. Call library functions
5177 through pointers determined at runtime.
5178 (init_external_image_libraries): Try to load libungif.dll and
5179 libtiff.dll.
5180
5181 2003-01-31 Kenichi Handa <handa@m17n.org>
5182
5183 * xdisp.c (SKIP_GLYPHS): New macro.
5184 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
5185
5186 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5187
5188 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
5189
5190 2003-01-30 Dave Love <fx@gnu.org>
5191
5192 * alloc.c (Vgc_elapsed, gcs_done): New variables.
5193 (Fgarbage_collect): Use them.
5194 (init_alloc, syms_of_alloc): Set them up.
5195
5196 2003-01-30 Juanma Barranquero <lektu@terra.es>
5197
5198 * w32fns.c (init_external_image_libraries): Add missing operator.
5199
5200 2003-01-29 Jason Rumney <jasonr@gnu.org>
5201
5202 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
5203 an alternative name for jpeg.dll.
5204
5205 2003-01-29 Kenichi Handa <handa@m17n.org>
5206
5207 * xdisp.c (set_cursor_from_row): Pay attention to string display
5208 properties.
5209
5210 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
5211
5212 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
5213 <escape>.
5214 (keycode_to_xkeysym_table): Reformat and add more comments.
5215 (XTread_socket): Drop special case for backspace.
5216
5217 2003-01-28 Andrew Choi <akochoi@shaw.ca>
5218
5219 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
5220 values in old-style RGB specs.
5221
5222 2003-01-27 Juanma Barranquero <lektu@terra.es>
5223
5224 * w32fns.c (init_external_image_libraries): Try alternate names for the
5225 jpeg dll.
5226
5227 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5228
5229 * gtkutil.c (create_dialog, xg_separator_p)
5230 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
5231 before calling strcmp or strlen.
5232
5233 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5234
5235 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
5236 and handle image load failure.
5237
5238 2003-01-26 Jason Rumney <jasonr@gnu.org>
5239
5240 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
5241 New functions.
5242 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
5243 Disable color table lookups. Call jpeg library functions
5244 through pointers determined at runtime.
5245 (init_external_image_libraries): Try to load jpeg.dll.
5246
5247 2003-01-25 Richard M. Stallman <rms@gnu.org>
5248
5249 * lisp.h: Declare format2 instead of format1.
5250
5251 * fileio.c (barf_or_query_if_file_exists):
5252 Call format2 instead of format1.
5253
5254 * editfns.c (format2): New function, replaces format1
5255 but takes exactly two Lisp Objects as format args.
5256
5257 * buffer.c (Fkill_buffer): Call format2 instead of format1.
5258
5259 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5260
5261 * xterm.h: Change to return value of x_dispatch_event to int.
5262
5263 * xterm.c (x_filter_event): New function.
5264 (event_handler_gdk, XTread_socket): Call x_filter_event.
5265 (x_dispatch_event): Change to return value of finish.
5266 (event_handler_gdk): Use return value from x_dispatch_event.
5267
5268 * xfns.c (x_window): Call create_frame_xic for GTK version to
5269 initialize input methods.
5270
5271 * gtkutil.h: Add (void) prototypes.
5272
5273 * gtkutil.c (create_menus): Remove code that puts the help menu to
5274 the right.
5275
5276 2003-01-25 Jason Rumney <jasonr@gnu.org>
5277
5278 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
5279 [HAVE_PNG]: Sync with xfns.c version.
5280 (png_load): Adjust colors for Windows. Use Windows
5281 bitmaps. Disable color table lookups.
5282 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
5283 (init_png_functions): New function.
5284 (png_read_from_memory, png_load): Call png library functions
5285 through pointers determined at runtime.
5286 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
5287 (init_external_image_libraries): New function.
5288 (init_xfns): Call it.
5289
5290 2003-01-24 Andreas Schwab <schwab@suse.de>
5291
5292 * minibuf.c (Fminibuffer_message): Verify type of parameter.
5293
5294 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5295
5296 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
5297 of static initializer.
5298
5299 2003-01-24 Dave Love <fx@gnu.org>
5300
5301 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
5302 architectures.
5303
5304 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
5305 Use __alignof__.
5306
5307 2003-01-24 Kenichi Handa <handa@m17n.org>
5308
5309 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
5310 It it is nonzero, don't pretend that an invisible area doesn't exist.
5311 (command_loop_1): Call adjust_point_for_property with proper
5312 second arg.
5313
5314 2003-01-22 Jason Rumney <jasonr@gnu.org>
5315
5316 Sync changes with xterm.c and xfns.c.
5317
5318 * w32term.c (x_draw_glyph_string_foreground)
5319 (x_draw_composite_glyph_string_foreground): Implement overstriking.
5320
5321 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
5322 phys_cursor's hpos is overwritten. This is still not completely
5323 correct, as it doesn't really make sense to use hpos at all to
5324 get the cursor glyph (as that is relative to the width of the
5325 characters on the line, which may have changed during the update).
5326
5327 * w32term.c (notice_overwritten_cursor): Handle the special case
5328 of the cursor being in the first blank non-text line at the
5329 end of a window.
5330
5331 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
5332 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
5333 Compute from the x position returned by x_draw_glyphs.
5334
5335 (x_display_and_set_cursor): Don't set phys_cursor_width here,
5336 except for NO_CURSOR and system caret, to make phys_cursor_width
5337 contain what its name suggests.
5338 (notice_overwritten_cursor): Consider the cursor image erased if
5339 the output area intersects the cursor image in y-direction.
5340
5341 * w32term.c (note_mode_line_or_margin_highlight): Rename from
5342 note_mode_line_highlight and extend.
5343
5344 * w32term.c (last_window): New variable.
5345 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
5346 (note_mouse_movement): Remove reimplemented code in #if 0.
5347
5348 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
5349 not update_mode_lines, and always set it to 1.
5350
5351 2003-01-21 Jason Rumney <jasonr@gnu.org>
5352
5353 * w32fns.c (IDC_HAND): Define it if system headers don't.
5354
5355 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
5356
5357 * w32term.h (struct w32_output): New member hand_cursor.
5358 (WM_EMACS_SETCURSOR): New message definition.
5359
5360 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
5361 function w32_define_cursor.
5362 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
5363 position, change member name output_data.x to output_data.w32 and
5364 add function w32_define_cursor.
5365 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
5366 and change member name output_data.x to output_data.w32.
5367 (w32_initialize_display_info):
5368 Setup dpyinfo->vertical_scroll_bar_cursor.
5369
5370 * w32fns.c (Vx_hand_shape): New variable.
5371 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
5372 WM_EMACS_SETCURSOR.
5373 (x-create-frame): Setup Cursor types.
5374
5375 2003-01-21 David Ponce <david@dponce.com>
5376
5377 * w32term.c (w32_encode_char): For DIM=1 charset, set
5378 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
5379 x_encode_char change by Kenichi Handa <handa@m17n.org> on
5380 2002-09-30.)
5381 (w32_draw_relief_rect): Declare all args.
5382 (w32_define_cursor): New.
5383
5384 * w32fns.c (w32_load_cursor): New function.
5385 (w32_init_class): Use it.
5386 (x_put_x_image): Declare all args.
5387
5388 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
5389
5390 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
5391
5392 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5393
5394 * gtkutil.c: Must include stdio.h before termhooks.h
5395
5396 2003-01-21 Dave Love <fx@gnu.org>
5397
5398 * alloc.c (Fgc_status): Print zombie list.
5399 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
5400 Fix assignment of zombies.
5401 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
5402 Don't take car of non-cons.
5403
5404 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5405
5406 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5407
5408 2003-01-20 David Ponce <david@dponce.com>
5409
5410 * w32menu.c (digest_single_submenu): Declare all args.
5411
5412 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
5413 changes in xmenu.c:
5414
5415 (parse_single_submenu): Use individual keymap's prompt
5416 string as pane name, if there is one.
5417 (set_frame_menubar): Save menu_items_n_panes from each call to
5418 parse_single_submenu and use it when calling digest_single_submenu.
5419
5420 2003-01-20 Steven Tamm <steventamm@mac.com>
5421
5422 * macterm.c (XTread_socket): Checks for valid, visible window
5423 before sending a scroll-wheel event.
5424
5425 2003-01-20 Richard M. Stallman <rms@gnu.org>
5426
5427 * xdisp.c (redisplay_window): If mini window's buffer is not
5428 a minibuffer, then redisplay it like other windows.
5429
5430 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5431
5432 * gtkutil.c (xg_create_frame_widgets): Check if there is an
5433 external tool bar before setting tool bar height.
5434
5435 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5436
5437 * xterm.c (handle_one_xevent): Surround popup_activated
5438 with #ifdef:s for non-toolkit version.
5439
5440 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
5441 (gtkutil.o): New file.
5442 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
5443 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
5444
5445 * gtkutil.c: New file for GTK version.
5446
5447 * gtkutil.h: New file for GTK version.
5448
5449 * xterm.h: Add xt_or_gtk_widget.
5450 Include gtk files for USE_GTK.
5451 (struct x_output): Add toolbar_height.
5452 (struct x_output): Add GTK widgets and Gdk size_hints.
5453 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
5454 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
5455 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
5456
5457 * xterm.c: Include gtkutil.h for USE_GTK.
5458 Declare extern void free_frame_menubar for USE_GTK.
5459 (note_mouse_highlight): Check popup_activated for USE_GTK.
5460 (xt_action_hook): Don't compile if USE_GTK.
5461 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
5462 (xg_scroll_callback): New function.
5463 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
5464 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
5465 for USE_GTK.
5466 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
5467 xg_show_scroll_bar for USE_GTK.
5468 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
5469 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
5470 (event_handler_gdk): New function for USE_GTK.
5471 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
5472 (handle_one_xevent): Make sure widget is mapped before
5473 calling x_real_positions for USE_GTK.
5474 (XTread_socket): Add GTK event loop for USE_GTK.
5475 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
5476 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
5477 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
5478 (x_iconify_frame): Add code for USE_GTK.
5479 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
5480 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
5481 is in gtkutil.c.
5482 (x_term_init): Add initialization for GTK.
5483 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
5484
5485 * xmenu.c: Include gtkutil.h for USE_GTK.
5486 (Fx_popup_menu): Use current position if x and y is NIL.
5487 (single_menu_item, single_menu_item, Fx_popup_dialog):
5488 Check for USE_GTK.
5489 (popup_widget_loop): New function for USE_GTK.
5490 (x_activate_menubar): Add code for USE_GTK.
5491 (popup_activate_callback, popup_deactivate_callback)
5492 (menu_highlight_callback, menubar_selection_callback):
5493 Add USE_GTK versions.
5494 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
5495 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
5496 (free_frame_menubar): Only compile if not USE_GTK. GTK version
5497 is in gtkutil.c.
5498 (popup_selection_callback): New version for USE_GTK.
5499 (create_and_show_popup_menu): New fuction, one USE_GTK version and
5500 one USE_X_TOOLKIT version.
5501 (xmenu_show): Call create_and_show_popup_menu.
5502 (dialog_selection_callback): New version for USE_GTK.
5503 (create_and_show_dialog): New fuction, one USE_GTK version and
5504 one USE_X_TOOLKIT version.
5505 (xdialog_show): Call create_and_show_dialog.
5506
5507 * xfns.c: Include gtkutil for USE_GTK.
5508 (x_window_to_frame, x_any_window_to_frame)
5509 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
5510 (x_top_window_to_frame): Add code for USE_GTK.
5511 (x_set_background_color): Call xg_set_background_color for GTK.
5512 (x_set_menu_bar_lines): Check for USE_GTK.
5513 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
5514 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
5515 (x_window): Call xg_create_frame_widgets for USE_GTK.
5516 (Fx_create_frame): Check for USE_GTK
5517 (Fx_file_dialog): New implementation for USE_GTK.
5518
5519 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
5520 (update_menu_bar): Add check for USE_GTK.
5521 (update_tool_bar): Add check for USE_GTK and external tool bar.
5522 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
5523 (redisplay_internal): Add check for USE_GTK and popup_activated.
5524 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
5525 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
5526 (display_menu_bar): Add check for USE_GTK
5527
5528 * lisp.h: Declare Vx_resource_name extern.
5529
5530 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
5531 for USE_GTK.
5532 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
5533
5534 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
5535 (FRAME_EXTERNAL_TOOL_BAR): New macro.
5536 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
5537
5538 * fileio.c (Fread_file_name): Add check for USE_GTK.
5539
5540 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
5541 Add check for USE_GTK.
5542
5543 * config.in: Added HAVE_GTK
5544
5545 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
5546
5547 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
5548
5549 * charset.h (Funibyte_char_to_multibyte): Export.
5550
5551 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5552
5553 * xmenu.c (mouse_position_for_popup): New function.
5554 (Fx_popup_menu): Call mouse_position_for_popup for X and
5555 mouse_position_hook for others.
5556
5557 2003-01-17 Kim F. Storm <storm@cua.dk>
5558
5559 * editfns.c (Finsert): Mention `string-make-multibyte' and
5560 `string-as-multibyte' in doc string.
5561
5562 2003-01-17 Kenichi Handa <handa@m17n.org>
5563
5564 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
5565
5566 * editfns.c (Fformat): Convert an unibyte char argument that is
5567 formatted by "%c" to multibyte if the total result must be a
5568 multibyte string.
5569
5570 2003-01-16 Kim F. Storm <storm@cua.dk>
5571
5572 * process.c (set-process-filter): Document unibyte/multibyte-ness
5573 of string argument.
5574
5575 2003-01-16 Kenichi Handa <handa@m17n.org>
5576
5577 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
5578
5579 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
5580 (re_search_2): Likewise.
5581
5582 2003-01-15 Kenichi Handa <handa@m17n.org>
5583
5584 * xdisp.c (message_dolog): Fix bug of the case that *Message*
5585 buffer is unibyte.
5586
5587 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
5588
5589 * fns.c (Fsubstring): Clarify doc string.
5590
5591 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
5592 (Fprevious_char_property_change)
5593 (Fnext_single_char_property_change)
5594 (Fprevious_single_char_property_change, Fnext_property_change)
5595 (Fnext_single_property_change, Fprevious_property_change)
5596 (Fprevious_single_property_change, Fadd_text_properties)
5597 (Fput_text_property, Fset_text_properties)
5598 (Fremove_text_properties, Fremove_list_of_text_properties)
5599 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
5600
5601 2003-01-14 Kim F. Storm <storm@cua.dk>
5602
5603 * process.h (struct Lisp_Process): New member plist replaces old
5604 member private_vars. All uses changed.
5605
5606 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
5607 (QCplist): Rename from QCvars. Change all uses.
5608 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
5609 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
5610 (syms_of_process): Intern, staticpro, defsubr these.
5611 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
5612
5613 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
5614
5615 * m/delta.h: Remove (obsolete).
5616
5617 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
5618
5619 * fileio.c (Fdelete_directory, Fdelete_file): Document the
5620 behaviour in front of symlinks.
5621 (Fdelete_file): Raise an error on directories.
5622
5623 2003-01-13 Dave Love <fx@gnu.org>
5624
5625 * fns.c (Freverse): Use QUIT.
5626
5627 2003-01-13 Richard M. Stallman <rms@gnu.org>
5628
5629 * minibuf.c (minibuffer_completion_contents):
5630 Error if point is inside prompt.
5631
5632 * keyboard.c (command_loop_1): Don't redisplay directly
5633 if there's a post-command-hook.
5634
5635 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
5636 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
5637
5638 2003-01-12 Kim F. Storm <storm@cua.dk>
5639
5640 * process.h (struct Lisp_Process): New member private_vars.
5641
5642 * process.c (QCvars): New variable.
5643 (syms_of_process): Intern and staticpro it.
5644 (Fset_process_contact): Removed function.
5645 (Fprocess_variable, Fset_process_variable): New functions.
5646 (syms_of_process): Defsubr them.
5647 (Fstart_process): Initialize private_vars plist to nil.
5648 (Fmake_network_process): New arg :vars to setup the private
5649 variables for new network process.
5650 (server_accept_connection): Copy server's private variables to
5651 client process.
5652
5653 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
5654 crashes). Code rewritten and simplified. Now directly aligns the
5655 pointer and recalculates pure_bytes_used, rather than aligning the
5656 size and adjusting the pointer.
5657
5658 2003-01-11 Kim F. Storm <storm@cua.dk>
5659
5660 * process.c (Fset_process_contact): New function.
5661 (syms_of_process): defsubr it.
5662 (make-network-process): Update doc.
5663
5664 2003-01-10 Andreas Schwab <schwab@suse.de>
5665
5666 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
5667 Reported by Berthold Gunreben <b.gunreben@web.de>.
5668
5669 2003-01-10 Dave Love <fx@gnu.org>
5670
5671 * composite.c (syms_of_composite): Make composition_hash_table weak.
5672
5673 2003-01-09 Kim F. Storm <storm@cua.dk>
5674
5675 * process.c (Fmake_network_process): Convert new port number
5676 to host byte order for `:service t' case. From Mario Lang.
5677
5678 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5679
5680 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
5681 instead of XtAppProcessEvent.
5682
5683 * xterm.c (handle_one_xevent): New function.
5684 (x_dispatch_event): New function.
5685 (XTread_socket): Call handle_one_xevent.
5686
5687 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
5688
5689 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
5690 call XQueryPointer to get coordinates.
5691 (popup_get_selection): Do not set popup_activated_flag to zero,
5692 let popup_deactivate_callback do that. Needed for Motif.
5693 Call x_dispatch_event instead of XtDispatchEvent.
5694 (xmenu_show): Calculate root coordinate from frame top/left position.
5695
5696 2003-01-08 Kim F. Storm <storm@cua.dk>
5697
5698 * process.c (server_accept_connection): Fix recording of new
5699 connection's local address in :local property of contact info.
5700 (Fmake_network_process): Record local network address for new
5701 client processes in :local property of contact info.
5702 (format-network-address): Add arg OMIT-PORT. Change callers.
5703
5704 2003-01-07 Dave Love <fx@gnu.org>
5705
5706 * Makefile.in (fns.o): Depend on coding.h.
5707
5708 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
5709
5710 * minibuf.c (Fread_variable): Doc fix.
5711
5712 * eval.c (Fuser_variable_p): Doc change. For custom variables,
5713 use the same test as for custom-variable-p.
5714
5715 2003-01-05 Richard M. Stallman <rms@gnu.org>
5716
5717 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
5718 Count LAST_LINE_MISFIT in scroll margin for end of window.
5719 Move label too_near_end before setting SCROLL_MARGIN_POS.
5720 Set LAST_LINE_MISFIT before jumping there.
5721
5722 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
5723 scroll_conservatively case. If scrolling that much doesn't change
5724 STARTP, move it down one line.
5725
5726 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
5727 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
5728
5729 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
5730 selected frame.
5731
5732 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
5733 (syms_of_keymap): staticpro them.
5734 (Fapropos_internal): Initialize them and clear them out.
5735 Don't GCPRO them.
5736
5737 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
5738 Doc fixes.
5739
5740 * lisp.h: New misc type Lisp_Save_Value.
5741 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
5742 (XSAVE_VALUE): New macro.
5743 (struct Lisp_Save_Value): New data type.
5744 (union Lisp_Misc): Add u_save_value alternative.
5745 (make_save_value): Declared.
5746
5747 * alloc.c (make_save_value): New function.
5748
5749 * xterm.c (x_catch_errors): Save dpy using make_save_value.
5750 (x_catch_errors_unwind): Call XSync.
5751
5752 2003-01-01 Richard M. Stallman <rms@gnu.org>
5753
5754 * window.c (window_scroll_pixel_based): Partially undo last change.
5755
5756 * keyboard.c (command_loop_1): Call adjust_point_for_property
5757 in direct action cases for Qforward_char and Qbackward_char.
5758 Set already_adjusted so it won't be done twice.
5759
5760 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
5761
5762 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
5763 type definition of size_t.
5764
5765 2003-01-02 Steven Tamm <steventamm@mac.com>
5766
5767 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
5768 distinguish Carbon GUI builds from X11 builds on darwin.
5769
5770 2002-12-30 Steven Tamm <steventamm@mac.com>
5771
5772 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
5773 to default to t.
5774
5775 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
5776
5777 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
5778
5779 2002-12-28 Steven Tamm <steventamm@mac.com>
5780
5781 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
5782 allow building in a different directory than source. Uses some
5783 GNU Make extensions, but there is no other make on Mac OS X.
5784
5785 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
5786
5787 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
5788 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
5789 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
5790 (Fstring_to_number): Mention the returned value in the doc strings.
5791
5792 2002-12-23 Richard M. Stallman <rms@gnu.org>
5793
5794 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
5795 <scroll-down-aggressively>: Doc fix.
5796
5797 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
5798 string as pane name, if there is one.
5799 (set_frame_menubar): Save menu_items_n_panes from each call to
5800 parse_single_submenu and use it when calling digest_single_submenu.
5801
5802 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
5803 Don't try to make last line fully visible if it is past end of window.
5804
5805 2002-12-22 Steven Tamm <steventamm@mac.com>
5806
5807 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
5808 (mac_menu_show): Add support for hierarchical popup menus.
5809 (add_menu_item): Remove indentation support.
5810 (fill_submenu, fill_menu): Create hierarchical menus
5811 instead of using indentation.
5812
5813 2002-12-22 Richard M. Stallman <rms@gnu.org>
5814
5815 * xdisp.c (try_cursor_movement): Don't call try_window here.
5816 (redisplay_window): Never redisplay minibuffer when inactive.
5817
5818 * window.c (select_window_1): Undo 9/21 change.
5819
5820 2002-12-22 Steven Tamm <steventamm@mac.com>
5821
5822 * macterm.c (XTread_socket): Call KeyTranslate for control and
5823 meta to deal correctly shifted non-alpha characters, like C-S-5
5824 being treated like C-%. Does not look for shift key to deal
5825 with masking off control-key with mac-reverse-ctrl-meta.
5826
5827 2002-12-21 Richard M. Stallman <rms@gnu.org>
5828
5829 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
5830 If it is non-nil, run timers. Use an unwind-protect to requeue
5831 the events that were read ahead.
5832 (popup_get_selection_unwind): New subroutine.
5833 (popup_get_selection_queue): File-scope variable now holds that queue.
5834 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
5835 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
5836 Use an unwind-protect to pop down the dialog box.
5837 (xdialog_show_unwind): New subroutine implements that.
5838
5839 * xdisp.c (row_containing_pos): Change exit test using last_y.
5840 (try_window_id): Abort if row_containing_pos returns null.
5841
5842 * lread.c (load_error_handler): New function.
5843 (Fload): Handle errors in Fsubstitute_in_file_name.
5844 Don't expect Fsignal to return.
5845
5846 * eval.c: Errors and throws work right with interrupt blocking.
5847 (struct catchtag): New elt interrupt_input_blocked.
5848 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
5849 (internal_catch, Fcondition_case, internal_condition_case)
5850 (internal_condition_case_1, internal_condition_case_2): Save it.
5851 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
5852
5853 * editfns.c (Fformat): Add parens.
5854
5855 * dired.c (file_name_completion): Fix that change.
5856 Delete special quit-handling code; just use QUIT.
5857
5858 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change)
5859
5860 * dired.c (file_name_completion): Close directory on error
5861 just as in directory_files_internal.
5862
5863 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
5864
5865 * window.c (Fset_window_configuration): Set old_point to correct
5866 value when new_current_buffer == current_buffer.
5867
5868 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
5869
5870 Revisited my earlier fix for the following entry in etc/PROBLEMS:
5871 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
5872 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
5873
5874 These changes were in part based upon suggestions made by Peter
5875 'Luna' Runestig [peter@runestig.com].
5876
5877 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
5878 g_b_init_get_token_information, g_b_init_lookup_account_sid,
5879 g_b_init_get_sid_identifier_authority ): Add several static
5880 global variables.
5881
5882 * w32.c (globals_of_w32): New function. Used to initialize those
5883 global variables that must always be initialized on startup even
5884 when the global variable initialized is non zero. Its primary
5885 purpose at this time is to set the global variables
5886 g_b_init_is_windows_9x, g_b_init_open_process_token,
5887 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
5888 g_b_init_get_sid_identifier_authority to 0 on startup.
5889 Called from main.
5890
5891 * w32.c (is_windows_9x): Perform initialization only if
5892 g_b_init_is_windows_9x is equal to 0. On initialization set
5893 g_b_init_is_windows_9x equal to 1.
5894
5895 * w32.c (open_process_token): Perform initialization only if
5896 g_b_init_open_process_token is equal to 0. On initialization set
5897 g_b_init_open_process_token equal to 1.
5898
5899 * w32.c (get_token_information): Perform initialization only if
5900 g_b_init_get_token_information is equal to 0. On initialization
5901 set g_b_init_get_token_information equal to 1.
5902
5903 * w32.c (lookup_account_sid): Perform initialization only if
5904 g_b_init_lookup_account_sid is equal to 0. On initialization
5905 set g_b_init_lookup_account_sid equal to 1.
5906
5907 * w32.c (get_sid_identifier_authority): Perform initialization
5908 only if g_b_init_get_sid_identifier_authority is equal to 0.
5909 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
5910
5911 * w32fns.c (globals_of_w32fns): New function. Used to initialize
5912 those global variables that must always be initialized on startup
5913 even when the global variable initialized is non zero.
5914 Its primary purpose at this time is to initialize the global variable
5915 track_mouse_event_fn.
5916
5917 * w32fns.c (w32_wnd_proc): Remove initialization of
5918 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
5919
5920 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
5921
5922 * w32menu.c (globals_of_w32menu): New function. Used to
5923 initialize those global variables that must always be initialized
5924 on startup even when the global variable initialized is non zero.
5925 Its primary purpose at this time is to initialize the global
5926 variables get_menu_item_info and set_menu_item_info.
5927
5928 * w32menu.c (initialize_frame_menubar): Remove initialization of
5929 get_menu_item_info and set_menu_item_info.
5930
5931 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
5932
5933 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
5934 Declare them.
5935
5936 * emacs.c (main): Call globals_of_w32 prior to calling
5937 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
5938 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
5939 is defined.
5940
5941 * w32term.c (x_update_window_begin): Fix Windows API error
5942 detected by BoundsChecker. Test to determine if
5943 w32_system_caret_hwnd is NULL prior to attempting to use
5944 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
5945
5946 * w32term.c (x_update_window_end): Fix Windows API error
5947 detected by BoundsChecker. Test to determine if
5948 w32_system_caret_hwnd is NULL prior to attempting to use
5949 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
5950
5951 2002-12-17 Kenichi Handa <handa@m17n.org>
5952
5953 * coding.c (coding_system_require_warning): New variable.
5954 (syms_of_coding): DEFVAR it.
5955
5956 * coding.h (coding_system_require_warning): Extern it.
5957
5958 * fileio.c (choose_write_coding_system): Even if
5959 Vcoding_system_for_write is non-nil, if
5960 coding_system_require_warning is nonzero, call
5961 Vselect_safe_coding_system_function.
5962
5963 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
5964
5965 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
5966 (lisp): Add font-core.
5967
5968 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
5969
5970 * textprop.c (text_read_only): New arg `propval'.
5971 (get_char_property_and_overlay): Remove unused var `next_overlay'.
5972 (verify_interval_modification): Use text_read_only's new arg.
5973
5974 2002-12-13 Kenichi Handa <handa@m17n.org>
5975
5976 * coding.c (Funencodable_char_position): Set pend correctly.
5977
5978 2002-12-12 Jason Rumney <jasonr@gnu.org>
5979
5980 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
5981 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
5982 Be more careful about when help_events are generated.
5983
5984 2002-12-12 Steven Tamm <steventamm@mac.com>
5985
5986 * macterm.c (mac_check_for_quit_char): Correctly set the
5987 modifiers of the event to 0.
5988 * mac.c (sys_select): Duplicate rfds before calling select to
5989 ensure that rfds survive the while loop.
5990
5991 2002-12-11 Kim F. Storm <storm@cua.dk>
5992
5993 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
5994 row_containing_pos returned NULL.
5995
5996 2002-12-10 Steven Tamm <steventamm@mac.com>
5997
5998 * mac.c (sys_read): Fix sys_read to not call select if IO is
5999 non-blocking.
6000 (sys_select): Fix sys_select to not use a timeout larger than
6001 the one given.
6002
6003 2002-12-10 Juanma Barranquero <lektu@terra.es>
6004
6005 * editfns.c (Fformat): Use alloca, not _alloca.
6006
6007 2002-12-09 Richard M. Stallman <rms@gnu.org>
6008
6009 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
6010 as the last thing.
6011
6012 2002-12-09 Dave Love <fx@gnu.org>
6013
6014 * s/sol2-8.h: Removed. (Not necessary.)
6015
6016 2002-12-09 Matthew Swift <swift@alum.mit.edu>
6017
6018 * editfns.c (Fformat): Handle precision in string conversion
6019 specifiers like libc functions do (ie, print at most that many
6020 characters).
6021
6022 2002-12-08 Richard M. Stallman <rms@gnu.org>
6023
6024 * xdisp.c (row_containing_pos): Check more carefully
6025 whether charpos is really in the row before returning it.
6026
6027 2002-12-07 Steven Tamm <steventamm@mac.com>
6028
6029 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
6030
6031 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
6032 each stack frame. This may change as it could be time consuming.
6033
6034 * macterm.c (mac_check_for_quit_char, quit_char_comp)
6035 (init_quit_char_handler, mac_determine_quit_char_modifiers)
6036 (mac_initialize): Add code to check for pressing of quit_char
6037 in the OS event queue.
6038
6039 * mac.c (sys_select): Call mac_check_for_quit_char every second
6040 while blocking on select.
6041
6042 * mac.c (sys_read): Use sys_select to test for input first
6043 before calling read, to allow C-g to break.
6044
6045 2002-12-07 Richard M. Stallman <rms@gnu.org>
6046
6047 * minibuf.c (Fcompleting_read): Doc fix.
6048
6049 * lread.c (syms_of_lread) <load-history>: Doc fix.
6050
6051 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
6052
6053 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
6054 autoload.
6055
6056 * data.c (Fdefalias): Record in load-history redefining an autoload.
6057
6058 * alloca.c: Undo ifdef change accidentally made on 12-04.
6059
6060 2002-12-06 Francesco Potorti` <pot@gnu.org>
6061
6062 * xfns.c (png_load): Avoid double gamma correction for PNG images.
6063
6064 2002-12-04 Richard M. Stallman <rms@gnu.org>
6065
6066 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
6067
6068 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
6069
6070 * alloca.c: Don't use #error.
6071
6072 2002-12-03 Dave Love <fx@gnu.org>
6073
6074 * buffer.c (Qucs_set_table_for_input): New.
6075 (Fget_buffer_create): Use it.
6076 (Qset_buffer_major_mode_hook): Deleted.
6077 (Fset_buffer_major_mode): Revert previous change.
6078 (init_buffer_once): Intern ucs-set-table-for-input.
6079 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
6080 Add &Qucs_set_table_for_input.
6081
6082 2002-12-03 Andreas Schwab <schwab@suse.de>
6083
6084 * callint.c (Fcall_interactively): Use next_event only if less
6085 than key_count.
6086
6087 2002-12-02 Andrew Choi <akochoi@shaw.ca>
6088
6089 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
6090 names to 255 characters.
6091
6092 * macterm.c (XTread_socket): If all frames have been collapsed,
6093 expand the first one before handling drag-and-drop events.
6094
6095 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
6096 which is detected by autoconf.
6097
6098 2002-12-01 Steven Tamm <steventamm@mac.com>
6099
6100 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
6101 offset in two hints table to allow prebinding to be redone and
6102 allow the executable to be stripped.
6103
6104 2002-11-29 Dave Love <fx@gnu.org>
6105
6106 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
6107 already provided.
6108
6109 2002-11-29 Richard M. Stallman <rms@gnu.org>
6110
6111 * xdisp.c (start_display): Check more intelligently for
6112 whether the line is continued.
6113 (move_it_vertically_backward): Clear it->continuation_lines_width.
6114
6115 2002-11-28 Dave Love <fx@gnu.org>
6116
6117 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
6118 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
6119
6120 2002-11-27 Steven Tamm <steventamm@mac.com>
6121
6122 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
6123 more descriptive error output from lread.c:Fload upon most require
6124 cycles during boostrapping.
6125
6126 2002-11-27 Jason Rumney <jasonr@gnu.org>
6127
6128 * fileio.c (Finsert_file_contents): Give a more appropriate error
6129 for files bigger than 2Gb when off_t is 32 bit.
6130
6131 * dired.c (Ffile_attributes): Don't return negative file sizes for
6132 files bigger than 2Gb when off_t is 32 bit.
6133
6134 2002-11-27 Dave Love <fx@gnu.org>
6135
6136 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6137
6138 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
6139 Test GETPGRP_VOID instead.
6140 [BSD_TERMIOS]: Remove definitions (never used).
6141
6142 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
6143 Don't define.
6144 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6145
6146 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
6147
6148 2002-11-25 Jason Rumney <jasonr@gnu.org>
6149
6150 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
6151 supported.
6152
6153 2002-11-25 Dave Love <fx@gnu.org>
6154
6155 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
6156
6157 * Makefile.in (TEMACS_LDFLAGS): Update last change.
6158
6159 2002-11-25 Andreas Schwab <schwab@suse.de>
6160
6161 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
6162
6163 2002-11-24 Steven Tamm <steventamm@mac.com>
6164
6165 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
6166 determine the size of pointers alloced in unexed space instead
6167 of using possibly invalid emacs_zone pointers. This fixes the
6168 binary incompatibility problems caused by updates to libSystem.B.
6169
6170 2002-11-24 Richard M. Stallman <rms@gnu.org>
6171
6172 * search.c (Fstring_match): Doc fix.
6173
6174 * callint.c (Fcall_interactively): If a command fails because
6175 `*' detects a read-only buffer, but RECORD_FLAG is set,
6176 record it anyway if the args don't actually do tty input.
6177
6178 2002-11-22 Dave Love <fx@gnu.org>
6179
6180 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
6181
6182 * keyboard.c (interrupt_signal): Provide forward declaration.
6183 (kbd_buffer_store_event): Don't declare interrupt_signal.
6184
6185 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
6186
6187 2002-11-21 Richard M. Stallman <rms@gnu.org>
6188
6189 * eval.c (interactive_p): Skip any number of bytecode
6190 and special form frames, in any order.
6191
6192 2002-11-20 Jason Rumney <jasonr@gnu.org>
6193
6194 * w32fns.c (convert_mono_to_color_image): New function.
6195 (xbm_load, xbm_load_image): Use it when foreground or background
6196 is explicitly set.
6197
6198 2002-11-19 Dave Love <fx@gnu.org>
6199
6200 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
6201
6202 2002-11-18 Jason Rumney <jasonr@gnu.org>
6203
6204 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
6205 (XPutPixel): Swap blue and red.
6206 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
6207 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
6208 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
6209 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
6210
6211 2002-11-18 Dave Love <fx@gnu.org>
6212
6213 * m/orion105.h (HAVE_ALLOCA): Don't define.
6214
6215 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
6216
6217 * m/intel386.h: Don't include alloca.h or define alloca.
6218
6219 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
6220 malloc, realloc, calloc.
6221
6222 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
6223 (bcmp): Don't define.
6224
6225 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
6226
6227 * m/amdahl.h: Don't define LIB_STANDARD.
6228
6229 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
6230
6231 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
6232
6233 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
6234 Don't include alloca.h.
6235
6236 * s/aix3-2.h (HAVE_FSYNC): Don't define.
6237
6238 * regex.c (_GNU_SOURCE): Don't define.
6239
6240 * process.c (_GNU_SOURCE): Don't define.
6241
6242 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
6243
6244 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
6245
6246 * s/sol2-8.h: Include sol2-6.h.
6247
6248 2002-11-18 Miles Bader <miles@gnu.org>
6249
6250 * dispextern.h (struct face): Add `overstrike' field.
6251 * xterm.c (x_draw_glyph_string_foreground)
6252 (x_draw_composite_glyph_string_foreground): Implement overstriking.
6253 * xfaces.c (load_face_font): Set `face->overstrike' based on
6254 result from choose_face_font.
6255 (best_matching_font, choose_face_font): Add `needs_overstrike'
6256 argument, and use it to return whether overstriking is desirable
6257 for this face/font combo.
6258 (set_font_frame_param: Pass new argument to choose_face_font.
6259
6260 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
6261
6262 This change is my fix for the following entry in etc/PROBLEMS:
6263 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
6264 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
6265
6266 * w32.c: Added wrapper functions around the win32 API functions
6267 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
6268 GetSidIdentifierAuthority. These wrapper functions serve two
6269 purposes:
6270 1. They ensure that the wrapped function can never be called
6271 when Emacs is running on an operating system on which they are
6272 not supported (Microsoft Windows 95 / 98 / ME).
6273 2. They call the wrapped functions via function pointers rather
6274 than calling them directly. This avoids taking advantage of the
6275 undocumented fact that although these functions are not supported
6276 in the 9x branch of Microsoft Windows, the functions do exist in
6277 the version of advapi32.dll that is found in the 9x branch of
6278 Microsoft Windows.
6279
6280 * w32.c (init_user_info): Replace the calls to the win32 API
6281 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
6282 and GetSidIdentifierAuthority with calls to the newly added
6283 wrapper functions.
6284
6285 * w32.h: Added extern declarations for the following functions:
6286 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
6287 syms_of_w32menu, and void syms_of_fontset.
6288
6289 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
6290 function pointer track_mouse_event_fn in the handler for the
6291 WM_SETFOCUS message.
6292
6293 * w32menu.c (initialize_frame_menubar): Add code to
6294 reinitialize the function pointers set_menu_item_info and
6295 get_menu_item_info.
6296
6297 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
6298
6299 * sound.c: Added a partial implementation of play-sound-internal
6300 for Microsoft Windows. Added various #ifdef / #else / #endif
6301 code blocks to separate the code that will compile under
6302 Microsoft Windows from the code that is specific to Gnu/Linux.
6303 Moved several blocks of code around to make this separation of code
6304 into Windows compatible and Gnu/Linux compatible code blocks easier.
6305
6306 * makefile.w32-in: Include sound.c and link with WinMM.lib.
6307
6308 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
6309 added support for play-sound-internal under Windows would be
6310 included in the build of Emacs.
6311
6312 2002-11-16 Jason Rumney <jasonr@gnu.org>
6313
6314 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
6315
6316 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
6317
6318 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
6319
6320 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
6321 (adjust_point_for_property): Move out of display and invisible even if
6322 we were already inside before (in case a property was added while
6323 we weren't looking). Be more careful when handling invisible props.
6324 Skip invisible text as if it really wasn't there at all.
6325
6326 2002-11-15 Jason Rumney <jasonr@gnu.org>
6327
6328 * w32term.c (x_draw_image_foreground)
6329 (w32_draw_image_foreground_1): Use standard copy and invert
6330 operations to draw images.
6331
6332 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
6333 depth of 1.
6334 (xbm_read_bitmap_data): Invert bits as xbm is read in.
6335 (XPutPixel): Don't invert bits here.
6336
6337 2002-11-15 Jason Rumney <jasonr@gnu.org>
6338
6339 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
6340 (w32_draw_image_foreground_1): Handle image masks.
6341 (x_draw_image_glyph_string): Don't BitBlt transparently.
6342
6343 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
6344 (x_from_xcolors): Adjust RGB values for W32.
6345 (image_background, image_background_transparent)
6346 (postprocess_image, x_to_xcolors, x_disable_image)
6347 (x_build_heuristic_mask): Adapt for W32 and enable.
6348 (x_create_x_image_and_pixmap): Mark images with palettes as such.
6349 (xbm_load): Remove unused variable.
6350
6351 2002-11-14 Richard M. Stallman <rms@gnu.org>
6352
6353 * buffer.c (syms_of_buffer): Doc fix.
6354
6355 2002-11-14 Dave Love <fx@gnu.org>
6356
6357 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
6358
6359 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
6360 * xmenu.c (unuse_menu_items, digest_single_submenu):
6361 * xfns.c (x_put_x_image):
6362 * xdisp.c (message2_nolog, set_message):
6363 * undo.c (record_point):
6364 * terminfo.c (tparam):
6365 * syntax.c (scan_sexps_forward):
6366 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
6367 * composite.c (update_compositions):
6368 * cm.c (calccost, cmgoto):
6369 * charset.c (c_string_width): Declare all args (per C99).
6370
6371 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
6372
6373 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
6374 Don't declare.
6375
6376 * emacs.c (main) [!VMS]: Avoid third arg.
6377
6378 * fns.c (Fcopy_sequence): Doc fix.
6379 (Fmap_char_table): Cast `call2'.
6380
6381 2002-11-14 Francesco Potorti` <pot@gnu.org>
6382
6383 * s/sol2-8.h: New file.
6384
6385 2002-11-14 Kim F. Storm <storm@cua.dk>
6386
6387 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
6388 dependency on `risky-local-variable' and the :propertize form.
6389
6390 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
6391
6392 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
6393
6394 * syntax.c (scan_sexps_forward): Undo last patch.
6395 Use a more obvious fix: check eob before updating the syntax table.
6396
6397 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
6398
6399 * syntax.c (scan_sexps_forward): Update syntax table before reading
6400 a char rather than after so we don't update the table past eob.
6401
6402 2002-11-09 Dave Love <fx@gnu.org>
6403
6404 * buffer.c (Fset_buffer_major_mode): Fix last change.
6405
6406 * regex.c (regexec): Fix pmatch declaration.
6407
6408 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
6409
6410 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
6411 to self-inserting characters.
6412 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
6413
6414 * coding.c (Vtranslation_table_for_input): New.
6415 (syms_of_coding): DEFVAR it.
6416
6417 2002-11-08 Juanma Barranquero <lektu@terra.es>
6418
6419 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
6420 window.
6421
6422 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6423
6424 * process.c (Fformat_network_address): Remove unused locals p,
6425 cp, and i.
6426
6427 2002-11-06 Dave Love <fx@gnu.org>
6428
6429 * buffer.c (Qset_buffer_major_mode_hook): New.
6430 (Fset_buffer_major_mode): Use it.
6431
6432 2002-11-06 Richard M. Stallman <rms@gnu.org>
6433
6434 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
6435 and stop_polling.
6436
6437 * process.c (wait_reading_process_input):
6438 Test POLLING_PROBLEM_IN_SELECT, not hpux.
6439 Avoid initialization for auto Lisp_Object var.
6440
6441 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
6442
6443 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
6444
6445 2002-11-05 Richard M. Stallman <rms@gnu.org>
6446
6447 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
6448
6449 * callint.c (Fcall_interactively): New local filter_specs.
6450 (Fcall_interactively): Check for progn as well as let.
6451 Add a gcpro.
6452 (Qprogn): New variable.
6453 (syms_of_callint): Staticpro and init Qprogn.
6454
6455 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
6456
6457 * lread.c (Feval_buffer): Doc fix.
6458
6459 2002-11-04 Dave Love <fx@gnu.org>
6460
6461 * keyboard.c (read_char): Always translate iff
6462 Vkeyboard_translate_table is a char table and c is valid.
6463
6464 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
6465 and fix C types.
6466
6467 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
6468
6469 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
6470
6471 * editfns.c (get_pos_property): Don't hardcode Qfield.
6472
6473 * keyboard.c (adjust_point_for_property): Handle `display' prop on
6474 overlays. Also handle `invisible' prop.
6475
6476 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
6477
6478 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
6479 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
6480
6481 2002-11-01 Andreas Schwab <schwab@suse.de>
6482
6483 * editfns.c (Fmessage): Revert last change to properly handle %%.
6484
6485 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
6486
6487 * xmenu.c (unuse_menu_items): New fun.
6488 (menu_items_inuse): New var.
6489 (syms_of_xmenu): Initialize it.
6490 (init_menu_items): Use it to detect re-entrance.
6491 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
6492 (Fx_popup_menu): Remove spurious XSETFRAME.
6493
6494 * editfns.c (find_field): Make an exception for nil fields.
6495
6496 2002-11-01 Dave Love <fx@gnu.org>
6497
6498 * m/gec63.h: Deleted.
6499
6500 2002-10-31 Dave Love <fx@gnu.org>
6501
6502 * xterm.c (XTread_socket): Fix last change.
6503 (xaw_scroll_callback): Cast call_data to long to avoid warning.
6504
6505 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
6506
6507 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
6508
6509 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
6510
6511 * editfns.c (overlays_around, get_pos_property): New funs.
6512 (find_field): Use them.
6513 Also be careful not to modify POS before its last use.
6514 (Fmessage): Don't Fformat if there's nothing to format.
6515
6516 2002-10-30 Dave Love <fx@gnu.org>
6517
6518 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
6519 [HAVE_PTY_H]; Include pty.h.
6520
6521 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
6522
6523 * xterm.c (Qeql): Declare.
6524 (Vx_keysym_table): New.
6525 (syms_of_xterm): Initialize it.
6526 (XTread_socket): Use it. Deal with ASCII keysyms.
6527 (XSetIMValues) [HAVE_X11R6]: Prototype.
6528
6529 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
6530 (lispy_kana_keys): Comment out.
6531 (make_lispy_event) [XK_kana_A]: Comment out.
6532 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
6533 Fix sprintf call.
6534
6535 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
6536 regexp.h change).
6537 (TERMINFO, LIBS_TERMCAP): Define.
6538
6539 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
6540 (bcmp): Define conditional on HAVE_BCMP.
6541 (NO_SIOCTL_H): Don't define.
6542 (TIOCSIGSEND): Don't make conditional on IRIX6.
6543
6544 * s/sol2-5.h: Don't include strings.h.
6545 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
6546
6547 * s/irix6-0.h (IRIX6): Don't define.
6548 (bcopy, bcmp, bzero): Don't undef.
6549
6550 * s/irix6-5.h: Don't include strings.h.
6551 (IRIX6): Don't define.
6552 (bcopy, bcmp, bzero): Don't undef.
6553
6554 * syntax.c (Fforward_comment): Doc fix.
6555
6556 2002-10-29 Kim F. Storm <storm@cua.dk>
6557
6558 * process.c (Fsignal_process): Allow PROCESS to be specified by
6559 name in addition to pid (as integer or string).
6560
6561 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
6562
6563 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
6564 environments.
6565
6566 2002-10-27 Kim F. Storm <storm@cua.dk>
6567
6568 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
6569
6570 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
6571
6572 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
6573
6574 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
6575
6576 2002-10-26 Richard M. Stallman <rms@gnu.org>
6577
6578 * editfns.c (Fformat): Detect invalid format letters for floats.
6579
6580 2002-10-25 Kenichi Handa <handa@m17n.org>
6581
6582 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
6583 (x_set_title): Likewise.
6584
6585 2002-10-25 Juanma Barranquero <lektu@terra.es>
6586
6587 * macgui.h:
6588 * w32gui.h: Remove definition of XColor.
6589
6590 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
6591
6592 2002-10-24 Kim F. Storm <storm@cua.dk>
6593
6594 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
6595 Callers changed (supply dummy arg).
6596
6597 * lisp.h (get_window_cursor_type): Update prototype.
6598
6599 * w32term.c (x_display_and_set_cursor): Get active_cursor from
6600 get_window_cursor_type to track system caret.
6601
6602 2002-10-24 Kim F. Storm <storm@cua.dk>
6603
6604 * process.c (Fformat_network_address): New function.
6605 (syms_of_process): Defsubr it.
6606 (list_processes_1): Use it to format :local/:remote address if
6607 service/host is not set; before emacs would crash in that case.
6608 (Fmake_network_process): Don't use Ffind_operation_coding_system
6609 to setup coding system if host or service is not set.
6610
6611 2002-10-23 Juanma Barranquero <lektu@terra.es>
6612
6613 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
6614
6615 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
6616 COLORREF.
6617
6618 * macgui.h:
6619 * w32gui.h: Add definition of XColor.
6620
6621 * macfns.c:
6622 * w32fns.c:
6623 * xfaces.c: Remove definition of XColor.
6624
6625 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
6626
6627 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
6628
6629 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
6630 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
6631 window if it is dedicated.
6632 (Fshrink_window): Add preserve_before as was done for enlarge_window.
6633 (Vspecial_display_function): Update docstring.
6634
6635 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
6636 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
6637 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
6638
6639 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
6640
6641 * casefiddle.c (casify_region): Don't treat a prefix char as part
6642 of a word when at the beginning.
6643
6644 2002-10-17 Juanma Barranquero <lektu@terra.es>
6645
6646 * lread.c (syms_of_lread): Fix typos.
6647
6648 2002-10-17 Dave Love <fx@gnu.org>
6649
6650 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
6651
6652 2002-10-16 Richard M. Stallman <rms@gnu.org>
6653
6654 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
6655
6656 2002-10-14 Juanma Barranquero <lektu@terra.es>
6657
6658 * w16select.c (syms_of_win16select): Fix docstring for
6659 `selection-coding-system'.
6660
6661 * w32select.c (syms_of_w32select): Likewise.
6662
6663 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
6664
6665 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
6666 a backslash-quoted char.
6667 (scan_lists, scan_sexps_forward): Pacify the compiler.
6668
6669 2002-10-13 Richard M. Stallman <rms@gnu.org>
6670
6671 * window.c (window_scroll): Set immediate_quit.
6672
6673 * print.c (print): When backquote form is the car of a list,
6674 output in old style. Use old_backquote_output to output all
6675 comma forms inside it in old style too.
6676
6677 * buffer.h (struct buffer): Move `undo_list' down below `name'.
6678
6679 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
6680
6681 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
6682 batch mode).
6683
6684 * lread.c (Fload): Doc fix (load-suffixes).
6685
6686 2002-10-10 Steven Tamm <steventamm@mac.com>
6687
6688 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
6689 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
6690 Also switch the default to Qnil from Qt.
6691
6692 2002-10-08 Kenichi Handa <handa@m17n.org>
6693
6694 * coding.c (code_convert_region): When we need more GAP for
6695 conversion, pay attention to the case that coding->produced is not
6696 greater than coding->consumed.
6697
6698 2002-10-07 Richard M. Stallman <rms@gnu.org>
6699
6700 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
6701
6702 2002-10-06 Andrew Choi <akochoi@shaw.ca>
6703
6704 * macmenu.c (mac_menu_show): Add j to count menu items; match
6705 menu_item_selection to it to find selected item.
6706
6707 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6708
6709 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
6710 cases. The correct fix is to pass ReparentNotify to Xt.
6711 The shell widget interprets ConfigureNotify differently depending
6712 on if it has been reparented or not.
6713
6714 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
6715
6716 * editfns.c (Fformat_time_string): Doc fix.
6717
6718 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
6719
6720 * fns.c (Flength): Doc fix.
6721
6722 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
6723
6724 * keyboard.c (keyremap): New struct.
6725 (read_key_sequence): Use it: globally replace keytran_foo with
6726 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
6727 keytran_next and fkey_next to just `next'.
6728
6729 2002-10-04 Steven Tamm <steventamm@mac.com>
6730
6731 * macterm.c (keycode_to_xkeysym_table): Change return to be
6732 treated like an X keysym.
6733
6734 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6735
6736 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
6737 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
6738 This is to also handle x/y changes that occur because of a resize.
6739
6740 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
6741
6742 * frame.c (Vdelete_frame_functions): New variable.
6743 (syms_of_frame): Initialize and defvar it.
6744 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
6745 it when frame's `tooltip' parameter is non-nil.
6746
6747 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
6748
6749 * w32fns.c (x_create_tip_frame): Likewise.
6750
6751 * macfns.c (x_create_tip_frame): Likewise.
6752
6753 2002-09-30 Kenichi Handa <handa@m17n.org>
6754
6755 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
6756 -1 before calling ccl_driver.
6757
6758 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
6759 Only when it is non-nil, handle composition sequence.
6760 (setup_coding_system) <0>: Don't force composition handling.
6761
6762 * Makefile.in (lisp, shortlisp): Add utf-16.elc
6763
6764 2002-09-29 Richard M. Stallman <rms@gnu.org>
6765
6766 * search.c (Freplace_match): Adjust match data for the substitution
6767 just made in the buffer.
6768
6769 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
6770 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
6771
6772 2002-09-27 Richard M. Stallman <rms@gnu.org>
6773
6774 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
6775 (read_char): Use them. Do all exits thru the end of the function.
6776
6777 2002-09-27 Kenichi Handa <handa@etl.go.jp>
6778
6779 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
6780 is nil.
6781
6782 2002-09-26 Richard M. Stallman <rms@gnu.org>
6783
6784 * regex.h (__restrict_arr): Don't define if already defined.
6785
6786 * coding.c (run_pre_post_conversion_on_str):
6787 Save and restore Vdeactivate_mark.
6788
6789 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
6790
6791 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
6792
6793 2002-09-26 Kenichi Handa <handa@etl.go.jp>
6794
6795 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
6796 nonzero, try face's family at first. Otherwise try FAMILY at first.
6797 (choose_face_font): If C is a single byte char or latin-1, call
6798 try_font_list with PREFER_FACE_FAMILY 1.
6799
6800 2002-09-21 Richard M. Stallman <rms@gnu.org>
6801
6802 * window.c (select_window_1): Don't select frame.
6803 Set frame's selected window only when frame itself is selected.
6804 (Fselect_window): Doc fix.
6805
6806 2002-09-18 Kim F. Storm <storm@cua.dk>
6807
6808 * process.c (make-network-process): Doc fix (there is no
6809 network-server-log-function hook).
6810
6811 2002-09-18 Richard M. Stallman <rms@gnu.org>
6812
6813 * print.c (print): Clear out the unused parts of Vprint_number_table.
6814 (syms_of_print): Doc fix for `print-number-table'.
6815
6816 * unexelf.c (unexec): Undo previous change.
6817
6818 2002-09-17 Andreas Schwab <schwab@suse.de>
6819
6820 * m/alpha.h [LINUX]: Don't define DATA_START.
6821
6822 2002-09-16 Dave Love <fx@gnu.org>
6823
6824 * unexelf.c (unexec): Deal with .got, reinstating change from
6825 25-08-1999.
6826
6827 2002-09-13 Richard M. Stallman <rms@gnu.org>
6828
6829 * s/sol2-6.h (UNEXEC): Comment out definition.
6830
6831 * unexsol.c (unexec): Don't downcase first letter of error msg.
6832
6833 * xfaces.c (Fcolor_supported_p): Just one arg is required.
6834
6835 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
6836
6837 * unexsol.c: Include buffer.h, charset.h, coding.h.
6838
6839 2002-09-11 Richard M. Stallman <rms@gnu.org>
6840
6841 * unexsol.c: Don't use report_file_error; do it by hand
6842 using dlerror.
6843
6844 * process.c (wait_reading_process_input, both versions):
6845 Before calling turn_on_atimers, call stop_polling.
6846
6847 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
6848
6849 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
6850 we go to too_near_end, call clear_glyph_matrix.
6851 (redisplay_window): After make_cursor_line_fully_visible,
6852 call clear_glyph_matrix and bypass `goto done'.
6853
6854 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
6855 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
6856
6857 2002-09-10 Richard M. Stallman <rms@gnu.org>
6858
6859 * fileio.c (Fdo_auto_save): Catch error making directory.
6860 Only call push_message if we need to.
6861 At the same time, make an unwind-protect to pop it.
6862 Rename local message_p to old_message_p.
6863 (do_auto_save_make_dir, do_auto_save_eh): New functions.
6864 (do_auto_save_unwind): Don't call pop_message.
6865
6866 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
6867
6868 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
6869
6870 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
6871
6872 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
6873
6874 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
6875
6876 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
6877 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
6878 (re_match_2_internal): Be more careful with infinite loops.
6879
6880 2002-09-10 Kim F. Storm <storm@cua.dk>
6881
6882 * macros.c (end_kbd_macro): New function.
6883 (Fend_kbd_macro): Use it.
6884
6885 * macros.h (end_kbd_macro): Declare extern.
6886
6887 * keyboard.c (Fdiscard_input): If defining keyboard macro,
6888 end and save it instead of discarding it.
6889
6890 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
6891
6892 * s/sol2-6.h: Fix typo. Add comment.
6893
6894 2002-09-09 Richard M. Stallman <rms@gnu.org>
6895
6896 * regex.c (regnum_t): Use signed int, not unsigned int.
6897
6898 * s/sol2-6.h: New file.
6899
6900 * s/sol2-5.h (UNEXEC): Definition deleted.
6901
6902 2002-09-08 Kim F. Storm <storm@cua.dk>
6903
6904 * macros.c (executing_macro_index): Change type to EMACS_INT.
6905 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
6906
6907 * macros.h (executing_macro_index): Change type to EMACS_INT.
6908
6909 2002-09-06 Richard M. Stallman <rms@gnu.org>
6910
6911 * casetab.c (set_case_table): Make canon table point to eqv table.
6912
6913 2002-09-06 Juanma Barranquero <lektu@terra.es>
6914
6915 * coding.c (syms_of_coding): Fix spacing.
6916
6917 * composite.c (Fcompose_region_internal)
6918 (Fcompose_string_internal): Likewise.
6919
6920 * data.c (Flsh): Likewise.
6921
6922 * fontset.c (Fset_fontset_font): Likewise.
6923
6924 * macfns.c (Fx_server_max_request_size): Likewise.
6925
6926 * w16select.c (syms_of_win16select): Likewise.
6927
6928 * w32select.c (syms_of_w32select): Likewise.
6929
6930 * xselect.c (syms_of_xselect): Likewise.
6931
6932 2002-09-05 Richard M. Stallman <rms@gnu.org>
6933
6934 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
6935 call EXTEND_RANGE_TABLE and return a proper value.
6936 (set_image_of_range): Don't call set_image_of_range_1
6937 if no TRANSLATE or if range includes all of Latin-1.
6938 Only call it for the Latin-1 part of the range.
6939 For other cases, make two separate ranges,
6940 one for the original specified characters and one for
6941 their case-conversions.
6942
6943 2002-09-04 Richard M. Stallman <rms@gnu.org>
6944
6945 * s/sol2-5.h (UNEXEC): Use unexsol.o.
6946
6947 * window.c (displayed_window_lines): Correct for one-off bug
6948 in HEIGHT on non-window displays.
6949
6950 * regex.c (set_image_of_range_1): New function.
6951 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
6952 Return a value to indicate running out of memory.
6953 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
6954 (extend_range_table_work_area): New subroutine.
6955 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
6956 Different calling conventions, and used from set_image_of_range{,_1}.
6957 (IMMEDIATE_QUIT_CHECK): Definitions moved.
6958
6959 2002-09-04 Juanma Barranquero <lektu@terra.es>
6960
6961 * makefile.w32-in: All dependencies updated.
6962
6963 2002-09-01 Richard M. Stallman <rms@gnu.org>
6964
6965 * unexsol.c: New file.
6966
6967 * xfns.c (Qbox): Declare external, don't define.
6968
6969 * xdisp.c (redisplay_window) <force-start case>:
6970 If point is on semi-visible last line, reposition
6971 it at previous line.
6972
6973 * alloc.c (display_malloc_warning): Use display-warning.
6974 (malloc_warning_1): Function deleted.
6975
6976 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
6977
6978 * lread.c (read1): Handle #! by skipping the line.
6979
6980 2002-08-31 Richard M. Stallman <rms@gnu.org>
6981
6982 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
6983 Don't include LDFLAGS.
6984 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
6985
6986 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
6987
6988 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
6989 member of x_display_info unless we compile for some window system.
6990
6991 2002-08-31 Kim F. Storm <storm@cua.dk>
6992
6993 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
6994 (get_window_cursor_type): Don't use them.
6995 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
6996
6997 2002-08-30 Kenichi Handa <handa@etl.go.jp>
6998
6999 * xdisp.c (get_next_display_element): Fix previous change.
7000
7001 2002-08-30 Andrew Choi <akochoi@shaw.ca>
7002
7003 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
7004 (expose_window): Use it to fix the display of overlapping
7005 rows (merge code from xterm.c).
7006
7007 * macfns.c (Qbox): Add extern declaration.
7008
7009 2002-08-30 Juanma Barranquero <lektu@terra.es>
7010
7011 * w32fns.c (Qbox): Make extern.
7012 (syms_of_w32fns): Remove initialization of Qbox.
7013
7014 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
7015
7016 * xfns.c (Fx_open_connection): Fix error message.
7017
7018 2002-08-30 Kim F. Storm <storm@cua.dk>
7019
7020 The following changes consolidates the handling of the cursor
7021 type in xdisp.c, moving duplicate code and functionality from
7022 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
7023
7024 * frame.h (enum text_cursor_kinds): Consolidated here.
7025 Added DEFAULT_CURSOR value.
7026 (struct frame) <desired_cursor, cursor_width>
7027 <blink_off_cursor, blink_off_cursor_width>: New fields.
7028 Consolidated from output_x, output_w32 and output_mac structs.
7029 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
7030 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
7031
7032 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
7033 Variables consolidated here.
7034 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
7035 (Vcursor_in_non_selected_windows): Renamed from
7036 cursor_in_non_selected_windows and changed to Lisp_Object.
7037 (syms_of_xdisp): Define and staticpro new and moved variables.
7038 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
7039 consolidated here. Recognize Qhollow setting.
7040 (set_frame_cursor_types): New function to set frame cursor types
7041 based on the frame parameters.
7042 (get_window_cursor_type): New function to calculate new cursor
7043 type and width for the specified window. Based on duplicated
7044 code consolidated here.
7045 Enhancements: cursor-in-non-selected-windows may be a cursor type,
7046 check buffer-local alternate-cursor-type and blink-cursor-alist
7047 before using built-in blink off methods.
7048
7049 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
7050
7051 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
7052 (get_specified_cursor_type, get_window_cursor_type)
7053 (set_frame_cursor_types): Added prototypes.
7054
7055 * macfns.c (x_specified_cursor_type): Removed.
7056 (x_set_cursor_type): Use set_frame_cursor_types.
7057 (Qbar, Qbox): Removed.
7058 (syms_of_macfns): Don't intern or staticpro them.
7059
7060 * macterm.c (x_specified_cursor_type): Remove prototype.
7061 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
7062 (x_display_and_set_cursor): Use get_window_cursor_type.
7063 Remove unused local variables cursor_non_selected, active_cursor.
7064 Redraw cursor if hbar cursor width changes.
7065 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
7066
7067 * macterm.h (enum text_cursor_kinds): Removed.
7068 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
7069 <blink_off_cursor, blink_off_cursor_width>: Members removed.
7070 (FRAME_DESIRED_CURSOR): Macro removed.
7071
7072 * w32fns.c (Vblink_cursor_alist): Removed.
7073 (Qbar, Qhbar, Qbox, Qhollow): Removed.
7074 (syms_of_w32fns): Don't intern, staticpro, or define them.
7075 (x_specified_cursor_type): Removed.
7076 (x_set_cursor_type): Use set_frame_cursor_types.
7077
7078 * w32term.c (x_specified_cursor_type): Remove prototype.
7079 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
7080 (x_display_and_set_cursor): Use get_window_cursor_type.
7081 Remove unused local variables cursor_off_state.
7082 Redraw cursor if hbar cursor width changes.
7083 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
7084
7085 * w32term.h (enum text_cursor_kinds): Removed.
7086 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
7087 <blink_off_cursor, blink_off_cursor_width>: Members removed.
7088 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
7089 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
7090 (struct w32_display_info) <x_highlight_frame>: Renamed member from
7091 w32_highlight_frame.
7092
7093 * xfns.c (Vblink_cursor_alist): Removed.
7094 (Qbar, Qhbar, Qbox, Qhollow): Removed.
7095 (syms_of_xfns): Don't intern, staticpro, or define them.
7096 (x_specified_cursor_type): Removed.
7097 (x_set_cursor_type): Use set_frame_cursor_types.
7098
7099 * xterm.c (x_specified_cursor_type): Remove prototype.
7100 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
7101 (x_display_and_set_cursor): Use get_window_cursor_type.
7102 Remove unused local variables cursor_off_state.
7103 Redraw cursor if hbar cursor width changes.
7104
7105 * xterm.h (enum text_cursor_kinds): Removed.
7106 (struct output_x) <current_cursor, desired_cursor, cursor_width>
7107 <blink_off_cursor, blink_off_cursor_width>: Members removed.
7108 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
7109 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
7110 (x_specified_cursor_type): Remove prototype.
7111
7112 2002-08-28 Richard M. Stallman <rms@gnu.org>
7113
7114 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
7115 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
7116 (Vblink_cursor_alist): New variable.
7117 (syms_of_w32fns): Initialize and defvar it.
7118 (x_specified_cursor_type): Recognize Qbox for filled box.
7119 Exceptions are hollow boxes.
7120 (Qbox, Qhollow): New variables.
7121 (syms_of_w32fns): Initialize and staticpro them.
7122
7123 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
7124 New macros.
7125 (struct w32_output): New fields blink_off_cursor,
7126 blink_off_cursor_width.
7127 (FRAME_CURSOR_WIDTH): New macro.
7128
7129 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
7130 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
7131
7132 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
7133 for bar cursor.
7134
7135 * w32term.c (expose_overlaps): New function.
7136 (expose_window): Use it to fix the display of overlapping rows.
7137
7138 2002-08-28 Simon Josefsson <jas@extundo.com>
7139
7140 * xfns.c (Fx_open_connection): Improve help when X connection
7141 fails, xhost is insecure and xauth is better.
7142
7143 2002-08-28 Juanma Barranquero <lektu@terra.es>
7144
7145 * makefile.w32-in: Add missing dependencies on w32term.h and
7146 composite.h.
7147
7148 * emacs.c (USAGE1): Add missing newline.
7149
7150 2002-08-27 Andrew Choi <akochoi@shaw.ca>
7151
7152 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
7153
7154 2002-08-27 Richard M. Stallman <rms@gnu.org>
7155
7156 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
7157 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
7158 (Vblink_cursor_alist): New variable.
7159 (syms_of_xfns): Initialize and defvar it.
7160 (x_specified_cursor_type): Recognize Qbox for filled box.
7161 Exceptions are hollow boxes.
7162 (Qbox, Qhollow): New variables.
7163 (syms_of_xfns): Initialize and staticpro them.
7164
7165 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
7166 New macros.
7167 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
7168
7169 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
7170 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
7171
7172 * emacs.c (main): Handle --script.
7173 (USAGE1): Mention --script.
7174 (standard_args): Define sort order for --script.
7175
7176 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
7177
7178 * xdisp.c (redisplay_updating_p): Variable removed.
7179 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
7180 New variables.
7181 (init_iterator): Don't free realized faces if
7182 inhibit_free_realized_faces is set.
7183 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
7184 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
7185 initialize Qinhibit_free_realized_faces.
7186
7187 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
7188 when iterator is adding glyphs to a glyph matrix.
7189
7190 2002-08-27 Kenichi Handa <handa@etl.go.jp>
7191
7192 * xdisp.c (get_next_display_element): In unibyte case, don't use
7193 octal form for such eight-bit characters that can be converted to
7194 multibyte char.
7195
7196 2002-08-26 Kim F. Storm <storm@cua.dk>
7197
7198 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize foreground
7199 and background colors. From Joe Buehler (tiny change).
7200
7201 2002-08-26 Miles Bader <miles@gnu.org>
7202
7203 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
7204
7205 2002-08-25 Andrew Choi <akochoi@shaw.ca>
7206
7207 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
7208 defined instead of MAC_OSX.
7209
7210 * s/darwin.h (select): Define select to sys_select only if
7211 HAVE_CARBON is defined.
7212 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
7213 (DONT_REOPEN_PTY): #def it.
7214
7215 * macterm.c (XTread_socket): Remove code to call
7216 SendEventToEventTarget for keys with command modifiers when
7217 mac_command_key_is_meta is nil.
7218
7219 2002-08-24 Andreas Schwab <schwab@suse.de>
7220
7221 * eval.c (Fdefvar): Fix last change.
7222
7223 2002-08-23 Richard M. Stallman <rms@gnu.org>
7224
7225 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
7226 Record variables in load history as (defvar . VAR).
7227 (Fdefvar): Don't record in load history if no initial value.
7228 (Qdefvar): New variable.
7229 (syms_of_eval): Init and staticpro it.
7230
7231 * lread.c (syms_of_lread): Doc fix.
7232 (build_load_history): Use Fmember to see if a definition
7233 is already in the Vload_history element.
7234
7235 * process.c (Fstart_process): Remove /: from program name.
7236
7237 * emacs.c (decode_env_path): Don't add /: if file name handler
7238 has a `safe-magic' property.
7239
7240 * callproc.c (Fcall_process): Remove /: from program name.
7241
7242 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
7243
7244 * regex.c (PATFETCH): Remove the translating fetch.
7245 (PATFETCH_RAW): Rename to PATFETCH.
7246 (set_image_of_range): New fun.
7247 (SET_RANGE_TABLE_WORK_AREA): Use it.
7248 (regex_compile): Don't translate the pattern chars so eagerly.
7249 Only do it when inserting an `exactn' bytecode or when handling
7250 a char-range.
7251 (mutually_exclusive_p): Avoid empty statement.
7252
7253 2002-08-22 Kim F. Storm <storm@cua.dk>
7254
7255 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
7256 end up on a partially visible line; this reverts a specific part
7257 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
7258 display error which has been reported several times now.
7259 However it introduces the problem that changes was supposed to fix.
7260 See my comments in the source if you want to debug this further.
7261
7262 2002-08-20 Kenichi Handa <handa@etl.go.jp>
7263
7264 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
7265
7266 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
7267
7268 * msdos.c (croak): Add `void' to definition.
7269
7270 * sysdep.c [MSDOS] (request_sigio, unrequest_sigio):
7271 Don't define them, they are defined in msdos.c.
7272
7273 * mem-limits.h [MSDOS]: Declare etext.
7274
7275 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
7276 `const' since CORRECT_DIR_SEPS modifies its target.
7277
7278 2002-08-19 Kim F. Storm <storm@cua.dk>
7279
7280 * keyboard.c (Fclear_this_command_keys): Added optional arg
7281 KEEP-RECORD to avoid clearing lossage when we just want to clear
7282 the current key sequence (kmacro needs this).
7283
7284 2002-08-19 Kenichi Handa <handa@localhost>
7285
7286 * composite.c (run_composition_function): Call FUNC if it is fboundp.
7287
7288 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
7289 cons, return Qnil.
7290
7291 2002-08-17 Richard M. Stallman <rms@gnu.org>
7292
7293 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
7294
7295 * sysdep.c [!VMS]: Include sys/files.h.
7296
7297 * editfns.c (save_restriction_restore): Defend from unchained marker.
7298
7299 * buffer.c (overlays_at): Handle extending vec uniformly.
7300 (overlays_in): Handle extending vec from length 0 as in overlays_at.
7301
7302 2002-08-15 Andrew Choi <akochoi@shaw.ca>
7303
7304 * mac.c (init_mac_osx_environment): New function.
7305
7306 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
7307
7308 2002-08-14 Kim F. Storm <storm@cua.dk>
7309
7310 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
7311 executing macro before appending to it (when used from Lisp).
7312 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
7313 which is called prior to each iteration of macro (for kmacro.el).
7314 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
7315
7316 * lisp.h (Fexecute_kbd_macro): Update prototype.
7317
7318 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
7319
7320 2002-08-14 Kenichi Handa <handa@etl.go.jp>
7321
7322 * xselect.c (QUTF8_STRING): New variable.
7323 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
7324 (x_atom_to_symbol): Likewise.
7325 (x_get_local_selection): New argument local_request. If it is
7326 nonzero, call handler_fn with the second arg nil.
7327 (x_handle_selection_request): Call x_get_local_selection with
7328 local_request 0.
7329 (lisp_data_to_selection_data): Don't encode the string here.
7330 (Fx_get_selection_internal): Call x_get_local_selection with
7331 local_request 1.
7332 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
7333
7334 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
7335
7336 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
7337
7338 2002-08-13 Richard M. Stallman <rms@gnu.org>
7339
7340 * minibuf.c (Fminibufferp): New function.
7341 (syms_of_minibuf): Defsubr it.
7342 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
7343
7344 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
7345
7346 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
7347
7348 2002-08-12 Richard M. Stallman <rms@gnu.org>
7349
7350 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
7351 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
7352 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
7353 already.
7354
7355 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
7356
7357 2002-08-11 Andrew Choi <akochoi@shaw.ca>
7358
7359 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
7360 (Vmac_pass_command_to_system): New variable.
7361 (Vmac_pass_control_to_system): New variable.
7362 (do_mouse_moved): Check wp with is_emacs_window.
7363 (XTread_socket): Check window_ptr with is_emacs_window.
7364 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
7365 events back to Mac Toolbox for processing, depending on values of
7366 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
7367 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
7368 Vmac_pass_control_to_system.
7369
7370 2002-08-10 Kenichi Handa <handa@etl.go.jp>
7371
7372 * coding.c (unencodable_char_position): New function.
7373 (Funencodable_char_position): New function.
7374 (syms_of_coding): Defsubr Funencodable_char_position.
7375
7376 2002-08-10 Andrew Choi <akochoi@shaw.ca>
7377
7378 * mac.c (sys_select) [MAC_OSX]: New function.
7379
7380 * macterm.c (MakeMeTheFrontProcess): New function.
7381 (mac_initialize): Call MakeMeTheFrontProcess.
7382
7383 * s/darwin.h: Define select to sys_select.
7384
7385 2002-08-09 Richard M. Stallman <rms@gnu.org>
7386
7387 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
7388
7389 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
7390
7391 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
7392 end of the buffer.
7393
7394 2002-08-08 Ken Raeburn <raeburn@mit.edu>
7395
7396 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
7397
7398 * puresize.h (BASE_PURESIZE): Increase to 910000.
7399
7400 2002-08-08 Kenichi Handa <handa@etl.go.jp>
7401
7402 * coding.c (Ffind_operation_coding_system): For write-region, if
7403 VISIT is a filename, make it the target.
7404
7405 2002-08-07 Richard M. Stallman <rms@gnu.org>
7406
7407 * alloc.c (mark_object): Detect long lists for debugging.
7408 (mark_object_loop_halt): New variable.
7409
7410 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
7411
7412 * data.c (Fmake_variable_frame_local): Doc fix.
7413
7414 2002-08-01 David Ponce <david@dponce.com>
7415
7416 * w32menu.c (local_heap, local_alloc, local_free): New macros.
7417 (malloc_widget_value, free_widget_value)
7418 (w32_free_submenu_strings): Use them.
7419
7420 (push_submenu_start, push_submenu_end, push_left_right_boundary)
7421 (push_menu_pane, push_menu_item, single_keymap_panes)
7422 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
7423 (single_submenu, set_frame_menubar)
7424 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
7425
7426 (Fx_popup_menu): Don't show pop up menu until preceding one is
7427 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
7428
7429 * w32menu.c: Changes adapted from xmenu.c
7430 (set_frame_menubar): First parse all submenus,
7431 then make widget_value trees from them.
7432 Don't allocate any widget_value objects
7433 until we are done with the parsing.
7434 (parse_single_submenu): New function.
7435 (digest_single_submenu): New function.
7436 (single_submenu): Function deleted, replaced by those two.
7437
7438 2002-08-04 Andrew Choi <akochoi@shaw.ca>
7439
7440 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
7441 returns a valid window pointer before proceeding for keyDown and
7442 autoKey events.
7443
7444 2002-08-03 Andrew Choi <akochoi@shaw.ca>
7445
7446 * macterm.c (USE_CARBON_EVENTS): New macro.
7447 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
7448 (x_iconify_frame): Call CollapseWindow.
7449 (Vmac_reverse_ctrl_meta): New variable.
7450 (Vmac_wheel_button_is_mouse_2): New variable.
7451 (init_mac_drag_n_drop): New function.
7452 (mac_do_receive_drag): New function.
7453 (mac_handle_service_event): New function.
7454 (init_service_handler): New function.
7455 (mac_to_emacs_modifiers): New function.
7456 (mac_event_to_emacs_modifiers): New function.
7457 (mac_get_mouse_btn): New function.
7458 (mac_convert_event_ref): New function.
7459 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
7460 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
7461 mac_get_mouse_btn.
7462 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
7463
7464 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
7465 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
7466 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
7467 TOOL_BAR_EVENT for MAC_OS as well.
7468 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
7469 as for WINDOWS_NT.
7470 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
7471
7472 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
7473
7474 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
7475
7476 * xdisp.c (forward_to_next_line_start): Fix a condition that
7477 lead to a newline being skipped.
7478
7479 2002-08-02 Andrew Choi <akochoi@shaw.ca>
7480
7481 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
7482
7483 2002-08-01 Richard M. Stallman <rms@gnu.org>
7484
7485 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
7486
7487 2002-07-31 Andrew Choi <akochoi@shaw.ca>
7488
7489 * macfns.c: #undef init_process before #define-ing it.
7490
7491 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
7492 HAVE_CARBON is defined.
7493
7494 2002-07-31 Richard M. Stallman <rms@gnu.org>
7495
7496 * xmenu.c (set_frame_menubar): First parse all submenus,
7497 then make widget_value trees from them.
7498 Don't allocate any widget_value objects
7499 until we are done with the parsing.
7500 (parse_single_submenu): New function.
7501 (digest_single_submenu): New function.
7502 (single_submenu): Function deleted, replaced by those two.
7503
7504 2002-07-30 Juanma Barranquero <lektu@terra.es>
7505
7506 * w32proc.c (syms_of_ntproc): Fix docstring of
7507 `w32-get-true-file-attributes'.
7508
7509 2002-07-28 Richard M. Stallman <rms@gnu.org>
7510
7511 * s/hpux8.h (HPUX8): Define this before including hpux.h.
7512 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
7513
7514 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
7515
7516 * keyboard.c (make_lispy_event):
7517 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
7518 Explicitly clear up_modifier in event->modifiers.
7519
7520 2002-07-27 Richard M. Stallman <rms@gnu.org>
7521
7522 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
7523
7524 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
7525 for bar cursor.
7526
7527 2002-07-26 Kenichi Handa <handa@etl.go.jp>
7528
7529 * coding.c (detect_coding_iso2022): While checking a byte sequence
7530 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
7531 it in the normal loop.
7532
7533 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
7534
7535 * xterm.c (expose_overlaps): New function.
7536 (expose_window): Use it to fix the display of overlapping rows.
7537
7538 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
7539
7540 2002-07-23 Ken Raeburn <raeburn@gnu.org>
7541
7542 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
7543 since it only depends on XUINT.
7544
7545 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
7546 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
7547 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
7548 Macros deleted.
7549
7550 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
7551 its value over other approaches.
7552 * sysdep.c (start_of_data): Don't define the function if a macro
7553 form has been defined.
7554
7555 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
7556
7557 * xdisp.c (redisplay_updating_p): New variable.
7558 (init_iterator): Don't free realized faces when
7559 redisplay_updating_p is set.
7560 (redisplay_internal): Set redisplay_updating_p while updating
7561 the display.
7562
7563 2002-07-23 Richard M. Stallman <rms@gnu.org>
7564
7565 * editfns.c (Fmessage): Treat "" like nil.
7566
7567 2002-07-23 Kenichi Handa <handa@etl.go.jp>
7568
7569 * xdisp.c (face_before_or_after_it_pos):
7570 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
7571
7572 2002-07-22 Juanma Barranquero <lektu@terra.es>
7573
7574 * callproc.c (init_callproc) [DOS_NT]:
7575 Initialize Vshared_game_score_directory to nil.
7576 (syms_of_callproc) [DOS_NT]: Likewise.
7577
7578 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
7579
7580 * xdisp.c (display_line): Replace an abort with xassert.
7581
7582 2002-07-21 Richard M. Stallman <rms@gnu.org>
7583
7584 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
7585 and END_UNCHANGED when setting buffer_unchanged_p.
7586 Use current_matrix_up_to_date_p to decide whether to use
7587 try_cursor_movement.
7588
7589 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
7590
7591 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
7592
7593 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
7594 Set to nil if dir does not exist.
7595 (syms_of_callproc): Init unconditionally and simply.
7596
7597 * buffer.c (Fbuffer_list): Doc fix.
7598
7599 2002-07-21 Ken Raeburn <raeburn@gnu.org>
7600
7601 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
7602
7603 * buffer.c (mmap_realloc): When shrinking, make sure number of
7604 pages to unmap is rounded towards zero.
7605
7606 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
7607 (XSETINT): Deleted.
7608
7609 * m/att3b.h (XINT): Don't define.
7610 (VALBITS, VALMASK, XTYPE): Deleted.
7611 (DATA_SEG_BITS): Define.
7612 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
7613 ARRAY_MARK_FLAG): Deleted.
7614 (DATA_SEG_BITS): Define.
7615 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
7616 (DATA_SEG_BITS): Define.
7617
7618 2002-07-20 Richard M. Stallman <rms@gnu.org>
7619
7620 * print.c (print_error_message): New args CONTEXT and CALLER.
7621 Calls changed.
7622
7623 * lisp.h (print_error_message): Declare new args.
7624
7625 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
7626 and CONTEXT to print_error_message, don't print them here.
7627 For a Quit, don't use Vsignaling_function.
7628 Call message_log_maybe_newline.
7629
7630 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
7631
7632 2002-07-20 Kim F. Storm <storm@cua.dk>
7633
7634 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
7635
7636 2002-07-19 Ken Raeburn <raeburn@gnu.org>
7637
7638 * bytecode.c (struct byte_stack): Pointers into byte string now
7639 point to const.
7640 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
7641 const.
7642 * charset.h (BCOPY_SHORT): Source pointer now points to const.
7643 * coding.c (encode_eol, detect_coding, detect_eol):
7644 (decode_coding, encode_coding, detect_coding_system):
7645 Source strings now treated as const.
7646 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
7647 modify Lisp string contents.
7648 * coding.h (decode_coding, encode_coding, detect_coding,
7649 detect_eol): Declarations updated.
7650 * composite.c (compose_chars_in_text): Treat Lisp string contents
7651 as const.
7652 * dispnew.c (safe_bcopy): Source pointer now points to const.
7653 * lisp.h (STRING_COPYIN): New macro.
7654 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
7655 (internal_with_output_to_temp_buffer): Declarations updated.
7656 * print.c (temp_output_buffer_setup):
7657 (internal_with_output_to_temp_buffer): Buffer name argument is now
7658 pointer to const.
7659 * sound.c (struct sound_device): Function pointer field "write"
7660 buffer argument now points to const.
7661 (vox_write): Buffer argument points to const.
7662 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
7663 contents as const.
7664 * sysdep.c (emacs_write): Buffer pointer now const.
7665 * term.c (encode_terminal_code): Buffer pointer now const.
7666 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
7667 (x_face_list_fonts, x_update_menu_appearance):
7668 (hash_string_case_insensitive): Treat Lisp string contents as const.
7669
7670 2002-07-19 Juanma Barranquero <lektu@terra.es>
7671
7672 * fileio.c (Ffile_name_as_directory): Fix argument name in docstring.
7673 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
7674
7675 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
7676
7677 * fileio.c (syms_of_fileio): Likewise.
7678
7679 2002-07-18 Richard M. Stallman <rms@gnu.org>
7680
7681 * data.c (Fdefalias): Doc fix.
7682
7683 2002-07-17 Dave Love <fx@gnu.org>
7684
7685 * intervals.h (text_property_stickiness): Use P_.
7686
7687 * ccl.c: Remove `emacs' conditionals.
7688 (ccl_backtrace_table): Fix size spec.
7689 (ccl_driver): Fix type errors.
7690
7691 2002-07-16 Ken Raeburn <raeburn@gnu.org>
7692
7693 * alloc.c (xstrdup, make_string, make_unibyte_string)
7694 (make_multibyte_string, build_string): String pointer args now
7695 point to const.
7696 * charset.c (find_charset_in_text, c_string_width):
7697 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
7698 * fileio.c (report_file_error):
7699 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
7700 (count_combining_before, count_combining_after, insert_1_both):
7701 (insert, insert_and_inherit, insert_string):
7702 (insert_before_markers, insert_before_markers_and_inherit):
7703 * lread.c (intern, oblookup, hash_string):
7704 * minibuf.c (temp_echo_area_glyphs):
7705 * search.c (fast_c_string_match_ignore_case):
7706 * sysdep.c (emacs_open, set_file_times):
7707 * xfaces.c (xstricmp):
7708 * xdisp.c (store_frame_title, string_char_and_length):
7709 (message_dolog, message2, message2_nolog, set_message): Likewise.
7710 (set_message_1): Cast message string argument to const pointer.
7711 * editfns.c (general_insert_function): Insertion function now
7712 takes pointer to const for input data.
7713 * charset.h (find_charset_in_text, c_string_width):
7714 (parse_str_as_multibyte): Declarations updated.
7715 * dispextern.h (xstricmp): Declaration updated.
7716 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
7717 (count_size_as_multibyte, count_combining_before):
7718 (count_combining_after, insert_1, insert_1_both, message_dolog):
7719 (insert, insert_and_inherit, insert_before_markers)
7720 (insert_before_markers_and_inherit, set_message, message2):
7721 (message2_dolog, build_string, make_string, make_unibyte_string):
7722 (make_multibyte_string, intern, oblookup, report_file_error):
7723 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
7724 (emacs_open, xstrdup): Declarations updated.
7725 * systime.h (set_file_times): Declaration updated.
7726
7727 * charset.c (find_charset_in_text, lisp_string_width): Use const
7728 for pointer to lisp string data.
7729 * charset.h (FETCH_STRING_CHAR_ADVANCE):
7730 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
7731 * coding.c (Ffind_coding_systems_region_interval):
7732 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
7733 (Fmake_directory_internal, Fdelete_directory):
7734 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
7735 * fontset.c (font_family_registry, fs_query_fontset):
7736 (list_fontsets):
7737 * frame.c (Fframe_parameter):
7738 * keyboard.c (cmd_error_internal):
7739 * keymap.c (Fdescribe_buffer_bindings):
7740 * lread.c (complete_filename_p, openp):
7741 * minibuf.c (Fminibuffer_complete_word):
7742 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
7743 (face_before_or_after_it_pos, next_element_from_string):
7744 (get_overlay_arrow_glyph_row, display_mode_element):
7745 (decode_mode_spec_coding):
7746 * xterm.c (same_x_server): Likewise.
7747
7748 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
7749 settings of non-existent fields.
7750
7751 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
7752 copy a lisp value.
7753
7754 * lread.c (Fintern_soft): Use string macros instead of
7755 Lisp_String fields.
7756 * keyboard.c (echo_char, parse_modifiers_uncached):
7757 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
7758 * textprop.c (validate_interval_range, interval_of): Likewise.
7759
7760 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
7761
7762 * charset.h (FETCH_STRING_CHAR_ADVANCE)
7763 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
7764 XSTRING()->size_byte.
7765
7766 * lisp.h (SDATA, SREF): Produce rvalue.
7767 (SSET): New macro.
7768 * alloc.c (make_event_array): Use SSET for storing into a string.
7769 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
7770 a string.
7771 * casefiddle.c (casify_object): Use SSET.
7772 * charset.h (FETCH_STRING_CHAR_ADVANCE)
7773 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
7774 address of string contents.
7775 * data.c (Faref): Use SDATA.
7776 (Faset): Use SDATA, SSET.
7777 * dired.c (directory_files_internal): Use SSET.
7778 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
7779 (Fread_file_name): Use SREF, SSET.
7780 * fns.c (concat): Use SSET.
7781 (concat, Fdelete): Use SDATA.
7782 * insdel.c (insert_from_string_1): Use SDATA.
7783 * keyboard.c (Fevent_convert_list): Use SREF.
7784 * lread.c (Fload): Use SDATA, SSET.
7785 * macfns.c (validate_x_resource_name): Use SSET.
7786 * process.c (status_message): Use SSET.
7787 * search.c (wordify): Use SDATA.
7788 (Freplace_match): Use SREF.
7789 * w32fns.c (validate_x_resource_name): Use SSET.
7790 * xfns.c (validate_x_resource_name): Use SSET.
7791 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
7792
7793 2002-07-16 Richard M. Stallman <rms@gnu.org>
7794
7795 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
7796
7797 * xdisp.c (reconsider_clip_changes):
7798 Don't test prevent_redisplay_optimizations_p.
7799 (redisplay_internal): Test prevent_redisplay_optimizations_p
7800 along with clip_changed in some cases.
7801 (try_window_id): Likewise.
7802 (redisplay_window): New local var buffer_unchanged_p.
7803
7804 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
7805
7806 * process.c (create_process): Test USG_SUBTTY_WORKS.
7807 (process_send_signal): Clean up handling of GID.
7808 Detect errors in ioctls meant to set GID.
7809
7810 * window.c (temp_output_buffer_show):
7811 Don't set prevent_redisplay_optimizations_p.
7812
7813 2002-07-15 Juanma Barranquero <lektu@terra.es>
7814
7815 * eval.c (Fdefvaralias): Add docstring argument.
7816
7817 2002-07-15 Ken Raeburn <raeburn@gnu.org>
7818
7819 * lisp.h (STRING_INTERVALS): Produce rvalue.
7820 (STRING_SET_INTERVALS): New macro.
7821 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
7822 * fns.c (Fstring_as_multibyte): Likewise.
7823 * intervals.c (balance_possible_root_interval, delete_interval)
7824 (create_root_interval, copy_intervals_to_string): Likewise.
7825 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
7826 instead of 0.
7827
7828 2002-07-14 Ken Raeburn <raeburn@gnu.org>
7829
7830 * lisp.h (STRING_SET_CHARS): New macro.
7831 (SCHARS, SBYTES): Produce rvalues.
7832 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
7833 * fns.c (concat): Likewise.
7834 * lread.c (read_vector): Likewise.
7835
7836 * lisp.h (SMBP): Deleted. All uses changed to STRING_MULTIBYTE.
7837 (STRING_SET_UNIBYTE): New macro.
7838 (SET_STRING_BYTES): Deleted. Callers (all of which supplied a
7839 length of -1) changed to use STRING_SET_UNIBYTE.
7840 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
7841 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
7842 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
7843 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
7844 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
7845 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
7846 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
7847 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
7848 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
7849 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
7850 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
7851 STRING_BYTES or indirection changed to SCHARS, SBYTES,
7852 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
7853 unchanged for now.
7854
7855 2002-07-13 Kim F. Storm <storm@cua.dk>
7856
7857 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
7858
7859 2002-07-12 Richard M. Stallman <rms@gnu.org>
7860
7861 * fileio.c (Fwrite_region): Doc fix.
7862
7863 * print.c (print_error_message): Don't handle Vsignaling_function here.
7864
7865 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
7866 (command_loop_1): Avoid certain actions after memory-full error.
7867
7868 * eval.c (Fsignal): Don't call cancel_hourglass.
7869 For a memory-full error, don't call Vsignal_hook_function
7870 and don't set Vsignaling_function.
7871
7872 * process.c (process_send_signal): Add abort call.
7873
7874 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
7875
7876 * keymap.c (Fkey_binding): Fix typo.
7877
7878 2002-07-11 Richard M. Stallman <rms@gnu.org>
7879
7880 * alloc.c (Vmemory_full): New variable.
7881 (Vmemory_signal_data): Renamed from memory_signal_data.
7882 Uses changed.
7883 (syms_of_alloc): Defvar them.
7884 (memory_full, buffer_memory_full): Set Vmemory_full.
7885
7886 * lisp.h (Vmemory_full): Add declaration.
7887 (current_column, indented_beyond_p): Change declaration.
7888
7889 * indent.c (last_known_column): Declare as double, not float.
7890 (current_column, current_column_1, string_display_width)
7891 (position_indentation): Return `double'.
7892 (indented_beyond_p): Arg `column' is `double'. Callers changed.
7893
7894 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
7895 (back_to_previous_visible_line_start)
7896 (reseat_at_next_visible_line_start, next_element_from_buffer):
7897 Use `double', not `float', when calling indented_beyond_p.
7898
7899 * s/hpux11.h (BROKEN_SA_RESTART): Defined.
7900
7901 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
7902
7903 2002-07-11 Juanma Barranquero <lektu@terra.es>
7904
7905 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
7906 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
7907 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
7908 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
7909 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
7910 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
7911
7912 2002-07-10 Juanma Barranquero <lektu@terra.es>
7913
7914 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE. All callers
7915 changed.
7916
7917 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
7918
7919 * data.c (Fdefalias): Add an optional `docstring' argument.
7920 (set_internal, Fsetq_default): Use XCAR/XCDR.
7921
7922 * composite.c (HASH_VALUE, HASH_KEY):
7923 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
7924
7925 2002-07-09 Kenichi Handa <handa@etl.go.jp>
7926
7927 * callproc.c (Fcall_process): Fix previous change.
7928
7929 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
7930
7931 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
7932 Add support for hash-tables.
7933 (Ftry_completion): Return t even if the string appears multiple times.
7934
7935 * fns.c (Fnconc): Use XCDR.
7936 (Fprovide): Use CONSP and XCDR.
7937 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
7938 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
7939 (Fmake_hash_table): Accept `:size nil'.
7940 (Fmakehash): Delete: moved to subr.el.
7941 (syms_of_fns): Don't defsubr makehash.
7942
7943 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
7944 (HASH_TABLE_SIZE): Move from fns.c.
7945
7946 2002-07-07 Richard M. Stallman <rms@gnu.org>
7947
7948 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
7949 Instead just return 0 when there is something to be done.
7950 (try_scrolling): If make_cursor_line_fully_visible returns 0,
7951 retry scrolling as if cursor were off the bottom.
7952 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
7953 return CURSOR_MOVEMENT_MUST_SCROLL.
7954 (redisplay_window): If make_cursor_line_fully_visible returns 0,
7955 go to try_to_scroll.
7956
7957 * buffer.c (Fbuffer_local_value): Store current value into its binding
7958 so we get the up-to-date value for the binding that is loaded.
7959
7960 * eval.c (Fdefmacro): Doc fix.
7961
7962 2002-07-05 Dave Love <fx@gnu.org>
7963
7964 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
7965 correctly.
7966
7967 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
7968 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
7969 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
7970 CCL_LookupCharConstTbl.
7971 (syms_of_ccl): Defvar translation-hash-table-vector.
7972
7973 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7974
7975 * xdisp.c: Remove unused variable `face'.
7976
7977 2002-07-04 Juanma Barranquero <lektu@terra.es>
7978
7979 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
7980 obsolescence information.
7981
7982 2002-07-03 Andrew Choi <akochoi@shaw.ca>
7983
7984 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
7985 pattern. Search cache first.
7986 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
7987 for Japanese font.
7988 (XLoadQueryFont): Use it.
7989
7990 2002-07-02 Richard M. Stallman <rms@gnu.org>
7991
7992 * keymap.c (Fdefine_key): Doc fix.
7993
7994 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
7995
7996 2002-07-02 Juanma Barranquero <lektu@terra.es>
7997
7998 * keymap.c (syms_of_keymap): Fix typo.
7999
8000 2002-07-01 Andrew Choi <akochoi@shaw.ca>
8001
8002 * s/darwin.h: Define POSIX_SIGNALS.
8003
8004 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
8005 and FSRefMakePath to convert FSSpec returned with Apple Event to
8006 Posix pathname.
8007 (mac_initialize) [TARGET_API_MAC_CARBON]:
8008 Call init_required_apple_events and disable the `Quit' menu item
8009 provided automatically by the Carbon Toolbox.
8010
8011 2002-07-01 Dave Love <fx@gnu.org>
8012
8013 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
8014 for K&R.
8015
8016 * xterm.c: Fix prototype for K&R.
8017
8018 * term.c (costs_set): Declare static, non-initialized for pcc.
8019
8020 2002-07-01 Richard M. Stallman <rms@gnu.org>
8021
8022 * keyboard.c (timer_last_idleness_start_time): New variable.
8023 (timer_start_idle): Set that.
8024 (read_key_sequence): Use that to reset timer_idleness_start_time
8025 to previous value.
8026
8027 * window.c (Frecenter): With arg, set optional_new_start.
8028
8029 * xdisp.c (redisplay_internal): Make optional_new_start really work.
8030
8031 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
8032 buffer for completion.
8033
8034 2002-06-29 Ken Raeburn <raeburn@gnu.org>
8035
8036 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
8037
8038 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8039
8040 * keyboard.c (readable_filtered_events): New function that filters
8041 FOCUS_IN_EVENT depending on parameter.
8042 (readable_events): Calls readable_filtered_events, not filtering
8043 FOCUS_IN_EVENT.
8044 (get_filtered_input_pending): New function, filtering parameter passed
8045 to readable_filtered_events.
8046 (get_input_pending): Calls get_filtered_input_pending, not filtering
8047 FOCUS_IN_EVENT.
8048 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
8049 FOCUS_IN_EVENT.
8050
8051 * xterm.h (struct x_output): Add focus_state.
8052
8053 * xterm.c (x_focus_changed): New function.
8054 (x_detect_focus_change): New function.
8055 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
8056 EnterNotify and LeaveNotify to track X focus changes.
8057
8058 2002-06-28 Andreas Schwab <schwab@suse.de>
8059
8060 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
8061
8062 2002-06-27 Kim F. Storm <storm@cua.dk>
8063
8064 * xdisp.c: (mode_line_string_list, mode_line_string_face)
8065 (mode_line_string_face_prop): New variables.
8066 (store_mode_line_string): New function.
8067 (display_mode_element): Use store_mode_line_string to
8068 add mode-line string elements to mode_line_string_list
8069 when mode_line_string_list is non-nil.
8070 (Fformat_mode_line): Now returns propertized string by
8071 default. New arg NO-PROPS to ignore properties.
8072 (decode_mode_spec): Only add two dashes for %- in propertized
8073 mode-line string.
8074 (syms_of_xdisp): Init and staticpro mode_line_string_list.
8075
8076 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
8077
8078 * minibuf.c (minibuffer_completion_contents): Add return type.
8079
8080 2002-06-27 Juanma Barranquero <lektu@terra.es>
8081
8082 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
8083
8084 2002-06-26 Juanma Barranquero <lektu@terra.es>
8085
8086 * fileio.c (read_file_name_cleanup): Add missing return.
8087
8088 2002-06-26 Richard M. Stallman <rms@gnu.org>
8089
8090 * window.c (Frecenter): Don't set force_start flag.
8091
8092 * minibuf.c (do_completion, Fminibuffer_complete_word)
8093 (Fminibuffer_completion_help): Complete just the text before point.
8094 (minibuffer_completion_contents): New function.
8095
8096 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
8097
8098 * frame.c (frames_bury_buffer): Function deleted.
8099
8100 2002-06-25 Miles Bader <miles@gnu.org>
8101
8102 * callint.c (Fcall_interactively): When checking to see if doprnt hit
8103 the end of callint_message, allow for a terminating '\0'.
8104
8105 2002-06-24 Juanma Barranquero <lektu@terra.es>
8106
8107 * w32select.c: Include composite.h
8108
8109 * w16select.c: Likewise.
8110
8111 2002-06-24 Kenichi Handa <handa@etl.go.jp>
8112
8113 * callproc.c (Fcall_process): If code detection is necessary,
8114 call detect_coding directly here.
8115
8116 * coding.c (detect_eol): Preserve coding->cmp_data.
8117
8118 * w16select.c (Fw16_get_clipboard_data):
8119 * w32fns.c (w32_to_x_font):
8120 * w32select.c (Fw32_get_clipboard_data):
8121 * xselect.c (selection_data_to_lisp_data):
8122 * xterm.c (XTread_socket): Disable composition handling.
8123
8124 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
8125
8126 * print.c (temp_output_buffer_setup): Kill all local variables.
8127
8128 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
8129
8130 * lread.c (Fread): Remove redundant and imprecise declaration.
8131
8132 * xfns.c (check_x_display_info): Use check_x_frame.
8133
8134 * .gdbinit (xprintsym): Use the new `xname' field.
8135 (xsymbol): Use it.
8136
8137 2002-06-22 Jason Rumney <jasonr@gnu.org>
8138
8139 * w32fns.c (file_dialog_callback): New function.
8140 (Fx_file_dialog): Allow selecting directories as well as files.
8141
8142 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8143
8144 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
8145 OpenBSD. Add support for mipseb-*-netbsd* machines.
8146
8147 2002-06-17 Andrew Choi <akochoi@shaw.ca>
8148
8149 * macterm.c (mac_scroll_area): Set foreground and backcolor to
8150 black and white before scrolling. Restore frame background and
8151 foreground color after scrolling.
8152 (do_window_update): Call XClearWindow before calling expose_frame.
8153 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
8154 FRAME_FOREGROUND_PIXEL of frame.
8155
8156 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
8157 test Mac command key as <ALT> key.
8158
8159 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
8160
8161 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
8162
8163 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
8164 Lookup keys in function-key-map immediately so that key-translation-map
8165 can be applied earlier.
8166 Remove function_key_possible and key_translation_possible, replaced
8167 by checking `keytran_start < t'.
8168
8169 * .gdbinit (xsymbol): Use the new `xname' field.
8170
8171 2002-06-17 Andrew Choi <akochoi@shaw.ca>
8172
8173 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
8174 test Mac command key as <ALT> key.
8175
8176 * mac.c (do_applescript): Call initialize_applescript if necessary
8177 when first called. Dispose of result_desc only when there is no error.
8178 (Fdo_applescript): Use %d format specifier instead of %ld.
8179
8180 2002-06-16 Andrew Choi <akochoi@shaw.ca>
8181
8182 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
8183 of FrontWindow for cases keyDown and autoKey.
8184
8185 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
8186 Vdefault_fontset to Monaco with mac-roman coding.
8187
8188 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
8189 init_process before and after inclusion of Carbon/Carbon.h, resp.
8190
8191 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
8192 cursor_gc.
8193 (add_font_name_table_entry): New function.
8194 (init_font_name_table): Use add_font_name_table_entry; add italic,
8195 bold, and bold-italic entries for truetype fonts.
8196
8197 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
8198 for Mac too.
8199 (try_font_list) [MAC_OS]: If no font matches given registry, try
8200 fonts with any registry matching face_family.
8201 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
8202
8203 * s/darwin.h: If autoconf detects the Ncurses library, define
8204 LIBS_TERMCAP to -lncurses to use it.
8205
8206 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
8207
8208 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
8209
8210 2002-06-15 Richard M. Stallman <rms@gnu.org>
8211
8212 * window.c (Fset_window_configuration): Explicitly preserve
8213 the point value that new_current_buffer had at the start.
8214
8215 2002-06-14 Juanma Barranquero <lektu@terra.es>
8216
8217 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
8218 Fix typos.
8219
8220 2002-06-14 Kim F. Storm <storm@cua.dk>
8221
8222 * insdel.c (insert_1_both, insert_from_string_1)
8223 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
8224 insert happened in the end_unchanged region. Otherwise, the
8225 redisplay may be confused and duplicate the last line in the
8226 buffer [seen after save-buffer when require-final-newline==t].
8227
8228 2002-06-13 Jason Rumney <jasonr@gnu.org>
8229
8230 * w32.c (init_environment): Remove EMACSLOCKDIR.
8231 (stat): Swap _S_IFDIR and _S_IFREG.
8232
8233 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8234
8235 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
8236 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
8237 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
8238 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
8239 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
8240 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
8241 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
8242 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
8243 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
8244 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
8245 SELECTION_REQUEST_EVENT, selection_clear_event to
8246 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
8247 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
8248 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
8249 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
8250 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
8251 no_event to NO_EVENT.
8252
8253 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8254
8255 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
8256
8257 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
8258
8259 * intervals.c (textget): Don't forget to `return'.
8260 (lookup_char_property): Use XCAR/XCDR.
8261
8262 2002-06-12 Juanma Barranquero <lektu@terra.es>
8263
8264 * xdisp.c (Fformat_mode_line): Fix typo.
8265
8266 2002-06-12 Kim F. Storm <storm@cua.dk>
8267
8268 * xdisp.c (Fformat_mode_line): New function.
8269 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
8270 (store_frame_title_char, store_frame_title): Use unconditionally.
8271 (init_xdisp): Defsubr Fformat_mode_line.
8272 Initialize frame_title_buf etc. unconditionally.
8273
8274 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
8275
8276 * keyboard.c (read_key_sequence):
8277 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
8278 things through those maps after downcasing events.
8279 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
8280 applies after function-key-map.
8281 Make sure that keytran can be done in the middle in the sequence.
8282 Be careful not to throw away events past the one we downcase.
8283
8284 * lread.c (read_integer): Remove unused var `tem'.
8285 (read1): Fix int/Lisp_Object mixup.
8286
8287 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
8288
8289 2002-06-11 Richard M. Stallman <rms@gnu.org>
8290
8291 * keyboard.c (readable_events): Ignore any number of
8292 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
8293
8294 2002-06-09 Miles Bader <miles@gnu.org>
8295
8296 * xfaces.c (Ftty_supports_face_attributes_p): New function.
8297 (parse_rgb_list, tty_lookup_color): New functions.
8298 (tty_defined_color): Use `tty_lookup_color' to do all the work.
8299 (color_distance, Fcolor_distance): New functions.
8300 (TTY_SAME_COLOR_THRESHOLD): New macro.
8301 (Qtty_color_standard_values): New variable.
8302 (syms_of_xfaces): Initialize new vars & functions.
8303
8304 2002-06-08 Colin Walters <walters@verbum.org>
8305
8306 * textprop.c (Vchar_property_alias_alist): New variable.
8307 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
8308
8309 * intervals.c (lookup_char_property): New function for looking up
8310 overlay and text properties, created from textget.
8311 (textget): Use it.
8312
8313 * intervals.h (lookup_char_property): Declare.
8314 (Vchar_property_alias_alist): Declare.
8315
8316 * buffer.c (Foverlay_get): Use lookup_char_property.
8317
8318 2002-06-07 Sam Steingold <sds@gnu.org>
8319
8320 * xselect.c (lisp_data_to_selection_data): Fix last change:
8321 *data_ret is not a Lisp string, while unibyte_string is.
8322
8323 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
8324
8325 * xselect.c (lisp_data_to_selection_data): Fix last change:
8326 set size_ret.
8327
8328 2002-06-07 Andreas Schwab <schwab@suse.de>
8329
8330 * m/amdx86-64.h: New file.
8331
8332 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
8333
8334 * fns.c (Fstring_make_unibyte): Doc fix.
8335
8336 * xselect.c (lisp_data_to_selection_data): If the requested type
8337 is STRING, call string_make_unibyte to encode the selected text
8338 as a string.
8339
8340 * window.c (Fset_window_hscroll): Doc fix.
8341
8342 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8343
8344 * fileio.c (choose_write_coding_system):
8345 Call select-safe-coding-system properly.
8346
8347 2002-06-03 Richard M. Stallman <rms@gnu.org>
8348
8349 * xdisp.c (message_with_string): Error if STRING is not a string.
8350
8351 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
8352
8353 * fileio.c (choose_write_coding_system): Pass FILE arg to
8354 Vselect_safe_coding_system_function.
8355
8356 2002-06-03 Ken Raeburn <raeburn@gnu.org>
8357
8358 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
8359
8360 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
8361
8362 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
8363 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
8364 * keymap.c (describe_command): Likewise.
8365 * minibuf.c (read_minibuf): Likewise.
8366
8367 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
8368 Cast `current_column' return value to int.
8369 (back_to_previous_visible_line_start)
8370 (reseat_at_next_visible_line_start, next_element_from_buffer):
8371 Cast `indented_beyond_p' 3rd arg to float.
8372
8373 * indent.c (last_known_column): Now a float.
8374 (current_column_1, position_indentation, current_column)
8375 (string_display_width): Return float.
8376 (Fcurrent_column): Cast `current_column' return value to int.
8377 (Fcurrent_indentation): Cast `position_indentation' retval to int.
8378 (indented_beyond_p): Third arg now a float.
8379 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
8380
8381 * lisp.h (current_column): Now returns float.
8382 (indented_beyond_p): 3rd arg now a float.
8383
8384 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
8385
8386 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
8387 is Qcompound_text_with_extensions.
8388
8389 * xselect.c (lisp_data_to_selection_data): Always set selection
8390 type as string if x_encode_text returns streingp non-NULL.
8391
8392 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
8393
8394 2002-05-30 Richard M. Stallman <rms@gnu.org>
8395
8396 * window.c (Fset_window_configuration): Correct the handling
8397 of point in current buffer, to work with multiple windows.
8398
8399 2002-05-29 Colin Walters <walters@verbum.org>
8400
8401 * lread.c (Fread_from_string): Don't depend on order of evaluation
8402 for C function parameters.
8403
8404 2002-05-28 Richard M. Stallman <rms@gnu.org>
8405
8406 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
8407 way for blinked-off state and for a nonselected window.
8408
8409 * window.c (window_scroll_pixel_based): Don't call Fbolp;
8410 instead, see if the new start pos is at beginning of line.
8411
8412 * fileio.c (Fwrite_region): If START is a string, don't
8413 make any annotations.
8414
8415 * eval.c (syms_of_eval): Doc fix.
8416
8417 2002-05-28 Colin Walters <walters@debian.org>
8418
8419 * emacs.c (USAGE1): Add --no-splash.
8420 (standard_args): Ditto.
8421
8422 2002-05-28 Colin Walters <walters@gnu.org>
8423
8424 * lread.c (readchar_count): New variable.
8425 (readchar): Increment it.
8426 (unreadchar): Decrement it.
8427 (read_multibyte): Decrement it.
8428 (Vread_with_symbol_positions): New variable.
8429 (Vread_symbol_positions_list): New variable.
8430 (read_internal_start): New function, created from Fread and
8431 Fread_from_string. Handle Vread_symbol_positions_list and
8432 Vread_with_symbol_positions.
8433 (readevalloop, Fread, Fread_from_string): Use it.
8434 (read1): Use readchar_count to add symbol positions to
8435 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
8436 (syms_of_lread): DEFVAR_LISP and initialize them.
8437
8438 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
8439 (substitute_object_recurse, substitute_object_in_subtree)
8440 (substitute_in_interval): Prototype.
8441 (read_multibyte): Return c if it's less than zero.
8442
8443 2002-05-28 Kim F. Storm <storm@cua.dk>
8444
8445 * fileio.c (Fread_file_name_internal): Added brute-force
8446 speed up for using predicate file-directory-p.
8447
8448 2002-05-28 Kim F. Storm <storm@cua.dk>
8449
8450 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
8451 New variables.
8452 (syms_of_fileio): DEFVAR_LISP them.
8453 (read_file_name_cleanup): New unwind function.
8454 (Fread_file_name_internal): Only return completions satifying
8455 Vread_file_name_predicate. Temporarily unwind protect and rebind
8456 default-directory while checking completions against the predicate.
8457 (Fread_file_name): Added PREDICATE argument. Specbind it to
8458 Vread_file_name_predicate during completion.
8459 Call Vread_file_name_function to read the file name if non-nil.
8460
8461 * lisp.h (Fread_file_name): Now has 6 args.
8462
8463 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
8464 predicate for Fread_file_name when reading directory name.
8465 Supply Qnil for predicate in other calls to Fread_file_name.
8466
8467 2002-05-26 Miles Bader <miles@gnu.org>
8468
8469 * term.c (tty_capable_p): New function.
8470 * dispextern.h (tty_capable_p): New function declaration.
8471 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
8472 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
8473
8474 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
8475
8476 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
8477 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
8478 (Vwrite_region_annotate_functions): Docstring fix.
8479
8480 2002-05-23 Kim F. Storm <storm@cua.dk>
8481
8482 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
8483 phys_cursor's hpos is overwritten. This is still not completely
8484 correct, as it doesn't really make sense to use hpos at all to
8485 get the cursor glyph (as that is relative to the width of the
8486 characters on the line, which may have changed during the update).
8487
8488 2002-05-22 Jason Rumney <jasonr@gnu.org>
8489
8490 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
8491 Lisp_Object.
8492 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
8493 Use modified enumfont_t struct.
8494
8495 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
8496
8497 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
8498 Handle the `hbar' cursor type.
8499 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
8500
8501 * w32fns.c (Qhbar): New variable.
8502 (x_specified_cursor_type): Use it.
8503
8504 2002-05-21 Ken Raeburn <raeburn@gnu.org>
8505
8506 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
8507 now, when the address is needed.
8508
8509 2002-05-21 Colin Walters <walters@gnu.org>
8510
8511 * Makefile.in (shortlisp): Add font-core.el.
8512
8513 2002-05-20 Richard M. Stallman <rms@gnu.org>
8514
8515 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
8516
8517 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
8518 equivalent key bindings here.
8519
8520 2002-05-20 Ken Raeburn <raeburn@gnu.org>
8521
8522 Change symbol structure to contain a lisp object for the symbol
8523 name:
8524 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
8525 object field named "xname".
8526 (SYMBOL_NAME): New macro.
8527 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
8528 name field.
8529 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
8530 (mark_object, gc_sweep): Use symbol xname field and XSTRING
8531 instead of name field.
8532 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
8533 SYMBOL_NAME instead of XSYMBOL and name field.
8534 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
8535 instead of XSYMBOL and name field.
8536 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
8537 and SYMBOL_NAME instead of XSYMBOL and name field.
8538 * coding.c (Fread_coding_system, code_convert_region1)
8539 (code_convert_string1, code_convert_string_norecord)
8540 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
8541 XSYMBOL and name field.
8542 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
8543 (Fmake_variable_buffer_local, Fmake_local_variable)
8544 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
8545 of XSYMBOL and name field.
8546 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
8547 XSYMBOL and name field.
8548 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
8549 instead of XSYMBOL and name field.
8550 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
8551 XSYMBOL and name field.
8552 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
8553 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
8554 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
8555 instead of XSYMBOL and name field.
8556 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
8557 (parse_modifiers, apply_modifiers, Fevent_convert_list)
8558 (parse_solitary_modifier, Fexecute_extended_command):
8559 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
8560 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
8561 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
8562 of XSYMBOL and name field.
8563 (describe_command, describe_translation): Use SYMBOL_NAME and
8564 assignment instead of XSYMBOL and name field and XSETSTRING.
8565 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
8566 instead of XSYMBOL and name field.
8567 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
8568 name field and XSETSTRING.
8569 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
8570 of XSYMBOL and name field.
8571 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
8572 assignment instead of XSYMBOL and name field and XSETSTRING.
8573 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
8574 XSTRING instead of XSYMBOL and name field.
8575 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
8576 and XSTRING instead of XSYMBOL and name field.
8577 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
8578 and XSTRING instead of XSYMBOL and name field.
8579 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
8580 XSTRING instead of XSYMBOL and name field.
8581 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
8582 of XSYMBOL and name field.
8583 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
8584 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
8585
8586 2002-05-19 Ken Raeburn <raeburn@gnu.org>
8587
8588 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
8589 and XCDR real rvalues in most configurations.
8590
8591 * buffer.c (fix_overlays_in_range, fix_overlays_before):
8592 Don't take the address of the cdr part of a cons cell; instead, track
8593 the parent cell and call XSETCDR, or set the variable for the head
8594 of the list if we haven't started down the list yet.
8595
8596 2002-05-19 Richard M. Stallman <rms@gnu.org>
8597
8598 * doc.c (reread_doc_file): Don't ask for confirmation.
8599
8600 2002-05-18 Jason Rumney <jasonr@gnu.org>
8601
8602 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
8603 (xbm_load_image): Use it.
8604 (xbm_load): Ditto.
8605 (xbm_read_bitmap_data): Reverted to xfns.c version.
8606 From David Ponce <david@dponce.com>.
8607
8608 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
8609
8610 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
8611 2.02 and later.
8612
8613 2002-05-16 Juanma Barranquero <lektu@terra.es>
8614
8615 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
8616
8617 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
8618
8619 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
8620 meaningful test.
8621 (read_char_minibuf_menu_prompt): Fix typo.
8622
8623 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8624
8625 * eval.c (Fcommandp): Doc fix.
8626
8627 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
8628
8629 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
8630 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
8631 (Fset_keymap_parent): Gcpro a bit more.
8632 (access_keymap): Gcpro around meta_map call and around the main loop.
8633 (get_keyelt): Gcpro when following indirect references.
8634 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
8635 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
8636 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
8637 Remove useless ad-hoc remap code.
8638
8639 2002-05-13 Richard M. Stallman <rms@gnu.org>
8640
8641 * search.c (search_buffer): Give up boyer moore search if inverse
8642 translation change charset_base.
8643
8644 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
8645
8646 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
8647 characters is carried over from the previous block of text, adjust
8648 coding->produced to account for the extra character.
8649
8650 2002-05-11 Andreas Schwab <schwab@suse.de>
8651
8652 * coding.c (intersection): Keep the elements of the returned list
8653 in the same order as in the first list.
8654
8655 2002-05-11 Kim F. Storm <storm@cua.dk>
8656
8657 * keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
8658 only update cmm_size if realloc actually succeeds.
8659 Testing with initial size of 2 elements revealed that using
8660 realloc on GNU/Linux would cause a random trap in xmalloc
8661 later on, so I rewrote the code to use malloc/bcopy/free instead
8662 of realloc.
8663
8664 2002-05-10 Jason Rumney <jasonr@gnu.org>
8665
8666 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
8667
8668 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
8669
8670 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
8671 parens, to ensure correct evaluation order.
8672
8673 2002-05-10 Kim F. Storm <storm@cua.dk>
8674
8675 * keymap.c (Vemulation_mode_map_alists): New variable.
8676 (syms_of_keymap): DEFVAR_LISP it.
8677 (current_minor_maps): Process keymap alists in that list before
8678 minor-mode-overriding-map-alist and minor-mode-map-alist.
8679
8680 2002-05-09 Richard M. Stallman <rms@gnu.org>
8681
8682 * search.c (Freplace_match): Doc fix.
8683
8684 2002-05-09 Kim F. Storm <storm@cua.dk>
8685
8686 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
8687 Enlarge cursor rectangle drawn around image with non-zero relief.
8688
8689 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
8690 Enlarge cursor rectangle drawn around image with non-zero relief.
8691
8692 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
8693 Enlarge cursor rectangle drawn around image with non-zero relief.
8694
8695 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
8696
8697 * xselect.c (lisp_data_to_selection_data): Don't set selection
8698 type if comes from the Lisp object's car. If the selection
8699 contains a pure ASCII text, always return QSTRING as its type.
8700
8701 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8702
8703 * mac.c (mac-cut-function): Doc fix.
8704
8705 2002-05-05 Richard M. Stallman <rms@gnu.org>
8706
8707 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
8708
8709 2002-05-04 Jason Rumney <jasonr@gnu.org>
8710
8711 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
8712 for event-click-count.
8713
8714 * process.c (init_process): Only add server subfeature if we can
8715 use non-blocking I/O.
8716
8717 2002-05-04 Andrew Choi <akochoi@shaw.ca>
8718
8719 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
8720 repeatedly.
8721
8722 2002-05-03 Jason Rumney <jasonr@gnu.org>
8723
8724 * process.c (Fmake_network_process): Only support server sockets
8725 when we can make them non-blocking.
8726
8727 * s/ms-w32.h (HAVE_SELECT): Define.
8728
8729 * w32.h (FILE_NDELAY): New flag.
8730
8731 * w32.c (sys_getpeername, fcntl): New functions.
8732 (_sys_read_ahead): Temporarily block on non-blocking sockets.
8733
8734 * w32proc.c: include sys/file.h.
8735
8736 2002-05-03 Colin Walters <walters@verbum.org>
8737
8738 * callproc.c (Vgame_score_directory): Renamed to
8739 Vshared_game_score_directory.
8740
8741 2002-04-30 Richard M. Stallman <rms@gnu.org>
8742
8743 * s/gnu.h [emacs]: Include stdio.h.
8744 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
8745
8746 * eval.c (do_autoload): Error if called while preparing to dump.
8747
8748 * fns.c (Frequire): Error if need to load while preparing to dump.
8749
8750 2002-04-28 Colin Walters <walters@verbum.org>
8751
8752 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
8753 Default to "~/.emacs.d/games".
8754
8755 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
8756
8757 * lread.c (openp): Change arg exec_only to predicate.
8758 (build_load_history): Use XCAR/XCDR.
8759 (Flocate_file_internal): New fun.
8760 (syms_of_lread): Defsubr it.
8761 (Fload): Update call to openp.
8762
8763 * lisp.h (openp): Update prototype.
8764
8765 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
8766 * w32proc.c (sys_spawnve):
8767 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
8768 * w32.c (check_windows_init_file):
8769 * sound.c (Fplay_sound_internal):
8770 * process.c (Fstart_process):
8771 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
8772 * mac.c (run_mac_command):
8773 * emacs.c (init_cmdargs):
8774 * callproc.c (Fcall_process): Update call to openp.
8775
8776 * textprop.c (remove_properties): Don't use XCAR without CONSP.
8777
8778 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
8779
8780 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8781
8782 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
8783 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
8784
8785 2002-04-28 Richard M. Stallman <rms@gnu.org>
8786
8787 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
8788
8789 * eval.c (Fcommandp): New arg for_call_interactively.
8790 * lisp.h (Fcommandp): Declare new arg.
8791
8792 2002-04-28 Jason Rumney <jasonr@gnu.org>
8793
8794 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
8795
8796 * w32.c (stat, fstat): Use file index information to generate
8797 inodes for directories where available.
8798
8799 2002-04-26 Andrew Choi <akochoi@shaw.ca>
8800
8801 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
8802 [HAVE_CARBON]: Include Mac object files.
8803
8804 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
8805 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
8806 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
8807 MAC_OSX, and MAC_OS instead of macintosh.
8808
8809 * editfns.c [MAC_OS8]: Include stdio.h.
8810
8811 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
8812
8813 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
8814 Apple Monaco.
8815
8816 * process.c: Declare QCfamily and QCfilter as extern.
8817 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
8818 calling select.
8819
8820 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
8821
8822 * tparam.c [MAC_OSX]: Don't define BC and UP.
8823
8824 * config.in [HAVE_CARBON]: Add.
8825
8826 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
8827 Move here from mac/src and mac/inc.
8828
8829 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
8830
8831 2002-04-26 Gerd Moellmann <gerd@gnu.org>
8832
8833 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
8834 Compute phys_cursor_width from the x position returned
8835 by x_draw_glyhs, which is cheaper.
8836 (x_display_and_set_cursor): Compute the buffer-local value
8837 of `cursor-in-non-selected-windows' only when needed.
8838
8839 2002-04-25 Gerd Moellmann <gerd@gnu.org>
8840
8841 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
8842 cursor on a stretch glyph has a width that depends on
8843 x_stretch_cursor_p.
8844
8845 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8846
8847 * abbrev.c (abbrev-start-location): Doc fix.
8848
8849 * indent.c (Fvertical_motion): Fix last change.
8850
8851 2002-04-25 Gerd Moellmann <gerd@gnu.org>
8852
8853 * indent.c (Fvertical_motion): Move to the start of the line
8854 containing PT before moving up or down.
8855
8856 2002-04-24 Gerd Moellmann <gerd@gnu.org>
8857
8858 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
8859 case of writing a whole row, more or less analogous to the case of
8860 writing only parts of a row.
8861
8862 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
8863 0 for NO_CURSOR.
8864
8865 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
8866
8867 2002-04-23 Colin Walters <walters@verbum.org>
8868
8869 * buffer.c (syms_of_buffer): Doc fix.
8870
8871 2002-04-23 Gerd Moellmann <gerd@gnu.org>
8872
8873 * xterm.c (notice_overwritten_cursor): Handle the special case
8874 of the cursor being in the first blank non-text line at the
8875 end of a window.
8876
8877 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
8878 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
8879 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
8880 bar cursors only, to make phys_cursor_width contain what its name
8881 suggests.
8882 (notice_overwritten_cursor): Consider the cursor image erased if
8883 the output area intersects the cursor image in y-direction.
8884
8885 2002-04-23 Simon Marshall <simon@gnu.org>
8886
8887 * xfns.c (x_set_mouse_color): Change default for cross_cursor
8888 to XC_hand2.
8889
8890 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8891
8892 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
8893
8894 2002-04-22 Kim F. Storm <storm@cua.dk>
8895
8896 * textprop.c (remove_properties): Fixed trap for malformed plist.
8897
8898 2002-04-22 Richard M. Stallman <rms@gnu.org>
8899
8900 * cmds.c (Fend_of_line): Handle intangible text in mid line.
8901
8902 * window.c (make_window): Initialize height_fixed_p,
8903 last_cursor_off_p, and p->cursor_off_p slots.
8904
8905 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8906
8907 * fns.c (use-dialog-box): Doc fix.
8908
8909 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8910
8911 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
8912 variables `row', `i' and `area'.
8913 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
8914 toolkit library.
8915
8916 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
8917
8918 * xfaces.c (clear_font_table): Don't free the default font of
8919 a frame even if it's on another display.
8920 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
8921 that could be Qt.
8922
8923 2002-04-19 Juanma Barranquero <lektu@terra.es>
8924
8925 * indent.c (Fmove_to_column): Remove unused local variable
8926 `next_boundary_byte'.
8927 (current_column_1): Likewise.
8928
8929 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
8930
8931 * msdos.c (Qhbar): New variable.
8932 (syms_of_msdos): Intern and staticpro it.
8933 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
8934 cursor type.
8935
8936 2002-04-19 Dave Lambert <dlambert@acm.org>
8937
8938 Theses change implement an underscore-like (`hbar') cursor.
8939
8940 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
8941
8942 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
8943 Handle the `hbar' cursor type.
8944 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
8945
8946 * xfns.c (Qhbar): New variable.
8947 (syms_of_xfns): Intern and staticpro it.
8948 (x_specified_cursor_type): Handle `hbar' cursor.
8949
8950 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
8951 not defined.
8952
8953 2002-04-18 Richard M. Stallman <rms@gnu.org>
8954
8955 * textprop.c (remove_properties): New arg LIST allows scanning
8956 either a list or a plist.
8957 (interval_has_some_properties_list): New function, like
8958 interval_has_some_properties using list instead of plist.
8959 All callers changed.
8960 (Fremove_list_of_text_properties): New function.
8961 (syms_of_textprop): Defsubr it.
8962
8963 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
8964
8965 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
8966
8967 2002-04-17 Juanma Barranquero <lektu@terra.es>
8968
8969 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
8970
8971 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
8972
8973 * window.c (coordinates_in_window): Don't report on margin area
8974 if its width is zero.
8975
8976 2002-04-16 Jason Rumney <jasonr@gnu.org>
8977
8978 * w32fns.c (Fx_file_dialog): Decode file name before using.
8979
8980 * w32term.c (construct_drag_n_drop): Likewise.
8981
8982 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
8983
8984 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
8985 store load-history in pure space.
8986
8987 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
8988
8989 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
8990
8991 * xterm.c (Qlatin_1, Qutf_8): New vars.
8992 (syms_of_xterm): Initialize them.
8993 (XTread_socket): Eliminate incorrect optimization that tried to avoid
8994 decoding the output of X*LookupString.
8995 Always use latin-1 to decode the output of XLookupString.
8996 Try Xutf8LookupString if XmbLookupString failed.
8997
8998 * region-cache.c (new_region_cache): Use BEG.
8999
9000 2002-04-16 Gerd Moellmann <gerd@gnu.org>
9001
9002 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
9003 configuration files.
9004 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
9005 returns 0.
9006
9007 2002-04-15 Andreas Schwab <schwab@suse.de>
9008
9009 * config.in: Regenerated using autoheader.
9010
9011 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
9012 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
9013 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
9014 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
9015 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
9016 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
9017 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
9018 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
9019 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
9020 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
9021 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
9022 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
9023 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
9024 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
9025 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
9026 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
9027 STACK_DIRECTION, now set by autoconf.
9028
9029 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9030
9031 * dispnew.c (marginal_area_string): Sort arguments.
9032
9033 * dispextern.h (marginal_area_string): Add prototype.
9034
9035 2002-04-13 Richard M. Stallman <rms@gnu.org>
9036
9037 * fileio.c (Finsert_file_contents):
9038 Don't call temp_output_buffer_setup--do just part, by hand.
9039
9040 * coding.c (run_pre_post_conversion_on_str):
9041 Don't call temp_output_buffer_setup--do just part, by hand.
9042
9043 * keyboard.c (command_loop_1): Don't call start_hourglass
9044 or cancel_hourglass when executing a macro.
9045
9046 * marker.c (count_markers): New function.
9047
9048 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
9049 grow without limit. Move recently used elements to the front.
9050
9051 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9052
9053 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
9054
9055 2002-04-12 Gerd Moellmann <gerd@gnu.org>
9056
9057 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
9058 rows marginal areas.
9059 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
9060 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
9061
9062 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
9063
9064 2002-04-12 Dave Love <fx@gnu.org>
9065
9066 * dispnew.c (marginal_area_string): New.
9067
9068 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
9069 (Qleft_margin, Qright_margin): Declare.
9070 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
9071
9072 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
9073 note_mode_line_highlight and extended.
9074
9075 * keyboard.c (Qleft_margin, Qright_margin): Declare.
9076 (make_lispy_event): Deal with mouse events in margins.
9077
9078 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
9079
9080 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
9081
9082 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
9083 than deactivating the mark if tmm is set to `lambda'.
9084 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
9085 Use a single event for HELP_EVENT.
9086 (Fexecute_extended_command): Save last_point_position.
9087
9088 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9089
9090 * lisp.h (Fpropertize): Add prototype.
9091
9092 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
9093
9094 2002-04-10 Colin Walters <walters@verbum.org>
9095
9096 * config.in: Add HAVE_SHARED_GAME_DIR.
9097
9098 * callproc.c: (Vgame_score_directory): New variable.
9099 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
9100
9101 2002-04-10 Richard M. Stallman <rms@gnu.org>
9102
9103 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
9104
9105 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
9106
9107 * minibuf.c (read_minibuf): Use empty_string.
9108 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
9109 Short-circuit the search as soon as it "failed".
9110 (Fall_completions): Allow lambda forms and lists of strings for alist.
9111 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
9112 when require_match is nil.
9113 (Ftest_completion): Rename from `test_completion' and export to elisp.
9114 Call the predicate also when alist is a list.
9115 Obey Vcompletion_regexp_list.
9116 (do_completion, Fminibuffer_complete_and_exit): Use it.
9117 (Fassoc_string): Rename from `assoc_for_completion'.
9118 Allow list of strings as well and export to elisp.
9119
9120 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
9121
9122 * puresize.h (BASE_PURESIZE): Increase to 900KB.
9123
9124 2002-04-08 Juanma Barranquero <lektu@terra.es>
9125
9126 * w32.c (sys_accept): Don't hide variable `s'.
9127
9128 2002-04-05 Gerd Moellmann <gerd@gnu.org>
9129
9130 * callint.c (Fcall_interactively): Use INTEGERP instead of
9131 NUMBERP for checking Vhistory_length.
9132
9133 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9134
9135 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
9136 Doc fix to reflect it.
9137
9138 2002-04-04 Richard M. Stallman <rms@gnu.org>
9139
9140 * xdisp.c (display_mode_element): New arg RISKY.
9141 Disregard text props found or specified within a variable
9142 that isn't marked risky-local-variable.
9143 (Qrisky_local_variable): New variable.
9144 (syms_of_xdisp): Init and staticpro it.
9145
9146 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
9147
9148 * undo.c (record_point): New fun.
9149 (record_delete, record_insert): Use it.
9150
9151 2002-04-03 Juanma Barranquero <lektu@terra.es>
9152
9153 * doc.c (Fdocumentation): Add missing parentheses.
9154 (Fdocumentation_property): Likewise.
9155
9156 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
9157
9158 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
9159 data is 0, just return nil.
9160
9161 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
9162
9163 * msdos.c (syms_of_msdos): Fix last change with
9164 mouse_autoselect_window.
9165
9166 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9167
9168 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
9169 mouse_autoselect_window.
9170
9171 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
9172
9173 * keyboard.c (make_lispy_event): Handle unknown keysyms together
9174 with system-specific keysyms. Use it also for unknown function keys.
9175
9176 * doc.c (reread_doc_file): Return whether reload was attempted.
9177 (Fdocumentation, Fdocumentation_property): Don't try to reload
9178 if the doc is 0 and only ask once.
9179
9180 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
9181
9182 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
9183
9184 * keyboard.c (read_char): If the event was Qselect_window,
9185 restore timer_idleness_start_time to its previous value.
9186
9187 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
9188
9189 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
9190
9191 * region-cache.c (new_region_cache): Use BEG.
9192
9193 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
9194 Use BEG and BEG_BYTE.
9195
9196 * doc.c (get_doc_string): Return nil if the location is wrong.
9197 (reread_doc_file): New fun.
9198 (Fdocumentation, Fdocumentation_property):
9199 Call it if get_doc_string fails.
9200 (Fsnarf_documentation): Make it work for a dumped Emacs.
9201
9202 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
9203 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
9204
9205 * charset.c (Fstring): Allow 0 arguments.
9206
9207 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
9208
9209 * process.c (DATAGRAM_CONN_P, list_processes_1)
9210 (Fprocess_datagram_address, Fset_process_datagram_address)
9211 (Fset_network_process_options, server_accept_connection):
9212 Fix some int/Lisp_Object confusions (thank you union types).
9213
9214 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9215
9216 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
9217
9218 * w32term.c: Likewise.
9219 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
9220
9221 * keyboard.c (Qselect_window): New symbol.
9222 (head_table): Use it.
9223 (keys_of_keyboard): Bound select-window event to handle-select-window.
9224 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
9225
9226 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
9227 (last_window): New variable.
9228 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
9229 (note_mouse_movement): Remove reimplemented code in #if 0.
9230 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
9231 Emacs windows.
9232
9233 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
9234
9235 2002-03-31 Gerd Moellmann <gerd@gnu.org>
9236
9237 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
9238 Callers changed.
9239
9240 2002-03-30 Richard M. Stallman <rms@gnu.org>
9241
9242 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
9243 loop whenever it stops making progress.
9244
9245 * widget.c (set_frame_size): Don't call change_frame_size.
9246
9247 2002-03-30 Gerd Moellmann <gerd@gnu.org>
9248
9249 * dispnew.c (direct_output_for_insert):
9250 Call mark_window_display_accurate.
9251
9252 2002-03-29 Jason Rumney <jasonr@gnu.org>
9253
9254 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
9255
9256 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
9257
9258 * Makefile.in (lread.o): Depend on coding.h.
9259
9260 * lread.c (openp, Fload): Encode the file name before passing it
9261 to `stat', `access', and `emacs_open'.
9262 (openp): GCPRO the encoded file name. Don't recompute Lisp
9263 strings unnecessarily.
9264
9265 2002-03-29 Kim F. Storm <storm@cua.dk>
9266
9267 * fns.c (Flax_plist_put): Doc fix.
9268
9269 2002-03-28 Miles Bader <miles@gnu.org>
9270
9271 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
9272
9273 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9274
9275 * process.c (set-network-process-options): Add usage.
9276 (make-network-process): Doc fix.
9277
9278 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
9279
9280 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
9281
9282 2002-03-26 Richard M. Stallman <rms@gnu.org>
9283
9284 * fns.c (Fsubstring_no_properties): New function.
9285 (Flax_plist_get, Flax_plist_put): New functions.
9286 (syms_of_fns): defsubr them.
9287
9288 * xdisp.c (update_menu_bar): Test only update_mode_lines;
9289 don't test or alter w->update_mode_line.
9290
9291 * window.c (Fdisplay_buffer): Doc fix.
9292
9293 2002-03-24 Richard M. Stallman <rms@gnu.org>
9294
9295 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
9296
9297 2002-03-24 Gerd Moellmann <gerd@gnu.org>
9298
9299 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
9300 (Fdefmacro): Handle `(declare ...)'.
9301 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
9302 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
9303
9304 2002-03-24 Jason Rumney <jasonr@gnu.org>
9305
9306 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
9307 (xbm_file_p): Add prototypes.
9308 (xbm_format, xbm_image_p): Sync with xfns.c.
9309 (reflect_byte): New function.
9310 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
9311 (xbm_load_image): Create bitmaps with a depth of 1.
9312 (init_xfns): Enable XBM images.
9313
9314 2002-03-23 Jason Rumney <jasonr@gnu.org>
9315
9316 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
9317 correctly. Do not pass up_modifier to keyboard buffer.
9318
9319 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
9320
9321 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
9322
9323 * Makefile.in (bootstrapclean): New target.
9324 (bootstrap-temacs, bootstrap-doc): Remove.
9325 (bootstrap-emacs): Use a bog-standard `temacs'.
9326 Don't bother to build a DOC file.
9327
9328 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
9329
9330 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
9331 in temacs even if !CANNOT_DUMP.
9332 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
9333
9334 * alloc.c (check_pure_size): Only output a warning.
9335
9336 2002-03-22 Jason Rumney <jasonr@gnu.org>
9337
9338 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
9339 supported.
9340
9341 * w32term.c (zv_bits): Declare as short, for word alignment.
9342 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
9343 (syms_of_w32term): Define x-use-underline-position-properties.
9344
9345 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
9346 (clear_image_cache): Block input, fix logic, clear matrices in
9347 all frames that share this cache.
9348
9349 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
9350
9351 * emacs.c (main): Update the Copyright year in the blurb printed
9352 by "emacs --version".
9353
9354 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
9355
9356 * xterm.c (XTread_socket): If XK_ISO_Lock and
9357 XK_ISO_Last_Group_Lock are defined, handle keysyms between
9358 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
9359
9360 2002-03-21 Kim F. Storm <storm@cua.dk>
9361
9362 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
9363 menu-bar bindings in keymap and local-map properties _are_ used.
9364 But try keymap property first in accordance with 2002-01-03 patch.
9365 Added comment describing why this is not always reliable.
9366 (tool_bar_items): Ditto for tool-bar.
9367
9368 2002-03-21 Jason Rumney <jasonr@gnu.org>
9369
9370 * w32fns.c (x_clear_image_1): Disable color table code.
9371
9372 2002-03-21 Kim F. Storm <storm@cua.dk>
9373
9374 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
9375 removed the wrong version of the DEFUN macro; fixed it.
9376
9377 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
9378 Fmember rather than Fmemq).
9379 (Fprovide): Check that subfeatures is a list.
9380
9381 * process.c (QCfeature, QCdatagram): Removed variables.
9382 (QCtype, Qdatagram): New variables.
9383 (network_process_featurep): Removed function.
9384 (Fmake_network_process): Removed :feature check.
9385 Use :type 'datagram instead of :datagram t to create a datagram
9386 socket. This allows us to add other connection types (e.g. raw
9387 sockets) later in a consistent manner.
9388 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
9389 supported subfeatures for feature make-network-process.
9390 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
9391 Intern and staticpro QCtype and Qdatagram.
9392 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
9393
9394 * xfns.c: (QCtype): Remove duplicate declaration and
9395 initialization (is now declared in process.c).
9396
9397 * w32fns.c: (QCtype): Remove duplicate declaration and
9398 initialization (is now declared in process.c).
9399
9400 2002-03-21 Richard M. Stallman <rms@gnu.org>
9401
9402 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
9403 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
9404 when jumping to `fail' to avoid undoing reg changes in the
9405 last iteration of the loop.
9406 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
9407
9408 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
9409 Depend on process.h.
9410
9411 2002-03-20 Jason Rumney <jasonr@gnu.org>
9412
9413 Most of the following changes are still conditional on HAVE_IMAGES
9414 which is not set by default on Windows.
9415
9416 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
9417
9418 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
9419 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
9420 (four_corners_best, x_clear_image_1, x_clear_image)
9421 (x_alloc_image_color, postprocess_image)
9422 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
9423 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
9424 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
9425
9426 * w32gui.h (struct XImage): Define.
9427
9428 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
9429 extract mouse co-ordinates.
9430
9431 2002-03-20 Jason Rumney <jasonr@gnu.org>
9432
9433 * w32.c (init_winsock): Dynamically load new server and UDP
9434 socket functions.
9435 (socket_to_fd): New function.
9436 (sys_socket): Use it.
9437 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
9438 (sys_recvfrom, sys_sendto): New wrapper functions.
9439
9440 * process.c (QCfamily, QCfilter): Remove duplicate declaration
9441 and initialization.
9442
9443 * makefile.w32-in (LIBS): Remove $(WSOCK32).
9444
9445 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
9446
9447 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
9448 Don't use "sun" as a variable, it's a predefined constant on Sun
9449 machines.
9450
9451 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9452
9453 * bytecode.c (Fbyte_code): Revert last change.
9454
9455 2002-03-19 Kim F. Storm <storm@cua.dk>
9456
9457 * makefile.w32-in (LIBS): Add $(WSOCK32).
9458 From David Ponce <dponce@voila.fr>.
9459
9460 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9461
9462 * process.c (wait_reading_process_input): Move variables `pname'
9463 and `pnamelen' down where they are used.
9464
9465 * bytecode.c (Fbyte_code): Discard unused computed value to
9466 prevent gcc warning.
9467
9468 * lisp.h (Fplist_member): Add prototype.
9469
9470 2002-03-18 Kim F. Storm <storm@cua.dk>
9471
9472 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
9473 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
9474
9475 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
9476 Remove explicit GNU_LINUX settings for datagram support.
9477
9478 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9479
9480 * process.c (Fmake_network_process): Remove unused variable `sa'.
9481 Doc fix. Add usage:.
9482 (set_socket_options): Remove unused variables `optnum' and `opttype'.
9483
9484 2002-03-17 Richard M. Stallman <rms@gnu.org>
9485
9486 * xdisp.c (cursor_type_changed): New variable.
9487 (redisplay_internal): Redisplay all windows if cursor_type_changed.
9488 Clear it when clearing windows_or_buffers_changed.
9489 (try_cursor_movement, redisplay_window, try_window_id)
9490 (try_window_reusing_current_matrix): Test cursor_type_changed
9491 along with windows_or_buffers_changed.
9492
9493 * window.h (cursor_type_changed): New variable.
9494
9495 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
9496 not update_mode_lines, and always set it to 1.
9497
9498 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
9499 if no frames needed redrawing.
9500
9501 2002-03-17 Kim F. Storm <storm@cua.dk>
9502
9503 The following changes add support for network server processes,
9504 datagram connections, and local (unix) sockets.
9505
9506 * process.h (struct Lisp_Process): New member log.
9507 Doc fix: Member command used to indicate stopped network process.
9508 Doc fix: Member childp contains plist for network process.
9509 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
9510
9511 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
9512 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
9513 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
9514 New variables.
9515 (NETCONN1_P): New macro.
9516 (DATAGRAM_SOCKETS): New conditional symbol.
9517 (datagram_address): New array.
9518 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
9519 (status_message): Use concat3.
9520 (Fprocess_status): Add `listen' status to doc string. Return `stop'
9521 for a stopped network process.
9522 (Fset_process_buffer): Update contact plist for network process.
9523 (Fset_process_filter): Ditto. Don't enable input for stopped
9524 network processes. Server must listen, even if filter is t.
9525 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
9526 New functions.
9527 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
9528 (Fprocess_contact): Added KEY argument. Handle datagrams.
9529 (list_processes_1): Optionally show only processes with the query
9530 on exit flag set. Dynamically adjust column widths. Omit tty
9531 column if not needed. Report stopped network processes.
9532 Identify server and datagram network processes.
9533 (Flist_processes): New optional arg `query-only'.
9534 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
9535 (conv_lisp_to_sockaddr, set_socket_options)
9536 (network_process_featurep, unwind_request_sigio): New helper functions.
9537 (Fprocess_datagram_address, Fset_process_datagram_address):
9538 (Fset_network_process_options): New lisp functions.
9539 (Fopen_network_stream): Removed. Now defined in simple.el.
9540 (Fmake_network_process): New lisp function. Code is based on previous
9541 Fopen_network_stream, but heavily reworked with new property list based
9542 argument list, support for datagrams, server processes, and local
9543 sockets in addition to old client-only functionality.
9544 (server_accept_connection): New function.
9545 (wait_reading_process_input): Use it to handle incoming connects.
9546 Do not enable input on a new connection if process is stopped.
9547 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
9548 (send_process): Handle datagram sockets.
9549 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
9550 network process is indicated by setting command field to t .
9551 (Fprocess_send_eof): No-op if datagram connection.
9552 (Fstatus_notify): Don't read input for a stream server socket or a
9553 stopped network process.
9554 (init_process): Initialize datagram_address array.
9555 (syms_of_process): Intern and staticpro new variables, defsubr new
9556 functions.
9557
9558 2002-03-16 Jason Rumney <jasonr@gnu.org>
9559
9560 * w32fns.c (w32_to_all_x_charsets): Return correct type in
9561 startup case.
9562
9563 2002-03-16 Richard M. Stallman <rms@gnu.org>
9564
9565 * xdisp.c (redisplay_internal, redisplay_windows):
9566 Use list_of_error to call internal_condition_case_1.
9567 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
9568 so as to catch all errors with no possibility of debugger redisplay.
9569 (list_of_error): New variable.
9570 (syms_of_xdisp): Init and staticpro it.
9571
9572 * print.c (print_object): Delete `\ ' from printed rep of frame.
9573
9574 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
9575
9576 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
9577 until its implementation is fixed.
9578
9579 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9580
9581 * xfns.c (png_load): Remove unused variable `gamma_str'.
9582
9583 2002-03-14 Richard M. Stallman <rms@gnu.org>
9584
9585 * xfns.c (x_real_positions): Handle failure in XQueryTree.
9586
9587 2002-03-14 Miles Bader <miles@gnu.org>
9588
9589 * intervals.c (adjust_for_invis_intang): New function.
9590 (set_point_both): Use `adjust_for_invis_intang' to do most of the
9591 work for dealing with invisible+intangible regions. Do so before
9592 and after both forward and backward movements, to handle both
9593 front-sticky and rear-sticky cases.
9594 * textprop.c (text_property_stickiness): Function moved here from
9595 `editfns.c'.
9596 * intervals.h (text_property_stickiness): New declaration.
9597 * editfns.c (char_property_eq): Function removed.
9598 (text_property_stickiness): Function moved to `textprop.c'.
9599
9600 2002-03-13 Jason Rumney <jasonr@gnu.org>
9601
9602 * config.in: Add STRFTIME_NO_POSIX2.
9603
9604 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
9605 and %OX when underlying strftime does not.
9606
9607 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
9608
9609 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
9610 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
9611 line) to avoid annoying flicker.
9612 (xm_scroll_callback): Get rid of the now unnecessary kludge.
9613 (XTread_socket): Mark it static.
9614
9615 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
9616
9617 2002-03-13 Kim F. Storm <storm@cua.dk>
9618
9619 * puresize.h (BASE_PURESIZE): Increase to 775000.
9620
9621 2002-03-12 Juanma Barranquero <lektu@terra.es>
9622
9623 * editfns.c (syms_of_editfns): Fix typo.
9624
9625 2002-03-12 Gerd Moellmann <gerd@gnu.org>
9626
9627 * xsmfns.c: Include stdio.h because termhooks.h needs it.
9628 Include termopt.h for interrupt_input.
9629
9630 2002-03-11 Andreas Schwab <schwab@suse.de>
9631
9632 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
9633
9634 2002-03-11 Gerd Moellmann <gerd@gnu.org>
9635
9636 * xterm.c (note_mouse_movement): Put code for
9637 x_autoselect_window_p in #if 0.
9638
9639 * lread.c (Fload): Don't assume that message_with_string uses the
9640 string it is given like a C string.
9641
9642 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9643
9644 * xterm.h (x_session_check_input, x_session_initialize): Declared.
9645
9646 * xterm.c: (XTread_socket): Add call to x_session_check_input and
9647 x_session_have_connection.
9648 (x_initialize): Add call to x_session_initialize.
9649
9650 * termhooks.h (enum event_kind): Add save_session_event.
9651
9652 * keyboard.c: Add Emacs event save_session_event.
9653
9654 * emacs.c (main): Add call to syms_of_xsmfns.
9655
9656 * lisp.h: Declare syms_of_xsmfns as extern.
9657
9658 * config.in: Add HAVE_X_SM.
9659
9660 * Makefile.in (LIBXT): Add -lSM -lICE
9661 if HAVE_X_SM and not USE_X_TOOLKIT.
9662 (XOBJ): New file xsmfns.c added.
9663
9664 * xsmfns.c: New file for X session management.
9665
9666 2002-03-09 Jason Rumney <jasonr@gnu.org>
9667
9668 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
9669 read-only when setting modified time.
9670
9671 2002-03-08 Gerd Moellmann <gerd@gnu.org>
9672
9673 * xdisp.c (move_it_vertically_backward): At the end of the function,
9674 when moving forward by lines, treat terminal frames specially.
9675
9676 * keyboard.c (echo_char): Make sure to add a separator between
9677 keys even if echo_dash hasn't been called.
9678
9679 * xdisp.c: Use new string macros.
9680 (update_echo_area): Pass number of bytes to message3 instead of
9681 number of chars.
9682 (set_message_1): Don't access a string's size_byte directly.
9683 (decode_mode_spec_coding): Use number of bytes of eoltype string
9684 instead number of chars.
9685
9686 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
9687
9688 2002-03-08 Juanma Barranquero <lektu@terra.es>
9689
9690 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
9691 24-bit.
9692
9693 2002-03-06 Jason Rumney <jasonr@gnu.org>
9694
9695 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
9696
9697 2002-03-06 Gerd Moellmann <gerd@gnu.org>
9698
9699 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
9700 (cancel_echoing, echo_length, echo_truncate): Changed to
9701 work with new kboard definition.
9702 (echo_now): Use message3_nolog instead of message2_nolog.
9703
9704 * alloc.c (mark_kboards): Mark echo_string.
9705
9706 * keyboard.h (ECHOBUFSIZE): Removed.
9707 (struct kboard): Member echoptr removed, member echobuf renamed
9708 to echo_string.
9709
9710 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
9711 message3 instead of message2 to display the message using STRING's
9712 text properties.
9713
9714 2002-03-05 Andreas Schwab <schwab@suse.de>
9715
9716 * xdisp.c (hscroll_margin): Change to EMACS_INT.
9717
9718 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
9719
9720 * frame.c (default-frame-alist): Explain that setting it doesn't
9721 affect existing frames.
9722
9723 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
9724
9725 * indent.c (skip_invisible): Fix my brain fart.
9726
9727 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
9728
9729 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
9730
9731 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
9732 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
9733 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
9734 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
9735 and variables to use EMACS_INT instead of just int.
9736
9737 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
9738
9739 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
9740
9741 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
9742 environment, pass it down with corrected value.
9743
9744 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9745
9746 * lread.c (read_filtered_event): Do not call start_hourglass
9747 before returning.
9748
9749 2002-03-04 Juanma Barranquero <lektu@terra.es>
9750
9751 * w32term.c (x_display_and_set_cursor): Fix typo.
9752
9753 2002-03-03 Richard M. Stallman <rms@gnu.org>
9754
9755 * fileio.c (Fmake_temp_name): Doc fix.
9756
9757 2002-03-03 Gary Wong <gtw@gnu.org>
9758
9759 * termcap.c [!emacs]: Replace ospeed for building standalone
9760 libtermcap, for binary compatibility.
9761
9762 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
9763
9764 2002-03-03 Richard M. Stallman <rms@gnu.org>
9765
9766 * xrdb.c (file_p): Rename arg `path' to `filename'.
9767
9768 * abbrev.c (Fexpand_abbrev): Increment plist as use count
9769 only if it is an integer.
9770
9771 * xfns.c (png_load): Set screen_gamma based on f->gamma.
9772 If png_get_sRGB gives an answer, call png_set_gamma
9773 using the default image gamma value.
9774
9775 * lread.c (read1): When reading from a file, default string to
9776 multibyte only if it has some multibyte characters.
9777
9778 * print.c (print_object): Output multibyte chars 128...255
9779 using \x even if ! print_escape_multibyte.
9780
9781 * xdisp.c (display_mode_element): Move the places where
9782 bytepos, charpos, this, and lisp_string are set.
9783 Use lisp_string to set bytepos.
9784
9785 * xdisp.c (redisplay_internal):
9786 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
9787
9788 * xdisp.c (display_mode_element): Merge properties specified with
9789 :propertize onto those that come with the string.
9790
9791 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
9792
9793 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
9794 automatic-hscrolling. Users changed.
9795 <hscroll-margin>: Renamed from automatic-hscroll-margin.
9796 Users changed.
9797 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
9798
9799 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
9800
9801 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
9802
9803 2002-03-02 Kim F. Storm <storm@cua.dk>
9804
9805 * window.c (Fminibuffer_selected_window): New function.
9806 (syms_of_window): Defsubr it.
9807
9808 2002-03-01 Kim F. Storm <storm@cua.dk>
9809
9810 * window.h (struct window): New member phys_cursor_width.
9811
9812 * window.c (make_window, replace_window): Init phys_cursor_width.
9813
9814 * xterm.c (x_display_and_set_cursor): Blink box cursor using
9815 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
9816
9817 * w32term.c (x_display_and_set_cursor): Blink box cursor using
9818 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
9819
9820 * lisp.h (GCPRO6): New macro.
9821
9822 * process.c (Fopen_network_stream): Use GCPRO6.
9823
9824 2002-03-01 Kim F. Storm <storm@cua.dk>
9825
9826 * process.c (Qconnect, Qfailed): New variables.
9827 (syms_of_process): Intern and staticpro them.
9828 (Fprocess_status): Document connect and failed return values.
9829 [NON_BLOCKING_CONNECT]: New conditional.
9830 (connect_wait_mask, num_pending_connects): New variables.
9831 (status_message): Convert Qfailed status.
9832 (Fopen_network_stream): Added support for non-blocking connect.
9833 New optional args: filter, sentinel, non_blocking. Doc updated.
9834 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
9835 (deactivate_process): Handle pending non-blocking connect.
9836 (wait_reading_process_input): Poll for status of non-blocking
9837 connects. Exec sentinel directly when connect succeeds.
9838 (status_notify): Don't read process output if not yet connected.
9839
9840 2002-02-28 Kim F. Storm <storm@cua.dk>
9841
9842 * window.c: (minibuf_selected_window): Renamed from
9843 Vminibuf_selected_window. Users changed.
9844 (syms_of_window): Staticpro it.
9845
9846 2002-02-26 Kim F. Storm <storm@cua.dk>
9847
9848 The following changes add a new Vminibuf_selected_window variable
9849 which is similar to Vminibuf_scroll_window, but which is only set
9850 on entry to the minibuffer (from a non-minibuffer window):
9851
9852 * window.c: (Vminibuf_selected_window): New variable.
9853 (struct save_window_data): New member minibuf_selected_window.
9854 (Fset_window_configuration): Restore Vminibuf_selected_window.
9855 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
9856 Set minibuf_scroll_window member to nil if minibuf_level is 0.
9857 (compare_window_configurations): Compare minibuf_selected_window.
9858
9859 * window.h: (Vminibuf_selected_window): Declare extern.
9860
9861 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
9862 entry to minibuffer or on entry from a non-minibuffer window.
9863
9864 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
9865 Vminibuf_selected_window instead of Vminibuf_scroll_window.
9866
9867 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
9868 instead of Vminibuf_scroll_window when deciding in which window
9869 the region should be highlighted. Consequently, the region remains
9870 highlighteded even when a completion buffer is also displayed.
9871
9872 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
9873
9874 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
9875
9876 * xselect.c (Qcompound_text_with_extensions): Renamed from
9877 Qcompound_text_no_extensions.
9878 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
9879
9880 2002-02-26 Juanma Barranquero <lektu@terra.es>
9881
9882 * w32proc.c (syms_of_ntproc): Doc fix.
9883
9884 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9885
9886 * intervals.h: Include "dispextern.h" unconditionally.
9887
9888 2002-02-24 Jason Rumney <jasonr@gnu.org>
9889
9890 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
9891 and disp-table.elc.
9892 (lisp): Add emacs-lisp/backquote.elc.
9893
9894 2002-02-24 Kim F. Storm <storm@cua.dk>
9895
9896 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
9897 The validation of the event type was too strict as it didn't
9898 allow string events; buffer names are used in bindings for
9899 menu-bar-select-buffer (see `menu-bar-update-buffers').
9900
9901 2002-02-23 Kim F. Storm <storm@cua.dk>
9902
9903 The following changes rework my patch of 2002-02-06 which
9904 added command remapping by entering the commands directly into
9905 the keymaps. Now, command remapping uses an explicit `remap'
9906 prefix in the keymaps, i.e. [remap COMMAND].
9907
9908 * keymap.c (Qremap, remap_command_vector): New variables.
9909 (is_command_symbol): Removed function.
9910 (Fdefine_key): No longer accept a symbol for KEY.
9911 Added validation of [remap COMMAND] argument for KEY.
9912 The DEF is no longer required to be a symbol when remapping a command.
9913 (Fremap_command): New function to remap command through keymaps.
9914 (Flookup_key): Perform command remapping initiated by
9915 Fremap_command directly for speed.
9916 (Fkey_binding): Use Fremap_command for command remapping.
9917 (where_is_internal): Handle new command remapping representation.
9918 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
9919 staticpro them. Defsubr Fremap_command.
9920
9921 * keymap.h (Fremap_command): Declare extern.
9922 (is_command_symbol): Remove extern.
9923
9924 * keyboard.c (command_loop_1): Use Fremap_command for command
9925 remapping; now try command remapping for all symbols.
9926
9927 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
9928
9929 * coding.h (run_pre_post_conversion_on_str): Add prototype.
9930
9931 2002-02-23 Jason Rumney <jasonr@gnu.org>
9932
9933 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
9934 on the string before encoding it.
9935 (Fw32_get_clipboard_data): Run post-read-conversion on the string
9936 after decoding it.
9937
9938 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
9939
9940 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9941
9942 * w32term.c (enter_timestamp): Remove unused static variable to
9943 prevent warning.
9944
9945 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
9946
9947 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
9948
9949 * w16select.c (Fw16_get_clipboard_data): Fix last change.
9950
9951 * xselect.c (selection_data_to_lisp_data): Fix last change.
9952
9953 2002-02-22 Jason Rumney <jasonr@gnu.org>
9954
9955 * w32term.h (struct w32_output): New member menu_command_in_progress.
9956
9957 * w32menu.c (menubar_selection_callback): Free the menu and
9958 clear the menu_command_in_progress flag.
9959
9960 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
9961 (menu_free_timer): New variable.
9962 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
9963 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
9964 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
9965 menu command is in progress.
9966 <WM_COMMAND>: Set the menu_command_in_progress flag.
9967 Kill any menu_free_timer that is running.
9968
9969 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
9970 Call ExtTextOutA rather than ExtTextOut.
9971
9972 2002-02-22 Eli Zaretskii <eliz@gnu.org>
9973
9974 * puresize.h (BASE_PURESIZE): Increase to 755000.
9975
9976 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
9977
9978 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
9979 on the string before encoding it.
9980 (Fw16_get_clipboard_data): Run post-read-conversion on the string
9981 after decoding it.
9982
9983 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
9984
9985 Support for ICCCM Extended Segments in X selections:
9986
9987 * xselect.c <Qcompound_text_no_extensions>: New variable.
9988 (syms_of_xselect): Intern and staticpro it.
9989 (selection_data_to_lisp_data): Run post-read-conversion on decoded
9990 selection text.
9991 (lisp_data_to_selection_data): If next-selection-coding-system is
9992 compound-text-no-extensions, set the type of selection to be
9993 compound-text.
9994
9995 * xterm.h (x_encode_text): Update prototype.
9996
9997 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
9998 callers changed. If SELECTIONP is non-zero, run the
9999 pre-write-conversion function before encoding the selection text.
10000
10001 2002-02-21 Kim F. Storm <storm@cua.dk>
10002
10003 * frame.c (syms_of_frame): Change mouse-highlight default to t.
10004
10005 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
10006 Correct composing of language-change event.
10007
10008 2002-02-20 Kim F. Storm <storm@cua.dk>
10009
10010 * keyboard.c (menu_bar_items): Don't include keymap or local-map
10011 bindings at PT when building menu (the menu is not updated often
10012 enough for this to work reliable).
10013 (tool_bar_items): Likewise.
10014 (current_active_maps): Removed unused (and buggy) function.
10015
10016 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10017
10018 * xfns.c (gif_load): Use correct width and height for GIF images.
10019
10020 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
10021
10022 * floatfns.c (Fatan): Accept an optional second arg and call
10023 atan2 if passed 2 args.
10024
10025 2002-02-18 Jason Rumney <jasonr@gnu.org>
10026
10027 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
10028
10029 2002-02-17 Jason Rumney <jasonr@gnu.org>
10030
10031 * w32term.c (x_autoselect_window_p): New variable.
10032 (syms_of_w32term): DEFVAR_BOOL and initialize it.
10033 (note_mouse_movement): Use it.
10034
10035 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
10036
10037 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
10038
10039 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
10040 New variables.
10041 (syms_of_w32fns): Intern and staticpro them.
10042 (x_frame_parms) <"fullscreen">: New parameter.
10043 (x_fullscreen_move, x_set_fullscreen): New functions.
10044 (x_set_frame_parameters): Support Qfullscreen.
10045 (x_real_positions): Save x/y_pixels_diff frame params.
10046 (x_figure_window_size): Support full-screen frames.
10047 (Fx_create_frame): Default the fullscreen parameter.
10048
10049 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
10050 (x_fullscreen_adjust): New functions.
10051 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
10052 fullscreen. Call x_check_fullscreen_move, and set the
10053 want_fullscreen member of output_data.w32
10054 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
10055
10056 * w32term.h: New enum for FULLSCREEN_* constants.
10057 (struct w32_output): New members want_fullscreen, x_pixels_diff,
10058 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
10059 (x-fullscreen-adjust): New prototype.
10060
10061 2002-02-17 Kim F. Storm <storm@cua.dk>
10062
10063 * frame.c: (Vmouse_highlight): New variable.
10064 (syms_of_frame): DEFVAR_LISP it.
10065
10066 * frame.h: (Vmouse_highlight): Declare extern.
10067
10068 * xterm.h (struct x_display_info): Add mouse_face_hidden.
10069
10070 * xterm.c (disable_mouse_highlight): Removed variable.
10071 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
10072 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
10073 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
10074 and on after keyboard input.
10075 (x_term_init): Initialize mouse_face_hidden.
10076
10077 * msdos.h (struct display_info): Add mouse_face_hidden.
10078
10079 * msdos.c (disable_mouse_highlight): Removed variable.
10080 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
10081 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
10082 (internal_terminal_init): Initialize mouse_face_hidden.
10083 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
10084 and on after keyboard input.
10085
10086 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
10087
10088 * w32term.c (disable_mouse_highlight): Removed variable.
10089 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
10090 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
10091 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
10092 and on after keyboard input.
10093 (w32_initialize_display_info): Initialize mouse_face_hidden.
10094
10095 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
10096
10097 * msdos.c (last_mouse_window): New variable.
10098 (dos_rawgetc): Fix last change--if the mouse is in the same window
10099 as recorded in last_mouse_window, don't select this window.
10100
10101 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
10102
10103 * msdos.c (x_autoselect_window_p): New variable.
10104 (syms_of_msdos): Defvar it.
10105 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
10106 which the last mouse movement occured, unless it is already selected.
10107
10108 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
10109 New variables.
10110 (syms_of_xdisp): DEVFAR them.
10111 (hscroll_window_tree): Use automatic_hscroll_margin and
10112 Vautomatic_hscroll_step to compute the amount of window scrolling.
10113
10114 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10115
10116 * xterm.c (x-autoselect-window): New variable.
10117 (note_mouse_movement): Use it.
10118
10119 * keyboard.c: Do not include "systime.h" twice.
10120
10121 2002-02-15 Andreas Schwab <schwab@suse.de>
10122
10123 * puresize.h (BASE_PURESIZE): Increase to 9/5.
10124
10125 * alloc.c (NSTATICS): Increase to 1280.
10126
10127 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
10128
10129 * alloc.c (NSTATICS): Bump to 1026.
10130
10131 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
10132 (Vx_super_keysym): New variables.
10133 (syms_of_xterm): DEFVAR_LISP them.
10134 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
10135 variables to determine which keys to use for the various modifiers.
10136
10137 2002-02-13 Kim F. Storm <storm@cua.dk>
10138
10139 * window.c: (Vmode_line_in_non_selected_windows): Removed.
10140 (mode_line_in_non_selected_windows): New variable.
10141 (syms_of_window): DEFVAR_BOOL it.
10142
10143 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
10144 Use mode_line_in_non_selected_windows.
10145 (mode_line_in_non_selected_windows): Declare extern.
10146 (Vmode_line_in_non_selected_windows): Removed extern.
10147
10148 2002-02-13 Richard M. Stallman <rms@gnu.org>
10149
10150 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
10151 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
10152 (Fclear_this_command_keys): Doc fixes.
10153
10154 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
10155 (update_face_from_frame_parameter): Increment face_change_count
10156 and windows_or_buffers_changed to force redisplay using changed faces.
10157
10158 * xdisp.c (QCpropertize): New variable.
10159 (mode_line_proptrans_alist): New variable.
10160 (display_mode_element): New arg PROPS; all calls changed.
10161 Implement this, for strings.
10162 Handle literal output of strings by sharing the
10163 main-line code for strings, using local var `literal'.
10164 Handle :propertize feature.
10165 (syms_of_xdisp): Initialze and staticpro QCpropertize and
10166 mode_line_proptrans_alist.
10167
10168 2002-02-11 Kim F. Storm <storm@cua.dk>
10169
10170 * window.c: (Vmode_line_in_non_selected_windows): New variable.
10171 (syms_of_window): DEFVAR_LISP it.
10172
10173 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
10174 (CURRENT_MODE_LINE_FACE_ID): Use it.
10175 (Vmode_line_in_non_selected_windows): Declare extern.
10176
10177 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
10178 to get mode line face.
10179
10180 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
10181
10182 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
10183 variables; cus-start.el doesn't need them anymore.
10184
10185 2002-02-09 Kim F. Storm <storm@cua.dk>
10186
10187 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
10188 reduction. This fixes a display problem where stray newlines were
10189 inserted in the window (corrected by C-l). Clarified code (IMHO).
10190
10191 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
10192
10193 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
10194
10195 * xdisp.c (display_mode_lines): Fix last change.
10196
10197 2002-02-09 Jason Rumney <jasonr@gnu.org>
10198
10199 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
10200 match each other.
10201 (w32_load_system_font): Prevent Cleartype fonts from loading.
10202 (Fx_show_tip): Ensure tip frames are above other topmost windows.
10203
10204 2002-02-09 Kim F. Storm <storm@cua.dk>
10205
10206 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
10207 (CURRENT_MODE_LINE_HEIGHT): Use it.
10208 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
10209
10210 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
10211 (pos_visible_p, handle_face_prop): Likewise.
10212 (display_mode_lines): Likewise, but for the real selected window.
10213 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
10214
10215 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
10216 in non-selected windows.
10217 (realize_basic_faces): Realize it.
10218 (syms_of_term): Intern and staticpro it.
10219
10220 2002-02-08 Kim F. Storm <storm@cua.dk>
10221
10222 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
10223 Changed mail addresses to emacs-devel@gnu.org.
10224
10225 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
10226
10227 * fileio.c (Fsubstitute_in_file_name): If the file name includes
10228 ~user, and there's no such user, don't discard everything before ~user.
10229
10230 * floatfns.c (Fround): Doc fix.
10231
10232 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10233
10234 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
10235
10236 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
10237
10238 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
10239
10240 2002-02-07 Kim F. Storm <storm@cua.dk>
10241
10242 * keymap.c (where_is_internal): Only check whether definition is
10243 remapped if it fulfills is_command_symbol.
10244
10245 2002-02-07 Andreas Schwab <schwab@suse.de>
10246
10247 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
10248
10249 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
10250
10251 2002-02-06 Kim F. Storm <storm@cua.dk>
10252
10253 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
10254 defining command remapping. Doc updated.
10255 (Flookup_key): Remap command through keymap if KEY is a symbol.
10256 (is_command_symbol): New function.
10257 (Fkey_binding): Use it. New optional argument NO-REMAP.
10258 Doc updated. Callers changed. Perform command remapping via
10259 recursive call unless that arg is non-nil.
10260 (where_is_internal): New argument no_remap. Callers changed.
10261 Call recursively to find original key bindings for a remapped
10262 comand unless that arg is non-nil.
10263 (Fwhere_is_internal): New optional argument NO-REMAP.
10264 Doc updated. Callers changed. Pass arg to where_is_internal.
10265
10266 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
10267 (is_command_symbol): Added prototype.
10268
10269 * keyboard.c (Vthis_original_command): New variable.
10270 (syms_of_keyboard): DEFVAR_LISP it.
10271 (command_loop_1): Set it, and perform command remapping.
10272
10273 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10274
10275 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
10276
10277 2002-02-06 Jason Rumney <jasonr@gnu.org>
10278
10279 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
10280
10281 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
10282
10283 * charset.c (get_charset_id): Use if-else instead of ?:.
10284
10285 2002-02-06 Richard M. Stallman <rms@gnu.org>
10286
10287 * filelock.c (S_ISLNK): Define if not defined.
10288
10289 2002-02-03 Richard M. Stallman <rms@gnu.org>
10290
10291 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
10292
10293 * lread.c (read1): Redesign strategy for force_multibyte and
10294 force_singlebyte. Now is_multibyte records whether read_buffer
10295 is multibyte. Encountering any multibyte character makes it so.
10296
10297 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
10298
10299 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
10300 with the same sequence, map that sequence to f10 rather than f0.
10301
10302 2002-02-03 Andreas Schwab <schwab@suse.de>
10303
10304 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
10305 latter never being defined on GNU/Linux.
10306
10307 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
10308
10309 * xfaces.c (realize_default_face): Don't set the weight and slant of
10310 the default face to Qnormal, unless these attributes are unspecified.
10311
10312 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10313
10314 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
10315 Call cancel_hourglass unconditionally.
10316
10317 * eval.c (Fsignal): Remove duplicated declaration of
10318 the variable `display_hourglass_p'.
10319
10320 2002-01-31 Richard M. Stallman <rms@gnu.org>
10321
10322 * editfns.c (region_limit): Nicer error message.
10323
10324 * coding.c (decode_composition_emacs_mule):
10325 Give up if NCOMPONENT gets too large to index `component'.
10326
10327 * callint.c (check_mark): New arg to specify clearer error message.
10328 Callers changed.
10329
10330 2002-01-27 Richard M. Stallman <rms@gnu.org>
10331
10332 * minibuf.c (Fcompleting_read): Doc fix.
10333
10334 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10335
10336 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
10337 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
10338 Fix doc-strings.
10339
10340 2002-01-26 Richard M. Stallman <rms@gnu.org>
10341
10342 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
10343
10344 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
10345 and scroll_up_aggressively.
10346
10347 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10348
10349 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
10350
10351 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
10352
10353 * textprop.c (Fnext_property_change, Fnext_single_property_change)
10354 (Fprevious_property_change, Fprevious_single_property_change):
10355 Stay within the narrowed-buffer boundaries.
10356
10357 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
10358
10359 * term.c (Ftty_display_color_cells): New function.
10360 (syms_of_term): Defsubr it.
10361 (Ftty_display_color_cells, Ftty_display_color_p): Change the
10362 argument name to DISPLAY. Doc fix.
10363
10364 * dispextern.h: Add prototype for set_tty_color_mode and
10365 tty_setup_colors.
10366
10367 2002-01-24 Jason Rumney <jasonr@gnu.org>
10368
10369 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
10370 If region left to draw is not what was expected, mark the frame as
10371 garbaged.
10372
10373 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
10374 Combine the regions returned by BeginPaint and GetUpdateRect.
10375
10376 2002-01-23 Jason Rumney <jasonr@gnu.org>
10377
10378 * w32term.c (x_update_window_begin): Only hide caret if
10379 w32_use_visible_system_caret is set.
10380 (x_update_window_end): Only show caret if
10381 w32_use_visible_system_caret is set.
10382 (syms_of_w32term): Handle SystemParametersInfo call failing.
10383
10384 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
10385
10386 2002-01-22 Richard M. Stallman <rms@gnu.org>
10387
10388 * unexelf.c (unexec): Define n so as to cause compilation error
10389 for the code where people have often written n instead of nn.
10390
10391 * .gdbinit (hookpost-run): Defined.
10392
10393 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10394
10395 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
10396
10397 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10398
10399 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
10400 if fullscreen is being set.
10401
10402 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10403
10404 * minibuf.c (Fminibuffer_contents)
10405 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
10406 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
10407
10408 2002-01-21 Richard M. Stallman <rms@gnu.org>
10409
10410 * window.c (check_frame_size): Fix minimum height calculation.
10411
10412 2002-01-20 Ken Raeburn <raeburn@gnu.org>
10413
10414 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
10415 height before comparison.
10416 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
10417
10418 2002-01-20 Jason Rumney <jasonr@gnu.org>
10419
10420 * w32term.c (w32_system_caret_width): Remove.
10421 (w32_use_visible_system_caret): New user flag.
10422 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
10423 Windows reports a screen reader running.
10424 (x_update_window_begin): Hide the system caret.
10425 (x_update_window_end): Show the system caret.
10426 (x_display_and_set_cursor): Don't draw a cursor when
10427 w32_use_visible_system_caret is set. Do not adjust width.
10428
10429 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
10430 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
10431 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
10432 the user requests it. Use system default width when creating.
10433 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
10434
10435 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
10436 New window messages.
10437
10438 2002-01-20 Richard M. Stallman <rms@gnu.org>
10439
10440 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
10441
10442 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10443
10444 * doprnt.c (doprnt1): Fix typos in error call.
10445
10446 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
10447
10448 * unexelf.c (unexec) [__sgi]: Support the .got sections.
10449
10450 2002-01-20 Jason Rumney <jasonr@gnu.org>
10451
10452 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
10453 that Windows returns. If a double check fails, try to guess how
10454 ExtTextOut is going to act.
10455
10456 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
10457 in place of stricmp.
10458 (w32_list_synthesized_fonts): Removed.
10459 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
10460 (struct enumfont_t): New element; list.
10461 (enum_font_cb2): List all style and charset variations of a font.
10462 (Fw32_select_font): New optional argument; include_proportional.
10463 Exclude vertical fonts. Exclude proportional fonts unless
10464 include_proportional is non-nil.
10465 (w32_enable_synthesized_fonts): Change to a boolean.
10466 (Fw32_send_sys_command): Doc fix.
10467
10468 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10469
10470 * dispnew.c (update_frame): Move the variable `tem' to the block
10471 where it is used.
10472
10473 2002-01-19 Jason Rumney <jasonr@gnu.org>
10474
10475 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
10476 call to face-set-after-frame-default.
10477
10478 2002-01-18 Richard M. Stallman <rms@gnu.org>
10479
10480 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
10481 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
10482
10483 2002-01-17 Richard M. Stallman <rms@gnu.org>
10484
10485 * window.c (enlarge_window): When exceeding size of parent,
10486 directly delete all the siblings instead of trying to resize it.
10487
10488 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10489
10490 * term.c (set_tty_color_mode): Remove unused variable `tem'.
10491
10492 2002-01-16 Henrik Enberg <henrik@enberg.org>
10493
10494 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
10495
10496 2002-01-16 Kim F. Storm <storm@cua.dk>
10497
10498 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
10499 is invisible. This can happen if cursor is on top line of a
10500 window, and we switch to a buffer with a header line.
10501
10502 * w32term.c (x_erase_phys_cursor): Ditto.
10503
10504 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10505
10506 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
10507 `dont_resize' only when used.
10508
10509 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
10510
10511 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
10512
10513 * xdisp.c (display_mode_element): When computing charpos, depend
10514 on multibyteness of elt, not the text in field.
10515
10516 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10517
10518 * buffer.c (Fkill_all_local_variables):
10519 Increment `update_mode_lines' only once.
10520
10521 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10522
10523 * lisp.h (adjust_after_replace_noundo)
10524 (Fupdate_coding_systems_internal): Add prototypes.
10525
10526 * sound.c (Fplay_sound): Initialize header_size also for :data case.
10527
10528 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
10529
10530 Support for the --color command-line argument and tty-color-mode
10531 frame parameter:
10532
10533 * term.c (tty_default_color_capabilities, tty_setup_colors)
10534 (set_tty_color_mode): New functions.
10535 (term_init): Call tty_default_color_capabilities.
10536 (Qtty_color_mode_alist): New variable.
10537 (syms_of_term): Intern and staticpro it.
10538
10539 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
10540 frames.
10541 (do_switch_frame): For termcap frames, switch the tty
10542 color mode as specified by the frame's parameters.
10543 (Qtty_color_mode): New variable.
10544 (syms_of_frame): Intern and staticpro it.
10545
10546 * emacs.c (USAGE2): Add the --color option.
10547 (standard_args): Ditto.
10548
10549 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10550
10551 * xterm.h (struct x_output): New members want_fullscreen,
10552 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
10553 y_pixels_outer_diff.
10554 New enum for FULLSCREEN_* constants.
10555 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
10556 is NULL.
10557 (x_fullscreen_adjust): Add prototype.
10558
10559 * emacs.c (USAGE2): Add the new full-screen arguments.
10560 (standard_args): Ditto.
10561
10562 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
10563 New variables.
10564 (syms_of_xfns): Intern and staticpro them.
10565 (x_frame_parms) <"fullscreen">: New parameter.
10566 (x_fullscreen_move, x_set_fullscreen): New functions.
10567 (x_set_frame_parameters): Support for Qfullscreen.
10568 (x_real_positions): More accurate computation of the frame position.
10569 (x_figure_window_size): Support full-screen frames.
10570 (Fx_create_frame): Default the fullscreen parameter.
10571
10572 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
10573 (XTread_socket) <Expose>: Call x_check_fullscreen.
10574 <ConfigureNotify>: Don't resize to fullscreen.
10575 Call x_check_fullscreen_move, and set the want_fullscreen member of
10576 output_data.x.
10577
10578 2002-01-13 Jason Rumney <jasonr@gnu.org>
10579
10580 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
10581 for mice with more than 3 buttons.
10582
10583 * w32term.c (parse_button): New parameter xbutton. Callers changed.
10584 (w32_read_socket): Handle new "XBUTTON" messages.
10585
10586 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
10587 (syms_of_w32fns): DEFVAR_BOOL it.
10588 (w32_wnd_proc): Handle new "XBUTTON" messages.
10589
10590 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10591
10592 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
10593
10594 2002-01-13 Andreas Schwab <schwab@suse.de>
10595
10596 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
10597
10598 2002-01-12 Andreas Schwab <schwab@suse.de>
10599
10600 * .gdbinit (xbuffer): Remove address operator since data is now a
10601 pointer.
10602
10603 2002-01-11 Richard M. Stallman <rms@gnu.org>
10604
10605 * insdel.c (adjust_after_replace_noundo): New function.
10606
10607 * coding.c (code_convert_region): Don't copy old text if undo disabled.
10608
10609 2002-01-09 Jason Rumney <jasonr@gnu.org>
10610
10611 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
10612 when checking for multiple frames.
10613
10614 2002-01-08 Richard M. Stallman <rms@gnu.org>
10615
10616 * window.c (delete_window): Rewrite the code for changing the
10617 selected window to handle the case where WINDOW is not a leaf.
10618
10619 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
10620
10621 * process.c (send_process): Set src_multibyte to 1 after the call
10622 top setup_coding_system, not before the call.
10623
10624 2002-01-07 Jason Rumney <jasonr@gnu.org>
10625
10626 * xmenu.c (set_frame_menubar, xmenu_show):
10627 (xdialog_show): Initialize wv->help to Qnil.
10628
10629 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
10630 (w32_dialog_show): Initialize wv->help to Qnil.
10631
10632 2002-01-06 Jason Rumney <jasonr@gnu.org>
10633
10634 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
10635
10636 * w32menu.c (w32_menu_display_help): Revert last change.
10637
10638 * xmenu.c (menu_highlight_callback): Revert last change.
10639
10640 2002-01-06 Andreas Schwab <schwab@suse.de>
10641
10642 * insdel.c (make_gap_larger): Make sure buffer size does not
10643 overflow range of int.
10644
10645 2002-01-05 Jason Rumney <jasonr@gnu.org>
10646
10647 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
10648 OVERLAPS_P.
10649
10650 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
10651
10652 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
10653 to the left or to the right of the pointer, put it against
10654 the left screen edge.
10655 (x_frame_parms): Add missing braces around initializer.
10656
10657 * w32term.c (x_setup_relief_colors): Don't compute an image's
10658 background color if it doesn't have a Pixmap.
10659 (notice_overwritten_cursor): Don't depend on
10660 output_cursor and updated_area. Compare pixel coordinates with
10661 window's cursor pixel coordinates.
10662 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
10663 Call notice_overwritten_cursor with new arg list.
10664 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
10665 unconditionally.
10666 (x_draw_image_relief): Use predefined macro instead of
10667 constant when the value of `tool_bar_button_relief' is negative.
10668
10669 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
10670
10671 2002-01-04 Richard M. Stallman <rms@gnu.org>
10672
10673 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
10674
10675 2002-01-03 Richard M. Stallman <rms@gnu.org>
10676
10677 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
10678 (Fkey_binding): Try the `keymap' property map first.
10679 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
10680 minor mode bindings.
10681
10682 2002-01-03 Kim F. Storm <storm@cua.dk>
10683
10684 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
10685
10686 2002-01-02 Richard M. Stallman <rms@gnu.org>
10687
10688 * keyboard.c (read_key_sequence): Handle the keymap property
10689 before minor mode maps.
10690
10691 * editfns.c (Fformat): Update thissize from field_width
10692 based on the actual width, in the string case.
10693
10694 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10695
10696 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
10697 when used as truth value to prevent gcc warnings.
10698
10699 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
10700 * w32proc.c: Include <config.h>.
10701
10702 2002-01-01 Andreas Schwab <schwab@suse.de>
10703
10704 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
10705 not EMACS_INT, to make them compatible with DEFVAR_INT.
10706 * lisp.h (max_specpdl_size): Adjust declaration.
10707
10708 2002-01-01 Richard M. Stallman <rms@gnu.org>
10709
10710 * print.c (print_object): Test print_escape_nonascii only for
10711 unibyte strings.
10712 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
10713 when outputting to a multibyte buffer.
10714
10715 2001-12-29 Richard M. Stallman <rms@gnu.org>
10716
10717 * print.c (print_object): In multibyte string, use hex escapes.
10718 Use octal only for unibyte strings.
10719 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
10720
10721 * lread.c (read_escape): New arg BYTEREP for reporting whether
10722 escape forces unibyte or multibyte.
10723 (read1): When reading a string, take note of that info.
10724
10725 2001-12-29 Ken Raeburn <raeburn@gnu.org>
10726
10727 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
10728 comparison to test lisp value returned by Fget.
10729
10730 2001-12-29 Richard M. Stallman <rms@gnu.org>
10731
10732 * lisp.h (max_specpdl_size): Add declaration.
10733
10734 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
10735
10736 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
10737 Handle modifier bits. Correct typo in error message.
10738
10739 2001-12-28 Richard M. Stallman <rms@gnu.org>
10740
10741 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
10742 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
10743 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
10744 Update calls to Fdefine_abbrev.
10745 (write_abbrev): Update for changed data format.
10746 Don't list "system" abbrevs.
10747 (Fexpand_abbrev): Update use count with new data format.
10748 (describe_abbrev): Update for changed data format.
10749 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
10750
10751 * config.in (HAVE_MBSINIT): Add #undef.
10752
10753 * strftime.c (mbsinit): Define as no-op if not available.
10754
10755 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
10756 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
10757
10758 * keymap.c (Flookup_key): Error message if key has wrong data type.
10759 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
10760 (exclude_key): New variable.
10761
10762 2001-12-28 Gerd Moellmann <gerd@gnu.org>
10763
10764 * xterm.c (x_setup_relief_colors): Don't compute an image's
10765 background color if it doesn't have a Pixmap.
10766
10767 * xterm.c (notice_overwritten_cursor): Don't depend on
10768 output_cursor and updated_area. Compare pixel coordinates with
10769 window's cursor pixel coordinates.
10770 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
10771 Call notice_overwritten_cursor with new arg list.
10772 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
10773 unconditionally.
10774
10775 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
10776 height of the cursor line to the amount to scroll.
10777
10778 2001-12-27 Richard M. Stallman <rms@gnu.org>
10779
10780 * intervals.c (set_point_both): The position after an invisible,
10781 intangible character is not an acceptable stopping point.
10782
10783 2001-12-27 Ken Raeburn <raeburn@gnu.org>
10784
10785 * window.c (enlarge_window): In new preserve_before code, convert
10786 CURBEG from lisp object to integer before doing arithmetic.
10787
10788 2001-12-27 Richard M. Stallman <rms@gnu.org>
10789
10790 * bytecode.c (Fbyte_code): Undo previous change.
10791
10792 2001-12-26 Kim F. Storm <storm@cua.dk>
10793
10794 * keyboard.c (record_char): Ignore duplicate help-echo events only
10795 separated by mouse-movement. When tracking mouse, only record
10796 first and last mouse-movement event in same window.
10797 Don't record mouse-movement events in keyboard macros.
10798
10799 2001-12-25 Richard M. Stallman <rms@gnu.org>
10800
10801 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
10802 (Fenlarge_window): New arg PRESERVE_BEFORE.
10803
10804 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
10805 instead of Fstring_as_unibyte.
10806
10807 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10808
10809 The following changes remove mocklisp support:
10810
10811 * mocklisp.h, mocklisp.c: Files removed.
10812
10813 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
10814 `Qmocklisp' and `Qmocklisp_arguments'.
10815 Remove prototype of syms_of_mocklisp.
10816
10817 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
10818
10819 * callint.c: Do not include mocklisp.h.
10820 (Fcall_interactively): Do not test for mocklisp case.
10821
10822 * eval.c: Remove variables `Qmocklisp_arguments',
10823 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
10824 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
10825 Do not test for mocklisp case.
10826 (Fwhile): Remove unused variable `tem'.
10827 (syms_of_eval): Remove variable `moclisp-arguments'.
10828
10829 * data.c (wrong_type_argument): Remove mocklisp case.
10830
10831 * doc.c (Fdocumentation): Remove mocklisp case.
10832
10833 * emacs.c (main): Do not call syms_of_mocklisp.
10834
10835 2001-12-21 Richard M. Stallman <rms@gnu.org>
10836
10837 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
10838 to the left or to the right of the pointer, put it against
10839 the left screen edge.
10840
10841 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
10842
10843 * Makefile.in (distclean): Remove .gdbinit if we are building
10844 outside the source tree.
10845
10846 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
10847
10848 * w32.c (emacs_root_dir): New function.
10849
10850 * msdos.c (emacs_root_dir): New function.
10851
10852 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
10853 of the current drive as the fallback for default_directory.
10854
10855 * dired.c (file_name_completion): Run the elements of
10856 completion-ignored-extensions through ENCODE_FILE.
10857
10858 * lisp.h (scmp): Remove prototype, since it's now a static
10859 function private to dired.c.
10860
10861 2001-12-18 Richard M. Stallman <rms@gnu.org>
10862
10863 * dired.c (scmp): Function moved from minibuf.c.
10864 Delete multibyte handling--used only on encoded strings.
10865
10866 * minibuf.c (scmp): Function moved to dired.c.
10867
10868 * fns.c (merge): Add QUIT call.
10869
10870 2001-12-18 Dave Love <fx@gnu.org>
10871
10872 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
10873 language/georgian.el.
10874
10875 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
10876
10877 * Makefile.in (lisp, shortlisp): Synchronize with changes to
10878 lisp/Makefile.in:DONTCOMPILE.
10879
10880 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10881
10882 * xdisp.c (window_box_height): Do not return negative values.
10883 From Gerd Moellmann <gerd@gnu.org>.
10884
10885 * keyboard.c (head_table): Add missing braces around initializer.
10886
10887 * term.c (keys): Likewise.
10888
10889 * xfns.c (x_frame_parms, visual_classes): Likewise.
10890
10891 2001-12-17 Sam Steingold <sds@gnu.org>
10892
10893 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
10894 patch (COMPOSING_P, not COMPOSING).
10895
10896 2001-12-17 Richard M. Stallman <rms@gnu.org>
10897
10898 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
10899
10900 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
10901 before calling decode_coding.
10902
10903 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
10904
10905 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
10906 instead of only for COMPOSITION_DISABLED.
10907
10908 2001-12-16 Richard M. Stallman <rms@gnu.org>
10909
10910 * alloc.c (pure_alloc): After overflow, allocate just a small block.
10911
10912 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
10913
10914 * buffer.h (struct buffer): New field `display_error_modiff'.
10915 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
10916
10917 * window.c (Frecenter): Clear display_error_modiff field.
10918
10919 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
10920 Call redisplay_window, but not if display_error_modiff field says no.
10921 (redisplay_window_error): New function.
10922 (displayed_buffer): New variable.
10923 (redisplay_internal, redisplay_windows): Call the new functions
10924 instead of redisplay_window directly.
10925
10926 2001-12-15 Richard M. Stallman <rms@gnu.org>
10927
10928 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
10929
10930 2001-12-14 Andrew Innes <andrewi@gnu.org>
10931
10932 * makefile.w32-in (EMACSLOADPATH): Define.
10933 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
10934 (bootstrap-temacs): Remove dependency on bootstrap-clean.
10935
10936 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
10937
10938 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
10939 parameter have a numeric value all the time.
10940
10941 * w32fns.c (x_report_frame_params): Likewise.
10942
10943 2001-12-12 Richard M. Stallman <rms@gnu.org>
10944
10945 * fileio.c (Fwrite_region): Doc fix.
10946
10947 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
10948 (redisplay_internal): Call clear_image_cache only for window terminals.
10949
10950 2001-12-12 Gerd Moellmann <gerd@gnu.org>
10951
10952 * xdisp.c (move_it_vertically_backward): Change heuristic
10953 for the case that we didn't move far enough initially.
10954
10955 * window.c (Frecenter): Simplify computation in the case of window
10956 system frames and ARG < 0; use window_box_height.
10957
10958 2001-12-11 Richard M. Stallman <rms@gnu.org>
10959
10960 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
10961 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
10962
10963 2001-12-11 Andrew Innes <andrewi@gnu.org>
10964
10965 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
10966 arg is negative.
10967
10968 2001-12-11 Richard M. Stallman <rms@gnu.org>
10969
10970 * m/hp800.h: Split the __hpux conditional into the parts
10971 that are right for GNU/Linux too and the parts that are not.
10972 Use the former if GNU_LINUX.
10973 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
10974
10975 * s/gnu-linux.h (GNU_LINUX): Defined.
10976
10977 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10978
10979 * macros.c, msdos.c, w16select.c: Change doc-string comments to
10980 `new style' [w/`doc:' keyword].
10981
10982 2001-12-10 Jason Rumney <jasonr@gnu.org>
10983
10984 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
10985 before using.
10986
10987 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10988
10989 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
10990 keyword].
10991
10992 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
10993
10994 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
10995
10996 * s/hpux10.h (srand48): Don't undefine.
10997
10998 2001-12-09 Jason Rumney <jasonr@gnu.org>
10999
11000 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
11001 Add comment to explain where the struct came from.
11002 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
11003 (add_menu_item): Process pop-up menus first to avoid memory leak.
11004 (add_menu_item, w32_menu_display_help): Use `help' field as
11005 Lisp_Object.
11006 (w32_free_submenu_strings): Only free owner-drawn strings.
11007
11008 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11009
11010 * COPYING: Moved back.
11011
11012 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
11013 Add parentheses around && within ||.
11014
11015 * indent.c (compute_motion): Likewise.
11016
11017 * intervals.c (merge_properties_sticky): Likewise.
11018
11019 * coding.c (setup_coding_system, shrink_encoding_region)
11020 (Fdecode_sjis_char): Likewise.
11021
11022 2001-12-07 Andreas Schwab <schwab@suse.de>
11023
11024 * xdisp.c (display_mode_element): Don't read past end of string if
11025 it ends with '%'.
11026
11027 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
11028 can hold.
11029
11030 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
11031 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
11032 type changed to Lisp_Object.
11033 (syms_of_data): DEFVAR_LISP them.
11034
11035 2001-12-07 Richard M. Stallman <rms@gnu.org>
11036
11037 * callproc.c (init_callproc): Set Vdata_directory based on the source
11038 location whenever Emacs was run uninstalled.
11039
11040 2001-12-06 Paul Eggert <eggert@twinsun.com>
11041
11042 * config.in (HAVE_WORKING_VFORK): New #undefs.
11043 * process.c (create_process):
11044 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
11045 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
11046 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
11047 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
11048 * m/intel386.h (HAVE_VFORK): Likewise.
11049 * m/mips-siemens.h (HAVE_VFORK): Likewise.
11050 * m/mips.h (HAVE_VFORK): Likewise.
11051 * s/freebsd.h (vfork): Remove #define.
11052 * s/lynxos.h (HAVE_VFORK): Remove #undef.
11053 * s/usg5-4-2.h: Fix comment about vfork.
11054
11055 2001-12-06 Richard M. Stallman <rms@gnu.org>
11056
11057 * s/hpux10.h (random): Add undef.
11058 (HAVE_RANDOM): Define it just once.
11059
11060 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
11061
11062 * eval.c: Undo last change: the standard syntax is not wanted.
11063
11064 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
11065
11066 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
11067 scroll bars of the frame before deleting the frame itself. If the
11068 frame has a widget, delete the frame with XtDestroyWidget, and do
11069 not call XDestroyWindow before that.
11070
11071 2001-12-06 Kim F. Storm <storm@cua.dk>
11072
11073 * xfns.c (x_report_frame_params): Return actual fringe widths.
11074
11075 * w32fns.c (x_report_frame_params): Return actual fringe widths.
11076
11077 2001-12-05 Andrew Innes <andrewi@gnu.org>
11078
11079 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
11080 excessively large.
11081
11082 * insdel.c (make_gap_larger): New function.
11083 (make_gap_smaller): New function.
11084 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
11085 Call make_gap_smaller if arg is negative.
11086
11087 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
11088
11089 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
11090 Pass a dummy argument when calling interrupt_signal.
11091 (parse_menu_item): Mark disabled items before checking for empty def.
11092 (read_char_minibuf_menu_prompt): Make safety more visible.
11093 (read_key_sequence): Add a `first_unbound' variable.
11094 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
11095 unbound prefix as soon as we can detect it.
11096
11097 * doc.c (Fsnarf_documentation): Add prototype.
11098 (get_doc_string): Handle negative arguments.
11099 (Fdocumentation): Use AREF and ASIZE.
11100 Move the calls to get_doc_string to a single place.
11101 Don't confuse an interactive-spec for a docstring reference.
11102 (Fdocumentation_property): Take advantage of the fact that
11103 get_doc_string now ignores the sign of the docstring position.
11104
11105 * eval.c: Use standard syntax for usage in docstrings.
11106
11107 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11108
11109 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
11110
11111 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11112
11113 * xterm.c (x_draw_image_relief): Use predefined macro instead of
11114 constant when the value of `tool_bar_button_relief' is negative.
11115
11116 2001-12-02 Richard M. Stallman <rms@gnu.org>
11117
11118 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
11119 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
11120
11121 * fileio.c (read_non_regular): Delete Fsignal call.
11122
11123 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
11124
11125 * lisp.h (run_hook_list_with_args): Undo last change.
11126
11127 2001-12-01 Gerd Moellmann <gerd@gnu.org>
11128
11129 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
11130
11131 2001-12-01 Jason Rumney <jasonr@gnu.org>
11132
11133 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
11134
11135 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
11136 [!WM_MOUSELEAVE]: Define.
11137
11138 * w32menu.c (current_popup_menu, get_menu_item_info):
11139 (set_menu_item_info): New vars.
11140 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
11141 (w32_menu_show): Set current_popup_menu.
11142 (add_menu_item): Allocate new strings for owner-drawn menu items
11143 and help strings.
11144 Use owner-draw for disabled menu items again.
11145 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
11146 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
11147
11148 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
11149 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
11150 <WM_EXITMENULOOP>: Free menu strings.
11151 <WM_MOUSELEAVE>: Stop tracking mouse.
11152 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
11153
11154 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
11155 and mouse face.
11156
11157 2001-12-01 Kim F. Storm <storm@cua.dk>
11158
11159 The following changes add left-fringe and right-fringe
11160 frame parameters to adjust fringe widths, or remove one or
11161 both fringes.
11162
11163 * frame.h (struct frame): Remove trunc_area_pixel_width and
11164 trunc_area_cols fields.
11165 (Qleft_fringe, Qright_fringe): Declare.
11166 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
11167
11168 * frame.c (Qleft_fringe, Qright_fringe): New vars.
11169 (syms_of_frame): Initialize them.
11170
11171 * window.c (coordinates_in_window): Handle separate left and right
11172 fringe widths.
11173
11174 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
11175 and fringe_cols fields.
11176 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
11177 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
11178 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
11179 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
11180 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
11181 (x_compute_fringe_widths): Add prototype.
11182
11183 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
11184 fill fringe evenly with small dashes.
11185 (x_draw_fringe_bitmap): Clear background if necessary. Align and
11186 clip the new ZV bitmap to avoid jitter between rows.
11187 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
11188 background. Don't draw fringe bitmaps if fringe width is zero.
11189 (x_compute_fringe_widths): New function.
11190 (x_new_font, x_set_window_size_1): Use it.
11191
11192 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
11193 (x_set_frame_parameters): Process `font' parameter before other
11194 parameters as fringe widths depend on it.
11195 (x_set_fringe_width): New function.
11196 (x_figure_window_size): Use x_compute_fringe_widths.
11197 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
11198 parameters.
11199
11200 * widget.c (set_frame_size): Use x_compute_fringe_widths.
11201 (EmacsFrameSetCharSize): Ditto.
11202
11203 * w32term.h: Merged changes from xterm.h.
11204 * w32term.c: Merged changes from xterm.c.
11205 * w32fns.c: Merged changes from xfns.c.
11206
11207 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11208
11209 * COPYING: Removed.
11210
11211 2001-11-29 Dave Love <fx@gnu.org>
11212
11213 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
11214 extra extra slot.
11215 (detect_coding_mask): Fix call of detect_coding_iso2022.
11216
11217 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11218
11219 * fileio.c (file-name-coding-system)
11220 (default-file-name-coding-system): Doc fix (links to referenced
11221 variables added).
11222
11223 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
11224
11225 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
11226 Add dummy uses of gcproN variables.
11227
11228 * category.c (describe_category, describe_category_1)
11229 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
11230 (syms_of_category): Don't defsubr Sdescribe_categories.
11231
11232 2001-11-28 Richard M. Stallman <rms@gnu.org>
11233
11234 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
11235
11236 * Makefile.in (lispdir): New variable, referring to build dir.
11237 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
11238
11239 2001-11-28 Andrew Innes <andrewi@gnu.org>
11240
11241 * w32menu.c (w32_menu_display_help): Actually add the new argument
11242 OWNER.
11243
11244 2001-11-28 Jason Rumney <jasonr@gnu.org>
11245
11246 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
11247 menu items. From David Ponce <dponce@wanadoo.fr>.
11248 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
11249 conditionally.
11250 (w32_menu_display_help): New argument OWNER. Rewritten to store a
11251 help event in the owner frame's keyboard buffer.
11252
11253 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
11254 (Fx_show_tip): Don't subtract last width from row width.
11255
11256 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
11257 (w32_read_socket): Use EQ to compare frames.
11258
11259 2001-11-28 Gerd Moellmann <gerd@gnu.org>
11260
11261 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
11262 OVERLAPS_P.
11263
11264 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11265
11266 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
11267 `gcpro3' and `gcpro4'.
11268
11269 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
11270
11271 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
11272
11273 * ccl.c: Use AREF and ASIZE.
11274
11275 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
11276
11277 * lisp.h (run_hook_list_with_args): Remove.
11278 (LIST_END_P): Fix call to wrong_type_argument.
11279 (make_fixnum_or_float): Use EMACS_INT rather than int.
11280
11281 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
11282
11283 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
11284 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
11285
11286 * eval.c: Use AREF and ASIZE.
11287 (Ffetch_bytecode): Add the file name to the error message.
11288
11289 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
11290 which match the end of the file-name.
11291 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
11292 is not a valid env var, but leave it as is instead.
11293
11294 * keymap.c (access_keymap): Handle t bindings like nil bindings.
11295 Make nil bindings in char-tables transparent.
11296 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
11297
11298 2001-11-26 Richard M. Stallman <rms@gnu.org>
11299
11300 * textprop.c (set_text_properties_1): Allow START, END in either order.
11301 Do nothing if range is empty.
11302
11303 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
11304
11305 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
11306 (clean): Not here.
11307
11308 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
11309
11310 * textprop.c (set_text_properties_1): Clearly mark that the
11311 interval should not be empty.
11312
11313 * intervals.c (graft_intervals_into_buffer):
11314 Don't call set_text_properties_1 on an empty interval.
11315
11316 2001-11-25 Richard M. Stallman <rms@gnu.org>
11317
11318 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
11319
11320 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
11321 don't lose the data in it.
11322
11323 2001-11-25 Juanma Barranquero <lektu@terra.es>
11324
11325 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
11326
11327 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
11328
11329 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
11330
11331 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
11332
11333 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
11334
11335 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
11336
11337 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
11338 Niemitalo <kon@iki.fi>.
11339
11340 2001-11-25 Jason Rumney <jasonr@gnu.org>
11341
11342 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
11343
11344 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
11345 (Fx_show_tip): Block input during frame creation.
11346 (Fx_show_tip, Fx_hide_tip): Enable.
11347
11348 2001-11-24 Richard M. Stallman <rms@gnu.org>
11349
11350 * lread.c (Fload): Detect recursive load error for more than 3
11351 nestings of the same file.
11352 (Vrecursive_load_depth_limit): Variable deleted.
11353 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
11354
11355 2001-11-24 Jason Rumney <jasonr@gnu.org>
11356
11357 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
11358 mouse position if either left or top is not specified.
11359
11360 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
11361 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
11362 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
11363 (my_create_tip_window): Assign tip_window.
11364 (x_create_tip_frame): Use same defaults as X.
11365 (compute_tip_xy): Remove unused variable. Use full screen width.
11366 (Fx_show_tip): Do not double height. Call ShowWindow directly.
11367
11368 * w32term.c (x_after_update_window_line): Doc fix.
11369 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
11370 frames.
11371 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
11372
11373 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
11374 for all Windowed systems.
11375
11376 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
11377
11378 * msdos.c (IT_clear_screen): If the frame's faces are not yet
11379 realized, use the initial screen colors to clear the screen.
11380
11381 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11382
11383 * textprop.c (Fset_text_properties): Remove unused variables
11384 `unchanged', `prev_changed', `s' and `len'.
11385
11386 * search.c (Freplace_match): Remove unused variable `inslen'.
11387
11388 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
11389
11390 2001-11-22 Jason Rumney <jasonr@gnu.org>
11391
11392 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
11393 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
11394 (my_create_tip_window): New function.
11395 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
11396 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
11397
11398 2001-11-20 Jason Rumney <jasonr@gnu.org>
11399
11400 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
11401 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
11402
11403 * w32fns.c (Vw32_system_coding_system): Remove.
11404 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
11405
11406 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
11407
11408 * fileio.c (Fwrite_region): Move choose_write_coding_system to
11409 after build_annotations.
11410
11411 * syntax.c (describe_syntax): Add dummy arg.
11412 (describe_syntax_1): Update call to describe_vector.
11413
11414 * category.c (describe_category): Add dummy arg.
11415 (describe_category_1): Update call to describe_vector.
11416
11417 * keymap.c (Fdescribe_vector): Add `describer' parameter.
11418 (describe_command, describe_translation): Add dummy second param.
11419 (describe_map): Call elt_describer with two arguments.
11420 (describe_vector_princ): Add `fun' parameter.
11421 Call it instead of the hardcoded `princ'.
11422 (describe_vector): Add arg `args'.
11423 Pass it as a new second argument to elt_describer.
11424
11425 * keymap.h (describe_vector): Update prototype.
11426
11427 * frame.c: Don't include keymap.h any more.
11428 (keys_of_frame): Remove.
11429
11430 * lisp.h (keys_of_frame): Remove declaration.
11431
11432 * emacs.c (main): Don't call `keys_of_frame' any more.
11433
11434 2001-11-14 Andreas Schwab <schwab@suse.de>
11435
11436 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
11437 if defined, 0 otherwise.
11438 (MAP_FAILED): Define if not defined and use it to test mmap failure.
11439 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
11440
11441 2001-11-19 Richard M. Stallman <rms@gnu.org>
11442
11443 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
11444
11445 2001-11-18 Jason Rumney <jasonr@gnu.org>
11446
11447 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
11448 (x_draw_bar_cursor): If the background color of the glyph under
11449 the cursor equals the frame's cursor color, use the glyph's
11450 foreground color for drawing the bar cursor.
11451 (x_after_update_window_line): Clear internal border in different
11452 circumstances.
11453 (w32_set_vertical_scroll_bar): Check for width and height > 0.
11454 (w32_draw_relief_rect): Correct relief by 1 pixel.
11455 (x_set_glyph_string_background_width):
11456 Set extends_to_end_of_line_p if the row's fill_line_p is set and
11457 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
11458 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
11459 if cursor_in_non_selected_windows is false.
11460 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
11461 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
11462 Notice if cursor gets overwritten.
11463 (notice_overwritten_cursor): Renamed from
11464 note_overwritten_text_cursor. Rewritten to take glyph widths
11465 into account, and to take X positions as parameters.
11466 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
11467 around call to x_draw_glyphs.
11468 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
11469 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
11470 color to use for image glyph reliefs.
11471 (x_draw_image_relief): Accept zero tool_bar_button_relief.
11472 (glyph_rect): Remove unused variable `area'.
11473
11474 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
11475 some items.
11476 (x_set_internal_border_width): Set frame garbaged when window
11477 doesn't exist yet.
11478 (Fx_create_frame): Accept zero tool_bar_button_relief.
11479 (x_clear_image_1, four_corners_best, image_background)
11480 (image_background_transparent): New functions.
11481 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
11482 (gs_format): Add `:background' entry.
11483 (lookup_image): Set IMG's background color if specified.
11484 (pbm_load, xbm_load_image, png_load): Set IMG's background field
11485 when appropriate.
11486 (x_clear_image_1): Reset `background_valid' and
11487 `background_transparent_valid' fields.
11488 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
11489 calculating it here. Set IMG's background_transparent field.
11490 (enum xpm_keyword_index): Add XPM_BACKGROUND.
11491 (enum png_keyword_index): Add PNG_BACKGROUND.
11492 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
11493 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
11494 (enum gif_keyword_index): Add GIF_BACKGROUND.
11495 (enum gs_keyword_index): Add GS_BACKGROUND.
11496 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
11497 Pre-calculate image background color where necessary.
11498 (x_create_x_image_and_pixmap, xbm_load, gs_load):
11499 Use display info's n_cbits entry for screen depth.
11500 (Fx_show_tip): Remove unused variables `buffer', `top',
11501 `left', `max_width' and `max_height'.
11502
11503 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
11504
11505 2001-11-18 Gerd Moellmann <gerd@gnu.org>
11506
11507 * puresize.h (BASE_PURESIZE): Increase to 750000.
11508
11509 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11510
11511 * frame.c (Fframe_live_p): Doc fix.
11512
11513 2001-11-18 Richard M. Stallman <rms@gnu.org>
11514
11515 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
11516 (message_dolog_marker3): New static variables hold three markers.
11517 (syms_of_xdisp): Initialize and staticpro them.
11518 (message_dolog): Use message_dolog_marker1..3 instead of
11519 allocating markers each time. Unchain them when done.
11520
11521 2001-11-17 Richard M. Stallman <rms@gnu.org>
11522
11523 * doc.c (Fsnarf_documentation): Doc fix.
11524
11525 2001-11-17 Andreas Schwab <schwab@suse.de>
11526
11527 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
11528
11529 2001-11-17 Richard M. Stallman <rms@gnu.org>
11530
11531 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
11532
11533 2001-11-17 Jason Rumney <jasonr@gnu.org>
11534
11535 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
11536
11537 2001-11-17 Gerd Moellmann <gerd@gnu.org>
11538
11539 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
11540 with invalid position.
11541
11542 2001-11-16 Richard M. Stallman <rms@gnu.org>
11543
11544 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
11545
11546 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
11547 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
11548 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
11549
11550 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
11551
11552 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
11553
11554 * fileio.c (build_annotations): Split off the tail.
11555 (build_annotations_2): New fun. Extracted from build_annotations.
11556 (Fwrite_region): Split the call to build_annotations into two
11557 calls to build_annotations and build_annotations_2.
11558
11559 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11560
11561 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
11562 clear_waiting_for_input with argument.
11563
11564 * xterm.h (x_update_cursor): Remove duplicated prototype.
11565
11566 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
11567
11568 * xterm.c (waiting_for_input): Remove unnecessary declaration.
11569
11570 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
11571
11572 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
11573
11574 * fileio.c (choose_write_coding_system): New fun, extracted
11575 from Fwrite_region.
11576 (Fwrite_region): Use it.
11577
11578 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
11579 (funcall_lambda, run_hook_with_args): Make static and add prototype.
11580 (ml_apply, find_handler_clause): Add prototype.
11581
11582 2001-11-16 Eli Zaretskii <eliz@gnu.org>
11583
11584 * config.in: Add #undef HAVE_COFF_H.
11585
11586 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
11587 Required for ISC 4.1.
11588
11589 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
11590
11591 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
11592 Andrew Wiseman <a.wiseman@btclick.com>.
11593
11594 2001-11-16 Kim F. Storm <storm@cua.dk>
11595
11596 The following changes are made to clean up the various internal
11597 references to the fringes to actually use the term `fringe' for
11598 them. Previously, they were called `flags areas', `bitmap areas',
11599 `left/right side of windows', or implicitly as `flags' or
11600 `bitmaps':
11601
11602 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
11603 Comments fixed. Use renamed symbols.
11604
11605 * dispnew.c: Comment fix. Use renamed symbols.
11606
11607 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
11608 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
11609 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
11610
11611 * msdos.c: Comment fix.
11612
11613 * w32fns.c: Use renamed symbols.
11614
11615 * w32term.c: Comment fixes. Use renamed symbols.
11616 (fringe_bitmap_type): Renamed from bitmap_type.
11617 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
11618 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
11619 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
11620
11621 * w32term.h: Comment fixes. Use renamed symbols.
11622 (fringes_extra): Renamed from flags_areas_extra.
11623 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
11624 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
11625 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
11626 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
11627 (FRAME_X_LEFT_FRINGE_WIDTH):
11628 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
11629 (FRAME_X_RIGHT_FRINGE_WIDTH):
11630 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
11631
11632 * widget.c: Use renamed symbols.
11633
11634 * window.c: Comment fixes. Use renamed symbols.
11635 (coordinates-in-window-p): Doc fix.
11636
11637 * xdisp.c: Comment fixes. Use renamed symbols.
11638
11639 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
11640
11641 * xfns.c: Use renamed symbols.
11642
11643 * xterm.c: Comment fixes. Use renamed symbols.
11644 (fringe_bitmap_type): Renamed from bitmap_type.
11645 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
11646 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
11647 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
11648
11649 * xterm.h: Comment fixes. Use renamed symbols.
11650 (fringes_extra): Renamed from flags_areas_extra.
11651 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
11652 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
11653 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
11654 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
11655 (FRAME_X_LEFT_FRINGE_WIDTH):
11656 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
11657 (FRAME_X_RIGHT_FRINGE_WIDTH):
11658 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
11659
11660 2001-11-15 Jason Rumney <jasonr@gnu.org>
11661
11662 * w32menu.c (add-menu-item): Make help_echo and radio buttons
11663 work for most menu items. From David Ponce
11664 <david.ponce@wanadoo.fr>.
11665
11666 2001-11-15 Gerd Moellmann <gerd@gnu.org>
11667
11668 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
11669 Some x_set_* function expect to be called even if old and new
11670 value are equal.
11671
11672 * xdisp.c (build_desired_tool_bar_string): Accept zero
11673 tool_bar_button_relief.
11674
11675 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
11676
11677 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
11678
11679 * xterm.c (x_draw_bar_cursor): If the background color of the
11680 glyph under the cursor equals the frame's cursor color, use
11681 the glyph's foreground color for drawing the bar cursor.
11682
11683 * dispnew.c (direct_output_forward_char): Fix character/byte
11684 position comparison.
11685
11686 2001-11-15 Miles Bader <miles@gnu.org>
11687
11688 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
11689 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
11690 Update arguments to find_field.
11691 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
11692 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
11693 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
11694 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
11695
11696 2001-11-14 Richard M. Stallman <rms@gnu.org>
11697
11698 * editfns.c (Fpropertize): Allow call with 1 arg.
11699
11700 * dispextern.h (image_background, image_background_transparent):
11701 Conditionalize on HAVE_X_WINDOWS.
11702
11703 2001-11-13 Richard M. Stallman <rms@gnu.org>
11704
11705 * print.c (Fprin1_to_string): Doc fix.
11706
11707 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
11708
11709 * floatfns.c (Fceiling, Ffloor): Doc fixes.
11710
11711 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
11712
11713 * fileio.c (Ffile_accessible_directory_p): Doc fix.
11714
11715 * eval.c (syms_of_eval): Doc fix.
11716
11717 * coding.c (syms_of_coding): Doc fix.
11718
11719 * doc.c (Fsnarf_documentation): Doc fix.
11720
11721 * dispnew.c (syms_of_display): Doc fix.
11722
11723 * category.c (Fget_unused_category): Doc fix.
11724
11725 * buffer.c (syms_of_buffer): Doc fixes.
11726
11727 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
11728
11729 * print.c (prin1, print): Doc fix.
11730
11731 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11732
11733 * fontset.h: Remove declarations of variables
11734 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
11735
11736 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
11737 `Vclip_large_size_font'.
11738
11739 2001-11-13 Jason Rumney <jasonr@gnu.org>
11740
11741 * w32fns.c: Doc fix.
11742
11743 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11744
11745 * xfaces.c (Fface_attributes_as_vector): Doc fix.
11746
11747 * fns.c: Doc fix.
11748
11749 * emacs.c: Doc fix.
11750
11751 * coding.c: Doc fix.
11752
11753 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
11754 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
11755 `new style' [w/`doc:' keyword].
11756
11757 2001-11-12 Richard M. Stallman <rms@gnu.org>
11758
11759 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
11760 LeaveNotify events. Only FocusIn and FocusOut do that now.
11761 (x_display_and_set_cursor): Do display hollow cursors in active
11762 minibuffer windows when they are not selected.
11763
11764 2001-11-12 Jason Rumney <jasonr@gnu.org>
11765
11766 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
11767 * w32term.c: Change doc-string comments to `new style'.
11768 [w/`doc:' keyword]. Doc fixes.
11769
11770 * w32fns.c: Don't define max.
11771 (Fx_open_connection): Only execute once.
11772
11773 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11774
11775 * ccl.c: Change macros to use do-while block instead of if-else.
11776 Use braces to follow GNU Coding Standards.
11777
11778 2001-11-11 Richard M. Stallman <rms@gnu.org>
11779
11780 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
11781
11782 * lread.c (read_escape): Use end_of_file_error for reporting eof.
11783
11784 * insdel.c (replace_range): Use adjust_markers_for_replace
11785 instead of adjust_markers_for_delete and adjust_markers_for_insert.
11786
11787 * intervals.h: Declare set_text_properties and set_text_properties_1.
11788
11789 * textprop.c (set_text_properties_1): New subroutine
11790 broken out of set_text_properties.
11791 (set_text_properties): Use set_text_properties_1.
11792
11793 * intervals.c (graft_intervals_into_buffer):
11794 Use set_text_properties_1 to clear out properties.
11795
11796 * search.c (Freplace_match): Use replace_range to insert
11797 and delete. Don't request property inheritance from
11798 surrounding text.
11799
11800 2001-11-10 Jason Rumney <jasonr@gnu.org>
11801
11802 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
11803 vertical fonts. Allow them if face name is explicitly specified.
11804 Do not give up if we find a font that cannot be converted to an xlfd.
11805
11806 2001-11-10 Gerd Moellmann <gerd@gnu.org>
11807
11808 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
11809 instead of malloc/free.
11810
11811 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11812
11813 * xfaces.c (merge_face_vectors): Use braces to follow GNU
11814 Coding Standards.
11815 (Finternal_set_lisp_face_attribute): Likewise.
11816
11817 * buffer.c (Fbury_buffer): Likewise.
11818
11819 * indent.c (current_column_1): Remove unused variable `prev_col'.
11820
11821 * coding.c (encode_coding): Use precomputed value of `src'.
11822 (encode_coding): Remove unused variable `src_end'.
11823 (code_convert_region): Remove unused variables `count'.
11824
11825 2001-11-07 Jason Rumney <jasonr@gnu.org>
11826
11827 * w32term.c (x_display_and_set_cursor): Do not move system caret
11828 if cursor_glyph is NULL.
11829
11830 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11831
11832 * keymap.c (access_keymap): Fix compilation error.
11833
11834 2001-11-07 Miles Bader <miles@gnu.org>
11835
11836 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
11837
11838 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11839
11840 * intervals.c (graft_intervals_into_buffer):
11841 Remove #ifdef'd-out code.
11842 (graft_intervals_into_buffer): Remove unused variable `middle'.
11843
11844 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
11845 code (eval-current-buffer).
11846 Change doc-string comments to `new style' [w/`doc:' keyword].
11847
11848 2001-11-06 Richard M. Stallman <rms@gnu.org>
11849
11850 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
11851
11852 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
11853
11854 * lread.c (read1): Fix behavior with nested backquoting.
11855
11856 * keyboard.c (make_lispy_event): Check integerness and fix
11857 Lisp_Object/int mixup.
11858
11859 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11860
11861 * fns.c (copy_hash_table): Remove unused variable `v'.
11862
11863 * fontset.c (fontset_font_pattern): Remove unused variable
11864 `family_registry'.
11865
11866 * indent.c (current_column_1): Remove unused variable `prev_col'.
11867
11868 2001-11-05 Richard M. Stallman <rms@gnu.org>
11869
11870 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
11871
11872 * buffer.c (Fkill_buffer): Don't delete auto save file
11873 if buffer is modified.
11874
11875 2001-11-05 Andrew Innes <andrewi@gnu.org>
11876
11877 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
11878 CHECK_NUMBER_CDR.
11879
11880 2001-11-05 Richard M. Stallman <rms@gnu.org>
11881
11882 * unexelf.c (unexec): Minor changes; clean up comments.
11883
11884 2001-11-05 Sam Steingold <sds@gnu.org>
11885
11886 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
11887
11888 2001-11-05 Andreas Schwab <schwab@suse.de>
11889
11890 * sound.c (sound_perror): Save errno from being clobbered.
11891
11892 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
11893
11894 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
11895 the program image directly.
11896
11897 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11898
11899 * buffer.h (Fbuffer_local_value): Add prototype.
11900
11901 2001-11-04 Richard M. Stallman <rms@gnu.org>
11902
11903 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
11904 and CHECK_BUFFER.
11905
11906 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
11907 (record_char): Likewise.
11908
11909 * keyboard.c (make_lispy_event): Don't insist a drag event must
11910 move to a different buffer position. Instead, check for moving at
11911 least double_click_fuzz.
11912
11913 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
11914
11915 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
11916
11917 * indent.c (current_column_1, Fmove_to_column): Separate the code
11918 for display-table glyphs from the code for buffer text, to fix
11919 bugs in the former.
11920
11921 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
11922
11923 * buffer.c (Fbuffer_local_value): New function.
11924 (syms_of_buffer): Defsubr it.
11925
11926 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
11927 value of `cursor-in-non-selected-windows'.
11928
11929 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
11930 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
11931 (syms_of_xdisp): Initialize it.
11932
11933 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11934
11935 * xfns.c (Fx_create_frame): Doc fix.
11936
11937 * coding.c: Change doc-string comments to `new style' [w/`doc:'
11938 keyword].
11939
11940 * eval.c (top_level_value, top_level_set): Remove commented and
11941 #ifdef'd-out code.
11942 (Fdefvar): Fix usage in doc-string.
11943
11944 2001-11-03 Richard M. Stallman <rms@gnu.org>
11945
11946 * xfns.c: Include unistd.h, if it exists.
11947
11948 * editfns.c: Move the include of ctype.h after unistd.h.
11949
11950 * gmalloc.c: Test BROKEN_PROTOTYPES.
11951
11952 2001-11-03 Ken Raeburn <raeburn@gnu.org>
11953
11954 * lisp.h (CHECK_STRING_CAR): New macro.
11955 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
11956 treating XCAR and XCDR as lvalues.
11957 (openp): Use CHECK_STRING_CAR.
11958 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
11959
11960 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
11961
11962 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
11963 (SIGMASKTYPE): Define.
11964
11965 * syssignal.h (sigunblock): Don't define if already defined.
11966
11967 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11968
11969 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
11970 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
11971 Fix typos in comments.
11972
11973 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
11974 and #ifdef'd-out code.
11975 Fix and reindent comments.
11976
11977 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
11978
11979 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
11980 argument `i' in macros.
11981
11982 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
11983 `i' in macros.
11984
11985 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
11986 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
11987 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
11988 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
11989 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
11990 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
11991 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
11992 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
11993 in macros.
11994
11995 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
11996 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
11997 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
11998 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
11999 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
12000 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
12001 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
12002 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
12003 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
12004 (remove unused second argument).
12005
12006 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
12007
12008 * syntax.c (describe_syntax): New wrapper.
12009 (Finternal_describe_syntax_value): Rename from describe_syntax.
12010 Don't insert space at front and \n at the end.
12011 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
12012
12013 * regex.c (re_wctype): Try to fix some warnings.
12014 (regcomp, regexec): Don't forget the __restrict.
12015
12016 2001-11-02 Richard M. Stallman <rms@gnu.org>
12017
12018 * textprop.c (Fget_char_property): Doc fix.
12019
12020 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12021
12022 * process.c (Fstart_process): Add usage to doc-string.
12023
12024 * data.c (Fsetq_default): Ditto.
12025
12026 * callint.c (Finteractive): Ditto.
12027
12028 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
12029
12030 * macros.c: Don't include keymap.h any more.
12031
12032 2001-11-01 Richard M. Stallman <rms@gnu.org>
12033
12034 * data.c (Fmake_local_variable): Doc fix.
12035
12036 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
12037 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
12038
12039 * keymap.c (Fdescribe_buffer_bindings): Print character property
12040 bindings along with or instead of the buffer local map.
12041 Make the overriding maps override what they should.
12042
12043 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12044
12045 * window.c (grow_mini_window): Fix typo in comment.
12046
12047 2001-11-01 Gerd Moellmann <gerd@gnu.org>
12048
12049 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
12050 (XTset_vertical_scroll_bar): Likewise.
12051
12052 * xfns.c (x_build_heuristic_mask): Use four_corners_best
12053 instead of IMAGE_BACKGROUND.
12054
12055 * xfns.c (four_corners_best): Reindent.
12056
12057 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
12058 Handle :box so that it is possible to specify sexprs.
12059
12060 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
12061
12062 * s/hpux11.h: New file.
12063
12064 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12065
12066 * emacs.c (USAGE1): Show command line option --no-window-system
12067 instead of --no-windows in usage.
12068 (standard_args): Rename --no-windows to --no-window-system.
12069 (bug_reporting_address): Follow Emacs coding conventions.
12070
12071 * eval.c (Fcommandp): Doc fix.
12072 Change doc-string comments to `new style' [w/`doc:' keyword].
12073
12074 * frame.c (Fframe_live_p): Doc fix.
12075
12076 * buffer.c (selective-display-ellipses): Doc fix.
12077
12078 2001-10-31 Gerd Moellmann <gerd@gnu.org>
12079
12080 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
12081
12082 * xfaces.c (realize_x_face): If C is not a single-byte character,
12083 set the face's colors_copied_bitwise_p instead of the defaulted_p
12084 members which have a different meaning.
12085 (free_face_colors): Do nothing for a face whose colors have been
12086 copied bitwise.
12087
12088 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
12089
12090 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12091
12092 * marker.c, mocklisp.c: Change doc-string comments to `new style'
12093 [w/`doc:' keyword].
12094
12095 2001-10-31 Gerd Moellmann <gerd@gnu.org>
12096
12097 * fns.c (require_unwind): Return Lisp_Object.
12098
12099 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12100
12101 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
12102 (last-input-char): Revert doc-string to be the same as the
12103 doc-string of `last-input-event'.
12104
12105 * xdisp.c: Fix typos in comments.
12106
12107 2001-10-31 Gerd Moellmann <gerd@gnu.org>
12108
12109 * window.c (grow_mini_window): Handle case that the root
12110 window is already smaller than the nominal mininum height.
12111
12112 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
12113
12114 * emacs.c (main): Don't call keys_of_macros any more.
12115
12116 * lisp.h (keys_of_macros): Remove.
12117
12118 * macros.c (keys_of_macros): Remove.
12119
12120 * xfaces.c (Fface_attribute_relative_p): Declare args.
12121
12122 2001-10-30 Jason Rumney <jasonr@gnu.org>
12123
12124 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
12125 (enum_font_cb2): Ignore fonts with vertical orientation.
12126
12127 2001-10-30 Richard M. Stallman <rms@gnu.org>
12128
12129 * keyboard.c (Finput_pending_p): Doc fix.
12130
12131 2001-10-30 Gerd Moellmann <gerd@gnu.org>
12132
12133 * xterm.c (x_after_update_window_line): Don't run the code
12134 clearing in borders for rows whose visible height is 0.
12135
12136 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
12137 resized_p flag is set. If not set, use the much less flickering
12138 method previously used.
12139
12140 * dispnew.c (change_frame_size_1): Set frame's resized_p.
12141
12142 * frame.h (struct frame) <resized_p>: New member.
12143
12144 * lread.c (to_multibyte): Ensure read_buffer is at least twice
12145 as large as the number of bytes to convert.
12146
12147 * lread.c (to_multibyte): New function.
12148 (read1): Use it.
12149
12150 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
12151
12152 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
12153
12154 2001-10-30 Gerd Moellmann <gerd@gnu.org>
12155
12156 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
12157 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
12158 if the row's fill_line_p is set and drawing the last glyph with
12159 DRAW_IMAGE_{RAISED,SUNKEN}.
12160
12161 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
12162
12163 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
12164
12165 * xmenu.c: Include coding.h and charset.h.
12166 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
12167 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
12168 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
12169 Explicitly set wv->help. Use `TRUE' rather than `True'.
12170 (menu_help_callback): Use empty_string.
12171
12172 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
12173 (Fx_popup_dialog): Explicitly init f.
12174 (w32_menu_display_help): Use empty_string.
12175
12176 2001-10-29 Richard M. Stallman <rms@gnu.org>
12177
12178 * fns.c (Frequire): Detect recursive try to require the same
12179 feature 3 or more levels deep, and get error.
12180 (require_unwind): New subroutine.
12181 (require_nesting_list): New variable.
12182 (syms_of_fns): Init and staticpro it.
12183
12184 * print.c (print_object): Clarify indication of insertion type.
12185
12186 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
12187
12188 * coding.c (syms_of_coding): Document that locale-coding-system is
12189 used for decoding input on X.
12190
12191 * window.c (Fscroll_left, Fscroll_right): Doc fix.
12192
12193 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12194
12195 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
12196 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
12197
12198 2001-10-29 Gerd Moellmann <gerd@gnu.org>
12199
12200 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
12201 use NO_CURSOR if cursor_in_non_selected_windows is false.
12202
12203 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
12204 the slant attribute if FRAME is t.
12205
12206 * xfns.c (x_set_internal_border_width): Set frame garbaged
12207 when X window doesn't exist yet.
12208
12209 * xterm.c (x_after_update_window_line): Clear internal border
12210 in different circumstances.
12211
12212 * xterm.c (XTread_socket) <KeyPress>: Don't use
12213 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
12214 <handa@etl.go.jp>.
12215
12216 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
12217
12218 * m/ibms390.h: New file. From Adam Thornton
12219 <athornton@sinenomine.net>.
12220
12221 2001-10-28 Gerd Moellmann <gerd@gnu.org>
12222
12223 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
12224
12225 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
12226 a loop counter.
12227
12228 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12229
12230 * emacs.c: Use argv[0] instead of emacs when -t was specified.
12231
12232 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
12233 keyword].
12234 Fix typos in comments.
12235
12236 * emacs.c (bug_reporting_address): New function.
12237 Use it when displaying usage message.
12238
12239 * minibuf.c (read_minibuf): Remove unused external declaration of
12240 variable `Qread_only'.
12241
12242 * keymap.c (access_keymap): Remove unused variable `charset'.
12243
12244 2001-10-28 Miles Bader <miles@gnu.org>
12245
12246 * xfaces.c (merge_face_heights): Handle TO being relative as well.
12247 Remove #ifdef'd-out code.
12248 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
12249 (syms_of_xfaces): Initialize them.
12250
12251 2001-10-27 Jason Rumney <jasonr@gnu.org>
12252
12253 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
12254 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
12255 position using the system caret.
12256
12257 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
12258 (w32_system_caret_height, w32_system_caret_x)
12259 (w32_system_caret_y): New variables for tracking system caret.
12260 (w32_initialize): Initialize them.
12261 (x_display_and_set_cursor): Make system caret follow the active cursor.
12262
12263 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
12264 New messages types.
12265
12266 * w32term.c (note_mouse_highlight): Clear old help_echo.
12267
12268 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12269
12270 * xterm.c: Fix typo in a comment.
12271
12272 * emacs.c: Fix typos in comments.
12273 Remove unnecessary spaces.
12274 Change doc-string comments to `new style' [w/`doc:' keyword].
12275 (USAGE2): Fix typos in usage string.
12276
12277 * xterm.c: Fix typo in a comment.
12278
12279 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
12280 emacs.c.
12281
12282 2001-10-27 Gerd Moellmann <gerd@gnu.org>
12283
12284 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
12285 instead of 1/2 line_height in the heuristic for skipping
12286 farther backward when target_y was not reached.
12287
12288 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
12289 Display errno only if non-zero.
12290 (sound_warning): New function.
12291 (vox_configure): Don't treat failing to set sample rate as error.
12292 (various places): Improve error messages.
12293
12294 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
12295
12296 * fileio.c (Faccess_file): Run the argument filename through
12297 Fexpand_file_name, before using it.
12298
12299 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
12300 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
12301
12302 2001-10-26 Gerd Moellmann <gerd@gnu.org>
12303
12304 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
12305
12306 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
12307 Fix clearing in the case of scroll bars on the right.
12308
12309 2001-10-26 Juanma Barranquero <lektu@terra.es>
12310
12311 * w32gui.h (XImage): Add a dummy typedef.
12312
12313 2001-10-26 Gerd Moellmann <gerd@gnu.org>
12314
12315 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
12316
12317 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
12318
12319 * frame.c (Fframe_parameter): Fix last change.
12320
12321 * fileio.c: Revert last change (which removed old commented-out
12322 version of expand-file-name). Add a comment that explains why
12323 this old version should not be removed.
12324
12325 2001-10-25 Gerd Moellmann <gerd@gnu.org>
12326
12327 * frame.c (Fframe_parameter): Fix a bug whereby some
12328 ``artificial'' frame parameters, like `minibuffer' were not
12329 obtained by calling Fframe_parameters.
12330
12331 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
12332 cursor differently.
12333
12334 * xdisp.c (move_it_vertically_backward): Compute line height
12335 differently. Add heuristic to try to be more compatible to 20.x.
12336
12337 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
12338
12339 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
12340
12341 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
12342 boolean.
12343
12344 2001-10-25 Miles Bader <miles@gnu.org>
12345
12346 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
12347 BG is a pointer to a structure, not a structure.
12348 (gif_format, png_format): Add missing commas.
12349
12350 2001-10-24 Richard M. Stallman <rms@gnu.org>
12351
12352 * xfaces.c (Fface_attributes_as_vector): New function.
12353 (syms_of_xfaces): Defsubr it.
12354
12355 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12356
12357 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
12358 variable `area'.
12359
12360 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12361
12362 * search.c (scan_newline): Remove unused variable `selective_display'.
12363
12364 2001-10-25 Miles Bader <miles@gnu.org>
12365
12366 * dispextern.h (struct image): Add `background',
12367 `background_valid', and `background_transparent' fields.
12368 (image_background, image_background_transparent): New declarations.
12369 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
12370 * xfns.c (image_background, image_background_transparent)
12371 (four_corners_best): New functions.
12372 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
12373 (gs_format): Add `:background' entry.
12374 (lookup_image): Set IMG's background color if specified.
12375 (pbm_load, xbm_load_image, png_load): Set IMG's background field
12376 when appropriate.
12377 (x_clear_image_1): Reset `background_valid' and
12378 `background_transparent_valid' fields.
12379 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
12380 calculating it here. Set IMG's background_transparent field.
12381 (enum xpm_keyword_index): Add XPM_BACKGROUND.
12382 (enum png_keyword_index): Add PNG_BACKGROUND.
12383 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
12384 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
12385 (enum gif_keyword_index): Add GIF_BACKGROUND.
12386 (enum gs_keyword_index): Add GS_BACKGROUND.
12387 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
12388 Pre-calculate image background color where necessary.
12389 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
12390 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
12391 color to use for image glyph reliefs.
12392
12393 2001-10-24 Gerd Moellmann <gerd@gnu.org>
12394
12395 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
12396 in full-width rows.
12397
12398 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
12399 Fix clearing of area not covered by scroll bar.
12400
12401 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12402
12403 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
12404 and `real_start'.
12405 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
12406 (glyph_rect): Remove unused variable `area'.
12407
12408 2001-10-24 Gerd Moellmann <gerd@gnu.org>
12409
12410 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
12411
12412 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
12413 (row_containing_pos): Take additional argument DY.
12414 Treat rows ending in middle of char differently.
12415 (display_line): Handle tabs on window systems differently.
12416
12417 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
12418 with additional argument.
12419
12420 * dispextern.h (row_containing_pos): Adjust prototype.
12421
12422 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
12423 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
12424 (try_window_id, try_window_reusing_current_matrix)
12425 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
12426 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
12427
12428 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12429
12430 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
12431 gnuemacs).
12432 (HAVE_BOXES): Fix typo in comment.
12433 (push_menu_pane): Fix typo in comment.
12434
12435 * xdisp.c: (display_prop_string_p): Remove unused local declaration
12436 of `Qwhen'.
12437 (single_display_prop_string_p): Remove unused local declarations
12438 of `Qwhen' and `Qmargin'.
12439 (string_buffer_position): Remove unused variable `around'.
12440 (store_frame_title): Remove unused variable `width'.
12441
12442 * window.c: Don't define max.
12443 (coordinates_in_window): Remove unused variable `uy'.
12444
12445 * widget.c: Don't define max.
12446
12447 * process.c: Don't define max.
12448 (create_process): Remove unused variable `buffer'.
12449
12450 2001-10-23 Gerd Moellmann <gerd@gnu.org>
12451
12452 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
12453
12454 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
12455
12456 * xfaces.c (Finternal_set_lisp_face_attribute)
12457 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
12458 frame is on a windowed display.
12459
12460 2001-10-23 Gerd Moellmann <gerd@gnu.org>
12461
12462 * dispnew.c (sync_window_with_frame_matrix_rows):
12463 Fix handling of windows which aren't full-width, fix handling
12464 of marginal areas.
12465
12466 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
12467
12468 2001-10-23 Andreas Schwab <schwab@suse.de>
12469
12470 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
12471 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
12472
12473 2001-10-23 Gerd Moellmann <gerd@gnu.org>
12474
12475 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
12476 REAL_END. Notice if cursor gets overwritten.
12477 (notice_overwritten_cursor): Take X positions as parameters.
12478 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
12479 around call to x_draw_glyphs.
12480
12481 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12482
12483 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
12484 instead of C) and usage.
12485
12486 * editfns.c (char-to-string): Fix argument names (use CHAR instead
12487 of C) and usage.
12488
12489 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
12490 `left', `max_width' and `max_height'.
12491
12492 2001-10-23 Gerd Moellmann <gerd@gnu.org>
12493
12494 * xdisp.c (display_line): For a tab continued to the next line,
12495 set row's ends_in_middle_of_char_p.
12496
12497 2001-10-22 Gerd Moellmann <gerd@gnu.org>
12498
12499 * xdisp.c (display_line): Fix computation of continuation lines
12500 width for TABs.
12501
12502 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12503
12504 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
12505 `Qlaplace'.
12506
12507 * fileio.c: Remove unused code.
12508
12509 2001-10-22 Miles Bader <miles@gnu.org>
12510
12511 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
12512 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
12513 Remove `DOC_STRINGS_IN_COMMENTS' cases.
12514
12515 2001-10-21 Jason Rumney <jasonr@gnu.org>
12516
12517 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
12518
12519 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
12520
12521 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
12522 (Finsert_string): Avoid the multi-line string literals warning.
12523
12524 2001-10-22 Miles Bader <miles@gnu.org>
12525
12526 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
12527 (Fdocumentation): Don't use it.
12528 (syms_of_doc): Don't initialize it.
12529
12530 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
12531 * print.c (Fwith_output_to_temp_buffer): Likewise.
12532 * window.c (Fsave_window_excursion): Likewise.
12533 * editfns.c (Fsave_excursion, Fsave_current_buffer)
12534 (Fsave_restriction): Likewise.
12535 * eval.c (Frun_hooks, Frun_hook_with_args)
12536 (Frun_hook_with_args_until_failure)
12537 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
12538 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
12539 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
12540 (Funwind_protect, Fcondition_case): Likewise.
12541 * coding.c (Ffind_operation_coding_system): Likewise.
12542 * keyboard.c (Ftrack_mouse): Likewise.
12543
12544 2001-10-21 Miles Bader <miles@gnu.org>
12545
12546 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
12547 (Fmake_hash_table): Add usage: string to doc string.
12548 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
12549 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
12550 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
12551 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
12552 (Fml_prefix_argument_loop): Likewise.
12553
12554 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12555
12556 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
12557
12558 * sysdep.c (init_sys_modes): Change doc-string comments to `new
12559 style' [w/`doc:' keyword].
12560
12561 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
12562 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
12563 comments to `new style' [w/`doc:' keyword].
12564
12565 2001-10-21 Jason Rumney <jasonr@gnu.org>
12566
12567 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
12568
12569 * w32term.c (remember_mouse_glyph): New function.
12570 (w32_mouse_position): Use it.
12571 (note_mouse_movement): If the mouse moved off the glyph, remember
12572 its new position.
12573
12574 * w32term.h (struct w32_output): Correct spelling of x_compatible.
12575 (w32_display_info): Add mouse_face_overlay.
12576
12577 * w32term.c (notice_overwritten_cursor): Renamed from
12578 note_overwritten_text_cursor. Rewritten to take glyph widths into
12579 account.
12580 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
12581 (fast_find_string_pos): New function.
12582 (fast_find_position): Return the correct vpos. Add parameter
12583 STOP. In the final row, stop before glyphs having STOP as object.
12584 Don't consider glyphs that are not from a buffer.
12585 (fast_find_position) [0]: Add a presumably more correct version
12586 for after 21.1.
12587 (expose_window_tree, expose_frame): Don't compute intersections here.
12588 (expose_window): Do it here instead.
12589 (expose_window_tree, expose_window, expose_line): Return 1 when
12590 overwriting mouse-face.
12591 (expose_window): If W is the window currently being updated, mark
12592 the frame garbaged.
12593 (expose_frame): If mouse-face was overwritten, redo it.
12594 (x_use_underline_position_properties): New variable.
12595 (syms_of_xterm): DEFVAR_BOOL it.
12596 (x_draw_glyph_string): Add comment to use it in future.
12597 (x_draw_glyph_string): Restore clipping after drawing box.
12598 Fix a computation of the underline position.
12599 (w32_get_glyph_string_clip_rect): Minor cleanup.
12600 (x_fill_stretch_glyph_string): Remove an assertion.
12601 (x_produce_glyphs): Don't convert multibyte characters
12602 to unibyte characters in unibyte buffers.
12603 (cursor_in_mouse_face_p): New function.
12604 (x_draw_stretch_glyph_string): Use it to choose a different GC
12605 when drawing a cursor within highlighted text. Don't draw
12606 background again if it has already been drawn.
12607 (x_draw_glyph_string_box): Don't draw a full-width
12608 box just because the glyph row's full_width_p flag is set.
12609 (x_draw_glyphs): Fix computation of rightmost x for
12610 full-width rows.
12611 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
12612 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
12613 change bottom shadow accordingly. Some cleanup.
12614 (x_update_window_end): Handle overwritten mouse face
12615 also for tool bar windows.
12616 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
12617 DRAW is DRAW_IMAGE_RAISED.
12618 (clear_mouse_face): Return 1 if text with mouse face was
12619 actually redrawn. Make the function static.
12620 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
12621 optimize away highlighting if we pass over that same overlay again.
12622 (note_mouse_highlight): Call mouse_face_overlay_overlaps
12623 to detect a case where we have to highlight a different region
12624 despite not having left the currently highlighted region.
12625 Set mouse_face_overlay in the x_display_info. Avoid changing the
12626 mouse pointer shape when show_mouse_face has already done it, or
12627 there is no need. Handle mouse-face and help-echo in strings.
12628 (glyph_rect): New function.
12629 (w32_mouse_position): Use it to raise the threshold for mouse
12630 movement event generation.
12631 (w32_initialize_display_info): Initialize the x_display_info's
12632 mouse_face_overlay.
12633 (w32_set_vertical_scroll_bar): Don't clear a zero height
12634 or width area.
12635 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
12636 a widget to zero height.
12637
12638 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
12639 Protect unibyte strings created by replacing their multibyte
12640 equivalents in menu_items.
12641 (w32_menu_show): Don't overwrite an item's name with its key
12642 description in case the description is a multibyte string.
12643 (single_submenu): Some cleanup.
12644
12645 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
12646 (postprocess_image): New function.
12647 (lookup_image): Call it for all image types except PostScript.
12648 (x_kill_gs_process): Call postprocess_image.
12649 (tiff_error_handler, tiff_warning_handler): New functions.
12650 (tiff_load): Install them as handlers.
12651 (x_kill_gs_process): Recognize if someone has cleared the image
12652 cache under us.
12653 (valid_image_p): Protect better against invalid image
12654 specifications. Previous code could signal an error.
12655 (Fx_hide_tip, Fshow_tip): Doc fix.
12656 (Fv_max_tooltip_size): New variable.
12657 (syns_of_xfns): DEFVAR_LISP it.
12658 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
12659 window buffer to *tip* right after creating the frame. Set frame's
12660 window_width. Use a maximum tooltip size specified by
12661 Vx_max_tooltip_size, if that has valid contents.
12662 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
12663 Make sure the tooltip is completely visible.
12664 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
12665 (Fx_create_frame): Adjust the frame's height for presence
12666 of the tool bar before calling x_figure_window_size.
12667 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
12668 when the window gets smaller.
12669 (x_set_foreground_color): Set frame's cursor_pixel.
12670 (x_set_foreground_color, x_set_background_color): Cleaned up.
12671 (x_set_font): Handle case of x_new_fontset returning the same name
12672 as before, although there was a change in fontsets.
12673
12674 2001-10-21 Miles Bader <miles@gnu.org>
12675
12676 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
12677 (Flogxor): Add usage: string to doc string.
12678 * charset.c (Fstring): Likewise.
12679 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
12680 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
12681
12682 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12683
12684 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
12685
12686 * alloc.c: Reindent DEFUNs with doc: keywords.
12687
12688 * abbrev.c (Finsert_abbrev_table_description): Reindent.
12689
12690 * frame.c: Change doc-string comments to `new style' [w/`doc:'
12691 keyword].
12692
12693 See ChangeLog.9 for earlier changes.
12694
12695 ;; Local Variables:
12696 ;; coding: iso-2022-7bit
12697 ;; End:
12698
12699 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
12700 Copying and distribution of this file, with or without modification,
12701 are permitted provided the copyright notice and this notice are preserved.
12702
12703 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4