(info-lookup): Reuse an existing Info window.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
e69cfac2
RS
12004-03-12 Richard M. Stallman <rms@gnu.org>
2
3 * fns.c (internal_equal): New arg PROPS controls comparing
4 text properties. All callers changed.
5 (Fequal_including_properties): New function.
6 (syms_of_fns): defsubr it.
7
45034953
KS
82004-03-12 Kim F. Storm <storm@cua.dk>
9
10 Fix image support on MAC. From YAMAMOTO Mitsuharu.
11
12 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
13 (image_background, image_background_transparent): Fix prototypes.
14
15 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to
16 dispextern.h.
17
18 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
19 (x_query_font, x_find_ccl_program, x_set_window_size)
20 (x_make_frame_visible, mac_initialize, XCreatePixmap)
21 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
22 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
23
24 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
25 (x_query_font, x_find_ccl_program, x_set_window_size)
26 (x_make_frame_visible, mac_initialize, XCreatePixmap)
27 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
28 (mac_draw_line_to_pixmap): Add prototypes.
29
302004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
31
32 * macterm.c (XTread_socket): Fix mouse click on tool bar.
33
a12d3d87
KS
342004-03-11 Kim F. Storm <storm@cua.dk>
35
d3ab1cf1
KS
36 * dispextern.h: Move image related prototypes from xfns.c section
37 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
38 HAVE_X_WINDOWS.
39
37de9f51 40 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
a12d3d87
KS
41 Move gtkutil.o to new GTK_OBJ list.
42 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
43 (GTK_OBJ) [USE_GTK]: New declaration.
44 (obj): Add $(GTK_OBJ) to list.
45
5243c06a
ST
462004-03-11 Steven Tamm <steventamm@mac.com>
47 * image.c [MAC_OSX]: Include sys/stat.h
48
49 * macfns.c (syms_of_macfns): Remove definitions of things now
50 defined in image.c
51
c0f97789
KS
522004-03-11 Kim F. Storm <storm@cua.dk>
53
54 The following changes consolidates the identical/similar image
55 support code previously found in xfns.c, w32fns.c, and macfns.c
56 into a new file image.c.
57
58 * makefile.w32-in (OBJ1): Add image.o.
59 ($(BLD)/image.$(O)): Add dependencies.
60
61 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
62 (image.o): Add dependencies.
63
64 * image.c: New file with consolidated image support code.
65 (COLOR_TABLE_SUPPORT): New define to control whether
66 color table support is available (X only).
67 (Bitmap_Record): Common name for x_bitmap_record,
68 w32_bitmap_record, and mac_bitmap_record.
69 (XImagePtr): Common name for pointer to XImage or equivalent.
70 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
71 to XImagePtr on X+MAC, and to HDC on W32.
72 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
73 (NO_PIXMAP): Common name for "None" or equivalent.
74 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
75 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
76 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
77 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen): Define
78 with suitable equivalents on W32 and MAC for code sharing.
79 (XDrawLine): Define on MAC for code sharing.
80 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
81 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
82 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
83 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
84 (x_reference_bitmap, x_create_bitmap_from_data)
85 (x_create_bitmap_from_file, x_destroy_bitmap)
86 (x_destroy_all_bitmaps, x_create_bitmap_mask)
87 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
88 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
89 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
90 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
91 (define_image_type, lookup_image_type, valid_image_p)
92 (image_error, enum image_value_type, struct image_keyword)
93 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
94 (make_image, free_image, prepare_image_for_display, image_ascent)
95 (four_corners_best, image_background, image_background_transparent)
96 (x_clear_image_1, x_clear_image, x_alloc_image_color)
97 (make_image_cache, free_image_cache, clear_image_cache)
98 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
99 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
100 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
101 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
102 (init_image_func_pointer, image_load_quartz2d)
103 (struct ct_color, init_color_table, free_color_table)
104 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
105 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
106 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
107 (x_disable_image, x_build_heuristic_mask)
108 (XBM support, XPM support, PBM support, PNG support, JPEG support)
109 (TIFF support, GIF support, Ghostscript support): Consolidate image
110 code from xfns.c, w32fns.c, and macfns.c.
111 (syms_of_image): Consolidate image related symbol setup here.
112 (init_image): Consolidate image related initializations here.
113
114 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
115 and init_image. Remove call to init_xfns.
116
117 * macterm.h (struct mac_bitmap_record): Add file member. Not
118 currently used, but simplifies code sharing.
119
120 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
121 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
122 (x_reference_bitmap, x_create_bitmap_from_data)
123 (x_create_bitmap_from_file, x_destroy_bitmap)
124 (x_destroy_all_bitmaps, x_create_bitmap_mask)
125 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
126 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
127 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
128 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
129 (define_image_type, lookup_image_type, valid_image_p)
130 (image_error, enum image_value_type, struct image_keyword)
131 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
132 (make_image, free_image, prepare_image_for_display, image_ascent)
133 (four_corners_best, image_background, image_background_transparent)
134 (x_clear_image_1, x_clear_image, x_alloc_image_color)
135 (make_image_cache, free_image_cache, clear_image_cache)
136 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
137 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
138 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
139 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
140 (init_image_func_pointer, image_load_quartz2d)
141 (struct ct_color, init_color_table, free_color_table)
142 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
143 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
144 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
145 (x_disable_image, x_build_heuristic_mask)
146 (XBM support, XPM support, PBM support, PNG support, JPEG support)
147 (TIFF support, GIF support, Ghostscript support): Merge with image
148 code from xfns.c and macfns.c into image.c.
149 (syms_of_xfns): Move image related symbols to image.c.
150 (init_external_image_libraries, init_xfns): Remove; initialization
151 moved to init_image in image.c.
152
153 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
154 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
155 (x_reference_bitmap, x_create_bitmap_from_data)
156 (x_create_bitmap_from_file, x_destroy_bitmap)
157 (x_destroy_all_bitmaps, x_create_bitmap_mask)
158 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
159 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
160 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
161 (define_image_type, lookup_image_type, valid_image_p)
162 (image_error, enum image_value_type, struct image_keyword)
163 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
164 (make_image, free_image, prepare_image_for_display, image_ascent)
165 (four_corners_best, image_background, image_background_transparent)
166 (x_clear_image_1, x_clear_image, x_alloc_image_color)
167 (make_image_cache, free_image_cache, clear_image_cache)
168 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
169 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
170 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
171 (struct ct_color, init_color_table, free_color_table)
172 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
173 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
174 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
175 (x_disable_image, x_build_heuristic_mask)
176 (XBM support, XPM support, PBM support, PNG support, JPEG support)
177 (TIFF support, GIF support, Ghostscript support): Merge with image
178 code from xfns.c and macfns.c into image.c.
179 (syms_of_xfns): Move image related symbols to image.c.
180 (init_external_image_libraries, init_xfns): Remove; initialization
181 moved to init_image in image.c.
182
183 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
184 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
185 (x_reference_bitmap, x_create_bitmap_from_data)
186 (x_create_bitmap_from_file, x_destroy_bitmap)
187 (x_destroy_all_bitmaps, x_create_bitmap_mask)
188 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
189 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
190 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
191 (define_image_type, lookup_image_type, valid_image_p)
192 (image_error, enum image_value_type, struct image_keyword)
193 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
194 (make_image, free_image, prepare_image_for_display, image_ascent)
195 (four_corners_best, image_background, image_background_transparent)
196 (x_clear_image_1, x_clear_image, x_alloc_image_color)
197 (make_image_cache, free_image_cache, clear_image_cache)
198 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
199 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
200 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
201 (struct ct_color, init_color_table, free_color_table)
202 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
203 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
204 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
205 (x_disable_image, x_build_heuristic_mask)
206 (XBM support, XPM support, PBM support, PNG support, JPEG support)
207 (TIFF support, GIF support, Ghostscript support): Merge with
208 w32fns.c and macfns.c image code into image.c.
209 (syms_of_xfns): Move image related symbols to image.c.
210 (init_xfns): Remove; initialization moved to init_image in image.c.
211
212 * lisp.h (syms_of_image, init_image): Add protoypes.
213 (init_xfns): Remove prototype.
214
215 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
216 (x_reference_bitmap, x_create_bitmap_from_data)
217 (x_create_bitmap_from_file, x_destroy_bitmap)
218 (x_create_bitmap_mask): Move prototypes from dispextern.h.
219 (gamma_correct) [MAC_OS]: Add prototype.
220
221 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
222 (x_reference_bitmap, x_create_bitmap_from_data)
223 (x_create_bitmap_from_file, x_destroy_bitmap)
224 (x_create_bitmap_mask): Move prototypes to dispextern.h.
225
6eced09c
KH
2262004-03-09 Kenichi Handa <handa@etlken2>
227
228 * coding.c (decode_coding_emacs_mule): Handle insufficent source
229 correctly.
230
9a7e95f3
RS
2312004-03-04 Richard M. Stallman <rms@gnu.org>
232
04a6e76b
RS
233 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
234
9a7e95f3
RS
235 * window.c (Fdisplay_buffer): Doc fix.
236
237 * buffer.c (Fpop_to_buffer): Doc fix.
238
6c2488df
KS
2392004-03-03 Kim F. Storm <storm@cua.dk>
240
241 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
242
d8d95bc7
SM
2432004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
244
245 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
246
357589bf
RS
2472004-03-02 Richard M. Stallman <rms@gnu.org>
248
249 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
250
409949b5
KH
2512004-03-02 Kenichi Handa <handa@m17n.org>
252
253 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
254
d24bc50f
KS
2552004-03-02 Kim F. Storm <storm@cua.dk>
256
257 * window.h (struct window): New member overlay_arrow_bitmap.
258
259 * window.c (make_window): Initialize overlay_arrow_bitmap.
260
261 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
262 implement and integrate multiple overlay arrows with redisplay.
263 (syms_of_xdisp): DEFVAR_LISP and initialize it.
264 (last_arrow_position, last_arrow_string): Replace by properties.
265 (Qlast_arrow_position, Qlast_arrow_string)
266 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
267 (syms_of_xdisp): Intern and staticpro them.
268 (overlay_arrow_string_or_property, update_overlay_arrows)
269 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
270 (overlay_arrow_at_row): New functions for multiple overlay arrows.
271 (redisplay_internal): Use them instead of directly accessing
272 Voverlay_arrow_position etc. for multiple overlay arrows.
273 (mark_window_display_accurate): Use update_overlay_arrows.
274 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
275 (try_window_id): Use overlay_arrows_changed_p.
276 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
277 (display_line): Use overlay_arrow_at_row to check multiple
278 overlay arrows, and get relevant overlay-arrow-string and
d8d95bc7 279 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
d24bc50f
KS
280 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
281 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
282
283 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
284 (update_window_fringes): Remove unused code.
285
c1464661
JR
2862004-03-01 Jason Rumney <jasonr@gnu.org>
287
288 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
289
a64387ee
JB
2902004-03-01 Juanma Barranquero <lektu@terra.es>
291
292 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
293
294 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
295
334faa08
JD
2962004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
297
298 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
299 how many colors can be displayed.
300
bb62616f
KH
3012004-03-01 Kenichi Handa <handa@m17n.org>
302
303 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
304 correctly.
305
0fd16104
KS
3062004-02-28 Kim F. Storm <storm@cua.dk>
307
308 * dispnew.c (update_window): Update header line also if there are
309 no other changes in window (move code after set_cursor label).
310
311 * lisp.h (mark_window_display_accurate): Remove prototype.
312
313 * window.c (window_loop, Fforce_window_update): Force mode line
314 updates by setting prevent_redisplay_optimizations_p and
315 update_mode_lines.
316
b59dd9c8
JD
3172004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
318
d8d95bc7 319 * xfns.c (x_window): Fix indentation.
b59dd9c8
JD
320
321 * xterm.c (x_calc_absolute_position): Call x_real_positions
322 to get WM window sizes and use those to calculate position.
d8d95bc7 323 (x_set_offset): Remove code commented out.
b59dd9c8 324
a874691c
MB
3252004-02-28 Miles Bader <miles@gnu.org>
326
327 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
328
3e0c6482
KS
3292004-02-28 Kim F. Storm <storm@cua.dk>
330
331 * keyboard.c (kbd_buffer_store_event_hold): New function to store
332 an event into kbd fifo, but with special handling of quit event;
333 a quit event is saved for later, and further events are discarded
334 until the saved quit event has been processed.
335 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
336 (gen_help_event): Store help event in kbd fifo.
337 (NREAD_INPUT_EVENTS): Remove.
338 (read_avail_input): Adapt to new read_socket_hook interface.
339 Remove allocation and initialization of local input_event buffer,
340 as read_socket_hook stores events directly in fifo. Allocate and
341 initialize local hold_quit event to handle postponed quit event
342 (and store it if set by kbd_buffer_store_event_hold).
343
344 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
345 (gen_help_event): Fix prototype.
346
a64387ee 347 * macterm.c (XTread_socket): Remove bufp_r and
3e0c6482
KS
348 numcharsp args. Add hold_quit arg.
349 Rework to use just one, local, inev input_event. Store inev
350 directly in fifo using kbd_buffer_store_event_hold.
351
352 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
353 (read_input_waiting): Adapt to new read_socket_hook interface.
354 Remove allocation and initialization of local input_event buffer,
355 as read_socket_hook stores events directly in fifo. Allocate and
356 initialize local hold_quit event to handle postponed quit event
357 (and store it if set by kbd_buffer_store_event_hold).
358
a64387ee 359 * term.c (read_socket_hook): Fix arg list.
3e0c6482
KS
360
361 * termhooks.h (read_socket_hook): Fix prototype.
362
363 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
364 numcharsp args. Add hold_quit arg.
365 Rework to use just one, local, inev input_event. Store inev
366 directly in fifo using kbd_buffer_store_event_hold.
367
368 * w32inevt.h (w32_console_mouse_position): Fix prototype.
369
370 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
371 Add hold_quit arg. Rework to use just one, local, inev
372 input_event. Store inev directly in fifo using
373 kbd_buffer_store_event_hold. Update count in one place.
374 Postpone call to gen_help_event until inev is stored; use new
375 local do_help for this.
376 Remove local emacs_event in handing of ButtonPress event; just use
377 inev instead (so no reason to copy it later).
378
379 * xsmfns.c (x_session_check_input): Remove numchars arg.
380
d8d95bc7
SM
381 * xterm.c (x_focus_changed, x_detect_focus_change):
382 Remove numchars arg. Always store event into bufp arg.
383 Return nothing. Callers changed accordingly.
3e0c6482
KS
384 (glyph_rect): Simplify.
385 (STORE_KEYSYM_FOR_DEBUG): New macro.
386 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
387 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
388 (current_hold_quit) [USE_GTK]: Add.
389 (event_handler_gdk): Adapt to new handle_one_xevent.
390 (handle_one_xevent): Remove bufp_r and numcharsp args.
391 Add hold_quit arg. Rework to use just one, local, inev
392 input_event. Store inev directly in fifo using
393 kbd_buffer_store_event_hold. Update count in one place.
394 Postpone call to gen_help_event until inev is stored; use new
395 local do_help for this.
396 Simplify handling of keysyms (consolidate common code). Fix bug
397 where count was updated with nchars instead of nbytes.
398 Remove local emacs_event in handing of ButtonPress event; just use
399 inev instead (so no reason to copy it later).
400 Remove `out' label. Rename label `ret' to `done'; add various
401 `goto done' to clarify code flow in deeply nested blocks.
402 (x_dispatch_event): Simplify as handle_one_xevent now calls
403 kbd_buffer_store_event itself.
404 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
405 arg. Call handle_one_xevent with new arglist. Store event from
406 x_session_check_input in fifo.
407 [USE_GTK]: Setup current_hold_quit.
408 Decrement handling_signal before unblocking input.
409 (x_initialize) [USE_GTK]: Initialize current_count.
410
411 * xterm.h (x_session_check_input): Fix prototype.
412
e3564461 4132004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
a64387ee 414
d8d95bc7 415 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
a64387ee 416
e3564461
ST
417 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
418 macgui.h).
a64387ee 419
e3564461 420 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
a64387ee 421
e3564461
ST
422 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
423 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
424 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
425 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
426 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
427 (Bitmap): Remove typedef.
428 (Pixmap): Change int to GWorldPtr.
429
d8d95bc7 430 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
a64387ee 431
d8d95bc7
SM
432 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
433 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
434 New #define to extract 16-bit depth color components from unsigned
e3564461
ST
435 long representation.
436 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
437 colors used for masks.
438 (struct mac_display_info): Add color_p. Remove n_cbits.
a64387ee 439
e3564461
ST
440 * macfns.c: Include sys/types.h and sys/stat.h.
441 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
442 Include QuickTime/QuickTime.h.
443 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
444 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
445 functions defined in macterm.c.
446 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
447 (ZPixmap): New #define for compatibility with xfns.c.
448 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
449 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
d8d95bc7
SM
450 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
451 New functions.
e3564461 452 (four_corners_best, x_create_x_image_and_pixmap)
d8d95bc7
SM
453 (x_destroy_x_image, unwind_create_frame, x_disable_image)
454 (x_edge_detection, init_color_table, colors_in_color_table)
e3564461
ST
455 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
456 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
457 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
458 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
459 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
460 long mixup.
461 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
462 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
463 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
464 (x_set_cursor_type, Fxw_color_values, valid_image_p)
465 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
466 (x_alloc_image_color, clear_image_cache, lookup_image)
467 (x_find_image_file, xbm_read_bitmap_file_data)
468 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
469 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
470 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
471 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
472 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
d8d95bc7 473 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
e3564461
ST
474 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
475 #if 0.
476 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
477 #if 0. Free white_relief.gc and black_relief.gc.
d8d95bc7
SM
478 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
479 New functions (from xfns.c).
e3564461
ST
480 (Fx_create_frame): Record unwind_create_frame.
481 (Fxw_display_color_p): Use dpyinfo->color_p.
482 (Fx_display_grayscale_p, Fx_display_planes): Don't use
483 dpyinfo->n_cbits.
484 (Fx_display_color_cells): Use dpyinfo->n_planes;
485 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
486 (Qheuristic, cross_disabled_images, emboss_matrix)
487 (laplace_matrix): New variables (from xfns.c).
488 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
489 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
490 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
d8d95bc7
SM
491 (image_background_transparent): New function (from xfns.c).
492 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
e3564461
ST
493 (image_load_quicktime): Add declaration.
494 [MAC_OSX] (image_load_quartz2d): Likewise.
495 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
496 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
d8d95bc7 497 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
e3564461
ST
498 (xbm_load_image_from_file, x_laplace_read_row)
499 (x_laplace_write_row, pbm_read_file): Remove functions.
500 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
501 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
502 (colors_in_color_table): Sync with xfns.c (although not used).
503 (lookup_rgb_color): Don't lookup color table. Just do gamma
504 correction.
505 (COLOR_INTENSITY): New #define (from xfns.c).
d8d95bc7
SM
506 (x_disable_image): New function (from xfns.c).
507 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
508 (x_build_heuristic_mask): Sync with xfns.c.
509 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
e3564461
ST
510 (HAVE_PBM): Remove #ifdef.
511 (pbm_load): Sync with xfns.c. Set img->width and img->height
512 before IMAGE_BACKGROUND.
d8d95bc7 513 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
e3564461
ST
514 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
515 Don't enclose with #if HAVE_PNG.
516 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
d8d95bc7
SM
517 symbol _CGImageCreateWithPNGDataProvider is defined.
518 Otherwise use image_load_quicktime.
e3564461 519 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
d8d95bc7
SM
520 [HAVE_PNG] (png_load): Sync with xfns.c.
521 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
e3564461
ST
522 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
523 HAVE_JPEG.
524 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
525 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
526 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
527 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
528 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
529 (tiff_image_p, tiff_load): Don't enclose declarations with #if
530 HAVE_TIFF.
531 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
532 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
533 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
d8d95bc7
SM
534 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
535 New functions (from xfns.c).
e3564461 536 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
d8d95bc7 537 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
e3564461
ST
538 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
539 Don't enclose with #if HAVE_GIF.
540 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
541 animated gif. Otherwise use image_load_quicktime.
542 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
543 gif_DrawText to avoid conflict with QuickdrawText.h.
544 [HAVE_GIF] (gif_load): Sync with xfns.c.
545 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
546 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
547 Ghostscript is not supported yet).
548 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
549 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
550 cross_disabled_images (from xfns.c). Remove #if 0 for supported
551 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
552 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
553 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
d8d95bc7
SM
554 HAVE_PNG. Call EnterMovies to support animated gifs.
555 Call init_image_func_pointer to bind a symbol
e3564461 556 _CGImageCreateWithPNGDataProvider if it is defined.
a64387ee 557
d8d95bc7 558 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
e3564461
ST
559 (x_draw_bar_cursor): Sync declaration with xterm.c.
560 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
561 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
562 graphics).
563 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
564 (mac_draw_line_to_pixmap, XCreatePixmap)
565 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
d8d95bc7
SM
566 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
567 New functions.
568 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
569 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
570 Cast bits to char *.
e3564461
ST
571 (reflect_byte): New function (from w32fns.c).
572 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
573 due to byte alignment.
d8d95bc7
SM
574 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
575 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
e3564461
ST
576 (XSetForeground): Remove static (now used in macfns.c).
577 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
578 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
579 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
580 (x_draw_glyph_string_box, x_draw_image_foreground)
581 (x_draw_image_foreground_1, x_draw_image_glyph_string)
582 (x_draw_stretch_glyph_string, x_draw_glyph_string)
583 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
584 Sync with xterm.c.
585 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
586 than the xterm.c version when a strictly horizontal or vertical
587 line is drawn.
588 (XTset_terminal_window): Add static.
589 (x_make_frame_visible): Add UNBLOCK_INPUT.
590 (x_free_frame_resources): New funcion (from xterm.c).
591 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
592 occurs in tool bar area.
d8d95bc7
SM
593 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
594 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
e3564461
ST
595 Initialize image cache.
596 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
597 Enclose unused functions with #if 0.
598 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
599 (decode_mac_font_name): New function to apply code conversions
d8d95bc7 600 from a mac font name to an XLFD font name according to its script code.
e3564461 601 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
d8d95bc7 602 font name to a mac font name according to REGISTRY and ENCODING fields.
e3564461
ST
603 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
604 whose name starts with `.'.
605 (init_font_name_table): Use decode_mac_font_name. Add both
606 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
607 of a font is smJapanese.
608 (mac_do_list_fonts): New function to list fonts that match a given
609 pattern.
610 (x_list_fonts, XLoadQueryFont): Use it.
611 (XLoadQueryFont): Set rbearing field for each variable width
612 character to avoid needless redraw.
613 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
614
446f5f3d
KS
6152004-02-26 Kim F. Storm <storm@cua.dk>
616
af617d0f
KS
617 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
618 as read_socket_hook handler on X aborts if buffer is too small
619 and W32 handler doesn't always check buffer limit.
620
446f5f3d
KS
621 * xdisp.c (handle_single_display_prop): Handle left-fringe and
622 right-fringe similar to a display margin image. Specifically,
623 the characters having the fringe prop are no longer shown, and
624 we use IT_IMAGE/next_element_from_image with image_id = -1 to
625 do this. Set fringe bitmap face_id in it->face_id.
626 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
627 still realize it->face (i.e. the fringe bitmap face).
628
7d8a0b55
MB
6292004-02-25 Miles Bader <miles@gnu.org>
630
631 * xdisp.c (check_it): Check string/string_pos consistency.
632 (init_iterator): Initialize string-related fields properly.
633
6342004-02-11 Miles Bader <miles@gnu.org>
635
636 * xdisp.c (produce_image_glyph): Force negative descents to zero.
637
6382004-02-10 Miles Bader <miles@gnu.org>
639
640 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
641 BLOCK_INPUT can be nested, so it doesn't make much sense.
642
a64387ee 6432004-02-24 Michael Mauger <mmaug@yahoo.com>
ce35edd1
JR
644
645 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
646 (xbm_read_bitmap_data): Use unsigned char for image data.
647
92f5fba2
LT
6482004-02-23 Luc Teirlinck <teirllm@auburn.edu>
649
650 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
651
8565fb3d
JR
6522004-02-22 Jason Rumney <jasonr@gnu.org>
653
654 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
655 correctly over other bitmaps.
656
f8125c39
EZ
6572004-02-21 Eli Zaretskii <eliz@elta.co.il>
658
659 * emacs.c (USAGE1): Split into two halves.
660 (USAGE2): Second half of the old USAGE1.
d8d95bc7
SM
661 (USAGE3): Rename from USAGE2.
662 (USAGE4): Rename from USAGE3.
f8125c39 663
4effffca
EZ
6642004-02-21 Juri Linkov <juri@jurta.org>
665
666 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
667 Fix --multibyte. Move --help, --version to USAGE2. Add alias
668 --file. Fix -f, -l. Sort options. Untabify.
669 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
670
923c1e6f
LT
6712004-02-19 Luc Teirlinck <teirllm@auburn.edu>
672
673 * category.c (Fdefine_category, Fcategory_docstring)
674 (Fget_unused_category, Fset_category_table)
675 (Fcategory_set_mnemonics): Doc fixes.
676
b0e225fd
KS
6772004-02-20 Kim F. Storm <storm@cua.dk>
678
679 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
680 The following changes are relative to the 2004-01-21 revision.
681 (NREAD_INPUT_EVENTS): Define as max number of input events to read
682 in one call to read_socket_hook. Value is 8.
683 (read_avail_input): Separate and rework handling of read_socket_hook
684 and non-read_socket_hook cases. Use smaller input_event buffer
d8d95bc7
SM
685 in read_socket_hook case, and repeat if full buffer is read.
686 Use new local variable 'discard' to skip input after C-g.
b0e225fd
KS
687 In non-read_socket_hook case, just use a single input_event, and
688 call kbd_buffer_store_event on the fly for each character.
689
b15aa9f9
SM
6902004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
691
692 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
693 Remove unused `gu' alternative.
694
83c9aa95
AS
6952004-02-19 Andreas Schwab <schwab@suse.de>
696
697 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
698 warning.
699
cc808173
KS
7002004-02-18 Kim F. Storm <storm@cua.dk>
701
702 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
703 Fix last change.
704
ab90a54d
KS
7052004-02-17 Kim F. Storm <storm@cua.dk>
706
b26f249f
KS
707 * xdisp.c (fast_find_position): Fix return value of new version;
708 it was inverted compared to the 21.1 version.
709 (get_window_cursor_type): Don't look at glyph if NULL.
710 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
0bf7d005 711
ab90a54d
KS
712 * keyboard.c: Rework previous change; it didn't consider that the
713 buf array was allocated on the stack.
714 (prev_read): Remove variable.
715 (read_avail_input_buf): New static event buffer array.
b9568dfc 716 (in_read_avail_input): New static variable to handle re-entrancy.
ab90a54d 717 (read_avail_input): Change buf to pinter to read_avail_input_buf.
b9568dfc
KS
718 Use in_read_avail_input to handle re-entrance; when re-entered,
719 fully initialize and use tmp_buf array instead of read_avail_input_buf.
720 Do not initialize read_avail_input_buf in full here; instead assume it
ab90a54d
KS
721 is always cleared on entry. To ensure that, we clear (just) the
722 entries that were used before we return.
723 (init_keyboard): Initialize read_avail_input_buf here.
724
4e039f3f
EZ
7252004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change)
726
727 * cmds.c (Fend_of_line): Doc fix.
728
7b5368c1
EZ
7292004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
730
731 * keyboard.c (prev_read): New static variable.
732 (read_avail_input): Use it to zero out only those slots in buf[]
733 that were used last time we were called.
734
ca4bc494
EZ
7352004-02-16 Eli Zaretskii <eliz@elta.co.il>
736
737 * Makefile.in (obj): Move fringe.o from here...
738 (XOBJ, MAC_OBJ): ...to here.
739
159c348e
SE
7402004-02-16 Stephen Eglen <stephen@gnu.org>
741
742 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
743
d2f14999
SM
7442004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
745
b15aa9f9
SM
746 * data.c (Fbyteorder):
747 * fringe.c (Fdefine_fringe_bitmap):
748 * xdisp.c (handle_single_display_prop):
d2f14999
SM
749 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
750
8d50508a
JR
7512004-02-16 Jason Rumney <jasonr@gnu.org>
752
753 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
754
dd4497dc
ST
7552004-02-15 Steven Tamm <steventamm@mac.com>
756
757 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
758 controlling emulation of a three button mouse with option and
759 command keys.
760 (Qreverse, mac_get_enumlated_btn): Handle the emulation
b15aa9f9 761 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
dd4497dc 762
c9159cb3
KS
7632004-02-15 Kim F. Storm <storm@cua.dk>
764
2cc52658
KS
765 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
766
c9159cb3
KS
767 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
768 Perform byte-swapping.
769
12fde2dc
KS
7702004-02-14 Kim F. Storm <storm@cua.dk>
771
772 * dispextern.h (struct draw_fringe_bitmap_params): Change member
773 bits from char to short to facilitate wider bitmaps.
774 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
775 member.
776
777 * fringe.c (struct fringe_bitmap): Change member bits from char to
778 short to facilitate 16 bits wide bitmaps. Modify all standard
779 bitmaps accordingly.
780 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
781 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
782 (draw_fringe_bitmap): Ditto.
783 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
784 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
785 handle up to 16 bits wide bitmaps.
786 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
f21a7192 787 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
12fde2dc
KS
788
789 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
790 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
791 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
792
793 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
794 so it is no longer necessary to expand them here.
795
796 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
797
9d7271e8
KS
7982004-02-12 Kim F. Storm <storm@cua.dk>
799
800 * window.c (Fwindow_fringes): Doc fix.
801
706c1e4f
JD
8022004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
803
804 * xselect.c (x_get_foreign_selection): Add new optional parameter
805 time_stamp.
806 (Fx_get_selection_internal): Ditto, pass time_stamp to
807 x_get_foreign_selection.
808
809 * data.c (Fbyteorder): New function.
810
c2d12b5d
JD
8112004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
812
813 * atimer.c: Move include stdio.h to same place as in other files.
814
815 * region-cache.c: Ditto.
816
817 * sysdep.c: Ditto.
818
819 * xfaces.c: Ditto.
820
4c1947b9
SS
8212004-02-09 Sam Steingold <sds@gnu.org>
822
823 * w32term.c (w32_draw_fringe_bitmap): Fixed a typo in the last patch.
824
82722af3
KS
8252004-02-09 Kim F. Storm <storm@cua.dk>
826
827 * fringe.c: New file. Move original fringe related declarations
828 and code from dispextern.h and xdisp.c here.
829 Rework code to support user defined fringe bitmaps, redefining
830 standard bitmaps, ability to overlay user defined bitmap with
831 overlay arrow bitmap, and add faces to bitmaps.
832 (Voverflow_newline_into_fringe): Declare here.
833 (enum fringe_bitmap_align): New enum.
834 (..._bits): All bitmaps are now defined without bitswapping; that
835 is now done in init_fringe_once (if necessary).
836 (standard_bitmaps): New array with specifications for the
837 standard fringe bitmaps.
838 (fringe_faces): New array.
839 (valid_fringe_bitmap_id_p): New function.
840 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
841 (draw_fringe_bitmap): New function which draws fringe bitmap,
842 possibly overlaying bitmap with cursor in right fringe or the
843 overlay arrow in the left fringe.
844 (update_window_fringes): Do not handle overlay arrow here.
845 Compare and copy fringe bitmap faces.
846 (init_fringe_bitmap): New function.
847 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
848 define and destroy user defined fringe bitmaps.
849 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
850 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
851 (syms_of_fringe): New function. Defsubr new DEFUNs.
852 DEFVAR_LISP Voverflow_newline_into_fringe.
853 (init_fringe_once, init_fringe): New functions.
854 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
4c1947b9 855
82722af3
KS
856 * Makefile.in (obj): Add fringe.o.
857 (fringe.o): New dependencies.
858
859 * dispextern.h (FRINGE_ID_BITS): New definition for number of
860 bits allocated to hold a fringe number. Increase number of bits
861 from 4 to 8 to allow user defined fringe bitmaps.
862 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
863 left_user_fringe_face_id, right_user_fringe_bitmap,
864 right_user_fringe_face_id.
865 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
866 Move to new file fringe.c.
867 (MAX_FRINGE_BITMAPS): Define here.
868 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
869 and overlay_p. Change member which to int.
870 (struct redisplay_interface): New members define_fringe_bitmap
871 and destroy_fringe_bitmap.
872 (valid_fringe_bitmap_id_p): Add prototype.
873 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
874
875 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
876 arrows.
877 (update_frame): Do flush_display if force_flush_display_p to
878 ensure display (specifically fringes) are updated in a timely
879 manner when resizing the frame by dragging the mouse.
880 (update_window_line): Update row if overlay arrow changed.
881 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
882 or overlay arrow changed.
883
884 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
885 syms_of_fringe, and init_fringe.
886
887 * frame.h (struct frame): New member force_flush_display_p.
888
889 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
890 Add prototypes.
891
a3993cc8 892 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
a64387ee 893 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
a3993cc8
KS
894 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
895 Use cursor color for displaying cursor in fringe.
82722af3
KS
896 (x_redisplay_interface): Add null handlers for
897 define_fringe_bitmap and destroy_fringe_bitmap functions.
898
899 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
900 xterm.c to handle overlayed fringe bitmaps and to use cursor color
901 for displaying cursor in fringe.
902 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
903 specific functions to define and destroy fringe bitmaps in fringe_bmp.
904 (w32_redisplay_interface): Add them to redisplay_interface.
905 (w32_term_init): Call w32_init_fringe instead of explicitly
906 defining fringe bitmaps in fringe_bmp array.
907 (x_delete_display): Call w32_reset_fringes instead of explicitly
908 destroying fringe bitmaps in fringe_bmp array.
909
910 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
911 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
912 (continued_bits, continuation_bits, ov_bits, first_line_bits)
913 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
914 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
915 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
916 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
917 Move fringe handling vars and code to new file fringe.c.
918 (handle_display_prop): Handle left-fringe and right-fringe
919 display properties; store user fringe bitmaps in iterator.
920 (move_it_in_display_line_to): Handle cursor in fringe at eob.
921 (clear_garbaged_frames): Set force_flush_display_p if resized.
922 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
923 (display_line): Handle cursor in fringe at eob.
924 (display_line): Set row user fringe bitmaps from iterator.
925
926 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
927 Use cursor color for displaying cursor in fringe.
928 (x_redisplay_interface): Add null handlers for
929 define_fringe_bitmap and destroy_fringe_bitmap functions.
930
030400eb
JD
9312004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
932
933 * macfns.c (Fx_change_window_property): Make doc string and
934 parameters same as for X version.
935
936 * w32fns.c (Fx_change_window_property): Ditto.
937
3af55251
KS
9382004-02-07 Kim F. Storm <storm@cua.dk>
939
ec110e9e
KS
940 * xdisp.c (hscroll_window_tree): Position cursor near to right
941 margin in hscrolled window when jumping to end of line (rather
942 than centering cursor).
943
3af55251
KS
944 * process.c (wait_reading_process_input): Don't do adaptive read
945 buffering if waiting for a specific process.
946
b0c138ce
LT
9472004-02-05 Luc Teirlinck <teirllm@auburn.edu>
948
949 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
950 (Fread_minibuffer, Feval_minibuffer)
951 (Fread_string, Fread_no_blanks_input)
952 (Fcompleting_read): Doc fixes.
953 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
954 completion-regexp-list. Define Qcase_fold_search and staticpro it.
955 (read_minibuf): Fix initial comment.
956 (Ftry_completion, Fall_completions, Ftest_completion): Bind
957 case-fold-serach to the value of completion-ignore-case when
958 checking completion-regexp-list.
959 (Fdisplay_completion_list): Make it handle arguments that are
960 symbols. Doc fix.
961
9676f5ad 9622004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
64d1e373 963
9676f5ad 964 * xterm.h: Add declaration of free_frame_menubar.
64d1e373 965
9676f5ad
JD
966 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
967 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
b0c138ce 968 (Fx_change_window_property): Add declaration of parameters type and
9676f5ad 969 format. Remove unused variable cons.
5b698285
JD
970
971 * xselect.c: Include stdio,h.
972
fc1d15f6
KH
9732004-02-05 Kenichi Handa <handa@m17n.org>
974
ebaff4af
KH
975 * fns.c (Fset_char_table_range): Fix previous change.
976
fc1d15f6
KH
977 * buffer.c (Fset_buffer_multibyte): Fix docstring.
978
9676f5ad
JD
9792004-02-04 Luc Teirlinck <teirllm@auburn.edu>
980
981 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
982
da75761f
SM
9832004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
984
985 * keymap.c (Vmouse_events): Rename from Vmenu_events.
986 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
987
13c5d120
KH
9882004-02-04 Kenichi Handa <handa@m17n.org>
989
990 * fns.c (Fset_char_table_range): Handle charsets ascii,
991 eight-bit-control, and eight-bit-graphic correctly.
992
2883d842
JR
9932004-02-03 Jason Rumney <jasonr@gnu.org>
994
995 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
996
997 * w32fns.c (x_to_w32_font): Likewise.
998
69eff41f
JD
9992004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1000
1001 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
1002 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
1003
1004 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
1005 ClientMessages.
1006
1007 * xselect.c: Include termhooks.h and X11/Xproto.h
1008 (x_check_property_data, x_fill_property_data)
1009 (x_property_data_to_lisp, mouse_position_for_drop)
1010 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
da75761f 1011 (Fx_send_client_event): Move here from xfns.c.
69eff41f
JD
1012 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
1013
da75761f 1014 * xfns.c (x-send-client-message): Move to xselect.c
69eff41f
JD
1015 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
1016 OUTER_P.
1017 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
1018 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
1019 if vector_ret_p is true.
1020 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
69eff41f 1021
dcdbbb5d
EZ
10222004-02-02 Eli Zaretskii <eliz@elta.co.il>
1023
1024 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
1025 basename of FILE relative to it, not FILE itself.
1026
09721b31
KH
10272004-02-02 Kenichi Handa <handa@m17n.org>
1028
1029 * coding.c (coding_restore_composition): Check invalid
1030 composition data more rigidly.
1031
eb996101
LT
10322004-01-30 Luc Teirlinck <teirllm@auburn.edu>
1033
1034 * fileio.c (Fread_file_name_internal): Correctly handle the case
1035 where insert-default-directory is nil.
1036 (Fread_file_name): Always return an empty string if the user exits
1037 with an empty minibuffer. Adapt the docstring accordingly.
1038 (syms_of_fileio): Adapt the docstring of insert-default-directory
1039 to the change in Fread_file_name.
1040
a0367d42
EZ
10412004-01-29 Eli Zaretskii <eliz@elta.co.il>
1042
1043 * alloca.c [!alloca]: Fix the prototype for xfree.
1044
13f52ed8
KH
10452004-01-29 Kenichi Handa <handa@m17n.org>
1046
1047 * fns.c (string_char_to_byte): Optimize for ASCII only string.
1048 (string_byte_to_char): Likewise.
1049
d57625a0
JR
10502004-01-28 Peter Runestig <peter@runestig.com>
1051
1052 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
1053
a64387ee 10542004-01-27 Steven Tamm <steventamm@mac.com>
911c78b4
ST
1055
1056 * unexmacosx.c (unexec_copy): Do not copy more than was
1057 requested to prevent overwriting during unexec.
1058
eb37b8fd
JD
10592004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1060
ce38070a
JD
1061 * process.c (sigchld_handler): Add comment about not calling malloc.
1062
eb37b8fd
JD
1063 * process.h: Add extern to synch_process_termsig.
1064
a64387ee 10652004-01-27 Steven Tamm <steventamm@mac.com>
21a3e657 1066
da75761f
SM
1067 * macterm.c (make_mac_frame, make_mac_terminal_frame):
1068 Move setting of scroll bars from make_mac_frame to
1069 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
21a3e657 1070
d62a265d
RS
10712004-01-26 Richard M. Stallman <rms@gnu.org>
1072
1073 * search.c (Freplace_match): Handle nonexistent
1074 back-references properly.
1075
10762004-01-03 Richard M. Stallman <rms@gnu.org>
1077
1078 * window.c (decode_any_window): New function.
1079 (Fwindow_height, Fwindow_width, Fwindow_edges)
1080 (Fwindow_pixel_edges, Fwindow_inside_edges)
1081 (Fwindow_inside_pixel_edges): Use decode_any_window.
1082
ff236419
JD
10832004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1084
1085 * process.h: synch_process_termsig new variable.
1086
1087 * callproc.c: Define synch_process_termsig.
1088 (Fcall_process): Initiate synch_process_termsig to zero and
1089 check if non-zero and get signal name after subprocess has ended.
1090
1091 * process.c (sigchld_handler): Set synch_process_termsig
1092 if terminated by a signal. synch_process_death setting removed.
1093
1094 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
1095
41b867ea
AS
10962004-01-26 Andreas Schwab <schwab@suse.de>
1097
1098 * print.c (print_preprocess): Declare size as EMACS_INT to not
1099 lose bits.
1100 (print_object): Likewise.
1101 * alloc.c (Fpurecopy): Likewise.
1102
a08084ff
LT
11032004-01-25 Luc Teirlinck <teirllm@auburn.edu>
1104
1105 * window.c (Fwindow_minibuffer_p): Doc fix.
1106
b19ac475
JY
11072004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
1108
1109 * editfns.c (Fformat): Make both passes accept the same set of flags.
1110
fe905025
KH
11112004-01-23 Kenichi Handa <handa@m17n.org>
1112
1113 * fns.c (Fmd5): If OBJECT is a buffer different from the current
1114 one, set buffer to OBJECT temporarily.
1115
438fc6c0
SM
11162004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
1117
455316e2
SM
1118 * keyboard.c (kbd_buffer_gcpro): Remove.
1119 (kbd_buffer_store_event, clear_event, Fdiscard_input)
1120 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
1121 Don't initialize and/or maintain the variable any more. It was made
1122 redundant by my commit of 2003-06-15.
1123
438fc6c0
SM
1124 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
1125
5335a4ee
JD
11262004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1127
1128 * lisp.h: Add undef DECL_ALIGN.
1129
dcdaeebc
SM
11302004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
1131
1132 * process.c (wait_reading_process_input) [SYNC_INPUT]:
1133 Check interrupt_input_pending explicitly.
1134
1135 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
1136
1137 * keyboard.c (handle_async_input): New fun,
1138 extracted from input_available_signal.
1139 (input_available_signal, reinvoke_input_signal): Use it.
1140
9076a823
SM
11412004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
1142
d7107586
SM
1143 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
1144
1145 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
1146 manipulation macros for when tags are in the lower bits.
1147 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
1148 (DECL_ALIGN): New macro.
1149 (DEFUN): Use it.
1150
1151 * lisp.h [ENABLE_CHECKING]: Don't force union type.
1152
1153 * s/darwin.h (__attribute__): Remove outdated workaround.
1154
1155 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
1156
1157 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
1158 Don't check range of malloc address.
1159 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
1160
9076a823
SM
1161 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
1162
1163 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
1164
ba029065
KH
11652004-01-19 Kenichi Handa <handa@m17n.org>
1166
1167 * fontset.c (fontset_font_pattern): Fix previous change.
1168
7af0e8d7
MB
11692004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
1170
1171 * xdisp.c (Voverflow_newline_into_fringe)
1172 (move_it_in_display_line_to, redisplay_internal)
1173 (update_window_fringes, redisplay_window, display_line, window):
1174 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
1175 that it compiles without a window-system.
1176 * dispnew.c (direct_output_for_insert, update_window): Likewise.
1177
77a9cf69
KS
11782004-01-16 Kim F. Storm <storm@cua.dk>
1179
1180 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
1181
a64387ee 1182 * buffer.c (init_buffer_once): Set buffer_defaults and
77a9cf69
KS
1183 buffer_local_flags for indicate_buffer_boundaries.
1184 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
1185 default- variable for it.
1186
1187 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
1188 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
d7107586 1189 New members exact_window_width_line_p and cursor_in_fringe_p for
77a9cf69
KS
1190 overflowing newlines into right fringe.
1191 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
1192 and indicate_bottom_line_p for buffer boundaries and scrolling.
1193 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
1194 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
1195 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
1196 and HOLLOW_SQUARE_BITMAP.
1197 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
1198 Add prototypes.
1199
1200 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
1201 instead of related indicator fields.
1202 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
1203 (direct_output_for_insert): Handle exact width lines like
1204 contined lines. Call update_window_fringes.
1205 (update_window): Call update_window_fringes.
1206 (scrolling_window): Don't skip desired rows with changed bitmaps.
1207 Check if fringe bitmaps changes when assigning scrolled rows.
1208
1209 * xdisp.c (Voverflow_newline_into_fringe): New variable.
1210 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
1211 (move_it_in_display_line_to): Overflow newline into fringe for
1212 rows that are exactly as wide as the window.
1213 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
1214 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
1215 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
1216 (fringe_bitmaps): Add new bitmaps.
1217 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
1218 Select proper bitmap for cursor in fringe when appropriate.
1219 Handle alignment of bitmap to top or bottom of row.
1220 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
1221 done by update_window_fringes.
1222 (update_window_fringes, draw_window_fringes): New functions.
1223 (redisplay_internal): Call update_window_fringes in case only
1224 cursor row is updated.
1225 (redisplay_window): Call update_window_fringes.
1226 Explicitly call draw_window_fringes if redisplay was done using
1227 the current matrix or the overlay arrow is in the window.
1228 (try_window_reusing_current_matrix): Mark scrolled rows for
1229 fringe update (to update buffer-boundaries / scrolling icons).
1230 (find_last_unchanged_at_beg_row): Handle exact width lines line
1231 continued lines.
1232 (display_line): Overflow newline into fringe for rows that are
1233 exactly as wide as the window. Don't append space for newline
d7107586 1234 in this case.
77a9cf69
KS
1235 (notice_overwritten_cursor): Explicitly clear cursor bitmap
1236 in fringe as if it had been overwritten.
1237 (erase_phys_cursor): Erase cursor bitmap in fringe.
d7107586 1238 (syms_of_xdisp): Mark show-trailing-whitespace and
77a9cf69
KS
1239 void-text-area-pointer as user options.
1240 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
d7107586 1241
77a9cf69
KS
1242 * xterm.c (x_update_window_end): Call draw_window_fringes.
1243 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
1244 in row instead of actually drawing fringe bitmaps.
1245 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
1246 (x_draw_window_cursor): Draw cursor in fringe.
1247
1248 * w32term.c (x_update_window_end): Call draw_window_fringes.
1249 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
1250 in row instead of actually drawing fringe bitmaps.
1251 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
1252 (w32_draw_window_cursor): Draw cursor in fringe.
1253
1254 * macterm.c (x_update_window_end): Call draw_window_fringes.
1255 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
1256 in row instead of actually drawing fringe bitmaps.
1257 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
1258 (mac_draw_window_cursor): Draw cursor in fringe.
1259
a633a954
JD
12602004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1261
1262 * xterm.c (handle_one_xevent): Don't handle characters that are part
1263 of an old style (XLookupString) compose sequence.
1264
80460525
KH
12652004-01-15 Kenichi Handa <handa@m17n.org>
1266
1267 * search.c (Freplace_match): Use make_multibyte_string or
1268 make_unibyte_string according to the buffer multibyteness.
1269
7fc34f85
SM
12702004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
1271
1272 * alloc.c (struct interval_block, struct string_block)
1273 (struct symbol_block, struct marker_block, live_string_p)
1274 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
1275 Better preserve alignment for objects in blocks.
1276 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
1277
1278 * lread.c (defvar_per_buffer): Remove dead declaration.
1279
1280 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
1281 space size.
1282
66070bd1
JD
12832004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1284
1285 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
1286 if a key press should pop down. Only pop down if a key is pressed
1287 outside the menu/dialog.
1288 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
1289 popup_get_selection.
1290 (create_and_show_dialog): Pass 1 for down_on_keypress to
1291 popup_get_selection.
1292
de7515d6
JD
12932004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1294
1295 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
1296 BLOCK/UNBLOCK_INPUT.
1297
160b1b50
JD
12982004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1299
1300 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
1301 specified.
1302
3a9f36e6
KH
13032004-01-08 Kenichi Handa <handa@m17n.org>
1304
1305 * editfns.c (Fformat): Fix '&' to '&&'.
1306
3803eb32
AS
13072004-01-08 Andreas Schwab <schwab@suse.de>
1308
1309 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
1310 size if PSEUDOVECTOR_FLAG is set.
1311
9da88f37
KH
13122004-01-07 Kenichi Handa <handa@m17n.org>
1313
74ac5074
KH
1314 * charset.c (Fdeclare_equiv_charset): Fix docstring.
1315
9da88f37
KH
1316 * fontset.c (fontset_ref_via_base): Fix previous change.
1317
05faee07
KS
13182004-01-07 Kim F. Storm <storm@cua.dk>
1319
1320 * process.c (read_process_output): Only activate adaptive
1321 buffering if we read less than 256 bytes at a time.
1322
634910c8
KS
13232004-01-06 Kim F. Storm <storm@cua.dk>
1324
1325 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
1326 object and image object. Return glyph width and height.
1327 (mode_line_string, marginal_area_string): Ditto.
1328
1329 * dispextern.h (buffer_posn_from_coords, mode_line_string)
1330 (marginal_area_string): Fix prototypes.
1331
1332 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
1333 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
1334 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
1335
1336 * keyboard.c (make_lispy_position): Use modified mode_line_string,
1337 buffer_posn_from_coords, and marginal_area_string functions to
1338 include both string object and image object in the lispy position.
1339 Also add actual glyph width and height to position.
1340 (read_key_sequence): Use real buffer position from mouse
1341 event to find keymap property even when click is in marginal area.
1342
1343 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
1344 mode_line_string and marginal_area_string functions to handle
1345 both string object and image object properties.
d7107586 1346
57951c2e
AS
13472004-01-06 Andreas Schwab <schwab@suse.de>
1348
1349 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
1350 character.
1351
181e6a61
AS
13522004-01-02 Andreas Schwab <schwab@suse.de>
1353
d7107586
SM
1354 * macterm.c (emacs_options, x_initialized, same_x_server):
1355 Remove unused (and duplicated) definitions.
181e6a61 1356
31e0fbdd
KS
13572004-01-02 Kim F. Storm <storm@cua.dk>
1358
1359 * process.h (struct Lisp_Process): New members for adaptive read
1360 buffering: adaptive_read_buffering, read_output_delay, and
1361 read_output_skip.
1362
1363 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
1364 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
1365 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
1366 (process_output_delay_count, process_output_skip): New vars.
1367 (Vprocess_adaptive_read_buffering): New variable.
1368 (make_process): Initialize adaptive read buffering members.
1369 (Fstart_process): Set adaptive_read_buffering member.
1370 (deactivate_process): Cleanup adaptive read buffering.
1371 (wait_reading_process_input): Temporarily omit delayed
1372 subprocesses from the set of file descriptors to read from;
1373 adjust the select timeout if we skipped any subprocesses.
1374 (read_process_output): Increase adaptive read buffering delay if
1375 we read less than a full buffer; reduce delay when we read a
1376 full buffer.
1377 (send_process): Simplify using local Lisp_Process var.
1378 Reset adaptive read buffering delay after write.
1379 (init_process): Initialize process_output_delay_count and
1380 process_output_skip.
1381 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
1382
68c6a789
JR
13832004-01-01 Jason Rumney <jasonr@gnu.org>
1384
d7107586 1385 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
68c6a789 1386
3f70fe82
LT
13872003-12-30 Luc Teirlinck <teirllm@auburn.edu>
1388
1389 * print.c (Ferror_message_string): Add hyperlink in the docstring
1390 to the definition of `signal' in the Elisp manual.
1391 * eval.c (Fsignal): Ditto.
1392
a64387ee 13932003-12-29 James Clark <jjc@jclark.com> (tiny change)
c2be49ed
EZ
1394
1395 * fns.c (internal_equal): Return t for two NaN arguments.
1396
7abd90ea
RS
13972003-12-29 Richard M. Stallman <rms@gnu.org>
1398
1399 * data.c (store_symval_forwarding): Handle setting
1400 default-fill-column, etc., by changing the value in
1401 buffers that use the default.
1402
1403 * minibuf.c (Fset_minibuffer_window): Doc fix.
1404
1405 * fileio.c (choose_write_coding_system): Ignore auto_saving
1406 if using the visited file for auto saves.
1407 (Fwrite_region): Don't update SAVE_MODIFF
1408 if auto-saving in visited file.
1409
3e7cfcdc
KH
14102003-12-29 Kenichi Handa <handa@m17n.org>
1411
1412 * dispextern.h (face_font_available_p): Extern it.
1413
1414 * fontset.c (Voverriding_fontspec_alist): New variable.
1415 (lookup_overriding_fontspec): New function.
d7107586 1416 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
3e7cfcdc
KH
1417 (fontset_font_pattern): Likewise.
1418 (regulalize_fontname): New function.
1419 (Fset_fontset_font): Call regulalize_fontname.
1420 (Fset_overriding_fontspec_internal): New function.
d7107586
SM
1421 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
1422 Defsubr Sset_overriding_fontspec_internal.
3e7cfcdc
KH
1423
1424 * xfaces.c (face_font_available_p): New function.
1425
7abd90ea
RS
14262003-12-28 Richard M. Stallman <rms@gnu.org>
1427
1428 * buffer.c (Fother_buffer): Don't crash if BUF is nil
1429 or if its name is nil.
1430
1431 * buffer.c (Fkill_buffer): Don't delete auto-save file
1432 if it's the same as the visited file.
1433
de1d1a40
LT
14342003-12-28 Luc Teirlinck <teirllm@auburn.edu>
1435
1436 * coding.c (Fcheck_coding_system): Doc fix.
1437
204fb75e
KS
14382003-12-28 Kim F. Storm <storm@cua.dk>
1439
1440 * Makefile.in (eval.o): Depend on dispextern.h.
1441
1442 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
1443 image glyph using image's ascent.
1444 (mode_line_string): Return image glyph as object clicked on.
1445 Adjust y0 for image glyph using image's ascent.
1446
1447 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
1448 (struct glyph): New members, ascent and descent. Used to save
1449 this glyph's ascent and descent, instead of having.
1450 (struct glyph): Declare member face_id using FACE_ID_BITS.
1451 (find_hot_spot): Add prototype.
1452
1453 * keyboard.c (Qimage): Remove extern (now in lisp.h).
1454 (QCmap): Declare extern.
1455 (make_lispy_position): When position is inside image hot-spot,
1456 use hot-spot element's id as posn element.
1457
1458 * lisp.h (IMAGEP): New macro to test for image object type.
1459 (Qimage): Declare extern.
1460
1461 * macfns.c (Qimage): Remove extern (now in lisp.h).
1462 (valid_image_p, parse_image_spec): Use IMAGEP macro.
1463
1464 * macterm.c (Qface, Qmouse_face): Remove unused externs.
1465
1466 * w32fns.c (Qimage): Remove extern (now in lisp.h).
1467 (valid_image_p, parse_image_spec): Use IMAGEP macro.
1468
1469 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
1470
1471 * w32term.c (Qface, Qmouse_face): Remove unused externs.
1472
1473 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
1474 pointer types.
1475 (Qrelative_width, Qalign_to): Remove unused variables.
1476 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
1477 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
1478 image maps.
d7107586 1479 (x_y_to_hpos_vpos): Return glyph relative coordinates through
204fb75e
KS
1480 new dx and dy args.
1481 Remove buffer_only_p arg (always 0). Simplify code accordingly.
1482 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
1483 than row's ascent and height, to get sensible height on tall rows.
1484 (build_desired_tool_bar_string): Remove Qimage extern.
1485 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
1486 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
1487 image glyph is alone on the last line.
1488 (append_glyph, append_composite_glyph, produce_image_glyph)
d7107586 1489 (append_stretch_glyph): Set glyph's ascent and descent.
204fb75e 1490 (on_hot_spot_p): New function to check if position is inside an
d7107586 1491 rectangular, circular, or polygon-shaped image hot-spot,
204fb75e
KS
1492 (find_hot_spot): New function to search for image hot-spot.
1493 (Flookup_image_map): New defun to search for image hot-spot.
1494 (define_frame_cursor1): New aux function to determine frame pointer.
1495 (note_mode_line_or_margin_highlight, note_mouse_highlight):
1496 Handle `pointer' text property and :pointer image property to
1497 control frame pointer shape. Detect image hot-spots for pointer
1498 and help_echo properties. Use define_frame_cursor1.
1499 (note_mouse_highlight): Use Vvoid_text_area_pointer.
1500 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
1501 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
1502
1503 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
1504
1505 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
1506 (Qimage): Remove extern (now in lisp.h).
1507 (valid_image_p, parse_image_spec): Use IMAGEP macro.
1508
1509 * xmenu.c (show_help_event): Remove unused code.
1510
1511 * xterm.c (Qface, Qmouse_face): Remove unused externs.
1512 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
1513 row's ascent and descent, to get a sensible height on tall rows.
1514
fc052137
LT
15152003-12-25 Luc Teirlinck <teirllm@auburn.edu>
1516
1517 * minibuf.c (Fcompleting_read): Undo previous change.
1518
a64387ee 15192003-12-25 Lars Hansen <larsh@math.ku.dk>
b9148500
LH
1520
1521 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
1522 Arguments GCPRO'ed in call to file name handler.
1523
56ffd194
TTN
15242003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
1525
1526 * termcap.c (tgetst1): Scan for "%pN"; if all
1527 N are continuous in [1,9], remove all "%pN".
1528
5202d23d
JD
15292003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1530
f26fab36
JD
1531 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
1532
5202d23d
JD
1533 * xfaces.c (lface_fully_specified_p): Take into account that
1534 MAC OS always have unspecified stipple.
1535
8babaa59
TTN
15362003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
1537
1538 * tparam.c (tparam1): Add handling for `%pN', which
1539 means use param N for the next substitution.
1540
2d176448
TTN
15412003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
1542
1543 * xfaces.c (Fcolor_gray_p): Fix omission bug:
1544 In case `frame' is nil, consult the selected frame.
1545 (Fcolor_supported_p): Likewise.
1546
adb0708c
LT
15472003-12-23 Luc Teirlinck <teirllm@auburn.edu>
1548
000eeb15
LT
1549 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
1550 Doc fixes.
0dc72b11
LT
1551
1552 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
1553 and an integer. Adapt the introductory comment accordingly.
adb0708c
LT
1554 (Fread_from_minibuffer): Delete code moved into read_minibuf.
1555 Doc fix.
1556 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
1557 read_minibuf.
1558 (Fcompleting_read): Delete code moved into read_minibuf.
d7107586 1559 (Ftest_completion): Make it handle obarrays and hash tables correctly.
adb0708c 1560
2e4d132b
KH
15612003-12-03 Kenichi Handa <handa@m17n.org>
1562
1563 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
1564 encoding sequence.
1565
3999c705
KH
15662003-12-01 Kenichi Handa <handa@m17n.org>
1567
1568 * composite.c (syms_of_composite): Don't make the compostion hash
1569 table week.
1570
d344ecbb
LT
15712003-11-30 Luc Teirlinck <teirllm@auburn.edu>
1572
1573 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
1574 * textprop.c (Fget_char_property_and_overlay): New function.
1575 (syms_of_textprop): Defsubr it.
1576
03d6484e
JD
15772003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1578
019b1f0e
JD
1579 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
1580 to compile on terminal configuration.
1581
03d6484e
JD
1582 * fileio.c (Fread_file_name): Check use_file_dialog also before
1583 calling Fx_file_dialog.
1584
1585 * fns.c: use_file_dialog: New variable.
1586 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
1587
442d3fd0
KS
15882003-11-29 Kim F. Storm <storm@cua.dk>
1589
1590 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
1591 (syms_of_msdos): Don't intern and staticpro them.
1592
0f6a07a8
KS
15932003-11-27 Kim F. Storm <storm@cua.dk>
1594
1595 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
1596 coordinates relative to glyph at posn. If glyph is an image,
1597 return that as object at posn. Callers changed.
1598 (mode_line_string, marginal_area_string): Calculate and return
1599 pixel coordinates relative to glyph. Callers changed.
1600
1601 * dispextern.h (buffer_posn_from_coords, mode_line_string)
1602 (marginal_area_string): Fix prototypes.
1603 (window_box_left_offset, window_box_right_offset): Add prototypes.
1604
1605 * frame.h (get_specified_cursor_type, get_window_cursor_type):
1606 Remove prototypes.
1607
1608 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
1609
1610 * keyboard.c (make_lispy_position): Add x and y coordinates
1611 relative to the current glyph as 7th element of position.
1612 If glyph is an image, return it in the object element.
1613 (read_key_sequence): Skip checks for keymap property in cases
1614 where POSN_STRING is not a string (e.g. an image).
1615
1616 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
1617 (Vshow_text_cursor_in_void): New variable.
1618 (glyph_to_pixel_coords): Don't use negative hpos.
1619 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
1620 (append_stretch_glyph): Change ascent arg to be actual value
1621 in pixels rather than ratio to height. Callers changed.
1622 (calc_pixel_width_or_height): New aux function, implementing
1623 pixel based artihmetic for glyph widths and heights.
1624 (produce_stretch_glyph): Use calc_pixel_width_or_height for
1625 :width, :height, :align-to, and :ascent, thus allowing these to
1626 be specified in pixels as well as multiples of characters.
1627 Don't produce stretch glyphs with zero width or height.
1628 (get_specified_cursor_type): Declare static.
1629 (get_window_cursor_type): Declare static. Add glyph arg to be
1630 able to know when cursor is on an image; always substitute
1631 hollow-box cursor for filled-box cursor on images, to avoid
1632 negative images and flicker when blinking the cursor.
1633 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
1634 (note_mode_line_or_margin_highlight): Use non-text cursor rather
1635 than vertical scroll-bar cursor in display margins.
1636 (note_mouse_highlight): Use non-text cursor rather than text
1637 cursor in fringes and over images in the text area.
1638 Use non-text cursor when mouse pointer is outside editable text,
1639 i.e. in the void after end-of-line or end-of-buffer; this was
1640 already done for W32, but is now standard for all systems --
1641 user can toggle show-text-cursor-in-void to get old behaviour.
1642 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
1643 Vdisplay_pixels_per_inch.
1644
00498bfc
AS
16452003-11-25 Andreas Schwab <schwab@suse.de>
1646
1647 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
1648 EMACS_INT to not lose bits.
1649 (Ffillarray): Don't set bits beyond the size of a bool vector.
1650
edaa824d
KS
16512003-11-25 Kim F. Storm <storm@cua.dk>
1652
1653 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
1654 define this defun on systems that cannot use stderr as lvalue.
1655
74d6f539
GM
16562003-11-24 Gerd Moellmann <gerd@gnu.org>
1657
1658 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
1659 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
1660 ld's default is incompatible with unexec.
1661
6a1ff3ba
KS
16622003-11-23 Kim F. Storm <storm@cua.dk>
1663
63dc7c6b
KS
1664 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
1665 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
1666 (Fforce_window_update): New defun.
1667 (syms_of_window): Defsubr it.
1668 (Fset_window_margins, Fset_window_fringes): Doc fix.
1669
6a1ff3ba
KS
1670 * print.c (Fredirect_debugging_output): New defun.
1671 (syms_of_print): Defsubr it.
1672
aef109b7
LT
16732003-11-22 Luc Teirlinck <teirllm@auburn.edu>
1674
1675 * fns.c (Fset_char_table_parent): Doc fix.
1676
6a1ff3ba 16772003-11-22 Kim F. Storm <storm@cua.dk>
63ccbe21
KS
1678
1679 * dispnew.c (buffer_posn_from_coords): Return actual row/column
1680 for glyph clicked on, rather than (unused) pixel positions.
1681 (mode_line_string, marginal_area_string): Change X and Y args to
1682 pointers for returning actual row/column for glyph clicked on.
1683 Simplify and optimize loops.
1684
aef109b7
LT
1685 * dispextern.h (mode_line_string, marginal_area_string):
1686 Update prototypes.
63ccbe21
KS
1687
1688 * keyboard.c (make_lispy_position): New function for generating
1689 mouse click positions from frame and pixel coordinates.
1690 Enhanced to return buffer position and actual row/column for
1691 events outside the text area using updated mode_line_string and
1692 marginal_area_string functions.
1693 Return left-fringe and right-fringe clicks as such, rather than
1694 clicks in text area.
1695 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
1696 pixel_to_glyph_coords, as we never use the results.
1697 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
1698 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
1699 Eliminate unused code in WHEEL_EVENT handling.
1700 (make_lispy_movement): Use make_lispy_position.
1701
1702 * window.c (coordinates_in_window): Remove redundant tests.
1703 Fix returned X pixel value for left-margin.
1704
1705 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
1706 mode_line_string and marginal_area_string parameters.
1707
a64387ee 17082003-11-22 Lars Hansen <larsh@math.ku.dk>
930a9995 1709
d7107586
SM
1710 * w32.c (struct the_group, getgrgid): Add.
1711 * mac.c (struct my_group, getgrgid): Add.
aef109b7 1712
3dbf3426
LT
17132003-11-21 Luc Teirlinck <teirllm@auburn.edu>
1714
1715 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
1716
cae8ddbb 17172003-11-21 Lars Hansen <larsh@math.ku.dk>
ded4064f 1718
d7107586
SM
1719 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
1720 include in call to file name handler. Optionally translate numeric
1721 UID and GID to strings. Update docstring.
1722 (directory_files_internal): Add parameter ID-FORMAT.
1723 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
1724 include in call to file name handler and call to
1725 directory_files_internal. Update Docstring.
1726 (Fdirectory_files): Add dummy parameter in call to
1727 directory_files_internal.
1728 * lisp.h (Qinteger): Add.
1729 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
1730 (Ffile_attributes): Add parameter.
1731 * data.c (Qinteger): Export.
cae8ddbb 1732
2550b848
LT
17332003-11-21 Luc Teirlinck <teirllm@auburn.edu>
1734
3dbf3426 1735 * fns.c (Freverse, Fnreverse): Doc fixes.
2550b848 1736
88380018
KS
17372003-11-19 Kim F. Storm <storm@cua.dk>
1738
1739 * xdisp.c (init_iterator): Initialize it->start to position
1740 before reseating (in case start position is invisible).
1741 (init_to_row_start): Set it->start to row-start.
1742 (redisplay_window): Accept optional_new_start if start position
1743 is invisible (in which case IT_CHARPOS overshoots PT).
1744 (display_line): Setup row->start from it->start (rather than
1745 it->current which is wrong if first char on line is invisible).
1746 When done, reseat it->start to it->current (= start of next row).
1747 (expose_area): Fix exposure of text area when first char (e.g. TAB)
1748 is only partially visible.
1749
1750 * dispextern.h (struct it): New member start.
1751
854c1a59
SM
17522003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
1753
455316e2
SM
1754 * alloc.c (make_float, Fcons): Clear the markbit at init time.
1755 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
1756 of block_index outside of the macro call.
1757 (Fgarbage_collect): Remove null code.
1758
1759 * m/amdx86-64.h: Don't redefine XPNTR.
1760
854c1a59
SM
1761 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
1762 of VALMASK.
1763
1764 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
1765 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
1766 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
1767
1768 * lisp.h (VALMASK): Only define for non-union type.
1769 (MARKBIT): Remove.
1770 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
1771 (XTYPE): Define unconditionally.
1772 (XSETTYPE): Remove one more remnant.
1773 (EQ): Define differently for the union and non-union cases.
1774 (INTMASK): New bit mask.
1775 (struct Lisp_Marker): Move down to prepare for upcoming patch.
1776 (GC_EQ): Delegate to EQ.
1777
1778 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
1779
a0c6ef2d
JD
17802003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1781
1782 * xterm.c (x_window_to_scroll_bar): Move check of display to
1783 where window_id is compared.
1784
859492c4
KS
17852003-11-17 Kim F. Storm <storm@cua.dk>
1786
1787 * dispextern.h (struct it): New member first_vpos.
1788
1789 * xdisp.c (start_display): Set it->first_vpos.
1790 (try_window_id): Use first_vpos to start display in first _text_
1791 line if no reusable lines at start of window with header line.
1792
810f2256
JD
17932003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1794
7c402969 1795 * w32fns.c (XPutPixel):
854c1a59
SM
1796 * w32bdf.c (w32_init_bdf_font):
1797 * sunfns.c (sel_read):
1798 * process.c (Fmake_network_process):
1799 * frame.c (store_frame_param):
1800 * fontset.c (Fset_fontset_font):
1801 * emacs.c (shut_down_emacs):
a64387ee 1802 * ccl.c (ccl_driver): Remove period at end of error message.
7c402969 1803
a32e9bfd
JD
1804 * config.in: Regenerate.
1805
810f2256
JD
1806 * xfns.c (x_window_to_frame, x_any_window_to_frame)
1807 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
1808 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
1809 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
1810 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
1811
1812 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
1813
1814 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
1815 (XTmouse_position, handle_one_xevent): Pass Display* to
1816 x_window_to_scroll_bar.
1817 (x_window_to_scroll_bar): Take a Display* argument.
1818 Check that display for frame is equal to Display* argument.
854c1a59 1819 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
810f2256
JD
1820 x_display_info_for_display instead. Use Display in xev instead
1821 of GDK_DISPLAY.
1822 (x_dispatch_event): Call x_display_info_for_display.
1823 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
1824 (x_connection_closed): Call xg_display_close for GTK.
1825 (x_term_init): Call xg_display_open for additional displays.
1826 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
1827 for GTK.
1828
1829 * xmenu.c (single_menu_item, mouse_position_for_popup)
1830 (x_activate_menubar): Formatting adjustments.
1831
1832 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
1833 adjustments.
1834
1835 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
1836 (xg_display_close, xg_create_default_cursor)
1837 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
1838 handling.
854c1a59
SM
1839 (xg_left_ptr_cursor): Remove.
1840 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
810f2256
JD
1841 cursor here.
1842 (xg_win_to_widget): Take Display* argument, call
1843 gdk_xid_table_lookup_for_display.
1844 (xg_create_frame_widgets, xg_get_file_name, create_menus)
1845 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
1846 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
1847 in FRAME_X_DISPLAY_INFO.
1848 (xg_get_scroll_id_for_window): Take Display* argument.
1849 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
854c1a59 1850 (xg_initialize): Remove xg_left_ptr_cursor.
810f2256
JD
1851
1852 * gtkutil.h: xg_get_scroll_id_for_window, xg_win_to_widget takes
1853 Display* argument also. Declare xg_display_open,
1854 xg_display_close, xg_create_default_cursor.
1855
0b03cc78
JD
18562003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1857
1858 * xterm.c (x_detect_focus_change): Do not change focus frame for
1859 Enter/LeaveNotify if the current focus frame has explicit focus.
1860
77e688fa
KS
18612003-11-14 Kim F. Storm <storm@cua.dk>
1862
1863 * dispnew.c (update_text_area): Fix redisplay error when hscroll
1864 is active and first glyph is only partially visible.
854c1a59 1865
dd429b03
KH
18662003-11-13 Kenichi Handa <handa@m17n.org>
1867
1868 * xdisp.c (select_frame_for_redisplay): New function.
1869 (redisplay_internal): Record also selected_frame for
1870 unwind_redisplay. Call select_frame_for_redisplay before
1871 redrawing each frame.
1872 (unwind_redisplay): Argument changed to a cons.
1873
6d9266f4
LT
18742003-11-12 Luc Teirlinck <teirllm@auburn.edu>
1875
1876 * fns.c (Fstring_to_multibyte): Doc fix.
1877
80060eb3
KH
18782003-11-11 Kenichi Handa <handa@m17n.org>
1879
1880 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
1881
74305183
JD
18822003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1883
1884 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
1885 program specified positions.
1886
cfda993e
JD
18872003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1888
1889 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
1890
df211069
KH
18912003-11-08 Kenichi Handa <handa@m17n.org>
1892
1893 * Makefile.in (lisp): Add kannada.el.
1894 (shortlisp): Likewise.
1895
4307d534
KH
18962003-11-07 Kenichi Handa <handa@m17n.org>
1897
854c1a59
SM
1898 * coding.c (coding_allocate_composition_data):
1899 Reset coding->composing to COMPOSITION_NO.
4307d534
KH
1900 (coding_restore_composition): Detect invalid composition data.
1901 Give Fstring and Fvector a Lispy integer, not C int.
1902
854c1a59
SM
19032003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
1904
1905 * floatfns.c (Flogb): Don't use VALMASK.
1906
1907 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
1908 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
1909
1910 * lisp.h (XINT): Move the cast to clarify what is going on.
1911 (GCTYPEMASK, XSETTYPE): Remove.
1912 (XGCTYPE): Make it an alias of XTYPE.
1913
d04103a1
JD
19142003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1915
1916 * xterm.c (x_term_init): Fix formatting.
1917
da18b5ac
JD
19182003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1919
1920 * gtkutil.h: Declare xg_have_tear_offs, remove xg_keep_popup
1921 and xg_did_tearoff.
1922
1923 * gtkutil.c: Remove variable xg_did_tearoff.
1924 (xg_have_tear_offs): New function.
1925 (tearoff_remove): Just decrease xg_detached_menus.
1926 (tearoff_activate): Increase xg_detached_menus and call
1927 tearoff_remove when tearoff is removed.
854c1a59 1928 (xg_keep_popup): Remove function.
da18b5ac
JD
1929 (create_menus): Give add_tearoff_p as argument to recursive
1930 call to create_menus.
1931 (xg_create_widget): Use variables instead of multiple
1932 strcmp. Tell create_menus to create tear off only for
1933 menu bar menus.
1934 (xg_update_menubar): Change title for a detached menu also.
1935 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
1936 of deep_p.
1937 (xg_initialize): Initialize xg_detached_menus, remove
1938 initialization of xg_did_tearoff.
1939
1940 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
1941 xg_have_tear_offs returns non-zero.
1942 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
1943 call to xg_keep_popup.
1944
64d4923e
AC
19452003-11-01 Andrew Choi <akochoi@shaw.ca>
1946
1947 * macterm.c (XTread_socket): Handle menubar selection and grow
1948 window only for mouseDown events.
854c1a59 1949
6cc8bc07
JD
19502003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1951
1952 * xterm.c (x_term_init): For GTK part, increase x_initialized
1953 to check for more than one display. Use error instead of return 0.
1954
043131c4
AC
19552003-10-31 Andrew Choi <akochoi@shaw.ca>
1956
854c1a59 1957 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
043131c4
AC
1958 (copy_dysymtab): Call it.
1959
bdda99a1
LT
19602003-10-31 Luc Teirlinck <teirllm@auburn.edu>
1961
1962 * eval.c (Fdefvaralias): Doc fix.
1963
800f42ff 19642003-10-26 Luc Teirlinck <teirllm@auburn.edu>
0d11571e
LT
1965
1966 * data.c (Fsetplist): Doc fix.
1967
ef35b389
LK
19682003-10-14 Lute Kamstra <lute@gnu.org>
1969
1970 * window.c (Fset_window_fringes): Clarify docstring.
07107abc 1971
ef35b389 19722003-10-14 Kim F. Storm <storm@cua.dk>
854c1a59 1973
07107abc
KS
1974 * window.c (Fset_window_margins): Simplify arg checking.
1975
f7005886
RS
19762003-10-13 Richard M. Stallman <rms@gnu.org>
1977
1978 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
1979 (print_partial_compiled_pattern): Replace assert with a printout.
1980 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
1981
1982 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
1983
1984 * window.c (Fset_window_margins): Allow only integers as args.
1985 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
1986 Doc fixes.
1987
9c0c2af5
LK
19882003-10-13 Lute Kamstra <lute@gnu.org>
1989
1990 * window.c (Fset_window_fringes): Elaborate docstring.
1991
3f080e4e
AC
19922003-10-12 Andrew Choi <akochoi@shaw.ca>
1993
854c1a59 1994 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
a4887377 1995
3f080e4e
AC
1996 * s/darwin.h (GC_MARK_STACK): Define.
1997
0aa513ed
JD
19982003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1999
2000 * window.c (shrink_windows): New function.
2001 (size_window): Call shrink_windows to calculate window sizes when
2002 shrinking frame with more than one window.
2003
6aa8858a
KS
20042003-10-12 Kim F. Storm <storm@cua.dk>
2005
2006 * xdisp.c (compute_fringe_widths): Doc fix.
2007
c2164d91
KH
20082003-10-08 Kenichi Handa <handa@m17n.org>
2009
854c1a59 2010 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
c2164d91 2011
f82ac129
KH
20122003-10-07 Kenichi Handa <handa@m17n.org>
2013
2014 * coding.c (Qcoding_system_define_form): New variable.
2015 (syms_of_coding): Intern and staticpro it.
2016 (Fcheck_coding_system): Try to autoload the definition of
2017 CODING-SYSTEM.
2018
9296c947
LT
20192003-10-05 Luc Teirlinck <teirllm@auburn.edu>
2020
2021 * fns.c (Frequire): Doc fix.
2022
c1f0671a
JD
20232003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2024
3d8c3826
JD
2025 * xfns.c (Fx_send_client_event): New function as a base for
2026 manipulating extended window manager hints.
6dc15d98 2027 (Fx_send_client_event): Remove unused variable s.
3d8c3826 2028
068ae0fd
JD
2029 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
2030 that function is removed.
2031
2032 * xterm.c (x_set_offset): Use move_offset_left/top instead of
2033 x/y_pixels_outer_diff.
2034 (x_check_expected_move): Calculate move_offset_left/top.
2035
2036 * xterm.h (struct x_output): New members: move_offset_top/left.
2037
854c1a59 2038 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
068ae0fd
JD
2039 call x_set_offset directly.
2040
2041 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
2042
96f09305
JD
2043 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
2044
2045 * xterm.c (x_delete_display): Free font names and font_encoder
2046 in dpyinfo->font_table.
2047
854c1a59
SM
2048 * xfns.c (Fx_close_connection): Only call XFreeFont here.
2049 Move xfree of font names to x_delete_display.
96f09305 2050
c1f0671a
JD
2051 * xterm.h (struct x_display_info): New member, wm_type.
2052 (struct x_output): New members, expected_top/left and
2053 check_expected_move.
2054
2055 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
2056 is received.
854c1a59
SM
2057 (handle_one_xevent): Rename x_check_expected_move from
2058 x_check_fullscreen_move.
c1f0671a
JD
2059 (x_set_offset): Only add WM decoration sizes to modified_top/left
2060 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
854c1a59 2061 (x_check_expected_move): Rename from x_check_fullscreen_move.
c1f0671a
JD
2062 Removed fullscreen specific code. Use check_expected_move,
2063 expected_left/top instead. Also, set wm_type.
2064 (x_term_init): Initialize wm_type to unknown.
2065
2066 * frame.c (x_fullscreen_move): Remove addition of WM decoration
2067 sizes to move_x/y.
2068
be2fdba9
KH
20692003-10-03 Kenichi Handa <handa@m17n.org>
2070
2071 * macterm.c (x_load_font): Clear all members of FONTP before start
2072 filling them.
2073
20742003-10-02 Kenichi Handa <handa@m17n.org>
2075
2076 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
2077 before calling find_ccl_program_func. Call find_ccl_program_func
2078 only when fontp->font_encoder is not NULL.
2079
2080 * xterm.c (x_load_font): Clear all members of FONTP before start
2081 filling them.
2082
26a6e439
JPW
20832003-10-03 John Paul Wallington <jpw@gnu.org>
2084
2085 * keymap.c (map_keymap): Don't abort when binding is a vector.
2086
0d4c2dc2
JR
20872003-10-02 Jason Rumney <jasonr@gnu.org>
2088
854c1a59
SM
2089 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
2090 Sync dependencies with Makefile.in.
a63cf46f
JR
2091 (alloca.o): Remove.
2092
0d4c2dc2
JR
2093 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
2094 filling them.
2095
2096 * w32bdf.c (w32_load_bdf_font): Likewise.
2097
ab8f7d5c
RS
20982003-09-30 Richard M. Stallman <rms@gnu.org>
2099
2100 * term.c (set_tty_color_mode): Calculate current_mode_spec
2101 regardless of value of VAL.
2102
854c1a59 2103 * intervals.c (graft_intervals_into_buffer):
ab8f7d5c
RS
2104 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
2105 Handle over_used when splitting UNDER.
2106
a64387ee 21072003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
ab8f7d5c
RS
2108
2109 * regex.c (regex_compile): Free the stack when returning from function.
2110
3413f972
KH
21112003-09-28 Kenichi Handa <handa@m17n.org>
2112
2113 * fontset.c (Finternal_char_font): Change return value to
2114 cons (FONT-NAME . GLYPH-CODE).
2115
40409f05
EZ
21162003-09-28 Eli Zaretskii <eliz@elta.co.il>
2117
2118 * term.c (tty_setup_colors): Treat any negative argument as -1.
2119
f98ddc99
KH
21202003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
2121
2122 * process.c (send_process): Delete unused temp_buf.
2123
66c8f1a8
DL
21242003-09-26 Dave Love <fx@gnu.org>
2125
2126 * xterm.c (x_bitmap_mask): Declare.
2127
ca716c26
DL
21282003-09-25 Dave Love <fx@gnu.org>
2129
2130 * Makefile.in (fns.o): Depend on md5.h.
2131
fbe57420
KS
21322003-09-25 Kim F. Storm <storm@cua.dk>
2133
2134 * window.c (set_window_buffer): Fix redisplay problems when
2135 switching between buffers with different display margin widths.
2136
ef6ae4ff
KS
21372003-09-23 Kim F. Storm <storm@cua.dk>
2138
2139 * process.c (set_socket_option): Fix :bindtodevice option.
2140 (Fset_network_process_option): Update process contact list when
2141 setting option succeeds.
2142 (Fmake_network_process): Doc fix.
2143
68e03c1c
DL
21442003-09-23 Dave Love <fx@gnu.org>
2145
7146d1c1 2146 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
68e03c1c 2147
2f809aae
EZ
21482003-09-22 Eli Zaretskii <eliz@elta.co.il>
2149
2150 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
2151 color mode is an integer number (it could be -1).
2152
8fe7d8c8
RS
21532003-09-22 Richard M. Stallman <rms@gnu.org>
2154
2155 * intervals.c (graft_intervals_into_buffer): Correct the main loop
2156 in the case where OVER is longer than UNDER.
2157
2f71b5ea
MY
21582003-09-22 Masatake YAMATO <jet@gyve.org>
2159
7146d1c1 2160 * window.c (Fset_window_scroll_bars): Validate the value of
2f71b5ea 2161 `vertical_type'.
7146d1c1 2162
0c4da023
KS
21632003-09-21 Kim F. Storm <storm@cua.dk>
2164
2165 * frame.c (Vdefault_frame_scroll_bars): New variable.
2166 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
2167 (syms_of_frame): DEFVAR_LISP it, and initialize according to
2168 window-system default scroll bar position.
2169
b648413b
KS
2170 * window.c (Fwindow_scroll_bars): Doc fix.
2171
8f5b9e34
JD
21722003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2173
854c1a59 2174 * xterm.c (x_set_offset): Take window manager decorations into account.
8f5b9e34 2175
b0f23edf
RS
21762003-09-19 Richard M. Stallman <rms@gnu.org>
2177
2178 * atimer.h: Don't include lisp.h.
2179 (P_): Define it here (as well as elsewhere).
2180
2181 * print.c (Fprin1_to_string): Move the PRINTPREPARE
2182 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
2183
2184 * data.c (Fvariable_binding_locus): New function.
2185 (syms_of_data): defsubr it.
2186 (Flocal_variable_p): Delete duplicate call to indirect_variable.
2187
e1283999
DL
21882003-09-18 Dave Love <fx@gnu.org>
2189
ad5f3636
DL
2190 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
2191
e1283999
DL
2192 * process.c (Fnetwork_interface_info): Fix type error.
2193 (Fnetwork_interface_list): Doc fix.
2194 (read_process_output, read_process_output): Delete unused var.
2195
b8c7fd71
KS
21962003-09-17 Kim F. Storm <storm@cua.dk>
2197
2198 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
2199 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
2200 (Fnetwork_interface_info): Check that ifreq struct has required
2201 fields before accessing them; this requires that those fields are
2202 defined as macros, which may be too restrictive on some platforms,
2203 but it is better than failing on other platforms.
2204 (syms_of_process): Only defsubr above fns when included.
2205
11e0a411
DL
22062003-09-17 Dave Love <fx@gnu.org>
2207
2208 * unexalpha.c: Don't include varargs.h.
2209
e9c50801
KS
22102003-09-17 Kim F. Storm <storm@cua.dk>
2211
2212 * process.c (Fset_process_sentinel): Add sentinel to childp plist
2213 for network process.
2214 (socket_options): Add `:' prefix to option names. Add optbit field.
2215 (set_socket_option): Remove no_error arg and special handling of s < 0.
2216 Return 1<<optbit for known option, 0 for unknown.
2217 Do not interpret 0 as false for boolean option (only nil).
2218 Pass failed option and value to report_file_error.
7146d1c1 2219 (Fset_network_process_options): Replace by Fset_network_process_option.
e9c50801
KS
2220 (Fset_network_process_option): New function to set just one option.
2221 (Fmake_network_process): Allow :coding arg to be a cons.
2222 Allow :server arg to be an integer specifying backlog size.
2223 Remove :options arg, and allow options to be specified directly
2224 as :KEY, VALUE pairs. Parse these options before binding socket.
2225 As before, :reuseaddr t is default for a server process, but this
2226 can now be disabled by specifying :reuseaddr nil.
2227 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
2228 (init_process): Availability of network options is now checked with
2229 simpler syntax (featurep 'make-network-process :OPTION); use loop to
2230 setup features.
2231 (syms_of_process): Fix defsubr's for the replaced functions.
2232
a0fc3644
DL
22332003-09-16 Dave Love <fx@gnu.org>
2234
2235 * Makefile.in: Depend on coding.h.
2236
6df2a645
KS
22372003-09-14 Kim F. Storm <storm@cua.dk>
2238
2239 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
2240 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
2241 (syms_of_process): Defsubr them.
2242
2243 * config.in: Regenerate.
7146d1c1
SM
2244
22452003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2246
2247 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
2248 * m/news-r6.h (XUNMARK): Remove.
2249 * m/mips.h (XUNMARK): Remove.
2250 * m/mips-siemens.h (XUNMARK): Remove.
2251 * m/iris4d.h (XUNMARK): Remove.
2252 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
2253
0930c1a1
SM
22542003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
2255
31003b9e
SM
2256 * lisp.h (VALBITS): Don't remove 1 for the markbit.
2257 (union Lisp_Object): Use unsigned int for types. Remove markbit.
2258 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
2259 (XTYPE): Use unsigned right-shift.
2260 (XMARKBIT, XMARK, XUNMARK): Remove.
2261
0930c1a1
SM
2262 * alloc.c (init_intervals, init_symbol, init_marker):
2263 Don't preallocate anything.
2264 (Fgarbage_collect, mark_object): Ignore the markbit.
2265
2266 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
2267
19bb0fcd 22682003-09-08 Lute Kamstra <lute@gnu.org>
5df034de
LK
2269
2270 * xdisp.c (pint2hrstr): New function.
2271 (decode_mode_spec): Add `%i' and `%I' specs.
2272 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
2273 for `mode-line-format'.
2274
03bb6a06
AS
22752003-09-07 Andreas Schwab <schwab@suse.de>
2276
2277 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
2278 avoid warning.
2279
2063d89c
EZ
22802003-09-07 Eli Zaretskii <eliz@elta.co.il>
2281
0930c1a1 2282 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
2063d89c 2283
ed159bbf
KS
22842003-09-03 Kim F. Storm <storm@cua.dk>
2285
2286 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
2287 change (superseded by 2002-08-30 change); the default blink-off
2288 cursor is now again "no cursor".
2289
fe64a394
JR
22902003-09-01 Jason Rumney <jasonr@gnu.org>
2291
2292 * makefile.w32-in (alloca.o): Remove.
2293 (coding.o): Depend on intervals.h
2294 (emacs.o, bytecode.o): Depend on window.h
2295
c0175e24
DL
22962003-09-01 Dave Love <fx@gnu.org>
2297
2298 * Makefile.in (alloca.o): Remove commands.
2299 (coding.o): Depend on intervals.h composite.h window.h.
2300 (emacs.o): Depend on window.h keyboard.h keymap.h.
2301 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
2302 (bytecode.o): Depend on window.h.
2303
a24d4cb2
JR
23042003-08-31 Jason Rumney <jasonr@gnu.org>
2305
4bc2315e
JR
2306 * w32term.c (w32_per_char_metric): Allow cached metrics to be
2307 returned even when font_type is unknown.
2308
a24d4cb2
JR
2309 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
2310
9d35adc7
JD
23112003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2312
2313 * xterm.c (x_term_init): Initialize new fields in x_display_info.
2314
2315 * xterm.h (struct x_display_info): Add red/green/blue_bits and
2316 *_offset.
2317
2318 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
2319 calculate pixel value.
2320
6f68b035
GM
23212003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
2322
0930c1a1
SM
2323 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
2324 Don't tell redisplay display is accurate when it's actually been
2325 paused for pending input.
6f68b035 2326
4828b4d7
RS
23272003-08-29 Richard M. Stallman <rms@gnu.org>
2328
2329 * dispnew.c (adjust_glyph_matrix): Call window_box
2330 whenever W is nonzero.
2331
2332 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
2333 (Fkill_local_variable, Fmake_variable_frame_local)
0930c1a1 2334 (Flocal_variable_p, Flocal_variable_if_set_p):
4828b4d7
RS
2335 Use indirect_variable to trace thru variable aliases.
2336
2337 * config.in: Updated.
2338
2339 * callint.c (Fcall_interactively): Save and restore
2340 Vthis_command, Vthis_original_command, real_this_command,
2341 and current_kboard->Vlast_command.
2342
2343 * abbrev.c (Fexpand_abbrev): Insert before deleting.
2344
e019878d
GM
23452003-08-29 Gerd Moellmann <gerd@gnu.org>
2346
2347 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
2348
85478bc6
KH
23492003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
2350
0930c1a1 2351 * coding.c (decode_coding_iso2022): Initialize local variable c2.
85478bc6
KH
2352 (decode_coding_sjis_big5): Likewise.
2353
07ce82d3
JR
23542003-08-27 Jason Rumney <jasonr@gnu.org>
2355
d3703de3
JR
2356 * w32.c (sys_pipe): Protect against file descriptor overflow.
2357
ee4a01d1
JR
2358 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
2359
07ce82d3
JR
2360 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
2361
a64387ee 23622003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
72d19c66
LK
2363
2364 * xfns.c (Vgtk_version_string): New variable.
2365 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
2366
5459e42a
EZ
23672003-08-24 Eli Zaretskii <eliz@elta.co.il>
2368
0930c1a1 2369 * term.c (term_init): Remove `const' from buffer_size's declaration.
3d8714e7 2370
5459e42a
EZ
2371 * Makefile.in (msdos.o): Depend on intervals.h.
2372
0930c1a1 2373 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
5459e42a 2374
231d6cfb
JD
23752003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2376
2377 * xterm.h (struct x_display_info): New fields: client_leader_window
2378 and Xatom_wm_client_leader.
2379
2380 * xterm.c (x_initialize): Move call to x_session_initialize to ...
2381 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
2382
2383 * xsmfns.c (create_client_leader_window): New function.
2384 (x_session_initialize): Call create_client_leader_window, take
2385 dpyinfo as argument.
2386
2387 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
2388
2389 * Makefile.in (xsmfns.o): Add more depenedencies.
2390
afa88464
DL
23912003-08-21 Dave Love <fx@gnu.org>
2392
2393 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
2394
f730033e
KH
23952003-08-21 Kenichi Handa <handa@m17n.org>
2396
2397 * term.c (term_init): Fix previous change; don't rely on the
2398 length of `buffer' if TERMINFO is defined.
2399
6dca786c
DL
24002003-08-20 Dave Love <fx@gnu.org>
2401
2402 * atimer.h: Include lisp.h.
2403
2404 * lisp.h (EMACS_LISP_H): New.
2405 (popup_activated_flag): Don't declare.
2406
2407 * alloca.c: Some merging with gnulib. Change logic and doc
2408 concerning (x)malloc/(x)free -- no longer Emacs-specific.
2409 [DO_BLOCK_INPUT]: Don't include lisp.h.
2410 (xmalloc, xfree): Declare.
2411 (malloc): Don't declare.
2412
0930c1a1 2413 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
6dca786c
DL
2414 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
2415 atimer.h, blockinput.h.
2416
2417 * alloc.c (lisp_align_malloc): Change type of `aligned'.
2418
2419 * alloca.s: Removed.
2420
3a06a6d9
RS
24212003-08-19 Gerd Moellmann <gerd@gnu.org>
2422
2423 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
2424 use -lncurses.
2425
2426 * term.c (term_init): Use a buffer of size 4096 for tgetent since
2427 FreeBSD returns something longer than 2044. Abort if the end of
2428 the buffer is overwritten.
2429
27eeee55
MB
24302003-08-19 Miles Bader <miles@gnu.org>
2431
2432 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
2433
2f297815
GM
24342003-08-19 Gerd Moellmann <gerd@gnu.org>
2435
f4446bbf
GM
2436 * alloc.c (lisp_align_malloc): Check for memory full when
2437 allocating ablocks, which also avoids freeing a pointer into an
2438 ablocks structure.
2439
2440 * puresize.h (BASE_PURESIZE): Increase to 1100000.
2441
0930c1a1 2442 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
2f297815 2443
0e7d7aae
RS
24442003-08-16 Richard M. Stallman <rms@gnu.org>
2445
2446 * editfns.c (Fencode_time): Doc fix.
2447
24482003-08-16 David Ponce <david@dponce.com>
2449
2450 * fileio.c (Fwrite_region): Fix conditional expression to issue
2451 the right message.
2452
24532003-08-16 Juri Linkov <juri@jurta.org> (tiny change)
2454
2455 * syntax.c (Fforward_word): Argument changed to optional.
0930c1a1 2456 Set default value to 1.
0e7d7aae 2457
5d551295
KH
24582003-08-15 Kenichi Handa <handa@m17n.org>
2459
2460 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
2461 what autoscaled.
2462 (best_matching_font): Once we find a better scalable font, set
2463 non_scalable_has_exact_height_p to 1.
2464 (try_font_list): Call try_alternative_families to try any family
2465 with the given registry.
2466
1661e56b
AS
24672003-08-09 Andreas Schwab <schwab@suse.de>
2468
f29181dc
AS
2469 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
2470
1661e56b
AS
2471 * print.c (print_string): Fix printing of multibyte string with
2472 nontrivial printcharfun.
2473
465aa50a
JD
24742003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2475
2476 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
2477
2478 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
2479
e430e5ba
KH
24802003-07-31 Kenichi Handa <handa@m17n.org>
2481
2482 * process.c (read_process_output): Return the actually read bytes
2483 instead of the result of decoding.
2484
97e7188e
KH
24852003-07-31 Kenichi Handa <handa@m17n.org>
2486
2487 * xterm.h (struct x_bitmap_record): New member have_mask.
2488
2489 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
2490 to 0.
2491 (x_create_bitmap_from_file): Likewise.
2492 (x_destroy_bitmap): Check have_mask member before freeing a mask.
2493 (x_destroy_all_bitmaps): Likewise.
2494 (x_create_bitmap_mask): Set have_mask member to 1.
2495
b53094d6
RS
24962003-07-30 Richard M. Stallman <rms@gnu.org>
2497
2498 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
2499
631f2082
JD
25002003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2501
2502 * gtkutil.c (xg_mark_data): Update calls to mark_object.
2503
c855f2ca
RS
25042003-07-29 Richard M. Stallman <rms@gnu.org>
2505
2506 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
2507 Conditionalize XIM code on HAVE_XIM.
2508
2509 * fns.c (Fclear_string): New function.
2510 (syms_of_fns): defsubr it.
2511
17e6d491
KH
25122003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
2513
0930c1a1 2514 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
17e6d491 2515
29ea8ae9
SM
25162003-07-22 Stefan Monnier <monnier@cs.yale.edu>
2517
2518 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
2519
2520 * buffer.c (delete_all_overlays): New function.
2521 * buffer.h (delete_all_overlays): Declare.
2522 * coding.c (run_pre_post_conversion_on_str):
2523 * print.c (temp_output_buffer_setup):
2524 * fileio.c (Finsert_file_contents):
2525 * minibuf.c (get_minibuffer): Use it.
2526
1dd7ccf2
AC
25272003-07-22 Andrew Choi <akochoi@shaw.ca>
2528
2529 * unexmacosx.c (unexec_regions_sort_compare):
2530 (unexec_regions_merge): New functions. Sort and merge unexec
2531 regions before dumping them.
2532
f57bd967
DL
25332003-07-22 Dave Love <fx@gnu.org>
2534
2535 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
2536
7cdee936
SM
25372003-07-21 Stefan Monnier <monnier@cs.yale.edu>
2538
2539 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
2540 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
2541 MARKBIT as the gcmarkbit for strings.
2542
e50886d3
RS
25432003-07-21 Richard M. Stallman <rms@gnu.org>
2544
2545 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
2546
29ea8ae9 2547 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
e50886d3
RS
2548 (syms_of_fns): Corresponding change.
2549
2550 * alloc.c (syms_of_alloc): Doc fixes.
2551
25522003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
2553
2554 * s/netbsd.h: Use -Wl syntax.
2555
fdc39b59
RS
25562003-07-17 Richard M. Stallman <rms@gnu.org>
2557
2558 * xterm.c (xim_initialize): Redo 6/24 change.
2559
9c53385f
SM
25602003-07-15 Stefan Monnier <monnier@cs.yale.edu>
2561
2562 * buffer.c (copy_overlays): Use EMACS_INT for positions.
2563 (Fswitch_to_buffer): Don't signal an error when switching to the same
2564 buffer in a dedicated window.
2565
2566 * alloc.c: Use bitmaps for cons, as was done for floats.
2567 (init_float, init_cons): Let the normal code allocate the first block.
2568 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
2569 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
2570 New macros.
2571 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
2572 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
2573 (live_cons_p): Check the pointer is not past the `conses' array.
2574 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
2575 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
2576 (survives_gc_p): Use CONS_MARKED_P and simplify.
2577 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
2578
dde13196
PE
25792003-07-13 Paul Eggert <eggert@twinsun.com>
2580
2581 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
2582 puts it into BSS instead, at least on Solaris 8 and 9.
2583 This is a valid optimization, and it may occur on other platforms,
2584 so Emacs should not assume that initializing a static variable to
2585 zero puts it into data.
2586 * alloc.c (pure, staticvec):
2587 Initialize these arrays to nonzero, so that they're not
2588 put into BSS by that optimization.
2589
a801bc34
SM
25902003-07-13 Stefan Monnier <monnier@cs.yale.edu>
2591
2592 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
2593 (lisp_align_malloc): Use posix_memalign is available.
2594 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
2595 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
2596 for consistency. Update users.
2597
0c8b2afa
RS
25982003-07-13 Richard M. Stallman <rms@gnu.org>
2599
2600 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
2601
668c2ab0
JB
26022003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
2603
2604 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
2605 and use the Gtk+ function gtk_window_icon_from_file if available.
2606
2607 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
2608 handle mask of bitmaps.
2609 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
2610 mask property.
2611 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
2612
2613 * xterm.h (xg_set_icon): New function.
2614
800bebe3
RS
26152003-07-12 Paul Eggert <eggert@twinsun.com>
2616
2617 * unexelf.c (unexec): Consider a section to precede the .bss
2618 section if its addresses overlap that of .bss.
2619
69e38995
RS
26202003-07-12 Richard M. Stallman <rms@gnu.org>
2621
2622 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
2623
2624 * config.in (HAVE_CRTIN): Add #undef.
2625 (INLINE): Really inline only if OPTIMIZE is defined.
2626
2627 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
2628 END_FILES_1.
2629 (START_FILES_1, END_FILES_1): New macros (conditional).
a801bc34 2630 (LD_SWITCH_SYSTEM_TEMACS): Define.
69e38995
RS
2631
2632 * s/openbsd.h: Don't include bsd4-3.h.
a801bc34
SM
2633 (TERMINFO): Define.
2634 (LIBS_TERMCAP): Define.
2635 (LD_SWITCH_SYSTEM): Define (two definitions).
69e38995
RS
2636
2637 * xfns.c: Include libpng/png.h instead of png.h.
2638
f1d0c238
AS
26392003-07-11 Andreas Schwab <schwab@suse.de>
2640
2641 * buffer.c (modify_overlay): Update prototype.
2642 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
2643 Likewise.
2644
5f6bf5fe
SM
26452003-07-09 Stefan Monnier <monnier@cs.yale.edu>
2646
2647 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
2648 (struct interval): Move to intervals.h.
2649 (struct Lisp_Marker): Use EMACS_INT for position info.
2650 (forward_point): Remove prototype of defunct function.
2651 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
2652 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
2653 (syms_of_textprop, set_text_properties): Remove prototypes that are
2654 already in intervals.h.
2655
2656 * intervals.h (struct interval): Move from lisp.h.
2657 Use EMACS_INT for position and size info.
2658
2659 * coding.c: Include intervals.h for Fset_text_properties.
2660
2661 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
2662 position and length information.
2663
2765b457
SM
26642003-07-09 Stefan Monnier <monnier@cs.yale.edu>
2665
2666 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
2667 position and length information.
2668
2410d73a
SM
26692003-07-09 Stefan Monnier <monnier@cs.yale.edu>
2670
2671 Change overlays_after and overlays_before so the overlays themselves
2672 are linked into lists, rather than using cons cells. After all each
2673 Lisp_Misc already occupies 5 words, so we can add a `next' field to
2674 Lisp_Overlay for free and save up one cons cell per overlay (not
2675 to mention one indirection when traversing the list of overlay).
2676
2677 * lisp.h (struct Lisp_Overlay): New field `next'.
2678
2679 * buffer.h (struct buffer): Change overlays_before and overlays_after
2680 from Lisp lists of overlays to pointers to overlays.
2681
2682 * buffer.c (overlay_strings, recenter_overlay_lists):
2683 Fix typo in eassert in last commit.
2684 (unchain_overlay): New function.
2685 (add_overlay_mod_hooklist): Use AREF.
2686 (copy_overlays, reset_buffer, overlays_at, overlays_in)
2687 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
2688 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
2689 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
2690 (report_overlay_modification, evaporate_overlays, init_buffer_once):
2691 Adjust to new type of overlays_(before|after).
2692
2693 * alloc.c (mark_object): Mark the new `next' field of overlays.
2694 (mark_buffer): Manually mark the overlays_(after|before) fields.
2695
2696 * coding.c (run_pre_post_conversion_on_str):
2697 * editfns.c (overlays_around):
2698 * xdisp.c (load_overlay_strings):
2699 * fileio.c (Finsert_file_contents):
2700 * indent.c (current_column):
2701 * insdel.c (signal_before_change, signal_after_change):
2702 * intervals.c (set_point_both):
2703 * print.c (temp_output_buffer_setup): Use new type for
2704 overlays_(before|after).
2705
04812929
SM
27062003-07-08 Stefan Monnier <monnier@cs.yale.edu>
2707
2708 * buffer.c (report_overlay_modification): Don't run hooks while
2709 traversing the list of overlays.
2710
2711 * buffer.h (struct buffer): Use an int for overlay_center.
2712 (overlays_at, evaporate_overlays, recenter_overlay_lists)
2713 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
2714
2715 * buffer.c (reset_buffer, recenter_overlay_lists)
2716 (adjust_overlays_for_insert, adjust_overlays_for_delete)
2717 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
2718 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
2719 (overlays_at, evaporate_overlays, recenter_overlay_lists)
2720 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
2721
2722 * xdisp.c (fast_find_position): Remove unused var.
2723
2724 * cmds.c (Qexpand_abbrev): New sym.
2725 (syms_of_cmds): Initialize it.
2726 (internal_self_insert): Use it to call expand-abbrev.
2727
2e7ecf15
KS
27282003-07-09 Kim F. Storm <storm@cua.dk>
2729
2730 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if emacs
2731 was configured with --without-xim.
42f81f64 2732 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
2e7ecf15 2733
c6de56a0
RS
27342003-07-07 Richard M. Stallman <rms@gnu.org>
2735
2736 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
2737
2738 * alloc.c (Fgarbage_collect): Doc fix.
2739
b93fb365
KH
27402003-07-07 Nozomu Ando <nand@mac.com> (tiny change)
2741
2742 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
2743
bfe1a3f7
SM
27442003-07-06 Stefan Monnier <monnier@cs.yale.edu>
2745
04812929
SM
2746 * minibuf.c (read_minibuf): UNGCPRO before returning.
2747 (Ftry_completion, Fall_completions): Doc fix.
2748
bfe1a3f7
SM
2749 * alloc.c (live_float_p): Check that p is not past the `floats' array,
2750 now that `floats' is not the last element of the struct any more.
2751
ee79d1aa
JR
27522003-07-06 Jason Rumney <jasonr@gnu.org>
2753
2754 * w32term.h (ClipboardSequence_Proc): New type.
2755
2756 * w32fns.c (clipboard_sequence_fn): New variable.
2757 (globals_of_w32fns): Initialize it.
2758
2759 * w32select.c (last_clipboard_sequence_number): New variable.
2760 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
2761 number if possible.
2762
49723c04
SM
27632003-07-06 Stefan Monnier <monnier@cs.yale.edu>
2764
4698665f
SM
2765 * m/amdx86-64.h (MARKBIT):
2766 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
2767 MARKBIT and ARRAY_MARK_FLAG any more.
2768
2769 * m/hp800.h (XSETMARKBIT):
2770 * m/sr2k.h (XSETMARKBIT):
2771 * lisp.h (XSETMARKBIT): Remove unused macro.
2772
49723c04
SM
2773 * lisp.h (mark_object): Change prototype.
2774
2775 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
2776 (last_marked): Change accordingly.
2777 (mark_interval, mark_maybe_object, mark_maybe_pointer)
2778 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
2779 (mark_buffer): Update calls to mark_object.
2780
2781 * bytecode.c (mark_byte_stack):
2782 * fns.c (sweep_weak_table):
2783 * keyboard.c (mark_kboards): Update calls to mark_object.
2784
1d660eca
JR
27852003-07-06 Jason Rumney <jasonr@gnu.org>
2786
2787 * alloc.c (struct ablock): Only include padding when there is some.
2788
618b5ae4
SM
27892003-07-04 Stefan Monnier <monnier@cs.yale.edu>
2790
2791 * alloc.c (ALIGN): Add casts to simplify usage.
2792 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
2793 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
2794 (struct ablock, struct ablocks): New types.
2795 (free_ablock): New global var.
2796 (lisp_align_malloc, lisp_align_free): New functions.
2797 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
2798 (struct float_block): Reorder and add gcmarkbits.
2799 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
2800 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
2801 (init_float, make_float): Use lisp_align_malloc.
2802 (free_float, live_float_p): Don't use `type' any more.
2803 (make_float): Use FLOAT_UNMARK to access to mark bit.
2804 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
2805 Use FLOAT_MARKED_P to access the mark bit.
2806 (pure_alloc): Simplify use of ALIGN.
2807 (mark_object): Use FLOAT_MARK to access the mark bit.
2808 (gc_sweep): Use new macros to access the float's mark bit.
2809 (init_alloc_once): Init free_ablock.
2810
2811 * lisp.h (struct Lisp_Float): Remove unused field `type'.
2812
3ef06d12
SM
28132003-06-27 Stefan Monnier <monnier@cs.yale.edu>
2814
2815 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
2816 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
2817 (allocate_buffer): Move.
2818 (string_bytes): Don't mask markbit of `size_byte'.
2819 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
2820 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
2821 Use the `size' field of buffers (rather than the `name' field) for
2822 the mark bit, as is done for all other vectorlike objects.
2823 Use the new macros to access the mark bit of vectorlike objects.
2824
e81043aa
RS
28252003-06-26 Richard M. Stallman <rms@gnu.org>
2826
2827 * puresize.h (BASE_PURESIZE): Increment base size.
2828
2829 * xdisp.c (fast_find_position): Enable Gerd's new definition.
2830
2831 * xterm.c (xim_initialize): Undo previous change.
2832
2d0834cc
SM
28332003-06-26 Stefan Monnier <monnier@cs.yale.edu>
2834
2835 * alloc.c (survives_gc_p): Simplify.
2836
2837 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
2838
2839 * window.c (Fset_window_dedicated_p): Simplify.
2840 (display_buffer_1): Don't raise the win from which minibuf was entered.
2841 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
2842 (Fminibuffer_selected_window): Simplify.
2843
2844 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
2845
2846 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
2847 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
2848
2849 * insdel.c (check_markers, adjust_markers_for_delete)
2850 (adjust_markers_for_insert, adjust_markers_for_replace)
2851 (prepare_to_modify_buffer, RESTORE_VALUE):
2852 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
2853 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
2854 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
2855 * alloc.c (Fmake_marker, free_marker, gc_sweep):
2856 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
2857 * editfns.c (save_excursion_restore, transpose_markers):
2858 * window.c (delete_window):
2859 * xdisp.c (message_dolog): Update for new types.
2860
d54ae3d8
JD
28612003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2862
a5f696ac
JD
2863 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
2864 (realize_default_face): Use default_face_done_p for the force_p
2d0834cc 2865 argument to set_lface_from_font_name. Set default_face_done_p to one.
a5f696ac
JD
2866
2867 * frame.c (make_frame): Initialize default_face_done_p.
2868
2869 * frame.h (struct frame): Add default_face_done_p.
2870
d54ae3d8
JD
2871 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
2872 will be defined.
2873
2336fe58
SM
28742003-06-25 Stefan Monnier <monnier@cs.yale.edu>
2875
2876 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
2877 Initialize the new field `gcmarkbit'.
2878 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
2879 (mark_interval_tree): Don't mark the tree separately from the nodes.
2880 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
2881 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
2882 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
2883
2884 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
2885 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
2886 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
2887 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
2888 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
2889
bcea31c2
DL
28902003-06-24 Dave Love <fx@gnu.org>
2891
2892 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
2893
2894 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
2895 from gnulib.
2896
2601f59e
RS
28972003-06-21 Richard M. Stallman <rms@gnu.org>
2898
2899 * fileio.c (Fwrite_region): Alternate messages
2900 for append and partial write.
2901
2902 * keyboard.c (read_key_sequence): When converting upcase fn key to
2903 downcase, update fkey and keytran so `backspace' gets translated.
2904
2905 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
2906
2907 * process.c (wait_reading_process_input): Don't signal SIGIO
2908 in batch mode.
2909
b5d2c621
KH
29102003-06-17 Kenichi Handa <handa@m17n.org>
2911
2912 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
2913 composite.h.
2914
2915 * xselect.c: Don't include charset.h, coding.h, composite.h.
2916 (Qforeign_selection): New variable.
2917 (syms_of_xselect): Intern and static it.
2918 (selection_data_to_lisp_data): Return a unibyte string made from
2919 data with `foreign-selection' text property.
2920
6793bc63
SM
29212003-06-15 Stefan Monnier <monnier@cs.yale.edu>
2922
2923 * termhooks.h (EVENT_INIT): New macro.
2924
2925 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
2926
2927 * alloc.c (mark_kboards): Move to keyboard.c.
2928
2929 * keyboard.c (record_asynch_buffer_change, read_avail_input):
2930 * xterm.c (x_dispatch_event):
2931 * xmenu.c (find_and_call_menu_selection):
2932 * xdisp.c (handle_tool_bar_click):
2933 * w32menu.c (menubar_selection_callback):
2934 * sysdep.c (kbd_input_ast, read_input_waiting):
2935 * msdos.c (dos_rawgetc):
2936 * macterm.c (mac_check_for_quit_char):
2937 * macmenu.c (menubar_selection_callback):
2938 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
2939 data to kbd_buffer_store_event.
2940
b3ea810c
KS
29412003-06-15 Kim F. Storm <storm@cua.dk>
2942
2943 * xdisp.c (x_fix_overlapping_area): Always use area relative X
6793bc63 2944 to fix redisplay problem with tall characters (such as \e,AC\e(B).
b3ea810c 2945
b8f75eda
KG
29462003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
2947
2948 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
2949
ba92ce48
KH
29502003-06-12 Kenichi Handa <handa@m17n.org>
2951
2952 * fileio.c (Fwrite_region): Save and restore restriction.
2953
b80263be
DL
29542003-06-12 Dave Love <fx@gnu.org>
2955
2956 * alloca.c (alloca): Declare arg as size_t.
2957
6793bc63
SM
2958 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
2959 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
b80263be 2960
b23c0a83
DL
29612003-06-11 Dave Love <fx@gnu.org>
2962
2963 * search.c (shrink_regexp_cache): Use xrealloc.
2964 (syms_of_search): Use xmalloc.
2965
700e47c2
KS
29662003-06-10 Kim F. Storm <storm@cua.dk>
2967
2968 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
2969 Adjust phys_cursor.x to be relative to window box, rather than
2970 text area before checking -- to ensure cursor is redrawn when
2971 exposing window.
2972 Note: This also fixes a similar (older) bug if display margins
2973 are present.
2974
f11aa0b2
KH
29752003-06-06 Kenichi Handa <handa@m17n.org>
2976
2977 * coding.c (encoding_buffer_size): If coding->type is
2978 coding_type_ccl, double magnification on CRLF encoding.
2979
3d143690
JR
29802003-06-06 Jason Rumney <jasonr@gnu.org>
2981
2982 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
2983 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
2984
2985 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
2986 Mac too.
2987
f16205ca
DL
29882003-06-05 Dave Love <fx@gnu.org>
2989
b23c0a83
DL
2990 * strftime.c: Merge changes from gnulib.
2991
f16205ca
DL
2992 * mktime.c (__mktime_internal): Merge changes from gnulib
2993 involving year 69 and dst2.
2994
2995 Changes to merge with gnulib version and be consistent with the
2996 autoconf test:
2997
6793bc63
SM
2998 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
2999 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
f16205ca
DL
3000 [HAVE_LOCALE_H]: Include locale.h.
3001 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
3002
9b87a0bc
KS
30032003-06-05 Kim F. Storm <storm@cua.dk>
3004
3005 * window.c (coordinates_in_window): Convert X and Y to window
3006 relative coordinates inside mode-line and header-line parts.
3007 Convert X and Y to margin area relative coordinates inside left
3008 and right display margin parts.
3009
5a8a15ec
JR
30102003-06-05 Jason Rumney <jasonr@gnu.org>
3011
3012 * w32fns.c (add_system_logical_colors_to_map): New function.
3013 (Fx_open_connection): Use it.
3014
01ed8ff1
SM
30152003-06-04 Stefan Monnier <monnier@cs.yale.edu>
3016
3017 * process.c (allocate_pty): Revert part of the previous patch.
3018 (Faccept_process_output): Simplify.
3019
b427b65d
JR
30202003-06-04 Jason Rumney <jasonr@gnu.org>
3021
3022 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
3023
3024 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
3025 (lispy_mouse_wheel_names): Remove.
3026 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
3027 Always define drag_and_drop_syms.
3028
3029 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
3030 WHEEL_EVENT events.
3031
914a8c47
SM
30322003-06-03 Stefan Monnier <monnier@cs.yale.edu>
3033
01ed8ff1
SM
3034 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
3035
914a8c47
SM
3036 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
3037
adcb132c
JD
30382003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3039
3040 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
3041 menu item label.
3042
be781fa7
RS
30432003-06-03 Richard M. Stallman <rms@gnu.org>
3044
3045 * window.c (Fwindow_edges): Doc fix.
3046 (Fwindow_pixel_edges, Fwindow_inside_edges)
3047 (Fwindow_inside_pixel_edges): New functions.
3048 (syms_of_window): defsubr them.
3049
3050 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
3051 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
3052
914a8c47
SM
30532003-06-02 Stefan Monnier <monnier@cs.yale.edu>
3054
3055 * dispnew.c (Fsit_for): Don't lie about the number of args.
3056
5b07197a
DL
30572003-06-02 Dave Love <fx@gnu.org>
3058
3059 * callproc.c: Use HAVE_FCNTL_H, not USG5.
3060 (syms_of_callproc) <process-environment>: Doc fix.
3061
3062 * doc.c: Use HAVE_FCNTL_H, not USG5.
3063
3064 * xfaces.c (font_rescale_ratio): Fix for K&R.
3065
3066 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
3067
3068 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
3069
3070 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
3071
3072 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
3073 (xg_create_frame_widgets): Use ENCODE_UTF_8.
3074
d7107586 3075 * xterm.c (Qutf_8): Move to coding.c
5b07197a
DL
3076
3077 * xmenu.c (ENCODE_MENU_STRING): New.
3078 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
3079 Use it.
3080
3081 * coding.h (ENCODE_UTF_8): New.
3082 (Qutf_8): Declare.
3083
3084 * coding.c (Qutf_8): New.
3085 (syms_of_coding): Intern it.
3086
3087 * fns.c: Doc fixes.
3088
7335b336
KH
30892003-06-02 Kenichi Handa <handa@m17n.org>
3090
3091 * buffer.c (Fset_buffer_multibyte): Fix previous change.
3092
914a8c47
SM
30932003-06-01 Stefan Monnier <monnier@cs.yale.edu>
3094
3095 * lread.c (openp): Make sure STR is a string.
3096
9862c135
JR
30972003-06-01 David Ponce <david@dponce.com>
3098
3099 * termhooks.h (enum event_kind): Added new WHEEL_EVENT event.
3100 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
3101
3102 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
3103 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
3104 (discard_mouse_events): Discard WHEEL_EVENT events too.
3105 (lispy_wheel_names, wheel_syms): New.
3106 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
3107 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX
3108 defined.
914a8c47 3109 (make_lispy_event): Add WHEEL_EVENT handler.
9862c135
JR
3110
3111 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
3112 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
3113 WHEEL_EVENT events.
3114
f984e73e
JPW
31152003-05-31 John Paul Wallington <jpw@gnu.org>
3116
3117 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
3118 timer are in lisp/emacs-lisp.
3119
1efcd78f
KH
31202003-05-31 Kenichi Handa <handa@m17n.org>
3121
458c8af4
KH
3122 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
3123 region when a buffer is changed to unibyte.
3124
1efcd78f
KH
3125 * charset.h (VALID_LEADING_CODE_P): New macro.
3126 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
3127
778e2804
KH
3128 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
3129 is nonzero, accept multibyte form of eight-bit-control chars.
3130 (decode_composition_emacs_mule): Likewise.
3131 (decode_coding_emacs_mule): Likewise.
3132 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
3133 multibyte form of eight-bit-control chars.
3134
3135 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
3136 (Finsert_file_contents): If coding-system-for-read is bound to
3137 Qauto_save_coding, use the coding system emacs-mule with special
3138 setting for recovering a file.
3139 (choose_write_coding_system): On auto saving, use the coding
3140 system emacs-mule with special setting for auto saving.
3141 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
3142
034060e4
KH
31432003-05-30 Kenichi Handa <handa@m17n.org>
3144
3145 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
3146 properly before calling ccl_driver.
3147
778e2804 3148 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
034060e4
KH
3149
3150 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is
3151 nonzero.
3152 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
3153 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
3154
595f5aa5
GM
31552003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
3156
3157 * xfaces.c (realize_default_face): Do not abort if lface is
3158 non-existent - reverts change from 2003-05-19.
3159
103e0180
KH
31602003-05-29 Kenichi Handa <handa@m17n.org>
3161
3162 * coding.c (decode_coding_iso2022): Pay attention to the byte
3163 sequence of CTEXT extended segment, and retain those bytes as is.
3164
31652003-05-28 Kenichi Handa <handa@m17n.org>
3166
3167 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change
3168 of CODING_REPLACEMENT_CHARACTER.
3169 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
3170 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
3171 check this flag on encoding.
3172 (encode_coding_sjis_big5): Check
3173 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
3174 (Fset_terminal_coding_system_internal): Set
3175 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
3176 instead of setting CODING_FLAG_ISO_SAFE flag in
3177 terminal_coding.flags.
3178
3179 * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from
3180 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
3181 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
3182
ff6a3bfb 31832003-05-28 Richard M. Stallman <rms@gnu.org>
45f266dc 3184
ff6a3bfb
RS
3185 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
3186
3187 * eval.c (unbind_to): Move init of this_binding to separate statement.
45f266dc 3188
1963c428
KS
31892003-05-28 Kim F. Storm <storm@cua.dk>
3190
3191 * xdisp.c (expose_window): Fix error in calculation of
3192 window relative coordinates of area to redisplay.
3193
2b5d4601
JR
31942003-05-27 Jason Rumney <jasonr@gnu.org>
3195
3196 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
3197
1c64a4a2
JB
31982003-05-27 David Ponce <david@dponce.com>
3199
3200 Handle W32 mouse wheel events as mouse click events, like in X.
3201
3202 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
3203 MOUSE_WHEEL_EVENT anymore.
3204
3205 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
3206 Scrolling down/up the mouse wheel is respectively mapped to mouse
3207 button 4 and 5.
3208 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
3209 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
3210 WM_MOUSEWHEEL events.
3211
2d031b89
AS
32122003-05-27 Andreas Schwab <schwab@suse.de>
3213
20464fdf
AS
3214 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
3215
2d031b89
AS
3216 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
3217 partially visible line.
3218
3219 * alloc.c (Fgarbage_collect): Fix last change.
3220
97bc76d4
JPW
32212003-05-26 John Paul Wallington <jpw@gnu.org>
3222
3223 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
3224
56613f06
SM
32252003-05-25 Stefan Monnier <monnier@cs.yale.edu>
3226
3227 * window.c (Fset_window_buffer): Add type of `keep_margins'.
3228 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
3229
3230 * window.h (window_box_text_cols): Declare.
3231
3232 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
3233 (x_draw_vertical_border): Remove unused var `f'.
3234
3235 * xfaces.c (build_scalable_font_name): Remove `unused var
3236 pixel_size' warning.
3237
3238 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
3239
3240 * unexelf.c (unexec): Remove `unused var n' warning.
3241
3242 * strftime.c (my_strftime_localtime_r): Remove `defined but
3243 unused' warning.
3244
3245 * process.c (allocate_pty): Remove `unused var stb' and
3246 `cp might be used uninitialized' warnings.
3247
3248 * dispnew.c (mode_line_string): Remove unused var `f'.
3249
3250 * coding.c (find_safe_codings): Remove unused var `i'.
3251
3252 * bytecode.c (Fbyte_code): Remove `unused val' warning.
3253
3254 * buffer.c (Fkill_buffer): Remove unused var `list'.
3255
3256 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
3257
93421a1f
JD
32582003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3259
3260 * frame.c (make_frame): Condition want_fullscreen with
3261 HAVE_WINDOW_SYSTEM.
3262
c4b8aebc
JB
32632003-05-25 Juanma Barranquero <lektu@terra.es>
3264
3265 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
3266 (Fwindow_scroll_bars): Fix typo in docstring.
3267
0416870b
KS
32682003-05-24 Kim F. Storm <storm@cua.dk>
3269
3270 The following changes serve several purposes:
3271
3272 1) Swap the position of fringes and display margins in windows, i.e.
3273 the fringes are now displayed between the margins and the text area
3274 (by default).
3275
3276 2) Allow fringe and scroll bar parameters to be set per-buffer and
3277 per-window (like display margins). Such settings are now stored
3278 in window configurations, preserved when frames are resized, and
9018a88e 3279 copied when windows are split vertically or horizontally.
0416870b
KS
3280 Several bugs related to display margins have been fixed.
3281
3282 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
9018a88e 3283
0416870b
KS
3284 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
3285 rather than FRAME_WIDTH (FRAME_FONT (f)).
3286
3287 5) Introduce a consistent naming of variables, members and macros
3288 depending on whether their value is measured in pixels or in
3289 canonical columns/lines. Pixel dimensions are named *_width and
3290 *_height, while canonical columns/lines are named *_cols and
3291 *_lines. Pixel positions are named *_x and *_y, while column/line
3292 positions are named *_col and *_line.
3293
3294 6) Consolidate more of the X, W32, and MAC gui code by moving
3295 common data into struct frame, and generalize it for the non-gui
3296 case by using suitable defaults.
3297
3298 7) Cleanup and consolidate the macros controlling frame and window
3299 layout into frame.h and window.h, and generalize the use of the
3300 various window_box_* functions (enhanced to handle the new fringe
3301 position and the per-window fringe and scroll bar settings).
3302
3303 * frame.h (struct frame): Rename members height to text_lines,
3304 width to text_cols, window_height to total_lines, window_width to
3305 total_cols, new_height to new_text_lines, new_width to
3306 new_text_cols. All uses changed.
3307 (struct frame): New members which consolidate common members of
3308 x_output, w32_output, and mac_output structures: left_pos,
3309 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
3310 win_gravity, size_hint_flags, border_width, internal_border_width,
3311 line_height, fringe_cols, left_fringe_width, right_fringe_width,
3312 want_fullscreen. All uses changed.
3313 (struct frame): New member column_width contaning the canonical
3314 column width, analogue to line_height. All uses changed.
3315 (struct frame): Rename members scroll_bar_pixel_width to
3316 config_scroll_bar_width, and scroll_bar_cols to
3317 config_scroll_bar_cols. All uses changed.
3318 (struct frame): New member scroll_bar_actual_width which
3319 consolidates and renames the vertical_scroll_bar_extra member of
3320 x_output, w32_output, and mac_output structures. All uses changed.
3321 (FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
3322 from x/w32/macterm.h files. All uses changed. Also change code
3323 which referred to f->output_data...->pixel_height.
3324 (FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
3325 from x/w32/macterm.h files. All uses changed. Also change code
3326 which referred to f->output_data...->pixel_width.
3327 (FRAME_LINES): Renamed from FRAME_HEIGHT. All uses changed.
3328 Also change code which referred to f->height.
3329 (FRAME_COLS): Renamed from FRAME_WIDTH. All uses changed.
3330 Also change code which referred to f->width.
3331 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
3332 to update new_text_lines and new_text_cols members directly.
3333 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
3334 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
3335 (FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
3336 FRAME_SCROLL_BAR_COLS. All uses changed.
3337 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
3338 Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
3339 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
3340 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
3341 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
3342 (FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
3343 (SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
3344 (FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
3345 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
3346 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
3347 (FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT. Unconditionally
3348 return line_height member (it now has proper value also for
3349 non-window frames).
3350 (FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT. Unconditionally
3351 return new column_width member (rather than the default font width).
3352 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
3353 (FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
3354 from x/w32/macterm.h files. Unconditionally return corresponding
3355 member of frame structure (they now have proper values also for
3356 non-window frames).
3357 (FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
3358 Calculate return value from left and right widths.
3359 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
3360 internal_border_width member (has proper value for non-window frame).
3361 (FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
3362 (FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
3363 (FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
3364 (FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
3365 (FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
3366 consolidated from xterm.h, macterm.h, and w32term.h.
3367 (FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
3368 consolidated from xterm.h, macterm.h, and w32term.h.
3369 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
3370 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
3371 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
3372 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
3373 (FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
3374 consolidated from x/mac/w32term.h.
3375 (FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
3376 consolidated from x/mac/w32term.h.
3377 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
3378 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
3379 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
3380 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
3381
3382 * window.h (struct window): Rename members left to left_col,
3383 top to top_line, height to total_lines, width to total_cols,
3384 left_margin_width to left_margin_cols, right_margin_width to
3385 right_margin_cols, orig_height to orig_total_lines, orig_top to
3386 orig_top_line. All uses changed.
3387 (struct window): New members left_fringe_width, right_fringe_width,
3388 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
3389 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
3390 New macros primarily used to simplify other macros.
3391 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
3392 referred to XINT (w->width).
3393 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
3394 referred to XINT (w->height).
3395 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
3396 referred to XINT (w->width) * canon_x_unit.
3397 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
3398 referred to XINT (w->height) * canon_y_unit.
3399 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
3400 referred to XINT (w->left).
3401 (WINDOW_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_EDGE. Change
3402 all uses and code that referred to XINT (w->left) + XINT (w->width).
3403 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
3404 referred to XINT (w->top).
3405 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
3406 referred to XINT (w->top) + XINT (w->height).
3407 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
3408 referred to XINT (w->left) * canon_x_unit.
3409 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
3410 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
3411 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
3412 referred to XINT (w->top) * canon_y_unit.
3413 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
3414 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
3415 (WINDOW_LEFTMOST_P): New macro.
3416 (WINDOW_BOX_LEFT_EDGE_COL): Renamed from WINDOW_LEFT_MARGIN.
3417 All uses changed.
3418 (WINDOW_BOX_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_MARGIN.
3419 All uses changed.
3420 (WINDOW_BOX_LEFT_EDGE_X): Renamed from
3421 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
3422 Do not exclude left fringe width.
3423 (WINDOW_BOX_RIGHT_EDGE_X): Renamed from
3424 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
3425 Do not exclude fringe widths.
3426 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
3427 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
3428 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
3429 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
3430 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
3431 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
3432 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
3433 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
3434 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
3435 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
3436 New macros. Change code which referenced corresponding
3437 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
3438 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
3439 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
3440 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
3441 allow per-window scroll-bar settings.
3442 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
3443 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
3444 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
3445 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
3446 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
3447 FRAME_SCROLL_BAR_WIDTH.
3448 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
9018a88e 3449 (WINDOW_SCROLL_BAR_AREA_X): New macros.
0416870b
KS
3450 (WINDOW_HEADER_LINE_HEIGHT): Renamed from
3451 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
3452 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Renamed from
3453 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
3454 (WINDOW_BOX_TEXT_HEIGHT): Renamed from
3455 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
3456 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
3457 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
3458 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Moved here from dispextern.h.
3459 (WINDOW_LEFT_MARGIN_WIDTH): Renamed from
3460 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
3461 (WINDOW_RIGHT_MARGIN_WIDTH): Renamed from
3462 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
3463 (window_from_coordinates): Update prototype.
3464 (Fset_window_buffer): Update EXFUN.
3465 (set_window_buffer): Update prototype.
9018a88e 3466
0416870b 3467 * dispextern.h (struct glyph_matrix): Rename members window_left_x
9018a88e 3468 to window_left_col, window_top_y to window_top_line. All uses
0416870b
KS
3469 changed.
3470 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
3471 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
3472 internal_border_width is now set to 0 for non-window frames.
3473 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
3474 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
3475 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
3476 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
3477 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
3478 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
3479 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
3480 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
3481 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
9018a88e 3482 Move to window.h and renamed [see window.h changes].
0416870b
KS
3483 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
3484 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
9018a88e
SM
3485 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
3486 Use WINDOW_TOTAL_LINES.
0416870b
KS
3487 (frame_update_line_height): Remove prototype.
3488
3489 * buffer.h (struct buffer): Rename members measured in columns:
3490 left_margin_width to left_margin_cols, right_margin_width to
3491 right_margin_cols. All uses changed.
3492 New members left_fringe_width, right_fringe_width,
3493 fringes_outside_margins for per-buffer fringe settings.
3494 New members scroll_bar_width and vertical_scroll_bar_type for
3495 per-buffer scroll bar settings.
3496
3497 * buffer.c (init_buffer_once): Set buffer_defaults and
3498 buffer_local_flags for new buffer-local variables
3499 left_fringe_width, right_fringe_width, fringes_outside_margins,
3500 scroll_bar_width, and vertical_scroll_bar_type.
3501 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
3502 default-* variables for them.
3503
3504 * dispnew.c: Make (many) trivial substitutions for renamed and
3505 new macros in dispextern.h, frame.h and window.h.
3506 (mode_line_string): No need to adjust width for mode lines, as it
3507 is already adjusted by the caller.
3508 (marginal_area_string): Handle fringes inside/outside margins.
9018a88e 3509
0416870b
KS
3510 * frame.c: Make (many) trivial substitutions for renamed and
3511 new macros in dispextern.h, frame.h and window.h.
3512 (make_frame): Initialize left_fringe_width, right_fringe_width,
3513 fringe_cols, scroll_bar_actual_width, border_width,
3514 internal_border_width, column_width, line_height, x_pixels_diff,
3515 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
3516 members with values suitable for a non-window frames.
3517
3518 * gtkutil.c: Make (many) trivial substitutions for renamed and
3519 new macros in dispextern.h, frame.h and window.h.
9018a88e 3520
0416870b
KS
3521 * indent.c: Make (few) trivial substitutions for renamed and
3522 new macros in dispextern.h, frame.h and window.h.
3523
3524 * keyboard.c: Make (many) trivial substitutions for renamed and
3525 new macros in dispextern.h, frame.h and window.h.
3526 (make_lispy_event): Use window positions returned from
3527 window_from_coordinates when constructing the lisp event for
3528 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
3529 (incorrect) values locally.
3530 (make_lispy_movement): Use window positions returned from
3531 window_from_coordinates when constructing the lisp event, rather
3532 than calculating (incorrect) values locally.
3533
3534 * scroll.c: Make (some) trivial substitutions for renamed and
3535 new macros in dispextern.h, frame.h and window.h.
3536
3537 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
3538 scroll-bars.
3539
3540 * sysdep.c: Make (few) trivial substitutions for renamed and
3541 new macros in dispextern.h, frame.h and window.h.
3542
3543 * term.c: Make (some) trivial substitutions for renamed and
3544 new macros in dispextern.h, frame.h and window.h.
3545
3546 * widget.c: Make (few) trivial substitutions for renamed and
3547 new macros in dispextern.h, frame.h and window.h.
3548
3549 * window.c: Make (many) trivial substitutions for renamed and
3550 new macros in dispextern.h, frame.h and window.h.
3551 (make_window): Initialize new members
3552 left_margin_cols, right_margin_cols, left_fringe_width,
3553 right_fringe_width, fringes_outside_margins, scroll_bar_width,
3554 and vertical_scroll_bar_type.
3555 (coordinates_in_window): Adapted to new fringe/margin positions
9018a88e 3556 and per-window fringes and scroll-bars.
0416870b 3557 Fix bug related to incorrectly adjusting coordinates by
9018a88e 3558 frame's internal_border_width (the effect normally negible since
0416870b
KS
3559 the internal_border_width is typically 0 or 1 pixel, but very
3560 noticeable for an internal_border_width of e.g. 25 pixels).
3561 Upon successful return (other than ON_NOTHING), the coordinates
3562 are now always properly converted to window relative for the
3563 given display element.
3564 (window_from_coordinates): Add new parameters wx and wy to
3565 return the window relative x and y position in the returned
3566 window and part. A null arg means, don't return the position.
3567 All callers changed.
3568 (adjust_window_margins): New function which may reduce the width
3569 of the display margins if a window's text area is too small after
3570 resizing or splitting windows.
3571 (size_window): Fix bug that did not account for display margin
3572 widths when checking the minimum width of a window; use
3573 adjust_window_margins.
3574 (set_window_buffer): Call Fset_window_fringes and
3575 Fset_window_scroll_bars to setup per-window elements.
3576 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
3577 existing display margin, fringe widths, and scroll bar settings
9018a88e
SM
3578 (e.g. after splitting a window or resizing the frame).
3579 All callers changed.
0416870b
KS
3580 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
3581 (Fsplit_window): Duplicate original window's display margin,
3582 fringe, and scroll-bar settings; then call Fset_window_buffer with
3583 KEEP_MARGINS non-nil. This fixes a bug which caused a split
3584 window to only preserve the display margins in one of the windows.
c4b8aebc 3585 When splitting horizontally, call adjust_window_margins on both
0416870b
KS
3586 windows to ensure that the text area of the new windows is non too
3587 narrow. This fixes a bug which could cause emacs to trap if the
3588 width of the split window was less than the width of the display
3589 margins.
9018a88e
SM
3590 (window_box_text_cols): Renamed from window_internal_width.
3591 All uses changed. Adapt to per-window fringes and scroll bars.
0416870b
KS
3592 Fix bug that caused vertical separator to be subtracted also on
3593 window frames. Fix another bug that did not reduce the returned
3594 value by the columns used for display margins.
3595 (window_scroll_line_based): Fix bug related to scrolling too much
3596 when display margins are present (implicitly fixed by the fix to
3597 window_box_text_cols).
3598 (scroll_left, scroll_right): Fix bug related to scrolling too far
3599 by default when display margins are present (implicitly fixed by
3600 the fix to window_box_text_cols).
3601 (struct saved_window): Rename members left to left_col, top to
3602 top_line, width to total_cols, height to total_lines, orig_top to
3603 orig_top_line, orig_height to orig_total_lines. All uses changed.
3604 New members left_margin_cols, right_margin_cols,
3605 left_fringe_width, right_fringe_width, fringes_outside_margins,
3606 scroll_bar_width, and vertical_scroll_bar_type for saving
3607 per-window display elements.
3608 (Fset_window_configuration): Restore display margins, fringes,
3609 and scroll bar settings. This fixes a bug which caused display
3610 margins to be discarded when saving and restoring a window
3611 configuration.
3612 (save_window_save): Save display margins, fringes, and scroll bar
3613 settings. This fixes a bug which caused display margins to be
3614 discarded when saving and restoring a window configuration.
3615 (Fset_window_margins): Do nothing if display margins are not
3616 really changed. Otherwise, call adjust_window_margins to ensure
3617 the text area doesn't get too narrow. This fixes a bug which
3618 could cause emacs to trap if setting display margins wider than
3619 the width of the window.
3620 (Fset_window_fringes): New defun to allow user to specifically set
3621 this window's fringe widths and position vs. display margins.
3622 (Fwindow_fringes): New defun to return window's actual fringe
3623 settings.
3624 (Fset_window_scroll_bars): New defun to allow user to specifically
3625 set this window's scroll bar width and position.
3626 (Fwindow_scroll_bars): New defun to return window's actual scroll
3627 bar settings.
3628 (compare_window_configurations): Also compare display margins,
3629 fringes, and scroll bar settings.
3630 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
3631
3632 * xdisp.c: Make (many) trivial substitutions for renamed and
3633 new macros in dispextern.h, frame.h and window.h.
3634 (window_box_width): Adapt to per-window fringes and scroll bars,
3635 and new fringe vs. display margin position. Note that returned
3636 value is no longer guaranteed to be a whole multiple of the frame
3637 column width, since per-window fringes may now be any width.
3638 (window_box_left_offset): New function like window_box_left, but
3639 value is relative to left border of window (rather than frame).
3640 (window_box_right_offset): New function like window_box_right,
3641 but value is relative to left border of window.
3642 (window_box_left): Adapt to per-window fringes and scroll bars,
3643 and new fringe vs. display margin position. Simplify by using
3644 WINDOW_LEFT_EDGE_X and window_box_left_offset.
3645 (window_box): Allow null args for unnecessary return values;
3646 change/simplify relevant callers.
3647 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
9018a88e
SM
3648 and new fringe vs. display margin position.
3649 Use window_box_left_offset and window_box_right_offset
0416870b 3650 (get_glyph_string_clip_rect): Adapt to per-window fringes and
9018a88e
SM
3651 scroll bars, and new fringe vs. display margin position.
3652 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
0416870b
KS
3653 (draw_fringe_bitmap): Rework to handle per-window fringes and new
3654 fringe vs. display margin position.
3655 (hscroll_window_tree): Use window_box_width instead of window_box.
a64387ee
JB
3656 (redisplay_window): Adapt to per-window scroll bars.
3657 (draw_glyphs): Rework to handle per-window fringes and scroll
9018a88e
SM
3658 bars, and new fringe vs. display margin position.
3659 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
a64387ee 3660 (x_clear_end_of_line): Adapt to per-window fringes and scroll
0416870b
KS
3661 bars, and new fringe vs. display margin position. Fix bug which
3662 increased total width of full_width rows by width of scroll bars
3663 although window's total width already includes that.
3664 (x_fix_overlapping_area): Simplify using window_box_left_offset.
3665 (expose_area): Simplify using window_box_left_offset.
3666 (x_draw_vertical_border): Handle per-window scroll bar settings,
3667 mixing windows with left, right and no scroll bars.
3668
3669 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
3670 where it's used in x_list_fonts (for clarity).
3671 (frame_update_line_height): Remove unused function; functionality
3672 is now done directly when setting the default font in x_set_font.
3673
3674 * xfns.c: Make (many) trivial substitutions for renamed and
3675 new macros in dispextern.h, frame.h and window.h.
3676
3677 * xmenu.c: Make (some) trivial substitutions for renamed and
3678 new macros in dispextern.h, frame.h and window.h.
3679
3680 * xterm.h (struct x_output): Move members left_pos, top_pos,
3681 border_width, pixel_height, pixel_width, line_height,
3682 internal_border_width, vertical_scroll_bar_extra,
3683 left_fringe_width, right_fringe_width, fringe_cols,
3684 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
3685 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
3686 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
3687 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
3688 (PIXEL_WIDTH, PIXEL_HEIGHT)
3689 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
3690 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
3691 frame.h and renamed [see frame.h changes].
3692 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
3693 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
3694 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
3695 and renamed [see frame.h changes].
9018a88e 3696
0416870b
KS
3697 * xterm.c: Make (several) trivial substitutions for renamed and
3698 new macros in dispextern.h, frame.h and window.h.
3699 (x_draw_glyph_string_box): Adapt to per-window fringes and
3700 scroll-bars.
3701 (scroll_run): Adapt to new fringe position.
3702 (glyph_rect): Use window coordinates returned from
3703 window_from_coordinates rather than frame_to_window_pixel_xy.
3704 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
3705 scroll-bars.
3706 (handle_one_xevent): Simplify a USE_GTK conditional.
3707 (x_clip_to_row): Remove superfluous whole_line_p arg and code
3708 (fringes are now inside margins, i.e. always in the clipping area).
3709 All callers changed.
3710 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
3711 directly, then call compute_fringe_widths. Don't call
3712 frame_update_line_height.
3713
3714 * w32term.h (struct w32_output): Move members left_pos, top_pos,
3715 border_width, pixel_height, pixel_width, line_height,
3716 internal_border_width, vertical_scroll_bar_extra,
3717 left_fringe_width, right_fringe_width, fringe_cols,
3718 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
3719 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
3720 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
3721 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
3722 (PIXEL_WIDTH, PIXEL_HEIGHT)
3723 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
3724 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
3725 frame.h and renamed [see frame.h changes].
3726 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
3727 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
3728 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
3729 and renamed [see frame.h changes].
9018a88e 3730
0416870b
KS
3731 * w32term.c: Make (several) trivial substitutions for renamed and
3732 new macros in dispextern.h, frame.h and window.h.
3733 (x_draw_glyph_string_box): Adapt to per-window fringes and
3734 scroll-bars.
3735 (glyph_rect): Use window coordinates returned from
3736 window_from_coordinates rather than frame_to_window_pixel_xy.
3737 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
3738 scroll-bars.
3739 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
3740 (fringes are now inside margins, i.e. always in the clipping area).
3741 All callers changed.
3742 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
3743 directly, then call compute_fringe_widths. Don't call
3744 frame_update_line_height.
3745
3746 * w32console.c: Make (few) trivial substitutions for renamed and
3747 new macros in dispextern.h, frame.h and window.h.
3748
3749 * w32fns.c: Make (many) trivial substitutions for renamed and
3750 new macros in dispextern.h, frame.h and window.h.
3751
3752 * w32menu.c: Make (few) trivial substitutions for renamed and
3753 new macros in dispextern.h, frame.h and window.h.
3754
3755 * macterm.h (struct mac_output): Move members left_pos, top_pos,
3756 border_width, pixel_height, pixel_width, line_height,
3757 internal_border_width, vertical_scroll_bar_extra,
3758 left_fringe_width, right_fringe_width, fringe_cols,
3759 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
3760 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
3761 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
3762 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
3763 (PIXEL_WIDTH, PIXEL_HEIGHT)
3764 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
3765 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
3766 frame.h and renamed [see frame.h changes].
3767 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
3768 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
3769 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
3770 and renamed [see frame.h changes].
9018a88e 3771
0416870b
KS
3772 * macterm.c: Make (several) trivial substitutions for renamed and
3773 new macros in dispextern.h, frame.h and window.h.
3774 (x_draw_glyph_string_box): Adapt to per-window fringes and
3775 scroll-bars.
3776 (glyph_rect): Use window coordinates returned from
3777 window_from_coordinates rather than frame_to_window_pixel_xy.
3778 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
3779 scroll-bars.
3780 (x_clip_to_row): Remove superfluous whole_line_p arg and code
3781 (fringes are now inside margins, i.e. always in the clipping area).
3782 All callers changed.
3783 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
3784 directly, then call compute_fringe_widths. Don't call
3785 frame_update_line_height.
3786
3787 * macfns.c: Make (several) trivial substitutions for renamed and
3788 new macros in dispextern.h, frame.h and window.h.
9018a88e 3789 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
0416870b
KS
3790
3791 * macmenu.c: Make (few) trivial substitutions for renamed and
3792 new macros in dispextern.h, frame.h and window.h.
3793
3794 * msdos.h (struct x_output): Remove members left_pos, top_pos,
3795 and line_height, and use corresponding new members in struct
3796 frame. All uses changed.
3797 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
3798 superseeded by corresponding macros in frame.h.
3799
3800 * msdos.c: Make (several) trivial substitutions for renamed and
3801 new macros in dispextern.h, frame.h and window.h.
3802 (IT_note_mouse_highlight): Use updated window coordinates returned
9018a88e 3803 by window_from_coordinates, rather than adjusting them locally.
0416870b
KS
3804 (internal_terminal_init): No need to initialize line_height here;
3805 it now defaults to 1.
3806
9018a88e
SM
38072003-05-24 Stefan Monnier <monnier@cs.yale.edu>
3808
3809 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
3810 dropping `down' events.
3811
016bd3c0
AS
38122003-05-24 Andreas Schwab <schwab@suse.de>
3813
3814 * coding.c (find_safe_codings): Fix last change.
3815
4dacadcc
TTN
38162003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
3817
3818 * xfns.c (x_window): Fix typo from 2003-05-21 change.
3819
319830ce
SM
38202003-05-23 Stefan Monnier <monnier@cs.yale.edu>
3821
9018a88e
SM
3822 * xdisp.c (display_mode_element): Increase max depth.
3823 Simplify the error handling code. Use a different error string
3824 for the case where we hit the depth limit.
3825
319830ce
SM
3826 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
3827
3828 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
3829
38302003-05-21 Stefan Monnier <monnier@cs.yale.edu>
3831
3832 * intervals.c (get_local_map): Don't get char-property of previous
3833 point any more: get_pos_property already does it and better.
3834
c67de8ba
DL
38352003-05-21 Dave Love <fx@gnu.org>
3836
3837 [Merged from unicode branch.]
3838
3839 * xfns.c (x_window, x_window): Use use_xim.
3840
3841 * xterm.c (use_xim): Initialize.
3842 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
3843 (x_term_init): Maybe set use_xim.
3844
3845 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
3846
edd3ff1d
JR
38472003-05-21 Jason Rumney <jasonr@gnu.org>
3848
3849 * unexw32.c (_start): Remove _fmode initialization.
3850
3851 * emacs.c (main) [WINDOWSNT]: Move it here.
3852
463f55ee
DL
38532003-05-20 Dave Love <fx@gnu.org>
3854
3855 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
3856
af253914
RS
38572003-05-19 Richard M. Stallman <rms@gnu.org>
3858
3859 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
3860 as value for QCfont attribute.
3861 (realize_default_face): lface should already exist; crash if not.
3862 Specify 0 for FORCE_P when calling set_lface_from_font_name.
3863
3864 * frame.c (Fignore_event): Doc fix.
3865
1d211019
KH
38662003-05-19 Kenichi Handa <handa@m17n.org>
3867
3868 * coding.c (decode_coding_string): Handle post-read-conversion
3869 even if the coding doesn't require decoding.
3870
4dd68254
RS
38712003-05-18 Richard M. Stallman <rms@gnu.org>
3872
3873 * callproc.c (Fcall_process_region): Doc fix.
3874
14d87dc9
SM
38752003-05-17 Stefan Monnier <monnier@cs.yale.edu>
3876
deca5d96
SM
3877 * lread.c (Fload): Print a message if package is obsolete.
3878
14d87dc9
SM
3879 * window.c (Fselect_window): Add optional `norecord' arg.
3880 (select_window_1): Fold into Fselect_window.
3881 (select_window_norecord): New function.
3882 (temp_output_buffer_show): Use it. Preserve current buffer.
3883
3884 * window.h (Fselect_window): Update declaration.
3885
3886 * window.c (delete_window, Fother_window, Fset_window_configuration):
3887 * minibuf.c (read_minibuf):
3888 * macterm.c (x_new_focus_frame):
3889 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
3890 * callint.c (Fcall_interactively):
3891 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
3892
3893 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
3894
78f52183
DK
38952003-05-17 David Kastrup <dak@gnu.org>
3896
3897 * process.c (read_process_output): Back out change from 2003-03-09.
3898
14d87dc9
SM
38992003-05-17 Stefan Monnier <monnier@cs.yale.edu>
3900
3901 * editfns.c (get_pos_property): Don't assume that `object' = nil.
3902
3903 * textprop.c (text_property_stickiness): New arg `buffer'.
3904
3905 * intervals.h (text_property_stickiness): New arg `buffer'.
3906 (get_pos_property): Declare.
3907
3908 * intervals.c (get_local_map): Use get_pos_property, to obey
3909 stickiness and empty overlays.
3910 (create_root_interval, graft_intervals_into_buffer): Use BEG.
3911 (merge_properties, intervals_equal, merge_properties_sticky):
3912 Use XCAR, XCDR.
3913 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
3914
1fd1cc2f
RS
39152003-05-17 Richard M. Stallman <rms@gnu.org>
3916
4f9f637a
RS
3917 * minibuf.c (read_minibuf): If buffer is empty, record the default
3918 in the history.
3919 (Fminibuffer_complete_word): When deleting the overlap, take account
3920 of its real position.
3921
3922 * fns.c (map_char_table): Fix previous change.
3923
1fd1cc2f
RS
3924 * syntax.c (find_defun_start):
3925 When open_paren_in_column_0_is_defun_start,
3926 return beginning of buffer.
3927
3928 * lisp.h (map_char_table): Declare added arg.
3929
3930 * fns.c (map_char_table): New arg TABLE gets the master table.
3931 All calls changed.
3932 Process default and inheritance, resorting to Faref if necessary.
3933
3934 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
3935 (Faccessible_keymaps): Pass new arg to map_char_table.
3936
3937 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
3938
3939 * casetab.c (set_case_table): Pass new arg to map_char_table.
3940
3941 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
3942
3943 * lisp.h (specbinding_func): New typedef.
3944 (struct specbinding): Use specbinding_func, to put the `volatile'
3945 in the right place.
3946
3947 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
3948 to avoid GCC warning.
14d87dc9 3949
b4bd27c5
RS
39502003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org> (tiny change)
3951
14d87dc9 3952 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
b4bd27c5 3953
35fb885d
SM
39542003-05-15 Stefan Monnier <monnier@cs.yale.edu>
3955
3956 * keyboard.c (apply_modifiers): Don't fill the other cache.
3957
9a274fbd
SM
39582003-05-14 Stefan Monnier <monnier@cs.yale.edu>
3959
c55b5fad
SM
3960 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
3961
9a274fbd
SM
3962 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
3963 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
3964 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
3965 (Fset_window_configuration, Fcurrent_window_configuration)
3966 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
3967 (Fpos_visible_in_window_p, mark_window_cursors_off)
3968 (window_internal_height, window_internal_width, Frecenter)
3969 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
3970 (replace_buffer_in_all_windows, init_window_once, init_window)
3971 (syms_of_window, keys_of_window): Move from lisp.h.
3972 * lisp.h: Move window.c declarations to window.h.
3973
3974 * bytecode.c: Include window.h.
3975 * emacs.c: Include window.h.
3976
14d87dc9 3977 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
9a274fbd
SM
3978 (keyremap): Add `parent' field.
3979 (keyremap_step): Use it. Remove `parent' argument.
3980 (read_key_sequence): Setup and use the new `parent' field.
3981
fd93e331
SM
39822003-05-11 Stefan Monnier <monnier@cs.yale.edu>
3983
3984 * keyboard.c (adjust_point_for_property): Ensure termination.
3985
1c4001a1
SM
39862003-05-10 Stefan Monnier <monnier@cs.yale.edu>
3987
3988 * keyboard.c (follow_key): Remove dead variable `did_meta'.
3989 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
3990 duplicated handling of function-key-map and key-translation-map
3991 in read_key_sequence.
3992 (read_key_sequence): Use them.
3993
3994 * keyboard.c (adjust_point_for_property): Try harder to move point
3995 to the non-sticky end of an invisible property.
3996
3997 * xdisp.c (single_display_prop_intangible_p): Make `space' display
3998 property intangible as well.
3999
780379b1
AS
40002003-05-10 Andreas Schwab <schwab@suse.de>
4001
4002 * xmenu.c (single_menu_item): Change last parameter to void* to
4003 avoid warning.
4004
ca2de342
RS
40052003-05-09 Richard M. Stallman <rms@gnu.org>
4006
4007 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
4008 Bind Qinhibit_modification_hooks to t so there will be no GC.
4009 Rename local `tem' to `save_deactivate_mark'.
4010
4011 * eval.c (specpdl_ptr): Declare volatile.
4012 (unbind_to): Copy the whole binding and decrement specpdl_ptr
4013 before doing the work of unbinding it.
4014
4015 * lisp.h (struct specbinding): Declare elements volatile.
4016 (specpdl_ptr): Declare volatile.
4017
4018 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
4019
4020 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
4021 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
4022
347003be
DL
40232003-05-08 Dave Love <fx@gnu.org>
4024
4025 * coding.c (Vlast_coding_system_used): Doc fix.
4026
5adcec23
JR
40272003-05-07 Jason Rumney <jasonr@gnu.org>
4028
4029 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
4030 when system does not support them.
4031
5fe3b8a4
SM
40322003-05-05 Stefan Monnier <monnier@cs.yale.edu>
4033
4034 * fileio.c (Qwrite_region_annotate_functions): New var.
4035 (build_annotations): Use it to process the global part of the hook.
4036 (syms_of_fileio): Init and staticpro it.
4037
4038 * keyboard.c (safe_run_hooks_error): Display a message instead of
4039 silently ignoring the error.
4040
40412003-05-03 Stefan Monnier <monnier@cs.yale.edu>
4042
4043 * keyboard.c (input_available_signal): Mark static.
4044 (menu_bar_items): Use map_keymap.
4045 (menu_bar_one_keymap): Remove.
4046 (menu_bar_item): Adjust arglist (for use in map_keymap).
4047 Properly hide a second binding when not both are keymaps.
4048
4049 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
4050 (single_keymap_panes): Use it and map_keymap.
4051 (single_menu_item): Use skp as well.
4052
4053 * keymap.h (map_keymap_function_t): New type.
4054 (map_keymap): Declare.
4055
4056 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
4057 (map_keymap_call, Fmap_keymap): New functions.
4058 (syms_of_keymap): Defsubr map-keymap.
4059
4b1b4443
JD
40602003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4061
4062 * gtkutil.c (create_dialog, make_widget_for_menu_item)
4063 (make_menu_item, create_menus, xg_update_menu_item): Don't call
4064 ..._with_mnemonic functions for menu items.
4065
1f816871
KH
40662003-05-01 Kenichi Handa <handa@m17n.org>
4067
4068 * coding.c (coding_system_accept_latin_extra_p): Delete this
4069 function.
4070 (find_safe_codings): Pay attention to
4071 the property tranlsation-table-for-encode of each codings.
4072 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
4073
5ed6ba5b
SM
40742003-05-01 Stefan Monnier <monnier@cs.yale.edu>
4075
4076 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
4077
32c06229
SM
40782003-04-30 Stefan Monnier <monnier@cs.yale.edu>
4079
4080 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
4081
4082 * lisp.h (CHECK): Wrap args in parenthesis.
4083 (specbind): Fix doc: symbol = Qnil is not supported any more.
4084
4085 * bytecode.c (Fbyte_code) <unwind-protect>:
4086 Use Fprogn rather than 0 and Qnil.
4087
4088 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
4089 `double', and `triple' modifiers as well.
4090
ed3c3314
RS
40912003-04-30 Richard M. Stallman <rms@gnu.org>
4092
4093 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
4094
4095 * alloc.c (abort_on_gc): New variable.
4096 (Fgarbage_collect): Abort if abort_on_gc is set.
4097
4098 * lisp.h (abort_on_gc): Add decl.
4099
4100 * eval.c (Fsignal): Clear abort_on_gc.
4101
4102 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
32c06229 4103 Reinit FORMAT_START and END before second scan.
ed3c3314
RS
4104
4105 * xdisp.c (move_it_vertically_backward): Do the final big else
4106 even if nlines is 0.
4107
4108 * xdisp.c (redisplay_internal): Finish the per-frame loop
4109 even if redisplay is suspended by input.
4110
0b325c12
AC
41112003-04-24 Andrew Choi <akochoi@shaw.ca>
4112
4113 * macterm.c (x_list_fonts): Return all fonts that match if
4114 maxnames = -1.
4115
4e837cd0
KH
41162003-04-25 Kenichi Handa <handa@m17n.org>
4117
4118 * syntax.c (skip_chars): Fix previous change.
4119
9af7511a
KH
41202003-04-24 Kenichi Handa <handa@m17n.org>
4121
4122 * syntax.c (skip_chars): Make the code faster by using the common
4123 technique of *p, *stop, and *endp.
4124
e3b2c21f
JD
41252003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4126
4127 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
32c06229 4128 tool_bar_items so GTK tool bar expose callback does not access items
e3b2c21f
JD
4129 being updated.
4130
32c06229
SM
41312003-04-19 Stefan Monnier <monnier@cs.yale.edu>
4132
4133 * eval.c (Fapply): Undo last change and add a comment about why.
4134
c6464167
MB
41352003-04-18 Miles Bader <miles@gnu.org>
4136
4137 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
4138 pickier PARSE_MULTIBYTE_SEQ.
4139
e509f168
SM
41402003-04-17 Stefan Monnier <monnier@cs.yale.edu>
4141
4142 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
4143 Use XCDR, XCAR, CONSP.
4144 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
4145 (Fapply): Remove unnecessary GCPRO.
4146
4147 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
4148
4149 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
4150
4151 * buffer.h: Don't hardcode BEG==1.
4152
4153 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
4154
5ceea398
RS
41552003-04-16 Richard M. Stallman <rms@gnu.org>
4156
4157 * xdisp.c (try_window, try_window_reusing_current_matrix):
4158 When at end of window, set window_end_pos to Z-ZV.
4159
4160 * buffer.c (Foverlay_recenter): Doc fix.
4161
e509f168
SM
41622003-04-14 Stefan Monnier <monnier@cs.yale.edu>
4163
4164 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
4165
d243e605
AC
41662003-04-14 Andrew Choi <akochoi@shaw.ca>
4167
4168 * macterm.c (mac_check_for_quit_char): Don't check more often than
4169 once a second.
4170
6901b111
SM
41712003-04-11 Stefan Monnier <monnier@cs.yale.edu>
4172
4173 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
4174 specially, so that they can't hide an implicit switch-frame event.
4175 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
4176 (head_table): Use switch-frame as event_kind for select-window.
4177 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
4178
4179 * editfns.c (Fformat): Lisp_Object/int mixup.
4180 (format2): Remove unused var numargs.
4181
e301806f 41822003-04-11 Kenichi Handa <handa@m17n.org>
aa95b710 4183
6901b111 4184 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
aa95b710
KH
4185 (Qafter_insert_file_set_coding): New variable.
4186 (syms_of_fileio): Initialize and staticpro it. Delete declaration
4187 for after-insert-file-adjust-coding-function.
4188 (Finsert_file_contents): Call Qafter_insert_file_set_coding
4189 instead of Vafter_insert_file_adjust_coding_function.
4190
38914424
KH
41912003-04-11 Kenichi Handa <handa@m17n.org>
4192
4193 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
4194
4195 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
4196 string. Callers changed.
4197
41982003-04-10 Kenichi Handa <handa@m17n.org>
a288d979 4199
6901b111 4200 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
a288d979 4201 (syms_of_fileio): Declare it as a lisp variable.
6901b111
SM
4202 (Finsert_file_contents):
4203 Call Vafter_insert_file_adjust_coding_function before calling
a288d979
KH
4204 decode-format.
4205
f979dc05
JD
42062003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4207
4208 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
4209 get GtkAdjustment as widget now is a GtkRange.
4210
4211 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
4212 GtkRange to avoid memory leak.
4213
f8c6b4c2 42142003-04-09 Kenichi Handa <handa@m17n.org>
cb98871c 4215
50ebc53d
KH
4216 * xfaces.c (Vface_font_rescale_alist): New variable.
4217 (struct font_name): New member rescale_ratio.
4218 (font_rescale_ratio): New function.
6901b111 4219 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
50ebc53d
KH
4220 (better_font_p): On comparing point sized, pay attention to
4221 recale_ratio member of fonts.
4222 (build_scalable_font_name): Reflect font->rescale_ratio in the
4223 font name.
6901b111 4224 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
50ebc53d 4225
cb98871c
KH
4226 * lread.c (read1): Before calling index, check if the 2nd
4227 arguemnt is in ASCII range.
4228
4773b8ca
RS
42292003-04-08 Richard M. Stallman <rms@gnu.org>
4230
b0ada147
RS
4231 * fileio.c (Ffile_symlink_p): Doc fix.
4232
4233 * editfns.c (Fformat): Translate positions of text properties
4234 in the format string to apply them to the result.
4235
4773b8ca
RS
4236 * fileio.c (Finsert_file_contents): Doc fix.
4237 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
4238
42392003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
6901b111 4240
4773b8ca
RS
4241 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
4242
e8f25745 42432003-04-08 Steven Tamm <steventamm@mac.com>
b0ada147 4244
e8f25745
ST
4245 * mac.c (init_mac_osx_environment): Switch libexec and bin so
4246 that self-contained application finds libexec files.
4247
f8c6b4c2 42482003-04-08 Kenichi Handa <handa@m17n.org>
2310d84c 4249
6901b111
SM
4250 * coding.c (code_convert_region_unwind):
4251 Set Vlast_coding_system_used to the argument.
2310d84c
KH
4252 (code_convert_region): If post-read-conversion function changed
4253 the value of last-coding-sytem, keep the new value in
4254 coding->symbol so that it won't be overridden.
4255 (run_pre_post_conversion_on_str): Likewise.
7c086845
KH
4256 (coding_system_accept_latin_extra_p): New function.
4257 (find_safe_codings): Pay attention to characters registered in
4258 latin-extra-code-table.
2310d84c 4259
39c9a034
TTN
42602003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
4261
4262 * Makefile.in (md5.o): Add missing dependency info.
4263
eb67c5d6
RS
42642003-04-06 Richard M. Stallman <rms@gnu.org>
4265
4266 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
4267
4268 * marker.c (verify_bytepos): New function.
4269
4270 * intervals.c (set_intervals_multibyte_1): When becoming
4271 multibyte, adjust right and left child sizes to a whole set of
4272 characters. If an interval gets zero total-length, delete it.
4273 If an interval consists of just its children, delete one of them.
4274
4275 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
4276 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
39c9a034 4277
eb67c5d6
RS
4278 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
4279 All calls deleted.
4280 (lisp_malloc): Do the work here directly.
4281
b1f81fc5
JB
42822003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
4283
4284 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
4285 char tables.
4286
42872003-04-04 Kenichi Handa <handa@m17n.org>
aa8b70ae
KH
4288
4289 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
4290 destructively change "%S" to "%s".
4291
774666fb
MB
42922003-04-03 Miles Bader <miles@gnu.org>
4293
4294 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
4295 always set.
4296
19c37f01
DL
42972003-04-01 Dave Love <fx@gnu.org>
4298
4299 * xfns.c (xpm_lookup_color): Grok "opaque".
4300
2f4b24c3
AC
43012003-03-31 Andrew Choi <akochoi@shaw.ca>
4302
4303 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
4304 parent window ID.
4305
4306 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
4307
4308 * macterm.h (struct mac_output): Define x_pixels_diff and
4309 y_pixels_diff.
b1f81fc5 4310
9443fcf6
JB
43112003-03-31 Juanma Barranquero <lektu@terra.es>
4312
4313 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
4314 blockinput.h and files included from it.
4315
e072891b
KS
43162003-03-31 Kim F. Storm <storm@cua.dk>
4317
4318 The following changes consolidates the common code related to
4319 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
4320 files into frame.c.
9443fcf6 4321
e072891b
KS
4322 * frame.c: Include blockinput.h.
4323 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
4324 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
4325 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
4326 related vars here.
4327 (struct frame_parm_table, frame_parms): New table for describing
4328 frame parameters and their associated Q-variable.
4329 The order of the parameters corresponds to the sequence of the
4330 frame_parm_handlers table in redisplay_interface.
4331 (x_fullscreen_move, x_set_frame_parameters)
4332 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
4333 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
4334 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
4335 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
4336 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
4337 Generic functions for processing of frame parameters.
4338 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
4339 (display_x_get_resource, x_get_resource_string): Functions for
4340 generic access to X resources.
4341 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
4342 (x_default_parameter, Fx_parse_geometry): Functions for generic
4343 access to frame parameters.
6901b111
SM
4344 (x_figure_window_size): Generic calculation of frame size.
4345 Fixed to add space needed for tool bar. Also setup size_hint_flags.
e072891b
KS
4346 (syms_of_frame): Intern and staticpro frame parameter variables.
4347 Defvar_lisp Vx_resource_class and Vx_resource_name here.
4348 Defsubr Sx_get_resource and Sx_parse_geometry.
9443fcf6 4349
e072891b
KS
4350 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
4351 parameter related vars defined in frame.c.
4352 (EMACS_CLASS): Define here.
4353 (enum FULLSCREEN_*): Define here.
4354 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
4355 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
4356 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
4357 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
4358 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
4359 (x_set_visibility, x_set_autoraise, x_set_autolower)
4360 (x_set_unsplittable, x_set_vertical_scroll_bars)
4361 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
4362 (x_figure_window_size): Add prototypes.
4363
4364 * dispextern.h (frame_parm_handler): New typedef.
4365 (struct redisplay_interface): New member frame_parm_handlers.
4366 (enum resource_types): Move declaration here.
4367 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
4368 (x_default_parameter): Add prototypes.
4369
4370 * window.c: Remove extern decl for frame parameter vars.
4371 (change_window_heights): New generic function;
4372 replaces x_change_window_heights. All users changed.
4373
4374 * window.h (change_window_heights): Add prototype.
4375
4376 * xfaces.c: Remove extern decl for frame parameter vars.
4377
4378 * xterm.h (EMACS_CLASS): Remove. Use generic define.
4379 (struct w32_display_info): Fix type of xrdb member.
4380 (enum FULLSCREEN_*): Remove.
4381 Remove prototypes for generic functions (in frame.h).
4382
4383 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
4384 parameters now defined in frame.h and frame.c.
4385 (Vx_resource_name): Remove. Use generic var.
4386 (enum x_frame_parms): Remove (bogus, unused enum).
4387 (check_x_display_info): Make non-static (for frame.c).
4388 (struct x_frame_parm_table, x_frame_parms): Remove.
4389 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
4390 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
4391 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
4392 (x_change_window_heights, x_set_autoraise, x_set_autolower)
4393 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
4394 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
4395 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
4396 Remove. Use generic functions instead.
4397 (enum resource_types): Remove.
4398 (x_set_scroll_bar_default_width): New global function (for frame.c).
4399 (Fx_create_frame): Depend on x_figure_window_size to add space for
4400 toolbar and setup size_hint_flags.
4401 (x_frame_parm_handlers): New table for redisplay_interface.
4402 (syms_of_xfns): Don't intern/staticpro removed vars.
9443fcf6 4403
e072891b
KS
4404 * xterm.c: Remove unnecessary extern declarations.
4405 (x_fullscreen_adjust): Remove. Use generic instead.
4406 (x_redisplay_interface): Add x_frame_parm_handlers member.
4407
4408 * w32gui.h (XrmDatabase): New (dummy) typedef.
4409
4410 * w32term.h (EMACS_CLASS): Remove. Use generic define.
4411 (struct w32_display_info): Fix type of xrdb member.
4412 (enum FULLSCREEN_*): Remove.
4413 (x_fullscreen_adjust): Remove prototype.
4414
4415 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
4416 parameters now defined in frame.h and frame.c.
4417 (Vx_resource_name): Remove. Use generic var.
4418 (enum x_frame_parms): Remove (bogus, unused enum).
4419 (check_x_display_info): Make non-static (for frame.c).
4420 (struct x_frame_parm_table, x_frame_parms): Remove.
4421 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
4422 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
4423 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
4424 (x_change_window_heights, x_set_autoraise, x_set_autolower)
4425 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
4426 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
4427 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
4428 Remove. Use generic functions instead.
4429 (enum resource_types): Remove.
4430 (x_set_scroll_bar_default_width): New global function (for frame.c).
4431 (Fx_create_frame): Depend on x_figure_window_size to add space for
4432 toolbar and setup size_hint_flags.
4433 (w32_frame_parm_handlers): New table for redisplay_interface.
4434 (syms_of_w32fns): Don't intern/staticpro removed vars.
9443fcf6 4435
e072891b
KS
4436 * w32term.c: Remove unnecessary extern declarations.
4437 (x_fullscreen_adjust): Remove. Use generic instead.
4438 (x_redisplay_interface): Add w32_frame_parm_handlers member.
4439
4440 * w32reg.c (x_get_string_resource): Use XrmDatabase.
4441
4442 * macgui.h (XrmDatabase): New (dummy) typedef.
4443
4444 * macterm.h (EMACS_CLASS): Remove.
4445 (struct mac_display_info): Add xrdb member.
4446 (struct mac_output): Add want_fullscreen member.
4447
4448 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
4449 parameters now defined in frame.h and frame.c.
4450 (Vx_resource_name): Remove. Use generic var.
4451 (check_x_display_info): Make non-static (for frame.c).
4452 (struct x_frame_parm_table, x_frame_parms): Remove.
4453 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
4454 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
4455 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
4456 (x_change_window_heights, x_set_autoraise, x_set_autolower)
4457 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
4458 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
4459 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
4460 Remove. Use generic functions instead.
4461 (enum resource_types): Remove.
4462 (x_set_scroll_bar_default_width): New global function (for frame.c).
4463 (mac_frame_parm_handlers): New table for redisplay_interface.
4464 (syms_of_macfns): Don't intern/staticpro removed vars.
9443fcf6 4465
e072891b
KS
4466 * macterm.c: Remove unnecessary extern declarations.
4467 (x_redisplay_interface): Add mac_frame_parm_handlers member.
4468
3e6a560b
KS
4469 * Makefile.in (frame.o): Add dependency on blockinput.h and files
4470 included from it (atimer.h and systime.h).
4471
7b7b454e
AS
44722003-03-30 Andreas Schwab <schwab@suse.de>
4473
4474 * xdisp.c (x_insert_glyphs): Fix swapped width and height
4475 parameters for shift_glyphs_for_insert.
4476
4477 * macterm.c (x_redisplay_interface): Add missing entry for
4478 draw_vertical_window_border.
4479
beb402de
KG
44802003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
4481
4482 * fileio.c (Fexpand_file_name): In the no-handler case, after
4483 expanding, look again for a handler and invoke it. This is needed
4484 for filenames like "/foo/../user@host:/bar/../baz" -- the first
4485 expansion produces "/user@host:/bar/../baz" which needs to be
4486 expanded again for the finame result "/user@host:/baz".
4487
b676f356
JD
44882003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4489
4490 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
4491 of area to be redrawn for better performance.
4492
3c671a56
SM
44932003-03-28 Stefan Monnier <monnier@cs.yale.edu>
4494
4495 * xterm.c (take_vertical_position_into_account): Remove.
4496 (xt_action_hook): Call set_vertical_scroll_bar if needed.
4497 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
4498 (xm_scroll_callback, x_create_toolkit_scroll_bar)
4499 (x_set_toolkit_scroll_bar_thumb): Simplify.
4500 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
4501 (XTread_socket): Remove unused var.
4502 (x_make_frame_invisible): Replace goto with else.
4503
4504 * xdisp.c (set_vertical_scroll_bar): New fun.
4505 (redisplay_window): Use it.
4506
84f2e615
RS
45072003-03-26 Richard M. Stallman <rms@gnu.org>
4508
4509 * xdisp.c (update_tool_bar): Recompute tool bar if
4510 update_mode_lines is set. Set w->update_mode_line
4511 only if the tool bar contents actually change.
4512 (update_menu_bar): Undo previous change.
4513
70b6104c
JD
45142003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4515
5fd6f727
JD
4516 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
4517 (xg_frame_set_char_size): Calculate scroll bar width before frame
4518 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
4519 (xg_separator_p): Check for all documented separator types.
4520 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
4521 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
4522
70b6104c
JD
4523 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
4524 so tool bar gets updated.
4525
d9b36d19
SM
45262003-03-26 Stefan Monnier <monnier@cs.yale.edu>
4527
4528 * data.c (store_symval_forwarding): Re-instate part of the code
4529 that was deleted with too much enthusiasm.
4530
45312003-03-25 Stefan Monnier <monnier@cs.yale.edu>
4532
4533 * data.c (store_symval_forwarding): Delete special read-only
4534 hack for type == -1, since we now use ->constant instead.
4535 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
4536
4537 * buffer.c (overlays_in): Declare static.
4538 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
4539 `constant' field rather than the variable's `type' field.
4540
365fa1b3
AC
45412003-03-24 Andrew Choi <akochoi@shaw.ca>
4542
4543 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
4544
4545 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
4546
4547 * fns.c [MAC_OSX]: Do not redefine vector.
4548
4549 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
4550
4551 * macgui.h: Remove definition of No_Cursor.
4552
d9b36d19 4553 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
365fa1b3
AC
4554
4555 * xdisp.c: Define No_Cursor.
4556 (x_write_glyphs, notice_overwritten_cursor)
4557 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
4558 (note_mouse_highlight): Remove Mac-specific code.
4559 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
d9b36d19 4560
c0bcce6f
JPW
45612003-03-24 John Paul Wallington <jpw@gnu.org>
4562
4563 * xdisp.c (redisplay_window): If mini window's buffer is not
4564 empty, then redisplay it like other windows.
4565
a526b96c
KS
45662003-03-23 Kim F. Storm <storm@cua.dk>
4567
4568 * w32term.c (w32_draw_window_cursor): Fix last change.
4569
37ab321e
KH
45702003-03-23 Kenichi Handa <handa@m17n.org>
4571
a526b96c
KS
4572 * alloc.c (make_string_from_bytes, make_specified_string):
4573 Add `const' for the arg CONTENTS.
37ab321e
KH
4574
4575 * lisp.h (make_string_from_bytes, make_specified_string):
4576 Prototypes adjusted.
4577
7863d625
JD
45782003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4579
a526b96c 4580 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
fd4c9408 4581
7863d625
JD
4582 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
4583 (XG_SB_RANGE): New define.
4584
4585 * gtkutil.c (xg_fixed_handle_expose): New function.
4586 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
4587 expose events.
4588 (xg_update_scrollbar_pos): Take two more arguments, left and width
4589 of scroll bar including borders.
4590 Clear left and right part outside scroll bar separately as some
4591 themes have bars that are not an even number of pixels.
d9b36d19 4592 Don't set reallocate_redraws, don't call
7863d625
JD
4593 gdk_window_process_all_updates.
4594 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
4595 so no need to change it. Calculate size and value with XG_SB_RANGE.
4596
d9b36d19
SM
4597 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
4598 Pass left and width of scroll bar including borders to
7863d625
JD
4599 xg_update_scrollbar_pos.
4600
af0ad939
TTN
46012003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
4602
4603 * Makefile.in: Make sure space precedes end-of-line backslashes.
4604
b22139fd
KS
46052003-03-22 Kim F. Storm <storm@cua.dk>
4606
4607 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
4608 Add generic versions here. Remove system specific versions
4609 defined elsewhere.
4610
4611 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
4612 Add prototypes.
4613
6e6410cf
KS
4614 * xterm.h (STORE_NATIVE_RECT): New macro.
4615
5c9cc435
KS
46162003-03-21 Kim F. Storm <storm@cua.dk>
4617
00c64fab
SM
4618 * xdisp.c (get_glyph_string_clip_rect):
4619 Use FRAME_INTERNAL_BORDER_WIDTH.
5c9cc435
KS
4620
4621 * dispextern.h (struct redisplay_interface): Add active_p
4622 argument to draw_window_cursor member. All uses changed.
4623
acd37560
KS
46242003-03-21 Kim F. Storm <storm@cua.dk>
4625
4626 The following changes consolidate code related to writing and
4627 inserting glyphs, exposing frame, the tool bar, the mouse face,
4628 the output cursor, and help echo from xterm.c, w32term.c and
4629 macterm.c into xdisp.c. It also generalizes the use of the
4630 window_part enum instead of using numeric values throughout.
af0ad939 4631
acd37560
KS
4632 * xdisp.c: Consolidate gui-independent code here.
4633 Include keymap.h.
4634 (Qhelp_echo): Import.
4635 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
4636 (help_echo_string, help_echo_window, help_echo_object)
4637 (previous_help_echo_string, help_echo_pos): Declare here.
4638 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
4639 (estimate_mode_line_height): Define here. Handle windowing
4640 systems directly (without using estimate_mode_line_height_hook).
4641 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
4642 (update_window_cursor, update_cursor_in_window_tree)
4643 (fast_find_position, fast_find_string_pos)
4644 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
4645 (expose_area, expose_line, expose_overlaps, expose_window)
4646 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
4647 declared static as they are only used locally in xdisp.c.
4648 (draw_glyphs): Rename from x_draw_glyphs and make static.
4649 (tool_bar_item_info, notice_overwritten_cursor): Make static.
4650 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
4651 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
af0ad939 4652 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
acd37560
KS
4653 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
4654 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
4655 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
4656 (note_mouse_highlight, x_clear_window_mouse_face)
4657 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
4658 (x_intersect_rectangles): New generic functions for use by xdisp.c
4659 and GUI front-ends.
4660 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
4661 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
4662
4663 * dispextern.h (Display_Info): Generic typedef for *_display_info.
4664 (NativeRectangle): Generic typedef for rectangle type.
4665 (enum window_part): Move here from window.c.
4666 (struct redisplay_interface): New members flush_display_optional,
4667 define_frame_cursor, clear_frame_area, draw_window_cursor,
4668 draw_vertical_window_border, shift_glyphs_for_insert.
4669 Rename member clear_mouse_face to clear_window_mouse_face.
4670 (estimate_mode_line_height_hook): Remove hook.
4671 (auto_raise_tool_bar_buttons_p): Don't declare extern.
4672 (tool_bar_item_info): Remove prototype.
4673 (help_echo_string, help_echo_window, help_echo_object)
4674 (previous_help_echo_string, help_echo_pos)
4675 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
4676 (x_stretch_cursor_p, output_cursor): Declare extern.
4677 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
4678 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
4679 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
4680 (display_and_set_cursor, set_output_cursor, x_cursor_to)
4681 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
4682 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
4683 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
4684 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
4685 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
4686 Add prototypes.
4687 (mode_line_string, marginal_area_string): Fix prototypes.
4688
4689 * window.c (enum window_part): Move to dispextern.h.
4690 (coordinates_in_window): Use enum window_part member names
4691 instead of numbers to describe return value.
4692 (struct check_window_data): Change part member to window_part.
4693 (check_window_containing): Return window_part unaltered.
4694 (window_from_coordinates): Change part arg from int to enum
4695 window_part. Allow part arg to be null. All users changed.
4696
4697 * window.h (window_from_coordinates): Fix prototype.
4698
4699 * term.c (estimate_mode_line_height): Move to xdisp.c.
4700
4701 * keyboard.c (make_lispy_event): Use enum window_part.
4702
4703 * dispnew.c (mode_line_string, marginal_area_string): Use enum
4704 window_part instead of int in arg list. Users changed.
4705
4706 * xterm.h (No_Cursor): Declare as None for X.
4707 (struct mac_output): Replace member cross_cursor by hand_cursor.
af0ad939 4708
acd37560
KS
4709 * xterm.c: Remove consolidated defines and code.
4710 (BETWEEN): Remove unused macro.
4711 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
4712 (x_define_frame_cursor, x_clear_frame_area)
4713 (x_draw_window_cursor): New X-specific functions for RIF.
4714 (x_redisplay_interface): Add new members.
4715
4716 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
4717
4718 * w32term.h (struct w32_output): Remove cross_cursor member.
4719
4720 * w32term.c: Remove consolidated defines and code.
4721 (BETWEEN): Remove unused macro.
4722 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
4723 (w32_define_frame_cursor, w32_clear_frame_area)
4724 (w32_draw_window_cursor): New W32-specific functions for RIF.
4725 (w32_redisplay_interface): Add new members.
4726
a64387ee 4727 * w32gui.h (No_Cursor): Define as 0 for W32.
acd37560
KS
4728 (XRectangle): Add X compatible rectangle type.
4729 (NativeRectangle): Declare as RECT for W32.
4730 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
4731
4732 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
4733
4734 * w32console.c: Remove consolidated defines and code.
af0ad939 4735
acd37560
KS
4736 * msdos.h (Display_Info): Add generic typedef.
4737
4738 * msdos.c: Remove consolidated defines and code.
4739 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
4740
4741 * macterm.h (struct mac_output): Replace member cross_cursor by
4742 hand_cursor.
4743 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
4744
4745 * macterm.c: Remove consolidated defines and code.
4746 (BETWEEN): Remove unused macro.
4747 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
4748 (mac_define_frame_cursor, mac_clear_frame_area)
4749 (mac_draw_window_cursor): New Mac-specific functions for RIF.
4750 (x_redisplay_interface): Add new members.
4751
4752 * macgui.h (No_Cursor): Define as 0 for Mac.
4753 (XRectangle): Add X compatible rectangle type.
4754 (NativeRectangle): Declare as Rect for Mac.
4755 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
4756
204ccab1
KS
4757 * macfns.c (x_set_mouse_color): Setup hand_cursor.
4758 (x_set_cursor_color): Use x_display_and_set_cursor.
acd37560 4759
9443fcf6 4760 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
acd37560
KS
4761 included from it. Add dependency on keymap.h.
4762
4763 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
4764
8ba01a70 47652003-03-21 Kenichi Handa <handa@m17n.org>
3f817c73
KH
4766
4767 * fileio.c (Fexpand_file_name): Fix previous change.
4768
8ba01a70 47692003-03-19 Kenichi Handa <handa@m17n.org>
4f497b0a
KH
4770
4771 * fileio.c (Ffile_name_directory): Reconstruct file name by
4772 make_specified_string.
4773 (Ffile_name_nondirectory, Ffile_name_as_directory)
4774 (Fdirectory_file_name, Fexpand_file_name)
4775 (Fsubstitute_in_file_name): Likewise.
4776 (Fread_file_name): Compare decoded homedir with DIR and
4777 DEFAULT_FILENAME.
4778
4779 * alloc.c (make_specified_string): If NCHARS is negative, count
4780 the number of characters.
4781
19536747
JD
47822003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4783
de38ae5a
JD
4784 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
4785 all widgets.
4786
19536747
JD
4787 * gtkutil.h: Removed xg_ignore_next_thumb.
4788
37ab321e 47892003-03-18 Kenichi Handa <handa@m17n.org>
cb0d4562
KH
4790
4791 * coding.c (Vchar_coding_system_table): Remove this variable.
4792 (Vcoding_system_safe_chars): New variable.
4793 (intersection): Remove this function.
4794 (find_safe_codings): Don't use Vchar_coding_system_table, but try
4795 all codings in SAFE_CODINGS.
00c64fab 4796 (Ffind_coding_systems_region_internal): Adjust for the change of
cb0d4562
KH
4797 find_safe_codings. Get generic coding systems from
4798 Vcoding_system_safe_chars.
4799 (Fdefine_coding_system_internal): New function.
4800 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
4801 Initialize and staticpro Vcoding_system_safe_chars.
4802
17097258
JD
48032003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4804
2a2071c3
JD
4805 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
4806 equal old values before updating.
4807
17097258
JD
4808 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
4809
4810 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
4811
48122003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4813
4814 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
4815 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
4816 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
4817 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
4818 (xg_create_scroll_bar): Pass bar to button event callback.
4819 (xg_find_top_left_in_fixed): New function.
4820 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
4821 whole scroll bar area. Get old position with
4822 xg_find_top_left_in_fixed, calculate and only clear needed areas.
4823 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
4824 dragging is in progress. Calculate whole as for Motif.
4825 Remove code that saved last values. Call gtk_range functions to
4826 set scroll bar sizes.
4827
4828 * gtkutil.h: Removed xg_ignore_next_thumb.
4829
8cb9dfbf
JB
48302003-03-17 Juanma Barranquero <lektu@terra.es>
4831
4832 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
4833 and files included from it.
4834
00c64fab
SM
48352003-03-18 Stefan Monnier <monnier@cs.yale.edu>
4836
4837 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
4838 multiple occurrences of the same keymap under different prefixes.
4839 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
4840
c45bb3b2
JR
48412003-03-16 Jason Rumney <jasonr@gnu.org>
4842
4843 * w32gui.h: Use HDC for Display.
4844
4845 * w32term.c (w32_encode_char): Prevent double-byte chars from
4846 crashing Emacs.
4847
4848 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
4849 as binary.
4850
2a6d0874
JB
48512003-03-16 Juanma Barranquero <lektu@terra.es>
4852
4853 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
4854
03eb5fab
KS
48552003-03-16 Kim F. Storm <storm@cua.dk>
4856
4857 The following changes consolidate some of the gui-independent
4858 parts of the processing and drawing of "glyph strings" from
4859 xterm.c, w32term.c, and macterm.c into xdisp.c.
2a6d0874 4860
03eb5fab
KS
4861 * dispextern.h (struct glyph): Reduce face_id member from 22 to
4862 21 bits (this reduces number of faces from 4M to 2M).
4863 Replace W32 specific w32_font_type member (2 bits) by generic
4864 font_type member (3 bits) for portability.
4865 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
4866 (enum draw_glyphs_face): Define here.
4867 (struct glyph_string): Define here. Merge W32 and X versions.
4868 (struct redisplay_interface): New members per_char_metric,
4869 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
4870 (VCENTER_BASELINE_OFFSET): Define here.
4871 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
4872 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
4873
4874 * xdisp.c: Consolidate gui-independent "glyph string" code here.
4875 (dump_glyph_string): Moved here.
4876 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
4877 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
4878 (fill_composite_glyph_string, fill_glyph_string)
4879 (fill_image_glyph_string, fill_stretch_glyph_string)
4880 (left_overwritten, left_overwriting, right_overwritten)
4881 (right_overwriting, get_char_face_and_encoding)
4882 (set_glyph_string_background_width, compute_overhangs_and_x)
4883 (append_glyph, append_composite_glyph, produce_image_glyph)
4884 (take_vertical_position_into_account, append_stretch_glyph)
4885 (produce_stretch_glyph): New generic functions (based on X version).
4886 Call platform specific functions through rif.
4887 (INIT_GLYPH_STRING): New macro, hides W32 details.
4888 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
4889 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
4890 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
4891 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
4892 (notice_overwritten_cursor):
4893 Generic functions exported to platform modules. Users changed.
4894
4895 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
4896 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
4897 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
fad49844 4898 New macros for consolidated code.
2a6d0874 4899
03eb5fab
KS
4900 * xterm.c: Remove consolidated defines and code.
4901 (x_per_char_metric, x_encode_char)
4902 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
4903 (x_redisplay_interface): Add new members.
4904
4905 * w32gui.h (Display): Add dummy typedef for consolidation.
4906 (XChar2b): Define alias for wchar_t for consolidation.
4907 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
4908
4909 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
2a6d0874 4910 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
03eb5fab
KS
4911 New macros for consolidation.
4912
fad49844 4913 * w32term.c: Remove consolidated defines and code.
03eb5fab
KS
4914 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
4915 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
4916 (w32_per_char_metric): Change font_type arg to int for RIF.
4917 (w32_encode_char): Return int according to RIF requirements.
4918 (w32_compute_glyph_string_overhangs): Adapt to RIF.
4919 (w32_get_glyph_overhangs): New function for RIF. Uses generic
4920 x_get_glyph_overhangs.
4921 (w32_redisplay_interface): Add new members.
4922
4923 * macgui.h (XChar2b): Move typedef here for consolidation.
4924 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
4925
4926 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
4927 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
4928 consolidation.
4929
4930 * macterm.c: Remove consolidated defines and code.
4931 (mac_per_char_metric): New function for RIF.
00c64fab 4932 (mac_encode_char): Adapt to new RIF requirements.
03eb5fab
KS
4933 (mac_compute_glyph_string_overhangs): Adapt for RIF.
4934 (x_redisplay_interface): Add new members.
4935
00c64fab
SM
49362003-03-15 Stefan Monnier <monnier@cs.yale.edu>
4937
4938 * keymap.c (Vmenu_events): New var.
4939 (syms_of_keymap): Initialize it.
4940 (where_is_internal): Check more carefully what is a menu event.
4941
225c7a07
RS
49422003-03-14 Richard M. Stallman <rms@gnu.org>
4943
4944 * lread.c (read1): After #!, exit loop on eof.
4945
cea9be54
JD
49462003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4947
9ea0e54d
JD
4948 * gtkutil.h: Add declaration for xg_frame_cleared.
4949
0cb35f4e
JD
4950 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
4951
cea9be54
JD
4952 * gtkutil.c (struct xg_last_sb_pos): New structure.
4953 (handle_fixed_child): New function.
4954 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
4955 and force a redraw on them.
4956 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
4957 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
4958 so we can avoid unneeded redraws.
4959 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
4960 and force a redraw on the scroll bar.
4961 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
4962 if xg_last_sb_pos shows the positions are up to date.
0cb35f4e 4963 (xg_frame_cleared): New function.
cea9be54 4964
20b853f3
KH
49652003-03-13 Kenichi Handa <handa@m17n.org>
4966
4967 * coding.c (Fdetect_coding_region): Fix docstring.
4968 (Fdetect_coding_string): Fix docstring.
4969
7a555aff
AS
49702003-03-13 Andreas Schwab <schwab@suse.de>
4971
25cc0080
AS
4972 * gtkutil.c: Add prototype for create_menus.
4973
30225431
AS
4974 * data.c (long_to_cons): Fix type of top.
4975
4976 * xselect.c (selection_data_to_lisp_data): Use int instead of
4977 long for an integer of size 4.
4978
7a555aff 4979 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
30225431 4980 (xg_tool_bar_help_callback): Likewise.
7a555aff 4981
a3e4741f
AS
49822003-03-12 Andreas Schwab <schwab@suse.de>
4983
4984 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
4985
9668be7c
KS
49862003-03-12 Kim F. Storm <storm@cua.dk>
4987
03eb5fab 4988 The following changes consolidate the fringe handling from
9668be7c 4989 xterm.c, w32term.c, and macterm.c into xdisp.c.
00a88f32 4990
9668be7c
KS
4991 * xdisp.c: Consolidate fringe handling code here.
4992 (left_bits, right_bits, continued_bits, continuation_bits)
4993 (ov_bits, zv_bits): Define fringe bitmaps.
4994 (fringe_bitmaps): New array holding fringe bitmaps.
4995 (draw_fringe_bitmap): Draw a specific bitmap; call display
4996 specific drawing routine via rif->draw_fringe_bitmap.
4997 (draw_row_fringe_bitmaps): Generic replacement for
4998 x_draw_row_fringe_bitmaps; all callers changed.
4999 (compute_fringe_widths): Generic replacement for
5000 x_compute_fringe_widths; all callers changed.
5001
5002 * dispextern.h (enum fringe_bitmap_type): Define here.
5003 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
5004 (fringe_bitmaps): Declare extern.
5005 (struct redisplay_interface): New member draw_fringe_bitmap.
5006 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
5007
5008 * xterm.c: Remove generic fringe code.
5009 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
5010 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
5011
5012 * w32term.c: Remove generic fringe code.
5013 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
5014 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
00a88f32 5015
9668be7c
KS
5016 * macterm.c: Remove generic fringe code.
5017 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
5018 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
5019
00a88f32
SM
50202003-03-11 Stefan Monnier <monnier@cs.yale.edu>
5021
5022 * print.c (Fprin1_to_string): Return unibyte string if possible.
5023
1d1de695
DK
50242003-03-09 David Kastrup <dak@gnu.org>
5025
5026 * process.c (read_process_output): We have allocated enough space
5027 for readmax and carryover, so actually use the alloted space.
5028
257f40f2
JD
50292003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5030
5031 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
5032 toolkit scrollbar click.
5033
5034 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
5035 for USE_GTK.
5036 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
5037 also.
5038 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
5039 scrollbar and control is pressed, call x_scroll_bar_handle_click.
00a88f32 5040
257f40f2
JD
5041 * gtkutil.h: Declare xg_get_scroll_id_for_window.
5042
5043 * gtkutil.c (xg_get_scroll_id_for_window): New function.
5044 (xg_tool_bar_item_expose_callback): New function.
5045 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
5046 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
5047 on the tool bar widget.
5048 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
5049 to expose on the tool bar item widgets.
5050
15213141
JD
50512003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5052
26b74a0b 5053 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
00a88f32 5054 struct image* when deciding to update (struct image* may have been
26b74a0b
JD
5055 deleted from the image cache).
5056
15213141
JD
5057 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
5058 the event isn't for a frame (i.e. for dialogs).
5059
20b853f3 50602003-03-07 Kenichi Handa <handa@m17n.org>
cb681b34
KH
5061
5062 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
5063 composition components reaches the limit, terminate composing.
5064 (COMPOSITION_OK): New macro.
00a88f32 5065 (detect_coding_iso2022): Use it if an escape sequence for
cb681b34
KH
5066 composition is found.
5067 (coding_restore_composition): Adjust the number of composition
5068 components if it is not sane.
5069
c9029fe5
JB
50702003-03-06 Juanma Barranquero <lektu@terra.es>
5071
5072 * w32term.h (struct w32_display_info): Add xrdb member to support
5073 passing resources via -xrm on Windows.
5074
5075 * w32term.c (w32_make_rdb): New function.
5076 (w32_term_init): Use it to initialize xrdb member of w32_display_info
5077 struct. Delete leftover code.
5078
5079 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
5080 for resources passed on the command line.
5081
5082 * w32reg.c (w32_get_rdb_resource): New function.
5083 (x_get_string_resource): Use it, so resources passed with -xrm
5084 supercede the ones in the registry.
5085
9d00001f
JD
50862003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5087
5088 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
5089 instead of x_top_window_to_frame.
5090
ca2417b9
JD
50912003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5092
5093 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
5094 when restarting Emacs.
5095
5b20caf0
RS
50962003-03-03 Richard M. Stallman <rms@gnu.org>
5097
5098 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
5099 to run kill-buffer-query-functions.
5100 (Qkill_buffer_query_functions): New var.
5101 (syms_of_buffer): Init and staticpro it.
5102
58e91b77
JD
51032003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5104
5105 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
5106
932357b4
KS
51072003-02-25 Kim F. Storm <storm@cua.dk>
5108
5109 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
5110 If centering point failed to make whole line visible and vscroll
5111 is non-zero, disable vscroll and try centering point again.
5112
5113 * lread.c (read1): Accept `single space' syntax like (? x).
5114
bb8db7e1
JD
51152003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5116
5117 * keyboard.c (cancel_hourglass_unwind): Surround with
5118 #ifdef HAVE_X_WINDOWS
5119
47d77aab
KH
51202003-02-25 Kenichi Handa <handa@m17n.org>
5121
5122 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
5123 process only when "subprocesses" is defined.
5124
6a097c0c
SM
51252003-02-24 Stefan Monnier <monnier@cs.yale.edu>
5126
5127 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
5128
0b063c27
JB
51292003-02-24 Juanma Barranquero <lektu@terra.es>
5130
d1135afc
JB
5131 * callint.c (fix_command): Declare as static void and move before
5132 Fcall_interactively.
5133
0b063c27
JB
5134 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
5135 (syms_of_xdisp): Don't initialize Qwhen.
5136
0af912f0
JD
51372003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5138
5139 * keyboard.c (cancel_hourglass_unwind): New function.
5140 (command_loop_1): Cancel hourglass with unwind-protect.
5141
120d0a23
RS
51422003-02-23 Richard M. Stallman <rms@gnu.org>
5143
5144 * callint.c (fix_command): New subroutine, from Fcall_interactively.
5145 Detect (when ... (region-beginning)) etc.
5146 (Fcall_interactively): Call fix_command.
5147 (Qif, Qwhen): New variables.
5148 (syms_of_callint): Init and staticpro them.
0b063c27 5149
120d0a23
RS
5150 * regex.c (print_partial_compiled_pattern): Output to stderr.
5151
4ece81a6
KG
51522003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
5153
5154 * dired.c (directory_files_internal): Don't expand directory.
5155 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
5156 instead. From Lars Hansen <larsh@math.ku.dk>.
5157
e52bd6b7
SM
51582003-02-22 Stefan Monnier <monnier@cs.yale.edu>
5159
5160 * fns.c (string_to_multibyte): Remove unused var i.
5161 (Flanginfo): Fix int/Lisp_Object mixup.
5162 (void_call2): New fun.
5163 (Fmap_char_table): Use it in place of call2.
5164
5165 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
5166
5167 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
5168
5169 * keymap.c (copy_keymap_1): Make it static.
5170
5171 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
5172
c33ef7c4
JB
51732003-02-22 David Ponce <david@dponce.com>
5174
5175 * lread.c (Fload): Don't check STRING_MULTIBYTE.
5176
16782258
JD
51772003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5178
5179 * process.h: Removed subtty field from struct Lisp_Process.
5180
5181 * process.c (create_process): Remove setting of subtty.
5182 (emacs_get_tty_pgrp): New function.
e52bd6b7
SM
5183 (Fprocess_running_child_p, process_send_signal):
5184 Call emacs_get_tty_pgrp instead of ioctl.
16782258
JD
5185 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
5186
3abeca61
KG
51872003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
5188
5189 * keymap.c (Fdefine_key): Doc fix.
5190
92a8ce63
JB
51912003-02-21 Juanma Barranquero <lektu@terra.es>
5192
5193 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
5194
5195 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
5196 POLLING_PROBLEM_IN_SELECT.
5197
5198 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
5199 Delete #undef of POLLING_PROBLEM_IN_SELECT.
5200
5201 * s/hpux10-20.h: New file.
5202
e52bd6b7
SM
5203 * process.c (wait_reading_process_input):
5204 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
92a8ce63 5205
20f1ef2e
KH
52062003-02-20 Kenichi Handa <handa@m17n.org>
5207
32d0a9dc
KH
5208 * fontset.c (check_fontset_name): If NAME is nil, return the
5209 default fontset.
5210 (override_font_info): New function.
e52bd6b7 5211 (Fset_fontset_font): Document that NAME nil means the default fontset.
32d0a9dc
KH
5212 (Ffontset_info): If FONTSET is not the default fontset, merge
5213 FONTSET onto the copy of the default fontset, and work on that
5214 copy. Document that NAME nil means the default fontset.
5215 (Ffontset_font): Document that NAME nil means the default fontset.
5216
20f1ef2e
KH
5217 * process.c (setup_process_coding_systems): If the process's
5218 in/out descriptor is -1, do nothing.
5219
77d1daf2
AS
52202003-02-19 Andreas Schwab <schwab@suse.de>
5221
e52bd6b7
SM
5222 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
5223 Add prototypes.
77d1daf2 5224
f9a45bb3
KH
52252003-02-19 Kenichi Handa <handa@m17n.org>
5226
5227 * xfaces.c (try_alternative_families): Try all scalable fonts if
5228 Vscalable_fonts_allowed is not Qt.
5229
72ecb43c
JD
52302003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5231
5232 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
5233
ee5be7c3
JD
52342003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5235
5236 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
5237 names.
5238
5239 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
e52bd6b7 5240 (sorted_font_list): Move allocation of struct font_name to
ee5be7c3
JD
5241 x_face_list_fonts.
5242 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
5243 (Fx_list_fonts): Set maxnames to -1 to get all font names.
5244
4cd519a7
KS
52452003-02-18 Kim F. Storm <storm@cua.dk>
5246
068f9882
KS
5247 * lread.c (read1): Fix last change.
5248 "`" is not always special. Allow "?" after a character constant.
4cd519a7 5249
7290a344
AC
52502003-02-18 Andrew Choi <akochoi@shaw.ca>
5251
5252 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
5253
1f7fa69b
AS
52542003-02-18 Andreas Schwab <schwab@suse.de>
5255
5256 * window.c (window_scroll_pixel_based): Move outside a
5257 multi-glyph character before setting new window start.
5258
5259 * xdisp.c (in_display_vector_p): New function.
5260 * dispextern.h (in_display_vector_p): Declare.
5261
23e21195
KS
52622003-02-18 Kim F. Storm <storm@cua.dk>
5263
5264 * lread.c (read1): Fix and relax read syntax.
5265 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
5266 Only recognize "," after dotted-pair dot if inside backquote.
5267 Never include "`" or "," (inside backquote) in a symbol.
5268 Allow dotted-pair dot after a character constant.
5269 Allow "`" and "," (inside backquote) after a character constant.
92a8ce63 5270
f098b121
JD
52712003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5272
5273 * gtkutil.c (xg_tool_bar_expose_callback): New function.
5274 (xg_create_tool_bar): Force style of tool bar to be horizontal with
5275 icons. Set name of tool bar to emacs-toolbar.
5276 (update_frame_tool_bar): Connect expose event to
5277 xg_tool_bar_expose_callback.
5278
63020c46
RS
52792003-02-17 Richard M. Stallman <rms@gnu.org>
5280
5281 * keyboard.c (this_command_key_count_reset): New variable.
5282 Initiatize to 0 where this_command_key_count is set.
5283 (read_char): Save and restore this_command_key_count_reset
5284 around input method code.
5285 (read_char): If this_command_key_count_reset, echo reread commands.
5286 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
5287
fb4452cc
KH
52882003-02-17 Kenichi Handa <handa@m17n.org>
5289
5290 * fns.c (string_to_multibyte): Always return a multibyte string.
5291
bd11cc09
JR
52922003-02-16 Jason Rumney <jasonr@gnu.org>
5293
e52bd6b7
SM
5294 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
5295 Negative max_fonts parameter means list all.
bd11cc09 5296
4cdf4bde
DL
52972003-02-14 Dave Love <fx@gnu.org>
5298
5299 * fns.c (Flanginfo): Doc fix.
5300
023b93f6
KS
53012003-02-13 Kim F. Storm <storm@cua.dk>
5302
37cd4238
KS
5303 * lread.c (read_escape): Interpret \s as a SPACE character, except
5304 for \s-X in a character constant which still is the super modifier.
5305 (read1): Signal an `invalid read syntax' error if a character
5306 constant is immediately followed by a digit or symbol character.
5307
140a6b7e
KS
5308 * search.c (Fmatch_data): Doc fix. Explicitly state that
5309 match-data is undefined if last search failed.
5310
023b93f6
KS
5311 * keymap.c (Fcommand_remapping): Renamed from Fremap_command.
5312 All uses changed.
5313
7d5c86e5
JB
53142003-02-12 Juanma Barranquero <lektu@terra.es>
5315
5316 * eval.c (Fdefmacro): Fix typo.
5317
295fff2c
KS
53182003-02-12 Kim F. Storm <storm@cua.dk>
5319
5320 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
5321 macro is a string, convert meta modifiers in string when copying
5322 the string into a vector.
5323
60f3202d
KS
53242003-02-11 Kim F. Storm <storm@cua.dk>
5325
5326 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
5327
61cb0b53
KH
53282003-02-11 Kenichi Handa <handa@m17n.org>
5329
5330 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
5331
7392e23c
KS
53322003-02-10 Kim F. Storm <storm@cua.dk>
5333
5334 * process.c: Doc fixes.
5335 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
5336
ce4254bd
KH
53372003-02-10 Kenichi Handa <handa@m17n.org>
5338
9c7a329a
KH
5339 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
5340
ce4254bd
KH
5341 * process.c (QCfilter_multibyte): New variable.
5342 (setup_process_coding_systems): New function.
e52bd6b7
SM
5343 (Fset_process_buffer, Fset_process_filter):
5344 Call setup_process_coding_systems.
ce4254bd
KH
5345 (Fstart_process): Initialize the member `filter_multibyte' of
5346 struct Lisp_Process.
5347 (create_process): Call setup_process_coding_systems.
5348 (Fmake_network_process): New keyward `:filter-multibyte'.
5349 Initialize the member `filter_multibyte' of struct Lisp_Process.
5350 Call setup_process_coding_systems.
5351 (server_accept_connection): Call setup_process_coding_systems.
5352 (read_process_output): If the process has a filter, decide the
5353 multibyteness of a string to given to the filter by
5354 `filter_multibyte' member of the process. If the process doesn't
5355 have a filter and the result of conversion is unibyte, use
5356 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
5357 multibyte form.
5358 (Fset_process_coding_system): Call setup_process_coding_systems.
5359 (Fset_process_filter_multibyte): New function.
5360 (Fprocess_filter_multibyte_p): New function.
5361 (syms_of_process): Intern and staticpro QCfilter_multibyte.
5362 Defsubr Sset_process_filter_multibyte and
5363 Sprocess_filter_multibyte_p.
5364
5365 * process.h (struct Lisp_Process): New member filter_multibyte.
5366
5367 * lisp.h (setup_process_coding_systems): Add prototype.
5368
5369 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
5370 process, update coding systems for the process.
5371
b08d5f59
KH
53722003-02-09 Kenichi Handa <handa@m17n.org>
5373
5374 * fns.c (string_to_multibyte): New function.
5375 (Fstring_to_multibyte): New function.
5376 (syms_of_fns): Defsubr it.
5377
0dfd93c0
AS
53782003-02-08 Andreas Schwab <schwab@suse.de>
5379
5380 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
5381 instead of the substitution.
5382
7b76ca1c
JD
53832003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5384
5385 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
5386
5387 * xmenu.c (menu_position_func): Adjust menu popup position so that
5388 the menu is fully visible.
7b76ca1c 5389
2436a4e4
JD
53902003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5391
5392 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
e52bd6b7
SM
5393 (x_make_frame_invisible, x_wm_set_icon_position):
5394 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
2436a4e4
JD
5395
5396 * xfns.c (x_set_name, x_set_title): Ditto.
5397
37d1e680
RS
53982003-02-04 Richard M. Stallman <rms@gnu.org>
5399
5400 * keyboard.c (echo_now): Update before_command_echo_length.
5401 (Freset_this_command_lengths): Reset this_command_key_count etc.
5402 immediately rather than arranging to do it later.
5403 (before_command_key_count_1, before_command_echo_length_1)
5404 (before_command_restore_flag): Vars deleted.
5405 (add_command_key): Don't handle before_command_restore_flag.
5406 (read_char, record_menu_key): Don't update before_command_key_count or
5407 before_command_echo_length.
5408 (read_char): Don't handle before_command_restore_flag.
5409
5410 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
5411 in direct-output clauses if it wouldn't be called in the ordinary case.
5412
578846a3
KS
54132003-02-04 Kim F. Storm <storm@cua.dk>
5414
5415 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
5416
49853a4d
JD
54172003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5418
5419 * gtkutil.c (remove_from_container): Copying list is not needed.
5420 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
5421 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
5422 on list returned from gtk_container_get_children to avoid memory leak.
5423
8b53dc06
JR
54242003-02-01 Jason Rumney <jasonr@gnu.org>
5425
5d54d177
JR
5426 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
5427 local malloc.
5428 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
5429 definitions in xpm.h.
5430 (init_xpm_functions): New function.
5431 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
5432 (init_external_image_libraries): Try to load libXpm.dll.
5433
8b53dc06
JR
5434 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
5435 timestamp.
5436
b222e415
DL
54372003-01-31 Dave Love <fx@gnu.org>
5438
5439 * syntax.c (Fskip_chars_forward)
5440 (open-paren-in-column-0-is-defun-start): Doc fix.
5441
c60ee5e7
JB
54422003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
5443
5444 * fileio.c: Support // at start of name for Cygwin (just added proper
5445 preprocessor tests).
5446
5447 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
5448
5449 * Makefile.in: Use @EXEEXT@ for Cygwin.
5450
5451 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
5452
5453 * s/cygwin.h: Added for Cygwin port.
5454
53b37591
JB
54552003-01-31 Juanma Barranquero <lektu@terra.es>
5456
5457 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
5458 when including gif_lib.h.
fe929957
JB
5459 (init_gif_functions, init_tiff_functions): New functions.
5460 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
5461 Windows. Disable color table lookups. Call library functions
53b37591 5462 through pointers determined at runtime.
fe929957
JB
5463 (init_external_image_libraries): Try to load libungif.dll and
5464 libtiff.dll.
53b37591 5465
45415a8f
KH
54662003-01-31 Kenichi Handa <handa@m17n.org>
5467
5468 * xdisp.c (SKIP_GLYPHS): New macro.
e52bd6b7 5469 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
45415a8f 5470
a97e4138
JD
54712003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5472
e52bd6b7 5473 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
a97e4138 5474
6eed9bed
DL
54752003-01-30 Dave Love <fx@gnu.org>
5476
5477 * alloc.c (Vgc_elapsed, gcs_done): New variables.
5478 (Fgarbage_collect): Use them.
5479 (init_alloc, syms_of_alloc): Set them up.
5480
100dcd40
JB
54812003-01-30 Juanma Barranquero <lektu@terra.es>
5482
5483 * w32fns.c (init_external_image_libraries): Add missing operator.
5484
fbd852af
JR
54852003-01-29 Jason Rumney <jasonr@gnu.org>
5486
5487 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
5488 an alternative name for jpeg.dll.
5489
8a2d8020
KH
54902003-01-29 Kenichi Handa <handa@m17n.org>
5491
5492 * xdisp.c (set_cursor_from_row): Pay attention to string display
5493 properties.
5494
058c18c7
AC
54952003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
5496
5497 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
5498 <escape>.
5499 (keycode_to_xkeysym_table): Reformat and add more comments.
5500 (XTread_socket): Drop special case for backspace.
5501
385f11cf
AC
55022003-01-28 Andrew Choi <akochoi@shaw.ca>
5503
5504 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
5505 values in old-style RGB specs.
5506
c922a224
JB
55072003-01-27 Juanma Barranquero <lektu@terra.es>
5508
5509 * w32fns.c (init_external_image_libraries): Try alternate names for the
5510 jpeg dll.
5511
0a1d6de0
JD
55122003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5513
5514 * gtkutil.c (create_dialog, xg_separator_p)
5515 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
5516 before calling strcmp or strlen.
5517
a97e4138 55182003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1d1885fc
JD
5519
5520 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
5521 and handle image load failure.
5522
28908312
JR
55232003-01-26 Jason Rumney <jasonr@gnu.org>
5524
5525 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
5526 New functions.
5527 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
5528 Disable color table lookups. Call jpeg library functions
5529 through pointers determined at runtime.
5530 (init_external_image_libraries): Try to load jpeg.dll.
5531
84e47416
RS
55322003-01-25 Richard M. Stallman <rms@gnu.org>
5533
5534 * lisp.h: Declare format2 instead of format1.
5535
5536 * fileio.c (barf_or_query_if_file_exists):
5537 Call format2 instead of format1.
5538
5539 * editfns.c (format2): New function, replaces format1
5540 but takes exactly two Lisp Objects as format args.
5541
5542 * buffer.c (Fkill_buffer): Call format2 instead of format1.
5543
a97e4138 55442003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1fcfb866
JD
5545
5546 * xterm.h: Change to return value of x_dispatch_event to int.
5547
5548 * xterm.c (x_filter_event): New function.
5549 (event_handler_gdk, XTread_socket): Call x_filter_event.
5550 (x_dispatch_event): Change to return value of finish.
5551 (event_handler_gdk): Use return value from x_dispatch_event.
5552
5553 * xfns.c (x_window): Call create_frame_xic for GTK version to
5554 initialize input methods.
5555
5556 * gtkutil.h: Add (void) prototypes.
5557
5558 * gtkutil.c (create_menus): Remove code that puts the help menu to
5559 the right.
5560
54eefef1
JR
55612003-01-25 Jason Rumney <jasonr@gnu.org>
5562
5563 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
5564 [HAVE_PNG]: Sync with xfns.c version.
5565 (png_load): Adjust colors for Windows. Use Windows
5566 bitmaps. Disable color table lookups.
c262430d
JR
5567 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
5568 (init_png_functions): New function.
5569 (png_read_from_memory, png_load): Call png library functions
5570 through pointers determined at runtime.
5571 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
5572 (init_external_image_libraries): New function.
5573 (init_xfns): Call it.
54eefef1 5574
1a9e275b
AS
55752003-01-24 Andreas Schwab <schwab@suse.de>
5576
5577 * minibuf.c (Fminibuffer_message): Verify type of parameter.
5578
a97e4138 55792003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
81e302ef
JD
5580
5581 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
5582 of static initializer.
5583
422eec7e
DL
55842003-01-24 Dave Love <fx@gnu.org>
5585
5586 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
5587 architectures.
5588
5589 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
5590 Use __alignof__.
5591
2a026b04
KH
55922003-01-24 Kenichi Handa <handa@m17n.org>
5593
5594 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
e52bd6b7 5595 It it is nonzero, don't pretend that an invisible area doesn't exist.
2a026b04
KH
5596 (command_loop_1): Call adjust_point_for_property with proper
5597 second arg.
5598
a18bb28d
JR
55992003-01-22 Jason Rumney <jasonr@gnu.org>
5600
5601 Sync changes with xterm.c and xfns.c.
5602
5603 * w32term.c (x_draw_glyph_string_foreground)
5604 (x_draw_composite_glyph_string_foreground): Implement overstriking.
5605
5606 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
5607 phys_cursor's hpos is overwritten. This is still not completely
5608 correct, as it doesn't really make sense to use hpos at all to
5609 get the cursor glyph (as that is relative to the width of the
5610 characters on the line, which may have changed during the update).
5611
5612 * w32term.c (notice_overwritten_cursor): Handle the special case
5613 of the cursor being in the first blank non-text line at the
5614 end of a window.
5615
5616 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
5617 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
5618 Compute from the x position returned by x_draw_glyphs.
5619
5620 (x_display_and_set_cursor): Don't set phys_cursor_width here,
5621 except for NO_CURSOR and system caret, to make phys_cursor_width
5622 contain what its name suggests.
5623 (notice_overwritten_cursor): Consider the cursor image erased if
5624 the output area intersects the cursor image in y-direction.
5625
6a097c0c
SM
5626 * w32term.c (note_mode_line_or_margin_highlight): Rename from
5627 note_mode_line_highlight and extend.
a18bb28d
JR
5628
5629 * w32term.c (last_window): New variable.
5630 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
5631 (note_mouse_movement): Remove reimplemented code in #if 0.
5632
5633 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
5634 not update_mode_lines, and always set it to 1.
5635
ac6e47ef
JR
56362003-01-21 Jason Rumney <jasonr@gnu.org>
5637
5638 * w32fns.c (IDC_HAND): Define it if system headers don't.
5639
56402003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
5641
5642 * w32term.h (struct w32_output): New member hand_cursor.
5643 (WM_EMACS_SETCURSOR): New message definition.
5644
5645 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
5646 function w32_define_cursor.
5647 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
5648 position, change member name output_data.x to output_data.w32 and
5649 add function w32_define_cursor.
5650 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
5651 and change member name output_data.x to output_data.w32.
e52bd6b7
SM
5652 (w32_initialize_display_info):
5653 Setup dpyinfo->vertical_scroll_bar_cursor.
ac6e47ef
JR
5654
5655 * w32fns.c (Vx_hand_shape): New variable.
5656 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
5657 WM_EMACS_SETCURSOR.
5658 (x-create-frame): Setup Cursor types.
5659
ceb39a17
JB
56602003-01-21 David Ponce <david@dponce.com>
5661
ac6e47ef
JR
5662 * w32term.c (w32_encode_char): For DIM=1 charset, set
5663 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
5664 x_encode_char change by Kenichi Handa <handa@m17n.org> on
ceb39a17 5665 2002-09-30.)
ac6e47ef
JR
5666 (w32_draw_relief_rect): Declare all args.
5667 (w32_define_cursor): New.
5668
5669 * w32fns.c (w32_load_cursor): New function.
5670 (w32_init_class): Use it.
5671 (x_put_x_image): Declare all args.
5672
46cf0bed
JB
56732003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
5674
5675 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
5676
a97e4138 56772003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
e8794476
JD
5678
5679 * gtkutil.c: Must include stdio.h before termhooks.h
5680
83fc9c63
DL
56812003-01-21 Dave Love <fx@gnu.org>
5682
5683 * alloc.c (Fgc_status): Print zombie list.
5684 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
5685 Fix assignment of zombies.
5686 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
5687 Don't take car of non-cons.
5688
5689 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5690
5691 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5692
fe04b8c8
JR
56932003-01-20 David Ponce <david@dponce.com>
5694
5695 * w32menu.c (digest_single_submenu): Declare all args.
5696
5697 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
5698 changes in xmenu.c:
5699
5700 (parse_single_submenu): Use individual keymap's prompt
5701 string as pane name, if there is one.
5702 (set_frame_menubar): Save menu_items_n_panes from each call to
5703 parse_single_submenu and use it when calling digest_single_submenu.
5704
539e69a9
ST
57052003-01-20 Steven Tamm <steventamm@mac.com>
5706
5707 * macterm.c (XTread_socket): Checks for valid, visible window
5708 before sending a scroll-wheel event.
5709
675d000f
RS
57102003-01-20 Richard M. Stallman <rms@gnu.org>
5711
5712 * xdisp.c (redisplay_window): If mini window's buffer is not
5713 a minibuffer, then redisplay it like other windows.
5714
a97e4138 57152003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
22174d10
JD
5716
5717 * gtkutil.c (xg_create_frame_widgets): Check if there is an
5718 external tool bar before setting tool bar height.
5719
048addec
JD
57202003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5721
5722 * xterm.c (handle_one_xevent): Surround popup_activated
5723 with #ifdef:s for non-toolkit version.
5724
5725 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
5726 (gtkutil.o): New file.
5727 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
5728 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
5729
5730 * gtkutil.c: New file for GTK version.
5731
5732 * gtkutil.h: New file for GTK version.
5733
5734 * xterm.h: Add xt_or_gtk_widget.
5735 Include gtk files for USE_GTK.
5736 (struct x_output): Add toolbar_height.
5737 (struct x_output): Add GTK widgets and Gdk size_hints.
5738 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
5739 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
5740 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
5741
5742 * xterm.c: Include gtkutil.h for USE_GTK.
5743 Declare extern void free_frame_menubar for USE_GTK.
5744 (note_mouse_highlight): Check popup_activated for USE_GTK.
5745 (xt_action_hook): Don't compile if USE_GTK.
5746 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
5747 (xg_scroll_callback): New function.
5748 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
5749 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
5750 for USE_GTK.
5751 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
5752 xg_show_scroll_bar for USE_GTK.
5753 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
5754 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
5755 (event_handler_gdk): New function for USE_GTK.
5756 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
5757 (handle_one_xevent): Make sure widget is mapped before
5758 calling x_real_positions for USE_GTK.
5759 (XTread_socket): Add GTK event loop for USE_GTK.
5760 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
5761 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
5762 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
5763 (x_iconify_frame): Add code for USE_GTK.
5764 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
5765 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
5766 is in gtkutil.c.
5767 (x_term_init): Add initialization for GTK.
5768 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
5769
5770 * xmenu.c: Include gtkutil.h for USE_GTK.
5771 (Fx_popup_menu): Use current position if x and y is NIL.
6bdb309a
SM
5772 (single_menu_item, single_menu_item, Fx_popup_dialog):
5773 Check for USE_GTK.
048addec
JD
5774 (popup_widget_loop): New function for USE_GTK.
5775 (x_activate_menubar): Add code for USE_GTK.
5776 (popup_activate_callback, popup_deactivate_callback)
6bdb309a
SM
5777 (menu_highlight_callback, menubar_selection_callback):
5778 Add USE_GTK versions.
048addec
JD
5779 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
5780 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
5781 (free_frame_menubar): Only compile if not USE_GTK. GTK version
5782 is in gtkutil.c.
5783 (popup_selection_callback): New version for USE_GTK.
5784 (create_and_show_popup_menu): New fuction, one USE_GTK version and
6bdb309a 5785 one USE_X_TOOLKIT version.
048addec
JD
5786 (xmenu_show): Call create_and_show_popup_menu.
5787 (dialog_selection_callback): New version for USE_GTK.
5788 (create_and_show_dialog): New fuction, one USE_GTK version and
6bdb309a 5789 one USE_X_TOOLKIT version.
048addec
JD
5790 (xdialog_show): Call create_and_show_dialog.
5791
5792 * xfns.c: Include gtkutil for USE_GTK.
5793 (x_window_to_frame, x_any_window_to_frame)
5794 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
5795 (x_top_window_to_frame): Add code for USE_GTK.
5796 (x_set_background_color): Call xg_set_background_color for GTK.
5797 (x_set_menu_bar_lines): Check for USE_GTK.
5798 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
5799 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
5800 (x_window): Call xg_create_frame_widgets for USE_GTK.
5801 (Fx_create_frame): Check for USE_GTK
5802 (Fx_file_dialog): New implementation for USE_GTK.
5803
5804 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
5805 (update_menu_bar): Add check for USE_GTK.
5806 (update_tool_bar): Add check for USE_GTK and external tool bar.
5807 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
5808 (redisplay_internal): Add check for USE_GTK and popup_activated.
5809 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
5810 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
5811 (display_menu_bar): Add check for USE_GTK
5812
5813 * lisp.h: Declare Vx_resource_name extern.
5814
a64387ee 5815 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
048addec
JD
5816 for USE_GTK.
5817 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
5818
5819 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
5820 (FRAME_EXTERNAL_TOOL_BAR): New macro.
5821 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
5822
5823 * fileio.c (Fread_file_name): Add check for USE_GTK.
5824
6bdb309a
SM
5825 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
5826 Add check for USE_GTK.
048addec
JD
5827
5828 * config.in: Added HAVE_GTK
5829
5830 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
5831
58322003-01-18 Stefan Monnier <monnier@cs.yale.edu>
5833
5834 * charset.h (Funibyte_char_to_multibyte): Export.
5835
58362003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5837
5838 * xmenu.c (mouse_position_for_popup): New function.
5839 (Fx_popup_menu): Call mouse_position_for_popup for X and
5840 mouse_position_hook for others.
5841
58422003-01-17 Kim F. Storm <storm@cua.dk>
5843
5844 * editfns.c (Finsert): Mention `string-make-multibyte' and
5845 `string-as-multibyte' in doc string.
5846
58472003-01-17 Kenichi Handa <handa@m17n.org>
5848
5849 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
3c02a6f5 5850
048addec
JD
5851 * editfns.c (Fformat): Convert an unibyte char argument that is
5852 formatted by "%c" to multibyte if the total result must be a
5853 multibyte string.
cd7df9c0 5854
048addec 58552003-01-16 Kim F. Storm <storm@cua.dk>
cd7df9c0 5856
048addec
JD
5857 * process.c (set-process-filter): Document unibyte/multibyte-ness
5858 of string argument.
56210ecd 5859
048addec 58602003-01-16 Kenichi Handa <handa@m17n.org>
56210ecd 5861
048addec 5862 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
56210ecd 5863
048addec
JD
5864 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
5865 (re_search_2): Likewise.
6df8b9fe 5866
048addec 58672003-01-15 Kenichi Handa <handa@m17n.org>
6df8b9fe 5868
048addec
JD
5869 * xdisp.c (message_dolog): Fix bug of the case that *Message*
5870 buffer is unibyte.
292ddc31 5871
048addec 58722003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
292ddc31 5873
048addec 5874 * fns.c (Fsubstring): Clarify doc string.
292ddc31 5875
048addec
JD
5876 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
5877 (Fprevious_char_property_change)
5878 (Fnext_single_char_property_change)
5879 (Fprevious_single_char_property_change, Fnext_property_change)
5880 (Fnext_single_property_change, Fprevious_property_change)
5881 (Fprevious_single_property_change, Fadd_text_properties)
5882 (Fput_text_property, Fset_text_properties)
5883 (Fremove_text_properties, Fremove_list_of_text_properties)
5884 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
63e4e4c6 5885
048addec 58862003-01-14 Kim F. Storm <storm@cua.dk>
63e4e4c6 5887
048addec
JD
5888 * process.h (struct Lisp_Process): New member plist replaces old
5889 member private_vars. All uses changed.
63e4e4c6 5890
048addec 5891 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
6bdb309a 5892 (QCplist): Rename from QCvars. Change all uses.
048addec 5893 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
6bdb309a 5894 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
048addec 5895 (syms_of_process): Intern, staticpro, defsubr these.
6bdb309a 5896 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
7ed16567 5897
048addec 58982003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
7ed16567 5899
6bdb309a 5900 * m/delta.h: Remove (obsolete).
e833850f 5901
048addec 59022003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
e833850f 5903
048addec
JD
5904 * fileio.c (Fdelete_directory, Fdelete_file): Document the
5905 behaviour in front of symlinks.
5906 (Fdelete_file): Raise an error on directories.
817cb127 5907
048addec 59082003-01-13 Dave Love <fx@gnu.org>
817cb127 5909
048addec 5910 * fns.c (Freverse): Use QUIT.
3e8cf2ea 5911
048addec 59122003-01-13 Richard M. Stallman <rms@gnu.org>
3e8cf2ea 5913
048addec
JD
5914 * minibuf.c (minibuffer_completion_contents):
5915 Error if point is inside prompt.
3e8cf2ea 5916
048addec
JD
5917 * keyboard.c (command_loop_1): Don't redisplay directly
5918 if there's a post-command-hook.
3e8cf2ea 5919
048addec
JD
5920 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
5921 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
2c10f029 5922
048addec 59232003-01-12 Kim F. Storm <storm@cua.dk>
94e8ffca 5924
048addec 5925 * process.h (struct Lisp_Process): New member private_vars.
94e8ffca 5926
048addec
JD
5927 * process.c (QCvars): New variable.
5928 (syms_of_process): Intern and staticpro it.
5929 (Fset_process_contact): Removed function.
5930 (Fprocess_variable, Fset_process_variable): New functions.
5931 (syms_of_process): Defsubr them.
5932 (Fstart_process): Initialize private_vars plist to nil.
5933 (Fmake_network_process): New arg :vars to setup the private
5934 variables for new network process.
5935 (server_accept_connection): Copy server's private variables to
5936 client process.
2c10f029 5937
048addec
JD
5938 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
5939 crashes). Code rewritten and simplified. Now directly aligns the
5940 pointer and recalculates pure_bytes_used, rather than aligning the
5941 size and adjusting the pointer.
b8a76c6c 5942
048addec 59432003-01-11 Kim F. Storm <storm@cua.dk>
b8a76c6c 5944
048addec
JD
5945 * process.c (Fset_process_contact): New function.
5946 (syms_of_process): defsubr it.
5947 (make-network-process): Update doc.
3a8d0899 5948
048addec 59492003-01-10 Andreas Schwab <schwab@suse.de>
3a8d0899 5950
048addec
JD
5951 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
5952 Reported by Berthold Gunreben <b.gunreben@web.de>.
4abc7470 5953
048addec 59542003-01-10 Dave Love <fx@gnu.org>
4abc7470 5955
048addec 5956 * composite.c (syms_of_composite): Make composition_hash_table weak.
b809d662 5957
048addec 59582003-01-09 Kim F. Storm <storm@cua.dk>
b809d662 5959
048addec
JD
5960 * process.c (Fmake_network_process): Convert new port number
5961 to host byte order for `:service t' case. From Mario Lang.
bf338245 5962
048addec 59632003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
bf338245 5964
048addec
JD
5965 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
5966 instead of XtAppProcessEvent.
bf338245 5967
048addec
JD
5968 * xterm.c (handle_one_xevent): New function.
5969 (x_dispatch_event): New function.
5970 (XTread_socket): Call handle_one_xevent.
bf338245 5971
048addec 5972 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
e833850f 5973
048addec
JD
5974 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
5975 call XQueryPointer to get coordinates.
5976 (popup_get_selection): Do not set popup_activated_flag to zero,
5977 let popup_deactivate_callback do that. Needed for Motif.
5978 Call x_dispatch_event instead of XtDispatchEvent.
5979 (xmenu_show): Calculate root coordinate from frame top/left position.
c4af2bce 5980
048addec 59812003-01-08 Kim F. Storm <storm@cua.dk>
c4af2bce 5982
6bdb309a 5983 * process.c (server_accept_connection): Fix recording of new
048addec
JD
5984 connection's local address in :local property of contact info.
5985 (Fmake_network_process): Record local network address for new
5986 client processes in :local property of contact info.
6bdb309a 5987 (format-network-address): Add arg OMIT-PORT. Change callers.
00e3ab56 5988
048addec 59892003-01-07 Dave Love <fx@gnu.org>
00e3ab56 5990
048addec 5991 * Makefile.in (fns.o): Depend on coding.h.
f387e1fd 5992
048addec 59932003-01-07 Markus Rost <rost@math.ohio-state.edu>
f387e1fd 5994
048addec 5995 * minibuf.c (Fread_variable): Doc fix.
f387e1fd 5996
048addec
JD
5997 * eval.c (Fuser_variable_p): Doc change. For custom variables,
5998 use the same test as for custom-variable-p.
8c6d74c6 5999
048addec 60002003-01-05 Richard M. Stallman <rms@gnu.org>
e833850f 6001
048addec
JD
6002 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
6003 Count LAST_LINE_MISFIT in scroll margin for end of window.
6004 Move label too_near_end before setting SCROLL_MARGIN_POS.
6005 Set LAST_LINE_MISFIT before jumping there.
8c6d74c6 6006
048addec
JD
6007 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
6008 scroll_conservatively case. If scrolling that much doesn't change
6009 STARTP, move it down one line.
e833850f 6010
048addec
JD
6011 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
6012 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
8c6d74c6 6013
048addec
JD
6014 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
6015 selected frame.
8c6d74c6 6016
048addec
JD
6017 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
6018 (syms_of_keymap): staticpro them.
6019 (Fapropos_internal): Initialize them and clear them out.
6020 Don't GCPRO them.
8c6d74c6 6021
048addec
JD
6022 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
6023 Doc fixes.
8c6d74c6 6024
048addec
JD
6025 * lisp.h: New misc type Lisp_Save_Value.
6026 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
6027 (XSAVE_VALUE): New macro.
6028 (struct Lisp_Save_Value): New data type.
6029 (union Lisp_Misc): Add u_save_value alternative.
6030 (make_save_value): Declared.
8c6d74c6 6031
048addec 6032 * alloc.c (make_save_value): New function.
8c6d74c6 6033
048addec
JD
6034 * xterm.c (x_catch_errors): Save dpy using make_save_value.
6035 (x_catch_errors_unwind): Call XSync.
8c6d74c6 6036
048addec 60372003-01-01 Richard M. Stallman <rms@gnu.org>
8c6d74c6 6038
048addec 6039 * window.c (window_scroll_pixel_based): Partially undo last change.
8c6d74c6 6040
048addec
JD
6041 * keyboard.c (command_loop_1): Call adjust_point_for_property
6042 in direct action cases for Qforward_char and Qbackward_char.
6043 Set already_adjusted so it won't be done twice.
8c6d74c6 6044
048addec 60452002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
8c6d74c6 6046
048addec
JD
6047 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
6048 type definition of size_t.
8c609cff 6049
048addec 60502003-01-02 Steven Tamm <steventamm@mac.com>
8c609cff 6051
048addec
JD
6052 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
6053 distinguish Carbon GUI builds from X11 builds on darwin.
b37113a1 6054
048addec 60552002-12-30 Steven Tamm <steventamm@mac.com>
b37113a1 6056
048addec
JD
6057 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
6058 to default to t.
fa634a5e 6059
048addec 60602002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
fa634a5e 6061
048addec 6062 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
ce0669d4 6063
048addec 60642002-12-28 Steven Tamm <steventamm@mac.com>
ce0669d4 6065
048addec
JD
6066 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
6067 allow building in a different directory than source. Uses some
6068 GNU Make extensions, but there is no other make on Mac OS X.
2308af15 6069
048addec 60702002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
2308af15 6071
048addec
JD
6072 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
6073 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
6074 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
6075 (Fstring_to_number): Mention the returned value in the doc strings.
2155ecf3 6076
048addec 60772002-12-23 Richard M. Stallman <rms@gnu.org>
2155ecf3 6078
048addec
JD
6079 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
6080 <scroll-down-aggressively>: Doc fix.
2155ecf3 6081
048addec
JD
6082 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
6083 string as pane name, if there is one.
6084 (set_frame_menubar): Save menu_items_n_panes from each call to
6085 parse_single_submenu and use it when calling digest_single_submenu.
2155ecf3 6086
048addec
JD
6087 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
6088 Don't try to make last line fully visible if it is past end of window.
61f1d295 6089
048addec 60902002-12-22 Steven Tamm <steventamm@mac.com>
61f1d295 6091
048addec
JD
6092 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
6093 (mac_menu_show): Add support for hierarchical popup menus.
6094 (add_menu_item): Remove indentation support.
6095 (fill_submenu, fill_menu): Create hierarchical menus
6096 instead of using indentation.
0b17a217 6097
048addec 60982002-12-22 Richard M. Stallman <rms@gnu.org>
0b17a217 6099
048addec
JD
6100 * xdisp.c (try_cursor_movement): Don't call try_window here.
6101 (redisplay_window): Never redisplay minibuffer when inactive.
0b17a217 6102
048addec 6103 * window.c (select_window_1): Undo 9/21 change.
402e4f8b 6104
048addec 61052002-12-22 Steven Tamm <steventamm@mac.com>
402e4f8b 6106
048addec
JD
6107 * macterm.c (XTread_socket): Call KeyTranslate for control and
6108 meta to deal correctly shifted non-alpha characters, like C-S-5
6109 being treated like C-%. Does not look for shift key to deal
6110 with masking off control-key with mac-reverse-ctrl-meta.
f02cac82 6111
048addec 61122002-12-21 Richard M. Stallman <rms@gnu.org>
f02cac82 6113
048addec
JD
6114 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
6115 If it is non-nil, run timers. Use an unwind-protect to requeue
6116 the events that were read ahead.
6117 (popup_get_selection_unwind): New subroutine.
6118 (popup_get_selection_queue): File-scope variable now holds that queue.
6119 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
6120 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
6121 Use an unwind-protect to pop down the dialog box.
6122 (xdialog_show_unwind): New subroutine implements that.
f02cac82 6123
048addec
JD
6124 * xdisp.c (row_containing_pos): Change exit test using last_y.
6125 (try_window_id): Abort if row_containing_pos returns null.
f02cac82 6126
048addec
JD
6127 * lread.c (load_error_handler): New function.
6128 (Fload): Handle errors in Fsubstitute_in_file_name.
6129 Don't expect Fsignal to return.
f02cac82 6130
048addec
JD
6131 * eval.c: Errors and throws work right with interrupt blocking.
6132 (struct catchtag): New elt interrupt_input_blocked.
6133 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
6134 (internal_catch, Fcondition_case, internal_condition_case)
6135 (internal_condition_case_1, internal_condition_case_2): Save it.
6136 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
f02cac82 6137
048addec 6138 * editfns.c (Fformat): Add parens.
f02cac82 6139
048addec
JD
6140 * dired.c (file_name_completion): Fix that change.
6141 Delete special quit-handling code; just use QUIT.
f02cac82 6142
048addec 61432002-12-21 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change)
f02cac82 6144
048addec
JD
6145 * dired.c (file_name_completion): Close directory on error
6146 just as in directory_files_internal.
1a590729 6147
048addec 61482002-12-19 David Kastrup <David.Kastrup@t-online.de>
1a590729 6149
048addec
JD
6150 * window.c (Fset_window_configuration): Set old_point to correct
6151 value when new_current_buffer == current_buffer.
f02cac82 6152
048addec 61532002-12-17 Ben Key <bkey1@tampabay.rr.com>
2308af15 6154
048addec
JD
6155 Revisited my earlier fix for the following entry in etc/PROBLEMS:
6156 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
6157 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
9785d95b 6158
048addec
JD
6159 These changes were in part based upon suggestions made by Peter
6160 'Luna' Runestig [peter@runestig.com].
9785d95b 6161
048addec
JD
6162 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
6163 g_b_init_get_token_information, g_b_init_lookup_account_sid,
6bdb309a 6164 g_b_init_get_sid_identifier_authority ): Add several static
048addec 6165 global variables.
9785d95b 6166
048addec
JD
6167 * w32.c (globals_of_w32): New function. Used to initialize those
6168 global variables that must always be initialized on startup even
6169 when the global variable initialized is non zero. Its primary
6170 purpose at this time is to set the global variables
6171 g_b_init_is_windows_9x, g_b_init_open_process_token,
6172 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
6173 g_b_init_get_sid_identifier_authority to 0 on startup.
6174 Called from main.
9785d95b 6175
048addec
JD
6176 * w32.c (is_windows_9x): Perform initialization only if
6177 g_b_init_is_windows_9x is equal to 0. On initialization set
6178 g_b_init_is_windows_9x equal to 1.
2308af15 6179
048addec
JD
6180 * w32.c (open_process_token): Perform initialization only if
6181 g_b_init_open_process_token is equal to 0. On initialization set
6182 g_b_init_open_process_token equal to 1.
2308af15 6183
048addec
JD
6184 * w32.c (get_token_information): Perform initialization only if
6185 g_b_init_get_token_information is equal to 0. On initialization
6186 set g_b_init_get_token_information equal to 1.
9785d95b 6187
048addec
JD
6188 * w32.c (lookup_account_sid): Perform initialization only if
6189 g_b_init_lookup_account_sid is equal to 0. On initialization
6190 set g_b_init_lookup_account_sid equal to 1.
9785d95b 6191
048addec
JD
6192 * w32.c (get_sid_identifier_authority): Perform initialization
6193 only if g_b_init_get_sid_identifier_authority is equal to 0.
6194 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
9785d95b 6195
048addec
JD
6196 * w32fns.c (globals_of_w32fns): New function. Used to initialize
6197 those global variables that must always be initialized on startup
6198 even when the global variable initialized is non zero.
6199 Its primary purpose at this time is to initialize the global variable
6200 track_mouse_event_fn.
9785d95b 6201
a64387ee 6202 * w32fns.c (w32_wnd_proc): Remove initialization of
048addec 6203 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
9785d95b 6204
048addec 6205 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
9785d95b 6206
a64387ee 6207 * w32menu.c (globals_of_w32menu): New function. Used to
048addec
JD
6208 initialize those global variables that must always be initialized
6209 on startup even when the global variable initialized is non zero.
6210 Its primary purpose at this time is to initialize the global
6211 variables get_menu_item_info and set_menu_item_info.
9785d95b 6212
048addec
JD
6213 * w32menu.c (initialize_frame_menubar): Remove initialization of
6214 get_menu_item_info and set_menu_item_info.
9785d95b 6215
048addec 6216 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
9785d95b 6217
048addec
JD
6218 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
6219 Declare them.
9785d95b 6220
048addec
JD
6221 * emacs.c (main): Call globals_of_w32 prior to calling
6222 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
6223 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
6224 is defined.
9785d95b 6225
048addec
JD
6226 * w32term.c (x_update_window_begin): Fix Windows API error
6227 detected by BoundsChecker. Test to determine if
6228 w32_system_caret_hwnd is NULL prior to attempting to use
6229 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
2308af15 6230
048addec
JD
6231 * w32term.c (x_update_window_end): Fix Windows API error
6232 detected by BoundsChecker. Test to determine if
6233 w32_system_caret_hwnd is NULL prior to attempting to use
6234 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
b6da19ef 6235
048addec 62362002-12-17 Kenichi Handa <handa@m17n.org>
b6da19ef 6237
048addec
JD
6238 * coding.c (coding_system_require_warning): New variable.
6239 (syms_of_coding): DEFVAR it.
b6da19ef 6240
048addec 6241 * coding.h (coding_system_require_warning): Extern it.
b6da19ef 6242
048addec
JD
6243 * fileio.c (choose_write_coding_system): Even if
6244 Vcoding_system_for_write is non-nil, if
6245 coding_system_require_warning is nonzero, call
6246 Vselect_safe_coding_system_function.
bfcf6dbe 6247
048addec 62482002-12-17 Markus Rost <rost@math.ohio-state.edu>
bfcf6dbe 6249
048addec
JD
6250 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
6251 (lisp): Add font-core.
2c568af5 6252
048addec 62532002-12-13 Stefan Monnier <monnier@cs.yale.edu>
2c568af5 6254
048addec
JD
6255 * textprop.c (text_read_only): New arg `propval'.
6256 (get_char_property_and_overlay): Remove unused var `next_overlay'.
6257 (verify_interval_modification): Use text_read_only's new arg.
b8c6225c 6258
048addec 62592002-12-13 Kenichi Handa <handa@m17n.org>
b8c6225c 6260
048addec 6261 * coding.c (Funencodable_char_position): Set pend correctly.
706ddb8f 6262
048addec 62632002-12-12 Jason Rumney <jasonr@gnu.org>
706ddb8f 6264
048addec
JD
6265 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
6266 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
6267 Be more careful about when help_events are generated.
96720f09 6268
048addec 62692002-12-12 Steven Tamm <steventamm@mac.com>
96720f09 6270
048addec
JD
6271 * macterm.c (mac_check_for_quit_char): Correctly set the
6272 modifiers of the event to 0.
6273 * mac.c (sys_select): Duplicate rfds before calling select to
6274 ensure that rfds survive the while loop.
e5ae1c49 6275
048addec 62762002-12-11 Kim F. Storm <storm@cua.dk>
e5ae1c49 6277
048addec
JD
6278 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
6279 row_containing_pos returned NULL.
2eb46b2d 6280
048addec 62812002-12-10 Steven Tamm <steventamm@mac.com>
2eb46b2d 6282
6bdb309a 6283 * mac.c (sys_read): Fix sys_read to not call select if IO is
048addec 6284 non-blocking.
6bdb309a 6285 (sys_select): Fix sys_select to not use a timeout larger than
048addec 6286 the one given.
b11f1d8a 6287
048addec 62882002-12-10 Juanma Barranquero <lektu@terra.es>
b11f1d8a 6289
048addec 6290 * editfns.c (Fformat): Use alloca, not _alloca.
d8528226 6291
048addec 62922002-12-09 Richard M. Stallman <rms@gnu.org>
d8528226 6293
048addec
JD
6294 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
6295 as the last thing.
a4ac5b17 6296
048addec 62972002-12-09 Dave Love <fx@gnu.org>
a4ac5b17 6298
048addec 6299 * s/sol2-8.h: Removed. (Not necessary.)
ac42d7b9 6300
048addec 63012002-12-09 Matthew Swift <swift@alum.mit.edu>
ac42d7b9 6302
048addec
JD
6303 * editfns.c (Fformat): Handle precision in string conversion
6304 specifiers like libc functions do (ie, print at most that many
6305 characters).
85cce843 6306
048addec 63072002-12-08 Richard M. Stallman <rms@gnu.org>
85cce843 6308
048addec
JD
6309 * xdisp.c (row_containing_pos): Check more carefully
6310 whether charpos is really in the row before returning it.
0d4d26a7 6311
048addec 63122002-12-07 Steven Tamm <steventamm@mac.com>
0d4d26a7 6313
048addec 6314 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
b11f1d8a 6315
048addec
JD
6316 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
6317 each stack frame. This may change as it could be time consuming.
0d4d26a7 6318
048addec
JD
6319 * macterm.c (mac_check_for_quit_char, quit_char_comp)
6320 (init_quit_char_handler, mac_determine_quit_char_modifiers)
6bdb309a 6321 (mac_initialize): Add code to check for pressing of quit_char
048addec 6322 in the OS event queue.
b11f1d8a 6323
048addec
JD
6324 * mac.c (sys_select): Call mac_check_for_quit_char every second
6325 while blocking on select.
0d4d26a7 6326
048addec
JD
6327 * mac.c (sys_read): Use sys_select to test for input first
6328 before calling read, to allow C-g to break.
9252f7bc 6329
048addec 63302002-12-07 Richard M. Stallman <rms@gnu.org>
9252f7bc 6331
048addec 6332 * minibuf.c (Fcompleting_read): Doc fix.
9252f7bc 6333
048addec 6334 * lread.c (syms_of_lread) <load-history>: Doc fix.
9252f7bc 6335
048addec 6336 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
9252f7bc 6337
048addec
JD
6338 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
6339 autoload.
9252f7bc 6340
048addec 6341 * data.c (Fdefalias): Record in load-history redefining an autoload.
9252f7bc 6342
048addec 6343 * alloca.c: Undo ifdef change accidentally made on 12-04.
bfa261c0 6344
048addec 63452002-12-06 Francesco Potorti` <pot@gnu.org>
bfa261c0 6346
048addec 6347 * xfns.c (png_load): Avoid double gamma correction for PNG images.
c5992177 6348
048addec 63492002-12-04 Richard M. Stallman <rms@gnu.org>
c5992177 6350
048addec 6351 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
c5992177 6352
048addec 6353 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
c5992177 6354
048addec 6355 * alloca.c: Don't use #error.
02d588e2 6356
048addec 63572002-12-03 Dave Love <fx@gnu.org>
02d588e2 6358
048addec
JD
6359 * buffer.c (Qucs_set_table_for_input): New.
6360 (Fget_buffer_create): Use it.
6361 (Qset_buffer_major_mode_hook): Deleted.
6362 (Fset_buffer_major_mode): Revert previous change.
6363 (init_buffer_once): Intern ucs-set-table-for-input.
6364 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
6365 Add &Qucs_set_table_for_input.
451e2697 6366
048addec 63672002-12-03 Andreas Schwab <schwab@suse.de>
451e2697 6368
048addec
JD
6369 * callint.c (Fcall_interactively): Use next_event only if less
6370 than key_count.
72742a99 6371
048addec 63722002-12-02 Andrew Choi <akochoi@shaw.ca>
72742a99 6373
048addec
JD
6374 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
6375 names to 255 characters.
72742a99 6376
048addec
JD
6377 * macterm.c (XTread_socket): If all frames have been collapsed,
6378 expand the first one before handling drag-and-drop events.
72742a99 6379
048addec
JD
6380 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
6381 which is detected by autoconf.
40e6ff95 6382
048addec 63832002-12-01 Steven Tamm <steventamm@mac.com>
40e6ff95 6384
048addec
JD
6385 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
6386 offset in two hints table to allow prebinding to be redone and
6387 allow the executable to be stripped.
c02138c6 6388
048addec 63892002-11-29 Dave Love <fx@gnu.org>
c02138c6 6390
048addec
JD
6391 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
6392 already provided.
0e47bbf7 6393
048addec 63942002-11-29 Richard M. Stallman <rms@gnu.org>
0e47bbf7 6395
048addec
JD
6396 * xdisp.c (start_display): Check more intelligently for
6397 whether the line is continued.
6398 (move_it_vertically_backward): Clear it->continuation_lines_width.
44129dcb 6399
048addec 64002002-11-28 Dave Love <fx@gnu.org>
44129dcb 6401
048addec
JD
6402 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
6403 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
f707342d 6404
048addec 64052002-11-27 Steven Tamm <steventamm@mac.com>
f707342d 6406
048addec
JD
6407 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
6408 more descriptive error output from lread.c:Fload upon most require
6409 cycles during boostrapping.
1637fd2c 6410
048addec 64112002-11-27 Jason Rumney <jasonr@gnu.org>
1637fd2c 6412
048addec
JD
6413 * fileio.c (Finsert_file_contents): Give a more appropriate error
6414 for files bigger than 2Gb when off_t is 32 bit.
1637fd2c 6415
048addec
JD
6416 * dired.c (Ffile_attributes): Don't return negative file sizes for
6417 files bigger than 2Gb when off_t is 32 bit.
540c2788 6418
048addec 64192002-11-27 Dave Love <fx@gnu.org>
6b2fd6ea 6420
048addec 6421 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6b2fd6ea 6422
048addec
JD
6423 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
6424 Test GETPGRP_VOID instead.
6425 [BSD_TERMIOS]: Remove definitions (never used).
6b2fd6ea 6426
048addec
JD
6427 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
6428 Don't define.
6429 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
540c2788 6430
048addec 6431 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
8cc03716 6432
048addec 64332002-11-25 Jason Rumney <jasonr@gnu.org>
8cc03716 6434
048addec
JD
6435 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
6436 supported.
4042a81a 6437
048addec 64382002-11-25 Dave Love <fx@gnu.org>
4042a81a 6439
048addec 6440 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
4042a81a 6441
048addec 6442 * Makefile.in (TEMACS_LDFLAGS): Update last change.
be4ee72f 6443
048addec 64442002-11-25 Andreas Schwab <schwab@suse.de>
be4ee72f 6445
048addec 6446 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
82122254 6447
048addec 64482002-11-24 Steven Tamm <steventamm@mac.com>
82122254 6449
048addec
JD
6450 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
6451 determine the size of pointers alloced in unexed space instead
6452 of using possibly invalid emacs_zone pointers. This fixes the
6453 binary incompatibility problems caused by updates to libSystem.B.
c1ee53bc 6454
048addec 64552002-11-24 Richard M. Stallman <rms@gnu.org>
c1ee53bc 6456
048addec 6457 * search.c (Fstring_match): Doc fix.
c1ee53bc 6458
048addec
JD
6459 * callint.c (Fcall_interactively): If a command fails because
6460 `*' detects a read-only buffer, but RECORD_FLAG is set,
6461 record it anyway if the args don't actually do tty input.
5598c32e 6462
048addec 64632002-11-22 Dave Love <fx@gnu.org>
5598c32e 6464
048addec 6465 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
5598c32e 6466
048addec
JD
6467 * keyboard.c (interrupt_signal): Provide forward declaration.
6468 (kbd_buffer_store_event): Don't declare interrupt_signal.
5598c32e 6469
048addec 6470 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
97b14e22 6471
048addec 64722002-11-21 Richard M. Stallman <rms@gnu.org>
97b14e22 6473
048addec
JD
6474 * eval.c (interactive_p): Skip any number of bytecode
6475 and special form frames, in any order.
516eea8e 6476
048addec 64772002-11-20 Jason Rumney <jasonr@gnu.org>
516eea8e 6478
048addec
JD
6479 * w32fns.c (convert_mono_to_color_image): New function.
6480 (xbm_load, xbm_load_image): Use it when foreground or background
6481 is explicitly set.
04dbfa08 6482
048addec 64832002-11-19 Dave Love <fx@gnu.org>
04dbfa08 6484
048addec 6485 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
b4aebae3 6486
048addec 64872002-11-18 Jason Rumney <jasonr@gnu.org>
b4aebae3 6488
048addec
JD
6489 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
6490 (XPutPixel): Swap blue and red.
6491 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
6492 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
6493 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
6494 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
1998560a 6495
048addec 64962002-11-18 Dave Love <fx@gnu.org>
d824beee 6497
048addec 6498 * m/orion105.h (HAVE_ALLOCA): Don't define.
d824beee 6499
048addec 6500 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
d824beee 6501
048addec 6502 * m/intel386.h: Don't include alloca.h or define alloca.
d824beee 6503
048addec
JD
6504 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
6505 malloc, realloc, calloc.
d824beee 6506
048addec
JD
6507 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
6508 (bcmp): Don't define.
d824beee 6509
048addec 6510 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
d824beee 6511
048addec 6512 * m/amdahl.h: Don't define LIB_STANDARD.
d824beee 6513
048addec 6514 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
d824beee 6515
048addec 6516 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
d824beee 6517
048addec
JD
6518 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
6519 Don't include alloca.h.
d824beee 6520
048addec 6521 * s/aix3-2.h (HAVE_FSYNC): Don't define.
1998560a 6522
048addec 6523 * regex.c (_GNU_SOURCE): Don't define.
1998560a 6524
048addec 6525 * process.c (_GNU_SOURCE): Don't define.
1998560a 6526
048addec 6527 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
8704a6ab 6528
048addec 65292002-11-18 Markus Rost <rost@math.ohio-state.edu>
8704a6ab 6530
048addec 6531 * s/sol2-8.h: Include sol2-6.h.
6ae2cd57 6532
048addec 65332002-11-18 Miles Bader <miles@gnu.org>
6ae2cd57 6534
048addec
JD
6535 * dispextern.h (struct face): Add `overstrike' field.
6536 * xterm.c (x_draw_glyph_string_foreground)
6537 (x_draw_composite_glyph_string_foreground): Implement overstriking.
6538 * xfaces.c (load_face_font): Set `face->overstrike' based on
6539 result from choose_face_font.
6540 (best_matching_font, choose_face_font): Add `needs_overstrike'
6541 argument, and use it to return whether overstriking is desirable
6542 for this face/font combo.
6543 (set_font_frame_param: Pass new argument to choose_face_font.
6ae2cd57 6544
048addec 65452002-11-17 Ben Key <BKey1@tampabay.rr.com>
3582b6a3 6546
048addec
JD
6547 This change is my fix for the following entry in etc/PROBLEMS:
6548 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
6549 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
f60ae425 6550
048addec
JD
6551 * w32.c: Added wrapper functions around the win32 API functions
6552 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
6553 GetSidIdentifierAuthority. These wrapper functions serve two
6554 purposes:
6555 1. They ensure that the wrapped function can never be called
6556 when Emacs is running on an operating system on which they are
6557 not supported (Microsoft Windows 95 / 98 / ME).
6558 2. They call the wrapped functions via function pointers rather
6559 than calling them directly. This avoids taking advantage of the
6560 undocumented fact that although these functions are not supported
6561 in the 9x branch of Microsoft Windows, the functions do exist in
6562 the version of advapi32.dll that is found in the 9x branch of
6563 Microsoft Windows.
f60ae425 6564
6bdb309a 6565 * w32.c (init_user_info): Replace the calls to the win32 API
048addec
JD
6566 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
6567 and GetSidIdentifierAuthority with calls to the newly added
6568 wrapper functions.
f60ae425 6569
048addec
JD
6570 * w32.h: Added extern declarations for the following functions:
6571 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
6572 syms_of_w32menu, and void syms_of_fontset.
f60ae425 6573
6bdb309a 6574 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
048addec
JD
6575 function pointer track_mouse_event_fn in the handler for the
6576 WM_SETFOCUS message.
3582b6a3 6577
6bdb309a 6578 * w32menu.c (initialize_frame_menubar): Add code to
048addec
JD
6579 reinitialize the function pointers set_menu_item_info and
6580 get_menu_item_info.
f60ae425 6581
048addec 65822002-11-17 Ben Key <BKey1@tampabay.rr.com>
f60ae425 6583
048addec
JD
6584 * sound.c: Added a partial implementation of play-sound-internal
6585 for Microsoft Windows. Added various #ifdef / #else / #endif
6586 code blocks to separate the code that will compile under
6587 Microsoft Windows from the code that is specific to Gnu/Linux.
6588 Moved several blocks of code around to make this separation of code
6589 into Windows compatible and Gnu/Linux compatible code blocks easier.
f60ae425 6590
048addec 6591 * makefile.w32-in: Include sound.c and link with WinMM.lib.
a0f0878d 6592
048addec
JD
6593 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
6594 added support for play-sound-internal under Windows would be
6595 included in the build of Emacs.
517f42a0 6596
048addec 65972002-11-16 Jason Rumney <jasonr@gnu.org>
517f42a0 6598
048addec 6599 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
517f42a0 6600
048addec 6601 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
a0f0878d 6602
048addec 66032002-11-15 Stefan Monnier <monnier@cs.yale.edu>
a0f0878d 6604
048addec
JD
6605 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
6606 (adjust_point_for_property): Move out of display and invisible even if
6607 we were already inside before (in case a property was added while
6608 we weren't looking). Be more careful when handling invisible props.
6609 Skip invisible text as if it really wasn't there at all.
aab83f91 6610
048addec 66112002-11-15 Jason Rumney <jasonr@gnu.org>
aab83f91 6612
048addec
JD
6613 * w32term.c (x_draw_image_foreground)
6614 (w32_draw_image_foreground_1): Use standard copy and invert
6615 operations to draw images.
aab83f91 6616
048addec
JD
6617 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
6618 depth of 1.
6619 (xbm_read_bitmap_data): Invert bits as xbm is read in.
6620 (XPutPixel): Don't invert bits here.
a4478a76 6621
048addec 66222002-11-15 Jason Rumney <jasonr@gnu.org>
a4478a76 6623
048addec
JD
6624 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
6625 (w32_draw_image_foreground_1): Handle image masks.
6626 (x_draw_image_glyph_string): Don't BitBlt transparently.
a4478a76 6627
048addec
JD
6628 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
6629 (x_from_xcolors): Adjust RGB values for W32.
6630 (image_background, image_background_transparent)
6631 (postprocess_image, x_to_xcolors, x_disable_image)
6632 (x_build_heuristic_mask): Adapt for W32 and enable.
6633 (x_create_x_image_and_pixmap): Mark images with palettes as such.
6634 (xbm_load): Remove unused variable.
03670a65 6635
048addec 66362002-11-14 Richard M. Stallman <rms@gnu.org>
03670a65 6637
048addec 6638 * buffer.c (syms_of_buffer): Doc fix.
59daa29a 6639
048addec 66402002-11-14 Dave Love <fx@gnu.org>
59daa29a 6641
048addec 6642 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
59daa29a 6643
048addec
JD
6644 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
6645 * xmenu.c (unuse_menu_items, digest_single_submenu):
6646 * xfns.c (x_put_x_image):
6647 * xdisp.c (message2_nolog, set_message):
6648 * undo.c (record_point):
6649 * terminfo.c (tparam):
6650 * syntax.c (scan_sexps_forward):
6651 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
6652 * composite.c (update_compositions):
6653 * cm.c (calccost, cmgoto):
6654 * charset.c (c_string_width): Declare all args (per C99).
59daa29a 6655
048addec 6656 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
59daa29a 6657
048addec
JD
6658 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
6659 Don't declare.
59daa29a 6660
048addec 6661 * emacs.c (main) [!VMS]: Avoid third arg.
59daa29a 6662
048addec
JD
6663 * fns.c (Fcopy_sequence): Doc fix.
6664 (Fmap_char_table): Cast `call2'.
3947677c 6665
048addec
JD
66662002-11-14 Francesco Potorti` <pot@gnu.org>
6667
6668 * s/sol2-8.h: New file.
6669
66702002-11-14 Kim F. Storm <storm@cua.dk>
6671
6672 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
6673 dependency on `risky-local-variable' and the :propertize form.
6674
66752002-11-12 Stefan Monnier <monnier@cs.yale.edu>
6676
6677 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
6678
6679 * syntax.c (scan_sexps_forward): Undo last patch.
6680 Use a more obvious fix: check eob before updating the syntax table.
6681
66822002-11-09 Stefan Monnier <monnier@cs.yale.edu>
6683
6684 * syntax.c (scan_sexps_forward): Update syntax table before reading
6685 a char rather than after so we don't update the table past eob.
6686
66872002-11-09 Dave Love <fx@gnu.org>
6688
6689 * buffer.c (Fset_buffer_major_mode): Fix last change.
6690
6691 * regex.c (regexec): Fix pmatch declaration.
6692
6693 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
6694
6695 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
6696 to self-inserting characters.
6697 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
6698
6699 * coding.c (Vtranslation_table_for_input): New.
6700 (syms_of_coding): DEFVAR it.
6701
67022002-11-08 Juanma Barranquero <lektu@terra.es>
6703
6704 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
6705 window.
6706
67072002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6708
6bdb309a 6709 * process.c (Fformat_network_address): Remove unused locals p,
048addec
JD
6710 cp, and i.
6711
67122002-11-06 Dave Love <fx@gnu.org>
6713
6714 * buffer.c (Qset_buffer_major_mode_hook): New.
6715 (Fset_buffer_major_mode): Use it.
6716
67172002-11-06 Richard M. Stallman <rms@gnu.org>
6718
6719 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
6720 and stop_polling.
6721
6722 * process.c (wait_reading_process_input):
6723 Test POLLING_PROBLEM_IN_SELECT, not hpux.
6724 Avoid initialization for auto Lisp_Object var.
6725
6726 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
6727
6728 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
6729
67302002-11-05 Richard M. Stallman <rms@gnu.org>
6731
6732 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
6733
6734 * callint.c (Fcall_interactively): New local filter_specs.
6735 (Fcall_interactively): Check for progn as well as let.
6736 Add a gcpro.
6737 (Qprogn): New variable.
6738 (syms_of_callint): Staticpro and init Qprogn.
6739
67402002-11-04 John Paul Wallington <jpw@shootybangbang.com>
6741
6742 * lread.c (Feval_buffer): Doc fix.
6743
67442002-11-04 Dave Love <fx@gnu.org>
6745
6746 * keyboard.c (read_char): Always translate iff
6747 Vkeyboard_translate_table is a char table and c is valid.
6748
6749 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
6750 and fix C types.
6751
67522002-11-03 Stefan Monnier <monnier@cs.yale.edu>
6753
6754 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
6755
6756 * editfns.c (get_pos_property): Don't hardcode Qfield.
6757
6758 * keyboard.c (adjust_point_for_property): Handle `display' prop on
6759 overlays. Also handle `invisible' prop.
6760
67612002-11-02 Stefan Monnier <monnier@cs.yale.edu>
6762
6763 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
6764 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
6765
67662002-11-01 Andreas Schwab <schwab@suse.de>
6767
6768 * editfns.c (Fmessage): Revert last change to properly handle %%.
6769
67702002-11-01 Stefan Monnier <monnier@cs.yale.edu>
6771
6772 * xmenu.c (unuse_menu_items): New fun.
6773 (menu_items_inuse): New var.
6774 (syms_of_xmenu): Initialize it.
6775 (init_menu_items): Use it to detect re-entrance.
6776 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
6777 (Fx_popup_menu): Remove spurious XSETFRAME.
6778
6779 * editfns.c (find_field): Make an exception for nil fields.
6780
67812002-11-01 Dave Love <fx@gnu.org>
6782
6783 * m/gec63.h: Deleted.
6784
67852002-10-31 Dave Love <fx@gnu.org>
6786
6787 * xterm.c (XTread_socket): Fix last change.
6788 (xaw_scroll_callback): Cast call_data to long to avoid warning.
6789
67902002-10-31 Stefan Monnier <monnier@cs.yale.edu>
6791
6792 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
6793
67942002-10-30 Stefan Monnier <monnier@cs.yale.edu>
6795
6796 * editfns.c (overlays_around, get_pos_property): New funs.
6797 (find_field): Use them.
6798 Also be careful not to modify POS before its last use.
6799 (Fmessage): Don't Fformat if there's nothing to format.
6800
68012002-10-30 Dave Love <fx@gnu.org>
6802
6803 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
6804 [HAVE_PTY_H]; Include pty.h.
6805
6806 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
6807
6808 * xterm.c (Qeql): Declare.
6809 (Vx_keysym_table): New.
6810 (syms_of_xterm): Initialize it.
6811 (XTread_socket): Use it. Deal with ASCII keysyms.
6812 (XSetIMValues) [HAVE_X11R6]: Prototype.
6813
6814 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
6815 (lispy_kana_keys): Comment out.
6816 (make_lispy_event) [XK_kana_A]: Comment out.
6817 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
6818 Fix sprintf call.
6819
6820 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
6821 regexp.h change).
6822 (TERMINFO, LIBS_TERMCAP): Define.
6823
6824 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
6825 (bcmp): Define conditional on HAVE_BCMP.
6826 (NO_SIOCTL_H): Don't define.
6827 (TIOCSIGSEND): Don't make conditional on IRIX6.
6828
6829 * s/sol2-5.h: Don't include strings.h.
6830 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
6831
6832 * s/irix6-0.h (IRIX6): Don't define.
6833 (bcopy, bcmp, bzero): Don't undef.
6834
6835 * s/irix6-5.h: Don't include strings.h.
6836 (IRIX6): Don't define.
6837 (bcopy, bcmp, bzero): Don't undef.
6838
6839 * syntax.c (Fforward_comment): Doc fix.
6840
68412002-10-29 Kim F. Storm <storm@cua.dk>
6842
6843 * process.c (Fsignal_process): Allow PROCESS to be specified by
6844 name in addition to pid (as integer or string).
6845
68462002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
6847
6848 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
6849 environments.
6850
68512002-10-27 Kim F. Storm <storm@cua.dk>
6852
6853 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
6854
6855 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
6856
6857 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
6858
6859 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
6860
68612002-10-26 Richard M. Stallman <rms@gnu.org>
6862
6863 * editfns.c (Fformat): Detect invalid format letters for floats.
6864
68652002-10-25 Kenichi Handa <handa@m17n.org>
6866
6867 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
6868 (x_set_title): Likewise.
6869
68702002-10-25 Juanma Barranquero <lektu@terra.es>
6871
6872 * macgui.h:
6873 * w32gui.h: Remove definition of XColor.
6874
6875 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
6876
68772002-10-24 Kim F. Storm <storm@cua.dk>
6878
6879 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
6880 Callers changed (supply dummy arg).
6881
6882 * lisp.h (get_window_cursor_type): Update prototype.
6883
6884 * w32term.c (x_display_and_set_cursor): Get active_cursor from
6885 get_window_cursor_type to track system caret.
6886
68872002-10-24 Kim F. Storm <storm@cua.dk>
6888
6889 * process.c (Fformat_network_address): New function.
6890 (syms_of_process): Defsubr it.
6891 (list_processes_1): Use it to format :local/:remote address if
6892 service/host is not set; before emacs would crash in that case.
6893 (Fmake_network_process): Don't use Ffind_operation_coding_system
6894 to setup coding system if host or service is not set.
6895
68962002-10-23 Juanma Barranquero <lektu@terra.es>
6897
6898 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
6899
6900 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
6901 COLORREF.
6902
6903 * macgui.h:
6904 * w32gui.h: Add definition of XColor.
6905
6906 * macfns.c:
6907 * w32fns.c:
6908 * xfaces.c: Remove definition of XColor.
6909
69102002-10-22 Stefan Monnier <monnier@cs.yale.edu>
6911
6912 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
6913
6914 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
6915 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
6916 window if it is dedicated.
6917 (Fshrink_window): Add preserve_before as was done for enlarge_window.
6918 (Vspecial_display_function): Update docstring.
6919
6920 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
6921 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
6922 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
6923
69242002-10-21 Stefan Monnier <monnier@cs.yale.edu>
6925
6926 * casefiddle.c (casify_region): Don't treat a prefix char as part
6927 of a word when at the beginning.
6928
69292002-10-17 Juanma Barranquero <lektu@terra.es>
6930
6931 * lread.c (syms_of_lread): Fix typos.
6932
69332002-10-17 Dave Love <fx@gnu.org>
6934
6935 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
6936
69372002-10-16 Richard M. Stallman <rms@gnu.org>
6938
6939 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
6940
69412002-10-14 Juanma Barranquero <lektu@terra.es>
6942
6943 * w16select.c (syms_of_win16select): Fix docstring for
6944 `selection-coding-system'.
6945
6946 * w32select.c (syms_of_w32select): Likewise.
6947
69482002-10-14 Stefan Monnier <monnier@cs.yale.edu>
6949
6950 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
6951 a backslash-quoted char.
6952 (scan_lists, scan_sexps_forward): Pacify the compiler.
6953
69542002-10-13 Richard M. Stallman <rms@gnu.org>
6955
6956 * window.c (window_scroll): Set immediate_quit.
6957
6958 * print.c (print): When backquote form is the car of a list,
6959 output in old style. Use old_backquote_output to output all
6960 comma forms inside it in old style too.
6961
6962 * buffer.h (struct buffer): Move `undo_list' down below `name'.
6963
69642002-10-11 Markus Rost <rost@math.ohio-state.edu>
6965
6966 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
6967 batch mode).
6968
6969 * lread.c (Fload): Doc fix (load-suffixes).
6970
69712002-10-10 Steven Tamm <steventamm@mac.com>
6972
6973 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
6974 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
6975 Also switch the default to Qnil from Qt.
6976
69772002-10-08 Kenichi Handa <handa@m17n.org>
6978
6979 * coding.c (code_convert_region): When we need more GAP for
6980 conversion, pay attention to the case that coding->produced is not
6981 greater than coding->consumed.
6982
69832002-10-07 Richard M. Stallman <rms@gnu.org>
6984
6985 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
6986
69872002-10-06 Andrew Choi <akochoi@shaw.ca>
6988
6989 * macmenu.c (mac_menu_show): Add j to count menu items; match
6990 menu_item_selection to it to find selected item.
6991
69922002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6993
6994 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
6995 cases. The correct fix is to pass ReparentNotify to Xt.
6996 The shell widget interprets ConfigureNotify differently depending
6997 on if it has been reparented or not.
6998
69992002-10-05 Markus Rost <rost@math.ohio-state.edu>
7000
7001 * editfns.c (Fformat_time_string): Doc fix.
7002
70032002-10-05 John Paul Wallington <jpw@shootybangbang.com>
7004
7005 * fns.c (Flength): Doc fix.
7006
70072002-10-04 Stefan Monnier <monnier@cs.yale.edu>
7008
7009 * keyboard.c (keyremap): New struct.
7010 (read_key_sequence): Use it: globally replace keytran_foo with
7011 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
7012 keytran_next and fkey_next to just `next'.
7013
70142002-10-04 Steven Tamm <steventamm@mac.com>
7015
7016 * macterm.c (keycode_to_xkeysym_table): Change return to be
7017 treated like an X keysym.
7018
70192002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7020
7021 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
7022 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
7023 This is to also handle x/y changes that occur because of a resize.
7024
70252002-10-02 John Paul Wallington <jpw@shootybangbang.com>
7026
7027 * frame.c (Vdelete_frame_functions): New variable.
7028 (syms_of_frame): Initialize and defvar it.
7029 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
7030 it when frame's `tooltip' parameter is non-nil.
7031
7032 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
7033
7034 * w32fns.c (x_create_tip_frame): Likewise.
7035
7036 * macfns.c (x_create_tip_frame): Likewise.
7037
70382002-09-30 Kenichi Handa <handa@m17n.org>
7039
7040 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
7041 -1 before calling ccl_driver.
7042
7043 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
7044 Only when it is non-nil, handle composition sequence.
7045 (setup_coding_system) <0>: Don't force composition handling.
7046
7047 * Makefile.in (lisp, shortlisp): Add utf-16.elc
7048
70492002-09-29 Richard M. Stallman <rms@gnu.org>
7050
7051 * search.c (Freplace_match): Adjust match data for the substitution
7052 just made in the buffer.
7053
7054 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
7055 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
7056
70572002-09-27 Richard M. Stallman <rms@gnu.org>
7058
7059 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
7060 (read_char): Use them. Do all exits thru the end of the function.
7061
70622002-09-27 Kenichi Handa <handa@etl.go.jp>
7063
7064 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
7065 is nil.
7066
70672002-09-26 Richard M. Stallman <rms@gnu.org>
7068
7069 * regex.h (__restrict_arr): Don't define if already defined.
7070
7071 * coding.c (run_pre_post_conversion_on_str):
7072 Save and restore Vdeactivate_mark.
7073
70742002-09-26 John Paul Wallington <jpw@shootybangbang.com>
7075
7076 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
7077
70782002-09-26 Kenichi Handa <handa@etl.go.jp>
7079
7080 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
7081 nonzero, try face's family at first. Otherwise try FAMILY at first.
7082 (choose_face_font): If C is a single byte char or latin-1, call
7083 try_font_list with PREFER_FACE_FAMILY 1.
7084
70852002-09-21 Richard M. Stallman <rms@gnu.org>
7086
7087 * window.c (select_window_1): Don't select frame.
7088 Set frame's selected window only when frame itself is selected.
7089 (Fselect_window): Doc fix.
7090
70912002-09-18 Kim F. Storm <storm@cua.dk>
7092
7093 * process.c (make-network-process): Doc fix (there is no
7094 network-server-log-function hook).
7095
70962002-09-18 Richard M. Stallman <rms@gnu.org>
7097
7098 * print.c (print): Clear out the unused parts of Vprint_number_table.
7099 (syms_of_print): Doc fix for `print-number-table'.
7100
7101 * unexelf.c (unexec): Undo previous change.
7102
71032002-09-17 Andreas Schwab <schwab@suse.de>
7104
7105 * m/alpha.h [LINUX]: Don't define DATA_START.
7106
71072002-09-16 Dave Love <fx@gnu.org>
7108
7109 * unexelf.c (unexec): Deal with .got, reinstating change from
7110 25-08-1999.
7111
71122002-09-13 Richard M. Stallman <rms@gnu.org>
7113
7114 * s/sol2-6.h (UNEXEC): Comment out definition.
7115
7116 * unexsol.c (unexec): Don't downcase first letter of error msg.
7117
7118 * xfaces.c (Fcolor_supported_p): Just one arg is required.
7119
71202002-09-12 Markus Rost <rost@math.ohio-state.edu>
7121
7122 * unexsol.c: Include buffer.h, charset.h, coding.h.
7123
71242002-09-11 Richard M. Stallman <rms@gnu.org>
7125
7126 * unexsol.c: Don't use report_file_error; do it by hand
7127 using dlerror.
7128
7129 * process.c (wait_reading_process_input, both versions):
7130 Before calling turn_on_atimers, call stop_polling.
7131
7132 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
7133
7134 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
7135 we go to too_near_end, call clear_glyph_matrix.
7136 (redisplay_window): After make_cursor_line_fully_visible,
7137 call clear_glyph_matrix and bypass `goto done'.
7138
7139 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
7140 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
7141
71422002-09-10 Richard M. Stallman <rms@gnu.org>
7143
7144 * fileio.c (Fdo_auto_save): Catch error making directory.
7145 Only call push_message if we need to.
7146 At the same time, make an unwind-protect to pop it.
7147 Rename local message_p to old_message_p.
7148 (do_auto_save_make_dir, do_auto_save_eh): New functions.
7149 (do_auto_save_unwind): Don't call pop_message.
7150
7151 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
7152
7153 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
7154
7155 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
7156
7157 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
7158
71592002-09-10 Stefan Monnier <monnier@cs.yale.edu>
7160
7161 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
7162 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
7163 (re_match_2_internal): Be more careful with infinite loops.
7164
71652002-09-10 Kim F. Storm <storm@cua.dk>
7166
7167 * macros.c (end_kbd_macro): New function.
7168 (Fend_kbd_macro): Use it.
7169
7170 * macros.h (end_kbd_macro): Declare extern.
7171
7172 * keyboard.c (Fdiscard_input): If defining keyboard macro,
7173 end and save it instead of discarding it.
7174
71752002-09-09 Markus Rost <rost@math.ohio-state.edu>
7176
7177 * s/sol2-6.h: Fix typo. Add comment.
7178
71792002-09-09 Richard M. Stallman <rms@gnu.org>
7180
7181 * regex.c (regnum_t): Use signed int, not unsigned int.
7182
7183 * s/sol2-6.h: New file.
7184
7185 * s/sol2-5.h (UNEXEC): Definition deleted.
7186
71872002-09-08 Kim F. Storm <storm@cua.dk>
7188
7189 * macros.c (executing_macro_index): Change type to EMACS_INT.
7190 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
7191
7192 * macros.h (executing_macro_index): Change type to EMACS_INT.
7193
71942002-09-06 Richard M. Stallman <rms@gnu.org>
7195
7196 * casetab.c (set_case_table): Make canon table point to eqv table.
7197
71982002-09-06 Juanma Barranquero <lektu@terra.es>
7199
7200 * coding.c (syms_of_coding): Fix spacing.
7201
7202 * composite.c (Fcompose_region_internal)
7203 (Fcompose_string_internal): Likewise.
7204
7205 * data.c (Flsh): Likewise.
7206
7207 * fontset.c (Fset_fontset_font): Likewise.
7208
7209 * macfns.c (Fx_server_max_request_size): Likewise.
7210
7211 * w16select.c (syms_of_win16select): Likewise.
7212
7213 * w32select.c (syms_of_w32select): Likewise.
7214
7215 * xselect.c (syms_of_xselect): Likewise.
7216
72172002-09-05 Richard M. Stallman <rms@gnu.org>
7218
7219 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
7220 call EXTEND_RANGE_TABLE and return a proper value.
7221 (set_image_of_range): Don't call set_image_of_range_1
7222 if no TRANSLATE or if range includes all of Latin-1.
7223 Only call it for the Latin-1 part of the range.
7224 For other cases, make two separate ranges,
7225 one for the original specified characters and one for
7226 their case-conversions.
7227
72282002-09-04 Richard M. Stallman <rms@gnu.org>
7229
7230 * s/sol2-5.h (UNEXEC): Use unexsol.o.
7231
7232 * window.c (displayed_window_lines): Correct for one-off bug
7233 in HEIGHT on non-window displays.
7234
7235 * regex.c (set_image_of_range_1): New function.
7236 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
7237 Return a value to indicate running out of memory.
7238 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
7239 (extend_range_table_work_area): New subroutine.
7240 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
7241 Different calling conventions, and used from set_image_of_range{,_1}.
7242 (IMMEDIATE_QUIT_CHECK): Definitions moved.
7243
72442002-09-04 Juanma Barranquero <lektu@terra.es>
7245
7246 * makefile.w32-in: All dependencies updated.
7247
72482002-09-01 Richard M. Stallman <rms@gnu.org>
7249
7250 * unexsol.c: New file.
7251
7252 * xfns.c (Qbox): Declare external, don't define.
7253
7254 * xdisp.c (redisplay_window) <force-start case>:
7255 If point is on semi-visible last line, reposition
7256 it at previous line.
7257
7258 * alloc.c (display_malloc_warning): Use display-warning.
7259 (malloc_warning_1): Function deleted.
7260
7261 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
7262
7263 * lread.c (read1): Handle #! by skipping the line.
7264
72652002-08-31 Richard M. Stallman <rms@gnu.org>
7266
7267 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
7268 Don't include LDFLAGS.
7269 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
7270
72712002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
7272
7273 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
7274 member of x_display_info unless we compile for some window system.
7275
72762002-08-31 Kim F. Storm <storm@cua.dk>
7277
7278 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
7279 (get_window_cursor_type): Don't use them.
7280 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
7281
72822002-08-30 Kenichi Handa <handa@etl.go.jp>
7283
7284 * xdisp.c (get_next_display_element): Fix previous change.
7285
72862002-08-30 Andrew Choi <akochoi@shaw.ca>
7287
7288 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
7289 (expose_window): Use it to fix the display of overlapping
7290 rows (merge code from xterm.c).
7291
7292 * macfns.c (Qbox): Add extern declaration.
7293
72942002-08-30 Juanma Barranquero <lektu@terra.es>
7295
7296 * w32fns.c (Qbox): Make extern.
7297 (syms_of_w32fns): Remove initialization of Qbox.
7298
72992002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
7300
7301 * xfns.c (Fx_open_connection): Fix error message.
7302
73032002-08-30 Kim F. Storm <storm@cua.dk>
7304
7305 The following changes consolidates the handling of the cursor
7306 type in xdisp.c, moving duplicate code and functionality from
7307 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
7308
7309 * frame.h (enum text_cursor_kinds): Consolidated here.
7310 Added DEFAULT_CURSOR value.
7311 (struct frame) <desired_cursor, cursor_width>
7312 <blink_off_cursor, blink_off_cursor_width>: New fields.
7313 Consolidated from output_x, output_w32 and output_mac structs.
7314 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
7315 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
7316
7317 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
7318 Variables consolidated here.
7319 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
7320 (Vcursor_in_non_selected_windows): Renamed from
7321 cursor_in_non_selected_windows and changed to Lisp_Object.
7322 (syms_of_xdisp): Define and staticpro new and moved variables.
7323 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
7324 consolidated here. Recognize Qhollow setting.
7325 (set_frame_cursor_types): New function to set frame cursor types
7326 based on the frame parameters.
7327 (get_window_cursor_type): New function to calculate new cursor
7328 type and width for the specified window. Based on duplicated
7329 code consolidated here.
7330 Enhancements: cursor-in-non-selected-windows may be a cursor type,
7331 check buffer-local alternate-cursor-type and blink-cursor-alist
7332 before using built-in blink off methods.
7333
7334 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
7335
7336 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
7337 (get_specified_cursor_type, get_window_cursor_type)
7338 (set_frame_cursor_types): Added prototypes.
7339
7340 * macfns.c (x_specified_cursor_type): Removed.
7341 (x_set_cursor_type): Use set_frame_cursor_types.
7342 (Qbar, Qbox): Removed.
7343 (syms_of_macfns): Don't intern or staticpro them.
7344
7345 * macterm.c (x_specified_cursor_type): Remove prototype.
7346 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
7347 (x_display_and_set_cursor): Use get_window_cursor_type.
7348 Remove unused local variables cursor_non_selected, active_cursor.
7349 Redraw cursor if hbar cursor width changes.
7350 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
7351
7352 * macterm.h (enum text_cursor_kinds): Removed.
7353 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
7354 <blink_off_cursor, blink_off_cursor_width>: Members removed.
7355 (FRAME_DESIRED_CURSOR): Macro removed.
7356
7357 * w32fns.c (Vblink_cursor_alist): Removed.
7358 (Qbar, Qhbar, Qbox, Qhollow): Removed.
7359 (syms_of_w32fns): Don't intern, staticpro, or define them.
7360 (x_specified_cursor_type): Removed.
7361 (x_set_cursor_type): Use set_frame_cursor_types.
7362
7363 * w32term.c (x_specified_cursor_type): Remove prototype.
7364 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
7365 (x_display_and_set_cursor): Use get_window_cursor_type.
7366 Remove unused local variables cursor_off_state.
7367 Redraw cursor if hbar cursor width changes.
7368 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
7369
7370 * w32term.h (enum text_cursor_kinds): Removed.
7371 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
7372 <blink_off_cursor, blink_off_cursor_width>: Members removed.
7373 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
7374 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
7375 (struct w32_display_info) <x_highlight_frame>: Renamed member from
7376 w32_highlight_frame.
7377
7378 * xfns.c (Vblink_cursor_alist): Removed.
7379 (Qbar, Qhbar, Qbox, Qhollow): Removed.
7380 (syms_of_xfns): Don't intern, staticpro, or define them.
7381 (x_specified_cursor_type): Removed.
7382 (x_set_cursor_type): Use set_frame_cursor_types.
7383
7384 * xterm.c (x_specified_cursor_type): Remove prototype.
7385 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
7386 (x_display_and_set_cursor): Use get_window_cursor_type.
7387 Remove unused local variables cursor_off_state.
7388 Redraw cursor if hbar cursor width changes.
7389
7390 * xterm.h (enum text_cursor_kinds): Removed.
7391 (struct output_x) <current_cursor, desired_cursor, cursor_width>
7392 <blink_off_cursor, blink_off_cursor_width>: Members removed.
7393 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
7394 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
7395 (x_specified_cursor_type): Remove prototype.
7396
73972002-08-28 Richard M. Stallman <rms@gnu.org>
7398
7399 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
7400 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
7401 (Vblink_cursor_alist): New variable.
7402 (syms_of_w32fns): Initialize and defvar it.
7403 (x_specified_cursor_type): Recognize Qbox for filled box.
7404 Exceptions are hollow boxes.
7405 (Qbox, Qhollow): New variables.
7406 (syms_of_w32fns): Initialize and staticpro them.
7407
7408 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
7409 New macros.
7410 (struct w32_output): New fields blink_off_cursor,
7411 blink_off_cursor_width.
7412 (FRAME_CURSOR_WIDTH): New macro.
7413
7414 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
7415 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
7416
7417 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
7418 for bar cursor.
7419
7420 * w32term.c (expose_overlaps): New function.
7421 (expose_window): Use it to fix the display of overlapping rows.
7422
74232002-08-28 Simon Josefsson <jas@extundo.com>
7424
7425 * xfns.c (Fx_open_connection): Improve help when X connection
7426 fails, xhost is insecure and xauth is better.
7427
74282002-08-28 Juanma Barranquero <lektu@terra.es>
7429
7430 * makefile.w32-in: Add missing dependencies on w32term.h and
7431 composite.h.
7432
7433 * emacs.c (USAGE1): Add missing newline.
7434
74352002-08-27 Andrew Choi <akochoi@shaw.ca>
7436
7437 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
7438
74392002-08-27 Richard M. Stallman <rms@gnu.org>
7440
7441 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
7442 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
7443 (Vblink_cursor_alist): New variable.
7444 (syms_of_xfns): Initialize and defvar it.
7445 (x_specified_cursor_type): Recognize Qbox for filled box.
7446 Exceptions are hollow boxes.
7447 (Qbox, Qhollow): New variables.
7448 (syms_of_xfns): Initialize and staticpro them.
7449
7450 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
7451 New macros.
7452 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
7453
7454 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
7455 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
7456
7457 * emacs.c (main): Handle --script.
7458 (USAGE1): Mention --script.
7459 (standard_args): Define sort order for --script.
7460
74612002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
7462
7463 * xdisp.c (redisplay_updating_p): Variable removed.
7464 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
7465 New variables.
7466 (init_iterator): Don't free realized faces if
7467 inhibit_free_realized_faces is set.
7468 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
7469 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
7470 initialize Qinhibit_free_realized_faces.
7471
7472 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
7473 when iterator is adding glyphs to a glyph matrix.
7474
74752002-08-27 Kenichi Handa <handa@etl.go.jp>
7476
7477 * xdisp.c (get_next_display_element): In unibyte case, don't use
7478 octal form for such eight-bit characters that can be converted to
7479 multibyte char.
7480
74812002-08-26 Kim F. Storm <storm@cua.dk>
7482
7483 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize foreground
7484 and background colors. From Joe Buehler (tiny change).
7485
74862002-08-26 Miles Bader <miles@gnu.org>
7487
7488 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
7489
74902002-08-25 Andrew Choi <akochoi@shaw.ca>
7491
7492 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
7493 defined instead of MAC_OSX.
7494
7495 * s/darwin.h (select): Define select to sys_select only if
7496 HAVE_CARBON is defined.
7497 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
7498 (DONT_REOPEN_PTY): #def it.
7499
7500 * macterm.c (XTread_socket): Remove code to call
7501 SendEventToEventTarget for keys with command modifiers when
7502 mac_command_key_is_meta is nil.
7503
75042002-08-24 Andreas Schwab <schwab@suse.de>
7505
7506 * eval.c (Fdefvar): Fix last change.
7507
75082002-08-23 Richard M. Stallman <rms@gnu.org>
7509
7510 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
7511 Record variables in load history as (defvar . VAR).
7512 (Fdefvar): Don't record in load history if no initial value.
7513 (Qdefvar): New variable.
7514 (syms_of_eval): Init and staticpro it.
7515
7516 * lread.c (syms_of_lread): Doc fix.
7517 (build_load_history): Use Fmember to see if a definition
7518 is already in the Vload_history element.
7519
7520 * process.c (Fstart_process): Remove /: from program name.
7521
7522 * emacs.c (decode_env_path): Don't add /: if file name handler
7523 has a `safe-magic' property.
7524
7525 * callproc.c (Fcall_process): Remove /: from program name.
7526
75272002-08-23 Stefan Monnier <monnier@cs.yale.edu>
7528
7529 * regex.c (PATFETCH): Remove the translating fetch.
7530 (PATFETCH_RAW): Rename to PATFETCH.
7531 (set_image_of_range): New fun.
7532 (SET_RANGE_TABLE_WORK_AREA): Use it.
7533 (regex_compile): Don't translate the pattern chars so eagerly.
7534 Only do it when inserting an `exactn' bytecode or when handling
7535 a char-range.
7536 (mutually_exclusive_p): Avoid empty statement.
7537
75382002-08-22 Kim F. Storm <storm@cua.dk>
7539
7540 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
7541 end up on a partially visible line; this reverts a specific part
7542 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
7543 display error which has been reported several times now.
7544 However it introduces the problem that changes was supposed to fix.
7545 See my comments in the source if you want to debug this further.
7546
75472002-08-20 Kenichi Handa <handa@etl.go.jp>
7548
7549 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
7550
75512002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
7552
7553 * msdos.c (croak): Add `void' to definition.
7554
7555 * sysdep.c [MSDOS] (request_sigio, unrequest_sigio):
7556 Don't define them, they are defined in msdos.c.
7557
7558 * mem-limits.h [MSDOS]: Declare etext.
7559
7560 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
7561 `const' since CORRECT_DIR_SEPS modifies its target.
7562
75632002-08-19 Kim F. Storm <storm@cua.dk>
7564
7565 * keyboard.c (Fclear_this_command_keys): Added optional arg
7566 KEEP-RECORD to avoid clearing lossage when we just want to clear
7567 the current key sequence (kmacro needs this).
7568
75692002-08-19 Kenichi Handa <handa@localhost>
7570
7571 * composite.c (run_composition_function): Call FUNC if it is fboundp.
7572
7573 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
7574 cons, return Qnil.
7575
75762002-08-17 Richard M. Stallman <rms@gnu.org>
7577
7578 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
7579
7580 * sysdep.c [!VMS]: Include sys/files.h.
7581
7582 * editfns.c (save_restriction_restore): Defend from unchained marker.
7583
7584 * buffer.c (overlays_at): Handle extending vec uniformly.
7585 (overlays_in): Handle extending vec from length 0 as in overlays_at.
7586
75872002-08-15 Andrew Choi <akochoi@shaw.ca>
7588
7589 * mac.c (init_mac_osx_environment): New function.
7590
7591 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
7592
75932002-08-14 Kim F. Storm <storm@cua.dk>
7594
7595 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
7596 executing macro before appending to it (when used from Lisp).
7597 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
7598 which is called prior to each iteration of macro (for kmacro.el).
7599 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
7600
7601 * lisp.h (Fexecute_kbd_macro): Update prototype.
7602
7603 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
7604
76052002-08-14 Kenichi Handa <handa@etl.go.jp>
7606
7607 * xselect.c (QUTF8_STRING): New variable.
7608 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
7609 (x_atom_to_symbol): Likewise.
7610 (x_get_local_selection): New argument local_request. If it is
7611 nonzero, call handler_fn with the second arg nil.
7612 (x_handle_selection_request): Call x_get_local_selection with
7613 local_request 0.
7614 (lisp_data_to_selection_data): Don't encode the string here.
7615 (Fx_get_selection_internal): Call x_get_local_selection with
7616 local_request 1.
7617 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
7618
7619 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
7620
7621 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
7622
76232002-08-13 Richard M. Stallman <rms@gnu.org>
7624
7625 * minibuf.c (Fminibufferp): New function.
7626 (syms_of_minibuf): Defsubr it.
7627 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
7628
76292002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
7630
7631 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
7632
76332002-08-12 Richard M. Stallman <rms@gnu.org>
7634
7635 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
7636 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
7637 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
7638 already.
7639
7640 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
7641
76422002-08-11 Andrew Choi <akochoi@shaw.ca>
7643
7644 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
7645 (Vmac_pass_command_to_system): New variable.
7646 (Vmac_pass_control_to_system): New variable.
7647 (do_mouse_moved): Check wp with is_emacs_window.
7648 (XTread_socket): Check window_ptr with is_emacs_window.
7649 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
7650 events back to Mac Toolbox for processing, depending on values of
7651 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
7652 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
7653 Vmac_pass_control_to_system.
7654
76552002-08-10 Kenichi Handa <handa@etl.go.jp>
7656
7657 * coding.c (unencodable_char_position): New function.
7658 (Funencodable_char_position): New function.
7659 (syms_of_coding): Defsubr Funencodable_char_position.
7660
76612002-08-10 Andrew Choi <akochoi@shaw.ca>
7662
7663 * mac.c (sys_select) [MAC_OSX]: New function.
7664
7665 * macterm.c (MakeMeTheFrontProcess): New function.
7666 (mac_initialize): Call MakeMeTheFrontProcess.
7667
7668 * s/darwin.h: Define select to sys_select.
7669
76702002-08-09 Richard M. Stallman <rms@gnu.org>
7671
7672 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
7673
76742002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
7675
7676 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
7677 end of the buffer.
7678
76792002-08-08 Ken Raeburn <raeburn@mit.edu>
7680
7681 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
7682
7683 * puresize.h (BASE_PURESIZE): Increase to 910000.
7684
76852002-08-08 Kenichi Handa <handa@etl.go.jp>
7686
7687 * coding.c (Ffind_operation_coding_system): For write-region, if
7688 VISIT is a filename, make it the target.
7689
76902002-08-07 Richard M. Stallman <rms@gnu.org>
7691
7692 * alloc.c (mark_object): Detect long lists for debugging.
7693 (mark_object_loop_halt): New variable.
7694
7695 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
7696
7697 * data.c (Fmake_variable_frame_local): Doc fix.
7698
76992002-08-01 David Ponce <david@dponce.com>
7700
7701 * w32menu.c (local_heap, local_alloc, local_free): New macros.
7702 (malloc_widget_value, free_widget_value)
7703 (w32_free_submenu_strings): Use them.
7704
7705 (push_submenu_start, push_submenu_end, push_left_right_boundary)
7706 (push_menu_pane, push_menu_item, single_keymap_panes)
7707 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
7708 (single_submenu, set_frame_menubar)
7709 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
7710
7711 (Fx_popup_menu): Don't show pop up menu until preceding one is
7712 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
7713
7714 * w32menu.c: Changes adapted from xmenu.c
7715 (set_frame_menubar): First parse all submenus,
7716 then make widget_value trees from them.
7717 Don't allocate any widget_value objects
7718 until we are done with the parsing.
7719 (parse_single_submenu): New function.
7720 (digest_single_submenu): New function.
7721 (single_submenu): Function deleted, replaced by those two.
7722
77232002-08-04 Andrew Choi <akochoi@shaw.ca>
7724
7725 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
7726 returns a valid window pointer before proceeding for keyDown and
7727 autoKey events.
7728
77292002-08-03 Andrew Choi <akochoi@shaw.ca>
7730
7731 * macterm.c (USE_CARBON_EVENTS): New macro.
7732 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
7733 (x_iconify_frame): Call CollapseWindow.
7734 (Vmac_reverse_ctrl_meta): New variable.
7735 (Vmac_wheel_button_is_mouse_2): New variable.
7736 (init_mac_drag_n_drop): New function.
7737 (mac_do_receive_drag): New function.
7738 (mac_handle_service_event): New function.
7739 (init_service_handler): New function.
7740 (mac_to_emacs_modifiers): New function.
7741 (mac_event_to_emacs_modifiers): New function.
7742 (mac_get_mouse_btn): New function.
7743 (mac_convert_event_ref): New function.
7744 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
7745 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
7746 mac_get_mouse_btn.
7747 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
7748
7749 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
7750 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
7751 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
7752 TOOL_BAR_EVENT for MAC_OS as well.
7753 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
7754 as for WINDOWS_NT.
7755 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
7756
7757 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
7758
77592002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
7760
7761 * xdisp.c (forward_to_next_line_start): Fix a condition that
7762 lead to a newline being skipped.
7763
77642002-08-02 Andrew Choi <akochoi@shaw.ca>
7765
7766 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
7767
77682002-08-01 Richard M. Stallman <rms@gnu.org>
7769
7770 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
7771
77722002-07-31 Andrew Choi <akochoi@shaw.ca>
7773
7774 * macfns.c: #undef init_process before #define-ing it.
7775
7776 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
7777 HAVE_CARBON is defined.
7778
77792002-07-31 Richard M. Stallman <rms@gnu.org>
7780
7781 * xmenu.c (set_frame_menubar): First parse all submenus,
7782 then make widget_value trees from them.
7783 Don't allocate any widget_value objects
7784 until we are done with the parsing.
7785 (parse_single_submenu): New function.
7786 (digest_single_submenu): New function.
7787 (single_submenu): Function deleted, replaced by those two.
7788
77892002-07-30 Juanma Barranquero <lektu@terra.es>
7790
7791 * w32proc.c (syms_of_ntproc): Fix docstring of
7792 `w32-get-true-file-attributes'.
7793
77942002-07-28 Richard M. Stallman <rms@gnu.org>
7795
7796 * s/hpux8.h (HPUX8): Define this before including hpux.h.
7797 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
7798
7799 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
7800
7801 * keyboard.c (make_lispy_event):
7802 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
7803 Explicitly clear up_modifier in event->modifiers.
7804
78052002-07-27 Richard M. Stallman <rms@gnu.org>
7806
7807 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
7808
7809 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
7810 for bar cursor.
7811
78122002-07-26 Kenichi Handa <handa@etl.go.jp>
7813
7814 * coding.c (detect_coding_iso2022): While checking a byte sequence
7815 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
7816 it in the normal loop.
7817
78182002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
7819
7820 * xterm.c (expose_overlaps): New function.
7821 (expose_window): Use it to fix the display of overlapping rows.
7822
7823 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
7824
78252002-07-23 Ken Raeburn <raeburn@gnu.org>
7826
7827 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
7828 since it only depends on XUINT.
7829
7830 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
7831 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
7832 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
7833 Macros deleted.
3947677c 7834
77d1daf2
AS
7835 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
7836 its value over other approaches.
7837 * sysdep.c (start_of_data): Don't define the function if a macro
7838 form has been defined.
8a8e19a3 7839
048addec
JD
78402002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
7841
7842 * xdisp.c (redisplay_updating_p): New variable.
7843 (init_iterator): Don't free realized faces when
7844 redisplay_updating_p is set.
7845 (redisplay_internal): Set redisplay_updating_p while updating
7846 the display.
7847
78482002-07-23 Richard M. Stallman <rms@gnu.org>
7849
7850 * editfns.c (Fmessage): Treat "" like nil.
7851
78522002-07-23 Kenichi Handa <handa@etl.go.jp>
7853
7854 * xdisp.c (face_before_or_after_it_pos):
7855 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
7856
78572002-07-22 Juanma Barranquero <lektu@terra.es>
7858
7859 * callproc.c (init_callproc) [DOS_NT]:
7860 Initialize Vshared_game_score_directory to nil.
7861 (syms_of_callproc) [DOS_NT]: Likewise.
7862
78632002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
7864
7865 * xdisp.c (display_line): Replace an abort with xassert.
7866
78672002-07-21 Richard M. Stallman <rms@gnu.org>
7868
7869 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
7870 and END_UNCHANGED when setting buffer_unchanged_p.
7871 Use current_matrix_up_to_date_p to decide whether to use
7872 try_cursor_movement.
7873
7874 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
7875
7876 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
7877
7878 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
7879 Set to nil if dir does not exist.
7880 (syms_of_callproc): Init unconditionally and simply.
7881
7882 * buffer.c (Fbuffer_list): Doc fix.
7883
78842002-07-21 Ken Raeburn <raeburn@gnu.org>
7885
7886 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
7887
7888 * buffer.c (mmap_realloc): When shrinking, make sure number of
7889 pages to unmap is rounded towards zero.
7890
7891 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
7892 (XSETINT): Deleted.
7893
7894 * m/att3b.h (XINT): Don't define.
7895 (VALBITS, VALMASK, XTYPE): Deleted.
7896 (DATA_SEG_BITS): Define.
7897 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
7898 ARRAY_MARK_FLAG): Deleted.
7899 (DATA_SEG_BITS): Define.
7900 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
7901 (DATA_SEG_BITS): Define.
7902
79032002-07-20 Richard M. Stallman <rms@gnu.org>
7904
7905 * print.c (print_error_message): New args CONTEXT and CALLER.
7906 Calls changed.
7907
7908 * lisp.h (print_error_message): Declare new args.
7909
7910 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
7911 and CONTEXT to print_error_message, don't print them here.
7912 For a Quit, don't use Vsignaling_function.
7913 Call message_log_maybe_newline.
7914
7915 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
7916
79172002-07-20 Kim F. Storm <storm@cua.dk>
7918
7919 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
7920
79212002-07-19 Ken Raeburn <raeburn@gnu.org>
7922
7923 * bytecode.c (struct byte_stack): Pointers into byte string now
7924 point to const.
7925 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
7926 const.
7927 * charset.h (BCOPY_SHORT): Source pointer now points to const.
7928 * coding.c (encode_eol, detect_coding, detect_eol):
7929 (decode_coding, encode_coding, detect_coding_system):
7930 Source strings now treated as const.
7931 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
7932 modify Lisp string contents.
7933 * coding.h (decode_coding, encode_coding, detect_coding,
7934 detect_eol): Declarations updated.
7935 * composite.c (compose_chars_in_text): Treat Lisp string contents
7936 as const.
7937 * dispnew.c (safe_bcopy): Source pointer now points to const.
7938 * lisp.h (STRING_COPYIN): New macro.
7939 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
7940 (internal_with_output_to_temp_buffer): Declarations updated.
7941 * print.c (temp_output_buffer_setup):
7942 (internal_with_output_to_temp_buffer): Buffer name argument is now
7943 pointer to const.
7944 * sound.c (struct sound_device): Function pointer field "write"
7945 buffer argument now points to const.
7946 (vox_write): Buffer argument points to const.
7947 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
7948 contents as const.
7949 * sysdep.c (emacs_write): Buffer pointer now const.
7950 * term.c (encode_terminal_code): Buffer pointer now const.
7951 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
7952 (x_face_list_fonts, x_update_menu_appearance):
7953 (hash_string_case_insensitive): Treat Lisp string contents as const.
7954
79552002-07-19 Juanma Barranquero <lektu@terra.es>
7956
7957 * fileio.c (Ffile_name_as_directory): Fix argument name in docstring.
7958 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
7959
7960 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
7961
7962 * fileio.c (syms_of_fileio): Likewise.
7963
79642002-07-18 Richard M. Stallman <rms@gnu.org>
7965
7966 * data.c (Fdefalias): Doc fix.
7967
79682002-07-17 Dave Love <fx@gnu.org>
7969
7970 * intervals.h (text_property_stickiness): Use P_.
7971
7972 * ccl.c: Remove `emacs' conditionals.
7973 (ccl_backtrace_table): Fix size spec.
7974 (ccl_driver): Fix type errors.
7975
79762002-07-16 Ken Raeburn <raeburn@gnu.org>
7977
7978 * alloc.c (xstrdup, make_string, make_unibyte_string)
7979 (make_multibyte_string, build_string): String pointer args now
7980 point to const.
7981 * charset.c (find_charset_in_text, c_string_width):
7982 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
7983 * fileio.c (report_file_error):
7984 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
7985 (count_combining_before, count_combining_after, insert_1_both):
7986 (insert, insert_and_inherit, insert_string):
7987 (insert_before_markers, insert_before_markers_and_inherit):
7988 * lread.c (intern, oblookup, hash_string):
7989 * minibuf.c (temp_echo_area_glyphs):
7990 * search.c (fast_c_string_match_ignore_case):
7991 * sysdep.c (emacs_open, set_file_times):
7992 * xfaces.c (xstricmp):
7993 * xdisp.c (store_frame_title, string_char_and_length):
7994 (message_dolog, message2, message2_nolog, set_message): Likewise.
7995 (set_message_1): Cast message string argument to const pointer.
7996 * editfns.c (general_insert_function): Insertion function now
7997 takes pointer to const for input data.
7998 * charset.h (find_charset_in_text, c_string_width):
7999 (parse_str_as_multibyte): Declarations updated.
8000 * dispextern.h (xstricmp): Declaration updated.
8001 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
8002 (count_size_as_multibyte, count_combining_before):
8003 (count_combining_after, insert_1, insert_1_both, message_dolog):
8004 (insert, insert_and_inherit, insert_before_markers)
8005 (insert_before_markers_and_inherit, set_message, message2):
8006 (message2_dolog, build_string, make_string, make_unibyte_string):
8007 (make_multibyte_string, intern, oblookup, report_file_error):
8008 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
8009 (emacs_open, xstrdup): Declarations updated.
8010 * systime.h (set_file_times): Declaration updated.
8011
8012 * charset.c (find_charset_in_text, lisp_string_width): Use const
8013 for pointer to lisp string data.
8014 * charset.h (FETCH_STRING_CHAR_ADVANCE):
8015 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
8016 * coding.c (Ffind_coding_systems_region_interval):
8017 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
8018 (Fmake_directory_internal, Fdelete_directory):
8019 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
8020 * fontset.c (font_family_registry, fs_query_fontset):
8021 (list_fontsets):
8022 * frame.c (Fframe_parameter):
8023 * keyboard.c (cmd_error_internal):
8024 * keymap.c (Fdescribe_buffer_bindings):
8025 * lread.c (complete_filename_p, openp):
8026 * minibuf.c (Fminibuffer_complete_word):
8027 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
8028 (face_before_or_after_it_pos, next_element_from_string):
8029 (get_overlay_arrow_glyph_row, display_mode_element):
8030 (decode_mode_spec_coding):
8031 * xterm.c (same_x_server): Likewise.
8032
8033 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
8034 settings of non-existent fields.
8035
8036 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
8037 copy a lisp value.
8038
8039 * lread.c (Fintern_soft): Use string macros instead of
8040 Lisp_String fields.
8041 * keyboard.c (echo_char, parse_modifiers_uncached):
8042 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
8043 * textprop.c (validate_interval_range, interval_of): Likewise.
8044
8045 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
8046
8047 * charset.h (FETCH_STRING_CHAR_ADVANCE)
8048 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
8049 XSTRING()->size_byte.
8050
8051 * lisp.h (SDATA, SREF): Produce rvalue.
8052 (SSET): New macro.
8053 * alloc.c (make_event_array): Use SSET for storing into a string.
8054 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
8055 a string.
8056 * casefiddle.c (casify_object): Use SSET.
8057 * charset.h (FETCH_STRING_CHAR_ADVANCE)
8058 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
8059 address of string contents.
8060 * data.c (Faref): Use SDATA.
8061 (Faset): Use SDATA, SSET.
8062 * dired.c (directory_files_internal): Use SSET.
8063 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
8064 (Fread_file_name): Use SREF, SSET.
8065 * fns.c (concat): Use SSET.
8066 (concat, Fdelete): Use SDATA.
8067 * insdel.c (insert_from_string_1): Use SDATA.
8068 * keyboard.c (Fevent_convert_list): Use SREF.
8069 * lread.c (Fload): Use SDATA, SSET.
8070 * macfns.c (validate_x_resource_name): Use SSET.
8071 * process.c (status_message): Use SSET.
8072 * search.c (wordify): Use SDATA.
8073 (Freplace_match): Use SREF.
8074 * w32fns.c (validate_x_resource_name): Use SSET.
8075 * xfns.c (validate_x_resource_name): Use SSET.
8076 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
8077
80782002-07-16 Richard M. Stallman <rms@gnu.org>
8079
8080 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
8081
8082 * xdisp.c (reconsider_clip_changes):
8083 Don't test prevent_redisplay_optimizations_p.
8084 (redisplay_internal): Test prevent_redisplay_optimizations_p
8085 along with clip_changed in some cases.
8086 (try_window_id): Likewise.
8087 (redisplay_window): New local var buffer_unchanged_p.
8088
8089 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
8090
8091 * process.c (create_process): Test USG_SUBTTY_WORKS.
8092 (process_send_signal): Clean up handling of GID.
8093 Detect errors in ioctls meant to set GID.
8094
8095 * window.c (temp_output_buffer_show):
8096 Don't set prevent_redisplay_optimizations_p.
8097
80982002-07-15 Juanma Barranquero <lektu@terra.es>
8099
8100 * eval.c (Fdefvaralias): Add docstring argument.
8101
81022002-07-15 Ken Raeburn <raeburn@gnu.org>
8103
8104 * lisp.h (STRING_INTERVALS): Produce rvalue.
8105 (STRING_SET_INTERVALS): New macro.
8106 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
8107 * fns.c (Fstring_as_multibyte): Likewise.
8108 * intervals.c (balance_possible_root_interval, delete_interval)
8109 (create_root_interval, copy_intervals_to_string): Likewise.
8110 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
8111 instead of 0.
8112
81132002-07-14 Ken Raeburn <raeburn@gnu.org>
8114
8115 * lisp.h (STRING_SET_CHARS): New macro.
8116 (SCHARS, SBYTES): Produce rvalues.
8117 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
8118 * fns.c (concat): Likewise.
8119 * lread.c (read_vector): Likewise.
8120
8121 * lisp.h (SMBP): Deleted. All uses changed to STRING_MULTIBYTE.
8122 (STRING_SET_UNIBYTE): New macro.
8123 (SET_STRING_BYTES): Deleted. Callers (all of which supplied a
8124 length of -1) changed to use STRING_SET_UNIBYTE.
8125 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
8126 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
8127 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
8128 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
8129 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
8130 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
8131 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
8132 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
8133 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
8134 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
8135 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
8136 STRING_BYTES or indirection changed to SCHARS, SBYTES,
8137 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
8138 unchanged for now.
8139
81402002-07-13 Kim F. Storm <storm@cua.dk>
8141
8142 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
8143
81442002-07-12 Richard M. Stallman <rms@gnu.org>
8145
8146 * fileio.c (Fwrite_region): Doc fix.
8147
8148 * print.c (print_error_message): Don't handle Vsignaling_function here.
8149
8150 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
8151 (command_loop_1): Avoid certain actions after memory-full error.
8152
8153 * eval.c (Fsignal): Don't call cancel_hourglass.
8154 For a memory-full error, don't call Vsignal_hook_function
8155 and don't set Vsignaling_function.
8156
8157 * process.c (process_send_signal): Add abort call.
8158
81592002-07-11 Markus Rost <rost@math.ohio-state.edu>
8160
8161 * keymap.c (Fkey_binding): Fix typo.
8162
81632002-07-11 Richard M. Stallman <rms@gnu.org>
8164
8165 * alloc.c (Vmemory_full): New variable.
8166 (Vmemory_signal_data): Renamed from memory_signal_data.
8167 Uses changed.
8168 (syms_of_alloc): Defvar them.
8169 (memory_full, buffer_memory_full): Set Vmemory_full.
8170
8171 * lisp.h (Vmemory_full): Add declaration.
8172 (current_column, indented_beyond_p): Change declaration.
8173
8174 * indent.c (last_known_column): Declare as double, not float.
8175 (current_column, current_column_1, string_display_width)
8176 (position_indentation): Return `double'.
8177 (indented_beyond_p): Arg `column' is `double'. Callers changed.
8178
8179 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
8180 (back_to_previous_visible_line_start)
8181 (reseat_at_next_visible_line_start, next_element_from_buffer):
8182 Use `double', not `float', when calling indented_beyond_p.
8183
8184 * s/hpux11.h (BROKEN_SA_RESTART): Defined.
8185
8186 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
8187
81882002-07-11 Juanma Barranquero <lektu@terra.es>
8189
8190 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
8191 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
8192 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
8193 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
8194 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
8195 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
8196
81972002-07-10 Juanma Barranquero <lektu@terra.es>
8198
8199 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE. All callers
8200 changed.
8201
82022002-07-09 Stefan Monnier <monnier@cs.yale.edu>
8203
8204 * data.c (Fdefalias): Add an optional `docstring' argument.
8205 (set_internal, Fsetq_default): Use XCAR/XCDR.
8206
8207 * composite.c (HASH_VALUE, HASH_KEY):
8208 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
8209
82102002-07-09 Kenichi Handa <handa@etl.go.jp>
8211
8212 * callproc.c (Fcall_process): Fix previous change.
8213
82142002-07-07 Stefan Monnier <monnier@cs.yale.edu>
8215
8216 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
8217 Add support for hash-tables.
8218 (Ftry_completion): Return t even if the string appears multiple times.
8219
8220 * fns.c (Fnconc): Use XCDR.
8221 (Fprovide): Use CONSP and XCDR.
8222 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
8223 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
8224 (Fmake_hash_table): Accept `:size nil'.
8225 (Fmakehash): Delete: moved to subr.el.
8226 (syms_of_fns): Don't defsubr makehash.
8227
8228 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
8229 (HASH_TABLE_SIZE): Move from fns.c.
8230
82312002-07-07 Richard M. Stallman <rms@gnu.org>
8232
8233 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
8234 Instead just return 0 when there is something to be done.
8235 (try_scrolling): If make_cursor_line_fully_visible returns 0,
8236 retry scrolling as if cursor were off the bottom.
8237 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
8238 return CURSOR_MOVEMENT_MUST_SCROLL.
8239 (redisplay_window): If make_cursor_line_fully_visible returns 0,
8240 go to try_to_scroll.
8241
8242 * buffer.c (Fbuffer_local_value): Store current value into its binding
8243 so we get the up-to-date value for the binding that is loaded.
8244
8245 * eval.c (Fdefmacro): Doc fix.
8246
82472002-07-05 Dave Love <fx@gnu.org>
8248
8249 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
8250 correctly.
8251
8252 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
8253 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
8254 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
8255 CCL_LookupCharConstTbl.
8256 (syms_of_ccl): Defvar translation-hash-table-vector.
8257
82582002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8259
8260 * xdisp.c: Remove unused variable `face'.
8261
82622002-07-04 Juanma Barranquero <lektu@terra.es>
8263
8264 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
8265 obsolescence information.
8266
82672002-07-03 Andrew Choi <akochoi@shaw.ca>
8268
8269 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
8270 pattern. Search cache first.
8271 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
8272 for Japanese font.
8273 (XLoadQueryFont): Use it.
8274
82752002-07-02 Richard M. Stallman <rms@gnu.org>
8276
8277 * keymap.c (Fdefine_key): Doc fix.
8278
8279 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
8280
82812002-07-02 Juanma Barranquero <lektu@terra.es>
8282
8283 * keymap.c (syms_of_keymap): Fix typo.
8284
82852002-07-01 Andrew Choi <akochoi@shaw.ca>
8286
8287 * s/darwin.h: Define POSIX_SIGNALS.
8288
8289 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
8290 and FSRefMakePath to convert FSSpec returned with Apple Event to
8291 Posix pathname.
8292 (mac_initialize) [TARGET_API_MAC_CARBON]:
8293 Call init_required_apple_events and disable the `Quit' menu item
8294 provided automatically by the Carbon Toolbox.
8295
82962002-07-01 Dave Love <fx@gnu.org>
8297
8298 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
8299 for K&R.
8300
8301 * xterm.c: Fix prototype for K&R.
8302
8303 * term.c (costs_set): Declare static, non-initialized for pcc.
8304
83052002-07-01 Richard M. Stallman <rms@gnu.org>
8306
8307 * keyboard.c (timer_last_idleness_start_time): New variable.
8308 (timer_start_idle): Set that.
8309 (read_key_sequence): Use that to reset timer_idleness_start_time
8310 to previous value.
8311
8312 * window.c (Frecenter): With arg, set optional_new_start.
8313
8314 * xdisp.c (redisplay_internal): Make optional_new_start really work.
8315
8316 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
8317 buffer for completion.
8318
83192002-06-29 Ken Raeburn <raeburn@gnu.org>
8320
8321 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
8322
83232002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8324
8325 * keyboard.c (readable_filtered_events): New function that filters
8326 FOCUS_IN_EVENT depending on parameter.
8327 (readable_events): Calls readable_filtered_events, not filtering
8328 FOCUS_IN_EVENT.
8329 (get_filtered_input_pending): New function, filtering parameter passed
8330 to readable_filtered_events.
8331 (get_input_pending): Calls get_filtered_input_pending, not filtering
8332 FOCUS_IN_EVENT.
8333 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
8334 FOCUS_IN_EVENT.
8335
8336 * xterm.h (struct x_output): Add focus_state.
8337
8338 * xterm.c (x_focus_changed): New function.
8339 (x_detect_focus_change): New function.
8340 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
8341 EnterNotify and LeaveNotify to track X focus changes.
8342
83432002-06-28 Andreas Schwab <schwab@suse.de>
8344
8345 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
8346
83472002-06-27 Kim F. Storm <storm@cua.dk>
8348
8349 * xdisp.c: (mode_line_string_list, mode_line_string_face)
8350 (mode_line_string_face_prop): New variables.
8351 (store_mode_line_string): New function.
8352 (display_mode_element): Use store_mode_line_string to
8353 add mode-line string elements to mode_line_string_list
8354 when mode_line_string_list is non-nil.
8355 (Fformat_mode_line): Now returns propertized string by
8356 default. New arg NO-PROPS to ignore properties.
8357 (decode_mode_spec): Only add two dashes for %- in propertized
8358 mode-line string.
8359 (syms_of_xdisp): Init and staticpro mode_line_string_list.
8360
83612002-06-27 Stefan Monnier <monnier@cs.yale.edu>
8362
8363 * minibuf.c (minibuffer_completion_contents): Add return type.
8364
83652002-06-27 Juanma Barranquero <lektu@terra.es>
8366
8367 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
8368
83692002-06-26 Juanma Barranquero <lektu@terra.es>
8370
8371 * fileio.c (read_file_name_cleanup): Add missing return.
8372
83732002-06-26 Richard M. Stallman <rms@gnu.org>
8374
8375 * window.c (Frecenter): Don't set force_start flag.
8376
8377 * minibuf.c (do_completion, Fminibuffer_complete_word)
8378 (Fminibuffer_completion_help): Complete just the text before point.
8379 (minibuffer_completion_contents): New function.
8380
8381 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
8382
8383 * frame.c (frames_bury_buffer): Function deleted.
8384
83852002-06-25 Miles Bader <miles@gnu.org>
8386
8387 * callint.c (Fcall_interactively): When checking to see if doprnt hit
8388 the end of callint_message, allow for a terminating '\0'.
8389
83902002-06-24 Juanma Barranquero <lektu@terra.es>
8391
8392 * w32select.c: Include composite.h
8393
8394 * w16select.c: Likewise.
8395
83962002-06-24 Kenichi Handa <handa@etl.go.jp>
8397
8398 * callproc.c (Fcall_process): If code detection is necessary,
8399 call detect_coding directly here.
8400
8401 * coding.c (detect_eol): Preserve coding->cmp_data.
8402
8403 * w16select.c (Fw16_get_clipboard_data):
8404 * w32fns.c (w32_to_x_font):
8405 * w32select.c (Fw32_get_clipboard_data):
8406 * xselect.c (selection_data_to_lisp_data):
8407 * xterm.c (XTread_socket): Disable composition handling.
8408
84092002-06-24 Stefan Monnier <monnier@cs.yale.edu>
8410
8411 * print.c (temp_output_buffer_setup): Kill all local variables.
8412
84132002-06-22 Stefan Monnier <monnier@cs.yale.edu>
8414
8415 * lread.c (Fread): Remove redundant and imprecise declaration.
8416
8417 * xfns.c (check_x_display_info): Use check_x_frame.
8418
8419 * .gdbinit (xprintsym): Use the new `xname' field.
8420 (xsymbol): Use it.
8421
84222002-06-22 Jason Rumney <jasonr@gnu.org>
8423
8424 * w32fns.c (file_dialog_callback): New function.
8425 (Fx_file_dialog): Allow selecting directories as well as files.
8426
84272002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8428
8429 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
8430 OpenBSD. Add support for mipseb-*-netbsd* machines.
8431
84322002-06-17 Andrew Choi <akochoi@shaw.ca>
8433
8434 * macterm.c (mac_scroll_area): Set foreground and backcolor to
8435 black and white before scrolling. Restore frame background and
8436 foreground color after scrolling.
8437 (do_window_update): Call XClearWindow before calling expose_frame.
8438 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
8439 FRAME_FOREGROUND_PIXEL of frame.
8440
8441 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
8442 test Mac command key as <ALT> key.
8443
84442002-06-17 Stefan Monnier <monnier@cs.yale.edu>
8445
8446 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
8447
8448 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
8449 Lookup keys in function-key-map immediately so that key-translation-map
8450 can be applied earlier.
8451 Remove function_key_possible and key_translation_possible, replaced
8452 by checking `keytran_start < t'.
8453
8454 * .gdbinit (xsymbol): Use the new `xname' field.
8455
84562002-06-17 Andrew Choi <akochoi@shaw.ca>
8457
8458 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
8459 test Mac command key as <ALT> key.
8460
8461 * mac.c (do_applescript): Call initialize_applescript if necessary
8462 when first called. Dispose of result_desc only when there is no error.
8463 (Fdo_applescript): Use %d format specifier instead of %ld.
8464
84652002-06-16 Andrew Choi <akochoi@shaw.ca>
8466
8467 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
8468 of FrontWindow for cases keyDown and autoKey.
8469
8470 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
8471 Vdefault_fontset to Monaco with mac-roman coding.
8472
8473 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
8474 init_process before and after inclusion of Carbon/Carbon.h, resp.
8475
8476 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
8477 cursor_gc.
8478 (add_font_name_table_entry): New function.
8479 (init_font_name_table): Use add_font_name_table_entry; add italic,
8480 bold, and bold-italic entries for truetype fonts.
8481
8482 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
8483 for Mac too.
8484 (try_font_list) [MAC_OS]: If no font matches given registry, try
8485 fonts with any registry matching face_family.
8486 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
8487
8488 * s/darwin.h: If autoconf detects the Ncurses library, define
8489 LIBS_TERMCAP to -lncurses to use it.
8490
84912002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
8492
8493 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
8494
84952002-06-15 Richard M. Stallman <rms@gnu.org>
8496
8497 * window.c (Fset_window_configuration): Explicitly preserve
8498 the point value that new_current_buffer had at the start.
8499
85002002-06-14 Juanma Barranquero <lektu@terra.es>
8501
8502 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
8503 Fix typos.
8504
85052002-06-14 Kim F. Storm <storm@cua.dk>
8506
8507 * insdel.c (insert_1_both, insert_from_string_1)
8508 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
8509 insert happened in the end_unchanged region. Otherwise, the
8510 redisplay may be confused and duplicate the last line in the
8511 buffer [seen after save-buffer when require-final-newline==t].
8512
85132002-06-13 Jason Rumney <jasonr@gnu.org>
8514
8515 * w32.c (init_environment): Remove EMACSLOCKDIR.
8516 (stat): Swap _S_IFDIR and _S_IFREG.
8517
85182002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8519
8520 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
8521 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
8522 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
8523 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
8524 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
8525 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
8526 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
8527 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
8528 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
8529 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
8530 SELECTION_REQUEST_EVENT, selection_clear_event to
8531 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
8532 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
8533 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
8534 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
8535 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
8536 no_event to NO_EVENT.
8537
85382002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8539
8540 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
8541
85422002-06-12 Stefan Monnier <monnier@cs.yale.edu>
8543
8544 * intervals.c (textget): Don't forget to `return'.
8545 (lookup_char_property): Use XCAR/XCDR.
8546
85472002-06-12 Juanma Barranquero <lektu@terra.es>
8548
8549 * xdisp.c (Fformat_mode_line): Fix typo.
8550
85512002-06-12 Kim F. Storm <storm@cua.dk>
8552
8553 * xdisp.c (Fformat_mode_line): New function.
8554 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
8555 (store_frame_title_char, store_frame_title): Use unconditionally.
8556 (init_xdisp): Defsubr Fformat_mode_line.
8557 Initialize frame_title_buf etc. unconditionally.
8558
85592002-06-11 Stefan Monnier <monnier@cs.yale.edu>
8560
8561 * keyboard.c (read_key_sequence):
8562 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
8563 things through those maps after downcasing events.
8564 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
8565 applies after function-key-map.
8566 Make sure that keytran can be done in the middle in the sequence.
8567 Be careful not to throw away events past the one we downcase.
8568
8569 * lread.c (read_integer): Remove unused var `tem'.
8570 (read1): Fix int/Lisp_Object mixup.
8571
8572 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
8573
85742002-06-11 Richard M. Stallman <rms@gnu.org>
8575
8576 * keyboard.c (readable_events): Ignore any number of
8577 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
8578
85792002-06-09 Miles Bader <miles@gnu.org>
8580
8581 * xfaces.c (Ftty_supports_face_attributes_p): New function.
8582 (parse_rgb_list, tty_lookup_color): New functions.
8583 (tty_defined_color): Use `tty_lookup_color' to do all the work.
8584 (color_distance, Fcolor_distance): New functions.
8585 (TTY_SAME_COLOR_THRESHOLD): New macro.
8586 (Qtty_color_standard_values): New variable.
8587 (syms_of_xfaces): Initialize new vars & functions.
8588
85892002-06-08 Colin Walters <walters@verbum.org>
8590
8591 * textprop.c (Vchar_property_alias_alist): New variable.
8592 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
8593
8594 * intervals.c (lookup_char_property): New function for looking up
8595 overlay and text properties, created from textget.
8596 (textget): Use it.
8597
8598 * intervals.h (lookup_char_property): Declare.
8599 (Vchar_property_alias_alist): Declare.
8600
8601 * buffer.c (Foverlay_get): Use lookup_char_property.
8602
86032002-06-07 Sam Steingold <sds@gnu.org>
8604
8605 * xselect.c (lisp_data_to_selection_data): Fix last change:
8606 *data_ret is not a Lisp string, while unibyte_string is.
8607
86082002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
8609
8610 * xselect.c (lisp_data_to_selection_data): Fix last change:
8611 set size_ret.
8612
86132002-06-07 Andreas Schwab <schwab@suse.de>
8614
8615 * m/amdx86-64.h: New file.
8616
86172002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
8618
8619 * fns.c (Fstring_make_unibyte): Doc fix.
8620
8621 * xselect.c (lisp_data_to_selection_data): If the requested type
8622 is STRING, call string_make_unibyte to encode the selected text
8623 as a string.
8624
8625 * window.c (Fset_window_hscroll): Doc fix.
8626
86272002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8628
8629 * fileio.c (choose_write_coding_system):
8630 Call select-safe-coding-system properly.
8631
86322002-06-03 Richard M. Stallman <rms@gnu.org>
8633
8634 * xdisp.c (message_with_string): Error if STRING is not a string.
8635
8636 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
8637
8638 * fileio.c (choose_write_coding_system): Pass FILE arg to
8639 Vselect_safe_coding_system_function.
8640
86412002-06-03 Ken Raeburn <raeburn@gnu.org>
8642
8643 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
8644
86452002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
8646
8647 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
8648 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
8649 * keymap.c (describe_command): Likewise.
8650 * minibuf.c (read_minibuf): Likewise.
8651
8652 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
8653 Cast `current_column' return value to int.
8654 (back_to_previous_visible_line_start)
8655 (reseat_at_next_visible_line_start, next_element_from_buffer):
8656 Cast `indented_beyond_p' 3rd arg to float.
8657
8658 * indent.c (last_known_column): Now a float.
8659 (current_column_1, position_indentation, current_column)
8660 (string_display_width): Return float.
8661 (Fcurrent_column): Cast `current_column' return value to int.
8662 (Fcurrent_indentation): Cast `position_indentation' retval to int.
8663 (indented_beyond_p): Third arg now a float.
8664 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
8665
8666 * lisp.h (current_column): Now returns float.
8667 (indented_beyond_p): 3rd arg now a float.
8668
86692002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
8670
8671 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
8672 is Qcompound_text_with_extensions.
8673
8674 * xselect.c (lisp_data_to_selection_data): Always set selection
8675 type as string if x_encode_text returns streingp non-NULL.
8676
8677 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
8678
86792002-05-30 Richard M. Stallman <rms@gnu.org>
8680
8681 * window.c (Fset_window_configuration): Correct the handling
8682 of point in current buffer, to work with multiple windows.
8683
86842002-05-29 Colin Walters <walters@verbum.org>
8685
8686 * lread.c (Fread_from_string): Don't depend on order of evaluation
8687 for C function parameters.
8688
86892002-05-28 Richard M. Stallman <rms@gnu.org>
8690
8691 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
8692 way for blinked-off state and for a nonselected window.
8693
8694 * window.c (window_scroll_pixel_based): Don't call Fbolp;
8695 instead, see if the new start pos is at beginning of line.
8696
8697 * fileio.c (Fwrite_region): If START is a string, don't
8698 make any annotations.
8699
8700 * eval.c (syms_of_eval): Doc fix.
8701
87022002-05-28 Colin Walters <walters@debian.org>
8703
8704 * emacs.c (USAGE1): Add --no-splash.
8705 (standard_args): Ditto.
8706
87072002-05-28 Colin Walters <walters@gnu.org>
8708
8709 * lread.c (readchar_count): New variable.
8710 (readchar): Increment it.
8711 (unreadchar): Decrement it.
8712 (read_multibyte): Decrement it.
8713 (Vread_with_symbol_positions): New variable.
8714 (Vread_symbol_positions_list): New variable.
8715 (read_internal_start): New function, created from Fread and
8716 Fread_from_string. Handle Vread_symbol_positions_list and
8717 Vread_with_symbol_positions.
8718 (readevalloop, Fread, Fread_from_string): Use it.
8719 (read1): Use readchar_count to add symbol positions to
8720 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
8721 (syms_of_lread): DEFVAR_LISP and initialize them.
8722
8723 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
8724 (substitute_object_recurse, substitute_object_in_subtree)
8725 (substitute_in_interval): Prototype.
8726 (read_multibyte): Return c if it's less than zero.
8727
87282002-05-28 Kim F. Storm <storm@cua.dk>
8729
8730 * fileio.c (Fread_file_name_internal): Added brute-force
8731 speed up for using predicate file-directory-p.
8732
87332002-05-28 Kim F. Storm <storm@cua.dk>
8734
8735 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
8736 New variables.
8737 (syms_of_fileio): DEFVAR_LISP them.
8738 (read_file_name_cleanup): New unwind function.
8739 (Fread_file_name_internal): Only return completions satifying
8740 Vread_file_name_predicate. Temporarily unwind protect and rebind
8741 default-directory while checking completions against the predicate.
8742 (Fread_file_name): Added PREDICATE argument. Specbind it to
8743 Vread_file_name_predicate during completion.
8744 Call Vread_file_name_function to read the file name if non-nil.
8745
8746 * lisp.h (Fread_file_name): Now has 6 args.
8747
8748 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
8749 predicate for Fread_file_name when reading directory name.
8750 Supply Qnil for predicate in other calls to Fread_file_name.
8751
87522002-05-26 Miles Bader <miles@gnu.org>
8753
8754 * term.c (tty_capable_p): New function.
8755 * dispextern.h (tty_capable_p): New function declaration.
8756 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
8757 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
8758
87592002-05-23 Stefan Monnier <monnier@cs.yale.edu>
8760
8761 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
8762 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
8763 (Vwrite_region_annotate_functions): Docstring fix.
8764
87652002-05-23 Kim F. Storm <storm@cua.dk>
8766
8767 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
8768 phys_cursor's hpos is overwritten. This is still not completely
8769 correct, as it doesn't really make sense to use hpos at all to
8770 get the cursor glyph (as that is relative to the width of the
8771 characters on the line, which may have changed during the update).
8772
87732002-05-22 Jason Rumney <jasonr@gnu.org>
8774
8775 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
8776 Lisp_Object.
8777 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
8778 Use modified enumfont_t struct.
8779
8780 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
8781
8782 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
8783 Handle the `hbar' cursor type.
8784 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
8785
8786 * w32fns.c (Qhbar): New variable.
8787 (x_specified_cursor_type): Use it.
8788
87892002-05-21 Ken Raeburn <raeburn@gnu.org>
8790
8791 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
8792 now, when the address is needed.
8793
87942002-05-21 Colin Walters <walters@gnu.org>
8795
8796 * Makefile.in (shortlisp): Add font-core.el.
8797
87982002-05-20 Richard M. Stallman <rms@gnu.org>
8799
8800 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
8801
8802 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
8803 equivalent key bindings here.
8804
88052002-05-20 Ken Raeburn <raeburn@gnu.org>
8806
8807 Change symbol structure to contain a lisp object for the symbol
8808 name:
8809 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
8810 object field named "xname".
8811 (SYMBOL_NAME): New macro.
8812 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
8813 name field.
8814 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
8815 (mark_object, gc_sweep): Use symbol xname field and XSTRING
8816 instead of name field.
8817 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
8818 SYMBOL_NAME instead of XSYMBOL and name field.
8819 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
8820 instead of XSYMBOL and name field.
8821 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
8822 and SYMBOL_NAME instead of XSYMBOL and name field.
8823 * coding.c (Fread_coding_system, code_convert_region1)
8824 (code_convert_string1, code_convert_string_norecord)
8825 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
8826 XSYMBOL and name field.
8827 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
8828 (Fmake_variable_buffer_local, Fmake_local_variable)
8829 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
8830 of XSYMBOL and name field.
8831 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
8832 XSYMBOL and name field.
8833 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
8834 instead of XSYMBOL and name field.
8835 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
8836 XSYMBOL and name field.
8837 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
8838 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
8839 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
8840 instead of XSYMBOL and name field.
8841 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
8842 (parse_modifiers, apply_modifiers, Fevent_convert_list)
8843 (parse_solitary_modifier, Fexecute_extended_command):
8844 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
8845 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
8846 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
8847 of XSYMBOL and name field.
8848 (describe_command, describe_translation): Use SYMBOL_NAME and
8849 assignment instead of XSYMBOL and name field and XSETSTRING.
8850 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
8851 instead of XSYMBOL and name field.
8852 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
8853 name field and XSETSTRING.
8854 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
8855 of XSYMBOL and name field.
8856 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
8857 assignment instead of XSYMBOL and name field and XSETSTRING.
8858 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
8859 XSTRING instead of XSYMBOL and name field.
8860 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
8861 and XSTRING instead of XSYMBOL and name field.
8862 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
8863 and XSTRING instead of XSYMBOL and name field.
8864 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
8865 XSTRING instead of XSYMBOL and name field.
8866 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
8867 of XSYMBOL and name field.
8868 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
8869 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
8870
88712002-05-19 Ken Raeburn <raeburn@gnu.org>
8872
8873 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
8874 and XCDR real rvalues in most configurations.
8875
8876 * buffer.c (fix_overlays_in_range, fix_overlays_before):
8877 Don't take the address of the cdr part of a cons cell; instead, track
8878 the parent cell and call XSETCDR, or set the variable for the head
8879 of the list if we haven't started down the list yet.
8880
88812002-05-19 Richard M. Stallman <rms@gnu.org>
8882
8883 * doc.c (reread_doc_file): Don't ask for confirmation.
8884
88852002-05-18 Jason Rumney <jasonr@gnu.org>
8886
8887 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
8888 (xbm_load_image): Use it.
8889 (xbm_load): Ditto.
8890 (xbm_read_bitmap_data): Reverted to xfns.c version.
8891 From David Ponce <david@dponce.com>.
8892
88932002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
8894
8895 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
8896 2.02 and later.
8897
88982002-05-16 Juanma Barranquero <lektu@terra.es>
8899
8900 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
8901
89022002-05-15 Stefan Monnier <monnier@cs.yale.edu>
8903
8904 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
8905 meaningful test.
8906 (read_char_minibuf_menu_prompt): Fix typo.
8907
89082002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8909
8910 * eval.c (Fcommandp): Doc fix.
8911
89122002-05-13 Stefan Monnier <monnier@cs.yale.edu>
8913
8914 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
8915 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
8916 (Fset_keymap_parent): Gcpro a bit more.
8917 (access_keymap): Gcpro around meta_map call and around the main loop.
8918 (get_keyelt): Gcpro when following indirect references.
8919 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
8920 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
8921 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
8922 Remove useless ad-hoc remap code.
8923
89242002-05-13 Richard M. Stallman <rms@gnu.org>
8925
8926 * search.c (search_buffer): Give up boyer moore search if inverse
8927 translation change charset_base.
8928
89292002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
8930
8931 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
8932 characters is carried over from the previous block of text, adjust
8933 coding->produced to account for the extra character.
8934
89352002-05-11 Andreas Schwab <schwab@suse.de>
8936
8937 * coding.c (intersection): Keep the elements of the returned list
8938 in the same order as in the first list.
8939
89402002-05-11 Kim F. Storm <storm@cua.dk>
8941
8942 * keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
8943 only update cmm_size if realloc actually succeeds.
8944 Testing with initial size of 2 elements revealed that using
8945 realloc on GNU/Linux would cause a random trap in xmalloc
8946 later on, so I rewrote the code to use malloc/bcopy/free instead
8947 of realloc.
8948
89492002-05-10 Jason Rumney <jasonr@gnu.org>
8950
8951 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
8952
89532002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
8954
8955 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
8956 parens, to ensure correct evaluation order.
8957
89582002-05-10 Kim F. Storm <storm@cua.dk>
8959
8960 * keymap.c (Vemulation_mode_map_alists): New variable.
8961 (syms_of_keymap): DEFVAR_LISP it.
8962 (current_minor_maps): Process keymap alists in that list before
8963 minor-mode-overriding-map-alist and minor-mode-map-alist.
8964
89652002-05-09 Richard M. Stallman <rms@gnu.org>
8966
8967 * search.c (Freplace_match): Doc fix.
8968
89692002-05-09 Kim F. Storm <storm@cua.dk>
8970
8971 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
8972 Enlarge cursor rectangle drawn around image with non-zero relief.
8973
8974 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
8975 Enlarge cursor rectangle drawn around image with non-zero relief.
8976
8977 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
8978 Enlarge cursor rectangle drawn around image with non-zero relief.
8979
89802002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
8981
8982 * xselect.c (lisp_data_to_selection_data): Don't set selection
8983 type if comes from the Lisp object's car. If the selection
8984 contains a pure ASCII text, always return QSTRING as its type.
8985
89862002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8987
8988 * mac.c (mac-cut-function): Doc fix.
8989
89902002-05-05 Richard M. Stallman <rms@gnu.org>
8991
8992 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
8993
89942002-05-04 Jason Rumney <jasonr@gnu.org>
8995
8996 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
8997 for event-click-count.
8998
8999 * process.c (init_process): Only add server subfeature if we can
9000 use non-blocking I/O.
9001
90022002-05-04 Andrew Choi <akochoi@shaw.ca>
9003
9004 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
9005 repeatedly.
9006
90072002-05-03 Jason Rumney <jasonr@gnu.org>
9008
9009 * process.c (Fmake_network_process): Only support server sockets
9010 when we can make them non-blocking.
9011
9012 * s/ms-w32.h (HAVE_SELECT): Define.
9013
9014 * w32.h (FILE_NDELAY): New flag.
9015
9016 * w32.c (sys_getpeername, fcntl): New functions.
9017 (_sys_read_ahead): Temporarily block on non-blocking sockets.
9018
9019 * w32proc.c: include sys/file.h.
9020
90212002-05-03 Colin Walters <walters@verbum.org>
9022
9023 * callproc.c (Vgame_score_directory): Renamed to
9024 Vshared_game_score_directory.
9025
90262002-04-30 Richard M. Stallman <rms@gnu.org>
9027
9028 * s/gnu.h [emacs]: Include stdio.h.
9029 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
9030
9031 * eval.c (do_autoload): Error if called while preparing to dump.
9032
9033 * fns.c (Frequire): Error if need to load while preparing to dump.
9034
90352002-04-28 Colin Walters <walters@verbum.org>
9036
9037 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
9038 Default to "~/.emacs.d/games".
9039
90402002-04-29 Stefan Monnier <monnier@cs.yale.edu>
9041
9042 * lread.c (openp): Change arg exec_only to predicate.
9043 (build_load_history): Use XCAR/XCDR.
9044 (Flocate_file_internal): New fun.
9045 (syms_of_lread): Defsubr it.
9046 (Fload): Update call to openp.
9047
9048 * lisp.h (openp): Update prototype.
9049
9050 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
9051 * w32proc.c (sys_spawnve):
9052 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
9053 * w32.c (check_windows_init_file):
9054 * sound.c (Fplay_sound_internal):
9055 * process.c (Fstart_process):
9056 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
9057 * mac.c (run_mac_command):
9058 * emacs.c (init_cmdargs):
9059 * callproc.c (Fcall_process): Update call to openp.
9060
9061 * textprop.c (remove_properties): Don't use XCAR without CONSP.
9062
9063 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
9064
90652002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9066
9067 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
9068 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
9069
90702002-04-28 Richard M. Stallman <rms@gnu.org>
9071
9072 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
9073
9074 * eval.c (Fcommandp): New arg for_call_interactively.
9075 * lisp.h (Fcommandp): Declare new arg.
9076
90772002-04-28 Jason Rumney <jasonr@gnu.org>
9078
9079 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
9080
9081 * w32.c (stat, fstat): Use file index information to generate
9082 inodes for directories where available.
9083
90842002-04-26 Andrew Choi <akochoi@shaw.ca>
9085
9086 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
9087 [HAVE_CARBON]: Include Mac object files.
9088
9089 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
9090 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
9091 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
9092 MAC_OSX, and MAC_OS instead of macintosh.
9093
9094 * editfns.c [MAC_OS8]: Include stdio.h.
9095
9096 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
9097
9098 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
9099 Apple Monaco.
9100
9101 * process.c: Declare QCfamily and QCfilter as extern.
9102 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
9103 calling select.
9104
9105 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
9106
9107 * tparam.c [MAC_OSX]: Don't define BC and UP.
9108
9109 * config.in [HAVE_CARBON]: Add.
9110
9111 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
9112 Move here from mac/src and mac/inc.
9113
9114 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
9115
91162002-04-26 Gerd Moellmann <gerd@gnu.org>
9117
9118 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
9119 Compute phys_cursor_width from the x position returned
9120 by x_draw_glyhs, which is cheaper.
9121 (x_display_and_set_cursor): Compute the buffer-local value
9122 of `cursor-in-non-selected-windows' only when needed.
9123
91242002-04-25 Gerd Moellmann <gerd@gnu.org>
9125
9126 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
9127 cursor on a stretch glyph has a width that depends on
9128 x_stretch_cursor_p.
9129
91302002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9131
9132 * abbrev.c (abbrev-start-location): Doc fix.
9133
9134 * indent.c (Fvertical_motion): Fix last change.
9135
91362002-04-25 Gerd Moellmann <gerd@gnu.org>
9137
9138 * indent.c (Fvertical_motion): Move to the start of the line
9139 containing PT before moving up or down.
9140
91412002-04-24 Gerd Moellmann <gerd@gnu.org>
9142
9143 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
9144 case of writing a whole row, more or less analogous to the case of
9145 writing only parts of a row.
9146
9147 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
9148 0 for NO_CURSOR.
9149
9150 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
9151
91522002-04-23 Colin Walters <walters@verbum.org>
9153
9154 * buffer.c (syms_of_buffer): Doc fix.
9155
91562002-04-23 Gerd Moellmann <gerd@gnu.org>
9157
9158 * xterm.c (notice_overwritten_cursor): Handle the special case
9159 of the cursor being in the first blank non-text line at the
9160 end of a window.
9161
9162 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
9163 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
9164 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
9165 bar cursors only, to make phys_cursor_width contain what its name
9166 suggests.
9167 (notice_overwritten_cursor): Consider the cursor image erased if
9168 the output area intersects the cursor image in y-direction.
9169
91702002-04-23 Simon Marshall <simon@gnu.org>
9171
9172 * xfns.c (x_set_mouse_color): Change default for cross_cursor
9173 to XC_hand2.
9174
91752002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9176
9177 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
9178
91792002-04-22 Kim F. Storm <storm@cua.dk>
9180
9181 * textprop.c (remove_properties): Fixed trap for malformed plist.
9182
91832002-04-22 Richard M. Stallman <rms@gnu.org>
9184
9185 * cmds.c (Fend_of_line): Handle intangible text in mid line.
9186
9187 * window.c (make_window): Initialize height_fixed_p,
9188 last_cursor_off_p, and p->cursor_off_p slots.
9189
91902002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9191
9192 * fns.c (use-dialog-box): Doc fix.
9193
91942002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9195
9196 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
9197 variables `row', `i' and `area'.
9198 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
9199 toolkit library.
9200
92012002-04-19 Stefan Monnier <monnier@cs.yale.edu>
9202
9203 * xfaces.c (clear_font_table): Don't free the default font of
9204 a frame even if it's on another display.
9205 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
9206 that could be Qt.
9207
92082002-04-19 Juanma Barranquero <lektu@terra.es>
9209
9210 * indent.c (Fmove_to_column): Remove unused local variable
9211 `next_boundary_byte'.
9212 (current_column_1): Likewise.
9213
92142002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
9215
9216 * msdos.c (Qhbar): New variable.
9217 (syms_of_msdos): Intern and staticpro it.
9218 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
9219 cursor type.
9220
92212002-04-19 Dave Lambert <dlambert@acm.org>
9222
9223 Theses change implement an underscore-like (`hbar') cursor.
9224
9225 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
9226
9227 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
9228 Handle the `hbar' cursor type.
9229 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
9230
9231 * xfns.c (Qhbar): New variable.
9232 (syms_of_xfns): Intern and staticpro it.
9233 (x_specified_cursor_type): Handle `hbar' cursor.
9234
9235 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
9236 not defined.
9237
92382002-04-18 Richard M. Stallman <rms@gnu.org>
9239
9240 * textprop.c (remove_properties): New arg LIST allows scanning
9241 either a list or a plist.
9242 (interval_has_some_properties_list): New function, like
9243 interval_has_some_properties using list instead of plist.
9244 All callers changed.
9245 (Fremove_list_of_text_properties): New function.
9246 (syms_of_textprop): Defsubr it.
9247
92482002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
9249
9250 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
9251
92522002-04-17 Juanma Barranquero <lektu@terra.es>
9253
9254 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
9255
92562002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
9257
9258 * window.c (coordinates_in_window): Don't report on margin area
9259 if its width is zero.
9260
92612002-04-16 Jason Rumney <jasonr@gnu.org>
9262
9263 * w32fns.c (Fx_file_dialog): Decode file name before using.
9264
9265 * w32term.c (construct_drag_n_drop): Likewise.
9266
92672002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
9268
9269 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
9270 store load-history in pure space.
9271
9272 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
9273
92742002-04-16 Stefan Monnier <monnier@cs.yale.edu>
9275
9276 * xterm.c (Qlatin_1, Qutf_8): New vars.
9277 (syms_of_xterm): Initialize them.
9278 (XTread_socket): Eliminate incorrect optimization that tried to avoid
9279 decoding the output of X*LookupString.
9280 Always use latin-1 to decode the output of XLookupString.
9281 Try Xutf8LookupString if XmbLookupString failed.
9282
9283 * region-cache.c (new_region_cache): Use BEG.
9284
92852002-04-16 Gerd Moellmann <gerd@gnu.org>
9286
9287 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
9288 configuration files.
9289 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
9290 returns 0.
9291
92922002-04-15 Andreas Schwab <schwab@suse.de>
9293
9294 * config.in: Regenerated using autoheader.
9295
9296 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
9297 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
9298 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
9299 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
9300 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
9301 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
9302 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
9303 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
9304 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
9305 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
9306 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
9307 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
9308 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
9309 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
9310 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
9311 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
9312 STACK_DIRECTION, now set by autoconf.
9313
93142002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9315
9316 * dispnew.c (marginal_area_string): Sort arguments.
9317
9318 * dispextern.h (marginal_area_string): Add prototype.
9319
93202002-04-13 Richard M. Stallman <rms@gnu.org>
9321
9322 * fileio.c (Finsert_file_contents):
9323 Don't call temp_output_buffer_setup--do just part, by hand.
9324
9325 * coding.c (run_pre_post_conversion_on_str):
9326 Don't call temp_output_buffer_setup--do just part, by hand.
9327
9328 * keyboard.c (command_loop_1): Don't call start_hourglass
9329 or cancel_hourglass when executing a macro.
9330
9331 * marker.c (count_markers): New function.
9332
9333 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
9334 grow without limit. Move recently used elements to the front.
9335
93362002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9337
9338 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
9339
93402002-04-12 Gerd Moellmann <gerd@gnu.org>
9341
9342 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
9343 rows marginal areas.
9344 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
9345 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
9346
9347 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
9348
93492002-04-12 Dave Love <fx@gnu.org>
9350
9351 * dispnew.c (marginal_area_string): New.
9352
9353 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
9354 (Qleft_margin, Qright_margin): Declare.
9355 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
9356
9357 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
9358 note_mode_line_highlight and extended.
9359
9360 * keyboard.c (Qleft_margin, Qright_margin): Declare.
9361 (make_lispy_event): Deal with mouse events in margins.
9362
93632002-04-12 Stefan Monnier <monnier@cs.yale.edu>
9364
9365 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
9366
9367 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
9368 than deactivating the mark if tmm is set to `lambda'.
9369 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
9370 Use a single event for HELP_EVENT.
9371 (Fexecute_extended_command): Save last_point_position.
9372
93732002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9374
9375 * lisp.h (Fpropertize): Add prototype.
9376
9377 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
9378
93792002-04-10 Colin Walters <walters@verbum.org>
9380
9381 * config.in: Add HAVE_SHARED_GAME_DIR.
9382
9383 * callproc.c: (Vgame_score_directory): New variable.
9384 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
9385
93862002-04-10 Richard M. Stallman <rms@gnu.org>
9387
9388 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
9389
93902002-04-09 Stefan Monnier <monnier@cs.yale.edu>
9391
9392 * minibuf.c (read_minibuf): Use empty_string.
9393 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
9394 Short-circuit the search as soon as it "failed".
9395 (Fall_completions): Allow lambda forms and lists of strings for alist.
9396 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
9397 when require_match is nil.
9398 (Ftest_completion): Rename from `test_completion' and export to elisp.
9399 Call the predicate also when alist is a list.
9400 Obey Vcompletion_regexp_list.
9401 (do_completion, Fminibuffer_complete_and_exit): Use it.
9402 (Fassoc_string): Rename from `assoc_for_completion'.
9403 Allow list of strings as well and export to elisp.
9404
94052002-04-08 Stefan Monnier <monnier@cs.yale.edu>
9406
9407 * puresize.h (BASE_PURESIZE): Increase to 900KB.
9408
94092002-04-08 Juanma Barranquero <lektu@terra.es>
9410
9411 * w32.c (sys_accept): Don't hide variable `s'.
9412
94132002-04-05 Gerd Moellmann <gerd@gnu.org>
9414
9415 * callint.c (Fcall_interactively): Use INTEGERP instead of
9416 NUMBERP for checking Vhistory_length.
9417
94182002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9419
9420 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
9421 Doc fix to reflect it.
9422
94232002-04-04 Richard M. Stallman <rms@gnu.org>
9424
9425 * xdisp.c (display_mode_element): New arg RISKY.
9426 Disregard text props found or specified within a variable
9427 that isn't marked risky-local-variable.
9428 (Qrisky_local_variable): New variable.
9429 (syms_of_xdisp): Init and staticpro it.
9430
94312002-04-04 Stefan Monnier <monnier@cs.yale.edu>
9432
9433 * undo.c (record_point): New fun.
9434 (record_delete, record_insert): Use it.
9435
94362002-04-03 Juanma Barranquero <lektu@terra.es>
9437
9438 * doc.c (Fdocumentation): Add missing parentheses.
9439 (Fdocumentation_property): Likewise.
9440
94412002-04-03 Stefan Monnier <monnier@cs.yale.edu>
9442
9443 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
9444 data is 0, just return nil.
9445
94462002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
9447
9448 * msdos.c (syms_of_msdos): Fix last change with
9449 mouse_autoselect_window.
9450
94512002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9452
9453 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
9454 mouse_autoselect_window.
9455
94562002-04-02 Stefan Monnier <monnier@cs.yale.edu>
9457
9458 * keyboard.c (make_lispy_event): Handle unknown keysyms together
9459 with system-specific keysyms. Use it also for unknown function keys.
9460
9461 * doc.c (reread_doc_file): Return whether reload was attempted.
9462 (Fdocumentation, Fdocumentation_property): Don't try to reload
9463 if the doc is 0 and only ask once.
9464
9465 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
9466
94672002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
9468
9469 * keyboard.c (read_char): If the event was Qselect_window,
9470 restore timer_idleness_start_time to its previous value.
9471
9472 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
9473
94742002-04-01 Stefan Monnier <monnier@cs.yale.edu>
9475
9476 * region-cache.c (new_region_cache): Use BEG.
9477
9478 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
9479 Use BEG and BEG_BYTE.
9480
9481 * doc.c (get_doc_string): Return nil if the location is wrong.
9482 (reread_doc_file): New fun.
9483 (Fdocumentation, Fdocumentation_property):
9484 Call it if get_doc_string fails.
9485 (Fsnarf_documentation): Make it work for a dumped Emacs.
9486
9487 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
9488 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
9489
9490 * charset.c (Fstring): Allow 0 arguments.
9491
9492 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
9493
9494 * process.c (DATAGRAM_CONN_P, list_processes_1)
9495 (Fprocess_datagram_address, Fset_process_datagram_address)
9496 (Fset_network_process_options, server_accept_connection):
9497 Fix some int/Lisp_Object confusions (thank you union types).
9498
94992002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9500
9501 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
9502
9503 * w32term.c: Likewise.
9504 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
9505
9506 * keyboard.c (Qselect_window): New symbol.
9507 (head_table): Use it.
9508 (keys_of_keyboard): Bound select-window event to handle-select-window.
9509 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
9510
9511 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
9512 (last_window): New variable.
9513 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
9514 (note_mouse_movement): Remove reimplemented code in #if 0.
9515 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
9516 Emacs windows.
9517
9518 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
9519
95202002-03-31 Gerd Moellmann <gerd@gnu.org>
9521
9522 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
9523 Callers changed.
9524
95252002-03-30 Richard M. Stallman <rms@gnu.org>
9526
9527 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
9528 loop whenever it stops making progress.
9529
9530 * widget.c (set_frame_size): Don't call change_frame_size.
9531
95322002-03-30 Gerd Moellmann <gerd@gnu.org>
9533
9534 * dispnew.c (direct_output_for_insert):
9535 Call mark_window_display_accurate.
9536
95372002-03-29 Jason Rumney <jasonr@gnu.org>
9538
9539 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
9540
95412002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
9542
9543 * Makefile.in (lread.o): Depend on coding.h.
9544
9545 * lread.c (openp, Fload): Encode the file name before passing it
9546 to `stat', `access', and `emacs_open'.
9547 (openp): GCPRO the encoded file name. Don't recompute Lisp
9548 strings unnecessarily.
9549
95502002-03-29 Kim F. Storm <storm@cua.dk>
9551
9552 * fns.c (Flax_plist_put): Doc fix.
9553
95542002-03-28 Miles Bader <miles@gnu.org>
9555
9556 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
9557
95582002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9559
9560 * process.c (set-network-process-options): Add usage.
9561 (make-network-process): Doc fix.
9562
95632002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
9564
9565 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
9566
95672002-03-26 Richard M. Stallman <rms@gnu.org>
9568
9569 * fns.c (Fsubstring_no_properties): New function.
9570 (Flax_plist_get, Flax_plist_put): New functions.
9571 (syms_of_fns): defsubr them.
9572
9573 * xdisp.c (update_menu_bar): Test only update_mode_lines;
9574 don't test or alter w->update_mode_line.
9575
9576 * window.c (Fdisplay_buffer): Doc fix.
9577
95782002-03-24 Richard M. Stallman <rms@gnu.org>
9579
9580 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
9581
95822002-03-24 Gerd Moellmann <gerd@gnu.org>
9583
9584 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
9585 (Fdefmacro): Handle `(declare ...)'.
9586 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
9587 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
9588
95892002-03-24 Jason Rumney <jasonr@gnu.org>
9590
9591 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
9592 (xbm_file_p): Add prototypes.
9593 (xbm_format, xbm_image_p): Sync with xfns.c.
9594 (reflect_byte): New function.
9595 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
9596 (xbm_load_image): Create bitmaps with a depth of 1.
9597 (init_xfns): Enable XBM images.
9598
95992002-03-23 Jason Rumney <jasonr@gnu.org>
9600
9601 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
9602 correctly. Do not pass up_modifier to keyboard buffer.
9603
9604 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
9605
96062002-03-22 Stefan Monnier <monnier@cs.yale.edu>
9607
9608 * Makefile.in (bootstrapclean): New target.
9609 (bootstrap-temacs, bootstrap-doc): Remove.
9610 (bootstrap-emacs): Use a bog-standard `temacs'.
9611 Don't bother to build a DOC file.
9612
9613 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
9614
9615 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
9616 in temacs even if !CANNOT_DUMP.
9617 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
9618
9619 * alloc.c (check_pure_size): Only output a warning.
9620
96212002-03-22 Jason Rumney <jasonr@gnu.org>
9622
9623 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
9624 supported.
9625
9626 * w32term.c (zv_bits): Declare as short, for word alignment.
9627 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
9628 (syms_of_w32term): Define x-use-underline-position-properties.
9629
9630 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
9631 (clear_image_cache): Block input, fix logic, clear matrices in
9632 all frames that share this cache.
9633
96342002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
9635
9636 * emacs.c (main): Update the Copyright year in the blurb printed
9637 by "emacs --version".
9638
9639 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
9640
9641 * xterm.c (XTread_socket): If XK_ISO_Lock and
9642 XK_ISO_Last_Group_Lock are defined, handle keysyms between
9643 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
9644
96452002-03-21 Kim F. Storm <storm@cua.dk>
9646
9647 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
9648 menu-bar bindings in keymap and local-map properties _are_ used.
9649 But try keymap property first in accordance with 2002-01-03 patch.
9650 Added comment describing why this is not always reliable.
9651 (tool_bar_items): Ditto for tool-bar.
9652
96532002-03-21 Jason Rumney <jasonr@gnu.org>
9654
9655 * w32fns.c (x_clear_image_1): Disable color table code.
9656
96572002-03-21 Kim F. Storm <storm@cua.dk>
9658
9659 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
9660 removed the wrong version of the DEFUN macro; fixed it.
9661
9662 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
9663 Fmember rather than Fmemq).
9664 (Fprovide): Check that subfeatures is a list.
9665
9666 * process.c (QCfeature, QCdatagram): Removed variables.
9667 (QCtype, Qdatagram): New variables.
9668 (network_process_featurep): Removed function.
9669 (Fmake_network_process): Removed :feature check.
9670 Use :type 'datagram instead of :datagram t to create a datagram
9671 socket. This allows us to add other connection types (e.g. raw
9672 sockets) later in a consistent manner.
9673 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
9674 supported subfeatures for feature make-network-process.
9675 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
9676 Intern and staticpro QCtype and Qdatagram.
9677 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
9678
9679 * xfns.c: (QCtype): Remove duplicate declaration and
9680 initialization (is now declared in process.c).
9681
9682 * w32fns.c: (QCtype): Remove duplicate declaration and
9683 initialization (is now declared in process.c).
9684
96852002-03-21 Richard M. Stallman <rms@gnu.org>
9686
9687 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
9688 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
9689 when jumping to `fail' to avoid undoing reg changes in the
9690 last iteration of the loop.
9691 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
9692
9693 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
9694 Depend on process.h.
9695
96962002-03-20 Jason Rumney <jasonr@gnu.org>
9697
9698 Most of the following changes are still conditional on HAVE_IMAGES
9699 which is not set by default on Windows.
9700
9701 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
9702
9703 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
9704 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
9705 (four_corners_best, x_clear_image_1, x_clear_image)
9706 (x_alloc_image_color, postprocess_image)
9707 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
9708 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
9709 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
9710
9711 * w32gui.h (struct XImage): Define.
9712
9713 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
9714 extract mouse co-ordinates.
9715
97162002-03-20 Jason Rumney <jasonr@gnu.org>
9717
9718 * w32.c (init_winsock): Dynamically load new server and UDP
9719 socket functions.
9720 (socket_to_fd): New function.
9721 (sys_socket): Use it.
9722 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
9723 (sys_recvfrom, sys_sendto): New wrapper functions.
9724
9725 * process.c (QCfamily, QCfilter): Remove duplicate declaration
9726 and initialization.
9727
9728 * makefile.w32-in (LIBS): Remove $(WSOCK32).
9729
97302002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
9731
9732 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
9733 Don't use "sun" as a variable, it's a predefined constant on Sun
9734 machines.
9735
97362002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9737
9738 * bytecode.c (Fbyte_code): Revert last change.
9739
97402002-03-19 Kim F. Storm <storm@cua.dk>
9741
9742 * makefile.w32-in (LIBS): Add $(WSOCK32).
9743 From David Ponce <dponce@voila.fr>.
9744
97452002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9746
9747 * process.c (wait_reading_process_input): Move variables `pname'
9748 and `pnamelen' down where they are used.
9749
9750 * bytecode.c (Fbyte_code): Discard unused computed value to
9751 prevent gcc warning.
9752
9753 * lisp.h (Fplist_member): Add prototype.
9754
97552002-03-18 Kim F. Storm <storm@cua.dk>
9756
9757 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
9758 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
9759
9760 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
9761 Remove explicit GNU_LINUX settings for datagram support.
9762
97632002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9764
9765 * process.c (Fmake_network_process): Remove unused variable `sa'.
9766 Doc fix. Add usage:.
9767 (set_socket_options): Remove unused variables `optnum' and `opttype'.
9768
97692002-03-17 Richard M. Stallman <rms@gnu.org>
9770
9771 * xdisp.c (cursor_type_changed): New variable.
9772 (redisplay_internal): Redisplay all windows if cursor_type_changed.
9773 Clear it when clearing windows_or_buffers_changed.
9774 (try_cursor_movement, redisplay_window, try_window_id)
9775 (try_window_reusing_current_matrix): Test cursor_type_changed
9776 along with windows_or_buffers_changed.
9777
9778 * window.h (cursor_type_changed): New variable.
9779
9780 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
9781 not update_mode_lines, and always set it to 1.
9782
9783 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
9784 if no frames needed redrawing.
9785
97862002-03-17 Kim F. Storm <storm@cua.dk>
9787
9788 The following changes add support for network server processes,
9789 datagram connections, and local (unix) sockets.
9790
9791 * process.h (struct Lisp_Process): New member log.
9792 Doc fix: Member command used to indicate stopped network process.
9793 Doc fix: Member childp contains plist for network process.
9794 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
9795
9796 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
9797 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
9798 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
9799 New variables.
9800 (NETCONN1_P): New macro.
9801 (DATAGRAM_SOCKETS): New conditional symbol.
9802 (datagram_address): New array.
9803 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
9804 (status_message): Use concat3.
9805 (Fprocess_status): Add `listen' status to doc string. Return `stop'
9806 for a stopped network process.
9807 (Fset_process_buffer): Update contact plist for network process.
9808 (Fset_process_filter): Ditto. Don't enable input for stopped
9809 network processes. Server must listen, even if filter is t.
9810 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
9811 New functions.
9812 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
9813 (Fprocess_contact): Added KEY argument. Handle datagrams.
9814 (list_processes_1): Optionally show only processes with the query
9815 on exit flag set. Dynamically adjust column widths. Omit tty
9816 column if not needed. Report stopped network processes.
9817 Identify server and datagram network processes.
9818 (Flist_processes): New optional arg `query-only'.
9819 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
9820 (conv_lisp_to_sockaddr, set_socket_options)
9821 (network_process_featurep, unwind_request_sigio): New helper functions.
9822 (Fprocess_datagram_address, Fset_process_datagram_address):
9823 (Fset_network_process_options): New lisp functions.
9824 (Fopen_network_stream): Removed. Now defined in simple.el.
9825 (Fmake_network_process): New lisp function. Code is based on previous
9826 Fopen_network_stream, but heavily reworked with new property list based
9827 argument list, support for datagrams, server processes, and local
9828 sockets in addition to old client-only functionality.
9829 (server_accept_connection): New function.
9830 (wait_reading_process_input): Use it to handle incoming connects.
9831 Do not enable input on a new connection if process is stopped.
9832 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
9833 (send_process): Handle datagram sockets.
9834 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
9835 network process is indicated by setting command field to t .
9836 (Fprocess_send_eof): No-op if datagram connection.
9837 (Fstatus_notify): Don't read input for a stream server socket or a
9838 stopped network process.
9839 (init_process): Initialize datagram_address array.
9840 (syms_of_process): Intern and staticpro new variables, defsubr new
9841 functions.
9842
98432002-03-16 Jason Rumney <jasonr@gnu.org>
9844
9845 * w32fns.c (w32_to_all_x_charsets): Return correct type in
9846 startup case.
9847
98482002-03-16 Richard M. Stallman <rms@gnu.org>
9849
9850 * xdisp.c (redisplay_internal, redisplay_windows):
9851 Use list_of_error to call internal_condition_case_1.
9852 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
9853 so as to catch all errors with no possibility of debugger redisplay.
9854 (list_of_error): New variable.
9855 (syms_of_xdisp): Init and staticpro it.
9856
9857 * print.c (print_object): Delete `\ ' from printed rep of frame.
9858
98592002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
9860
9861 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
9862 until its implementation is fixed.
9863
98642002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9865
9866 * xfns.c (png_load): Remove unused variable `gamma_str'.
9867
98682002-03-14 Richard M. Stallman <rms@gnu.org>
9869
9870 * xfns.c (x_real_positions): Handle failure in XQueryTree.
9871
98722002-03-14 Miles Bader <miles@gnu.org>
9873
9874 * intervals.c (adjust_for_invis_intang): New function.
9875 (set_point_both): Use `adjust_for_invis_intang' to do most of the
9876 work for dealing with invisible+intangible regions. Do so before
9877 and after both forward and backward movements, to handle both
9878 front-sticky and rear-sticky cases.
9879 * textprop.c (text_property_stickiness): Function moved here from
9880 `editfns.c'.
9881 * intervals.h (text_property_stickiness): New declaration.
9882 * editfns.c (char_property_eq): Function removed.
9883 (text_property_stickiness): Function moved to `textprop.c'.
9884
98852002-03-13 Jason Rumney <jasonr@gnu.org>
9886
9887 * config.in: Add STRFTIME_NO_POSIX2.
9888
9889 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
9890 and %OX when underlying strftime does not.
9891
98922002-03-13 Stefan Monnier <monnier@cs.yale.edu>
9893
9894 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
9895 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
9896 line) to avoid annoying flicker.
9897 (xm_scroll_callback): Get rid of the now unnecessary kludge.
9898 (XTread_socket): Mark it static.
9899
9900 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
9901
99022002-03-13 Kim F. Storm <storm@cua.dk>
9903
9904 * puresize.h (BASE_PURESIZE): Increase to 775000.
9905
99062002-03-12 Juanma Barranquero <lektu@terra.es>
9907
9908 * editfns.c (syms_of_editfns): Fix typo.
9909
99102002-03-12 Gerd Moellmann <gerd@gnu.org>
9911
9912 * xsmfns.c: Include stdio.h because termhooks.h needs it.
9913 Include termopt.h for interrupt_input.
9914
99152002-03-11 Andreas Schwab <schwab@suse.de>
9916
9917 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
9918
99192002-03-11 Gerd Moellmann <gerd@gnu.org>
9920
9921 * xterm.c (note_mouse_movement): Put code for
9922 x_autoselect_window_p in #if 0.
9923
9924 * lread.c (Fload): Don't assume that message_with_string uses the
9925 string it is given like a C string.
9926
99272002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9928
9929 * xterm.h (x_session_check_input, x_session_initialize): Declared.
9930
9931 * xterm.c: (XTread_socket): Add call to x_session_check_input and
9932 x_session_have_connection.
9933 (x_initialize): Add call to x_session_initialize.
9934
9935 * termhooks.h (enum event_kind): Add save_session_event.
9936
9937 * keyboard.c: Add Emacs event save_session_event.
9938
9939 * emacs.c (main): Add call to syms_of_xsmfns.
9940
9941 * lisp.h: Declare syms_of_xsmfns as extern.
9942
9943 * config.in: Add HAVE_X_SM.
9944
9945 * Makefile.in (LIBXT): Add -lSM -lICE
9946 if HAVE_X_SM and not USE_X_TOOLKIT.
9947 (XOBJ): New file xsmfns.c added.
9948
9949 * xsmfns.c: New file for X session management.
9950
99512002-03-09 Jason Rumney <jasonr@gnu.org>
9952
9953 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
9954 read-only when setting modified time.
9955
99562002-03-08 Gerd Moellmann <gerd@gnu.org>
9957
9958 * xdisp.c (move_it_vertically_backward): At the end of the function,
9959 when moving forward by lines, treat terminal frames specially.
9960
9961 * keyboard.c (echo_char): Make sure to add a separator between
9962 keys even if echo_dash hasn't been called.
9963
9964 * xdisp.c: Use new string macros.
9965 (update_echo_area): Pass number of bytes to message3 instead of
9966 number of chars.
9967 (set_message_1): Don't access a string's size_byte directly.
9968 (decode_mode_spec_coding): Use number of bytes of eoltype string
9969 instead number of chars.
9970
9971 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
9972
99732002-03-08 Juanma Barranquero <lektu@terra.es>
9974
9975 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
9976 24-bit.
9977
99782002-03-06 Jason Rumney <jasonr@gnu.org>
9979
9980 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
9981
99822002-03-06 Gerd Moellmann <gerd@gnu.org>
9983
9984 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
9985 (cancel_echoing, echo_length, echo_truncate): Changed to
9986 work with new kboard definition.
9987 (echo_now): Use message3_nolog instead of message2_nolog.
9988
9989 * alloc.c (mark_kboards): Mark echo_string.
9990
9991 * keyboard.h (ECHOBUFSIZE): Removed.
9992 (struct kboard): Member echoptr removed, member echobuf renamed
9993 to echo_string.
9994
9995 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
9996 message3 instead of message2 to display the message using STRING's
9997 text properties.
9998
99992002-03-05 Andreas Schwab <schwab@suse.de>
10000
10001 * xdisp.c (hscroll_margin): Change to EMACS_INT.
10002
100032002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
10004
10005 * frame.c (default-frame-alist): Explain that setting it doesn't
10006 affect existing frames.
10007
100082002-03-05 Stefan Monnier <monnier@cs.yale.edu>
10009
10010 * indent.c (skip_invisible): Fix my brain fart.
10011
10012 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
10013
100142002-03-04 Stefan Monnier <monnier@cs.yale.edu>
10015
10016 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
10017 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
10018 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
10019 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
10020 and variables to use EMACS_INT instead of just int.
10021
10022 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
10023
100242002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
10025
10026 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
10027 environment, pass it down with corrected value.
10028
100292002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10030
10031 * lread.c (read_filtered_event): Do not call start_hourglass
10032 before returning.
10033
100342002-03-04 Juanma Barranquero <lektu@terra.es>
10035
10036 * w32term.c (x_display_and_set_cursor): Fix typo.
10037
100382002-03-03 Richard M. Stallman <rms@gnu.org>
10039
10040 * fileio.c (Fmake_temp_name): Doc fix.
10041
100422002-03-03 Gary Wong <gtw@gnu.org>
10043
10044 * termcap.c [!emacs]: Replace ospeed for building standalone
10045 libtermcap, for binary compatibility.
10046
10047 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
10048
100492002-03-03 Richard M. Stallman <rms@gnu.org>
10050
10051 * xrdb.c (file_p): Rename arg `path' to `filename'.
10052
10053 * abbrev.c (Fexpand_abbrev): Increment plist as use count
10054 only if it is an integer.
10055
10056 * xfns.c (png_load): Set screen_gamma based on f->gamma.
10057 If png_get_sRGB gives an answer, call png_set_gamma
10058 using the default image gamma value.
10059
10060 * lread.c (read1): When reading from a file, default string to
10061 multibyte only if it has some multibyte characters.
10062
10063 * print.c (print_object): Output multibyte chars 128...255
10064 using \x even if ! print_escape_multibyte.
10065
10066 * xdisp.c (display_mode_element): Move the places where
10067 bytepos, charpos, this, and lisp_string are set.
10068 Use lisp_string to set bytepos.
10069
10070 * xdisp.c (redisplay_internal):
10071 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
10072
10073 * xdisp.c (display_mode_element): Merge properties specified with
10074 :propertize onto those that come with the string.
10075
100762002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
10077
10078 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
10079 automatic-hscrolling. Users changed.
10080 <hscroll-margin>: Renamed from automatic-hscroll-margin.
10081 Users changed.
10082 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
10083
100842002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10085
10086 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
10087
100882002-03-02 Kim F. Storm <storm@cua.dk>
10089
10090 * window.c (Fminibuffer_selected_window): New function.
10091 (syms_of_window): Defsubr it.
10092
100932002-03-01 Kim F. Storm <storm@cua.dk>
10094
10095 * window.h (struct window): New member phys_cursor_width.
10096
10097 * window.c (make_window, replace_window): Init phys_cursor_width.
10098
10099 * xterm.c (x_display_and_set_cursor): Blink box cursor using
10100 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
10101
10102 * w32term.c (x_display_and_set_cursor): Blink box cursor using
10103 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
10104
10105 * lisp.h (GCPRO6): New macro.
10106
10107 * process.c (Fopen_network_stream): Use GCPRO6.
10108
101092002-03-01 Kim F. Storm <storm@cua.dk>
10110
10111 * process.c (Qconnect, Qfailed): New variables.
10112 (syms_of_process): Intern and staticpro them.
10113 (Fprocess_status): Document connect and failed return values.
10114 [NON_BLOCKING_CONNECT]: New conditional.
10115 (connect_wait_mask, num_pending_connects): New variables.
10116 (status_message): Convert Qfailed status.
10117 (Fopen_network_stream): Added support for non-blocking connect.
10118 New optional args: filter, sentinel, non_blocking. Doc updated.
10119 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
10120 (deactivate_process): Handle pending non-blocking connect.
10121 (wait_reading_process_input): Poll for status of non-blocking
10122 connects. Exec sentinel directly when connect succeeds.
10123 (status_notify): Don't read process output if not yet connected.
10124
101252002-02-28 Kim F. Storm <storm@cua.dk>
10126
10127 * window.c: (minibuf_selected_window): Renamed from
10128 Vminibuf_selected_window. Users changed.
10129 (syms_of_window): Staticpro it.
10130
101312002-02-26 Kim F. Storm <storm@cua.dk>
10132
10133 The following changes add a new Vminibuf_selected_window variable
10134 which is similar to Vminibuf_scroll_window, but which is only set
10135 on entry to the minibuffer (from a non-minibuffer window):
10136
10137 * window.c: (Vminibuf_selected_window): New variable.
10138 (struct save_window_data): New member minibuf_selected_window.
10139 (Fset_window_configuration): Restore Vminibuf_selected_window.
10140 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
10141 Set minibuf_scroll_window member to nil if minibuf_level is 0.
10142 (compare_window_configurations): Compare minibuf_selected_window.
10143
10144 * window.h: (Vminibuf_selected_window): Declare extern.
10145
10146 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
10147 entry to minibuffer or on entry from a non-minibuffer window.
10148
10149 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
10150 Vminibuf_selected_window instead of Vminibuf_scroll_window.
10151
10152 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
10153 instead of Vminibuf_scroll_window when deciding in which window
10154 the region should be highlighted. Consequently, the region remains
10155 highlighteded even when a completion buffer is also displayed.
10156
101572002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
10158
10159 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
10160
10161 * xselect.c (Qcompound_text_with_extensions): Renamed from
10162 Qcompound_text_no_extensions.
10163 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
10164
101652002-02-26 Juanma Barranquero <lektu@terra.es>
10166
10167 * w32proc.c (syms_of_ntproc): Doc fix.
10168
101692002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10170
10171 * intervals.h: Include "dispextern.h" unconditionally.
10172
101732002-02-24 Jason Rumney <jasonr@gnu.org>
10174
10175 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
10176 and disp-table.elc.
10177 (lisp): Add emacs-lisp/backquote.elc.
10178
101792002-02-24 Kim F. Storm <storm@cua.dk>
10180
10181 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
10182 The validation of the event type was too strict as it didn't
10183 allow string events; buffer names are used in bindings for
10184 menu-bar-select-buffer (see `menu-bar-update-buffers').
10185
101862002-02-23 Kim F. Storm <storm@cua.dk>
10187
10188 The following changes rework my patch of 2002-02-06 which
10189 added command remapping by entering the commands directly into
10190 the keymaps. Now, command remapping uses an explicit `remap'
10191 prefix in the keymaps, i.e. [remap COMMAND].
10192
10193 * keymap.c (Qremap, remap_command_vector): New variables.
10194 (is_command_symbol): Removed function.
10195 (Fdefine_key): No longer accept a symbol for KEY.
10196 Added validation of [remap COMMAND] argument for KEY.
10197 The DEF is no longer required to be a symbol when remapping a command.
10198 (Fremap_command): New function to remap command through keymaps.
10199 (Flookup_key): Perform command remapping initiated by
10200 Fremap_command directly for speed.
10201 (Fkey_binding): Use Fremap_command for command remapping.
10202 (where_is_internal): Handle new command remapping representation.
10203 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
10204 staticpro them. Defsubr Fremap_command.
10205
10206 * keymap.h (Fremap_command): Declare extern.
10207 (is_command_symbol): Remove extern.
10208
10209 * keyboard.c (command_loop_1): Use Fremap_command for command
10210 remapping; now try command remapping for all symbols.
10211
102122002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
10213
10214 * coding.h (run_pre_post_conversion_on_str): Add prototype.
10215
102162002-02-23 Jason Rumney <jasonr@gnu.org>
10217
10218 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
10219 on the string before encoding it.
10220 (Fw32_get_clipboard_data): Run post-read-conversion on the string
10221 after decoding it.
10222
10223 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
10224
102252002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10226
10227 * w32term.c (enter_timestamp): Remove unused static variable to
10228 prevent warning.
10229
10230 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
10231
102322002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
10233
10234 * w16select.c (Fw16_get_clipboard_data): Fix last change.
10235
10236 * xselect.c (selection_data_to_lisp_data): Fix last change.
10237
102382002-02-22 Jason Rumney <jasonr@gnu.org>
10239
10240 * w32term.h (struct w32_output): New member menu_command_in_progress.
10241
10242 * w32menu.c (menubar_selection_callback): Free the menu and
10243 clear the menu_command_in_progress flag.
10244
10245 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
10246 (menu_free_timer): New variable.
10247 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
10248 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
10249 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
10250 menu command is in progress.
10251 <WM_COMMAND>: Set the menu_command_in_progress flag.
10252 Kill any menu_free_timer that is running.
10253
10254 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
10255 Call ExtTextOutA rather than ExtTextOut.
10256
102572002-02-22 Eli Zaretskii <eliz@gnu.org>
10258
10259 * puresize.h (BASE_PURESIZE): Increase to 755000.
10260
102612002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10262
10263 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
10264 on the string before encoding it.
10265 (Fw16_get_clipboard_data): Run post-read-conversion on the string
10266 after decoding it.
10267
102682002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10269
10270 Support for ICCCM Extended Segments in X selections:
10271
10272 * xselect.c <Qcompound_text_no_extensions>: New variable.
10273 (syms_of_xselect): Intern and staticpro it.
10274 (selection_data_to_lisp_data): Run post-read-conversion on decoded
10275 selection text.
10276 (lisp_data_to_selection_data): If next-selection-coding-system is
10277 compound-text-no-extensions, set the type of selection to be
10278 compound-text.
10279
10280 * xterm.h (x_encode_text): Update prototype.
10281
10282 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
10283 callers changed. If SELECTIONP is non-zero, run the
10284 pre-write-conversion function before encoding the selection text.
10285
102862002-02-21 Kim F. Storm <storm@cua.dk>
10287
10288 * frame.c (syms_of_frame): Change mouse-highlight default to t.
10289
10290 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
10291 Correct composing of language-change event.
10292
102932002-02-20 Kim F. Storm <storm@cua.dk>
10294
10295 * keyboard.c (menu_bar_items): Don't include keymap or local-map
10296 bindings at PT when building menu (the menu is not updated often
10297 enough for this to work reliable).
10298 (tool_bar_items): Likewise.
10299 (current_active_maps): Removed unused (and buggy) function.
10300
103012002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10302
10303 * xfns.c (gif_load): Use correct width and height for GIF images.
10304
103052002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
10306
10307 * floatfns.c (Fatan): Accept an optional second arg and call
10308 atan2 if passed 2 args.
10309
103102002-02-18 Jason Rumney <jasonr@gnu.org>
10311
10312 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
10313
103142002-02-17 Jason Rumney <jasonr@gnu.org>
10315
10316 * w32term.c (x_autoselect_window_p): New variable.
10317 (syms_of_w32term): DEFVAR_BOOL and initialize it.
10318 (note_mouse_movement): Use it.
10319
10320 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
10321
10322 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
10323
10324 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
10325 New variables.
10326 (syms_of_w32fns): Intern and staticpro them.
10327 (x_frame_parms) <"fullscreen">: New parameter.
10328 (x_fullscreen_move, x_set_fullscreen): New functions.
10329 (x_set_frame_parameters): Support Qfullscreen.
10330 (x_real_positions): Save x/y_pixels_diff frame params.
10331 (x_figure_window_size): Support full-screen frames.
10332 (Fx_create_frame): Default the fullscreen parameter.
10333
10334 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
10335 (x_fullscreen_adjust): New functions.
10336 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
10337 fullscreen. Call x_check_fullscreen_move, and set the
10338 want_fullscreen member of output_data.w32
10339 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
10340
10341 * w32term.h: New enum for FULLSCREEN_* constants.
10342 (struct w32_output): New members want_fullscreen, x_pixels_diff,
10343 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
10344 (x-fullscreen-adjust): New prototype.
10345
103462002-02-17 Kim F. Storm <storm@cua.dk>
10347
10348 * frame.c: (Vmouse_highlight): New variable.
10349 (syms_of_frame): DEFVAR_LISP it.
10350
10351 * frame.h: (Vmouse_highlight): Declare extern.
8a8e19a3 10352
048addec 10353 * xterm.h (struct x_display_info): Add mouse_face_hidden.
8a8e19a3 10354
048addec
JD
10355 * xterm.c (disable_mouse_highlight): Removed variable.
10356 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
10357 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
10358 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
10359 and on after keyboard input.
10360 (x_term_init): Initialize mouse_face_hidden.
8a8e19a3 10361
048addec 10362 * msdos.h (struct display_info): Add mouse_face_hidden.
8a8e19a3 10363
048addec
JD
10364 * msdos.c (disable_mouse_highlight): Removed variable.
10365 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
10366 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
10367 (internal_terminal_init): Initialize mouse_face_hidden.
10368 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
10369 and on after keyboard input.
4f1b1854 10370
048addec 10371 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
4f1b1854 10372
048addec
JD
10373 * w32term.c (disable_mouse_highlight): Removed variable.
10374 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
10375 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
10376 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
10377 and on after keyboard input.
10378 (w32_initialize_display_info): Initialize mouse_face_hidden.
4f1b1854 10379
048addec 103802002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
4f1b1854 10381
048addec
JD
10382 * msdos.c (last_mouse_window): New variable.
10383 (dos_rawgetc): Fix last change--if the mouse is in the same window
10384 as recorded in last_mouse_window, don't select this window.
5cb6905d 10385
048addec 10386 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
5cb6905d 10387
048addec
JD
10388 * msdos.c (x_autoselect_window_p): New variable.
10389 (syms_of_msdos): Defvar it.
10390 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
10391 which the last mouse movement occured, unless it is already selected.
437dfb9f 10392
048addec
JD
10393 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
10394 New variables.
10395 (syms_of_xdisp): DEVFAR them.
10396 (hscroll_window_tree): Use automatic_hscroll_margin and
10397 Vautomatic_hscroll_step to compute the amount of window scrolling.
437dfb9f 10398
048addec 103992002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9f696a00 10400
048addec
JD
10401 * xterm.c (x-autoselect-window): New variable.
10402 (note_mouse_movement): Use it.
9f696a00 10403
048addec 10404 * keyboard.c: Do not include "systime.h" twice.
d57966d7 10405
048addec 104062002-02-15 Andreas Schwab <schwab@suse.de>
d57966d7 10407
048addec 10408 * puresize.h (BASE_PURESIZE): Increase to 9/5.
d57966d7 10409
048addec 10410 * alloc.c (NSTATICS): Increase to 1280.
74779f52 10411
048addec 104122002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
74779f52 10413
048addec 10414 * alloc.c (NSTATICS): Bump to 1026.
a474d59c 10415
048addec
JD
10416 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
10417 (Vx_super_keysym): New variables.
10418 (syms_of_xterm): DEFVAR_LISP them.
10419 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
10420 variables to determine which keys to use for the various modifiers.
a474d59c 10421
048addec 104222002-02-13 Kim F. Storm <storm@cua.dk>
fbb70ad9 10423
048addec
JD
10424 * window.c: (Vmode_line_in_non_selected_windows): Removed.
10425 (mode_line_in_non_selected_windows): New variable.
10426 (syms_of_window): DEFVAR_BOOL it.
fbb70ad9 10427
048addec
JD
10428 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
10429 Use mode_line_in_non_selected_windows.
10430 (mode_line_in_non_selected_windows): Declare extern.
10431 (Vmode_line_in_non_selected_windows): Removed extern.
2d10309f 10432
048addec 104332002-02-13 Richard M. Stallman <rms@gnu.org>
2d10309f 10434
048addec
JD
10435 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
10436 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
10437 (Fclear_this_command_keys): Doc fixes.
2d10309f 10438
048addec
JD
10439 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
10440 (update_face_from_frame_parameter): Increment face_change_count
10441 and windows_or_buffers_changed to force redisplay using changed faces.
7f2cddf3 10442
048addec
JD
10443 * xdisp.c (QCpropertize): New variable.
10444 (mode_line_proptrans_alist): New variable.
10445 (display_mode_element): New arg PROPS; all calls changed.
10446 Implement this, for strings.
10447 Handle literal output of strings by sharing the
10448 main-line code for strings, using local var `literal'.
10449 Handle :propertize feature.
10450 (syms_of_xdisp): Initialze and staticpro QCpropertize and
10451 mode_line_proptrans_alist.
0b1e6b54 10452
048addec 104532002-02-11 Kim F. Storm <storm@cua.dk>
7f2cddf3 10454
048addec
JD
10455 * window.c: (Vmode_line_in_non_selected_windows): New variable.
10456 (syms_of_window): DEFVAR_LISP it.
7f2cddf3 10457
048addec
JD
10458 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
10459 (CURRENT_MODE_LINE_FACE_ID): Use it.
10460 (Vmode_line_in_non_selected_windows): Declare extern.
e17144de 10461
048addec
JD
10462 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
10463 to get mode line face.
e17144de 10464
048addec 104652002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
6637c996 10466
048addec
JD
10467 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
10468 variables; cus-start.el doesn't need them anymore.
44368f8f 10469
048addec 104702002-02-09 Kim F. Storm <storm@cua.dk>
f884b6f4 10471
048addec
JD
10472 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
10473 reduction. This fixes a display problem where stray newlines were
10474 inserted in the window (corrected by C-l). Clarified code (IMHO).
6637c996 10475
048addec 104762002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
6637c996 10477
048addec 10478 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
6637c996 10479
048addec 10480 * xdisp.c (display_mode_lines): Fix last change.
453c5510 10481
048addec 104822002-02-09 Jason Rumney <jasonr@gnu.org>
453c5510 10483
048addec
JD
10484 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
10485 match each other.
10486 (w32_load_system_font): Prevent Cleartype fonts from loading.
10487 (Fx_show_tip): Ensure tip frames are above other topmost windows.
d1d070e3 10488
048addec 104892002-02-09 Kim F. Storm <storm@cua.dk>
d1d070e3 10490
048addec
JD
10491 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
10492 (CURRENT_MODE_LINE_HEIGHT): Use it.
10493 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
9ec1bdb6 10494
048addec
JD
10495 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
10496 (pos_visible_p, handle_face_prop): Likewise.
10497 (display_mode_lines): Likewise, but for the real selected window.
10498 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
9ec1bdb6 10499
048addec
JD
10500 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
10501 in non-selected windows.
10502 (realize_basic_faces): Realize it.
10503 (syms_of_term): Intern and staticpro it.
308dd672 10504
048addec 105052002-02-08 Kim F. Storm <storm@cua.dk>
edde72f6 10506
048addec
JD
10507 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
10508 Changed mail addresses to emacs-devel@gnu.org.
308dd672 10509
048addec 105102002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
3c1e6b46 10511
048addec
JD
10512 * fileio.c (Fsubstitute_in_file_name): If the file name includes
10513 ~user, and there's no such user, don't discard everything before ~user.
03950b5b 10514
048addec 10515 * floatfns.c (Fround): Doc fix.
3c1e6b46 10516
048addec 105172002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
c1e11810 10518
048addec 10519 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
c1e11810 10520
048addec 105212002-02-07 Stefan Monnier <monnier@cs.yale.edu>
1996baee 10522
048addec 10523 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
1996baee 10524
048addec 105252002-02-07 Kim F. Storm <storm@cua.dk>
0065bb74 10526
048addec
JD
10527 * keymap.c (where_is_internal): Only check whether definition is
10528 remapped if it fulfills is_command_symbol.
0065bb74 10529
048addec 105302002-02-07 Andreas Schwab <schwab@suse.de>
0065bb74 10531
048addec 10532 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
b5cb6072 10533
048addec 10534 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
b5cb6072 10535
048addec 105362002-02-06 Kim F. Storm <storm@cua.dk>
15fff01d 10537
048addec
JD
10538 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
10539 defining command remapping. Doc updated.
10540 (Flookup_key): Remap command through keymap if KEY is a symbol.
10541 (is_command_symbol): New function.
10542 (Fkey_binding): Use it. New optional argument NO-REMAP.
10543 Doc updated. Callers changed. Perform command remapping via
10544 recursive call unless that arg is non-nil.
10545 (where_is_internal): New argument no_remap. Callers changed.
10546 Call recursively to find original key bindings for a remapped
10547 comand unless that arg is non-nil.
10548 (Fwhere_is_internal): New optional argument NO-REMAP.
10549 Doc updated. Callers changed. Pass arg to where_is_internal.
0065bb74 10550
048addec
JD
10551 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
10552 (is_command_symbol): Added prototype.
0d8466cc 10553
048addec
JD
10554 * keyboard.c (Vthis_original_command): New variable.
10555 (syms_of_keyboard): DEFVAR_LISP it.
10556 (command_loop_1): Set it, and perform command remapping.
15fff01d 10557
048addec 105582002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2fae9111 10559
048addec 10560 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
2d6c1fc0 10561
048addec 105622002-02-06 Jason Rumney <jasonr@gnu.org>
07025a55 10563
048addec 10564 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
07025a55 10565
048addec 105662002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
07025a55 10567
048addec 10568 * charset.c (get_charset_id): Use if-else instead of ?:.
3a232704 10569
048addec 105702002-02-06 Richard M. Stallman <rms@gnu.org>
539e92ad 10571
048addec 10572 * filelock.c (S_ISLNK): Define if not defined.
3a232704 10573
048addec 105742002-02-03 Richard M. Stallman <rms@gnu.org>
0cb8bb48 10575
048addec 10576 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
539e92ad 10577
048addec
JD
10578 * lread.c (read1): Redesign strategy for force_multibyte and
10579 force_singlebyte. Now is_multibyte records whether read_buffer
10580 is multibyte. Encountering any multibyte character makes it so.
4e02881b 10581
048addec 105822002-02-02 Stefan Monnier <monnier@cs.yale.edu>
4e02881b 10583
048addec
JD
10584 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
10585 with the same sequence, map that sequence to f10 rather than f0.
1ab964d7 10586
048addec 105872002-02-03 Andreas Schwab <schwab@suse.de>
1ab964d7 10588
048addec
JD
10589 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
10590 latter never being defined on GNU/Linux.
749f499f 10591
048addec 105922002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
749f499f 10593
048addec
JD
10594 * xfaces.c (realize_default_face): Don't set the weight and slant of
10595 the default face to Qnormal, unless these attributes are unspecified.
b5d9aaba 10596
048addec 105972002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3a232704 10598
048addec
JD
10599 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
10600 Call cancel_hourglass unconditionally.
d0fd26dd 10601
048addec
JD
10602 * eval.c (Fsignal): Remove duplicated declaration of
10603 the variable `display_hourglass_p'.
b4c45162 10604
048addec 106052002-01-31 Richard M. Stallman <rms@gnu.org>
d0fd26dd 10606
048addec 10607 * editfns.c (region_limit): Nicer error message.
c95eaa61 10608
048addec
JD
10609 * coding.c (decode_composition_emacs_mule):
10610 Give up if NCOMPONENT gets too large to index `component'.
c95eaa61 10611
048addec
JD
10612 * callint.c (check_mark): New arg to specify clearer error message.
10613 Callers changed.
c95eaa61 10614
048addec 106152002-01-27 Richard M. Stallman <rms@gnu.org>
c95eaa61 10616
048addec 10617 * minibuf.c (Fcompleting_read): Doc fix.
c95eaa61 10618
048addec 106192002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
c95eaa61 10620
048addec
JD
10621 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
10622 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
10623 Fix doc-strings.
c95eaa61 10624
048addec 106252002-01-26 Richard M. Stallman <rms@gnu.org>
c95eaa61 10626
048addec 10627 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
c95eaa61 10628
048addec
JD
10629 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
10630 and scroll_up_aggressively.
c95eaa61 10631
048addec 106322002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
31877e0a 10633
048addec 10634 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
31877e0a 10635
048addec 106362002-01-25 Stefan Monnier <monnier@cs.yale.edu>
e2c3786a 10637
048addec
JD
10638 * textprop.c (Fnext_property_change, Fnext_single_property_change)
10639 (Fprevious_property_change, Fprevious_single_property_change):
10640 Stay within the narrowed-buffer boundaries.
e2c3786a 10641
048addec 106422002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
c513fc03 10643
048addec
JD
10644 * term.c (Ftty_display_color_cells): New function.
10645 (syms_of_term): Defsubr it.
10646 (Ftty_display_color_cells, Ftty_display_color_p): Change the
10647 argument name to DISPLAY. Doc fix.
bf794306 10648
048addec
JD
10649 * dispextern.h: Add prototype for set_tty_color_mode and
10650 tty_setup_colors.
bf794306 10651
048addec 106522002-01-24 Jason Rumney <jasonr@gnu.org>
bf794306 10653
048addec
JD
10654 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
10655 If region left to draw is not what was expected, mark the frame as
10656 garbaged.
62582985 10657
048addec
JD
10658 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
10659 Combine the regions returned by BeginPaint and GetUpdateRect.
c513fc03 10660
048addec 106612002-01-23 Jason Rumney <jasonr@gnu.org>
3509a04c 10662
048addec
JD
10663 * w32term.c (x_update_window_begin): Only hide caret if
10664 w32_use_visible_system_caret is set.
10665 (x_update_window_end): Only show caret if
10666 w32_use_visible_system_caret is set.
10667 (syms_of_w32term): Handle SystemParametersInfo call failing.
3509a04c 10668
048addec 10669 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
3509a04c 10670
048addec 106712002-01-22 Richard M. Stallman <rms@gnu.org>
3509a04c 10672
048addec
JD
10673 * unexelf.c (unexec): Define n so as to cause compilation error
10674 for the code where people have often written n instead of nn.
1e9a6186 10675
048addec 10676 * .gdbinit (hookpost-run): Defined.
1e9a6186 10677
048addec 106782002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
e4e34e31 10679
048addec 10680 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
e4e34e31 10681
048addec 106822002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4521d1fc 10683
048addec
JD
10684 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
10685 if fullscreen is being set.
7c75be36 10686
048addec 106872002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4521d1fc 10688
048addec
JD
10689 * minibuf.c (Fminibuffer_contents)
10690 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
10691 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
4521d1fc 10692
048addec 106932002-01-21 Richard M. Stallman <rms@gnu.org>
4521d1fc 10694
048addec 10695 * window.c (check_frame_size): Fix minimum height calculation.
93dec019 10696
048addec 106972002-01-20 Ken Raeburn <raeburn@gnu.org>
93dec019 10698
048addec
JD
10699 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
10700 height before comparison.
10701 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
905cc05a 10702
048addec 107032002-01-20 Jason Rumney <jasonr@gnu.org>
2ed06289 10704
048addec
JD
10705 * w32term.c (w32_system_caret_width): Remove.
10706 (w32_use_visible_system_caret): New user flag.
10707 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
10708 Windows reports a screen reader running.
10709 (x_update_window_begin): Hide the system caret.
10710 (x_update_window_end): Show the system caret.
10711 (x_display_and_set_cursor): Don't draw a cursor when
10712 w32_use_visible_system_caret is set. Do not adjust width.
0e79d667 10713
048addec
JD
10714 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
10715 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
10716 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
10717 the user requests it. Use system default width when creating.
10718 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
0e79d667 10719
048addec
JD
10720 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
10721 New window messages.
905cc05a 10722
048addec 107232002-01-20 Richard M. Stallman <rms@gnu.org>
82a7ab23 10724
048addec 10725 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
d75bec6a 10726
048addec 107272002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
52dcb476 10728
048addec 10729 * doprnt.c (doprnt1): Fix typos in error call.
82a7ab23 10730
048addec 107312002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
82a7ab23 10732
048addec 10733 * unexelf.c (unexec) [__sgi]: Support the .got sections.
82a7ab23 10734
048addec 107352002-01-20 Jason Rumney <jasonr@gnu.org>
4d0fa4f3 10736
048addec
JD
10737 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
10738 that Windows returns. If a double check fails, try to guess how
10739 ExtTextOut is going to act.
4d0fa4f3 10740
048addec
JD
10741 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
10742 in place of stricmp.
10743 (w32_list_synthesized_fonts): Removed.
10744 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
10745 (struct enumfont_t): New element; list.
10746 (enum_font_cb2): List all style and charset variations of a font.
10747 (Fw32_select_font): New optional argument; include_proportional.
10748 Exclude vertical fonts. Exclude proportional fonts unless
10749 include_proportional is non-nil.
10750 (w32_enable_synthesized_fonts): Change to a boolean.
10751 (Fw32_send_sys_command): Doc fix.
493faf20 10752
048addec 107532002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
493faf20 10754
048addec
JD
10755 * dispnew.c (update_frame): Move the variable `tem' to the block
10756 where it is used.
4971e491 10757
048addec 107582002-01-19 Jason Rumney <jasonr@gnu.org>
4971e491 10759
048addec
JD
10760 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
10761 call to face-set-after-frame-default.
4971e491 10762
048addec 107632002-01-18 Richard M. Stallman <rms@gnu.org>
d911a0fa 10764
048addec
JD
10765 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
10766 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
d911a0fa 10767
048addec 107682002-01-17 Richard M. Stallman <rms@gnu.org>
d911a0fa 10769
048addec
JD
10770 * window.c (enlarge_window): When exceeding size of parent,
10771 directly delete all the siblings instead of trying to resize it.
201c831a 10772
048addec 107732002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
201c831a 10774
048addec 10775 * term.c (set_tty_color_mode): Remove unused variable `tem'.
201c831a 10776
048addec 107772002-01-16 Henrik Enberg <henrik@enberg.org>
34e39c95 10778
048addec 10779 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
34e39c95 10780
048addec 107812002-01-16 Kim F. Storm <storm@cua.dk>
d77fbc16 10782
048addec
JD
10783 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
10784 is invisible. This can happen if cursor is on top line of a
10785 window, and we switch to a buffer with a header line.
d77fbc16 10786
048addec 10787 * w32term.c (x_erase_phys_cursor): Ditto.
61e3b944 10788
048addec 107892002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
61e3b944 10790
048addec
JD
10791 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
10792 `dont_resize' only when used.
61e3b944 10793
048addec 10794 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
70da46c3 10795
048addec 107962002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
70da46c3 10797
048addec
JD
10798 * xdisp.c (display_mode_element): When computing charpos, depend
10799 on multibyteness of elt, not the text in field.
8af01033 10800
048addec 108012002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8af01033 10802
048addec
JD
10803 * buffer.c (Fkill_all_local_variables):
10804 Increment `update_mode_lines' only once.
7363986a 10805
048addec 108062002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7363986a 10807
048addec
JD
10808 * lisp.h (adjust_after_replace_noundo)
10809 (Fupdate_coding_systems_internal): Add prototypes.
d9e6c4b1 10810
048addec 10811 * sound.c (Fplay_sound): Initialize header_size also for :data case.
d20fc48a 10812
048addec 108132002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
d9e6c4b1 10814
048addec
JD
10815 Support for the --color command-line argument and tty-color-mode
10816 frame parameter:
f1a85b89 10817
048addec
JD
10818 * term.c (tty_default_color_capabilities, tty_setup_colors)
10819 (set_tty_color_mode): New functions.
10820 (term_init): Call tty_default_color_capabilities.
10821 (Qtty_color_mode_alist): New variable.
10822 (syms_of_term): Intern and staticpro it.
f1a85b89 10823
048addec
JD
10824 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
10825 frames.
10826 (do_switch_frame): For termcap frames, switch the tty
10827 color mode as specified by the frame's parameters.
10828 (Qtty_color_mode): New variable.
10829 (syms_of_frame): Intern and staticpro it.
3a62677f 10830
048addec
JD
10831 * emacs.c (USAGE2): Add the --color option.
10832 (standard_args): Ditto.
72244db2 10833
048addec
JD
108342002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10835
10836 * xterm.h (struct x_output): New members want_fullscreen,
10837 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
10838 y_pixels_outer_diff.
10839 New enum for FULLSCREEN_* constants.
10840 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
10841 is NULL.
10842 (x_fullscreen_adjust): Add prototype.
3a62677f 10843
048addec
JD
10844 * emacs.c (USAGE2): Add the new full-screen arguments.
10845 (standard_args): Ditto.
3a62677f 10846
048addec
JD
10847 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
10848 New variables.
10849 (syms_of_xfns): Intern and staticpro them.
10850 (x_frame_parms) <"fullscreen">: New parameter.
10851 (x_fullscreen_move, x_set_fullscreen): New functions.
10852 (x_set_frame_parameters): Support for Qfullscreen.
10853 (x_real_positions): More accurate computation of the frame position.
10854 (x_figure_window_size): Support full-screen frames.
10855 (Fx_create_frame): Default the fullscreen parameter.
3a62677f 10856
048addec
JD
10857 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
10858 (XTread_socket) <Expose>: Call x_check_fullscreen.
10859 <ConfigureNotify>: Don't resize to fullscreen.
10860 Call x_check_fullscreen_move, and set the want_fullscreen member of
10861 output_data.x.
3a62677f 10862
048addec 108632002-01-13 Jason Rumney <jasonr@gnu.org>
9d113d9d 10864
048addec
JD
10865 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
10866 for mice with more than 3 buttons.
b8523839 10867
048addec
JD
10868 * w32term.c (parse_button): New parameter xbutton. Callers changed.
10869 (w32_read_socket): Handle new "XBUTTON" messages.
9464dea4 10870
048addec
JD
10871 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
10872 (syms_of_w32fns): DEFVAR_BOOL it.
10873 (w32_wnd_proc): Handle new "XBUTTON" messages.
9d113d9d 10874
048addec 108752002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
70ec1377 10876
048addec 10877 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
70ec1377 10878
048addec 108792002-01-13 Andreas Schwab <schwab@suse.de>
92f7dd37 10880
048addec 10881 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
92f7dd37 10882
048addec 108832002-01-12 Andreas Schwab <schwab@suse.de>
c93674bb 10884
048addec
JD
10885 * .gdbinit (xbuffer): Remove address operator since data is now a
10886 pointer.
c93674bb 10887
048addec 108882002-01-11 Richard M. Stallman <rms@gnu.org>
59b59892 10889
048addec 10890 * insdel.c (adjust_after_replace_noundo): New function.
59b59892 10891
048addec 10892 * coding.c (code_convert_region): Don't copy old text if undo disabled.
c6ea2775 10893
048addec 108942002-01-09 Jason Rumney <jasonr@gnu.org>
c6ea2775 10895
048addec
JD
10896 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
10897 when checking for multiple frames.
91175673 10898
048addec 108992002-01-08 Richard M. Stallman <rms@gnu.org>
91175673 10900
048addec
JD
10901 * window.c (delete_window): Rewrite the code for changing the
10902 selected window to handle the case where WINDOW is not a leaf.
91175673 10903
048addec 109042002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
e0fead5d 10905
048addec
JD
10906 * process.c (send_process): Set src_multibyte to 1 after the call
10907 top setup_coding_system, not before the call.
e0fead5d 10908
048addec 109092002-01-07 Jason Rumney <jasonr@gnu.org>
e0fead5d 10910
048addec
JD
10911 * xmenu.c (set_frame_menubar, xmenu_show):
10912 (xdialog_show): Initialize wv->help to Qnil.
c186cdb3 10913
048addec
JD
10914 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
10915 (w32_dialog_show): Initialize wv->help to Qnil.
c186cdb3 10916
048addec 109172002-01-06 Jason Rumney <jasonr@gnu.org>
c186cdb3 10918
048addec 10919 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
c186cdb3 10920
048addec 10921 * w32menu.c (w32_menu_display_help): Revert last change.
58cfce98 10922
048addec 10923 * xmenu.c (menu_highlight_callback): Revert last change.
58cfce98 10924
048addec 109252002-01-06 Andreas Schwab <schwab@suse.de>
62854fe2 10926
048addec
JD
10927 * insdel.c (make_gap_larger): Make sure buffer size does not
10928 overflow range of int.
62854fe2 10929
048addec 109302002-01-05 Jason Rumney <jasonr@gnu.org>
656f46bb 10931
048addec
JD
10932 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
10933 OVERLAPS_P.
656f46bb 10934
048addec 10935 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
656f46bb 10936
048addec
JD
10937 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
10938 to the left or to the right of the pointer, put it against
10939 the left screen edge.
10940 (x_frame_parms): Add missing braces around initializer.
036e218d 10941
048addec
JD
10942 * w32term.c (x_setup_relief_colors): Don't compute an image's
10943 background color if it doesn't have a Pixmap.
10944 (notice_overwritten_cursor): Don't depend on
10945 output_cursor and updated_area. Compare pixel coordinates with
10946 window's cursor pixel coordinates.
10947 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
10948 Call notice_overwritten_cursor with new arg list.
10949 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
10950 unconditionally.
10951 (x_draw_image_relief): Use predefined macro instead of
10952 constant when the value of `tool_bar_button_relief' is negative.
036e218d 10953
048addec 10954 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
7ddb2c16 10955
048addec 109562002-01-04 Richard M. Stallman <rms@gnu.org>
7ddb2c16 10957
048addec 10958 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
ace9b298 10959
048addec 109602002-01-03 Richard M. Stallman <rms@gnu.org>
90647b07 10961
048addec
JD
10962 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
10963 (Fkey_binding): Try the `keymap' property map first.
10964 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
10965 minor mode bindings.
90647b07 10966
048addec 109672002-01-03 Kim F. Storm <storm@cua.dk>
ace9b298 10968
048addec 10969 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
ace9b298 10970
048addec 109712002-01-02 Richard M. Stallman <rms@gnu.org>
ace9b298 10972
048addec
JD
10973 * keyboard.c (read_key_sequence): Handle the keymap property
10974 before minor mode maps.
9fbc32aa 10975
048addec
JD
10976 * editfns.c (Fformat): Update thissize from field_width
10977 based on the actual width, in the string case.
036e218d 10978
048addec 109792002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9fbc32aa 10980
048addec
JD
10981 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
10982 when used as truth value to prevent gcc warnings.
9fbc32aa 10983
048addec
JD
10984 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
10985 * w32proc.c: Include <config.h>.
9fbc32aa 10986
048addec 109872002-01-01 Andreas Schwab <schwab@suse.de>
9fbc32aa 10988
048addec
JD
10989 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
10990 not EMACS_INT, to make them compatible with DEFVAR_INT.
10991 * lisp.h (max_specpdl_size): Adjust declaration.
9fbc32aa 10992
048addec 109932002-01-01 Richard M. Stallman <rms@gnu.org>
9fbc32aa 10994
048addec
JD
10995 * print.c (print_object): Test print_escape_nonascii only for
10996 unibyte strings.
10997 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
10998 when outputting to a multibyte buffer.
9fbc32aa 10999
048addec 110002001-12-29 Richard M. Stallman <rms@gnu.org>
9fbc32aa 11001
048addec
JD
11002 * print.c (print_object): In multibyte string, use hex escapes.
11003 Use octal only for unibyte strings.
11004 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
0142178a 11005
048addec
JD
11006 * lread.c (read_escape): New arg BYTEREP for reporting whether
11007 escape forces unibyte or multibyte.
11008 (read1): When reading a string, take note of that info.
0142178a 11009
048addec 110102001-12-29 Ken Raeburn <raeburn@gnu.org>
d4824a5d 11011
048addec
JD
11012 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
11013 comparison to test lisp value returned by Fget.
d4824a5d 11014
048addec 110152001-12-29 Richard M. Stallman <rms@gnu.org>
b1356234 11016
048addec 11017 * lisp.h (max_specpdl_size): Add declaration.
b1356234 11018
048addec 11019 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
3ce081f5 11020
048addec
JD
11021 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
11022 Handle modifier bits. Correct typo in error message.
99e380ee 11023
048addec 110242001-12-28 Richard M. Stallman <rms@gnu.org>
3ce081f5 11025
048addec
JD
11026 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
11027 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
11028 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
11029 Update calls to Fdefine_abbrev.
11030 (write_abbrev): Update for changed data format.
11031 Don't list "system" abbrevs.
11032 (Fexpand_abbrev): Update use count with new data format.
11033 (describe_abbrev): Update for changed data format.
11034 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
66458f32 11035
048addec 11036 * config.in (HAVE_MBSINIT): Add #undef.
66458f32 11037
048addec 11038 * strftime.c (mbsinit): Define as no-op if not available.
66458f32 11039
048addec
JD
11040 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
11041 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
59a86c99 11042
048addec
JD
11043 * keymap.c (Flookup_key): Error message if key has wrong data type.
11044 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
11045 (exclude_key): New variable.
59a86c99 11046
048addec 110472001-12-28 Gerd Moellmann <gerd@gnu.org>
eb77a5f4 11048
048addec
JD
11049 * xterm.c (x_setup_relief_colors): Don't compute an image's
11050 background color if it doesn't have a Pixmap.
eb77a5f4 11051
048addec
JD
11052 * xterm.c (notice_overwritten_cursor): Don't depend on
11053 output_cursor and updated_area. Compare pixel coordinates with
11054 window's cursor pixel coordinates.
11055 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
11056 Call notice_overwritten_cursor with new arg list.
11057 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
11058 unconditionally.
eb77a5f4 11059
048addec
JD
11060 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
11061 height of the cursor line to the amount to scroll.
eb77a5f4 11062
048addec 110632001-12-27 Richard M. Stallman <rms@gnu.org>
bb313871 11064
048addec
JD
11065 * intervals.c (set_point_both): The position after an invisible,
11066 intangible character is not an acceptable stopping point.
bb313871 11067
048addec 110682001-12-27 Ken Raeburn <raeburn@gnu.org>
55b43a63 11069
048addec
JD
11070 * window.c (enlarge_window): In new preserve_before code, convert
11071 CURBEG from lisp object to integer before doing arithmetic.
6052529b 11072
048addec 110732001-12-27 Richard M. Stallman <rms@gnu.org>
3ce081f5 11074
048addec 11075 * bytecode.c (Fbyte_code): Undo previous change.
3ce081f5 11076
048addec 110772001-12-26 Kim F. Storm <storm@cua.dk>
3ce081f5 11078
048addec
JD
11079 * keyboard.c (record_char): Ignore duplicate help-echo events only
11080 separated by mouse-movement. When tracking mouse, only record
11081 first and last mouse-movement event in same window.
11082 Don't record mouse-movement events in keyboard macros.
3ce081f5 11083
048addec 110842001-12-25 Richard M. Stallman <rms@gnu.org>
55b43a63 11085
048addec
JD
11086 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
11087 (Fenlarge_window): New arg PRESERVE_BEFORE.
111ed14e 11088
048addec
JD
11089 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
11090 instead of Fstring_as_unibyte.
9fabb2f5 11091
048addec 110922001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9fabb2f5 11093
048addec 11094 The following changes remove mocklisp support:
9fabb2f5 11095
048addec 11096 * mocklisp.h, mocklisp.c: Files removed.
111ed14e 11097
048addec
JD
11098 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
11099 `Qmocklisp' and `Qmocklisp_arguments'.
11100 Remove prototype of syms_of_mocklisp.
2fa0eedf 11101
048addec 11102 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
d1420435 11103
048addec
JD
11104 * callint.c: Do not include mocklisp.h.
11105 (Fcall_interactively): Do not test for mocklisp case.
2fa0eedf 11106
048addec
JD
11107 * eval.c: Remove variables `Qmocklisp_arguments',
11108 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
11109 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
11110 Do not test for mocklisp case.
11111 (Fwhile): Remove unused variable `tem'.
11112 (syms_of_eval): Remove variable `moclisp-arguments'.
ebcbef4e 11113
048addec 11114 * data.c (wrong_type_argument): Remove mocklisp case.
5c131048 11115
048addec 11116 * doc.c (Fdocumentation): Remove mocklisp case.
5c131048 11117
048addec 11118 * emacs.c (main): Do not call syms_of_mocklisp.
5c131048 11119
048addec 111202001-12-21 Richard M. Stallman <rms@gnu.org>
96d276c3 11121
048addec
JD
11122 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
11123 to the left or to the right of the pointer, put it against
11124 the left screen edge.
6108b49c 11125
048addec 111262001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
96d276c3 11127
048addec
JD
11128 * Makefile.in (distclean): Remove .gdbinit if we are building
11129 outside the source tree.
5eea19a4 11130
048addec 111312001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5eea19a4 11132
048addec 11133 * w32.c (emacs_root_dir): New function.
5eea19a4 11134
048addec 11135 * msdos.c (emacs_root_dir): New function.
5eea19a4 11136
048addec
JD
11137 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
11138 of the current drive as the fallback for default_directory.
438e57dd 11139
048addec
JD
11140 * dired.c (file_name_completion): Run the elements of
11141 completion-ignored-extensions through ENCODE_FILE.
438e57dd 11142
048addec
JD
11143 * lisp.h (scmp): Remove prototype, since it's now a static
11144 function private to dired.c.
c88e5347 11145
048addec 111462001-12-18 Richard M. Stallman <rms@gnu.org>
c88e5347 11147
048addec
JD
11148 * dired.c (scmp): Function moved from minibuf.c.
11149 Delete multibyte handling--used only on encoded strings.
59ce1461 11150
048addec 11151 * minibuf.c (scmp): Function moved to dired.c.
59ce1461 11152
048addec 11153 * fns.c (merge): Add QUIT call.
59ce1461 11154
048addec 111552001-12-18 Dave Love <fx@gnu.org>
8727d588 11156
048addec
JD
11157 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
11158 language/georgian.el.
8727d588 11159
048addec 111602001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
cc63037e 11161
048addec
JD
11162 * Makefile.in (lisp, shortlisp): Synchronize with changes to
11163 lisp/Makefile.in:DONTCOMPILE.
cc63037e 11164
048addec 111652001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
cc63037e 11166
048addec
JD
11167 * xdisp.c (window_box_height): Do not return negative values.
11168 From Gerd Moellmann <gerd@gnu.org>.
cc63037e 11169
048addec 11170 * keyboard.c (head_table): Add missing braces around initializer.
cc63037e 11171
048addec 11172 * term.c (keys): Likewise.
deece6f5 11173
048addec 11174 * xfns.c (x_frame_parms, visual_classes): Likewise.
deece6f5 11175
048addec 111762001-12-17 Sam Steingold <sds@gnu.org>
1b944d9c 11177
048addec
JD
11178 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
11179 patch (COMPOSING_P, not COMPOSING).
28ff4293 11180
048addec 111812001-12-17 Richard M. Stallman <rms@gnu.org>
a395ef6a 11182
048addec 11183 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
a395ef6a 11184
048addec
JD
11185 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
11186 before calling decode_coding.
9b46de40 11187
048addec 11188 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
9b46de40 11189
048addec
JD
11190 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
11191 instead of only for COMPOSITION_DISABLED.
9b46de40 11192
048addec 111932001-12-16 Richard M. Stallman <rms@gnu.org>
aff37336 11194
048addec 11195 * alloc.c (pure_alloc): After overflow, allocate just a small block.
aff37336 11196
048addec 11197 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
b9937f07 11198
048addec
JD
11199 * buffer.h (struct buffer): New field `display_error_modiff'.
11200 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
b9937f07 11201
048addec 11202 * window.c (Frecenter): Clear display_error_modiff field.
2cd23960 11203
048addec
JD
11204 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
11205 Call redisplay_window, but not if display_error_modiff field says no.
11206 (redisplay_window_error): New function.
11207 (displayed_buffer): New variable.
11208 (redisplay_internal, redisplay_windows): Call the new functions
11209 instead of redisplay_window directly.
2cd23960 11210
048addec 112112001-12-15 Richard M. Stallman <rms@gnu.org>
2cd23960 11212
048addec 11213 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2cd23960 11214
048addec 112152001-12-14 Andrew Innes <andrewi@gnu.org>
a4184c1c 11216
048addec
JD
11217 * makefile.w32-in (EMACSLOADPATH): Define.
11218 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
11219 (bootstrap-temacs): Remove dependency on bootstrap-clean.
a4184c1c 11220
048addec 112212001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
f6fa0866 11222
048addec
JD
11223 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
11224 parameter have a numeric value all the time.
f6fa0866 11225
048addec 11226 * w32fns.c (x_report_frame_params): Likewise.
f4ca4b00 11227
048addec 112282001-12-12 Richard M. Stallman <rms@gnu.org>
f4ca4b00 11229
048addec 11230 * fileio.c (Fwrite_region): Doc fix.
f4e25f94 11231
048addec
JD
11232 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
11233 (redisplay_internal): Call clear_image_cache only for window terminals.
f4e25f94 11234
048addec 112352001-12-12 Gerd Moellmann <gerd@gnu.org>
91c153e2 11236
048addec
JD
11237 * xdisp.c (move_it_vertically_backward): Change heuristic
11238 for the case that we didn't move far enough initially.
91c153e2 11239
048addec
JD
11240 * window.c (Frecenter): Simplify computation in the case of window
11241 system frames and ARG < 0; use window_box_height.
65b7d3e7 11242
048addec 112432001-12-11 Richard M. Stallman <rms@gnu.org>
65b7d3e7 11244
048addec
JD
11245 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
11246 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
6b5f6311 11247
048addec 112482001-12-11 Andrew Innes <andrewi@gnu.org>
6b5f6311 11249
048addec
JD
11250 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
11251 arg is negative.
be676094 11252
048addec 112532001-12-11 Richard M. Stallman <rms@gnu.org>
be676094 11254
048addec
JD
11255 * m/hp800.h: Split the __hpux conditional into the parts
11256 that are right for GNU/Linux too and the parts that are not.
11257 Use the former if GNU_LINUX.
11258 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
032a857d 11259
048addec 11260 * s/gnu-linux.h (GNU_LINUX): Defined.
032a857d 11261
048addec 112622001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
032a857d 11263
048addec
JD
11264 * macros.c, msdos.c, w16select.c: Change doc-string comments to
11265 `new style' [w/`doc:' keyword].
032a857d 11266
048addec 112672001-12-10 Jason Rumney <jasonr@gnu.org>
b6270150 11268
048addec
JD
11269 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
11270 before using.
b6270150 11271
048addec 112722001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
792e5cbd 11273
048addec
JD
11274 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
11275 keyword].
98cbb9fa 11276
048addec 112772001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
98cbb9fa 11278
048addec 11279 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
98cbb9fa 11280
048addec 11281 * s/hpux10.h (srand48): Don't undefine.
98cbb9fa 11282
048addec 112832001-12-09 Jason Rumney <jasonr@gnu.org>
792e5cbd 11284
048addec
JD
11285 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
11286 Add comment to explain where the struct came from.
11287 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
11288 (add_menu_item): Process pop-up menus first to avoid memory leak.
11289 (add_menu_item, w32_menu_display_help): Use `help' field as
11290 Lisp_Object.
11291 (w32_free_submenu_strings): Only free owner-drawn strings.
fa336b91 11292
048addec 112932001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
fa336b91 11294
048addec 11295 * COPYING: Moved back.
fa336b91 11296
048addec
JD
11297 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
11298 Add parentheses around && within ||.
077907d4 11299
048addec 11300 * indent.c (compute_motion): Likewise.
aa2af83a 11301
048addec 11302 * intervals.c (merge_properties_sticky): Likewise.
60a653f1 11303
048addec
JD
11304 * coding.c (setup_coding_system, shrink_encoding_region)
11305 (Fdecode_sjis_char): Likewise.
60a653f1 11306
048addec 113072001-12-07 Andreas Schwab <schwab@suse.de>
60a653f1 11308
048addec
JD
11309 * xdisp.c (display_mode_element): Don't read past end of string if
11310 it ends with '%'.
60a653f1 11311
048addec
JD
11312 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
11313 can hold.
60a653f1 11314
048addec
JD
11315 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
11316 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
11317 type changed to Lisp_Object.
11318 (syms_of_data): DEFVAR_LISP them.
60a653f1 11319
048addec 113202001-12-07 Richard M. Stallman <rms@gnu.org>
60a653f1 11321
048addec
JD
11322 * callproc.c (init_callproc): Set Vdata_directory based on the source
11323 location whenever Emacs was run uninstalled.
60a653f1 11324
048addec 113252001-12-06 Paul Eggert <eggert@twinsun.com>
60a653f1 11326
048addec
JD
11327 * config.in (HAVE_WORKING_VFORK): New #undefs.
11328 * process.c (create_process):
11329 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
11330 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
11331 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
11332 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
11333 * m/intel386.h (HAVE_VFORK): Likewise.
11334 * m/mips-siemens.h (HAVE_VFORK): Likewise.
11335 * m/mips.h (HAVE_VFORK): Likewise.
11336 * s/freebsd.h (vfork): Remove #define.
11337 * s/lynxos.h (HAVE_VFORK): Remove #undef.
11338 * s/usg5-4-2.h: Fix comment about vfork.
60a653f1 11339
048addec 113402001-12-06 Richard M. Stallman <rms@gnu.org>
60a653f1 11341
048addec
JD
11342 * s/hpux10.h (random): Add undef.
11343 (HAVE_RANDOM): Define it just once.
60a653f1 11344
048addec 113452001-12-06 Stefan Monnier <monnier@cs.yale.edu>
60a653f1 11346
048addec 11347 * eval.c: Undo last change: the standard syntax is not wanted.
60a653f1 11348
048addec 113492001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
60a653f1 11350
048addec
JD
11351 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
11352 scroll bars of the frame before deleting the frame itself. If the
11353 frame has a widget, delete the frame with XtDestroyWidget, and do
11354 not call XDestroyWindow before that.
60a653f1 11355
048addec 113562001-12-06 Kim F. Storm <storm@cua.dk>
60a653f1 11357
048addec 11358 * xfns.c (x_report_frame_params): Return actual fringe widths.
60a653f1 11359
048addec 11360 * w32fns.c (x_report_frame_params): Return actual fringe widths.
60a653f1 11361
048addec 113622001-12-05 Andrew Innes <andrewi@gnu.org>
60a653f1 11363
048addec
JD
11364 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
11365 excessively large.
60a653f1 11366
048addec
JD
11367 * insdel.c (make_gap_larger): New function.
11368 (make_gap_smaller): New function.
11369 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
11370 Call make_gap_smaller if arg is negative.
60a653f1 11371
048addec 113722001-12-04 Stefan Monnier <monnier@cs.yale.edu>
60a653f1 11373
048addec
JD
11374 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
11375 Pass a dummy argument when calling interrupt_signal.
11376 (parse_menu_item): Mark disabled items before checking for empty def.
11377 (read_char_minibuf_menu_prompt): Make safety more visible.
11378 (read_key_sequence): Add a `first_unbound' variable.
11379 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
11380 unbound prefix as soon as we can detect it.
60a653f1 11381
048addec
JD
11382 * doc.c (Fsnarf_documentation): Add prototype.
11383 (get_doc_string): Handle negative arguments.
11384 (Fdocumentation): Use AREF and ASIZE.
11385 Move the calls to get_doc_string to a single place.
11386 Don't confuse an interactive-spec for a docstring reference.
11387 (Fdocumentation_property): Take advantage of the fact that
11388 get_doc_string now ignores the sign of the docstring position.
60a653f1 11389
048addec 11390 * eval.c: Use standard syntax for usage in docstrings.
60a653f1 11391
048addec 113922001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
60a653f1 11393
a64387ee 11394 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
60a653f1 11395
048addec 113962001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
60a653f1 11397
048addec
JD
11398 * xterm.c (x_draw_image_relief): Use predefined macro instead of
11399 constant when the value of `tool_bar_button_relief' is negative.
60a653f1 11400
048addec 114012001-12-02 Richard M. Stallman <rms@gnu.org>
60a653f1 11402
048addec
JD
11403 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
11404 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
60a653f1 11405
048addec 11406 * fileio.c (read_non_regular): Delete Fsignal call.
60a653f1 11407
048addec 114082001-12-01 Stefan Monnier <monnier@cs.yale.edu>
60a653f1 11409
048addec 11410 * lisp.h (run_hook_list_with_args): Undo last change.
60a653f1 11411
048addec 114122001-12-01 Gerd Moellmann <gerd@gnu.org>
60a653f1 11413
048addec 11414 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
60a653f1 11415
048addec 114162001-12-01 Jason Rumney <jasonr@gnu.org>
60a653f1 11417
048addec 11418 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
60a653f1 11419
048addec
JD
11420 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
11421 [!WM_MOUSELEAVE]: Define.
60a653f1 11422
048addec
JD
11423 * w32menu.c (current_popup_menu, get_menu_item_info):
11424 (set_menu_item_info): New vars.
11425 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
11426 (w32_menu_show): Set current_popup_menu.
11427 (add_menu_item): Allocate new strings for owner-drawn menu items
11428 and help strings.
11429 Use owner-draw for disabled menu items again.
11430 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
11431 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
60a653f1 11432
048addec
JD
11433 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
11434 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
11435 <WM_EXITMENULOOP>: Free menu strings.
11436 <WM_MOUSELEAVE>: Stop tracking mouse.
11437 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
60a653f1 11438
048addec
JD
11439 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
11440 and mouse face.
60a653f1 11441
048addec 114422001-12-01 Kim F. Storm <storm@cua.dk>
60a653f1 11443
048addec
JD
11444 The following changes add left-fringe and right-fringe
11445 frame parameters to adjust fringe widths, or remove one or
11446 both fringes.
60a653f1 11447
048addec
JD
11448 * frame.h (struct frame): Remove trunc_area_pixel_width and
11449 trunc_area_cols fields.
11450 (Qleft_fringe, Qright_fringe): Declare.
11451 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
60a653f1 11452
048addec
JD
11453 * frame.c (Qleft_fringe, Qright_fringe): New vars.
11454 (syms_of_frame): Initialize them.
60a653f1 11455
048addec
JD
11456 * window.c (coordinates_in_window): Handle separate left and right
11457 fringe widths.
60a653f1 11458
048addec
JD
11459 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
11460 and fringe_cols fields.
11461 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
11462 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
11463 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
11464 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
11465 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
11466 (x_compute_fringe_widths): Add prototype.
60a653f1 11467
048addec
JD
11468 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
11469 fill fringe evenly with small dashes.
11470 (x_draw_fringe_bitmap): Clear background if necessary. Align and
11471 clip the new ZV bitmap to avoid jitter between rows.
11472 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
11473 background. Don't draw fringe bitmaps if fringe width is zero.
11474 (x_compute_fringe_widths): New function.
11475 (x_new_font, x_set_window_size_1): Use it.
60a653f1 11476
048addec
JD
11477 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
11478 (x_set_frame_parameters): Process `font' parameter before other
11479 parameters as fringe widths depend on it.
11480 (x_set_fringe_width): New function.
11481 (x_figure_window_size): Use x_compute_fringe_widths.
11482 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
11483 parameters.
60a653f1 11484
048addec
JD
11485 * widget.c (set_frame_size): Use x_compute_fringe_widths.
11486 (EmacsFrameSetCharSize): Ditto.
60a653f1 11487
048addec
JD
11488 * w32term.h: Merged changes from xterm.h.
11489 * w32term.c: Merged changes from xterm.c.
11490 * w32fns.c: Merged changes from xfns.c.
60a653f1 11491
048addec 114922001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
60a653f1 11493
048addec 11494 * COPYING: Removed.
60a653f1 11495
048addec 114962001-11-29 Dave Love <fx@gnu.org>
60a653f1 11497
048addec
JD
11498 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
11499 extra extra slot.
11500 (detect_coding_mask): Fix call of detect_coding_iso2022.
60a653f1 11501
048addec 115022001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
60a653f1 11503
048addec
JD
11504 * fileio.c (file-name-coding-system)
11505 (default-file-name-coding-system): Doc fix (links to referenced
11506 variables added).
60a653f1 11507
048addec 115082001-11-28 Stefan Monnier <monnier@cs.yale.edu>
60a653f1 11509
048addec
JD
11510 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
11511 Add dummy uses of gcproN variables.
60a653f1 11512
048addec
JD
11513 * category.c (describe_category, describe_category_1)
11514 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
11515 (syms_of_category): Don't defsubr Sdescribe_categories.
60a653f1 11516
048addec 115172001-11-28 Richard M. Stallman <rms@gnu.org>
60a653f1 11518
048addec 11519 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
60a653f1 11520
048addec
JD
11521 * Makefile.in (lispdir): New variable, referring to build dir.
11522 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
60a653f1 11523
048addec 115242001-11-28 Andrew Innes <andrewi@gnu.org>
60a653f1 11525
048addec
JD
11526 * w32menu.c (w32_menu_display_help): Actually add the new argument
11527 OWNER.
60a653f1 11528
048addec 115292001-11-28 Jason Rumney <jasonr@gnu.org>
60a653f1 11530
048addec
JD
11531 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
11532 menu items. From David Ponce <dponce@wanadoo.fr>.
11533 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
11534 conditionally.
11535 (w32_menu_display_help): New argument OWNER. Rewritten to store a
11536 help event in the owner frame's keyboard buffer.
60a653f1 11537
048addec
JD
11538 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
11539 (Fx_show_tip): Don't subtract last width from row width.
11540
11541 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
11542 (w32_read_socket): Use EQ to compare frames.
60a653f1 11543
048addec 115442001-11-28 Gerd Moellmann <gerd@gnu.org>
60a653f1 11545
048addec
JD
11546 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
11547 OVERLAPS_P.
60a653f1 11548
048addec 115492001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
60a653f1 11550
048addec
JD
11551 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
11552 `gcpro3' and `gcpro4'.
60a653f1 11553
048addec 11554 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
60a653f1 11555
048addec 115562001-11-28 Stefan Monnier <monnier@cs.yale.edu>
60a653f1 11557
048addec 11558 * ccl.c: Use AREF and ASIZE.
60a653f1 11559
048addec 115602001-11-27 Stefan Monnier <monnier@cs.yale.edu>
60a653f1 11561
048addec
JD
11562 * lisp.h (run_hook_list_with_args): Remove.
11563 (LIST_END_P): Fix call to wrong_type_argument.
11564 (make_fixnum_or_float): Use EMACS_INT rather than int.
60a653f1 11565
048addec 115662001-11-26 Stefan Monnier <monnier@cs.yale.edu>
60a653f1 11567
048addec
JD
11568 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
11569 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
60a653f1 11570
048addec
JD
11571 * eval.c: Use AREF and ASIZE.
11572 (Ffetch_bytecode): Add the file name to the error message.
60a653f1 11573
048addec
JD
11574 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
11575 which match the end of the file-name.
11576 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
11577 is not a valid env var, but leave it as is instead.
60a653f1 11578
048addec
JD
11579 * keymap.c (access_keymap): Handle t bindings like nil bindings.
11580 Make nil bindings in char-tables transparent.
11581 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
60a653f1 11582
048addec 115832001-11-26 Richard M. Stallman <rms@gnu.org>
60a653f1 11584
048addec
JD
11585 * textprop.c (set_text_properties_1): Allow START, END in either order.
11586 Do nothing if range is empty.
60a653f1 11587
048addec 11588 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
60a653f1 11589
048addec
JD
11590 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
11591 (clean): Not here.
60a653f1 11592
048addec 115932001-11-25 Stefan Monnier <monnier@cs.yale.edu>
60a653f1 11594
048addec
JD
11595 * textprop.c (set_text_properties_1): Clearly mark that the
11596 interval should not be empty.
60a653f1 11597
048addec
JD
11598 * intervals.c (graft_intervals_into_buffer):
11599 Don't call set_text_properties_1 on an empty interval.
60a653f1 11600
048addec 116012001-11-25 Richard M. Stallman <rms@gnu.org>
60a653f1 11602
048addec 11603 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
60a653f1 11604
048addec
JD
11605 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
11606 don't lose the data in it.
60a653f1 11607
048addec 116082001-11-25 Juanma Barranquero <lektu@terra.es>
60a653f1 11609
048addec 11610 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
60a653f1 11611
048addec 11612 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
60a653f1 11613
048addec 11614 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
60a653f1 11615
048addec 116162001-11-25 Stefan Monnier <monnier@cs.yale.edu>
60a653f1 11617
048addec 11618 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
60a653f1 11619
048addec 116202001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
60a653f1 11621
048addec
JD
11622 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
11623 Niemitalo <kon@iki.fi>.
60a653f1 11624
048addec 116252001-11-25 Jason Rumney <jasonr@gnu.org>
60a653f1 11626
048addec 11627 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
60a653f1 11628
048addec
JD
11629 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
11630 (Fx_show_tip): Block input during frame creation.
11631 (Fx_show_tip, Fx_hide_tip): Enable.
60a653f1 11632
048addec 116332001-11-24 Richard M. Stallman <rms@gnu.org>
60a653f1 11634
048addec
JD
11635 * lread.c (Fload): Detect recursive load error for more than 3
11636 nestings of the same file.
11637 (Vrecursive_load_depth_limit): Variable deleted.
11638 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
60a653f1 11639
048addec 116402001-11-24 Jason Rumney <jasonr@gnu.org>
60a653f1 11641
048addec
JD
11642 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
11643 mouse position if either left or top is not specified.
60a653f1 11644
048addec
JD
11645 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
11646 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
11647 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
11648 (my_create_tip_window): Assign tip_window.
11649 (x_create_tip_frame): Use same defaults as X.
11650 (compute_tip_xy): Remove unused variable. Use full screen width.
11651 (Fx_show_tip): Do not double height. Call ShowWindow directly.
60a653f1 11652
048addec
JD
11653 * w32term.c (x_after_update_window_line): Doc fix.
11654 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
11655 frames.
11656 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
60a653f1 11657
048addec
JD
11658 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
11659 for all Windowed systems.
60a653f1 11660
048addec 116612001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
60a653f1 11662
048addec
JD
11663 * msdos.c (IT_clear_screen): If the frame's faces are not yet
11664 realized, use the initial screen colors to clear the screen.
60a653f1 11665
048addec 116662001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
60a653f1 11667
048addec
JD
11668 * textprop.c (Fset_text_properties): Remove unused variables
11669 `unchanged', `prev_changed', `s' and `len'.
60a653f1 11670
048addec
JD
11671 * search.c (Freplace_match): Remove unused variable `inslen'.
11672
11673 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
11674
116752001-11-22 Jason Rumney <jasonr@gnu.org>
11676
11677 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
11678 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
11679 (my_create_tip_window): New function.
11680 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
11681 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
11682
116832001-11-20 Jason Rumney <jasonr@gnu.org>
11684
11685 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
11686 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
11687
11688 * w32fns.c (Vw32_system_coding_system): Remove.
11689 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
11690
116912001-11-19 Stefan Monnier <monnier@cs.yale.edu>
11692
11693 * fileio.c (Fwrite_region): Move choose_write_coding_system to
11694 after build_annotations.
11695
11696 * syntax.c (describe_syntax): Add dummy arg.
11697 (describe_syntax_1): Update call to describe_vector.
11698
11699 * category.c (describe_category): Add dummy arg.
11700 (describe_category_1): Update call to describe_vector.
11701
11702 * keymap.c (Fdescribe_vector): Add `describer' parameter.
11703 (describe_command, describe_translation): Add dummy second param.
11704 (describe_map): Call elt_describer with two arguments.
11705 (describe_vector_princ): Add `fun' parameter.
11706 Call it instead of the hardcoded `princ'.
11707 (describe_vector): Add arg `args'.
11708 Pass it as a new second argument to elt_describer.
60a653f1 11709
048addec 11710 * keymap.h (describe_vector): Update prototype.
60a653f1 11711
048addec
JD
11712 * frame.c: Don't include keymap.h any more.
11713 (keys_of_frame): Remove.
60a653f1 11714
048addec 11715 * lisp.h (keys_of_frame): Remove declaration.
60a653f1 11716
048addec 11717 * emacs.c (main): Don't call `keys_of_frame' any more.
60a653f1 11718
048addec 117192001-11-14 Andreas Schwab <schwab@suse.de>
60a653f1 11720
048addec
JD
11721 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
11722 if defined, 0 otherwise.
11723 (MAP_FAILED): Define if not defined and use it to test mmap failure.
11724 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
60a653f1 11725
048addec 117262001-11-19 Richard M. Stallman <rms@gnu.org>
60a653f1 11727
048addec 11728 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
60a653f1 11729
048addec 117302001-11-18 Jason Rumney <jasonr@gnu.org>
60a653f1 11731
048addec
JD
11732 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
11733 (x_draw_bar_cursor): If the background color of the glyph under
11734 the cursor equals the frame's cursor color, use the glyph's
11735 foreground color for drawing the bar cursor.
11736 (x_after_update_window_line): Clear internal border in different
11737 circumstances.
11738 (w32_set_vertical_scroll_bar): Check for width and height > 0.
11739 (w32_draw_relief_rect): Correct relief by 1 pixel.
11740 (x_set_glyph_string_background_width):
11741 Set extends_to_end_of_line_p if the row's fill_line_p is set and
11742 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
11743 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
11744 if cursor_in_non_selected_windows is false.
11745 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
11746 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
11747 Notice if cursor gets overwritten.
11748 (notice_overwritten_cursor): Renamed from
11749 note_overwritten_text_cursor. Rewritten to take glyph widths
11750 into account, and to take X positions as parameters.
11751 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
11752 around call to x_draw_glyphs.
11753 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
11754 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
11755 color to use for image glyph reliefs.
11756 (x_draw_image_relief): Accept zero tool_bar_button_relief.
11757 (glyph_rect): Remove unused variable `area'.
60a653f1 11758
048addec
JD
11759 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
11760 some items.
11761 (x_set_internal_border_width): Set frame garbaged when window
11762 doesn't exist yet.
11763 (Fx_create_frame): Accept zero tool_bar_button_relief.
11764 (x_clear_image_1, four_corners_best, image_background)
11765 (image_background_transparent): New functions.
11766 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
11767 (gs_format): Add `:background' entry.
11768 (lookup_image): Set IMG's background color if specified.
11769 (pbm_load, xbm_load_image, png_load): Set IMG's background field
11770 when appropriate.
11771 (x_clear_image_1): Reset `background_valid' and
11772 `background_transparent_valid' fields.
11773 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
11774 calculating it here. Set IMG's background_transparent field.
11775 (enum xpm_keyword_index): Add XPM_BACKGROUND.
11776 (enum png_keyword_index): Add PNG_BACKGROUND.
11777 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
11778 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
11779 (enum gif_keyword_index): Add GIF_BACKGROUND.
11780 (enum gs_keyword_index): Add GS_BACKGROUND.
11781 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
11782 Pre-calculate image background color where necessary.
11783 (x_create_x_image_and_pixmap, xbm_load, gs_load):
11784 Use display info's n_cbits entry for screen depth.
11785 (Fx_show_tip): Remove unused variables `buffer', `top',
11786 `left', `max_width' and `max_height'.
60a653f1 11787
048addec 11788 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
60a653f1 11789
048addec 117902001-11-18 Gerd Moellmann <gerd@gnu.org>
60a653f1 11791
048addec 11792 * puresize.h (BASE_PURESIZE): Increase to 750000.
60a653f1 11793
048addec 117942001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
60a653f1 11795
048addec 11796 * frame.c (Fframe_live_p): Doc fix.
60a653f1 11797
048addec 117982001-11-18 Richard M. Stallman <rms@gnu.org>
60a653f1 11799
048addec
JD
11800 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
11801 (message_dolog_marker3): New static variables hold three markers.
11802 (syms_of_xdisp): Initialize and staticpro them.
11803 (message_dolog): Use message_dolog_marker1..3 instead of
11804 allocating markers each time. Unchain them when done.
60a653f1 11805
048addec 118062001-11-17 Richard M. Stallman <rms@gnu.org>
60a653f1 11807
048addec 11808 * doc.c (Fsnarf_documentation): Doc fix.
60a653f1 11809
048addec 118102001-11-17 Andreas Schwab <schwab@suse.de>
60a653f1 11811
048addec 11812 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
60a653f1 11813
048addec 118142001-11-17 Richard M. Stallman <rms@gnu.org>
60a653f1 11815
048addec 11816 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
60a653f1 11817
048addec 118182001-11-17 Jason Rumney <jasonr@gnu.org>
60a653f1 11819
048addec 11820 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
60a653f1 11821
048addec 118222001-11-17 Gerd Moellmann <gerd@gnu.org>
60a653f1 11823
048addec
JD
11824 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
11825 with invalid position.
60a653f1 11826
048addec 118272001-11-16 Richard M. Stallman <rms@gnu.org>
60a653f1 11828
048addec 11829 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
60a653f1 11830
048addec
JD
11831 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
11832 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
11833 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
60a653f1 11834
048addec 11835 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
60a653f1 11836
048addec 118372001-11-16 Stefan Monnier <monnier@cs.yale.edu>
60a653f1 11838
048addec
JD
11839 * fileio.c (build_annotations): Split off the tail.
11840 (build_annotations_2): New fun. Extracted from build_annotations.
11841 (Fwrite_region): Split the call to build_annotations into two
11842 calls to build_annotations and build_annotations_2.
077907d4 11843
048addec 118442001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
1756e2fb 11845
048addec
JD
11846 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
11847 clear_waiting_for_input with argument.
1756e2fb 11848
048addec 11849 * xterm.h (x_update_cursor): Remove duplicated prototype.
06e8f738 11850
048addec 11851 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
06e8f738 11852
048addec 11853 * xterm.c (waiting_for_input): Remove unnecessary declaration.
fa336b91 11854
048addec 11855 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
fa336b91 11856
048addec 118572001-11-16 Stefan Monnier <monnier@cs.yale.edu>
fa336b91 11858
048addec
JD
11859 * fileio.c (choose_write_coding_system): New fun, extracted
11860 from Fwrite_region.
11861 (Fwrite_region): Use it.
fa336b91 11862
048addec
JD
11863 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
11864 (funcall_lambda, run_hook_with_args): Make static and add prototype.
11865 (ml_apply, find_handler_clause): Add prototype.
fa336b91 11866
048addec 118672001-11-16 Eli Zaretskii <eliz@gnu.org>
fa336b91 11868
048addec 11869 * config.in: Add #undef HAVE_COFF_H.
fa336b91 11870
048addec
JD
11871 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
11872 Required for ISC 4.1.
fa336b91 11873
048addec 118742001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
fa336b91 11875
048addec
JD
11876 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
11877 Andrew Wiseman <a.wiseman@btclick.com>.
fa336b91 11878
048addec 118792001-11-16 Kim F. Storm <storm@cua.dk>
fa336b91 11880
048addec
JD
11881 The following changes are made to clean up the various internal
11882 references to the fringes to actually use the term `fringe' for
11883 them. Previously, they were called `flags areas', `bitmap areas',
11884 `left/right side of windows', or implicitly as `flags' or
11885 `bitmaps':
fa336b91 11886
048addec
JD
11887 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
11888 Comments fixed. Use renamed symbols.
06e8f738 11889
048addec 11890 * dispnew.c: Comment fix. Use renamed symbols.
06e8f738 11891
048addec
JD
11892 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
11893 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
11894 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
9ce647f4 11895
048addec 11896 * msdos.c: Comment fix.
9ce647f4 11897
048addec 11898 * w32fns.c: Use renamed symbols.
9b784ab8 11899
048addec
JD
11900 * w32term.c: Comment fixes. Use renamed symbols.
11901 (fringe_bitmap_type): Renamed from bitmap_type.
11902 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
11903 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
11904 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
9f7e52b4 11905
048addec
JD
11906 * w32term.h: Comment fixes. Use renamed symbols.
11907 (fringes_extra): Renamed from flags_areas_extra.
11908 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
11909 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
11910 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
11911 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
11912 (FRAME_X_LEFT_FRINGE_WIDTH):
11913 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
11914 (FRAME_X_RIGHT_FRINGE_WIDTH):
11915 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
9f7e52b4 11916
048addec 11917 * widget.c: Use renamed symbols.
9f7e52b4 11918
048addec
JD
11919 * window.c: Comment fixes. Use renamed symbols.
11920 (coordinates-in-window-p): Doc fix.
fa336b91 11921
048addec 11922 * xdisp.c: Comment fixes. Use renamed symbols.
34e5d0af 11923
048addec 11924 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
9b784ab8 11925
048addec 11926 * xfns.c: Use renamed symbols.
89512fcd 11927
048addec
JD
11928 * xterm.c: Comment fixes. Use renamed symbols.
11929 (fringe_bitmap_type): Renamed from bitmap_type.
11930 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
11931 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
11932 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
89512fcd 11933
048addec
JD
11934 * xterm.h: Comment fixes. Use renamed symbols.
11935 (fringes_extra): Renamed from flags_areas_extra.
11936 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
11937 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
11938 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
11939 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
11940 (FRAME_X_LEFT_FRINGE_WIDTH):
11941 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
11942 (FRAME_X_RIGHT_FRINGE_WIDTH):
11943 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
11944
119452001-11-15 Jason Rumney <jasonr@gnu.org>
11946
11947 * w32menu.c (add-menu-item): Make help_echo and radio buttons
11948 work for most menu items. From David Ponce
11949 <david.ponce@wanadoo.fr>.
11950
119512001-11-15 Gerd Moellmann <gerd@gnu.org>
11952
11953 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
11954 Some x_set_* function expect to be called even if old and new
11955 value are equal.
11956
11957 * xdisp.c (build_desired_tool_bar_string): Accept zero
11958 tool_bar_button_relief.
11959
11960 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
11961
11962 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
11963
11964 * xterm.c (x_draw_bar_cursor): If the background color of the
11965 glyph under the cursor equals the frame's cursor color, use
11966 the glyph's foreground color for drawing the bar cursor.
11967
11968 * dispnew.c (direct_output_forward_char): Fix character/byte
11969 position comparison.
7d18891d 11970
048addec 119712001-11-15 Miles Bader <miles@gnu.org>
d2936d21 11972
048addec
JD
11973 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
11974 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
11975 Update arguments to find_field.
11976 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
11977 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
11978 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
11979 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
7d18891d 11980
048addec 119812001-11-14 Richard M. Stallman <rms@gnu.org>
7d18891d 11982
048addec 11983 * editfns.c (Fpropertize): Allow call with 1 arg.
7d18891d 11984
048addec
JD
11985 * dispextern.h (image_background, image_background_transparent):
11986 Conditionalize on HAVE_X_WINDOWS.
7d18891d 11987
048addec 119882001-11-13 Richard M. Stallman <rms@gnu.org>
7d18891d 11989
048addec 11990 * print.c (Fprin1_to_string): Doc fix.
7d18891d 11991
048addec 11992 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
7d18891d 11993
048addec 11994 * floatfns.c (Fceiling, Ffloor): Doc fixes.
7d18891d 11995
048addec 11996 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
7d18891d 11997
048addec 11998 * fileio.c (Ffile_accessible_directory_p): Doc fix.
7d18891d 11999
048addec 12000 * eval.c (syms_of_eval): Doc fix.
7d18891d 12001
048addec 12002 * coding.c (syms_of_coding): Doc fix.
7d18891d 12003
048addec 12004 * doc.c (Fsnarf_documentation): Doc fix.
7d18891d 12005
048addec 12006 * dispnew.c (syms_of_display): Doc fix.
9474c847 12007
048addec 12008 * category.c (Fget_unused_category): Doc fix.
9474c847 12009
048addec 12010 * buffer.c (syms_of_buffer): Doc fixes.
e3059a5d 12011
048addec 120122001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
e3059a5d 12013
048addec 12014 * print.c (prin1, print): Doc fix.
e3059a5d 12015
048addec 120162001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
b3700ae7 12017
048addec
JD
12018 * fontset.h: Remove declarations of variables
12019 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
b3700ae7 12020
048addec
JD
12021 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
12022 `Vclip_large_size_font'.
eae936e2 12023
048addec 120242001-11-13 Jason Rumney <jasonr@gnu.org>
4bb962be 12025
048addec 12026 * w32fns.c: Doc fix.
ddb67bdc 12027
048addec 120282001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3467c402 12029
048addec 12030 * xfaces.c (Fface_attributes_as_vector): Doc fix.
3467c402 12031
048addec 12032 * fns.c: Doc fix.
6e1b91d7 12033
048addec 12034 * emacs.c: Doc fix.
1c1d3d69 12035
048addec 12036 * coding.c: Doc fix.
1c1d3d69 12037
048addec
JD
12038 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
12039 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
12040 `new style' [w/`doc:' keyword].
b6f4c7ba 12041
048addec 120422001-11-12 Richard M. Stallman <rms@gnu.org>
b6f4c7ba 12043
048addec
JD
12044 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
12045 LeaveNotify events. Only FocusIn and FocusOut do that now.
12046 (x_display_and_set_cursor): Do display hollow cursors in active
12047 minibuffer windows when they are not selected.
b6f4c7ba 12048
048addec 120492001-11-12 Jason Rumney <jasonr@gnu.org>
a89f435d 12050
048addec
JD
12051 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
12052 * w32term.c: Change doc-string comments to `new style'.
12053 [w/`doc:' keyword]. Doc fixes.
a89f435d 12054
048addec
JD
12055 * w32fns.c: Don't define max.
12056 (Fx_open_connection): Only execute once.
a4cd0cd7 12057
048addec 120582001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
eafb659a 12059
048addec
JD
12060 * ccl.c: Change macros to use do-while block instead of if-else.
12061 Use braces to follow GNU Coding Standards.
eafb659a 12062
048addec 120632001-11-11 Richard M. Stallman <rms@gnu.org>
a4cd0cd7 12064
048addec 12065 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
a4cd0cd7 12066
048addec 12067 * lread.c (read_escape): Use end_of_file_error for reporting eof.
a4cd0cd7 12068
048addec
JD
12069 * insdel.c (replace_range): Use adjust_markers_for_replace
12070 instead of adjust_markers_for_delete and adjust_markers_for_insert.
a4cd0cd7 12071
048addec 12072 * intervals.h: Declare set_text_properties and set_text_properties_1.
a4cd0cd7 12073
048addec
JD
12074 * textprop.c (set_text_properties_1): New subroutine
12075 broken out of set_text_properties.
12076 (set_text_properties): Use set_text_properties_1.
91823618 12077
048addec
JD
12078 * intervals.c (graft_intervals_into_buffer):
12079 Use set_text_properties_1 to clear out properties.
91823618 12080
048addec
JD
12081 * search.c (Freplace_match): Use replace_range to insert
12082 and delete. Don't request property inheritance from
12083 surrounding text.
86928dfb 12084
048addec 120852001-11-10 Jason Rumney <jasonr@gnu.org>
86928dfb 12086
048addec
JD
12087 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
12088 vertical fonts. Allow them if face name is explicitly specified.
12089 Do not give up if we find a font that cannot be converted to an xlfd.
40ef1eda 12090
048addec 120912001-11-10 Gerd Moellmann <gerd@gnu.org>
ab8469eb 12092
048addec
JD
12093 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
12094 instead of malloc/free.
a78e0303 12095
048addec 120962001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
40ef1eda 12097
048addec
JD
12098 * xfaces.c (merge_face_vectors): Use braces to follow GNU
12099 Coding Standards.
12100 (Finternal_set_lisp_face_attribute): Likewise.
fabf4a91 12101
048addec 12102 * buffer.c (Fbury_buffer): Likewise.
0c99b139 12103
048addec 12104 * indent.c (current_column_1): Remove unused variable `prev_col'.
0c99b139 12105
048addec
JD
12106 * coding.c (encode_coding): Use precomputed value of `src'.
12107 (encode_coding): Remove unused variable `src_end'.
12108 (code_convert_region): Remove unused variables `count'.
830ddd77 12109
048addec 121102001-11-07 Jason Rumney <jasonr@gnu.org>
830ddd77 12111
048addec
JD
12112 * w32term.c (x_display_and_set_cursor): Do not move system caret
12113 if cursor_glyph is NULL.
55c6d645 12114
048addec 121152001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
55c6d645 12116
048addec 12117 * keymap.c (access_keymap): Fix compilation error.
5de38842 12118
048addec 121192001-11-07 Miles Bader <miles@gnu.org>
7a4564a4 12120
048addec 12121 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
5de38842 12122
048addec 121232001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4fa23df5 12124
048addec
JD
12125 * intervals.c (graft_intervals_into_buffer):
12126 Remove #ifdef'd-out code.
12127 (graft_intervals_into_buffer): Remove unused variable `middle'.
4fa23df5 12128
048addec
JD
12129 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
12130 code (eval-current-buffer).
12131 Change doc-string comments to `new style' [w/`doc:' keyword].
7a6a97d7 12132
048addec 121332001-11-06 Richard M. Stallman <rms@gnu.org>
c191d13c 12134
048addec 12135 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
7a6a97d7 12136
048addec 121372001-11-06 Stefan Monnier <monnier@cs.yale.edu>
44dc78e0 12138
048addec 12139 * lread.c (read1): Fix behavior with nested backquoting.
44dc78e0 12140
048addec
JD
12141 * keyboard.c (make_lispy_event): Check integerness and fix
12142 Lisp_Object/int mixup.
17893c65 12143
048addec 121442001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4d994a79 12145
048addec 12146 * fns.c (copy_hash_table): Remove unused variable `v'.
d5360cc7 12147
048addec
JD
12148 * fontset.c (fontset_font_pattern): Remove unused variable
12149 `family_registry'.
d5360cc7 12150
048addec 12151 * indent.c (current_column_1): Remove unused variable `prev_col'.
d5360cc7 12152
048addec 121532001-11-05 Richard M. Stallman <rms@gnu.org>
96238a5a 12154
048addec 12155 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
96238a5a 12156
048addec
JD
12157 * buffer.c (Fkill_buffer): Don't delete auto save file
12158 if buffer is modified.
d9d54213 12159
048addec 121602001-11-05 Andrew Innes <andrewi@gnu.org>
d9d54213 12161
048addec
JD
12162 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
12163 CHECK_NUMBER_CDR.
b116830b 12164
048addec 121652001-11-05 Richard M. Stallman <rms@gnu.org>
b116830b 12166
048addec 12167 * unexelf.c (unexec): Minor changes; clean up comments.
3297e2a1 12168
048addec 121692001-11-05 Sam Steingold <sds@gnu.org>
3297e2a1 12170
048addec 12171 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
6fb8339c 12172
048addec 121732001-11-05 Andreas Schwab <schwab@suse.de>
6fb8339c 12174
048addec 12175 * sound.c (sound_perror): Save errno from being clobbered.
7dd73b78 12176
048addec 121772001-11-05 Dale Hagglund <rdh@yottayotta.com>
7dd73b78 12178
048addec
JD
12179 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
12180 the program image directly.
982f6c7e 12181
048addec 121822001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
d31053f9 12183
048addec 12184 * buffer.h (Fbuffer_local_value): Add prototype.
d31053f9 12185
048addec 121862001-11-04 Richard M. Stallman <rms@gnu.org>
d31053f9 12187
048addec
JD
12188 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
12189 and CHECK_BUFFER.
d31053f9 12190
048addec
JD
12191 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
12192 (record_char): Likewise.
d31053f9 12193
048addec
JD
12194 * keyboard.c (make_lispy_event): Don't insist a drag event must
12195 move to a different buffer position. Instead, check for moving at
12196 least double_click_fuzz.
982f6c7e 12197
048addec 12198 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
830047fd 12199
048addec 12200 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
b116830b 12201
048addec
JD
12202 * indent.c (current_column_1, Fmove_to_column): Separate the code
12203 for display-table glyphs from the code for buffer text, to fix
12204 bugs in the former.
830047fd 12205
048addec 122062001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
b116830b 12207
048addec
JD
12208 * buffer.c (Fbuffer_local_value): New function.
12209 (syms_of_buffer): Defsubr it.
2df5238c 12210
048addec
JD
12211 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
12212 value of `cursor-in-non-selected-windows'.
4e397688 12213
048addec
JD
12214 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
12215 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
12216 (syms_of_xdisp): Initialize it.
48b0f3ae 12217
048addec 122182001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2df5238c 12219
048addec 12220 * xfns.c (Fx_create_frame): Doc fix.
3ecaf7e5 12221
048addec
JD
12222 * coding.c: Change doc-string comments to `new style' [w/`doc:'
12223 keyword].
3ecaf7e5 12224
048addec
JD
12225 * eval.c (top_level_value, top_level_set): Remove commented and
12226 #ifdef'd-out code.
12227 (Fdefvar): Fix usage in doc-string.
3ecaf7e5 12228
048addec 122292001-11-03 Richard M. Stallman <rms@gnu.org>
3ecaf7e5 12230
048addec 12231 * xfns.c: Include unistd.h, if it exists.
8db2e33b 12232
048addec 12233 * editfns.c: Move the include of ctype.h after unistd.h.
8db2e33b 12234
048addec 12235 * gmalloc.c: Test BROKEN_PROTOTYPES.
aed29b97 12236
048addec 122372001-11-03 Ken Raeburn <raeburn@gnu.org>
aed29b97 12238
048addec
JD
12239 * lisp.h (CHECK_STRING_CAR): New macro.
12240 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
12241 treating XCAR and XCDR as lvalues.
12242 (openp): Use CHECK_STRING_CAR.
12243 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
aed29b97 12244
048addec 122452001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
6cb16f95 12246
048addec
JD
12247 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
12248 (SIGMASKTYPE): Define.
1b1acc13 12249
048addec 12250 * syssignal.h (sigunblock): Don't define if already defined.
020f9b38 12251
048addec 122522001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
020f9b38 12253
048addec
JD
12254 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
12255 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
12256 Fix typos in comments.
6cb16f95 12257
048addec
JD
12258 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
12259 and #ifdef'd-out code.
12260 Fix and reindent comments.
6cb16f95 12261
048addec 12262 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
6cb16f95 12263
048addec
JD
12264 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
12265 argument `i' in macros.
6cb16f95 12266
048addec
JD
12267 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
12268 `i' in macros.
7e9d3c2f 12269
048addec
JD
12270 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
12271 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
12272 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
12273 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
12274 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
12275 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
12276 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
12277 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
12278 in macros.
7e9d3c2f 12279
048addec
JD
12280 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
12281 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
12282 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
12283 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
12284 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
12285 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
12286 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
12287 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
12288 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
12289 (remove unused second argument).
7e9d3c2f 12290
048addec 122912001-11-02 Stefan Monnier <monnier@cs.yale.edu>
e6bff182 12292
048addec
JD
12293 * syntax.c (describe_syntax): New wrapper.
12294 (Finternal_describe_syntax_value): Rename from describe_syntax.
12295 Don't insert space at front and \n at the end.
12296 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
e6bff182 12297
048addec
JD
12298 * regex.c (re_wctype): Try to fix some warnings.
12299 (regcomp, regexec): Don't forget the __restrict.
9ba48103 12300
048addec 123012001-11-02 Richard M. Stallman <rms@gnu.org>
9ba48103 12302
048addec 12303 * textprop.c (Fget_char_property): Doc fix.
9ba48103 12304
048addec 123052001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9ba48103 12306
048addec 12307 * process.c (Fstart_process): Add usage to doc-string.
c22e59e1 12308
048addec 12309 * data.c (Fsetq_default): Ditto.
c22e59e1 12310
048addec 12311 * callint.c (Finteractive): Ditto.
9271ed2c 12312
048addec 123132001-11-01 Stefan Monnier <monnier@cs.yale.edu>
e6bff182 12314
048addec
JD
12315 * macros.c: Don't include keymap.h any more.
12316
123172001-11-01 Richard M. Stallman <rms@gnu.org>
12318
12319 * data.c (Fmake_local_variable): Doc fix.
12320
12321 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
12322 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
e6bff182 12323
048addec 12324 * keymap.c (Fdescribe_buffer_bindings): Print character property
9271ed2c
RS
12325 bindings along with or instead of the buffer local map.
12326 Make the overriding maps override what they should.
12327
f00691a3 123282001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8b8bd9c6
PJ
12329
12330 * window.c (grow_mini_window): Fix typo in comment.
12331
27188d11
GM
123322001-11-01 Gerd Moellmann <gerd@gnu.org>
12333
7b49b9d2
GM
12334 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
12335 (XTset_vertical_scroll_bar): Likewise.
12336
43f7c3ea
GM
12337 * xfns.c (x_build_heuristic_mask): Use four_corners_best
12338 instead of IMAGE_BACKGROUND.
c22e59e1 12339
b350c2e5
GM
12340 * xfns.c (four_corners_best): Reindent.
12341
c22e59e1 12342 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
12343 Handle :box so that it is possible to specify sexprs.
12344
bf00d461
EZ
123452001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
12346
12347 * s/hpux11.h: New file.
12348
f00691a3 123492001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4e10df59 12350
2b209b97
PJ
12351 * emacs.c (USAGE1): Show command line option --no-window-system
12352 instead of --no-windows in usage.
12353 (standard_args): Rename --no-windows to --no-window-system.
12354 (bug_reporting_address): Follow Emacs coding conventions.
12355
9dbc9081
PJ
12356 * eval.c (Fcommandp): Doc fix.
12357 Change doc-string comments to `new style' [w/`doc:' keyword].
12358
4e10df59
PJ
12359 * frame.c (Fframe_live_p): Doc fix.
12360
12361 * buffer.c (selective-display-ellipses): Doc fix.
12362
dd387b25
GM
123632001-10-31 Gerd Moellmann <gerd@gnu.org>
12364
fe957e65
GM
12365 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
12366
dd387b25
GM
12367 * xfaces.c (realize_x_face): If C is not a single-byte character,
12368 set the face's colors_copied_bitwise_p instead of the defaulted_p
12369 members which have a different meaning.
12370 (free_face_colors): Do nothing for a face whose colors have been
12371 copied bitwise.
12372
c22e59e1 12373 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 12374
f00691a3 123752001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2e1280f8 12376
687784e8
PJ
12377 * marker.c, mocklisp.c: Change doc-string comments to `new style'
12378 [w/`doc:' keyword].
2e1280f8 12379
b9d9a9b9
GM
123802001-10-31 Gerd Moellmann <gerd@gnu.org>
12381
12382 * fns.c (require_unwind): Return Lisp_Object.
12383
f00691a3 123842001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
48400103 12385
fa1361cb
PJ
12386 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
12387 (last-input-char): Revert doc-string to be the same as the
12388 doc-string of `last-input-event'.
12389
6c465a15 12390 * xdisp.c: Fix typos in comments.
48400103 12391
eafa3196
GM
123922001-10-31 Gerd Moellmann <gerd@gnu.org>
12393
12394 * window.c (grow_mini_window): Handle case that the root
12395 window is already smaller than the nominal mininum height.
12396
747d3f2a
SM
123972001-10-30 Stefan Monnier <monnier@cs.yale.edu>
12398
bf9bb76f
SM
12399 * emacs.c (main): Don't call keys_of_macros any more.
12400
12401 * lisp.h (keys_of_macros): Remove.
12402
12403 * macros.c (keys_of_macros): Remove.
12404
747d3f2a
SM
12405 * xfaces.c (Fface_attribute_relative_p): Declare args.
12406
5e905a57
JR
124072001-10-30 Jason Rumney <jasonr@gnu.org>
12408
12409 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
12410 (enum_font_cb2): Ignore fonts with vertical orientation.
12411
3a426197
RS
124122001-10-30 Richard M. Stallman <rms@gnu.org>
12413
12414 * keyboard.c (Finput_pending_p): Doc fix.
12415
a742d646
GM
124162001-10-30 Gerd Moellmann <gerd@gnu.org>
12417
259cf6bc
GM
12418 * xterm.c (x_after_update_window_line): Don't run the code
12419 clearing in borders for rows whose visible height is 0.
12420
3f99f948
GM
12421 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
12422 resized_p flag is set. If not set, use the much less flickering
12423 method previously used.
12424
12425 * dispnew.c (change_frame_size_1): Set frame's resized_p.
12426
12427 * frame.h (struct frame) <resized_p>: New member.
12428
b4a3be43
GM
12429 * lread.c (to_multibyte): Ensure read_buffer is at least twice
12430 as large as the number of bytes to convert.
747d3f2a 12431
a742d646
GM
12432 * lread.c (to_multibyte): New function.
12433 (read1): Use it.
12434
cacbb9e9
EZ
124352001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
12436
12437 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
12438
99cb6b2f
GM
124392001-10-30 Gerd Moellmann <gerd@gnu.org>
12440
327f42ee 12441 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
12442 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
12443 if the row's fill_line_p is set and drawing the last glyph with
12444 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 12445
99cb6b2f
GM
12446 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
12447
8e8223e2
SM
124482001-10-29 Stefan Monnier <monnier@cs.yale.edu>
12449
12450 * xmenu.c: Include coding.h and charset.h.
12451 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
12452 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
12453 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
12454 Explicitly set wv->help. Use `TRUE' rather than `True'.
12455 (menu_help_callback): Use empty_string.
12456
12457 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
12458 (Fx_popup_dialog): Explicitly init f.
12459 (w32_menu_display_help): Use empty_string.
12460
4d083a8f
RS
124612001-10-29 Richard M. Stallman <rms@gnu.org>
12462
b2304472
RS
12463 * fns.c (Frequire): Detect recursive try to require the same
12464 feature 3 or more levels deep, and get error.
12465 (require_unwind): New subroutine.
12466 (require_nesting_list): New variable.
12467 (syms_of_fns): Init and staticpro it.
12468
4d083a8f
RS
12469 * print.c (print_object): Clarify indication of insertion type.
12470
2fe41216
EZ
124712001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
12472
90480000
EZ
12473 * coding.c (syms_of_coding): Document that locale-coding-system is
12474 used for decoding input on X.
12475
2fe41216
EZ
12476 * window.c (Fscroll_left, Fscroll_right): Doc fix.
12477
f00691a3 124782001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
74e79967
PJ
12479
12480 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
12481 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
12482
60ebcfe8
GM
124832001-10-29 Gerd Moellmann <gerd@gnu.org>
12484
9a7bdceb
GM
12485 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
12486 use NO_CURSOR if cursor_in_non_selected_windows is false.
12487
3f08fcd2
GM
12488 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
12489 the slant attribute if FRAME is t.
12490
0ccfdad2
GM
12491 * xfns.c (x_set_internal_border_width): Set frame garbaged
12492 when X window doesn't exist yet.
12493
ef253080
GM
12494 * xterm.c (x_after_update_window_line): Clear internal border
12495 in different circumstances.
b116830b 12496
60ebcfe8
GM
12497 * xterm.c (XTread_socket) <KeyPress>: Don't use
12498 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
12499 <handa@etl.go.jp>.
12500
73d25f9c
EZ
125012001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
12502
12503 * m/ibms390.h: New file. From Adam Thornton
12504 <athornton@sinenomine.net>.
12505
cac1daf0
GM
125062001-10-28 Gerd Moellmann <gerd@gnu.org>
12507
053b3256 12508 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 12509
cac1daf0
GM
12510 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
12511 a loop counter.
12512
f00691a3 125132001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13b1a09c 12514
186486eb
PJ
12515 * emacs.c: Use argv[0] instead of emacs when -t was specified.
12516
4707d2d0
PJ
12517 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
12518 keyword].
12519 Fix typos in comments.
b116830b 12520
d883731c
PJ
12521 * emacs.c (bug_reporting_address): New function.
12522 Use it when displaying usage message.
12523
04012254
PJ
12524 * minibuf.c (read_minibuf): Remove unused external declaration of
12525 variable `Qread_only'.
12526
13b1a09c
PJ
12527 * keymap.c (access_keymap): Remove unused variable `charset'.
12528
5bbf4378
MB
125292001-10-28 Miles Bader <miles@gnu.org>
12530
12531 * xfaces.c (merge_face_heights): Handle TO being relative as well.
12532 Remove #ifdef'd-out code.
12533 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
12534 (syms_of_xfaces): Initialize them.
12535
1ce1e4ee
JR
125362001-10-27 Jason Rumney <jasonr@gnu.org>
12537
12538 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
12539 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
12540 position using the system caret.
12541
12542 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
12543 (w32_system_caret_height, w32_system_caret_x)
12544 (w32_system_caret_y): New variables for tracking system caret.
12545 (w32_initialize): Initialize them.
c2d53558 12546 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 12547
c2d53558
SM
12548 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
12549 New messages types.
1ce1e4ee
JR
12550
12551 * w32term.c (note_mouse_highlight): Clear old help_echo.
12552
f00691a3 125532001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4e30ce42 12554
bb4600a4
PJ
12555 * xterm.c: Fix typo in a comment.
12556
7db35a48
PJ
12557 * emacs.c: Fix typos in comments.
12558 Remove unnecessary spaces.
12559 Change doc-string comments to `new style' [w/`doc:' keyword].
12560 (USAGE2): Fix typos in usage string.
12561
a7248e4f
PJ
12562 * xterm.c: Fix typo in a comment.
12563
4e30ce42
PJ
12564 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
12565 emacs.c.
12566
62725a92
GM
125672001-10-27 Gerd Moellmann <gerd@gnu.org>
12568
798dbe1f 12569 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 12570 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
12571 farther backward when target_y was not reached.
12572
62725a92
GM
12573 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
12574 Display errno only if non-zero.
12575 (sound_warning): New function.
12576 (vox_configure): Don't treat failing to set sample rate as error.
12577 (various places): Improve error messages.
12578
d4e34d24
EZ
125792001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
12580
944e6f60
EZ
12581 * fileio.c (Faccess_file): Run the argument filename through
12582 Fexpand_file_name, before using it.
12583
d4e34d24
EZ
12584 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
12585 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
12586
38d2af0c
GM
125872001-10-26 Gerd Moellmann <gerd@gnu.org>
12588
da80a8d5
GM
12589 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
12590
38d2af0c
GM
12591 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
12592 Fix clearing in the case of scroll bars on the right.
c2d53558 12593
45de4a6f 125942001-10-26 Juanma Barranquero <lektu@terra.es>
56f508dd
EZ
12595
12596 * w32gui.h (XImage): Add a dummy typedef.
12597
fbd5ceb2
GM
125982001-10-26 Gerd Moellmann <gerd@gnu.org>
12599
c2d53558 12600 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 12601
b23236fb
EZ
126022001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
12603
12604 * frame.c (Fframe_parameter): Fix last change.
12605
5d991fc4
EZ
12606 * fileio.c: Revert last change (which removed old commented-out
12607 version of expand-file-name). Add a comment that explains why
12608 this old version should not be removed.
12609
879eadc3
GM
126102001-10-25 Gerd Moellmann <gerd@gnu.org>
12611
75700ff2
GM
12612 * frame.c (Fframe_parameter): Fix a bug whereby some
12613 ``artificial'' frame parameters, like `minibuffer' were not
12614 obtained by calling Fframe_parameters.
12615
dfe92a6a
GM
12616 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
12617 cursor differently.
12618
879eadc3
GM
12619 * xdisp.c (move_it_vertically_backward): Compute line height
12620 differently. Add heuristic to try to be more compatible to 20.x.
12621
e1010ebe
SM
126222001-10-25 Stefan Monnier <monnier@cs.yale.edu>
12623
d73a471b
SM
12624 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
12625
d6da5a06
GM
12626 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
12627 boolean.
e1010ebe 12628
f66bd220
MB
126292001-10-25 Miles Bader <miles@gnu.org>
12630
12631 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
12632 BG is a pointer to a structure, not a structure.
12633 (gif_format, png_format): Add missing commas.
12634
d436d538
RS
126352001-10-24 Richard M. Stallman <rms@gnu.org>
12636
12637 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 12638 (syms_of_xfaces): Defsubr it.
d436d538 12639
f00691a3 126402001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
075c507b
PJ
12641
12642 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
12643 variable `area'.
12644
f00691a3 126452001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
d492b584 12646
c2d53558 12647 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 12648
e2a57b34
MB
126492001-10-25 Miles Bader <miles@gnu.org>
12650
12651 * dispextern.h (struct image): Add `background',
12652 `background_valid', and `background_transparent' fields.
12653 (image_background, image_background_transparent): New declarations.
12654 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
12655 * xfns.c (image_background, image_background_transparent)
12656 (four_corners_best): New functions.
c2d53558 12657 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
12658 (gs_format): Add `:background' entry.
12659 (lookup_image): Set IMG's background color if specified.
12660 (pbm_load, xbm_load_image, png_load): Set IMG's background field
12661 when appropriate.
12662 (x_clear_image_1): Reset `background_valid' and
12663 `background_transparent_valid' fields.
12664 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
12665 calculating it here. Set IMG's background_transparent field.
12666 (enum xpm_keyword_index): Add XPM_BACKGROUND.
12667 (enum png_keyword_index): Add PNG_BACKGROUND.
12668 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
12669 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
12670 (enum gif_keyword_index): Add GIF_BACKGROUND.
12671 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 12672 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
12673 Pre-calculate image background color where necessary.
12674 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
12675 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
12676 color to use for image glyph reliefs.
12677
b547b6e8
GM
126782001-10-24 Gerd Moellmann <gerd@gnu.org>
12679
d9e3b8c6
GM
12680 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
12681 in full-width rows.
c2d53558 12682
b547b6e8
GM
12683 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
12684 Fix clearing of area not covered by scroll bar.
12685
f00691a3 126862001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
2beb36f9
PJ
12687
12688 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
12689 and `real_start'.
c2d53558 12690 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
12691 (glyph_rect): Remove unused variable `area'.
12692
76cb5e06
GM
126932001-10-24 Gerd Moellmann <gerd@gnu.org>
12694
bdbdebff 12695 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
12696
12697 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
12698 (row_containing_pos): Take additional argument DY.
12699 Treat rows ending in middle of char differently.
62e33982
GM
12700 (display_line): Handle tabs on window systems differently.
12701
12702 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
12703 with additional argument.
12704
12705 * dispextern.h (row_containing_pos): Adjust prototype.
12706
76cb5e06
GM
12707 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
12708 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
12709 (try_window_id, try_window_reusing_current_matrix)
12710 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
6c465a15 12711 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
76cb5e06 12712
f00691a3 127132001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
996fee11 12714
c9e60620
PJ
12715 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
12716 gnuemacs).
12717 (HAVE_BOXES): Fix typo in comment.
12718 (push_menu_pane): Fix typo in comment.
12719
3b552d56
PJ
12720 * xdisp.c: (display_prop_string_p): Remove unused local declaration
12721 of `Qwhen'.
12722 (single_display_prop_string_p): Remove unused local declarations
12723 of `Qwhen' and `Qmargin'.
12724 (string_buffer_position): Remove unused variable `around'.
12725 (store_frame_title): Remove unused variable `width'.
12726
15c565ac
PJ
12727 * window.c: Don't define max.
12728 (coordinates_in_window): Remove unused variable `uy'.
12729
a8818eb9
PJ
12730 * widget.c: Don't define max.
12731
996fee11
PJ
12732 * process.c: Don't define max.
12733 (create_process): Remove unused variable `buffer'.
12734
496e1a5b
GM
127352001-10-23 Gerd Moellmann <gerd@gnu.org>
12736
c2d53558 12737 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 12738
5905ae8b
EZ
127392001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
12740
12741 * xfaces.c (Finternal_set_lisp_face_attribute)
12742 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
12743 frame is on a windowed display.
12744
24db49fb
GM
127452001-10-23 Gerd Moellmann <gerd@gnu.org>
12746
c2d53558
SM
12747 * dispnew.c (sync_window_with_frame_matrix_rows):
12748 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
12749 of marginal areas.
12750
c2d53558 12751 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 12752
f0487f05
EZ
127532001-10-23 Andreas Schwab <schwab@suse.de>
12754
12755 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
12756 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
12757
f0a48a01
GM
127582001-10-23 Gerd Moellmann <gerd@gnu.org>
12759
c2d53558 12760 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
12761 REAL_END. Notice if cursor gets overwritten.
12762 (notice_overwritten_cursor): Take X positions as parameters.
12763 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
12764 around call to x_draw_glyphs.
12765
f00691a3 127662001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
a50a10a0 12767
fc11dff0
PJ
12768 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
12769 instead of C) and usage.
a50a10a0 12770
fc11dff0
PJ
12771 * editfns.c (char-to-string): Fix argument names (use CHAR instead
12772 of C) and usage.
a50a10a0
PJ
12773
12774 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
12775 `left', `max_width' and `max_height'.
12776
8738febd
GM
127772001-10-23 Gerd Moellmann <gerd@gnu.org>
12778
12779 * xdisp.c (display_line): For a tab continued to the next line,
12780 set row's ends_in_middle_of_char_p.
12781
653c329b
GM
127822001-10-22 Gerd Moellmann <gerd@gnu.org>
12783
12784 * xdisp.c (display_line): Fix computation of continuation lines
12785 width for TABs.
12786
f00691a3 127872001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
f958c5ac 12788
7ba51063
PJ
12789 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
12790 `Qlaplace'.
12791
f958c5ac
PJ
12792 * fileio.c: Remove unused code.
12793
eb360291
MB
127942001-10-22 Miles Bader <miles@gnu.org>
12795
12796 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
12797 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
12798 Remove `DOC_STRINGS_IN_COMMENTS' cases.
12799
98515cf0
JR
128002001-10-21 Jason Rumney <jasonr@gnu.org>
12801
12802 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
12803
93026d88
EZ
128042001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
12805
12806 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
12807 (Finsert_string): Avoid the multi-line string literals warning.
12808
c9a95b79
MB
128092001-10-22 Miles Bader <miles@gnu.org>
12810
12811 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
12812 (Fdocumentation): Don't use it.
12813 (syms_of_doc): Don't initialize it.
12814
12815 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
12816 * print.c (Fwith_output_to_temp_buffer): Likewise.
12817 * window.c (Fsave_window_excursion): Likewise.
c2d53558 12818 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 12819 (Fsave_restriction): Likewise.
c2d53558
SM
12820 * eval.c (Frun_hooks, Frun_hook_with_args)
12821 (Frun_hook_with_args_until_failure)
12822 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
12823 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
12824 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
12825 (Funwind_protect, Fcondition_case): Likewise.
12826 * coding.c (Ffind_operation_coding_system): Likewise.
12827 * keyboard.c (Ftrack_mouse): Likewise.
12828
a3b10252
MB
128292001-10-21 Miles Bader <miles@gnu.org>
12830
c2d53558 12831 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
12832 (Fmake_hash_table): Add usage: string to doc string.
12833 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 12834 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
12835 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
12836 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
12837 (Fml_prefix_argument_loop): Likewise.
12838
f00691a3 128392001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
c6f73eec 12840
c2d53558 12841 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 12842
c6f73eec
PJ
12843 * sysdep.c (init_sys_modes): Change doc-string comments to `new
12844 style' [w/`doc:' keyword].
12845
12846 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
12847 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
12848 comments to `new style' [w/`doc:' keyword].
12849
3cf3436e
JR
128502001-10-21 Jason Rumney <jasonr@gnu.org>
12851
12852 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
12853
c169b8f1
JR
12854 * w32term.c (remember_mouse_glyph): New function.
12855 (w32_mouse_position): Use it.
12856 (note_mouse_movement): If the mouse moved off the glyph, remember
12857 its new position.
c2d53558 12858
4fdd691b
JR
12859 * w32term.h (struct w32_output): Correct spelling of x_compatible.
12860 (w32_display_info): Add mouse_face_overlay.
12861
c169b8f1
JR
12862 * w32term.c (notice_overwritten_cursor): Renamed from
12863 note_overwritten_text_cursor. Rewritten to take glyph widths into
12864 account.
12865 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
12866 (fast_find_string_pos): New function.
12867 (fast_find_position): Return the correct vpos. Add parameter
12868 STOP. In the final row, stop before glyphs having STOP as object.
12869 Don't consider glyphs that are not from a buffer.
12870 (fast_find_position) [0]: Add a presumably more correct version
12871 for after 21.1.
12872 (expose_window_tree, expose_frame): Don't compute intersections here.
12873 (expose_window): Do it here instead.
12874 (expose_window_tree, expose_window, expose_line): Return 1 when
12875 overwriting mouse-face.
12876 (expose_window): If W is the window currently being updated, mark
12877 the frame garbaged.
12878 (expose_frame): If mouse-face was overwritten, redo it.
12879 (x_use_underline_position_properties): New variable.
12880 (syms_of_xterm): DEFVAR_BOOL it.
12881 (x_draw_glyph_string): Add comment to use it in future.
12882 (x_draw_glyph_string): Restore clipping after drawing box.
12883 Fix a computation of the underline position.
12884 (w32_get_glyph_string_clip_rect): Minor cleanup.
12885 (x_fill_stretch_glyph_string): Remove an assertion.
12886 (x_produce_glyphs): Don't convert multibyte characters
12887 to unibyte characters in unibyte buffers.
12888 (cursor_in_mouse_face_p): New function.
12889 (x_draw_stretch_glyph_string): Use it to choose a different GC
12890 when drawing a cursor within highlighted text. Don't draw
12891 background again if it has already been drawn.
12892 (x_draw_glyph_string_box): Don't draw a full-width
12893 box just because the glyph row's full_width_p flag is set.
12894 (x_draw_glyphs): Fix computation of rightmost x for
12895 full-width rows.
12896 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
12897 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
12898 change bottom shadow accordingly. Some cleanup.
12899 (x_update_window_end): Handle overwritten mouse face
12900 also for tool bar windows.
12901 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
12902 DRAW is DRAW_IMAGE_RAISED.
12903 (clear_mouse_face): Return 1 if text with mouse face was
2c568af5
SM
12904 actually redrawn. Make the function static.
12905 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
c169b8f1
JR
12906 optimize away highlighting if we pass over that same overlay again.
12907 (note_mouse_highlight): Call mouse_face_overlay_overlaps
12908 to detect a case where we have to highlight a different region
12909 despite not having left the currently highlighted region.
12910 Set mouse_face_overlay in the x_display_info. Avoid changing the
12911 mouse pointer shape when show_mouse_face has already done it, or
12912 there is no need. Handle mouse-face and help-echo in strings.
12913 (glyph_rect): New function.
12914 (w32_mouse_position): Use it to raise the threshold for mouse
12915 movement event generation.
12916 (w32_initialize_display_info): Initialize the x_display_info's
12917 mouse_face_overlay.
12918 (w32_set_vertical_scroll_bar): Don't clear a zero height
12919 or width area.
12920 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
12921 a widget to zero height.
12922
3cf3436e 12923 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 12924 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
12925 equivalents in menu_items.
12926 (w32_menu_show): Don't overwrite an item's name with its key
12927 description in case the description is a multibyte string.
12928 (single_submenu): Some cleanup.
12929
12930 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
12931 (postprocess_image): New function.
12932 (lookup_image): Call it for all image types except PostScript.
12933 (x_kill_gs_process): Call postprocess_image.
12934 (tiff_error_handler, tiff_warning_handler): New functions.
12935 (tiff_load): Install them as handlers.
12936 (x_kill_gs_process): Recognize if someone has cleared the image
12937 cache under us.
12938 (valid_image_p): Protect better against invalid image
12939 specifications. Previous code could signal an error.
12940 (Fx_hide_tip, Fshow_tip): Doc fix.
12941 (Fv_max_tooltip_size): New variable.
12942 (syns_of_xfns): DEFVAR_LISP it.
12943 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
12944 window buffer to *tip* right after creating the frame. Set frame's
12945 window_width. Use a maximum tooltip size specified by
12946 Vx_max_tooltip_size, if that has valid contents.
12947 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
12948 Make sure the tooltip is completely visible.
12949 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
12950 (Fx_create_frame): Adjust the frame's height for presence
12951 of the tool bar before calling x_figure_window_size.
12952 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
12953 when the window gets smaller.
12954 (x_set_foreground_color): Set frame's cursor_pixel.
12955 (x_set_foreground_color, x_set_background_color): Cleaned up.
12956 (x_set_font): Handle case of x_new_fontset returning the same name
12957 as before, although there was a change in fontsets.
12958
386ca361
MB
129592001-10-21 Miles Bader <miles@gnu.org>
12960
c2d53558 12961 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
12962 (Flogxor): Add usage: string to doc string.
12963 * charset.c (Fstring): Likewise.
12964 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
12965 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
12966
f00691a3 129672001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14ff1ee0 12968
03be2694
PJ
12969 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
12970
12971 * alloc.c: Reindent DEFUNs with doc: keywords.
12972
12973 * abbrev.c (Finsert_abbrev_table_description): Reindent.
12974
14ff1ee0
PJ
12975 * frame.c: Change doc-string comments to `new style' [w/`doc:'
12976 keyword].
12977
2f147815 12978See ChangeLog.9 for earlier changes.
6922b018
KH
12979
12980;; Local Variables:
49b3bd82 12981;; coding: iso-2022-7bit
6922b018 12982;; End:
2a34a036 12983
2f147815 12984 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
2a34a036
GM
12985 Copying and distribution of this file, with or without modification,
12986 are permitted provided the copyright notice and this notice are preserved.
ab5796a9
MB
12987
12988;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4