Fix some of the font/face problems.
[bpt/emacs.git] / src / ChangeLog
1 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2
3 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
4 (realize_default_face): Use default_face_done_p for the force_p
5 argument to set_lface_from_font_name. Set default_face_done_p to
6 one.
7
8 * frame.c (make_frame): Initialize default_face_done_p.
9
10 * frame.h (struct frame): Add default_face_done_p.
11
12 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
13 will be defined.
14
15 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
16
17 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
18 Initialize the new field `gcmarkbit'.
19 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
20 (mark_interval_tree): Don't mark the tree separately from the nodes.
21 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
22 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
23 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
24
25 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
26 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
27 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
28 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
29 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
30
31 2003-06-24 Dave Love <fx@gnu.org>
32
33 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
34
35 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
36 from gnulib.
37
38 2003-06-21 Richard M. Stallman <rms@gnu.org>
39
40 * fileio.c (Fwrite_region): Alternate messages
41 for append and partial write.
42
43 * keyboard.c (read_key_sequence): When converting upcase fn key to
44 downcase, update fkey and keytran so `backspace' gets translated.
45
46 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
47
48 * process.c (wait_reading_process_input): Don't signal SIGIO
49 in batch mode.
50
51 2003-06-17 Kenichi Handa <handa@m17n.org>
52
53 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
54 composite.h.
55
56 * xselect.c: Don't include charset.h, coding.h, composite.h.
57 (Qforeign_selection): New variable.
58 (syms_of_xselect): Intern and static it.
59 (selection_data_to_lisp_data): Return a unibyte string made from
60 data with `foreign-selection' text property.
61
62 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
63
64 * termhooks.h (EVENT_INIT): New macro.
65
66 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
67
68 * alloc.c (mark_kboards): Move to keyboard.c.
69
70 * keyboard.c (record_asynch_buffer_change, read_avail_input):
71 * xterm.c (x_dispatch_event):
72 * xmenu.c (find_and_call_menu_selection):
73 * xdisp.c (handle_tool_bar_click):
74 * w32menu.c (menubar_selection_callback):
75 * sysdep.c (kbd_input_ast, read_input_waiting):
76 * msdos.c (dos_rawgetc):
77 * macterm.c (mac_check_for_quit_char):
78 * macmenu.c (menubar_selection_callback):
79 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
80 data to kbd_buffer_store_event.
81
82 2003-06-15 Kim F. Storm <storm@cua.dk>
83
84 * xdisp.c (x_fix_overlapping_area): Always use area relative X
85 to fix redisplay problem with tall characters (such as \e,AC\e(B).
86
87 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
88
89 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
90
91 2003-06-12 Kenichi Handa <handa@m17n.org>
92
93 * fileio.c (Fwrite_region): Save and restore restriction.
94
95 2003-06-12 Dave Love <fx@gnu.org>
96
97 * alloca.c (alloca): Declare arg as size_t.
98
99 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
100 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
101
102 2003-06-11 Dave Love <fx@gnu.org>
103
104 * search.c (shrink_regexp_cache): Use xrealloc.
105 (syms_of_search): Use xmalloc.
106
107 2003-06-10 Kim F. Storm <storm@cua.dk>
108
109 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
110 Adjust phys_cursor.x to be relative to window box, rather than
111 text area before checking -- to ensure cursor is redrawn when
112 exposing window.
113 Note: This also fixes a similar (older) bug if display margins
114 are present.
115
116 2003-06-06 Kenichi Handa <handa@m17n.org>
117
118 * coding.c (encoding_buffer_size): If coding->type is
119 coding_type_ccl, double magnification on CRLF encoding.
120
121 2003-06-06 Jason Rumney <jasonr@gnu.org>
122
123 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
124 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
125
126 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
127 Mac too.
128
129 2003-06-05 Dave Love <fx@gnu.org>
130
131 * strftime.c: Merge changes from gnulib.
132
133 * mktime.c (__mktime_internal): Merge changes from gnulib
134 involving year 69 and dst2.
135
136 Changes to merge with gnulib version and be consistent with the
137 autoconf test:
138
139 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
140 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
141 [HAVE_LOCALE_H]: Include locale.h.
142 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
143
144 2003-06-05 Kim F. Storm <storm@cua.dk>
145
146 * window.c (coordinates_in_window): Convert X and Y to window
147 relative coordinates inside mode-line and header-line parts.
148 Convert X and Y to margin area relative coordinates inside left
149 and right display margin parts.
150
151 2003-06-05 Jason Rumney <jasonr@gnu.org>
152
153 * w32fns.c (add_system_logical_colors_to_map): New function.
154 (Fx_open_connection): Use it.
155
156 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
157
158 * process.c (allocate_pty): Revert part of the previous patch.
159 (Faccept_process_output): Simplify.
160
161 2003-06-04 Jason Rumney <jasonr@gnu.org>
162
163 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
164
165 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
166 (lispy_mouse_wheel_names): Remove.
167 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
168 Always define drag_and_drop_syms.
169
170 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
171 WHEEL_EVENT events.
172
173 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
174
175 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
176
177 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
178
179 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
180
181 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
182 menu item label.
183
184 2003-06-03 Richard M. Stallman <rms@gnu.org>
185
186 * window.c (Fwindow_edges): Doc fix.
187 (Fwindow_pixel_edges, Fwindow_inside_edges)
188 (Fwindow_inside_pixel_edges): New functions.
189 (syms_of_window): defsubr them.
190
191 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
192 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
193
194 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
195
196 * dispnew.c (Fsit_for): Don't lie about the number of args.
197
198 2003-06-02 Dave Love <fx@gnu.org>
199
200 * callproc.c: Use HAVE_FCNTL_H, not USG5.
201 (syms_of_callproc) <process-environment>: Doc fix.
202
203 * doc.c: Use HAVE_FCNTL_H, not USG5.
204
205 * xfaces.c (font_rescale_ratio): Fix for K&R.
206
207 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
208
209 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
210
211 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
212
213 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
214 (xg_create_frame_widgets): Use ENCODE_UTF_8.
215
216 * xterm.c (Qutf_8): Moved to coding.c
217
218 * xmenu.c (ENCODE_MENU_STRING): New.
219 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
220 Use it.
221
222 * coding.h (ENCODE_UTF_8): New.
223 (Qutf_8): Declare.
224
225 * coding.c (Qutf_8): New.
226 (syms_of_coding): Intern it.
227
228 * fns.c: Doc fixes.
229
230 2003-06-02 Kenichi Handa <handa@m17n.org>
231
232 * buffer.c (Fset_buffer_multibyte): Fix previous change.
233
234 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
235
236 * lread.c (openp): Make sure STR is a string.
237
238 2003-06-01 David Ponce <david@dponce.com>
239
240 * termhooks.h (enum event_kind): Added new WHEEL_EVENT event.
241 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
242
243 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
244 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
245 (discard_mouse_events): Discard WHEEL_EVENT events too.
246 (lispy_wheel_names, wheel_syms): New.
247 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
248 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX
249 defined.
250 (make_lispy_event): Add WHEEL_EVENT handler.
251
252 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
253 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
254 WHEEL_EVENT events.
255
256 2003-05-31 John Paul Wallington <jpw@gnu.org>
257
258 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
259 timer are in lisp/emacs-lisp.
260
261 2003-05-31 Kenichi Handa <handa@m17n.org>
262
263 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
264 region when a buffer is changed to unibyte.
265
266 * charset.h (VALID_LEADING_CODE_P): New macro.
267 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
268
269 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
270 is nonzero, accept multibyte form of eight-bit-control chars.
271 (decode_composition_emacs_mule): Likewise.
272 (decode_coding_emacs_mule): Likewise.
273 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
274 multibyte form of eight-bit-control chars.
275
276 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
277 (Finsert_file_contents): If coding-system-for-read is bound to
278 Qauto_save_coding, use the coding system emacs-mule with special
279 setting for recovering a file.
280 (choose_write_coding_system): On auto saving, use the coding
281 system emacs-mule with special setting for auto saving.
282 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
283
284 2003-05-30 Kenichi Handa <handa@m17n.org>
285
286 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
287 properly before calling ccl_driver.
288
289 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
290
291 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is
292 nonzero.
293 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
294 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
295
296 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
297
298 * xfaces.c (realize_default_face): Do not abort if lface is
299 non-existent - reverts change from 2003-05-19.
300
301 2003-05-29 Kenichi Handa <handa@m17n.org>
302
303 * coding.c (decode_coding_iso2022): Pay attention to the byte
304 sequence of CTEXT extended segment, and retain those bytes as is.
305
306 2003-05-28 Kenichi Handa <handa@m17n.org>
307
308 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change
309 of CODING_REPLACEMENT_CHARACTER.
310 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
311 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
312 check this flag on encoding.
313 (encode_coding_sjis_big5): Check
314 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
315 (Fset_terminal_coding_system_internal): Set
316 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
317 instead of setting CODING_FLAG_ISO_SAFE flag in
318 terminal_coding.flags.
319
320 * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from
321 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
322 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
323
324 2003-05-28 Richard M. Stallman <rms@gnu.org>
325
326 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
327
328 * eval.c (unbind_to): Move init of this_binding to separate statement.
329
330 2003-05-28 Kim F. Storm <storm@cua.dk>
331
332 * xdisp.c (expose_window): Fix error in calculation of
333 window relative coordinates of area to redisplay.
334
335 2003-05-27 Jason Rumney <jasonr@gnu.org>
336
337 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
338
339 2003-05-27 David Ponce <david@dponce.com>
340
341 Handle W32 mouse wheel events as mouse click events, like in X.
342
343 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
344 MOUSE_WHEEL_EVENT anymore.
345
346 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
347 Scrolling down/up the mouse wheel is respectively mapped to mouse
348 button 4 and 5.
349 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
350 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
351 WM_MOUSEWHEEL events.
352
353 2003-05-27 Andreas Schwab <schwab@suse.de>
354
355 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
356
357 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
358 partially visible line.
359
360 * alloc.c (Fgarbage_collect): Fix last change.
361
362 2003-05-26 John Paul Wallington <jpw@gnu.org>
363
364 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
365
366 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
367
368 * window.c (Fset_window_buffer): Add type of `keep_margins'.
369 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
370
371 * window.h (window_box_text_cols): Declare.
372
373 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
374 (x_draw_vertical_border): Remove unused var `f'.
375
376 * xfaces.c (build_scalable_font_name): Remove `unused var
377 pixel_size' warning.
378
379 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
380
381 * unexelf.c (unexec): Remove `unused var n' warning.
382
383 * strftime.c (my_strftime_localtime_r): Remove `defined but
384 unused' warning.
385
386 * process.c (allocate_pty): Remove `unused var stb' and
387 `cp might be used uninitialized' warnings.
388
389 * dispnew.c (mode_line_string): Remove unused var `f'.
390
391 * coding.c (find_safe_codings): Remove unused var `i'.
392
393 * bytecode.c (Fbyte_code): Remove `unused val' warning.
394
395 * buffer.c (Fkill_buffer): Remove unused var `list'.
396
397 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
398
399 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
400
401 * frame.c (make_frame): Condition want_fullscreen with
402 HAVE_WINDOW_SYSTEM.
403
404 2003-05-25 Juanma Barranquero <lektu@terra.es>
405
406 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
407 (Fwindow_scroll_bars): Fix typo in docstring.
408
409 2003-05-24 Kim F. Storm <storm@cua.dk>
410
411 The following changes serve several purposes:
412
413 1) Swap the position of fringes and display margins in windows, i.e.
414 the fringes are now displayed between the margins and the text area
415 (by default).
416
417 2) Allow fringe and scroll bar parameters to be set per-buffer and
418 per-window (like display margins). Such settings are now stored
419 in window configurations, preserved when frames are resized, and
420 copied when windows are split vertically or horizontally.
421 Several bugs related to display margins have been fixed.
422
423 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
424
425 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
426 rather than FRAME_WIDTH (FRAME_FONT (f)).
427
428 5) Introduce a consistent naming of variables, members and macros
429 depending on whether their value is measured in pixels or in
430 canonical columns/lines. Pixel dimensions are named *_width and
431 *_height, while canonical columns/lines are named *_cols and
432 *_lines. Pixel positions are named *_x and *_y, while column/line
433 positions are named *_col and *_line.
434
435 6) Consolidate more of the X, W32, and MAC gui code by moving
436 common data into struct frame, and generalize it for the non-gui
437 case by using suitable defaults.
438
439 7) Cleanup and consolidate the macros controlling frame and window
440 layout into frame.h and window.h, and generalize the use of the
441 various window_box_* functions (enhanced to handle the new fringe
442 position and the per-window fringe and scroll bar settings).
443
444 * frame.h (struct frame): Rename members height to text_lines,
445 width to text_cols, window_height to total_lines, window_width to
446 total_cols, new_height to new_text_lines, new_width to
447 new_text_cols. All uses changed.
448 (struct frame): New members which consolidate common members of
449 x_output, w32_output, and mac_output structures: left_pos,
450 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
451 win_gravity, size_hint_flags, border_width, internal_border_width,
452 line_height, fringe_cols, left_fringe_width, right_fringe_width,
453 want_fullscreen. All uses changed.
454 (struct frame): New member column_width contaning the canonical
455 column width, analogue to line_height. All uses changed.
456 (struct frame): Rename members scroll_bar_pixel_width to
457 config_scroll_bar_width, and scroll_bar_cols to
458 config_scroll_bar_cols. All uses changed.
459 (struct frame): New member scroll_bar_actual_width which
460 consolidates and renames the vertical_scroll_bar_extra member of
461 x_output, w32_output, and mac_output structures. All uses changed.
462 (FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
463 from x/w32/macterm.h files. All uses changed. Also change code
464 which referred to f->output_data...->pixel_height.
465 (FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
466 from x/w32/macterm.h files. All uses changed. Also change code
467 which referred to f->output_data...->pixel_width.
468 (FRAME_LINES): Renamed from FRAME_HEIGHT. All uses changed.
469 Also change code which referred to f->height.
470 (FRAME_COLS): Renamed from FRAME_WIDTH. All uses changed.
471 Also change code which referred to f->width.
472 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
473 to update new_text_lines and new_text_cols members directly.
474 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
475 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
476 (FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
477 FRAME_SCROLL_BAR_COLS. All uses changed.
478 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
479 Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
480 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
481 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
482 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
483 (FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
484 (SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
485 (FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
486 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
487 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
488 (FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT. Unconditionally
489 return line_height member (it now has proper value also for
490 non-window frames).
491 (FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT. Unconditionally
492 return new column_width member (rather than the default font width).
493 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
494 (FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
495 from x/w32/macterm.h files. Unconditionally return corresponding
496 member of frame structure (they now have proper values also for
497 non-window frames).
498 (FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
499 Calculate return value from left and right widths.
500 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
501 internal_border_width member (has proper value for non-window frame).
502 (FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
503 (FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
504 (FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
505 (FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
506 (FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
507 consolidated from xterm.h, macterm.h, and w32term.h.
508 (FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
509 consolidated from xterm.h, macterm.h, and w32term.h.
510 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
511 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
512 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
513 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
514 (FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
515 consolidated from x/mac/w32term.h.
516 (FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
517 consolidated from x/mac/w32term.h.
518 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
519 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
520 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
521 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
522
523 * window.h (struct window): Rename members left to left_col,
524 top to top_line, height to total_lines, width to total_cols,
525 left_margin_width to left_margin_cols, right_margin_width to
526 right_margin_cols, orig_height to orig_total_lines, orig_top to
527 orig_top_line. All uses changed.
528 (struct window): New members left_fringe_width, right_fringe_width,
529 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
530 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
531 New macros primarily used to simplify other macros.
532 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
533 referred to XINT (w->width).
534 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
535 referred to XINT (w->height).
536 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
537 referred to XINT (w->width) * canon_x_unit.
538 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
539 referred to XINT (w->height) * canon_y_unit.
540 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
541 referred to XINT (w->left).
542 (WINDOW_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_EDGE. Change
543 all uses and code that referred to XINT (w->left) + XINT (w->width).
544 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
545 referred to XINT (w->top).
546 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
547 referred to XINT (w->top) + XINT (w->height).
548 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
549 referred to XINT (w->left) * canon_x_unit.
550 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
551 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
552 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
553 referred to XINT (w->top) * canon_y_unit.
554 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
555 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
556 (WINDOW_LEFTMOST_P): New macro.
557 (WINDOW_BOX_LEFT_EDGE_COL): Renamed from WINDOW_LEFT_MARGIN.
558 All uses changed.
559 (WINDOW_BOX_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_MARGIN.
560 All uses changed.
561 (WINDOW_BOX_LEFT_EDGE_X): Renamed from
562 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
563 Do not exclude left fringe width.
564 (WINDOW_BOX_RIGHT_EDGE_X): Renamed from
565 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
566 Do not exclude fringe widths.
567 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
568 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
569 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
570 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
571 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
572 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
573 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
574 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
575 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
576 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
577 New macros. Change code which referenced corresponding
578 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
579 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
580 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
581 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
582 allow per-window scroll-bar settings.
583 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
584 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
585 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
586 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
587 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
588 FRAME_SCROLL_BAR_WIDTH.
589 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
590 (WINDOW_SCROLL_BAR_AREA_X): New macros.
591 (WINDOW_HEADER_LINE_HEIGHT): Renamed from
592 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
593 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Renamed from
594 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
595 (WINDOW_BOX_TEXT_HEIGHT): Renamed from
596 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
597 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
598 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
599 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Moved here from dispextern.h.
600 (WINDOW_LEFT_MARGIN_WIDTH): Renamed from
601 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
602 (WINDOW_RIGHT_MARGIN_WIDTH): Renamed from
603 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
604 (window_from_coordinates): Update prototype.
605 (Fset_window_buffer): Update EXFUN.
606 (set_window_buffer): Update prototype.
607
608 * dispextern.h (struct glyph_matrix): Rename members window_left_x
609 to window_left_col, window_top_y to window_top_line. All uses
610 changed.
611 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
612 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
613 internal_border_width is now set to 0 for non-window frames.
614 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
615 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
616 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
617 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
618 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
619 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
620 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
621 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
622 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
623 Move to window.h and renamed [see window.h changes].
624 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
625 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
626 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
627 Use WINDOW_TOTAL_LINES.
628 (frame_update_line_height): Remove prototype.
629
630 * buffer.h (struct buffer): Rename members measured in columns:
631 left_margin_width to left_margin_cols, right_margin_width to
632 right_margin_cols. All uses changed.
633 New members left_fringe_width, right_fringe_width,
634 fringes_outside_margins for per-buffer fringe settings.
635 New members scroll_bar_width and vertical_scroll_bar_type for
636 per-buffer scroll bar settings.
637
638 * buffer.c (init_buffer_once): Set buffer_defaults and
639 buffer_local_flags for new buffer-local variables
640 left_fringe_width, right_fringe_width, fringes_outside_margins,
641 scroll_bar_width, and vertical_scroll_bar_type.
642 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
643 default-* variables for them.
644
645 * dispnew.c: Make (many) trivial substitutions for renamed and
646 new macros in dispextern.h, frame.h and window.h.
647 (mode_line_string): No need to adjust width for mode lines, as it
648 is already adjusted by the caller.
649 (marginal_area_string): Handle fringes inside/outside margins.
650
651 * frame.c: Make (many) trivial substitutions for renamed and
652 new macros in dispextern.h, frame.h and window.h.
653 (make_frame): Initialize left_fringe_width, right_fringe_width,
654 fringe_cols, scroll_bar_actual_width, border_width,
655 internal_border_width, column_width, line_height, x_pixels_diff,
656 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
657 members with values suitable for a non-window frames.
658
659 * gtkutil.c: Make (many) trivial substitutions for renamed and
660 new macros in dispextern.h, frame.h and window.h.
661
662 * indent.c: Make (few) trivial substitutions for renamed and
663 new macros in dispextern.h, frame.h and window.h.
664
665 * keyboard.c: Make (many) trivial substitutions for renamed and
666 new macros in dispextern.h, frame.h and window.h.
667 (make_lispy_event): Use window positions returned from
668 window_from_coordinates when constructing the lisp event for
669 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
670 (incorrect) values locally.
671 (make_lispy_movement): Use window positions returned from
672 window_from_coordinates when constructing the lisp event, rather
673 than calculating (incorrect) values locally.
674
675 * scroll.c: Make (some) trivial substitutions for renamed and
676 new macros in dispextern.h, frame.h and window.h.
677
678 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
679 scroll-bars.
680
681 * sysdep.c: Make (few) trivial substitutions for renamed and
682 new macros in dispextern.h, frame.h and window.h.
683
684 * term.c: Make (some) trivial substitutions for renamed and
685 new macros in dispextern.h, frame.h and window.h.
686
687 * widget.c: Make (few) trivial substitutions for renamed and
688 new macros in dispextern.h, frame.h and window.h.
689
690 * window.c: Make (many) trivial substitutions for renamed and
691 new macros in dispextern.h, frame.h and window.h.
692 (make_window): Initialize new members
693 left_margin_cols, right_margin_cols, left_fringe_width,
694 right_fringe_width, fringes_outside_margins, scroll_bar_width,
695 and vertical_scroll_bar_type.
696 (coordinates_in_window): Adapted to new fringe/margin positions
697 and per-window fringes and scroll-bars.
698 Fix bug related to incorrectly adjusting coordinates by
699 frame's internal_border_width (the effect normally negible since
700 the internal_border_width is typically 0 or 1 pixel, but very
701 noticeable for an internal_border_width of e.g. 25 pixels).
702 Upon successful return (other than ON_NOTHING), the coordinates
703 are now always properly converted to window relative for the
704 given display element.
705 (window_from_coordinates): Add new parameters wx and wy to
706 return the window relative x and y position in the returned
707 window and part. A null arg means, don't return the position.
708 All callers changed.
709 (adjust_window_margins): New function which may reduce the width
710 of the display margins if a window's text area is too small after
711 resizing or splitting windows.
712 (size_window): Fix bug that did not account for display margin
713 widths when checking the minimum width of a window; use
714 adjust_window_margins.
715 (set_window_buffer): Call Fset_window_fringes and
716 Fset_window_scroll_bars to setup per-window elements.
717 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
718 existing display margin, fringe widths, and scroll bar settings
719 (e.g. after splitting a window or resizing the frame).
720 All callers changed.
721 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
722 (Fsplit_window): Duplicate original window's display margin,
723 fringe, and scroll-bar settings; then call Fset_window_buffer with
724 KEEP_MARGINS non-nil. This fixes a bug which caused a split
725 window to only preserve the display margins in one of the windows.
726 When splitting horizontally, call adjust_window_margins on both
727 windows to ensure that the text area of the new windows is non too
728 narrow. This fixes a bug which could cause emacs to trap if the
729 width of the split window was less than the width of the display
730 margins.
731 (window_box_text_cols): Renamed from window_internal_width.
732 All uses changed. Adapt to per-window fringes and scroll bars.
733 Fix bug that caused vertical separator to be subtracted also on
734 window frames. Fix another bug that did not reduce the returned
735 value by the columns used for display margins.
736 (window_scroll_line_based): Fix bug related to scrolling too much
737 when display margins are present (implicitly fixed by the fix to
738 window_box_text_cols).
739 (scroll_left, scroll_right): Fix bug related to scrolling too far
740 by default when display margins are present (implicitly fixed by
741 the fix to window_box_text_cols).
742 (struct saved_window): Rename members left to left_col, top to
743 top_line, width to total_cols, height to total_lines, orig_top to
744 orig_top_line, orig_height to orig_total_lines. All uses changed.
745 New members left_margin_cols, right_margin_cols,
746 left_fringe_width, right_fringe_width, fringes_outside_margins,
747 scroll_bar_width, and vertical_scroll_bar_type for saving
748 per-window display elements.
749 (Fset_window_configuration): Restore display margins, fringes,
750 and scroll bar settings. This fixes a bug which caused display
751 margins to be discarded when saving and restoring a window
752 configuration.
753 (save_window_save): Save display margins, fringes, and scroll bar
754 settings. This fixes a bug which caused display margins to be
755 discarded when saving and restoring a window configuration.
756 (Fset_window_margins): Do nothing if display margins are not
757 really changed. Otherwise, call adjust_window_margins to ensure
758 the text area doesn't get too narrow. This fixes a bug which
759 could cause emacs to trap if setting display margins wider than
760 the width of the window.
761 (Fset_window_fringes): New defun to allow user to specifically set
762 this window's fringe widths and position vs. display margins.
763 (Fwindow_fringes): New defun to return window's actual fringe
764 settings.
765 (Fset_window_scroll_bars): New defun to allow user to specifically
766 set this window's scroll bar width and position.
767 (Fwindow_scroll_bars): New defun to return window's actual scroll
768 bar settings.
769 (compare_window_configurations): Also compare display margins,
770 fringes, and scroll bar settings.
771 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
772
773 * xdisp.c: Make (many) trivial substitutions for renamed and
774 new macros in dispextern.h, frame.h and window.h.
775 (window_box_width): Adapt to per-window fringes and scroll bars,
776 and new fringe vs. display margin position. Note that returned
777 value is no longer guaranteed to be a whole multiple of the frame
778 column width, since per-window fringes may now be any width.
779 (window_box_left_offset): New function like window_box_left, but
780 value is relative to left border of window (rather than frame).
781 (window_box_right_offset): New function like window_box_right,
782 but value is relative to left border of window.
783 (window_box_left): Adapt to per-window fringes and scroll bars,
784 and new fringe vs. display margin position. Simplify by using
785 WINDOW_LEFT_EDGE_X and window_box_left_offset.
786 (window_box): Allow null args for unnecessary return values;
787 change/simplify relevant callers.
788 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
789 and new fringe vs. display margin position.
790 Use window_box_left_offset and window_box_right_offset
791 (get_glyph_string_clip_rect): Adapt to per-window fringes and
792 scroll bars, and new fringe vs. display margin position.
793 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
794 (draw_fringe_bitmap): Rework to handle per-window fringes and new
795 fringe vs. display margin position.
796 (hscroll_window_tree): Use window_box_width instead of window_box.
797 (redisplay_window): Adapt to per-window scroll bars.
798 (draw_glyphs): Rework to handle per-window fringes and scroll
799 bars, and new fringe vs. display margin position.
800 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
801 (x_clear_end_of_line): Adapt to per-window fringes and scroll
802 bars, and new fringe vs. display margin position. Fix bug which
803 increased total width of full_width rows by width of scroll bars
804 although window's total width already includes that.
805 (x_fix_overlapping_area): Simplify using window_box_left_offset.
806 (expose_area): Simplify using window_box_left_offset.
807 (x_draw_vertical_border): Handle per-window scroll bar settings,
808 mixing windows with left, right and no scroll bars.
809
810 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
811 where it's used in x_list_fonts (for clarity).
812 (frame_update_line_height): Remove unused function; functionality
813 is now done directly when setting the default font in x_set_font.
814
815 * xfns.c: Make (many) trivial substitutions for renamed and
816 new macros in dispextern.h, frame.h and window.h.
817
818 * xmenu.c: Make (some) trivial substitutions for renamed and
819 new macros in dispextern.h, frame.h and window.h.
820
821 * xterm.h (struct x_output): Move members left_pos, top_pos,
822 border_width, pixel_height, pixel_width, line_height,
823 internal_border_width, vertical_scroll_bar_extra,
824 left_fringe_width, right_fringe_width, fringe_cols,
825 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
826 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
827 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
828 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
829 (PIXEL_WIDTH, PIXEL_HEIGHT)
830 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
831 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
832 frame.h and renamed [see frame.h changes].
833 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
834 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
835 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
836 and renamed [see frame.h changes].
837
838 * xterm.c: Make (several) trivial substitutions for renamed and
839 new macros in dispextern.h, frame.h and window.h.
840 (x_draw_glyph_string_box): Adapt to per-window fringes and
841 scroll-bars.
842 (scroll_run): Adapt to new fringe position.
843 (glyph_rect): Use window coordinates returned from
844 window_from_coordinates rather than frame_to_window_pixel_xy.
845 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
846 scroll-bars.
847 (handle_one_xevent): Simplify a USE_GTK conditional.
848 (x_clip_to_row): Remove superfluous whole_line_p arg and code
849 (fringes are now inside margins, i.e. always in the clipping area).
850 All callers changed.
851 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
852 directly, then call compute_fringe_widths. Don't call
853 frame_update_line_height.
854
855 * w32term.h (struct w32_output): Move members left_pos, top_pos,
856 border_width, pixel_height, pixel_width, line_height,
857 internal_border_width, vertical_scroll_bar_extra,
858 left_fringe_width, right_fringe_width, fringe_cols,
859 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
860 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
861 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
862 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
863 (PIXEL_WIDTH, PIXEL_HEIGHT)
864 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
865 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
866 frame.h and renamed [see frame.h changes].
867 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
868 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
869 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
870 and renamed [see frame.h changes].
871
872 * w32term.c: Make (several) trivial substitutions for renamed and
873 new macros in dispextern.h, frame.h and window.h.
874 (x_draw_glyph_string_box): Adapt to per-window fringes and
875 scroll-bars.
876 (glyph_rect): Use window coordinates returned from
877 window_from_coordinates rather than frame_to_window_pixel_xy.
878 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
879 scroll-bars.
880 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
881 (fringes are now inside margins, i.e. always in the clipping area).
882 All callers changed.
883 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
884 directly, then call compute_fringe_widths. Don't call
885 frame_update_line_height.
886
887 * w32console.c: Make (few) trivial substitutions for renamed and
888 new macros in dispextern.h, frame.h and window.h.
889
890 * w32fns.c: Make (many) trivial substitutions for renamed and
891 new macros in dispextern.h, frame.h and window.h.
892
893 * w32menu.c: Make (few) trivial substitutions for renamed and
894 new macros in dispextern.h, frame.h and window.h.
895
896 * macterm.h (struct mac_output): Move members left_pos, top_pos,
897 border_width, pixel_height, pixel_width, line_height,
898 internal_border_width, vertical_scroll_bar_extra,
899 left_fringe_width, right_fringe_width, fringe_cols,
900 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
901 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
902 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
903 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
904 (PIXEL_WIDTH, PIXEL_HEIGHT)
905 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
906 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
907 frame.h and renamed [see frame.h changes].
908 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
909 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
910 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
911 and renamed [see frame.h changes].
912
913 * macterm.c: Make (several) trivial substitutions for renamed and
914 new macros in dispextern.h, frame.h and window.h.
915 (x_draw_glyph_string_box): Adapt to per-window fringes and
916 scroll-bars.
917 (glyph_rect): Use window coordinates returned from
918 window_from_coordinates rather than frame_to_window_pixel_xy.
919 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
920 scroll-bars.
921 (x_clip_to_row): Remove superfluous whole_line_p arg and code
922 (fringes are now inside margins, i.e. always in the clipping area).
923 All callers changed.
924 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
925 directly, then call compute_fringe_widths. Don't call
926 frame_update_line_height.
927
928 * macfns.c: Make (several) trivial substitutions for renamed and
929 new macros in dispextern.h, frame.h and window.h.
930 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
931
932 * macmenu.c: Make (few) trivial substitutions for renamed and
933 new macros in dispextern.h, frame.h and window.h.
934
935 * msdos.h (struct x_output): Remove members left_pos, top_pos,
936 and line_height, and use corresponding new members in struct
937 frame. All uses changed.
938 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
939 superseeded by corresponding macros in frame.h.
940
941 * msdos.c: Make (several) trivial substitutions for renamed and
942 new macros in dispextern.h, frame.h and window.h.
943 (IT_note_mouse_highlight): Use updated window coordinates returned
944 by window_from_coordinates, rather than adjusting them locally.
945 (internal_terminal_init): No need to initialize line_height here;
946 it now defaults to 1.
947
948 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
949
950 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
951 dropping `down' events.
952
953 2003-05-24 Andreas Schwab <schwab@suse.de>
954
955 * coding.c (find_safe_codings): Fix last change.
956
957 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
958
959 * xfns.c (x_window): Fix typo from 2003-05-21 change.
960
961 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
962
963 * xdisp.c (display_mode_element): Increase max depth.
964 Simplify the error handling code. Use a different error string
965 for the case where we hit the depth limit.
966
967 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
968
969 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
970
971 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
972
973 * intervals.c (get_local_map): Don't get char-property of previous
974 point any more: get_pos_property already does it and better.
975
976 2003-05-21 Dave Love <fx@gnu.org>
977
978 [Merged from unicode branch.]
979
980 * xfns.c (x_window, x_window): Use use_xim.
981
982 * xterm.c (use_xim): Initialize.
983 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
984 (x_term_init): Maybe set use_xim.
985
986 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
987
988 2003-05-21 Jason Rumney <jasonr@gnu.org>
989
990 * unexw32.c (_start): Remove _fmode initialization.
991
992 * emacs.c (main) [WINDOWSNT]: Move it here.
993
994 2003-05-20 Dave Love <fx@gnu.org>
995
996 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
997
998 2003-05-19 Richard M. Stallman <rms@gnu.org>
999
1000 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
1001 as value for QCfont attribute.
1002 (realize_default_face): lface should already exist; crash if not.
1003 Specify 0 for FORCE_P when calling set_lface_from_font_name.
1004
1005 * frame.c (Fignore_event): Doc fix.
1006
1007 2003-05-19 Kenichi Handa <handa@m17n.org>
1008
1009 * coding.c (decode_coding_string): Handle post-read-conversion
1010 even if the coding doesn't require decoding.
1011
1012 2003-05-18 Richard M. Stallman <rms@gnu.org>
1013
1014 * callproc.c (Fcall_process_region): Doc fix.
1015
1016 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
1017
1018 * lread.c (Fload): Print a message if package is obsolete.
1019
1020 * window.c (Fselect_window): Add optional `norecord' arg.
1021 (select_window_1): Fold into Fselect_window.
1022 (select_window_norecord): New function.
1023 (temp_output_buffer_show): Use it. Preserve current buffer.
1024
1025 * window.h (Fselect_window): Update declaration.
1026
1027 * window.c (delete_window, Fother_window, Fset_window_configuration):
1028 * minibuf.c (read_minibuf):
1029 * macterm.c (x_new_focus_frame):
1030 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
1031 * callint.c (Fcall_interactively):
1032 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
1033
1034 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
1035
1036 2003-05-17 David Kastrup <dak@gnu.org>
1037
1038 * process.c (read_process_output): Back out change from 2003-03-09.
1039
1040 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
1041
1042 * editfns.c (get_pos_property): Don't assume that `object' = nil.
1043
1044 * textprop.c (text_property_stickiness): New arg `buffer'.
1045
1046 * intervals.h (text_property_stickiness): New arg `buffer'.
1047 (get_pos_property): Declare.
1048
1049 * intervals.c (get_local_map): Use get_pos_property, to obey
1050 stickiness and empty overlays.
1051 (create_root_interval, graft_intervals_into_buffer): Use BEG.
1052 (merge_properties, intervals_equal, merge_properties_sticky):
1053 Use XCAR, XCDR.
1054 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
1055
1056 2003-05-17 Richard M. Stallman <rms@gnu.org>
1057
1058 * minibuf.c (read_minibuf): If buffer is empty, record the default
1059 in the history.
1060 (Fminibuffer_complete_word): When deleting the overlap, take account
1061 of its real position.
1062
1063 * fns.c (map_char_table): Fix previous change.
1064
1065 * syntax.c (find_defun_start):
1066 When open_paren_in_column_0_is_defun_start,
1067 return beginning of buffer.
1068
1069 * lisp.h (map_char_table): Declare added arg.
1070
1071 * fns.c (map_char_table): New arg TABLE gets the master table.
1072 All calls changed.
1073 Process default and inheritance, resorting to Faref if necessary.
1074
1075 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
1076 (Faccessible_keymaps): Pass new arg to map_char_table.
1077
1078 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
1079
1080 * casetab.c (set_case_table): Pass new arg to map_char_table.
1081
1082 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
1083
1084 * lisp.h (specbinding_func): New typedef.
1085 (struct specbinding): Use specbinding_func, to put the `volatile'
1086 in the right place.
1087
1088 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
1089 to avoid GCC warning.
1090
1091 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org> (tiny change)
1092
1093 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
1094
1095 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
1096
1097 * keyboard.c (apply_modifiers): Don't fill the other cache.
1098
1099 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
1100
1101 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
1102
1103 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
1104 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
1105 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
1106 (Fset_window_configuration, Fcurrent_window_configuration)
1107 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
1108 (Fpos_visible_in_window_p, mark_window_cursors_off)
1109 (window_internal_height, window_internal_width, Frecenter)
1110 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
1111 (replace_buffer_in_all_windows, init_window_once, init_window)
1112 (syms_of_window, keys_of_window): Move from lisp.h.
1113 * lisp.h: Move window.c declarations to window.h.
1114
1115 * bytecode.c: Include window.h.
1116 * emacs.c: Include window.h.
1117
1118 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
1119 (keyremap): Add `parent' field.
1120 (keyremap_step): Use it. Remove `parent' argument.
1121 (read_key_sequence): Setup and use the new `parent' field.
1122
1123 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
1124
1125 * keyboard.c (adjust_point_for_property): Ensure termination.
1126
1127 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
1128
1129 * keyboard.c (follow_key): Remove dead variable `did_meta'.
1130 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
1131 duplicated handling of function-key-map and key-translation-map
1132 in read_key_sequence.
1133 (read_key_sequence): Use them.
1134
1135 * keyboard.c (adjust_point_for_property): Try harder to move point
1136 to the non-sticky end of an invisible property.
1137
1138 * xdisp.c (single_display_prop_intangible_p): Make `space' display
1139 property intangible as well.
1140
1141 2003-05-10 Andreas Schwab <schwab@suse.de>
1142
1143 * xmenu.c (single_menu_item): Change last parameter to void* to
1144 avoid warning.
1145
1146 2003-05-09 Richard M. Stallman <rms@gnu.org>
1147
1148 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
1149 Bind Qinhibit_modification_hooks to t so there will be no GC.
1150 Rename local `tem' to `save_deactivate_mark'.
1151
1152 * eval.c (specpdl_ptr): Declare volatile.
1153 (unbind_to): Copy the whole binding and decrement specpdl_ptr
1154 before doing the work of unbinding it.
1155
1156 * lisp.h (struct specbinding): Declare elements volatile.
1157 (specpdl_ptr): Declare volatile.
1158
1159 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
1160
1161 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
1162 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
1163
1164 2003-05-08 Dave Love <fx@gnu.org>
1165
1166 * coding.c (Vlast_coding_system_used): Doc fix.
1167
1168 2003-05-07 Jason Rumney <jasonr@gnu.org>
1169
1170 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
1171 when system does not support them.
1172
1173 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
1174
1175 * fileio.c (Qwrite_region_annotate_functions): New var.
1176 (build_annotations): Use it to process the global part of the hook.
1177 (syms_of_fileio): Init and staticpro it.
1178
1179 * keyboard.c (safe_run_hooks_error): Display a message instead of
1180 silently ignoring the error.
1181
1182 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
1183
1184 * keyboard.c (input_available_signal): Mark static.
1185 (menu_bar_items): Use map_keymap.
1186 (menu_bar_one_keymap): Remove.
1187 (menu_bar_item): Adjust arglist (for use in map_keymap).
1188 Properly hide a second binding when not both are keymaps.
1189
1190 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
1191 (single_keymap_panes): Use it and map_keymap.
1192 (single_menu_item): Use skp as well.
1193
1194 * keymap.h (map_keymap_function_t): New type.
1195 (map_keymap): Declare.
1196
1197 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
1198 (map_keymap_call, Fmap_keymap): New functions.
1199 (syms_of_keymap): Defsubr map-keymap.
1200
1201 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1202
1203 * gtkutil.c (create_dialog, make_widget_for_menu_item)
1204 (make_menu_item, create_menus, xg_update_menu_item): Don't call
1205 ..._with_mnemonic functions for menu items.
1206
1207 2003-05-01 Kenichi Handa <handa@m17n.org>
1208
1209 * coding.c (coding_system_accept_latin_extra_p): Delete this
1210 function.
1211 (find_safe_codings): Pay attention to
1212 the property tranlsation-table-for-encode of each codings.
1213 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
1214
1215 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
1216
1217 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
1218
1219 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
1220
1221 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
1222
1223 * lisp.h (CHECK): Wrap args in parenthesis.
1224 (specbind): Fix doc: symbol = Qnil is not supported any more.
1225
1226 * bytecode.c (Fbyte_code) <unwind-protect>:
1227 Use Fprogn rather than 0 and Qnil.
1228
1229 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
1230 `double', and `triple' modifiers as well.
1231
1232 2003-04-30 Richard M. Stallman <rms@gnu.org>
1233
1234 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
1235
1236 * alloc.c (abort_on_gc): New variable.
1237 (Fgarbage_collect): Abort if abort_on_gc is set.
1238
1239 * lisp.h (abort_on_gc): Add decl.
1240
1241 * eval.c (Fsignal): Clear abort_on_gc.
1242
1243 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
1244 Reinit FORMAT_START and END before second scan.
1245
1246 * xdisp.c (move_it_vertically_backward): Do the final big else
1247 even if nlines is 0.
1248
1249 * xdisp.c (redisplay_internal): Finish the per-frame loop
1250 even if redisplay is suspended by input.
1251
1252 2003-04-24 Andrew Choi <akochoi@shaw.ca>
1253
1254 * macterm.c (x_list_fonts): Return all fonts that match if
1255 maxnames = -1.
1256
1257 2003-04-25 Kenichi Handa <handa@m17n.org>
1258
1259 * syntax.c (skip_chars): Fix previous change.
1260
1261 2003-04-24 Kenichi Handa <handa@m17n.org>
1262
1263 * syntax.c (skip_chars): Make the code faster by using the common
1264 technique of *p, *stop, and *endp.
1265
1266 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1267
1268 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
1269 tool_bar_items so GTK tool bar expose callback does not access items
1270 being updated.
1271
1272 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
1273
1274 * eval.c (Fapply): Undo last change and add a comment about why.
1275
1276 2003-04-18 Miles Bader <miles@gnu.org>
1277
1278 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
1279 pickier PARSE_MULTIBYTE_SEQ.
1280
1281 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
1282
1283 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
1284 Use XCDR, XCAR, CONSP.
1285 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
1286 (Fapply): Remove unnecessary GCPRO.
1287
1288 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
1289
1290 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
1291
1292 * buffer.h: Don't hardcode BEG==1.
1293
1294 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
1295
1296 2003-04-16 Richard M. Stallman <rms@gnu.org>
1297
1298 * xdisp.c (try_window, try_window_reusing_current_matrix):
1299 When at end of window, set window_end_pos to Z-ZV.
1300
1301 * buffer.c (Foverlay_recenter): Doc fix.
1302
1303 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
1304
1305 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
1306
1307 2003-04-14 Andrew Choi <akochoi@shaw.ca>
1308
1309 * macterm.c (mac_check_for_quit_char): Don't check more often than
1310 once a second.
1311
1312 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
1313
1314 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
1315 specially, so that they can't hide an implicit switch-frame event.
1316 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
1317 (head_table): Use switch-frame as event_kind for select-window.
1318 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
1319
1320 * editfns.c (Fformat): Lisp_Object/int mixup.
1321 (format2): Remove unused var numargs.
1322
1323 2003-04-11 Kenichi Handa <handa@m17n.org>
1324
1325 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
1326 (Qafter_insert_file_set_coding): New variable.
1327 (syms_of_fileio): Initialize and staticpro it. Delete declaration
1328 for after-insert-file-adjust-coding-function.
1329 (Finsert_file_contents): Call Qafter_insert_file_set_coding
1330 instead of Vafter_insert_file_adjust_coding_function.
1331
1332 2003-04-11 Kenichi Handa <handa@m17n.org>
1333
1334 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
1335
1336 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
1337 string. Callers changed.
1338
1339 2003-04-10 Kenichi Handa <handa@m17n.org>
1340
1341 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
1342 (syms_of_fileio): Declare it as a lisp variable.
1343 (Finsert_file_contents):
1344 Call Vafter_insert_file_adjust_coding_function before calling
1345 decode-format.
1346
1347 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1348
1349 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
1350 get GtkAdjustment as widget now is a GtkRange.
1351
1352 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
1353 GtkRange to avoid memory leak.
1354
1355 2003-04-09 Kenichi Handa <handa@m17n.org>
1356
1357 * xfaces.c (Vface_font_rescale_alist): New variable.
1358 (struct font_name): New member rescale_ratio.
1359 (font_rescale_ratio): New function.
1360 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
1361 (better_font_p): On comparing point sized, pay attention to
1362 recale_ratio member of fonts.
1363 (build_scalable_font_name): Reflect font->rescale_ratio in the
1364 font name.
1365 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
1366
1367 * lread.c (read1): Before calling index, check if the 2nd
1368 arguemnt is in ASCII range.
1369
1370 2003-04-08 Richard M. Stallman <rms@gnu.org>
1371
1372 * fileio.c (Ffile_symlink_p): Doc fix.
1373
1374 * editfns.c (Fformat): Translate positions of text properties
1375 in the format string to apply them to the result.
1376
1377 * fileio.c (Finsert_file_contents): Doc fix.
1378 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
1379
1380 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
1381
1382 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
1383
1384 2003-04-08 Steven Tamm <steventamm@mac.com>
1385
1386 * mac.c (init_mac_osx_environment): Switch libexec and bin so
1387 that self-contained application finds libexec files.
1388
1389 2003-04-08 Kenichi Handa <handa@m17n.org>
1390
1391 * coding.c (code_convert_region_unwind):
1392 Set Vlast_coding_system_used to the argument.
1393 (code_convert_region): If post-read-conversion function changed
1394 the value of last-coding-sytem, keep the new value in
1395 coding->symbol so that it won't be overridden.
1396 (run_pre_post_conversion_on_str): Likewise.
1397 (coding_system_accept_latin_extra_p): New function.
1398 (find_safe_codings): Pay attention to characters registered in
1399 latin-extra-code-table.
1400
1401 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
1402
1403 * Makefile.in (md5.o): Add missing dependency info.
1404
1405 2003-04-06 Richard M. Stallman <rms@gnu.org>
1406
1407 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
1408
1409 * marker.c (verify_bytepos): New function.
1410
1411 * intervals.c (set_intervals_multibyte_1): When becoming
1412 multibyte, adjust right and left child sizes to a whole set of
1413 characters. If an interval gets zero total-length, delete it.
1414 If an interval consists of just its children, delete one of them.
1415
1416 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
1417 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
1418
1419 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
1420 All calls deleted.
1421 (lisp_malloc): Do the work here directly.
1422
1423 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
1424
1425 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
1426 char tables.
1427
1428 2003-04-04 Kenichi Handa <handa@m17n.org>
1429
1430 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
1431 destructively change "%S" to "%s".
1432
1433 2003-04-03 Miles Bader <miles@gnu.org>
1434
1435 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
1436 always set.
1437
1438 2003-04-01 Dave Love <fx@gnu.org>
1439
1440 * xfns.c (xpm_lookup_color): Grok "opaque".
1441
1442 2003-03-31 Andrew Choi <akochoi@shaw.ca>
1443
1444 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
1445 parent window ID.
1446
1447 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
1448
1449 * macterm.h (struct mac_output): Define x_pixels_diff and
1450 y_pixels_diff.
1451
1452 2003-03-31 Juanma Barranquero <lektu@terra.es>
1453
1454 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
1455 blockinput.h and files included from it.
1456
1457 2003-03-31 Kim F. Storm <storm@cua.dk>
1458
1459 The following changes consolidates the common code related to
1460 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
1461 files into frame.c.
1462
1463 * frame.c: Include blockinput.h.
1464 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
1465 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
1466 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
1467 related vars here.
1468 (struct frame_parm_table, frame_parms): New table for describing
1469 frame parameters and their associated Q-variable.
1470 The order of the parameters corresponds to the sequence of the
1471 frame_parm_handlers table in redisplay_interface.
1472 (x_fullscreen_move, x_set_frame_parameters)
1473 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
1474 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
1475 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
1476 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
1477 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
1478 Generic functions for processing of frame parameters.
1479 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
1480 (display_x_get_resource, x_get_resource_string): Functions for
1481 generic access to X resources.
1482 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
1483 (x_default_parameter, Fx_parse_geometry): Functions for generic
1484 access to frame parameters.
1485 (x_figure_window_size): Generic calculation of frame size.
1486 Fixed to add space needed for tool bar. Also setup size_hint_flags.
1487 (syms_of_frame): Intern and staticpro frame parameter variables.
1488 Defvar_lisp Vx_resource_class and Vx_resource_name here.
1489 Defsubr Sx_get_resource and Sx_parse_geometry.
1490
1491 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
1492 parameter related vars defined in frame.c.
1493 (EMACS_CLASS): Define here.
1494 (enum FULLSCREEN_*): Define here.
1495 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
1496 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
1497 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
1498 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
1499 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
1500 (x_set_visibility, x_set_autoraise, x_set_autolower)
1501 (x_set_unsplittable, x_set_vertical_scroll_bars)
1502 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
1503 (x_figure_window_size): Add prototypes.
1504
1505 * dispextern.h (frame_parm_handler): New typedef.
1506 (struct redisplay_interface): New member frame_parm_handlers.
1507 (enum resource_types): Move declaration here.
1508 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
1509 (x_default_parameter): Add prototypes.
1510
1511 * window.c: Remove extern decl for frame parameter vars.
1512 (change_window_heights): New generic function;
1513 replaces x_change_window_heights. All users changed.
1514
1515 * window.h (change_window_heights): Add prototype.
1516
1517 * xfaces.c: Remove extern decl for frame parameter vars.
1518
1519 * xterm.h (EMACS_CLASS): Remove. Use generic define.
1520 (struct w32_display_info): Fix type of xrdb member.
1521 (enum FULLSCREEN_*): Remove.
1522 Remove prototypes for generic functions (in frame.h).
1523
1524 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
1525 parameters now defined in frame.h and frame.c.
1526 (Vx_resource_name): Remove. Use generic var.
1527 (enum x_frame_parms): Remove (bogus, unused enum).
1528 (check_x_display_info): Make non-static (for frame.c).
1529 (struct x_frame_parm_table, x_frame_parms): Remove.
1530 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
1531 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
1532 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
1533 (x_change_window_heights, x_set_autoraise, x_set_autolower)
1534 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
1535 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
1536 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
1537 Remove. Use generic functions instead.
1538 (enum resource_types): Remove.
1539 (x_set_scroll_bar_default_width): New global function (for frame.c).
1540 (Fx_create_frame): Depend on x_figure_window_size to add space for
1541 toolbar and setup size_hint_flags.
1542 (x_frame_parm_handlers): New table for redisplay_interface.
1543 (syms_of_xfns): Don't intern/staticpro removed vars.
1544
1545 * xterm.c: Remove unnecessary extern declarations.
1546 (x_fullscreen_adjust): Remove. Use generic instead.
1547 (x_redisplay_interface): Add x_frame_parm_handlers member.
1548
1549 * w32gui.h (XrmDatabase): New (dummy) typedef.
1550
1551 * w32term.h (EMACS_CLASS): Remove. Use generic define.
1552 (struct w32_display_info): Fix type of xrdb member.
1553 (enum FULLSCREEN_*): Remove.
1554 (x_fullscreen_adjust): Remove prototype.
1555
1556 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
1557 parameters now defined in frame.h and frame.c.
1558 (Vx_resource_name): Remove. Use generic var.
1559 (enum x_frame_parms): Remove (bogus, unused enum).
1560 (check_x_display_info): Make non-static (for frame.c).
1561 (struct x_frame_parm_table, x_frame_parms): Remove.
1562 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
1563 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
1564 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
1565 (x_change_window_heights, x_set_autoraise, x_set_autolower)
1566 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
1567 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
1568 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
1569 Remove. Use generic functions instead.
1570 (enum resource_types): Remove.
1571 (x_set_scroll_bar_default_width): New global function (for frame.c).
1572 (Fx_create_frame): Depend on x_figure_window_size to add space for
1573 toolbar and setup size_hint_flags.
1574 (w32_frame_parm_handlers): New table for redisplay_interface.
1575 (syms_of_w32fns): Don't intern/staticpro removed vars.
1576
1577 * w32term.c: Remove unnecessary extern declarations.
1578 (x_fullscreen_adjust): Remove. Use generic instead.
1579 (x_redisplay_interface): Add w32_frame_parm_handlers member.
1580
1581 * w32reg.c (x_get_string_resource): Use XrmDatabase.
1582
1583 * macgui.h (XrmDatabase): New (dummy) typedef.
1584
1585 * macterm.h (EMACS_CLASS): Remove.
1586 (struct mac_display_info): Add xrdb member.
1587 (struct mac_output): Add want_fullscreen member.
1588
1589 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
1590 parameters now defined in frame.h and frame.c.
1591 (Vx_resource_name): Remove. Use generic var.
1592 (check_x_display_info): Make non-static (for frame.c).
1593 (struct x_frame_parm_table, x_frame_parms): Remove.
1594 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
1595 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
1596 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
1597 (x_change_window_heights, x_set_autoraise, x_set_autolower)
1598 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
1599 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
1600 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
1601 Remove. Use generic functions instead.
1602 (enum resource_types): Remove.
1603 (x_set_scroll_bar_default_width): New global function (for frame.c).
1604 (mac_frame_parm_handlers): New table for redisplay_interface.
1605 (syms_of_macfns): Don't intern/staticpro removed vars.
1606
1607 * macterm.c: Remove unnecessary extern declarations.
1608 (x_redisplay_interface): Add mac_frame_parm_handlers member.
1609
1610 * Makefile.in (frame.o): Add dependency on blockinput.h and files
1611 included from it (atimer.h and systime.h).
1612
1613 2003-03-30 Andreas Schwab <schwab@suse.de>
1614
1615 * xdisp.c (x_insert_glyphs): Fix swapped width and height
1616 parameters for shift_glyphs_for_insert.
1617
1618 * macterm.c (x_redisplay_interface): Add missing entry for
1619 draw_vertical_window_border.
1620
1621 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
1622
1623 * fileio.c (Fexpand_file_name): In the no-handler case, after
1624 expanding, look again for a handler and invoke it. This is needed
1625 for filenames like "/foo/../user@host:/bar/../baz" -- the first
1626 expansion produces "/user@host:/bar/../baz" which needs to be
1627 expanded again for the finame result "/user@host:/baz".
1628
1629 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1630
1631 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
1632 of area to be redrawn for better performance.
1633
1634 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
1635
1636 * xterm.c (take_vertical_position_into_account): Remove.
1637 (xt_action_hook): Call set_vertical_scroll_bar if needed.
1638 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
1639 (xm_scroll_callback, x_create_toolkit_scroll_bar)
1640 (x_set_toolkit_scroll_bar_thumb): Simplify.
1641 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
1642 (XTread_socket): Remove unused var.
1643 (x_make_frame_invisible): Replace goto with else.
1644
1645 * xdisp.c (set_vertical_scroll_bar): New fun.
1646 (redisplay_window): Use it.
1647
1648 2003-03-26 Richard M. Stallman <rms@gnu.org>
1649
1650 * xdisp.c (update_tool_bar): Recompute tool bar if
1651 update_mode_lines is set. Set w->update_mode_line
1652 only if the tool bar contents actually change.
1653 (update_menu_bar): Undo previous change.
1654
1655 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1656
1657 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
1658 (xg_frame_set_char_size): Calculate scroll bar width before frame
1659 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
1660 (xg_separator_p): Check for all documented separator types.
1661 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
1662 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
1663
1664 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
1665 so tool bar gets updated.
1666
1667 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
1668
1669 * data.c (store_symval_forwarding): Re-instate part of the code
1670 that was deleted with too much enthusiasm.
1671
1672 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
1673
1674 * data.c (store_symval_forwarding): Delete special read-only
1675 hack for type == -1, since we now use ->constant instead.
1676 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
1677
1678 * buffer.c (overlays_in): Declare static.
1679 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
1680 `constant' field rather than the variable's `type' field.
1681
1682 2003-03-24 Andrew Choi <akochoi@shaw.ca>
1683
1684 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
1685
1686 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
1687
1688 * fns.c [MAC_OSX]: Do not redefine vector.
1689
1690 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
1691
1692 * macgui.h: Remove definition of No_Cursor.
1693
1694 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
1695
1696 * xdisp.c: Define No_Cursor.
1697 (x_write_glyphs, notice_overwritten_cursor)
1698 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
1699 (note_mouse_highlight): Remove Mac-specific code.
1700 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
1701
1702 2003-03-24 John Paul Wallington <jpw@gnu.org>
1703
1704 * xdisp.c (redisplay_window): If mini window's buffer is not
1705 empty, then redisplay it like other windows.
1706
1707 2003-03-23 Kim F. Storm <storm@cua.dk>
1708
1709 * w32term.c (w32_draw_window_cursor): Fix last change.
1710
1711 2003-03-23 Kenichi Handa <handa@m17n.org>
1712
1713 * alloc.c (make_string_from_bytes, make_specified_string):
1714 Add `const' for the arg CONTENTS.
1715
1716 * lisp.h (make_string_from_bytes, make_specified_string):
1717 Prototypes adjusted.
1718
1719 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1720
1721 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
1722
1723 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
1724 (XG_SB_RANGE): New define.
1725
1726 * gtkutil.c (xg_fixed_handle_expose): New function.
1727 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
1728 expose events.
1729 (xg_update_scrollbar_pos): Take two more arguments, left and width
1730 of scroll bar including borders.
1731 Clear left and right part outside scroll bar separately as some
1732 themes have bars that are not an even number of pixels.
1733 Don't set reallocate_redraws, don't call
1734 gdk_window_process_all_updates.
1735 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
1736 so no need to change it. Calculate size and value with XG_SB_RANGE.
1737
1738 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
1739 Pass left and width of scroll bar including borders to
1740 xg_update_scrollbar_pos.
1741
1742 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
1743
1744 * Makefile.in: Make sure space precedes end-of-line backslashes.
1745
1746 2003-03-22 Kim F. Storm <storm@cua.dk>
1747
1748 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
1749 Add generic versions here. Remove system specific versions
1750 defined elsewhere.
1751
1752 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
1753 Add prototypes.
1754
1755 * xterm.h (STORE_NATIVE_RECT): New macro.
1756
1757 2003-03-21 Kim F. Storm <storm@cua.dk>
1758
1759 * xdisp.c (get_glyph_string_clip_rect):
1760 Use FRAME_INTERNAL_BORDER_WIDTH.
1761
1762 * dispextern.h (struct redisplay_interface): Add active_p
1763 argument to draw_window_cursor member. All uses changed.
1764
1765 2003-03-21 Kim F. Storm <storm@cua.dk>
1766
1767 The following changes consolidate code related to writing and
1768 inserting glyphs, exposing frame, the tool bar, the mouse face,
1769 the output cursor, and help echo from xterm.c, w32term.c and
1770 macterm.c into xdisp.c. It also generalizes the use of the
1771 window_part enum instead of using numeric values throughout.
1772
1773 * xdisp.c: Consolidate gui-independent code here.
1774 Include keymap.h.
1775 (Qhelp_echo): Import.
1776 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
1777 (help_echo_string, help_echo_window, help_echo_object)
1778 (previous_help_echo_string, help_echo_pos): Declare here.
1779 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
1780 (estimate_mode_line_height): Define here. Handle windowing
1781 systems directly (without using estimate_mode_line_height_hook).
1782 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
1783 (update_window_cursor, update_cursor_in_window_tree)
1784 (fast_find_position, fast_find_string_pos)
1785 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
1786 (expose_area, expose_line, expose_overlaps, expose_window)
1787 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
1788 declared static as they are only used locally in xdisp.c.
1789 (draw_glyphs): Rename from x_draw_glyphs and make static.
1790 (tool_bar_item_info, notice_overwritten_cursor): Make static.
1791 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
1792 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
1793 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
1794 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
1795 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
1796 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
1797 (note_mouse_highlight, x_clear_window_mouse_face)
1798 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
1799 (x_intersect_rectangles): New generic functions for use by xdisp.c
1800 and GUI front-ends.
1801 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
1802 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
1803
1804 * dispextern.h (Display_Info): Generic typedef for *_display_info.
1805 (NativeRectangle): Generic typedef for rectangle type.
1806 (enum window_part): Move here from window.c.
1807 (struct redisplay_interface): New members flush_display_optional,
1808 define_frame_cursor, clear_frame_area, draw_window_cursor,
1809 draw_vertical_window_border, shift_glyphs_for_insert.
1810 Rename member clear_mouse_face to clear_window_mouse_face.
1811 (estimate_mode_line_height_hook): Remove hook.
1812 (auto_raise_tool_bar_buttons_p): Don't declare extern.
1813 (tool_bar_item_info): Remove prototype.
1814 (help_echo_string, help_echo_window, help_echo_object)
1815 (previous_help_echo_string, help_echo_pos)
1816 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
1817 (x_stretch_cursor_p, output_cursor): Declare extern.
1818 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
1819 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
1820 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
1821 (display_and_set_cursor, set_output_cursor, x_cursor_to)
1822 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
1823 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
1824 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
1825 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
1826 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
1827 Add prototypes.
1828 (mode_line_string, marginal_area_string): Fix prototypes.
1829
1830 * window.c (enum window_part): Move to dispextern.h.
1831 (coordinates_in_window): Use enum window_part member names
1832 instead of numbers to describe return value.
1833 (struct check_window_data): Change part member to window_part.
1834 (check_window_containing): Return window_part unaltered.
1835 (window_from_coordinates): Change part arg from int to enum
1836 window_part. Allow part arg to be null. All users changed.
1837
1838 * window.h (window_from_coordinates): Fix prototype.
1839
1840 * term.c (estimate_mode_line_height): Move to xdisp.c.
1841
1842 * keyboard.c (make_lispy_event): Use enum window_part.
1843
1844 * dispnew.c (mode_line_string, marginal_area_string): Use enum
1845 window_part instead of int in arg list. Users changed.
1846
1847 * xterm.h (No_Cursor): Declare as None for X.
1848 (struct mac_output): Replace member cross_cursor by hand_cursor.
1849
1850 * xterm.c: Remove consolidated defines and code.
1851 (BETWEEN): Remove unused macro.
1852 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
1853 (x_define_frame_cursor, x_clear_frame_area)
1854 (x_draw_window_cursor): New X-specific functions for RIF.
1855 (x_redisplay_interface): Add new members.
1856
1857 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
1858
1859 * w32term.h (struct w32_output): Remove cross_cursor member.
1860
1861 * w32term.c: Remove consolidated defines and code.
1862 (BETWEEN): Remove unused macro.
1863 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
1864 (w32_define_frame_cursor, w32_clear_frame_area)
1865 (w32_draw_window_cursor): New W32-specific functions for RIF.
1866 (w32_redisplay_interface): Add new members.
1867
1868 * w32gui.h (No_Cursor): Define as 0 for W32.
1869 (XRectangle): Add X compatible rectangle type.
1870 (NativeRectangle): Declare as RECT for W32.
1871 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
1872
1873 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
1874
1875 * w32console.c: Remove consolidated defines and code.
1876
1877 * msdos.h (Display_Info): Add generic typedef.
1878
1879 * msdos.c: Remove consolidated defines and code.
1880 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
1881
1882 * macterm.h (struct mac_output): Replace member cross_cursor by
1883 hand_cursor.
1884 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
1885
1886 * macterm.c: Remove consolidated defines and code.
1887 (BETWEEN): Remove unused macro.
1888 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
1889 (mac_define_frame_cursor, mac_clear_frame_area)
1890 (mac_draw_window_cursor): New Mac-specific functions for RIF.
1891 (x_redisplay_interface): Add new members.
1892
1893 * macgui.h (No_Cursor): Define as 0 for Mac.
1894 (XRectangle): Add X compatible rectangle type.
1895 (NativeRectangle): Declare as Rect for Mac.
1896 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
1897
1898 * macfns.c (x_set_mouse_color): Setup hand_cursor.
1899 (x_set_cursor_color): Use x_display_and_set_cursor.
1900
1901 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
1902 included from it. Add dependency on keymap.h.
1903
1904 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
1905
1906 2003-03-21 Kenichi Handa <handa@m17n.org>
1907
1908 * fileio.c (Fexpand_file_name): Fix previous change.
1909
1910 2003-03-19 Kenichi Handa <handa@m17n.org>
1911
1912 * fileio.c (Ffile_name_directory): Reconstruct file name by
1913 make_specified_string.
1914 (Ffile_name_nondirectory, Ffile_name_as_directory)
1915 (Fdirectory_file_name, Fexpand_file_name)
1916 (Fsubstitute_in_file_name): Likewise.
1917 (Fread_file_name): Compare decoded homedir with DIR and
1918 DEFAULT_FILENAME.
1919
1920 * alloc.c (make_specified_string): If NCHARS is negative, count
1921 the number of characters.
1922
1923 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1924
1925 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
1926 all widgets.
1927
1928 * gtkutil.h: Removed xg_ignore_next_thumb.
1929
1930 2003-03-18 Kenichi Handa <handa@m17n.org>
1931
1932 * coding.c (Vchar_coding_system_table): Remove this variable.
1933 (Vcoding_system_safe_chars): New variable.
1934 (intersection): Remove this function.
1935 (find_safe_codings): Don't use Vchar_coding_system_table, but try
1936 all codings in SAFE_CODINGS.
1937 (Ffind_coding_systems_region_internal): Adjust for the change of
1938 find_safe_codings. Get generic coding systems from
1939 Vcoding_system_safe_chars.
1940 (Fdefine_coding_system_internal): New function.
1941 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
1942 Initialize and staticpro Vcoding_system_safe_chars.
1943
1944 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1945
1946 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
1947 equal old values before updating.
1948
1949 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
1950
1951 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
1952
1953 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1954
1955 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
1956 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
1957 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
1958 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
1959 (xg_create_scroll_bar): Pass bar to button event callback.
1960 (xg_find_top_left_in_fixed): New function.
1961 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
1962 whole scroll bar area. Get old position with
1963 xg_find_top_left_in_fixed, calculate and only clear needed areas.
1964 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
1965 dragging is in progress. Calculate whole as for Motif.
1966 Remove code that saved last values. Call gtk_range functions to
1967 set scroll bar sizes.
1968
1969 * gtkutil.h: Removed xg_ignore_next_thumb.
1970
1971 2003-03-17 Juanma Barranquero <lektu@terra.es>
1972
1973 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
1974 and files included from it.
1975
1976 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
1977
1978 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
1979 multiple occurrences of the same keymap under different prefixes.
1980 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
1981
1982 2003-03-16 Jason Rumney <jasonr@gnu.org>
1983
1984 * w32gui.h: Use HDC for Display.
1985
1986 * w32term.c (w32_encode_char): Prevent double-byte chars from
1987 crashing Emacs.
1988
1989 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
1990 as binary.
1991
1992 2003-03-16 Juanma Barranquero <lektu@terra.es>
1993
1994 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
1995
1996 2003-03-16 Kim F. Storm <storm@cua.dk>
1997
1998 The following changes consolidate some of the gui-independent
1999 parts of the processing and drawing of "glyph strings" from
2000 xterm.c, w32term.c, and macterm.c into xdisp.c.
2001
2002 * dispextern.h (struct glyph): Reduce face_id member from 22 to
2003 21 bits (this reduces number of faces from 4M to 2M).
2004 Replace W32 specific w32_font_type member (2 bits) by generic
2005 font_type member (3 bits) for portability.
2006 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
2007 (enum draw_glyphs_face): Define here.
2008 (struct glyph_string): Define here. Merge W32 and X versions.
2009 (struct redisplay_interface): New members per_char_metric,
2010 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
2011 (VCENTER_BASELINE_OFFSET): Define here.
2012 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
2013 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
2014
2015 * xdisp.c: Consolidate gui-independent "glyph string" code here.
2016 (dump_glyph_string): Moved here.
2017 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
2018 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
2019 (fill_composite_glyph_string, fill_glyph_string)
2020 (fill_image_glyph_string, fill_stretch_glyph_string)
2021 (left_overwritten, left_overwriting, right_overwritten)
2022 (right_overwriting, get_char_face_and_encoding)
2023 (set_glyph_string_background_width, compute_overhangs_and_x)
2024 (append_glyph, append_composite_glyph, produce_image_glyph)
2025 (take_vertical_position_into_account, append_stretch_glyph)
2026 (produce_stretch_glyph): New generic functions (based on X version).
2027 Call platform specific functions through rif.
2028 (INIT_GLYPH_STRING): New macro, hides W32 details.
2029 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
2030 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
2031 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
2032 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
2033 (notice_overwritten_cursor):
2034 Generic functions exported to platform modules. Users changed.
2035
2036 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
2037 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
2038 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
2039 New macros for consolidated code.
2040
2041 * xterm.c: Remove consolidated defines and code.
2042 (x_per_char_metric, x_encode_char)
2043 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
2044 (x_redisplay_interface): Add new members.
2045
2046 * w32gui.h (Display): Add dummy typedef for consolidation.
2047 (XChar2b): Define alias for wchar_t for consolidation.
2048 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
2049
2050 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
2051 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
2052 New macros for consolidation.
2053
2054 * w32term.c: Remove consolidated defines and code.
2055 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
2056 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
2057 (w32_per_char_metric): Change font_type arg to int for RIF.
2058 (w32_encode_char): Return int according to RIF requirements.
2059 (w32_compute_glyph_string_overhangs): Adapt to RIF.
2060 (w32_get_glyph_overhangs): New function for RIF. Uses generic
2061 x_get_glyph_overhangs.
2062 (w32_redisplay_interface): Add new members.
2063
2064 * macgui.h (XChar2b): Move typedef here for consolidation.
2065 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
2066
2067 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
2068 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
2069 consolidation.
2070
2071 * macterm.c: Remove consolidated defines and code.
2072 (mac_per_char_metric): New function for RIF.
2073 (mac_encode_char): Adapt to new RIF requirements.
2074 (mac_compute_glyph_string_overhangs): Adapt for RIF.
2075 (x_redisplay_interface): Add new members.
2076
2077 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
2078
2079 * keymap.c (Vmenu_events): New var.
2080 (syms_of_keymap): Initialize it.
2081 (where_is_internal): Check more carefully what is a menu event.
2082
2083 2003-03-14 Richard M. Stallman <rms@gnu.org>
2084
2085 * lread.c (read1): After #!, exit loop on eof.
2086
2087 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2088
2089 * gtkutil.h: Add declaration for xg_frame_cleared.
2090
2091 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
2092
2093 * gtkutil.c (struct xg_last_sb_pos): New structure.
2094 (handle_fixed_child): New function.
2095 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
2096 and force a redraw on them.
2097 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
2098 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
2099 so we can avoid unneeded redraws.
2100 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
2101 and force a redraw on the scroll bar.
2102 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
2103 if xg_last_sb_pos shows the positions are up to date.
2104 (xg_frame_cleared): New function.
2105
2106 2003-03-13 Kenichi Handa <handa@m17n.org>
2107
2108 * coding.c (Fdetect_coding_region): Fix docstring.
2109 (Fdetect_coding_string): Fix docstring.
2110
2111 2003-03-13 Andreas Schwab <schwab@suse.de>
2112
2113 * gtkutil.c: Add prototype for create_menus.
2114
2115 * data.c (long_to_cons): Fix type of top.
2116
2117 * xselect.c (selection_data_to_lisp_data): Use int instead of
2118 long for an integer of size 4.
2119
2120 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
2121 (xg_tool_bar_help_callback): Likewise.
2122
2123 2003-03-12 Andreas Schwab <schwab@suse.de>
2124
2125 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
2126
2127 2003-03-12 Kim F. Storm <storm@cua.dk>
2128
2129 The following changes consolidate the fringe handling from
2130 xterm.c, w32term.c, and macterm.c into xdisp.c.
2131
2132 * xdisp.c: Consolidate fringe handling code here.
2133 (left_bits, right_bits, continued_bits, continuation_bits)
2134 (ov_bits, zv_bits): Define fringe bitmaps.
2135 (fringe_bitmaps): New array holding fringe bitmaps.
2136 (draw_fringe_bitmap): Draw a specific bitmap; call display
2137 specific drawing routine via rif->draw_fringe_bitmap.
2138 (draw_row_fringe_bitmaps): Generic replacement for
2139 x_draw_row_fringe_bitmaps; all callers changed.
2140 (compute_fringe_widths): Generic replacement for
2141 x_compute_fringe_widths; all callers changed.
2142
2143 * dispextern.h (enum fringe_bitmap_type): Define here.
2144 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
2145 (fringe_bitmaps): Declare extern.
2146 (struct redisplay_interface): New member draw_fringe_bitmap.
2147 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
2148
2149 * xterm.c: Remove generic fringe code.
2150 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
2151 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
2152
2153 * w32term.c: Remove generic fringe code.
2154 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
2155 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
2156
2157 * macterm.c: Remove generic fringe code.
2158 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
2159 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
2160
2161 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
2162
2163 * print.c (Fprin1_to_string): Return unibyte string if possible.
2164
2165 2003-03-09 David Kastrup <dak@gnu.org>
2166
2167 * process.c (read_process_output): We have allocated enough space
2168 for readmax and carryover, so actually use the alloted space.
2169
2170 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2171
2172 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
2173 toolkit scrollbar click.
2174
2175 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
2176 for USE_GTK.
2177 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
2178 also.
2179 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
2180 scrollbar and control is pressed, call x_scroll_bar_handle_click.
2181
2182 * gtkutil.h: Declare xg_get_scroll_id_for_window.
2183
2184 * gtkutil.c (xg_get_scroll_id_for_window): New function.
2185 (xg_tool_bar_item_expose_callback): New function.
2186 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
2187 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
2188 on the tool bar widget.
2189 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
2190 to expose on the tool bar item widgets.
2191
2192 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2193
2194 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
2195 struct image* when deciding to update (struct image* may have been
2196 deleted from the image cache).
2197
2198 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
2199 the event isn't for a frame (i.e. for dialogs).
2200
2201 2003-03-07 Kenichi Handa <handa@m17n.org>
2202
2203 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
2204 composition components reaches the limit, terminate composing.
2205 (COMPOSITION_OK): New macro.
2206 (detect_coding_iso2022): Use it if an escape sequence for
2207 composition is found.
2208 (coding_restore_composition): Adjust the number of composition
2209 components if it is not sane.
2210
2211 2003-03-06 Juanma Barranquero <lektu@terra.es>
2212
2213 * w32term.h (struct w32_display_info): Add xrdb member to support
2214 passing resources via -xrm on Windows.
2215
2216 * w32term.c (w32_make_rdb): New function.
2217 (w32_term_init): Use it to initialize xrdb member of w32_display_info
2218 struct. Delete leftover code.
2219
2220 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
2221 for resources passed on the command line.
2222
2223 * w32reg.c (w32_get_rdb_resource): New function.
2224 (x_get_string_resource): Use it, so resources passed with -xrm
2225 supercede the ones in the registry.
2226
2227 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2228
2229 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
2230 instead of x_top_window_to_frame.
2231
2232 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2233
2234 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
2235 when restarting Emacs.
2236
2237 2003-03-03 Richard M. Stallman <rms@gnu.org>
2238
2239 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
2240 to run kill-buffer-query-functions.
2241 (Qkill_buffer_query_functions): New var.
2242 (syms_of_buffer): Init and staticpro it.
2243
2244 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2245
2246 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
2247
2248 2003-02-25 Kim F. Storm <storm@cua.dk>
2249
2250 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
2251 If centering point failed to make whole line visible and vscroll
2252 is non-zero, disable vscroll and try centering point again.
2253
2254 * lread.c (read1): Accept `single space' syntax like (? x).
2255
2256 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2257
2258 * keyboard.c (cancel_hourglass_unwind): Surround with
2259 #ifdef HAVE_X_WINDOWS
2260
2261 2003-02-25 Kenichi Handa <handa@m17n.org>
2262
2263 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
2264 process only when "subprocesses" is defined.
2265
2266 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
2267
2268 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
2269
2270 2003-02-24 Juanma Barranquero <lektu@terra.es>
2271
2272 * callint.c (fix_command): Declare as static void and move before
2273 Fcall_interactively.
2274
2275 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
2276 (syms_of_xdisp): Don't initialize Qwhen.
2277
2278 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2279
2280 * keyboard.c (cancel_hourglass_unwind): New function.
2281 (command_loop_1): Cancel hourglass with unwind-protect.
2282
2283 2003-02-23 Richard M. Stallman <rms@gnu.org>
2284
2285 * callint.c (fix_command): New subroutine, from Fcall_interactively.
2286 Detect (when ... (region-beginning)) etc.
2287 (Fcall_interactively): Call fix_command.
2288 (Qif, Qwhen): New variables.
2289 (syms_of_callint): Init and staticpro them.
2290
2291 * regex.c (print_partial_compiled_pattern): Output to stderr.
2292
2293 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
2294
2295 * dired.c (directory_files_internal): Don't expand directory.
2296 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
2297 instead. From Lars Hansen <larsh@math.ku.dk>.
2298
2299 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
2300
2301 * fns.c (string_to_multibyte): Remove unused var i.
2302 (Flanginfo): Fix int/Lisp_Object mixup.
2303 (void_call2): New fun.
2304 (Fmap_char_table): Use it in place of call2.
2305
2306 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
2307
2308 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
2309
2310 * keymap.c (copy_keymap_1): Make it static.
2311
2312 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
2313
2314 2003-02-22 David Ponce <david@dponce.com>
2315
2316 * lread.c (Fload): Don't check STRING_MULTIBYTE.
2317
2318 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2319
2320 * process.h: Removed subtty field from struct Lisp_Process.
2321
2322 * process.c (create_process): Remove setting of subtty.
2323 (emacs_get_tty_pgrp): New function.
2324 (Fprocess_running_child_p, process_send_signal):
2325 Call emacs_get_tty_pgrp instead of ioctl.
2326 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
2327
2328 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
2329
2330 * keymap.c (Fdefine_key): Doc fix.
2331
2332 2003-02-21 Juanma Barranquero <lektu@terra.es>
2333
2334 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
2335
2336 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
2337 POLLING_PROBLEM_IN_SELECT.
2338
2339 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
2340 Delete #undef of POLLING_PROBLEM_IN_SELECT.
2341
2342 * s/hpux10-20.h: New file.
2343
2344 * process.c (wait_reading_process_input):
2345 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
2346
2347 2003-02-20 Kenichi Handa <handa@m17n.org>
2348
2349 * fontset.c (check_fontset_name): If NAME is nil, return the
2350 default fontset.
2351 (override_font_info): New function.
2352 (Fset_fontset_font): Document that NAME nil means the default fontset.
2353 (Ffontset_info): If FONTSET is not the default fontset, merge
2354 FONTSET onto the copy of the default fontset, and work on that
2355 copy. Document that NAME nil means the default fontset.
2356 (Ffontset_font): Document that NAME nil means the default fontset.
2357
2358 * process.c (setup_process_coding_systems): If the process's
2359 in/out descriptor is -1, do nothing.
2360
2361 2003-02-19 Andreas Schwab <schwab@suse.de>
2362
2363 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
2364 Add prototypes.
2365
2366 2003-02-19 Kenichi Handa <handa@m17n.org>
2367
2368 * xfaces.c (try_alternative_families): Try all scalable fonts if
2369 Vscalable_fonts_allowed is not Qt.
2370
2371 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2372
2373 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
2374
2375 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2376
2377 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
2378 names.
2379
2380 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
2381 (sorted_font_list): Move allocation of struct font_name to
2382 x_face_list_fonts.
2383 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
2384 (Fx_list_fonts): Set maxnames to -1 to get all font names.
2385
2386 2003-02-18 Kim F. Storm <storm@cua.dk>
2387
2388 * lread.c (read1): Fix last change.
2389 "`" is not always special. Allow "?" after a character constant.
2390
2391 2003-02-18 Andrew Choi <akochoi@shaw.ca>
2392
2393 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
2394
2395 2003-02-18 Andreas Schwab <schwab@suse.de>
2396
2397 * window.c (window_scroll_pixel_based): Move outside a
2398 multi-glyph character before setting new window start.
2399
2400 * xdisp.c (in_display_vector_p): New function.
2401 * dispextern.h (in_display_vector_p): Declare.
2402
2403 2003-02-18 Kim F. Storm <storm@cua.dk>
2404
2405 * lread.c (read1): Fix and relax read syntax.
2406 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
2407 Only recognize "," after dotted-pair dot if inside backquote.
2408 Never include "`" or "," (inside backquote) in a symbol.
2409 Allow dotted-pair dot after a character constant.
2410 Allow "`" and "," (inside backquote) after a character constant.
2411
2412 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2413
2414 * gtkutil.c (xg_tool_bar_expose_callback): New function.
2415 (xg_create_tool_bar): Force style of tool bar to be horizontal with
2416 icons. Set name of tool bar to emacs-toolbar.
2417 (update_frame_tool_bar): Connect expose event to
2418 xg_tool_bar_expose_callback.
2419
2420 2003-02-17 Richard M. Stallman <rms@gnu.org>
2421
2422 * keyboard.c (this_command_key_count_reset): New variable.
2423 Initiatize to 0 where this_command_key_count is set.
2424 (read_char): Save and restore this_command_key_count_reset
2425 around input method code.
2426 (read_char): If this_command_key_count_reset, echo reread commands.
2427 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
2428
2429 2003-02-17 Kenichi Handa <handa@m17n.org>
2430
2431 * fns.c (string_to_multibyte): Always return a multibyte string.
2432
2433 2003-02-16 Jason Rumney <jasonr@gnu.org>
2434
2435 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
2436 Negative max_fonts parameter means list all.
2437
2438 2003-02-14 Dave Love <fx@gnu.org>
2439
2440 * fns.c (Flanginfo): Doc fix.
2441
2442 2003-02-13 Kim F. Storm <storm@cua.dk>
2443
2444 * lread.c (read_escape): Interpret \s as a SPACE character, except
2445 for \s-X in a character constant which still is the super modifier.
2446 (read1): Signal an `invalid read syntax' error if a character
2447 constant is immediately followed by a digit or symbol character.
2448
2449 * search.c (Fmatch_data): Doc fix. Explicitly state that
2450 match-data is undefined if last search failed.
2451
2452 * keymap.c (Fcommand_remapping): Renamed from Fremap_command.
2453 All uses changed.
2454
2455 2003-02-12 Juanma Barranquero <lektu@terra.es>
2456
2457 * eval.c (Fdefmacro): Fix typo.
2458
2459 2003-02-12 Kim F. Storm <storm@cua.dk>
2460
2461 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
2462 macro is a string, convert meta modifiers in string when copying
2463 the string into a vector.
2464
2465 2003-02-11 Kim F. Storm <storm@cua.dk>
2466
2467 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
2468
2469 2003-02-11 Kenichi Handa <handa@m17n.org>
2470
2471 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
2472
2473 2003-02-10 Kim F. Storm <storm@cua.dk>
2474
2475 * process.c: Doc fixes.
2476 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
2477
2478 2003-02-10 Kenichi Handa <handa@m17n.org>
2479
2480 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
2481
2482 * process.c (QCfilter_multibyte): New variable.
2483 (setup_process_coding_systems): New function.
2484 (Fset_process_buffer, Fset_process_filter):
2485 Call setup_process_coding_systems.
2486 (Fstart_process): Initialize the member `filter_multibyte' of
2487 struct Lisp_Process.
2488 (create_process): Call setup_process_coding_systems.
2489 (Fmake_network_process): New keyward `:filter-multibyte'.
2490 Initialize the member `filter_multibyte' of struct Lisp_Process.
2491 Call setup_process_coding_systems.
2492 (server_accept_connection): Call setup_process_coding_systems.
2493 (read_process_output): If the process has a filter, decide the
2494 multibyteness of a string to given to the filter by
2495 `filter_multibyte' member of the process. If the process doesn't
2496 have a filter and the result of conversion is unibyte, use
2497 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
2498 multibyte form.
2499 (Fset_process_coding_system): Call setup_process_coding_systems.
2500 (Fset_process_filter_multibyte): New function.
2501 (Fprocess_filter_multibyte_p): New function.
2502 (syms_of_process): Intern and staticpro QCfilter_multibyte.
2503 Defsubr Sset_process_filter_multibyte and
2504 Sprocess_filter_multibyte_p.
2505
2506 * process.h (struct Lisp_Process): New member filter_multibyte.
2507
2508 * lisp.h (setup_process_coding_systems): Add prototype.
2509
2510 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
2511 process, update coding systems for the process.
2512
2513 2003-02-09 Kenichi Handa <handa@m17n.org>
2514
2515 * fns.c (string_to_multibyte): New function.
2516 (Fstring_to_multibyte): New function.
2517 (syms_of_fns): Defsubr it.
2518
2519 2003-02-08 Andreas Schwab <schwab@suse.de>
2520
2521 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
2522 instead of the substitution.
2523
2524 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2525
2526 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
2527
2528 * xmenu.c (menu_position_func): Adjust menu popup position so that
2529 the menu is fully visible.
2530
2531 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2532
2533 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
2534 (x_make_frame_invisible, x_wm_set_icon_position):
2535 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
2536
2537 * xfns.c (x_set_name, x_set_title): Ditto.
2538
2539 2003-02-04 Richard M. Stallman <rms@gnu.org>
2540
2541 * keyboard.c (echo_now): Update before_command_echo_length.
2542 (Freset_this_command_lengths): Reset this_command_key_count etc.
2543 immediately rather than arranging to do it later.
2544 (before_command_key_count_1, before_command_echo_length_1)
2545 (before_command_restore_flag): Vars deleted.
2546 (add_command_key): Don't handle before_command_restore_flag.
2547 (read_char, record_menu_key): Don't update before_command_key_count or
2548 before_command_echo_length.
2549 (read_char): Don't handle before_command_restore_flag.
2550
2551 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
2552 in direct-output clauses if it wouldn't be called in the ordinary case.
2553
2554 2003-02-04 Kim F. Storm <storm@cua.dk>
2555
2556 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
2557
2558 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2559
2560 * gtkutil.c (remove_from_container): Copying list is not needed.
2561 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
2562 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
2563 on list returned from gtk_container_get_children to avoid memory leak.
2564
2565 2003-02-01 Jason Rumney <jasonr@gnu.org>
2566
2567 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
2568 local malloc.
2569 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
2570 definitions in xpm.h.
2571 (init_xpm_functions): New function.
2572 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
2573 (init_external_image_libraries): Try to load libXpm.dll.
2574
2575 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
2576 timestamp.
2577
2578 2003-01-31 Dave Love <fx@gnu.org>
2579
2580 * syntax.c (Fskip_chars_forward)
2581 (open-paren-in-column-0-is-defun-start): Doc fix.
2582
2583 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
2584
2585 * fileio.c: Support // at start of name for Cygwin (just added proper
2586 preprocessor tests).
2587
2588 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
2589
2590 * Makefile.in: Use @EXEEXT@ for Cygwin.
2591
2592 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
2593
2594 * s/cygwin.h: Added for Cygwin port.
2595
2596 2003-01-31 Juanma Barranquero <lektu@terra.es>
2597
2598 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
2599 when including gif_lib.h.
2600 (init_gif_functions, init_tiff_functions): New functions.
2601 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
2602 Windows. Disable color table lookups. Call library functions
2603 through pointers determined at runtime.
2604 (init_external_image_libraries): Try to load libungif.dll and
2605 libtiff.dll.
2606
2607 2003-01-31 Kenichi Handa <handa@m17n.org>
2608
2609 * xdisp.c (SKIP_GLYPHS): New macro.
2610 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
2611
2612 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2613
2614 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
2615
2616 2003-01-30 Dave Love <fx@gnu.org>
2617
2618 * alloc.c (Vgc_elapsed, gcs_done): New variables.
2619 (Fgarbage_collect): Use them.
2620 (init_alloc, syms_of_alloc): Set them up.
2621
2622 2003-01-30 Juanma Barranquero <lektu@terra.es>
2623
2624 * w32fns.c (init_external_image_libraries): Add missing operator.
2625
2626 2003-01-29 Jason Rumney <jasonr@gnu.org>
2627
2628 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
2629 an alternative name for jpeg.dll.
2630
2631 2003-01-29 Kenichi Handa <handa@m17n.org>
2632
2633 * xdisp.c (set_cursor_from_row): Pay attention to string display
2634 properties.
2635
2636 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
2637
2638 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
2639 <escape>.
2640 (keycode_to_xkeysym_table): Reformat and add more comments.
2641 (XTread_socket): Drop special case for backspace.
2642
2643 2003-01-28 Andrew Choi <akochoi@shaw.ca>
2644
2645 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
2646 values in old-style RGB specs.
2647
2648 2003-01-27 Juanma Barranquero <lektu@terra.es>
2649
2650 * w32fns.c (init_external_image_libraries): Try alternate names for the
2651 jpeg dll.
2652
2653 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2654
2655 * gtkutil.c (create_dialog, xg_separator_p)
2656 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
2657 before calling strcmp or strlen.
2658
2659 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2660
2661 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
2662 and handle image load failure.
2663
2664 2003-01-26 Jason Rumney <jasonr@gnu.org>
2665
2666 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
2667 New functions.
2668 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
2669 Disable color table lookups. Call jpeg library functions
2670 through pointers determined at runtime.
2671 (init_external_image_libraries): Try to load jpeg.dll.
2672
2673 2003-01-25 Richard M. Stallman <rms@gnu.org>
2674
2675 * lisp.h: Declare format2 instead of format1.
2676
2677 * fileio.c (barf_or_query_if_file_exists):
2678 Call format2 instead of format1.
2679
2680 * editfns.c (format2): New function, replaces format1
2681 but takes exactly two Lisp Objects as format args.
2682
2683 * buffer.c (Fkill_buffer): Call format2 instead of format1.
2684
2685 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2686
2687 * xterm.h: Change to return value of x_dispatch_event to int.
2688
2689 * xterm.c (x_filter_event): New function.
2690 (event_handler_gdk, XTread_socket): Call x_filter_event.
2691 (x_dispatch_event): Change to return value of finish.
2692 (event_handler_gdk): Use return value from x_dispatch_event.
2693
2694 * xfns.c (x_window): Call create_frame_xic for GTK version to
2695 initialize input methods.
2696
2697 * gtkutil.h: Add (void) prototypes.
2698
2699 * gtkutil.c (create_menus): Remove code that puts the help menu to
2700 the right.
2701
2702 2003-01-25 Jason Rumney <jasonr@gnu.org>
2703
2704 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
2705 [HAVE_PNG]: Sync with xfns.c version.
2706 (png_load): Adjust colors for Windows. Use Windows
2707 bitmaps. Disable color table lookups.
2708 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
2709 (init_png_functions): New function.
2710 (png_read_from_memory, png_load): Call png library functions
2711 through pointers determined at runtime.
2712 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
2713 (init_external_image_libraries): New function.
2714 (init_xfns): Call it.
2715
2716 2003-01-24 Andreas Schwab <schwab@suse.de>
2717
2718 * minibuf.c (Fminibuffer_message): Verify type of parameter.
2719
2720 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2721
2722 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
2723 of static initializer.
2724
2725 2003-01-24 Dave Love <fx@gnu.org>
2726
2727 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
2728 architectures.
2729
2730 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
2731 Use __alignof__.
2732
2733 2003-01-24 Kenichi Handa <handa@m17n.org>
2734
2735 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
2736 It it is nonzero, don't pretend that an invisible area doesn't exist.
2737 (command_loop_1): Call adjust_point_for_property with proper
2738 second arg.
2739
2740 2003-01-22 Jason Rumney <jasonr@gnu.org>
2741
2742 Sync changes with xterm.c and xfns.c.
2743
2744 * w32term.c (x_draw_glyph_string_foreground)
2745 (x_draw_composite_glyph_string_foreground): Implement overstriking.
2746
2747 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
2748 phys_cursor's hpos is overwritten. This is still not completely
2749 correct, as it doesn't really make sense to use hpos at all to
2750 get the cursor glyph (as that is relative to the width of the
2751 characters on the line, which may have changed during the update).
2752
2753 * w32term.c (notice_overwritten_cursor): Handle the special case
2754 of the cursor being in the first blank non-text line at the
2755 end of a window.
2756
2757 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
2758 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
2759 Compute from the x position returned by x_draw_glyphs.
2760
2761 (x_display_and_set_cursor): Don't set phys_cursor_width here,
2762 except for NO_CURSOR and system caret, to make phys_cursor_width
2763 contain what its name suggests.
2764 (notice_overwritten_cursor): Consider the cursor image erased if
2765 the output area intersects the cursor image in y-direction.
2766
2767 * w32term.c (note_mode_line_or_margin_highlight): Rename from
2768 note_mode_line_highlight and extend.
2769
2770 * w32term.c (last_window): New variable.
2771 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
2772 (note_mouse_movement): Remove reimplemented code in #if 0.
2773
2774 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
2775 not update_mode_lines, and always set it to 1.
2776
2777 2003-01-21 Jason Rumney <jasonr@gnu.org>
2778
2779 * w32fns.c (IDC_HAND): Define it if system headers don't.
2780
2781 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
2782
2783 * w32term.h (struct w32_output): New member hand_cursor.
2784 (WM_EMACS_SETCURSOR): New message definition.
2785
2786 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
2787 function w32_define_cursor.
2788 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
2789 position, change member name output_data.x to output_data.w32 and
2790 add function w32_define_cursor.
2791 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
2792 and change member name output_data.x to output_data.w32.
2793 (w32_initialize_display_info):
2794 Setup dpyinfo->vertical_scroll_bar_cursor.
2795
2796 * w32fns.c (Vx_hand_shape): New variable.
2797 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
2798 WM_EMACS_SETCURSOR.
2799 (x-create-frame): Setup Cursor types.
2800
2801 2003-01-21 David Ponce <david@dponce.com>
2802
2803 * w32term.c (w32_encode_char): For DIM=1 charset, set
2804 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
2805 x_encode_char change by Kenichi Handa <handa@m17n.org> on
2806 2002-09-30.)
2807 (w32_draw_relief_rect): Declare all args.
2808 (w32_define_cursor): New.
2809
2810 * w32fns.c (w32_load_cursor): New function.
2811 (w32_init_class): Use it.
2812 (x_put_x_image): Declare all args.
2813
2814 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
2815
2816 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
2817
2818 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2819
2820 * gtkutil.c: Must include stdio.h before termhooks.h
2821
2822 2003-01-21 Dave Love <fx@gnu.org>
2823
2824 * alloc.c (Fgc_status): Print zombie list.
2825 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
2826 Fix assignment of zombies.
2827 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
2828 Don't take car of non-cons.
2829
2830 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
2831
2832 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
2833
2834 2003-01-20 David Ponce <david@dponce.com>
2835
2836 * w32menu.c (digest_single_submenu): Declare all args.
2837
2838 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
2839 changes in xmenu.c:
2840
2841 (parse_single_submenu): Use individual keymap's prompt
2842 string as pane name, if there is one.
2843 (set_frame_menubar): Save menu_items_n_panes from each call to
2844 parse_single_submenu and use it when calling digest_single_submenu.
2845
2846 2003-01-20 Steven Tamm <steventamm@mac.com>
2847
2848 * macterm.c (XTread_socket): Checks for valid, visible window
2849 before sending a scroll-wheel event.
2850
2851 2003-01-20 Richard M. Stallman <rms@gnu.org>
2852
2853 * xdisp.c (redisplay_window): If mini window's buffer is not
2854 a minibuffer, then redisplay it like other windows.
2855
2856 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2857
2858 * gtkutil.c (xg_create_frame_widgets): Check if there is an
2859 external tool bar before setting tool bar height.
2860
2861 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2862
2863 * xterm.c (handle_one_xevent): Surround popup_activated
2864 with #ifdef:s for non-toolkit version.
2865
2866 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
2867 (gtkutil.o): New file.
2868 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
2869 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
2870
2871 * gtkutil.c: New file for GTK version.
2872
2873 * gtkutil.h: New file for GTK version.
2874
2875 * xterm.h: Add xt_or_gtk_widget.
2876 Include gtk files for USE_GTK.
2877 (struct x_output): Add toolbar_height.
2878 (struct x_output): Add GTK widgets and Gdk size_hints.
2879 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
2880 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
2881 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
2882
2883 * xterm.c: Include gtkutil.h for USE_GTK.
2884 Declare extern void free_frame_menubar for USE_GTK.
2885 (note_mouse_highlight): Check popup_activated for USE_GTK.
2886 (xt_action_hook): Don't compile if USE_GTK.
2887 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
2888 (xg_scroll_callback): New function.
2889 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
2890 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
2891 for USE_GTK.
2892 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
2893 xg_show_scroll_bar for USE_GTK.
2894 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
2895 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
2896 (event_handler_gdk): New function for USE_GTK.
2897 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
2898 (handle_one_xevent): Make sure widget is mapped before
2899 calling x_real_positions for USE_GTK.
2900 (XTread_socket): Add GTK event loop for USE_GTK.
2901 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
2902 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
2903 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
2904 (x_iconify_frame): Add code for USE_GTK.
2905 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
2906 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
2907 is in gtkutil.c.
2908 (x_term_init): Add initialization for GTK.
2909 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
2910
2911 * xmenu.c: Include gtkutil.h for USE_GTK.
2912 (Fx_popup_menu): Use current position if x and y is NIL.
2913 (single_menu_item, single_menu_item, Fx_popup_dialog):
2914 Check for USE_GTK.
2915 (popup_widget_loop): New function for USE_GTK.
2916 (x_activate_menubar): Add code for USE_GTK.
2917 (popup_activate_callback, popup_deactivate_callback)
2918 (menu_highlight_callback, menubar_selection_callback):
2919 Add USE_GTK versions.
2920 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
2921 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
2922 (free_frame_menubar): Only compile if not USE_GTK. GTK version
2923 is in gtkutil.c.
2924 (popup_selection_callback): New version for USE_GTK.
2925 (create_and_show_popup_menu): New fuction, one USE_GTK version and
2926 one USE_X_TOOLKIT version.
2927 (xmenu_show): Call create_and_show_popup_menu.
2928 (dialog_selection_callback): New version for USE_GTK.
2929 (create_and_show_dialog): New fuction, one USE_GTK version and
2930 one USE_X_TOOLKIT version.
2931 (xdialog_show): Call create_and_show_dialog.
2932
2933 * xfns.c: Include gtkutil for USE_GTK.
2934 (x_window_to_frame, x_any_window_to_frame)
2935 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
2936 (x_top_window_to_frame): Add code for USE_GTK.
2937 (x_set_background_color): Call xg_set_background_color for GTK.
2938 (x_set_menu_bar_lines): Check for USE_GTK.
2939 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
2940 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
2941 (x_window): Call xg_create_frame_widgets for USE_GTK.
2942 (Fx_create_frame): Check for USE_GTK
2943 (Fx_file_dialog): New implementation for USE_GTK.
2944
2945 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
2946 (update_menu_bar): Add check for USE_GTK.
2947 (update_tool_bar): Add check for USE_GTK and external tool bar.
2948 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
2949 (redisplay_internal): Add check for USE_GTK and popup_activated.
2950 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
2951 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
2952 (display_menu_bar): Add check for USE_GTK
2953
2954 * lisp.h: Declare Vx_resource_name extern.
2955
2956 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
2957 for USE_GTK.
2958 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
2959
2960 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
2961 (FRAME_EXTERNAL_TOOL_BAR): New macro.
2962 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
2963
2964 * fileio.c (Fread_file_name): Add check for USE_GTK.
2965
2966 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
2967 Add check for USE_GTK.
2968
2969 * config.in: Added HAVE_GTK
2970
2971 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
2972
2973 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
2974
2975 * charset.h (Funibyte_char_to_multibyte): Export.
2976
2977 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2978
2979 * xmenu.c (mouse_position_for_popup): New function.
2980 (Fx_popup_menu): Call mouse_position_for_popup for X and
2981 mouse_position_hook for others.
2982
2983 2003-01-17 Kim F. Storm <storm@cua.dk>
2984
2985 * editfns.c (Finsert): Mention `string-make-multibyte' and
2986 `string-as-multibyte' in doc string.
2987
2988 2003-01-17 Kenichi Handa <handa@m17n.org>
2989
2990 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
2991
2992 * editfns.c (Fformat): Convert an unibyte char argument that is
2993 formatted by "%c" to multibyte if the total result must be a
2994 multibyte string.
2995
2996 2003-01-16 Kim F. Storm <storm@cua.dk>
2997
2998 * process.c (set-process-filter): Document unibyte/multibyte-ness
2999 of string argument.
3000
3001 2003-01-16 Kenichi Handa <handa@m17n.org>
3002
3003 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
3004
3005 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
3006 (re_search_2): Likewise.
3007
3008 2003-01-15 Kenichi Handa <handa@m17n.org>
3009
3010 * xdisp.c (message_dolog): Fix bug of the case that *Message*
3011 buffer is unibyte.
3012
3013 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
3014
3015 * fns.c (Fsubstring): Clarify doc string.
3016
3017 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
3018 (Fprevious_char_property_change)
3019 (Fnext_single_char_property_change)
3020 (Fprevious_single_char_property_change, Fnext_property_change)
3021 (Fnext_single_property_change, Fprevious_property_change)
3022 (Fprevious_single_property_change, Fadd_text_properties)
3023 (Fput_text_property, Fset_text_properties)
3024 (Fremove_text_properties, Fremove_list_of_text_properties)
3025 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
3026
3027 2003-01-14 Kim F. Storm <storm@cua.dk>
3028
3029 * process.h (struct Lisp_Process): New member plist replaces old
3030 member private_vars. All uses changed.
3031
3032 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
3033 (QCplist): Rename from QCvars. Change all uses.
3034 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
3035 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
3036 (syms_of_process): Intern, staticpro, defsubr these.
3037 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
3038
3039 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
3040
3041 * m/delta.h: Remove (obsolete).
3042
3043 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
3044
3045 * fileio.c (Fdelete_directory, Fdelete_file): Document the
3046 behaviour in front of symlinks.
3047 (Fdelete_file): Raise an error on directories.
3048
3049 2003-01-13 Dave Love <fx@gnu.org>
3050
3051 * fns.c (Freverse): Use QUIT.
3052
3053 2003-01-13 Richard M. Stallman <rms@gnu.org>
3054
3055 * minibuf.c (minibuffer_completion_contents):
3056 Error if point is inside prompt.
3057
3058 * keyboard.c (command_loop_1): Don't redisplay directly
3059 if there's a post-command-hook.
3060
3061 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
3062 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
3063
3064 2003-01-12 Kim F. Storm <storm@cua.dk>
3065
3066 * process.h (struct Lisp_Process): New member private_vars.
3067
3068 * process.c (QCvars): New variable.
3069 (syms_of_process): Intern and staticpro it.
3070 (Fset_process_contact): Removed function.
3071 (Fprocess_variable, Fset_process_variable): New functions.
3072 (syms_of_process): Defsubr them.
3073 (Fstart_process): Initialize private_vars plist to nil.
3074 (Fmake_network_process): New arg :vars to setup the private
3075 variables for new network process.
3076 (server_accept_connection): Copy server's private variables to
3077 client process.
3078
3079 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
3080 crashes). Code rewritten and simplified. Now directly aligns the
3081 pointer and recalculates pure_bytes_used, rather than aligning the
3082 size and adjusting the pointer.
3083
3084 2003-01-11 Kim F. Storm <storm@cua.dk>
3085
3086 * process.c (Fset_process_contact): New function.
3087 (syms_of_process): defsubr it.
3088 (make-network-process): Update doc.
3089
3090 2003-01-10 Andreas Schwab <schwab@suse.de>
3091
3092 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
3093 Reported by Berthold Gunreben <b.gunreben@web.de>.
3094
3095 2003-01-10 Dave Love <fx@gnu.org>
3096
3097 * composite.c (syms_of_composite): Make composition_hash_table weak.
3098
3099 2003-01-09 Kim F. Storm <storm@cua.dk>
3100
3101 * process.c (Fmake_network_process): Convert new port number
3102 to host byte order for `:service t' case. From Mario Lang.
3103
3104 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3105
3106 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
3107 instead of XtAppProcessEvent.
3108
3109 * xterm.c (handle_one_xevent): New function.
3110 (x_dispatch_event): New function.
3111 (XTread_socket): Call handle_one_xevent.
3112
3113 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
3114
3115 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
3116 call XQueryPointer to get coordinates.
3117 (popup_get_selection): Do not set popup_activated_flag to zero,
3118 let popup_deactivate_callback do that. Needed for Motif.
3119 Call x_dispatch_event instead of XtDispatchEvent.
3120 (xmenu_show): Calculate root coordinate from frame top/left position.
3121
3122 2003-01-08 Kim F. Storm <storm@cua.dk>
3123
3124 * process.c (server_accept_connection): Fix recording of new
3125 connection's local address in :local property of contact info.
3126 (Fmake_network_process): Record local network address for new
3127 client processes in :local property of contact info.
3128 (format-network-address): Add arg OMIT-PORT. Change callers.
3129
3130 2003-01-07 Dave Love <fx@gnu.org>
3131
3132 * Makefile.in (fns.o): Depend on coding.h.
3133
3134 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
3135
3136 * minibuf.c (Fread_variable): Doc fix.
3137
3138 * eval.c (Fuser_variable_p): Doc change. For custom variables,
3139 use the same test as for custom-variable-p.
3140
3141 2003-01-05 Richard M. Stallman <rms@gnu.org>
3142
3143 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
3144 Count LAST_LINE_MISFIT in scroll margin for end of window.
3145 Move label too_near_end before setting SCROLL_MARGIN_POS.
3146 Set LAST_LINE_MISFIT before jumping there.
3147
3148 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
3149 scroll_conservatively case. If scrolling that much doesn't change
3150 STARTP, move it down one line.
3151
3152 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
3153 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
3154
3155 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
3156 selected frame.
3157
3158 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
3159 (syms_of_keymap): staticpro them.
3160 (Fapropos_internal): Initialize them and clear them out.
3161 Don't GCPRO them.
3162
3163 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
3164 Doc fixes.
3165
3166 * lisp.h: New misc type Lisp_Save_Value.
3167 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
3168 (XSAVE_VALUE): New macro.
3169 (struct Lisp_Save_Value): New data type.
3170 (union Lisp_Misc): Add u_save_value alternative.
3171 (make_save_value): Declared.
3172
3173 * alloc.c (make_save_value): New function.
3174
3175 * xterm.c (x_catch_errors): Save dpy using make_save_value.
3176 (x_catch_errors_unwind): Call XSync.
3177
3178 2003-01-01 Richard M. Stallman <rms@gnu.org>
3179
3180 * window.c (window_scroll_pixel_based): Partially undo last change.
3181
3182 * keyboard.c (command_loop_1): Call adjust_point_for_property
3183 in direct action cases for Qforward_char and Qbackward_char.
3184 Set already_adjusted so it won't be done twice.
3185
3186 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
3187
3188 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
3189 type definition of size_t.
3190
3191 2003-01-02 Steven Tamm <steventamm@mac.com>
3192
3193 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
3194 distinguish Carbon GUI builds from X11 builds on darwin.
3195
3196 2002-12-30 Steven Tamm <steventamm@mac.com>
3197
3198 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
3199 to default to t.
3200
3201 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
3202
3203 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
3204
3205 2002-12-28 Steven Tamm <steventamm@mac.com>
3206
3207 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
3208 allow building in a different directory than source. Uses some
3209 GNU Make extensions, but there is no other make on Mac OS X.
3210
3211 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
3212
3213 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
3214 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
3215 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
3216 (Fstring_to_number): Mention the returned value in the doc strings.
3217
3218 2002-12-23 Richard M. Stallman <rms@gnu.org>
3219
3220 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
3221 <scroll-down-aggressively>: Doc fix.
3222
3223 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
3224 string as pane name, if there is one.
3225 (set_frame_menubar): Save menu_items_n_panes from each call to
3226 parse_single_submenu and use it when calling digest_single_submenu.
3227
3228 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
3229 Don't try to make last line fully visible if it is past end of window.
3230
3231 2002-12-22 Steven Tamm <steventamm@mac.com>
3232
3233 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
3234 (mac_menu_show): Add support for hierarchical popup menus.
3235 (add_menu_item): Remove indentation support.
3236 (fill_submenu, fill_menu): Create hierarchical menus
3237 instead of using indentation.
3238
3239 2002-12-22 Richard M. Stallman <rms@gnu.org>
3240
3241 * xdisp.c (try_cursor_movement): Don't call try_window here.
3242 (redisplay_window): Never redisplay minibuffer when inactive.
3243
3244 * window.c (select_window_1): Undo 9/21 change.
3245
3246 2002-12-22 Steven Tamm <steventamm@mac.com>
3247
3248 * macterm.c (XTread_socket): Call KeyTranslate for control and
3249 meta to deal correctly shifted non-alpha characters, like C-S-5
3250 being treated like C-%. Does not look for shift key to deal
3251 with masking off control-key with mac-reverse-ctrl-meta.
3252
3253 2002-12-21 Richard M. Stallman <rms@gnu.org>
3254
3255 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
3256 If it is non-nil, run timers. Use an unwind-protect to requeue
3257 the events that were read ahead.
3258 (popup_get_selection_unwind): New subroutine.
3259 (popup_get_selection_queue): File-scope variable now holds that queue.
3260 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
3261 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
3262 Use an unwind-protect to pop down the dialog box.
3263 (xdialog_show_unwind): New subroutine implements that.
3264
3265 * xdisp.c (row_containing_pos): Change exit test using last_y.
3266 (try_window_id): Abort if row_containing_pos returns null.
3267
3268 * lread.c (load_error_handler): New function.
3269 (Fload): Handle errors in Fsubstitute_in_file_name.
3270 Don't expect Fsignal to return.
3271
3272 * eval.c: Errors and throws work right with interrupt blocking.
3273 (struct catchtag): New elt interrupt_input_blocked.
3274 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
3275 (internal_catch, Fcondition_case, internal_condition_case)
3276 (internal_condition_case_1, internal_condition_case_2): Save it.
3277 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
3278
3279 * editfns.c (Fformat): Add parens.
3280
3281 * dired.c (file_name_completion): Fix that change.
3282 Delete special quit-handling code; just use QUIT.
3283
3284 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change)
3285
3286 * dired.c (file_name_completion): Close directory on error
3287 just as in directory_files_internal.
3288
3289 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
3290
3291 * window.c (Fset_window_configuration): Set old_point to correct
3292 value when new_current_buffer == current_buffer.
3293
3294 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
3295
3296 Revisited my earlier fix for the following entry in etc/PROBLEMS:
3297 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
3298 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
3299
3300 These changes were in part based upon suggestions made by Peter
3301 'Luna' Runestig [peter@runestig.com].
3302
3303 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
3304 g_b_init_get_token_information, g_b_init_lookup_account_sid,
3305 g_b_init_get_sid_identifier_authority ): Add several static
3306 global variables.
3307
3308 * w32.c (globals_of_w32): New function. Used to initialize those
3309 global variables that must always be initialized on startup even
3310 when the global variable initialized is non zero. Its primary
3311 purpose at this time is to set the global variables
3312 g_b_init_is_windows_9x, g_b_init_open_process_token,
3313 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
3314 g_b_init_get_sid_identifier_authority to 0 on startup.
3315 Called from main.
3316
3317 * w32.c (is_windows_9x): Perform initialization only if
3318 g_b_init_is_windows_9x is equal to 0. On initialization set
3319 g_b_init_is_windows_9x equal to 1.
3320
3321 * w32.c (open_process_token): Perform initialization only if
3322 g_b_init_open_process_token is equal to 0. On initialization set
3323 g_b_init_open_process_token equal to 1.
3324
3325 * w32.c (get_token_information): Perform initialization only if
3326 g_b_init_get_token_information is equal to 0. On initialization
3327 set g_b_init_get_token_information equal to 1.
3328
3329 * w32.c (lookup_account_sid): Perform initialization only if
3330 g_b_init_lookup_account_sid is equal to 0. On initialization
3331 set g_b_init_lookup_account_sid equal to 1.
3332
3333 * w32.c (get_sid_identifier_authority): Perform initialization
3334 only if g_b_init_get_sid_identifier_authority is equal to 0.
3335 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
3336
3337 * w32fns.c (globals_of_w32fns): New function. Used to initialize
3338 those global variables that must always be initialized on startup
3339 even when the global variable initialized is non zero.
3340 Its primary purpose at this time is to initialize the global variable
3341 track_mouse_event_fn.
3342
3343 * w32fns.c (w32_wnd_proc): Remove initialization of
3344 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
3345
3346 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
3347
3348 * w32menu.c (globals_of_w32menu): New function. Used to
3349 initialize those global variables that must always be initialized
3350 on startup even when the global variable initialized is non zero.
3351 Its primary purpose at this time is to initialize the global
3352 variables get_menu_item_info and set_menu_item_info.
3353
3354 * w32menu.c (initialize_frame_menubar): Remove initialization of
3355 get_menu_item_info and set_menu_item_info.
3356
3357 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
3358
3359 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
3360 Declare them.
3361
3362 * emacs.c (main): Call globals_of_w32 prior to calling
3363 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
3364 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
3365 is defined.
3366
3367 * w32term.c (x_update_window_begin): Fix Windows API error
3368 detected by BoundsChecker. Test to determine if
3369 w32_system_caret_hwnd is NULL prior to attempting to use
3370 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
3371
3372 * w32term.c (x_update_window_end): Fix Windows API error
3373 detected by BoundsChecker. Test to determine if
3374 w32_system_caret_hwnd is NULL prior to attempting to use
3375 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
3376
3377 2002-12-17 Kenichi Handa <handa@m17n.org>
3378
3379 * coding.c (coding_system_require_warning): New variable.
3380 (syms_of_coding): DEFVAR it.
3381
3382 * coding.h (coding_system_require_warning): Extern it.
3383
3384 * fileio.c (choose_write_coding_system): Even if
3385 Vcoding_system_for_write is non-nil, if
3386 coding_system_require_warning is nonzero, call
3387 Vselect_safe_coding_system_function.
3388
3389 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
3390
3391 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
3392 (lisp): Add font-core.
3393
3394 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
3395
3396 * textprop.c (text_read_only): New arg `propval'.
3397 (get_char_property_and_overlay): Remove unused var `next_overlay'.
3398 (verify_interval_modification): Use text_read_only's new arg.
3399
3400 2002-12-13 Kenichi Handa <handa@m17n.org>
3401
3402 * coding.c (Funencodable_char_position): Set pend correctly.
3403
3404 2002-12-12 Jason Rumney <jasonr@gnu.org>
3405
3406 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
3407 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
3408 Be more careful about when help_events are generated.
3409
3410 2002-12-12 Steven Tamm <steventamm@mac.com>
3411
3412 * macterm.c (mac_check_for_quit_char): Correctly set the
3413 modifiers of the event to 0.
3414 * mac.c (sys_select): Duplicate rfds before calling select to
3415 ensure that rfds survive the while loop.
3416
3417 2002-12-11 Kim F. Storm <storm@cua.dk>
3418
3419 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
3420 row_containing_pos returned NULL.
3421
3422 2002-12-10 Steven Tamm <steventamm@mac.com>
3423
3424 * mac.c (sys_read): Fix sys_read to not call select if IO is
3425 non-blocking.
3426 (sys_select): Fix sys_select to not use a timeout larger than
3427 the one given.
3428
3429 2002-12-10 Juanma Barranquero <lektu@terra.es>
3430
3431 * editfns.c (Fformat): Use alloca, not _alloca.
3432
3433 2002-12-09 Richard M. Stallman <rms@gnu.org>
3434
3435 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
3436 as the last thing.
3437
3438 2002-12-09 Dave Love <fx@gnu.org>
3439
3440 * s/sol2-8.h: Removed. (Not necessary.)
3441
3442 2002-12-09 Matthew Swift <swift@alum.mit.edu>
3443
3444 * editfns.c (Fformat): Handle precision in string conversion
3445 specifiers like libc functions do (ie, print at most that many
3446 characters).
3447
3448 2002-12-08 Richard M. Stallman <rms@gnu.org>
3449
3450 * xdisp.c (row_containing_pos): Check more carefully
3451 whether charpos is really in the row before returning it.
3452
3453 2002-12-07 Steven Tamm <steventamm@mac.com>
3454
3455 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
3456
3457 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
3458 each stack frame. This may change as it could be time consuming.
3459
3460 * macterm.c (mac_check_for_quit_char, quit_char_comp)
3461 (init_quit_char_handler, mac_determine_quit_char_modifiers)
3462 (mac_initialize): Add code to check for pressing of quit_char
3463 in the OS event queue.
3464
3465 * mac.c (sys_select): Call mac_check_for_quit_char every second
3466 while blocking on select.
3467
3468 * mac.c (sys_read): Use sys_select to test for input first
3469 before calling read, to allow C-g to break.
3470
3471 2002-12-07 Richard M. Stallman <rms@gnu.org>
3472
3473 * minibuf.c (Fcompleting_read): Doc fix.
3474
3475 * lread.c (syms_of_lread) <load-history>: Doc fix.
3476
3477 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
3478
3479 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
3480 autoload.
3481
3482 * data.c (Fdefalias): Record in load-history redefining an autoload.
3483
3484 * alloca.c: Undo ifdef change accidentally made on 12-04.
3485
3486 2002-12-06 Francesco Potorti` <pot@gnu.org>
3487
3488 * xfns.c (png_load): Avoid double gamma correction for PNG images.
3489
3490 2002-12-04 Richard M. Stallman <rms@gnu.org>
3491
3492 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
3493
3494 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
3495
3496 * alloca.c: Don't use #error.
3497
3498 2002-12-03 Dave Love <fx@gnu.org>
3499
3500 * buffer.c (Qucs_set_table_for_input): New.
3501 (Fget_buffer_create): Use it.
3502 (Qset_buffer_major_mode_hook): Deleted.
3503 (Fset_buffer_major_mode): Revert previous change.
3504 (init_buffer_once): Intern ucs-set-table-for-input.
3505 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
3506 Add &Qucs_set_table_for_input.
3507
3508 2002-12-03 Andreas Schwab <schwab@suse.de>
3509
3510 * callint.c (Fcall_interactively): Use next_event only if less
3511 than key_count.
3512
3513 2002-12-02 Andrew Choi <akochoi@shaw.ca>
3514
3515 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
3516 names to 255 characters.
3517
3518 * macterm.c (XTread_socket): If all frames have been collapsed,
3519 expand the first one before handling drag-and-drop events.
3520
3521 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
3522 which is detected by autoconf.
3523
3524 2002-12-01 Steven Tamm <steventamm@mac.com>
3525
3526 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
3527 offset in two hints table to allow prebinding to be redone and
3528 allow the executable to be stripped.
3529
3530 2002-11-29 Dave Love <fx@gnu.org>
3531
3532 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
3533 already provided.
3534
3535 2002-11-29 Richard M. Stallman <rms@gnu.org>
3536
3537 * xdisp.c (start_display): Check more intelligently for
3538 whether the line is continued.
3539 (move_it_vertically_backward): Clear it->continuation_lines_width.
3540
3541 2002-11-28 Dave Love <fx@gnu.org>
3542
3543 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
3544 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
3545
3546 2002-11-27 Steven Tamm <steventamm@mac.com>
3547
3548 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
3549 more descriptive error output from lread.c:Fload upon most require
3550 cycles during boostrapping.
3551
3552 2002-11-27 Jason Rumney <jasonr@gnu.org>
3553
3554 * fileio.c (Finsert_file_contents): Give a more appropriate error
3555 for files bigger than 2Gb when off_t is 32 bit.
3556
3557 * dired.c (Ffile_attributes): Don't return negative file sizes for
3558 files bigger than 2Gb when off_t is 32 bit.
3559
3560 2002-11-27 Dave Love <fx@gnu.org>
3561
3562 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
3563
3564 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
3565 Test GETPGRP_VOID instead.
3566 [BSD_TERMIOS]: Remove definitions (never used).
3567
3568 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
3569 Don't define.
3570 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
3571
3572 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
3573
3574 2002-11-25 Jason Rumney <jasonr@gnu.org>
3575
3576 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
3577 supported.
3578
3579 2002-11-25 Dave Love <fx@gnu.org>
3580
3581 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
3582
3583 * Makefile.in (TEMACS_LDFLAGS): Update last change.
3584
3585 2002-11-25 Andreas Schwab <schwab@suse.de>
3586
3587 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
3588
3589 2002-11-24 Steven Tamm <steventamm@mac.com>
3590
3591 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
3592 determine the size of pointers alloced in unexed space instead
3593 of using possibly invalid emacs_zone pointers. This fixes the
3594 binary incompatibility problems caused by updates to libSystem.B.
3595
3596 2002-11-24 Richard M. Stallman <rms@gnu.org>
3597
3598 * search.c (Fstring_match): Doc fix.
3599
3600 * callint.c (Fcall_interactively): If a command fails because
3601 `*' detects a read-only buffer, but RECORD_FLAG is set,
3602 record it anyway if the args don't actually do tty input.
3603
3604 2002-11-22 Dave Love <fx@gnu.org>
3605
3606 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
3607
3608 * keyboard.c (interrupt_signal): Provide forward declaration.
3609 (kbd_buffer_store_event): Don't declare interrupt_signal.
3610
3611 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
3612
3613 2002-11-21 Richard M. Stallman <rms@gnu.org>
3614
3615 * eval.c (interactive_p): Skip any number of bytecode
3616 and special form frames, in any order.
3617
3618 2002-11-20 Jason Rumney <jasonr@gnu.org>
3619
3620 * w32fns.c (convert_mono_to_color_image): New function.
3621 (xbm_load, xbm_load_image): Use it when foreground or background
3622 is explicitly set.
3623
3624 2002-11-19 Dave Love <fx@gnu.org>
3625
3626 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
3627
3628 2002-11-18 Jason Rumney <jasonr@gnu.org>
3629
3630 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
3631 (XPutPixel): Swap blue and red.
3632 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
3633 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
3634 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
3635 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
3636
3637 2002-11-18 Dave Love <fx@gnu.org>
3638
3639 * m/orion105.h (HAVE_ALLOCA): Don't define.
3640
3641 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
3642
3643 * m/intel386.h: Don't include alloca.h or define alloca.
3644
3645 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
3646 malloc, realloc, calloc.
3647
3648 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
3649 (bcmp): Don't define.
3650
3651 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
3652
3653 * m/amdahl.h: Don't define LIB_STANDARD.
3654
3655 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
3656
3657 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
3658
3659 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
3660 Don't include alloca.h.
3661
3662 * s/aix3-2.h (HAVE_FSYNC): Don't define.
3663
3664 * regex.c (_GNU_SOURCE): Don't define.
3665
3666 * process.c (_GNU_SOURCE): Don't define.
3667
3668 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
3669
3670 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
3671
3672 * s/sol2-8.h: Include sol2-6.h.
3673
3674 2002-11-18 Miles Bader <miles@gnu.org>
3675
3676 * dispextern.h (struct face): Add `overstrike' field.
3677 * xterm.c (x_draw_glyph_string_foreground)
3678 (x_draw_composite_glyph_string_foreground): Implement overstriking.
3679 * xfaces.c (load_face_font): Set `face->overstrike' based on
3680 result from choose_face_font.
3681 (best_matching_font, choose_face_font): Add `needs_overstrike'
3682 argument, and use it to return whether overstriking is desirable
3683 for this face/font combo.
3684 (set_font_frame_param: Pass new argument to choose_face_font.
3685
3686 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
3687
3688 This change is my fix for the following entry in etc/PROBLEMS:
3689 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
3690 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
3691
3692 * w32.c: Added wrapper functions around the win32 API functions
3693 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
3694 GetSidIdentifierAuthority. These wrapper functions serve two
3695 purposes:
3696 1. They ensure that the wrapped function can never be called
3697 when Emacs is running on an operating system on which they are
3698 not supported (Microsoft Windows 95 / 98 / ME).
3699 2. They call the wrapped functions via function pointers rather
3700 than calling them directly. This avoids taking advantage of the
3701 undocumented fact that although these functions are not supported
3702 in the 9x branch of Microsoft Windows, the functions do exist in
3703 the version of advapi32.dll that is found in the 9x branch of
3704 Microsoft Windows.
3705
3706 * w32.c (init_user_info): Replace the calls to the win32 API
3707 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
3708 and GetSidIdentifierAuthority with calls to the newly added
3709 wrapper functions.
3710
3711 * w32.h: Added extern declarations for the following functions:
3712 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
3713 syms_of_w32menu, and void syms_of_fontset.
3714
3715 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
3716 function pointer track_mouse_event_fn in the handler for the
3717 WM_SETFOCUS message.
3718
3719 * w32menu.c (initialize_frame_menubar): Add code to
3720 reinitialize the function pointers set_menu_item_info and
3721 get_menu_item_info.
3722
3723 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
3724
3725 * sound.c: Added a partial implementation of play-sound-internal
3726 for Microsoft Windows. Added various #ifdef / #else / #endif
3727 code blocks to separate the code that will compile under
3728 Microsoft Windows from the code that is specific to Gnu/Linux.
3729 Moved several blocks of code around to make this separation of code
3730 into Windows compatible and Gnu/Linux compatible code blocks easier.
3731
3732 * makefile.w32-in: Include sound.c and link with WinMM.lib.
3733
3734 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
3735 added support for play-sound-internal under Windows would be
3736 included in the build of Emacs.
3737
3738 2002-11-16 Jason Rumney <jasonr@gnu.org>
3739
3740 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
3741
3742 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
3743
3744 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
3745
3746 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
3747 (adjust_point_for_property): Move out of display and invisible even if
3748 we were already inside before (in case a property was added while
3749 we weren't looking). Be more careful when handling invisible props.
3750 Skip invisible text as if it really wasn't there at all.
3751
3752 2002-11-15 Jason Rumney <jasonr@gnu.org>
3753
3754 * w32term.c (x_draw_image_foreground)
3755 (w32_draw_image_foreground_1): Use standard copy and invert
3756 operations to draw images.
3757
3758 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
3759 depth of 1.
3760 (xbm_read_bitmap_data): Invert bits as xbm is read in.
3761 (XPutPixel): Don't invert bits here.
3762
3763 2002-11-15 Jason Rumney <jasonr@gnu.org>
3764
3765 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
3766 (w32_draw_image_foreground_1): Handle image masks.
3767 (x_draw_image_glyph_string): Don't BitBlt transparently.
3768
3769 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
3770 (x_from_xcolors): Adjust RGB values for W32.
3771 (image_background, image_background_transparent)
3772 (postprocess_image, x_to_xcolors, x_disable_image)
3773 (x_build_heuristic_mask): Adapt for W32 and enable.
3774 (x_create_x_image_and_pixmap): Mark images with palettes as such.
3775 (xbm_load): Remove unused variable.
3776
3777 2002-11-14 Richard M. Stallman <rms@gnu.org>
3778
3779 * buffer.c (syms_of_buffer): Doc fix.
3780
3781 2002-11-14 Dave Love <fx@gnu.org>
3782
3783 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
3784
3785 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
3786 * xmenu.c (unuse_menu_items, digest_single_submenu):
3787 * xfns.c (x_put_x_image):
3788 * xdisp.c (message2_nolog, set_message):
3789 * undo.c (record_point):
3790 * terminfo.c (tparam):
3791 * syntax.c (scan_sexps_forward):
3792 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
3793 * composite.c (update_compositions):
3794 * cm.c (calccost, cmgoto):
3795 * charset.c (c_string_width): Declare all args (per C99).
3796
3797 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
3798
3799 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
3800 Don't declare.
3801
3802 * emacs.c (main) [!VMS]: Avoid third arg.
3803
3804 * fns.c (Fcopy_sequence): Doc fix.
3805 (Fmap_char_table): Cast `call2'.
3806
3807 2002-11-14 Francesco Potorti` <pot@gnu.org>
3808
3809 * s/sol2-8.h: New file.
3810
3811 2002-11-14 Kim F. Storm <storm@cua.dk>
3812
3813 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
3814 dependency on `risky-local-variable' and the :propertize form.
3815
3816 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
3817
3818 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
3819
3820 * syntax.c (scan_sexps_forward): Undo last patch.
3821 Use a more obvious fix: check eob before updating the syntax table.
3822
3823 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
3824
3825 * syntax.c (scan_sexps_forward): Update syntax table before reading
3826 a char rather than after so we don't update the table past eob.
3827
3828 2002-11-09 Dave Love <fx@gnu.org>
3829
3830 * buffer.c (Fset_buffer_major_mode): Fix last change.
3831
3832 * regex.c (regexec): Fix pmatch declaration.
3833
3834 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
3835
3836 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
3837 to self-inserting characters.
3838 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
3839
3840 * coding.c (Vtranslation_table_for_input): New.
3841 (syms_of_coding): DEFVAR it.
3842
3843 2002-11-08 Juanma Barranquero <lektu@terra.es>
3844
3845 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
3846 window.
3847
3848 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
3849
3850 * process.c (Fformat_network_address): Remove unused locals p,
3851 cp, and i.
3852
3853 2002-11-06 Dave Love <fx@gnu.org>
3854
3855 * buffer.c (Qset_buffer_major_mode_hook): New.
3856 (Fset_buffer_major_mode): Use it.
3857
3858 2002-11-06 Richard M. Stallman <rms@gnu.org>
3859
3860 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
3861 and stop_polling.
3862
3863 * process.c (wait_reading_process_input):
3864 Test POLLING_PROBLEM_IN_SELECT, not hpux.
3865 Avoid initialization for auto Lisp_Object var.
3866
3867 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
3868
3869 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
3870
3871 2002-11-05 Richard M. Stallman <rms@gnu.org>
3872
3873 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
3874
3875 * callint.c (Fcall_interactively): New local filter_specs.
3876 (Fcall_interactively): Check for progn as well as let.
3877 Add a gcpro.
3878 (Qprogn): New variable.
3879 (syms_of_callint): Staticpro and init Qprogn.
3880
3881 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
3882
3883 * lread.c (Feval_buffer): Doc fix.
3884
3885 2002-11-04 Dave Love <fx@gnu.org>
3886
3887 * keyboard.c (read_char): Always translate iff
3888 Vkeyboard_translate_table is a char table and c is valid.
3889
3890 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
3891 and fix C types.
3892
3893 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
3894
3895 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
3896
3897 * editfns.c (get_pos_property): Don't hardcode Qfield.
3898
3899 * keyboard.c (adjust_point_for_property): Handle `display' prop on
3900 overlays. Also handle `invisible' prop.
3901
3902 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
3903
3904 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
3905 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
3906
3907 2002-11-01 Andreas Schwab <schwab@suse.de>
3908
3909 * editfns.c (Fmessage): Revert last change to properly handle %%.
3910
3911 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
3912
3913 * xmenu.c (unuse_menu_items): New fun.
3914 (menu_items_inuse): New var.
3915 (syms_of_xmenu): Initialize it.
3916 (init_menu_items): Use it to detect re-entrance.
3917 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
3918 (Fx_popup_menu): Remove spurious XSETFRAME.
3919
3920 * editfns.c (find_field): Make an exception for nil fields.
3921
3922 2002-11-01 Dave Love <fx@gnu.org>
3923
3924 * m/gec63.h: Deleted.
3925
3926 2002-10-31 Dave Love <fx@gnu.org>
3927
3928 * xterm.c (XTread_socket): Fix last change.
3929 (xaw_scroll_callback): Cast call_data to long to avoid warning.
3930
3931 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
3932
3933 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
3934
3935 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
3936
3937 * editfns.c (overlays_around, get_pos_property): New funs.
3938 (find_field): Use them.
3939 Also be careful not to modify POS before its last use.
3940 (Fmessage): Don't Fformat if there's nothing to format.
3941
3942 2002-10-30 Dave Love <fx@gnu.org>
3943
3944 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
3945 [HAVE_PTY_H]; Include pty.h.
3946
3947 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
3948
3949 * xterm.c (Qeql): Declare.
3950 (Vx_keysym_table): New.
3951 (syms_of_xterm): Initialize it.
3952 (XTread_socket): Use it. Deal with ASCII keysyms.
3953 (XSetIMValues) [HAVE_X11R6]: Prototype.
3954
3955 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
3956 (lispy_kana_keys): Comment out.
3957 (make_lispy_event) [XK_kana_A]: Comment out.
3958 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
3959 Fix sprintf call.
3960
3961 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
3962 regexp.h change).
3963 (TERMINFO, LIBS_TERMCAP): Define.
3964
3965 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
3966 (bcmp): Define conditional on HAVE_BCMP.
3967 (NO_SIOCTL_H): Don't define.
3968 (TIOCSIGSEND): Don't make conditional on IRIX6.
3969
3970 * s/sol2-5.h: Don't include strings.h.
3971 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
3972
3973 * s/irix6-0.h (IRIX6): Don't define.
3974 (bcopy, bcmp, bzero): Don't undef.
3975
3976 * s/irix6-5.h: Don't include strings.h.
3977 (IRIX6): Don't define.
3978 (bcopy, bcmp, bzero): Don't undef.
3979
3980 * syntax.c (Fforward_comment): Doc fix.
3981
3982 2002-10-29 Kim F. Storm <storm@cua.dk>
3983
3984 * process.c (Fsignal_process): Allow PROCESS to be specified by
3985 name in addition to pid (as integer or string).
3986
3987 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
3988
3989 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
3990 environments.
3991
3992 2002-10-27 Kim F. Storm <storm@cua.dk>
3993
3994 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
3995
3996 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
3997
3998 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
3999
4000 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
4001
4002 2002-10-26 Richard M. Stallman <rms@gnu.org>
4003
4004 * editfns.c (Fformat): Detect invalid format letters for floats.
4005
4006 2002-10-25 Kenichi Handa <handa@m17n.org>
4007
4008 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
4009 (x_set_title): Likewise.
4010
4011 2002-10-25 Juanma Barranquero <lektu@terra.es>
4012
4013 * macgui.h:
4014 * w32gui.h: Remove definition of XColor.
4015
4016 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
4017
4018 2002-10-24 Kim F. Storm <storm@cua.dk>
4019
4020 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
4021 Callers changed (supply dummy arg).
4022
4023 * lisp.h (get_window_cursor_type): Update prototype.
4024
4025 * w32term.c (x_display_and_set_cursor): Get active_cursor from
4026 get_window_cursor_type to track system caret.
4027
4028 2002-10-24 Kim F. Storm <storm@cua.dk>
4029
4030 * process.c (Fformat_network_address): New function.
4031 (syms_of_process): Defsubr it.
4032 (list_processes_1): Use it to format :local/:remote address if
4033 service/host is not set; before emacs would crash in that case.
4034 (Fmake_network_process): Don't use Ffind_operation_coding_system
4035 to setup coding system if host or service is not set.
4036
4037 2002-10-23 Juanma Barranquero <lektu@terra.es>
4038
4039 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
4040
4041 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
4042 COLORREF.
4043
4044 * macgui.h:
4045 * w32gui.h: Add definition of XColor.
4046
4047 * macfns.c:
4048 * w32fns.c:
4049 * xfaces.c: Remove definition of XColor.
4050
4051 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
4052
4053 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
4054
4055 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
4056 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
4057 window if it is dedicated.
4058 (Fshrink_window): Add preserve_before as was done for enlarge_window.
4059 (Vspecial_display_function): Update docstring.
4060
4061 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
4062 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
4063 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
4064
4065 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
4066
4067 * casefiddle.c (casify_region): Don't treat a prefix char as part
4068 of a word when at the beginning.
4069
4070 2002-10-17 Juanma Barranquero <lektu@terra.es>
4071
4072 * lread.c (syms_of_lread): Fix typos.
4073
4074 2002-10-17 Dave Love <fx@gnu.org>
4075
4076 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
4077
4078 2002-10-16 Richard M. Stallman <rms@gnu.org>
4079
4080 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
4081
4082 2002-10-14 Juanma Barranquero <lektu@terra.es>
4083
4084 * w16select.c (syms_of_win16select): Fix docstring for
4085 `selection-coding-system'.
4086
4087 * w32select.c (syms_of_w32select): Likewise.
4088
4089 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
4090
4091 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
4092 a backslash-quoted char.
4093 (scan_lists, scan_sexps_forward): Pacify the compiler.
4094
4095 2002-10-13 Richard M. Stallman <rms@gnu.org>
4096
4097 * window.c (window_scroll): Set immediate_quit.
4098
4099 * print.c (print): When backquote form is the car of a list,
4100 output in old style. Use old_backquote_output to output all
4101 comma forms inside it in old style too.
4102
4103 * buffer.h (struct buffer): Move `undo_list' down below `name'.
4104
4105 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
4106
4107 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
4108 batch mode).
4109
4110 * lread.c (Fload): Doc fix (load-suffixes).
4111
4112 2002-10-10 Steven Tamm <steventamm@mac.com>
4113
4114 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
4115 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
4116 Also switch the default to Qnil from Qt.
4117
4118 2002-10-08 Kenichi Handa <handa@m17n.org>
4119
4120 * coding.c (code_convert_region): When we need more GAP for
4121 conversion, pay attention to the case that coding->produced is not
4122 greater than coding->consumed.
4123
4124 2002-10-07 Richard M. Stallman <rms@gnu.org>
4125
4126 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
4127
4128 2002-10-06 Andrew Choi <akochoi@shaw.ca>
4129
4130 * macmenu.c (mac_menu_show): Add j to count menu items; match
4131 menu_item_selection to it to find selected item.
4132
4133 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4134
4135 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
4136 cases. The correct fix is to pass ReparentNotify to Xt.
4137 The shell widget interprets ConfigureNotify differently depending
4138 on if it has been reparented or not.
4139
4140 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
4141
4142 * editfns.c (Fformat_time_string): Doc fix.
4143
4144 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
4145
4146 * fns.c (Flength): Doc fix.
4147
4148 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
4149
4150 * keyboard.c (keyremap): New struct.
4151 (read_key_sequence): Use it: globally replace keytran_foo with
4152 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
4153 keytran_next and fkey_next to just `next'.
4154
4155 2002-10-04 Steven Tamm <steventamm@mac.com>
4156
4157 * macterm.c (keycode_to_xkeysym_table): Change return to be
4158 treated like an X keysym.
4159
4160 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4161
4162 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
4163 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
4164 This is to also handle x/y changes that occur because of a resize.
4165
4166 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
4167
4168 * frame.c (Vdelete_frame_functions): New variable.
4169 (syms_of_frame): Initialize and defvar it.
4170 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
4171 it when frame's `tooltip' parameter is non-nil.
4172
4173 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
4174
4175 * w32fns.c (x_create_tip_frame): Likewise.
4176
4177 * macfns.c (x_create_tip_frame): Likewise.
4178
4179 2002-09-30 Kenichi Handa <handa@m17n.org>
4180
4181 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
4182 -1 before calling ccl_driver.
4183
4184 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
4185 Only when it is non-nil, handle composition sequence.
4186 (setup_coding_system) <0>: Don't force composition handling.
4187
4188 * Makefile.in (lisp, shortlisp): Add utf-16.elc
4189
4190 2002-09-29 Richard M. Stallman <rms@gnu.org>
4191
4192 * search.c (Freplace_match): Adjust match data for the substitution
4193 just made in the buffer.
4194
4195 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
4196 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
4197
4198 2002-09-27 Richard M. Stallman <rms@gnu.org>
4199
4200 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
4201 (read_char): Use them. Do all exits thru the end of the function.
4202
4203 2002-09-27 Kenichi Handa <handa@etl.go.jp>
4204
4205 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
4206 is nil.
4207
4208 2002-09-26 Richard M. Stallman <rms@gnu.org>
4209
4210 * regex.h (__restrict_arr): Don't define if already defined.
4211
4212 * coding.c (run_pre_post_conversion_on_str):
4213 Save and restore Vdeactivate_mark.
4214
4215 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
4216
4217 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
4218
4219 2002-09-26 Kenichi Handa <handa@etl.go.jp>
4220
4221 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
4222 nonzero, try face's family at first. Otherwise try FAMILY at first.
4223 (choose_face_font): If C is a single byte char or latin-1, call
4224 try_font_list with PREFER_FACE_FAMILY 1.
4225
4226 2002-09-21 Richard M. Stallman <rms@gnu.org>
4227
4228 * window.c (select_window_1): Don't select frame.
4229 Set frame's selected window only when frame itself is selected.
4230 (Fselect_window): Doc fix.
4231
4232 2002-09-18 Kim F. Storm <storm@cua.dk>
4233
4234 * process.c (make-network-process): Doc fix (there is no
4235 network-server-log-function hook).
4236
4237 2002-09-18 Richard M. Stallman <rms@gnu.org>
4238
4239 * print.c (print): Clear out the unused parts of Vprint_number_table.
4240 (syms_of_print): Doc fix for `print-number-table'.
4241
4242 * unexelf.c (unexec): Undo previous change.
4243
4244 2002-09-17 Andreas Schwab <schwab@suse.de>
4245
4246 * m/alpha.h [LINUX]: Don't define DATA_START.
4247
4248 2002-09-16 Dave Love <fx@gnu.org>
4249
4250 * unexelf.c (unexec): Deal with .got, reinstating change from
4251 25-08-1999.
4252
4253 2002-09-13 Richard M. Stallman <rms@gnu.org>
4254
4255 * s/sol2-6.h (UNEXEC): Comment out definition.
4256
4257 * unexsol.c (unexec): Don't downcase first letter of error msg.
4258
4259 * xfaces.c (Fcolor_supported_p): Just one arg is required.
4260
4261 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
4262
4263 * unexsol.c: Include buffer.h, charset.h, coding.h.
4264
4265 2002-09-11 Richard M. Stallman <rms@gnu.org>
4266
4267 * unexsol.c: Don't use report_file_error; do it by hand
4268 using dlerror.
4269
4270 * process.c (wait_reading_process_input, both versions):
4271 Before calling turn_on_atimers, call stop_polling.
4272
4273 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
4274
4275 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
4276 we go to too_near_end, call clear_glyph_matrix.
4277 (redisplay_window): After make_cursor_line_fully_visible,
4278 call clear_glyph_matrix and bypass `goto done'.
4279
4280 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
4281 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
4282
4283 2002-09-10 Richard M. Stallman <rms@gnu.org>
4284
4285 * fileio.c (Fdo_auto_save): Catch error making directory.
4286 Only call push_message if we need to.
4287 At the same time, make an unwind-protect to pop it.
4288 Rename local message_p to old_message_p.
4289 (do_auto_save_make_dir, do_auto_save_eh): New functions.
4290 (do_auto_save_unwind): Don't call pop_message.
4291
4292 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
4293
4294 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
4295
4296 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
4297
4298 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
4299
4300 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
4301
4302 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
4303 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
4304 (re_match_2_internal): Be more careful with infinite loops.
4305
4306 2002-09-10 Kim F. Storm <storm@cua.dk>
4307
4308 * macros.c (end_kbd_macro): New function.
4309 (Fend_kbd_macro): Use it.
4310
4311 * macros.h (end_kbd_macro): Declare extern.
4312
4313 * keyboard.c (Fdiscard_input): If defining keyboard macro,
4314 end and save it instead of discarding it.
4315
4316 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
4317
4318 * s/sol2-6.h: Fix typo. Add comment.
4319
4320 2002-09-09 Richard M. Stallman <rms@gnu.org>
4321
4322 * regex.c (regnum_t): Use signed int, not unsigned int.
4323
4324 * s/sol2-6.h: New file.
4325
4326 * s/sol2-5.h (UNEXEC): Definition deleted.
4327
4328 2002-09-08 Kim F. Storm <storm@cua.dk>
4329
4330 * macros.c (executing_macro_index): Change type to EMACS_INT.
4331 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
4332
4333 * macros.h (executing_macro_index): Change type to EMACS_INT.
4334
4335 2002-09-06 Richard M. Stallman <rms@gnu.org>
4336
4337 * casetab.c (set_case_table): Make canon table point to eqv table.
4338
4339 2002-09-06 Juanma Barranquero <lektu@terra.es>
4340
4341 * coding.c (syms_of_coding): Fix spacing.
4342
4343 * composite.c (Fcompose_region_internal)
4344 (Fcompose_string_internal): Likewise.
4345
4346 * data.c (Flsh): Likewise.
4347
4348 * fontset.c (Fset_fontset_font): Likewise.
4349
4350 * macfns.c (Fx_server_max_request_size): Likewise.
4351
4352 * w16select.c (syms_of_win16select): Likewise.
4353
4354 * w32select.c (syms_of_w32select): Likewise.
4355
4356 * xselect.c (syms_of_xselect): Likewise.
4357
4358 2002-09-05 Richard M. Stallman <rms@gnu.org>
4359
4360 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
4361 call EXTEND_RANGE_TABLE and return a proper value.
4362 (set_image_of_range): Don't call set_image_of_range_1
4363 if no TRANSLATE or if range includes all of Latin-1.
4364 Only call it for the Latin-1 part of the range.
4365 For other cases, make two separate ranges,
4366 one for the original specified characters and one for
4367 their case-conversions.
4368
4369 2002-09-04 Richard M. Stallman <rms@gnu.org>
4370
4371 * s/sol2-5.h (UNEXEC): Use unexsol.o.
4372
4373 * window.c (displayed_window_lines): Correct for one-off bug
4374 in HEIGHT on non-window displays.
4375
4376 * regex.c (set_image_of_range_1): New function.
4377 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
4378 Return a value to indicate running out of memory.
4379 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
4380 (extend_range_table_work_area): New subroutine.
4381 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
4382 Different calling conventions, and used from set_image_of_range{,_1}.
4383 (IMMEDIATE_QUIT_CHECK): Definitions moved.
4384
4385 2002-09-04 Juanma Barranquero <lektu@terra.es>
4386
4387 * makefile.w32-in: All dependencies updated.
4388
4389 2002-09-01 Richard M. Stallman <rms@gnu.org>
4390
4391 * unexsol.c: New file.
4392
4393 * xfns.c (Qbox): Declare external, don't define.
4394
4395 * xdisp.c (redisplay_window) <force-start case>:
4396 If point is on semi-visible last line, reposition
4397 it at previous line.
4398
4399 * alloc.c (display_malloc_warning): Use display-warning.
4400 (malloc_warning_1): Function deleted.
4401
4402 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
4403
4404 * lread.c (read1): Handle #! by skipping the line.
4405
4406 2002-08-31 Richard M. Stallman <rms@gnu.org>
4407
4408 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
4409 Don't include LDFLAGS.
4410 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
4411
4412 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
4413
4414 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
4415 member of x_display_info unless we compile for some window system.
4416
4417 2002-08-31 Kim F. Storm <storm@cua.dk>
4418
4419 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
4420 (get_window_cursor_type): Don't use them.
4421 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
4422
4423 2002-08-30 Kenichi Handa <handa@etl.go.jp>
4424
4425 * xdisp.c (get_next_display_element): Fix previous change.
4426
4427 2002-08-30 Andrew Choi <akochoi@shaw.ca>
4428
4429 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
4430 (expose_window): Use it to fix the display of overlapping
4431 rows (merge code from xterm.c).
4432
4433 * macfns.c (Qbox): Add extern declaration.
4434
4435 2002-08-30 Juanma Barranquero <lektu@terra.es>
4436
4437 * w32fns.c (Qbox): Make extern.
4438 (syms_of_w32fns): Remove initialization of Qbox.
4439
4440 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
4441
4442 * xfns.c (Fx_open_connection): Fix error message.
4443
4444 2002-08-30 Kim F. Storm <storm@cua.dk>
4445
4446 The following changes consolidates the handling of the cursor
4447 type in xdisp.c, moving duplicate code and functionality from
4448 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
4449
4450 * frame.h (enum text_cursor_kinds): Consolidated here.
4451 Added DEFAULT_CURSOR value.
4452 (struct frame) <desired_cursor, cursor_width>
4453 <blink_off_cursor, blink_off_cursor_width>: New fields.
4454 Consolidated from output_x, output_w32 and output_mac structs.
4455 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
4456 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
4457
4458 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
4459 Variables consolidated here.
4460 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
4461 (Vcursor_in_non_selected_windows): Renamed from
4462 cursor_in_non_selected_windows and changed to Lisp_Object.
4463 (syms_of_xdisp): Define and staticpro new and moved variables.
4464 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
4465 consolidated here. Recognize Qhollow setting.
4466 (set_frame_cursor_types): New function to set frame cursor types
4467 based on the frame parameters.
4468 (get_window_cursor_type): New function to calculate new cursor
4469 type and width for the specified window. Based on duplicated
4470 code consolidated here.
4471 Enhancements: cursor-in-non-selected-windows may be a cursor type,
4472 check buffer-local alternate-cursor-type and blink-cursor-alist
4473 before using built-in blink off methods.
4474
4475 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
4476
4477 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
4478 (get_specified_cursor_type, get_window_cursor_type)
4479 (set_frame_cursor_types): Added prototypes.
4480
4481 * macfns.c (x_specified_cursor_type): Removed.
4482 (x_set_cursor_type): Use set_frame_cursor_types.
4483 (Qbar, Qbox): Removed.
4484 (syms_of_macfns): Don't intern or staticpro them.
4485
4486 * macterm.c (x_specified_cursor_type): Remove prototype.
4487 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
4488 (x_display_and_set_cursor): Use get_window_cursor_type.
4489 Remove unused local variables cursor_non_selected, active_cursor.
4490 Redraw cursor if hbar cursor width changes.
4491 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
4492
4493 * macterm.h (enum text_cursor_kinds): Removed.
4494 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
4495 <blink_off_cursor, blink_off_cursor_width>: Members removed.
4496 (FRAME_DESIRED_CURSOR): Macro removed.
4497
4498 * w32fns.c (Vblink_cursor_alist): Removed.
4499 (Qbar, Qhbar, Qbox, Qhollow): Removed.
4500 (syms_of_w32fns): Don't intern, staticpro, or define them.
4501 (x_specified_cursor_type): Removed.
4502 (x_set_cursor_type): Use set_frame_cursor_types.
4503
4504 * w32term.c (x_specified_cursor_type): Remove prototype.
4505 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
4506 (x_display_and_set_cursor): Use get_window_cursor_type.
4507 Remove unused local variables cursor_off_state.
4508 Redraw cursor if hbar cursor width changes.
4509 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
4510
4511 * w32term.h (enum text_cursor_kinds): Removed.
4512 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
4513 <blink_off_cursor, blink_off_cursor_width>: Members removed.
4514 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
4515 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
4516 (struct w32_display_info) <x_highlight_frame>: Renamed member from
4517 w32_highlight_frame.
4518
4519 * xfns.c (Vblink_cursor_alist): Removed.
4520 (Qbar, Qhbar, Qbox, Qhollow): Removed.
4521 (syms_of_xfns): Don't intern, staticpro, or define them.
4522 (x_specified_cursor_type): Removed.
4523 (x_set_cursor_type): Use set_frame_cursor_types.
4524
4525 * xterm.c (x_specified_cursor_type): Remove prototype.
4526 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
4527 (x_display_and_set_cursor): Use get_window_cursor_type.
4528 Remove unused local variables cursor_off_state.
4529 Redraw cursor if hbar cursor width changes.
4530
4531 * xterm.h (enum text_cursor_kinds): Removed.
4532 (struct output_x) <current_cursor, desired_cursor, cursor_width>
4533 <blink_off_cursor, blink_off_cursor_width>: Members removed.
4534 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
4535 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
4536 (x_specified_cursor_type): Remove prototype.
4537
4538 2002-08-28 Richard M. Stallman <rms@gnu.org>
4539
4540 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
4541 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
4542 (Vblink_cursor_alist): New variable.
4543 (syms_of_w32fns): Initialize and defvar it.
4544 (x_specified_cursor_type): Recognize Qbox for filled box.
4545 Exceptions are hollow boxes.
4546 (Qbox, Qhollow): New variables.
4547 (syms_of_w32fns): Initialize and staticpro them.
4548
4549 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
4550 New macros.
4551 (struct w32_output): New fields blink_off_cursor,
4552 blink_off_cursor_width.
4553 (FRAME_CURSOR_WIDTH): New macro.
4554
4555 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
4556 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
4557
4558 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
4559 for bar cursor.
4560
4561 * w32term.c (expose_overlaps): New function.
4562 (expose_window): Use it to fix the display of overlapping rows.
4563
4564 2002-08-28 Simon Josefsson <jas@extundo.com>
4565
4566 * xfns.c (Fx_open_connection): Improve help when X connection
4567 fails, xhost is insecure and xauth is better.
4568
4569 2002-08-28 Juanma Barranquero <lektu@terra.es>
4570
4571 * makefile.w32-in: Add missing dependencies on w32term.h and
4572 composite.h.
4573
4574 * emacs.c (USAGE1): Add missing newline.
4575
4576 2002-08-27 Andrew Choi <akochoi@shaw.ca>
4577
4578 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
4579
4580 2002-08-27 Richard M. Stallman <rms@gnu.org>
4581
4582 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
4583 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
4584 (Vblink_cursor_alist): New variable.
4585 (syms_of_xfns): Initialize and defvar it.
4586 (x_specified_cursor_type): Recognize Qbox for filled box.
4587 Exceptions are hollow boxes.
4588 (Qbox, Qhollow): New variables.
4589 (syms_of_xfns): Initialize and staticpro them.
4590
4591 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
4592 New macros.
4593 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
4594
4595 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
4596 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
4597
4598 * emacs.c (main): Handle --script.
4599 (USAGE1): Mention --script.
4600 (standard_args): Define sort order for --script.
4601
4602 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
4603
4604 * xdisp.c (redisplay_updating_p): Variable removed.
4605 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
4606 New variables.
4607 (init_iterator): Don't free realized faces if
4608 inhibit_free_realized_faces is set.
4609 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
4610 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
4611 initialize Qinhibit_free_realized_faces.
4612
4613 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
4614 when iterator is adding glyphs to a glyph matrix.
4615
4616 2002-08-27 Kenichi Handa <handa@etl.go.jp>
4617
4618 * xdisp.c (get_next_display_element): In unibyte case, don't use
4619 octal form for such eight-bit characters that can be converted to
4620 multibyte char.
4621
4622 2002-08-26 Kim F. Storm <storm@cua.dk>
4623
4624 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize foreground
4625 and background colors. From Joe Buehler (tiny change).
4626
4627 2002-08-26 Miles Bader <miles@gnu.org>
4628
4629 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
4630
4631 2002-08-25 Andrew Choi <akochoi@shaw.ca>
4632
4633 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
4634 defined instead of MAC_OSX.
4635
4636 * s/darwin.h (select): Define select to sys_select only if
4637 HAVE_CARBON is defined.
4638 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
4639 (DONT_REOPEN_PTY): #def it.
4640
4641 * macterm.c (XTread_socket): Remove code to call
4642 SendEventToEventTarget for keys with command modifiers when
4643 mac_command_key_is_meta is nil.
4644
4645 2002-08-24 Andreas Schwab <schwab@suse.de>
4646
4647 * eval.c (Fdefvar): Fix last change.
4648
4649 2002-08-23 Richard M. Stallman <rms@gnu.org>
4650
4651 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
4652 Record variables in load history as (defvar . VAR).
4653 (Fdefvar): Don't record in load history if no initial value.
4654 (Qdefvar): New variable.
4655 (syms_of_eval): Init and staticpro it.
4656
4657 * lread.c (syms_of_lread): Doc fix.
4658 (build_load_history): Use Fmember to see if a definition
4659 is already in the Vload_history element.
4660
4661 * process.c (Fstart_process): Remove /: from program name.
4662
4663 * emacs.c (decode_env_path): Don't add /: if file name handler
4664 has a `safe-magic' property.
4665
4666 * callproc.c (Fcall_process): Remove /: from program name.
4667
4668 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
4669
4670 * regex.c (PATFETCH): Remove the translating fetch.
4671 (PATFETCH_RAW): Rename to PATFETCH.
4672 (set_image_of_range): New fun.
4673 (SET_RANGE_TABLE_WORK_AREA): Use it.
4674 (regex_compile): Don't translate the pattern chars so eagerly.
4675 Only do it when inserting an `exactn' bytecode or when handling
4676 a char-range.
4677 (mutually_exclusive_p): Avoid empty statement.
4678
4679 2002-08-22 Kim F. Storm <storm@cua.dk>
4680
4681 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
4682 end up on a partially visible line; this reverts a specific part
4683 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
4684 display error which has been reported several times now.
4685 However it introduces the problem that changes was supposed to fix.
4686 See my comments in the source if you want to debug this further.
4687
4688 2002-08-20 Kenichi Handa <handa@etl.go.jp>
4689
4690 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
4691
4692 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
4693
4694 * msdos.c (croak): Add `void' to definition.
4695
4696 * sysdep.c [MSDOS] (request_sigio, unrequest_sigio):
4697 Don't define them, they are defined in msdos.c.
4698
4699 * mem-limits.h [MSDOS]: Declare etext.
4700
4701 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
4702 `const' since CORRECT_DIR_SEPS modifies its target.
4703
4704 2002-08-19 Kim F. Storm <storm@cua.dk>
4705
4706 * keyboard.c (Fclear_this_command_keys): Added optional arg
4707 KEEP-RECORD to avoid clearing lossage when we just want to clear
4708 the current key sequence (kmacro needs this).
4709
4710 2002-08-19 Kenichi Handa <handa@localhost>
4711
4712 * composite.c (run_composition_function): Call FUNC if it is fboundp.
4713
4714 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
4715 cons, return Qnil.
4716
4717 2002-08-17 Richard M. Stallman <rms@gnu.org>
4718
4719 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
4720
4721 * sysdep.c [!VMS]: Include sys/files.h.
4722
4723 * editfns.c (save_restriction_restore): Defend from unchained marker.
4724
4725 * buffer.c (overlays_at): Handle extending vec uniformly.
4726 (overlays_in): Handle extending vec from length 0 as in overlays_at.
4727
4728 2002-08-15 Andrew Choi <akochoi@shaw.ca>
4729
4730 * mac.c (init_mac_osx_environment): New function.
4731
4732 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
4733
4734 2002-08-14 Kim F. Storm <storm@cua.dk>
4735
4736 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
4737 executing macro before appending to it (when used from Lisp).
4738 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
4739 which is called prior to each iteration of macro (for kmacro.el).
4740 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
4741
4742 * lisp.h (Fexecute_kbd_macro): Update prototype.
4743
4744 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
4745
4746 2002-08-14 Kenichi Handa <handa@etl.go.jp>
4747
4748 * xselect.c (QUTF8_STRING): New variable.
4749 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
4750 (x_atom_to_symbol): Likewise.
4751 (x_get_local_selection): New argument local_request. If it is
4752 nonzero, call handler_fn with the second arg nil.
4753 (x_handle_selection_request): Call x_get_local_selection with
4754 local_request 0.
4755 (lisp_data_to_selection_data): Don't encode the string here.
4756 (Fx_get_selection_internal): Call x_get_local_selection with
4757 local_request 1.
4758 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
4759
4760 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
4761
4762 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
4763
4764 2002-08-13 Richard M. Stallman <rms@gnu.org>
4765
4766 * minibuf.c (Fminibufferp): New function.
4767 (syms_of_minibuf): Defsubr it.
4768 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
4769
4770 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
4771
4772 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
4773
4774 2002-08-12 Richard M. Stallman <rms@gnu.org>
4775
4776 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
4777 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
4778 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
4779 already.
4780
4781 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
4782
4783 2002-08-11 Andrew Choi <akochoi@shaw.ca>
4784
4785 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
4786 (Vmac_pass_command_to_system): New variable.
4787 (Vmac_pass_control_to_system): New variable.
4788 (do_mouse_moved): Check wp with is_emacs_window.
4789 (XTread_socket): Check window_ptr with is_emacs_window.
4790 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
4791 events back to Mac Toolbox for processing, depending on values of
4792 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
4793 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
4794 Vmac_pass_control_to_system.
4795
4796 2002-08-10 Kenichi Handa <handa@etl.go.jp>
4797
4798 * coding.c (unencodable_char_position): New function.
4799 (Funencodable_char_position): New function.
4800 (syms_of_coding): Defsubr Funencodable_char_position.
4801
4802 2002-08-10 Andrew Choi <akochoi@shaw.ca>
4803
4804 * mac.c (sys_select) [MAC_OSX]: New function.
4805
4806 * macterm.c (MakeMeTheFrontProcess): New function.
4807 (mac_initialize): Call MakeMeTheFrontProcess.
4808
4809 * s/darwin.h: Define select to sys_select.
4810
4811 2002-08-09 Richard M. Stallman <rms@gnu.org>
4812
4813 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
4814
4815 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
4816
4817 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
4818 end of the buffer.
4819
4820 2002-08-08 Ken Raeburn <raeburn@mit.edu>
4821
4822 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
4823
4824 * puresize.h (BASE_PURESIZE): Increase to 910000.
4825
4826 2002-08-08 Kenichi Handa <handa@etl.go.jp>
4827
4828 * coding.c (Ffind_operation_coding_system): For write-region, if
4829 VISIT is a filename, make it the target.
4830
4831 2002-08-07 Richard M. Stallman <rms@gnu.org>
4832
4833 * alloc.c (mark_object): Detect long lists for debugging.
4834 (mark_object_loop_halt): New variable.
4835
4836 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
4837
4838 * data.c (Fmake_variable_frame_local): Doc fix.
4839
4840 2002-08-01 David Ponce <david@dponce.com>
4841
4842 * w32menu.c (local_heap, local_alloc, local_free): New macros.
4843 (malloc_widget_value, free_widget_value)
4844 (w32_free_submenu_strings): Use them.
4845
4846 (push_submenu_start, push_submenu_end, push_left_right_boundary)
4847 (push_menu_pane, push_menu_item, single_keymap_panes)
4848 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
4849 (single_submenu, set_frame_menubar)
4850 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
4851
4852 (Fx_popup_menu): Don't show pop up menu until preceding one is
4853 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
4854
4855 * w32menu.c: Changes adapted from xmenu.c
4856 (set_frame_menubar): First parse all submenus,
4857 then make widget_value trees from them.
4858 Don't allocate any widget_value objects
4859 until we are done with the parsing.
4860 (parse_single_submenu): New function.
4861 (digest_single_submenu): New function.
4862 (single_submenu): Function deleted, replaced by those two.
4863
4864 2002-08-04 Andrew Choi <akochoi@shaw.ca>
4865
4866 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
4867 returns a valid window pointer before proceeding for keyDown and
4868 autoKey events.
4869
4870 2002-08-03 Andrew Choi <akochoi@shaw.ca>
4871
4872 * macterm.c (USE_CARBON_EVENTS): New macro.
4873 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
4874 (x_iconify_frame): Call CollapseWindow.
4875 (Vmac_reverse_ctrl_meta): New variable.
4876 (Vmac_wheel_button_is_mouse_2): New variable.
4877 (init_mac_drag_n_drop): New function.
4878 (mac_do_receive_drag): New function.
4879 (mac_handle_service_event): New function.
4880 (init_service_handler): New function.
4881 (mac_to_emacs_modifiers): New function.
4882 (mac_event_to_emacs_modifiers): New function.
4883 (mac_get_mouse_btn): New function.
4884 (mac_convert_event_ref): New function.
4885 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
4886 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
4887 mac_get_mouse_btn.
4888 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
4889
4890 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
4891 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
4892 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
4893 TOOL_BAR_EVENT for MAC_OS as well.
4894 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
4895 as for WINDOWS_NT.
4896 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
4897
4898 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
4899
4900 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
4901
4902 * xdisp.c (forward_to_next_line_start): Fix a condition that
4903 lead to a newline being skipped.
4904
4905 2002-08-02 Andrew Choi <akochoi@shaw.ca>
4906
4907 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
4908
4909 2002-08-01 Richard M. Stallman <rms@gnu.org>
4910
4911 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
4912
4913 2002-07-31 Andrew Choi <akochoi@shaw.ca>
4914
4915 * macfns.c: #undef init_process before #define-ing it.
4916
4917 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
4918 HAVE_CARBON is defined.
4919
4920 2002-07-31 Richard M. Stallman <rms@gnu.org>
4921
4922 * xmenu.c (set_frame_menubar): First parse all submenus,
4923 then make widget_value trees from them.
4924 Don't allocate any widget_value objects
4925 until we are done with the parsing.
4926 (parse_single_submenu): New function.
4927 (digest_single_submenu): New function.
4928 (single_submenu): Function deleted, replaced by those two.
4929
4930 2002-07-30 Juanma Barranquero <lektu@terra.es>
4931
4932 * w32proc.c (syms_of_ntproc): Fix docstring of
4933 `w32-get-true-file-attributes'.
4934
4935 2002-07-28 Richard M. Stallman <rms@gnu.org>
4936
4937 * s/hpux8.h (HPUX8): Define this before including hpux.h.
4938 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
4939
4940 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
4941
4942 * keyboard.c (make_lispy_event):
4943 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
4944 Explicitly clear up_modifier in event->modifiers.
4945
4946 2002-07-27 Richard M. Stallman <rms@gnu.org>
4947
4948 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
4949
4950 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
4951 for bar cursor.
4952
4953 2002-07-26 Kenichi Handa <handa@etl.go.jp>
4954
4955 * coding.c (detect_coding_iso2022): While checking a byte sequence
4956 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
4957 it in the normal loop.
4958
4959 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
4960
4961 * xterm.c (expose_overlaps): New function.
4962 (expose_window): Use it to fix the display of overlapping rows.
4963
4964 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
4965
4966 2002-07-23 Ken Raeburn <raeburn@gnu.org>
4967
4968 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
4969 since it only depends on XUINT.
4970
4971 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
4972 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
4973 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
4974 Macros deleted.
4975
4976 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
4977 its value over other approaches.
4978 * sysdep.c (start_of_data): Don't define the function if a macro
4979 form has been defined.
4980
4981 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
4982
4983 * xdisp.c (redisplay_updating_p): New variable.
4984 (init_iterator): Don't free realized faces when
4985 redisplay_updating_p is set.
4986 (redisplay_internal): Set redisplay_updating_p while updating
4987 the display.
4988
4989 2002-07-23 Richard M. Stallman <rms@gnu.org>
4990
4991 * editfns.c (Fmessage): Treat "" like nil.
4992
4993 2002-07-23 Kenichi Handa <handa@etl.go.jp>
4994
4995 * xdisp.c (face_before_or_after_it_pos):
4996 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
4997
4998 2002-07-22 Juanma Barranquero <lektu@terra.es>
4999
5000 * callproc.c (init_callproc) [DOS_NT]:
5001 Initialize Vshared_game_score_directory to nil.
5002 (syms_of_callproc) [DOS_NT]: Likewise.
5003
5004 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
5005
5006 * xdisp.c (display_line): Replace an abort with xassert.
5007
5008 2002-07-21 Richard M. Stallman <rms@gnu.org>
5009
5010 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
5011 and END_UNCHANGED when setting buffer_unchanged_p.
5012 Use current_matrix_up_to_date_p to decide whether to use
5013 try_cursor_movement.
5014
5015 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
5016
5017 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
5018
5019 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
5020 Set to nil if dir does not exist.
5021 (syms_of_callproc): Init unconditionally and simply.
5022
5023 * buffer.c (Fbuffer_list): Doc fix.
5024
5025 2002-07-21 Ken Raeburn <raeburn@gnu.org>
5026
5027 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
5028
5029 * buffer.c (mmap_realloc): When shrinking, make sure number of
5030 pages to unmap is rounded towards zero.
5031
5032 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
5033 (XSETINT): Deleted.
5034
5035 * m/att3b.h (XINT): Don't define.
5036 (VALBITS, VALMASK, XTYPE): Deleted.
5037 (DATA_SEG_BITS): Define.
5038 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
5039 ARRAY_MARK_FLAG): Deleted.
5040 (DATA_SEG_BITS): Define.
5041 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
5042 (DATA_SEG_BITS): Define.
5043
5044 2002-07-20 Richard M. Stallman <rms@gnu.org>
5045
5046 * print.c (print_error_message): New args CONTEXT and CALLER.
5047 Calls changed.
5048
5049 * lisp.h (print_error_message): Declare new args.
5050
5051 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
5052 and CONTEXT to print_error_message, don't print them here.
5053 For a Quit, don't use Vsignaling_function.
5054 Call message_log_maybe_newline.
5055
5056 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
5057
5058 2002-07-20 Kim F. Storm <storm@cua.dk>
5059
5060 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
5061
5062 2002-07-19 Ken Raeburn <raeburn@gnu.org>
5063
5064 * bytecode.c (struct byte_stack): Pointers into byte string now
5065 point to const.
5066 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
5067 const.
5068 * charset.h (BCOPY_SHORT): Source pointer now points to const.
5069 * coding.c (encode_eol, detect_coding, detect_eol):
5070 (decode_coding, encode_coding, detect_coding_system):
5071 Source strings now treated as const.
5072 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
5073 modify Lisp string contents.
5074 * coding.h (decode_coding, encode_coding, detect_coding,
5075 detect_eol): Declarations updated.
5076 * composite.c (compose_chars_in_text): Treat Lisp string contents
5077 as const.
5078 * dispnew.c (safe_bcopy): Source pointer now points to const.
5079 * lisp.h (STRING_COPYIN): New macro.
5080 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
5081 (internal_with_output_to_temp_buffer): Declarations updated.
5082 * print.c (temp_output_buffer_setup):
5083 (internal_with_output_to_temp_buffer): Buffer name argument is now
5084 pointer to const.
5085 * sound.c (struct sound_device): Function pointer field "write"
5086 buffer argument now points to const.
5087 (vox_write): Buffer argument points to const.
5088 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
5089 contents as const.
5090 * sysdep.c (emacs_write): Buffer pointer now const.
5091 * term.c (encode_terminal_code): Buffer pointer now const.
5092 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
5093 (x_face_list_fonts, x_update_menu_appearance):
5094 (hash_string_case_insensitive): Treat Lisp string contents as const.
5095
5096 2002-07-19 Juanma Barranquero <lektu@terra.es>
5097
5098 * fileio.c (Ffile_name_as_directory): Fix argument name in docstring.
5099 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
5100
5101 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
5102
5103 * fileio.c (syms_of_fileio): Likewise.
5104
5105 2002-07-18 Richard M. Stallman <rms@gnu.org>
5106
5107 * data.c (Fdefalias): Doc fix.
5108
5109 2002-07-17 Dave Love <fx@gnu.org>
5110
5111 * intervals.h (text_property_stickiness): Use P_.
5112
5113 * ccl.c: Remove `emacs' conditionals.
5114 (ccl_backtrace_table): Fix size spec.
5115 (ccl_driver): Fix type errors.
5116
5117 2002-07-16 Ken Raeburn <raeburn@gnu.org>
5118
5119 * alloc.c (xstrdup, make_string, make_unibyte_string)
5120 (make_multibyte_string, build_string): String pointer args now
5121 point to const.
5122 * charset.c (find_charset_in_text, c_string_width):
5123 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
5124 * fileio.c (report_file_error):
5125 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
5126 (count_combining_before, count_combining_after, insert_1_both):
5127 (insert, insert_and_inherit, insert_string):
5128 (insert_before_markers, insert_before_markers_and_inherit):
5129 * lread.c (intern, oblookup, hash_string):
5130 * minibuf.c (temp_echo_area_glyphs):
5131 * search.c (fast_c_string_match_ignore_case):
5132 * sysdep.c (emacs_open, set_file_times):
5133 * xfaces.c (xstricmp):
5134 * xdisp.c (store_frame_title, string_char_and_length):
5135 (message_dolog, message2, message2_nolog, set_message): Likewise.
5136 (set_message_1): Cast message string argument to const pointer.
5137 * editfns.c (general_insert_function): Insertion function now
5138 takes pointer to const for input data.
5139 * charset.h (find_charset_in_text, c_string_width):
5140 (parse_str_as_multibyte): Declarations updated.
5141 * dispextern.h (xstricmp): Declaration updated.
5142 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
5143 (count_size_as_multibyte, count_combining_before):
5144 (count_combining_after, insert_1, insert_1_both, message_dolog):
5145 (insert, insert_and_inherit, insert_before_markers)
5146 (insert_before_markers_and_inherit, set_message, message2):
5147 (message2_dolog, build_string, make_string, make_unibyte_string):
5148 (make_multibyte_string, intern, oblookup, report_file_error):
5149 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
5150 (emacs_open, xstrdup): Declarations updated.
5151 * systime.h (set_file_times): Declaration updated.
5152
5153 * charset.c (find_charset_in_text, lisp_string_width): Use const
5154 for pointer to lisp string data.
5155 * charset.h (FETCH_STRING_CHAR_ADVANCE):
5156 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
5157 * coding.c (Ffind_coding_systems_region_interval):
5158 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
5159 (Fmake_directory_internal, Fdelete_directory):
5160 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
5161 * fontset.c (font_family_registry, fs_query_fontset):
5162 (list_fontsets):
5163 * frame.c (Fframe_parameter):
5164 * keyboard.c (cmd_error_internal):
5165 * keymap.c (Fdescribe_buffer_bindings):
5166 * lread.c (complete_filename_p, openp):
5167 * minibuf.c (Fminibuffer_complete_word):
5168 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
5169 (face_before_or_after_it_pos, next_element_from_string):
5170 (get_overlay_arrow_glyph_row, display_mode_element):
5171 (decode_mode_spec_coding):
5172 * xterm.c (same_x_server): Likewise.
5173
5174 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
5175 settings of non-existent fields.
5176
5177 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
5178 copy a lisp value.
5179
5180 * lread.c (Fintern_soft): Use string macros instead of
5181 Lisp_String fields.
5182 * keyboard.c (echo_char, parse_modifiers_uncached):
5183 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
5184 * textprop.c (validate_interval_range, interval_of): Likewise.
5185
5186 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
5187
5188 * charset.h (FETCH_STRING_CHAR_ADVANCE)
5189 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
5190 XSTRING()->size_byte.
5191
5192 * lisp.h (SDATA, SREF): Produce rvalue.
5193 (SSET): New macro.
5194 * alloc.c (make_event_array): Use SSET for storing into a string.
5195 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
5196 a string.
5197 * casefiddle.c (casify_object): Use SSET.
5198 * charset.h (FETCH_STRING_CHAR_ADVANCE)
5199 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
5200 address of string contents.
5201 * data.c (Faref): Use SDATA.
5202 (Faset): Use SDATA, SSET.
5203 * dired.c (directory_files_internal): Use SSET.
5204 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
5205 (Fread_file_name): Use SREF, SSET.
5206 * fns.c (concat): Use SSET.
5207 (concat, Fdelete): Use SDATA.
5208 * insdel.c (insert_from_string_1): Use SDATA.
5209 * keyboard.c (Fevent_convert_list): Use SREF.
5210 * lread.c (Fload): Use SDATA, SSET.
5211 * macfns.c (validate_x_resource_name): Use SSET.
5212 * process.c (status_message): Use SSET.
5213 * search.c (wordify): Use SDATA.
5214 (Freplace_match): Use SREF.
5215 * w32fns.c (validate_x_resource_name): Use SSET.
5216 * xfns.c (validate_x_resource_name): Use SSET.
5217 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
5218
5219 2002-07-16 Richard M. Stallman <rms@gnu.org>
5220
5221 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
5222
5223 * xdisp.c (reconsider_clip_changes):
5224 Don't test prevent_redisplay_optimizations_p.
5225 (redisplay_internal): Test prevent_redisplay_optimizations_p
5226 along with clip_changed in some cases.
5227 (try_window_id): Likewise.
5228 (redisplay_window): New local var buffer_unchanged_p.
5229
5230 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
5231
5232 * process.c (create_process): Test USG_SUBTTY_WORKS.
5233 (process_send_signal): Clean up handling of GID.
5234 Detect errors in ioctls meant to set GID.
5235
5236 * window.c (temp_output_buffer_show):
5237 Don't set prevent_redisplay_optimizations_p.
5238
5239 2002-07-15 Juanma Barranquero <lektu@terra.es>
5240
5241 * eval.c (Fdefvaralias): Add docstring argument.
5242
5243 2002-07-15 Ken Raeburn <raeburn@gnu.org>
5244
5245 * lisp.h (STRING_INTERVALS): Produce rvalue.
5246 (STRING_SET_INTERVALS): New macro.
5247 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
5248 * fns.c (Fstring_as_multibyte): Likewise.
5249 * intervals.c (balance_possible_root_interval, delete_interval)
5250 (create_root_interval, copy_intervals_to_string): Likewise.
5251 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
5252 instead of 0.
5253
5254 2002-07-14 Ken Raeburn <raeburn@gnu.org>
5255
5256 * lisp.h (STRING_SET_CHARS): New macro.
5257 (SCHARS, SBYTES): Produce rvalues.
5258 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
5259 * fns.c (concat): Likewise.
5260 * lread.c (read_vector): Likewise.
5261
5262 * lisp.h (SMBP): Deleted. All uses changed to STRING_MULTIBYTE.
5263 (STRING_SET_UNIBYTE): New macro.
5264 (SET_STRING_BYTES): Deleted. Callers (all of which supplied a
5265 length of -1) changed to use STRING_SET_UNIBYTE.
5266 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
5267 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
5268 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
5269 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
5270 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
5271 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
5272 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
5273 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
5274 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
5275 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
5276 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
5277 STRING_BYTES or indirection changed to SCHARS, SBYTES,
5278 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
5279 unchanged for now.
5280
5281 2002-07-13 Kim F. Storm <storm@cua.dk>
5282
5283 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
5284
5285 2002-07-12 Richard M. Stallman <rms@gnu.org>
5286
5287 * fileio.c (Fwrite_region): Doc fix.
5288
5289 * print.c (print_error_message): Don't handle Vsignaling_function here.
5290
5291 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
5292 (command_loop_1): Avoid certain actions after memory-full error.
5293
5294 * eval.c (Fsignal): Don't call cancel_hourglass.
5295 For a memory-full error, don't call Vsignal_hook_function
5296 and don't set Vsignaling_function.
5297
5298 * process.c (process_send_signal): Add abort call.
5299
5300 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
5301
5302 * keymap.c (Fkey_binding): Fix typo.
5303
5304 2002-07-11 Richard M. Stallman <rms@gnu.org>
5305
5306 * alloc.c (Vmemory_full): New variable.
5307 (Vmemory_signal_data): Renamed from memory_signal_data.
5308 Uses changed.
5309 (syms_of_alloc): Defvar them.
5310 (memory_full, buffer_memory_full): Set Vmemory_full.
5311
5312 * lisp.h (Vmemory_full): Add declaration.
5313 (current_column, indented_beyond_p): Change declaration.
5314
5315 * indent.c (last_known_column): Declare as double, not float.
5316 (current_column, current_column_1, string_display_width)
5317 (position_indentation): Return `double'.
5318 (indented_beyond_p): Arg `column' is `double'. Callers changed.
5319
5320 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
5321 (back_to_previous_visible_line_start)
5322 (reseat_at_next_visible_line_start, next_element_from_buffer):
5323 Use `double', not `float', when calling indented_beyond_p.
5324
5325 * s/hpux11.h (BROKEN_SA_RESTART): Defined.
5326
5327 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
5328
5329 2002-07-11 Juanma Barranquero <lektu@terra.es>
5330
5331 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
5332 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
5333 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
5334 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
5335 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
5336 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
5337
5338 2002-07-10 Juanma Barranquero <lektu@terra.es>
5339
5340 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE. All callers
5341 changed.
5342
5343 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
5344
5345 * data.c (Fdefalias): Add an optional `docstring' argument.
5346 (set_internal, Fsetq_default): Use XCAR/XCDR.
5347
5348 * composite.c (HASH_VALUE, HASH_KEY):
5349 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
5350
5351 2002-07-09 Kenichi Handa <handa@etl.go.jp>
5352
5353 * callproc.c (Fcall_process): Fix previous change.
5354
5355 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
5356
5357 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
5358 Add support for hash-tables.
5359 (Ftry_completion): Return t even if the string appears multiple times.
5360
5361 * fns.c (Fnconc): Use XCDR.
5362 (Fprovide): Use CONSP and XCDR.
5363 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
5364 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
5365 (Fmake_hash_table): Accept `:size nil'.
5366 (Fmakehash): Delete: moved to subr.el.
5367 (syms_of_fns): Don't defsubr makehash.
5368
5369 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
5370 (HASH_TABLE_SIZE): Move from fns.c.
5371
5372 2002-07-07 Richard M. Stallman <rms@gnu.org>
5373
5374 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
5375 Instead just return 0 when there is something to be done.
5376 (try_scrolling): If make_cursor_line_fully_visible returns 0,
5377 retry scrolling as if cursor were off the bottom.
5378 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
5379 return CURSOR_MOVEMENT_MUST_SCROLL.
5380 (redisplay_window): If make_cursor_line_fully_visible returns 0,
5381 go to try_to_scroll.
5382
5383 * buffer.c (Fbuffer_local_value): Store current value into its binding
5384 so we get the up-to-date value for the binding that is loaded.
5385
5386 * eval.c (Fdefmacro): Doc fix.
5387
5388 2002-07-05 Dave Love <fx@gnu.org>
5389
5390 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
5391 correctly.
5392
5393 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
5394 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
5395 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
5396 CCL_LookupCharConstTbl.
5397 (syms_of_ccl): Defvar translation-hash-table-vector.
5398
5399 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
5400
5401 * xdisp.c: Remove unused variable `face'.
5402
5403 2002-07-04 Juanma Barranquero <lektu@terra.es>
5404
5405 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
5406 obsolescence information.
5407
5408 2002-07-03 Andrew Choi <akochoi@shaw.ca>
5409
5410 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
5411 pattern. Search cache first.
5412 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
5413 for Japanese font.
5414 (XLoadQueryFont): Use it.
5415
5416 2002-07-02 Richard M. Stallman <rms@gnu.org>
5417
5418 * keymap.c (Fdefine_key): Doc fix.
5419
5420 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
5421
5422 2002-07-02 Juanma Barranquero <lektu@terra.es>
5423
5424 * keymap.c (syms_of_keymap): Fix typo.
5425
5426 2002-07-01 Andrew Choi <akochoi@shaw.ca>
5427
5428 * s/darwin.h: Define POSIX_SIGNALS.
5429
5430 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
5431 and FSRefMakePath to convert FSSpec returned with Apple Event to
5432 Posix pathname.
5433 (mac_initialize) [TARGET_API_MAC_CARBON]:
5434 Call init_required_apple_events and disable the `Quit' menu item
5435 provided automatically by the Carbon Toolbox.
5436
5437 2002-07-01 Dave Love <fx@gnu.org>
5438
5439 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
5440 for K&R.
5441
5442 * xterm.c: Fix prototype for K&R.
5443
5444 * term.c (costs_set): Declare static, non-initialized for pcc.
5445
5446 2002-07-01 Richard M. Stallman <rms@gnu.org>
5447
5448 * keyboard.c (timer_last_idleness_start_time): New variable.
5449 (timer_start_idle): Set that.
5450 (read_key_sequence): Use that to reset timer_idleness_start_time
5451 to previous value.
5452
5453 * window.c (Frecenter): With arg, set optional_new_start.
5454
5455 * xdisp.c (redisplay_internal): Make optional_new_start really work.
5456
5457 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
5458 buffer for completion.
5459
5460 2002-06-29 Ken Raeburn <raeburn@gnu.org>
5461
5462 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
5463
5464 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5465
5466 * keyboard.c (readable_filtered_events): New function that filters
5467 FOCUS_IN_EVENT depending on parameter.
5468 (readable_events): Calls readable_filtered_events, not filtering
5469 FOCUS_IN_EVENT.
5470 (get_filtered_input_pending): New function, filtering parameter passed
5471 to readable_filtered_events.
5472 (get_input_pending): Calls get_filtered_input_pending, not filtering
5473 FOCUS_IN_EVENT.
5474 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
5475 FOCUS_IN_EVENT.
5476
5477 * xterm.h (struct x_output): Add focus_state.
5478
5479 * xterm.c (x_focus_changed): New function.
5480 (x_detect_focus_change): New function.
5481 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
5482 EnterNotify and LeaveNotify to track X focus changes.
5483
5484 2002-06-28 Andreas Schwab <schwab@suse.de>
5485
5486 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
5487
5488 2002-06-27 Kim F. Storm <storm@cua.dk>
5489
5490 * xdisp.c: (mode_line_string_list, mode_line_string_face)
5491 (mode_line_string_face_prop): New variables.
5492 (store_mode_line_string): New function.
5493 (display_mode_element): Use store_mode_line_string to
5494 add mode-line string elements to mode_line_string_list
5495 when mode_line_string_list is non-nil.
5496 (Fformat_mode_line): Now returns propertized string by
5497 default. New arg NO-PROPS to ignore properties.
5498 (decode_mode_spec): Only add two dashes for %- in propertized
5499 mode-line string.
5500 (syms_of_xdisp): Init and staticpro mode_line_string_list.
5501
5502 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
5503
5504 * minibuf.c (minibuffer_completion_contents): Add return type.
5505
5506 2002-06-27 Juanma Barranquero <lektu@terra.es>
5507
5508 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
5509
5510 2002-06-26 Juanma Barranquero <lektu@terra.es>
5511
5512 * fileio.c (read_file_name_cleanup): Add missing return.
5513
5514 2002-06-26 Richard M. Stallman <rms@gnu.org>
5515
5516 * window.c (Frecenter): Don't set force_start flag.
5517
5518 * minibuf.c (do_completion, Fminibuffer_complete_word)
5519 (Fminibuffer_completion_help): Complete just the text before point.
5520 (minibuffer_completion_contents): New function.
5521
5522 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
5523
5524 * frame.c (frames_bury_buffer): Function deleted.
5525
5526 2002-06-25 Miles Bader <miles@gnu.org>
5527
5528 * callint.c (Fcall_interactively): When checking to see if doprnt hit
5529 the end of callint_message, allow for a terminating '\0'.
5530
5531 2002-06-24 Juanma Barranquero <lektu@terra.es>
5532
5533 * w32select.c: Include composite.h
5534
5535 * w16select.c: Likewise.
5536
5537 2002-06-24 Kenichi Handa <handa@etl.go.jp>
5538
5539 * callproc.c (Fcall_process): If code detection is necessary,
5540 call detect_coding directly here.
5541
5542 * coding.c (detect_eol): Preserve coding->cmp_data.
5543
5544 * w16select.c (Fw16_get_clipboard_data):
5545 * w32fns.c (w32_to_x_font):
5546 * w32select.c (Fw32_get_clipboard_data):
5547 * xselect.c (selection_data_to_lisp_data):
5548 * xterm.c (XTread_socket): Disable composition handling.
5549
5550 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
5551
5552 * print.c (temp_output_buffer_setup): Kill all local variables.
5553
5554 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
5555
5556 * lread.c (Fread): Remove redundant and imprecise declaration.
5557
5558 * xfns.c (check_x_display_info): Use check_x_frame.
5559
5560 * .gdbinit (xprintsym): Use the new `xname' field.
5561 (xsymbol): Use it.
5562
5563 2002-06-22 Jason Rumney <jasonr@gnu.org>
5564
5565 * w32fns.c (file_dialog_callback): New function.
5566 (Fx_file_dialog): Allow selecting directories as well as files.
5567
5568 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
5569
5570 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
5571 OpenBSD. Add support for mipseb-*-netbsd* machines.
5572
5573 2002-06-17 Andrew Choi <akochoi@shaw.ca>
5574
5575 * macterm.c (mac_scroll_area): Set foreground and backcolor to
5576 black and white before scrolling. Restore frame background and
5577 foreground color after scrolling.
5578 (do_window_update): Call XClearWindow before calling expose_frame.
5579 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
5580 FRAME_FOREGROUND_PIXEL of frame.
5581
5582 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
5583 test Mac command key as <ALT> key.
5584
5585 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
5586
5587 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
5588
5589 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
5590 Lookup keys in function-key-map immediately so that key-translation-map
5591 can be applied earlier.
5592 Remove function_key_possible and key_translation_possible, replaced
5593 by checking `keytran_start < t'.
5594
5595 * .gdbinit (xsymbol): Use the new `xname' field.
5596
5597 2002-06-17 Andrew Choi <akochoi@shaw.ca>
5598
5599 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
5600 test Mac command key as <ALT> key.
5601
5602 * mac.c (do_applescript): Call initialize_applescript if necessary
5603 when first called. Dispose of result_desc only when there is no error.
5604 (Fdo_applescript): Use %d format specifier instead of %ld.
5605
5606 2002-06-16 Andrew Choi <akochoi@shaw.ca>
5607
5608 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
5609 of FrontWindow for cases keyDown and autoKey.
5610
5611 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
5612 Vdefault_fontset to Monaco with mac-roman coding.
5613
5614 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
5615 init_process before and after inclusion of Carbon/Carbon.h, resp.
5616
5617 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
5618 cursor_gc.
5619 (add_font_name_table_entry): New function.
5620 (init_font_name_table): Use add_font_name_table_entry; add italic,
5621 bold, and bold-italic entries for truetype fonts.
5622
5623 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
5624 for Mac too.
5625 (try_font_list) [MAC_OS]: If no font matches given registry, try
5626 fonts with any registry matching face_family.
5627 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
5628
5629 * s/darwin.h: If autoconf detects the Ncurses library, define
5630 LIBS_TERMCAP to -lncurses to use it.
5631
5632 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
5633
5634 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
5635
5636 2002-06-15 Richard M. Stallman <rms@gnu.org>
5637
5638 * window.c (Fset_window_configuration): Explicitly preserve
5639 the point value that new_current_buffer had at the start.
5640
5641 2002-06-14 Juanma Barranquero <lektu@terra.es>
5642
5643 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
5644 Fix typos.
5645
5646 2002-06-14 Kim F. Storm <storm@cua.dk>
5647
5648 * insdel.c (insert_1_both, insert_from_string_1)
5649 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
5650 insert happened in the end_unchanged region. Otherwise, the
5651 redisplay may be confused and duplicate the last line in the
5652 buffer [seen after save-buffer when require-final-newline==t].
5653
5654 2002-06-13 Jason Rumney <jasonr@gnu.org>
5655
5656 * w32.c (init_environment): Remove EMACSLOCKDIR.
5657 (stat): Swap _S_IFDIR and _S_IFREG.
5658
5659 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
5660
5661 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
5662 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
5663 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
5664 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
5665 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
5666 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
5667 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
5668 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
5669 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
5670 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
5671 SELECTION_REQUEST_EVENT, selection_clear_event to
5672 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
5673 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
5674 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
5675 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
5676 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
5677 no_event to NO_EVENT.
5678
5679 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
5680
5681 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
5682
5683 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
5684
5685 * intervals.c (textget): Don't forget to `return'.
5686 (lookup_char_property): Use XCAR/XCDR.
5687
5688 2002-06-12 Juanma Barranquero <lektu@terra.es>
5689
5690 * xdisp.c (Fformat_mode_line): Fix typo.
5691
5692 2002-06-12 Kim F. Storm <storm@cua.dk>
5693
5694 * xdisp.c (Fformat_mode_line): New function.
5695 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
5696 (store_frame_title_char, store_frame_title): Use unconditionally.
5697 (init_xdisp): Defsubr Fformat_mode_line.
5698 Initialize frame_title_buf etc. unconditionally.
5699
5700 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
5701
5702 * keyboard.c (read_key_sequence):
5703 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
5704 things through those maps after downcasing events.
5705 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
5706 applies after function-key-map.
5707 Make sure that keytran can be done in the middle in the sequence.
5708 Be careful not to throw away events past the one we downcase.
5709
5710 * lread.c (read_integer): Remove unused var `tem'.
5711 (read1): Fix int/Lisp_Object mixup.
5712
5713 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
5714
5715 2002-06-11 Richard M. Stallman <rms@gnu.org>
5716
5717 * keyboard.c (readable_events): Ignore any number of
5718 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
5719
5720 2002-06-09 Miles Bader <miles@gnu.org>
5721
5722 * xfaces.c (Ftty_supports_face_attributes_p): New function.
5723 (parse_rgb_list, tty_lookup_color): New functions.
5724 (tty_defined_color): Use `tty_lookup_color' to do all the work.
5725 (color_distance, Fcolor_distance): New functions.
5726 (TTY_SAME_COLOR_THRESHOLD): New macro.
5727 (Qtty_color_standard_values): New variable.
5728 (syms_of_xfaces): Initialize new vars & functions.
5729
5730 2002-06-08 Colin Walters <walters@verbum.org>
5731
5732 * textprop.c (Vchar_property_alias_alist): New variable.
5733 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
5734
5735 * intervals.c (lookup_char_property): New function for looking up
5736 overlay and text properties, created from textget.
5737 (textget): Use it.
5738
5739 * intervals.h (lookup_char_property): Declare.
5740 (Vchar_property_alias_alist): Declare.
5741
5742 * buffer.c (Foverlay_get): Use lookup_char_property.
5743
5744 2002-06-07 Sam Steingold <sds@gnu.org>
5745
5746 * xselect.c (lisp_data_to_selection_data): Fix last change:
5747 *data_ret is not a Lisp string, while unibyte_string is.
5748
5749 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
5750
5751 * xselect.c (lisp_data_to_selection_data): Fix last change:
5752 set size_ret.
5753
5754 2002-06-07 Andreas Schwab <schwab@suse.de>
5755
5756 * m/amdx86-64.h: New file.
5757
5758 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
5759
5760 * fns.c (Fstring_make_unibyte): Doc fix.
5761
5762 * xselect.c (lisp_data_to_selection_data): If the requested type
5763 is STRING, call string_make_unibyte to encode the selected text
5764 as a string.
5765
5766 * window.c (Fset_window_hscroll): Doc fix.
5767
5768 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
5769
5770 * fileio.c (choose_write_coding_system):
5771 Call select-safe-coding-system properly.
5772
5773 2002-06-03 Richard M. Stallman <rms@gnu.org>
5774
5775 * xdisp.c (message_with_string): Error if STRING is not a string.
5776
5777 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
5778
5779 * fileio.c (choose_write_coding_system): Pass FILE arg to
5780 Vselect_safe_coding_system_function.
5781
5782 2002-06-03 Ken Raeburn <raeburn@gnu.org>
5783
5784 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
5785
5786 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
5787
5788 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
5789 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
5790 * keymap.c (describe_command): Likewise.
5791 * minibuf.c (read_minibuf): Likewise.
5792
5793 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
5794 Cast `current_column' return value to int.
5795 (back_to_previous_visible_line_start)
5796 (reseat_at_next_visible_line_start, next_element_from_buffer):
5797 Cast `indented_beyond_p' 3rd arg to float.
5798
5799 * indent.c (last_known_column): Now a float.
5800 (current_column_1, position_indentation, current_column)
5801 (string_display_width): Return float.
5802 (Fcurrent_column): Cast `current_column' return value to int.
5803 (Fcurrent_indentation): Cast `position_indentation' retval to int.
5804 (indented_beyond_p): Third arg now a float.
5805 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
5806
5807 * lisp.h (current_column): Now returns float.
5808 (indented_beyond_p): 3rd arg now a float.
5809
5810 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
5811
5812 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
5813 is Qcompound_text_with_extensions.
5814
5815 * xselect.c (lisp_data_to_selection_data): Always set selection
5816 type as string if x_encode_text returns streingp non-NULL.
5817
5818 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
5819
5820 2002-05-30 Richard M. Stallman <rms@gnu.org>
5821
5822 * window.c (Fset_window_configuration): Correct the handling
5823 of point in current buffer, to work with multiple windows.
5824
5825 2002-05-29 Colin Walters <walters@verbum.org>
5826
5827 * lread.c (Fread_from_string): Don't depend on order of evaluation
5828 for C function parameters.
5829
5830 2002-05-28 Richard M. Stallman <rms@gnu.org>
5831
5832 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
5833 way for blinked-off state and for a nonselected window.
5834
5835 * window.c (window_scroll_pixel_based): Don't call Fbolp;
5836 instead, see if the new start pos is at beginning of line.
5837
5838 * fileio.c (Fwrite_region): If START is a string, don't
5839 make any annotations.
5840
5841 * eval.c (syms_of_eval): Doc fix.
5842
5843 2002-05-28 Colin Walters <walters@debian.org>
5844
5845 * emacs.c (USAGE1): Add --no-splash.
5846 (standard_args): Ditto.
5847
5848 2002-05-28 Colin Walters <walters@gnu.org>
5849
5850 * lread.c (readchar_count): New variable.
5851 (readchar): Increment it.
5852 (unreadchar): Decrement it.
5853 (read_multibyte): Decrement it.
5854 (Vread_with_symbol_positions): New variable.
5855 (Vread_symbol_positions_list): New variable.
5856 (read_internal_start): New function, created from Fread and
5857 Fread_from_string. Handle Vread_symbol_positions_list and
5858 Vread_with_symbol_positions.
5859 (readevalloop, Fread, Fread_from_string): Use it.
5860 (read1): Use readchar_count to add symbol positions to
5861 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
5862 (syms_of_lread): DEFVAR_LISP and initialize them.
5863
5864 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
5865 (substitute_object_recurse, substitute_object_in_subtree)
5866 (substitute_in_interval): Prototype.
5867 (read_multibyte): Return c if it's less than zero.
5868
5869 2002-05-28 Kim F. Storm <storm@cua.dk>
5870
5871 * fileio.c (Fread_file_name_internal): Added brute-force
5872 speed up for using predicate file-directory-p.
5873
5874 2002-05-28 Kim F. Storm <storm@cua.dk>
5875
5876 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
5877 New variables.
5878 (syms_of_fileio): DEFVAR_LISP them.
5879 (read_file_name_cleanup): New unwind function.
5880 (Fread_file_name_internal): Only return completions satifying
5881 Vread_file_name_predicate. Temporarily unwind protect and rebind
5882 default-directory while checking completions against the predicate.
5883 (Fread_file_name): Added PREDICATE argument. Specbind it to
5884 Vread_file_name_predicate during completion.
5885 Call Vread_file_name_function to read the file name if non-nil.
5886
5887 * lisp.h (Fread_file_name): Now has 6 args.
5888
5889 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
5890 predicate for Fread_file_name when reading directory name.
5891 Supply Qnil for predicate in other calls to Fread_file_name.
5892
5893 2002-05-26 Miles Bader <miles@gnu.org>
5894
5895 * term.c (tty_capable_p): New function.
5896 * dispextern.h (tty_capable_p): New function declaration.
5897 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
5898 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
5899
5900 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
5901
5902 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
5903 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
5904 (Vwrite_region_annotate_functions): Docstring fix.
5905
5906 2002-05-23 Kim F. Storm <storm@cua.dk>
5907
5908 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
5909 phys_cursor's hpos is overwritten. This is still not completely
5910 correct, as it doesn't really make sense to use hpos at all to
5911 get the cursor glyph (as that is relative to the width of the
5912 characters on the line, which may have changed during the update).
5913
5914 2002-05-22 Jason Rumney <jasonr@gnu.org>
5915
5916 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
5917 Lisp_Object.
5918 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
5919 Use modified enumfont_t struct.
5920
5921 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
5922
5923 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
5924 Handle the `hbar' cursor type.
5925 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
5926
5927 * w32fns.c (Qhbar): New variable.
5928 (x_specified_cursor_type): Use it.
5929
5930 2002-05-21 Ken Raeburn <raeburn@gnu.org>
5931
5932 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
5933 now, when the address is needed.
5934
5935 2002-05-21 Colin Walters <walters@gnu.org>
5936
5937 * Makefile.in (shortlisp): Add font-core.el.
5938
5939 2002-05-20 Richard M. Stallman <rms@gnu.org>
5940
5941 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
5942
5943 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
5944 equivalent key bindings here.
5945
5946 2002-05-20 Ken Raeburn <raeburn@gnu.org>
5947
5948 Change symbol structure to contain a lisp object for the symbol
5949 name:
5950 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
5951 object field named "xname".
5952 (SYMBOL_NAME): New macro.
5953 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
5954 name field.
5955 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
5956 (mark_object, gc_sweep): Use symbol xname field and XSTRING
5957 instead of name field.
5958 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
5959 SYMBOL_NAME instead of XSYMBOL and name field.
5960 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
5961 instead of XSYMBOL and name field.
5962 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
5963 and SYMBOL_NAME instead of XSYMBOL and name field.
5964 * coding.c (Fread_coding_system, code_convert_region1)
5965 (code_convert_string1, code_convert_string_norecord)
5966 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
5967 XSYMBOL and name field.
5968 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
5969 (Fmake_variable_buffer_local, Fmake_local_variable)
5970 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
5971 of XSYMBOL and name field.
5972 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
5973 XSYMBOL and name field.
5974 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
5975 instead of XSYMBOL and name field.
5976 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
5977 XSYMBOL and name field.
5978 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
5979 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
5980 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
5981 instead of XSYMBOL and name field.
5982 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
5983 (parse_modifiers, apply_modifiers, Fevent_convert_list)
5984 (parse_solitary_modifier, Fexecute_extended_command):
5985 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
5986 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
5987 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
5988 of XSYMBOL and name field.
5989 (describe_command, describe_translation): Use SYMBOL_NAME and
5990 assignment instead of XSYMBOL and name field and XSETSTRING.
5991 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
5992 instead of XSYMBOL and name field.
5993 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
5994 name field and XSETSTRING.
5995 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
5996 of XSYMBOL and name field.
5997 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
5998 assignment instead of XSYMBOL and name field and XSETSTRING.
5999 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
6000 XSTRING instead of XSYMBOL and name field.
6001 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
6002 and XSTRING instead of XSYMBOL and name field.
6003 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
6004 and XSTRING instead of XSYMBOL and name field.
6005 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
6006 XSTRING instead of XSYMBOL and name field.
6007 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
6008 of XSYMBOL and name field.
6009 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
6010 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
6011
6012 2002-05-19 Ken Raeburn <raeburn@gnu.org>
6013
6014 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
6015 and XCDR real rvalues in most configurations.
6016
6017 * buffer.c (fix_overlays_in_range, fix_overlays_before):
6018 Don't take the address of the cdr part of a cons cell; instead, track
6019 the parent cell and call XSETCDR, or set the variable for the head
6020 of the list if we haven't started down the list yet.
6021
6022 2002-05-19 Richard M. Stallman <rms@gnu.org>
6023
6024 * doc.c (reread_doc_file): Don't ask for confirmation.
6025
6026 2002-05-18 Jason Rumney <jasonr@gnu.org>
6027
6028 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
6029 (xbm_load_image): Use it.
6030 (xbm_load): Ditto.
6031 (xbm_read_bitmap_data): Reverted to xfns.c version.
6032 From David Ponce <david@dponce.com>.
6033
6034 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
6035
6036 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
6037 2.02 and later.
6038
6039 2002-05-16 Juanma Barranquero <lektu@terra.es>
6040
6041 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
6042
6043 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
6044
6045 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
6046 meaningful test.
6047 (read_char_minibuf_menu_prompt): Fix typo.
6048
6049 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
6050
6051 * eval.c (Fcommandp): Doc fix.
6052
6053 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
6054
6055 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
6056 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
6057 (Fset_keymap_parent): Gcpro a bit more.
6058 (access_keymap): Gcpro around meta_map call and around the main loop.
6059 (get_keyelt): Gcpro when following indirect references.
6060 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
6061 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
6062 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
6063 Remove useless ad-hoc remap code.
6064
6065 2002-05-13 Richard M. Stallman <rms@gnu.org>
6066
6067 * search.c (search_buffer): Give up boyer moore search if inverse
6068 translation change charset_base.
6069
6070 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
6071
6072 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
6073 characters is carried over from the previous block of text, adjust
6074 coding->produced to account for the extra character.
6075
6076 2002-05-11 Andreas Schwab <schwab@suse.de>
6077
6078 * coding.c (intersection): Keep the elements of the returned list
6079 in the same order as in the first list.
6080
6081 2002-05-11 Kim F. Storm <storm@cua.dk>
6082
6083 * keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
6084 only update cmm_size if realloc actually succeeds.
6085 Testing with initial size of 2 elements revealed that using
6086 realloc on GNU/Linux would cause a random trap in xmalloc
6087 later on, so I rewrote the code to use malloc/bcopy/free instead
6088 of realloc.
6089
6090 2002-05-10 Jason Rumney <jasonr@gnu.org>
6091
6092 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
6093
6094 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
6095
6096 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
6097 parens, to ensure correct evaluation order.
6098
6099 2002-05-10 Kim F. Storm <storm@cua.dk>
6100
6101 * keymap.c (Vemulation_mode_map_alists): New variable.
6102 (syms_of_keymap): DEFVAR_LISP it.
6103 (current_minor_maps): Process keymap alists in that list before
6104 minor-mode-overriding-map-alist and minor-mode-map-alist.
6105
6106 2002-05-09 Richard M. Stallman <rms@gnu.org>
6107
6108 * search.c (Freplace_match): Doc fix.
6109
6110 2002-05-09 Kim F. Storm <storm@cua.dk>
6111
6112 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
6113 Enlarge cursor rectangle drawn around image with non-zero relief.
6114
6115 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
6116 Enlarge cursor rectangle drawn around image with non-zero relief.
6117
6118 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
6119 Enlarge cursor rectangle drawn around image with non-zero relief.
6120
6121 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
6122
6123 * xselect.c (lisp_data_to_selection_data): Don't set selection
6124 type if comes from the Lisp object's car. If the selection
6125 contains a pure ASCII text, always return QSTRING as its type.
6126
6127 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6128
6129 * mac.c (mac-cut-function): Doc fix.
6130
6131 2002-05-05 Richard M. Stallman <rms@gnu.org>
6132
6133 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
6134
6135 2002-05-04 Jason Rumney <jasonr@gnu.org>
6136
6137 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
6138 for event-click-count.
6139
6140 * process.c (init_process): Only add server subfeature if we can
6141 use non-blocking I/O.
6142
6143 2002-05-04 Andrew Choi <akochoi@shaw.ca>
6144
6145 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
6146 repeatedly.
6147
6148 2002-05-03 Jason Rumney <jasonr@gnu.org>
6149
6150 * process.c (Fmake_network_process): Only support server sockets
6151 when we can make them non-blocking.
6152
6153 * s/ms-w32.h (HAVE_SELECT): Define.
6154
6155 * w32.h (FILE_NDELAY): New flag.
6156
6157 * w32.c (sys_getpeername, fcntl): New functions.
6158 (_sys_read_ahead): Temporarily block on non-blocking sockets.
6159
6160 * w32proc.c: include sys/file.h.
6161
6162 2002-05-03 Colin Walters <walters@verbum.org>
6163
6164 * callproc.c (Vgame_score_directory): Renamed to
6165 Vshared_game_score_directory.
6166
6167 2002-04-30 Richard M. Stallman <rms@gnu.org>
6168
6169 * s/gnu.h [emacs]: Include stdio.h.
6170 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
6171
6172 * eval.c (do_autoload): Error if called while preparing to dump.
6173
6174 * fns.c (Frequire): Error if need to load while preparing to dump.
6175
6176 2002-04-28 Colin Walters <walters@verbum.org>
6177
6178 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
6179 Default to "~/.emacs.d/games".
6180
6181 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
6182
6183 * lread.c (openp): Change arg exec_only to predicate.
6184 (build_load_history): Use XCAR/XCDR.
6185 (Flocate_file_internal): New fun.
6186 (syms_of_lread): Defsubr it.
6187 (Fload): Update call to openp.
6188
6189 * lisp.h (openp): Update prototype.
6190
6191 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
6192 * w32proc.c (sys_spawnve):
6193 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
6194 * w32.c (check_windows_init_file):
6195 * sound.c (Fplay_sound_internal):
6196 * process.c (Fstart_process):
6197 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
6198 * mac.c (run_mac_command):
6199 * emacs.c (init_cmdargs):
6200 * callproc.c (Fcall_process): Update call to openp.
6201
6202 * textprop.c (remove_properties): Don't use XCAR without CONSP.
6203
6204 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
6205
6206 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6207
6208 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
6209 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
6210
6211 2002-04-28 Richard M. Stallman <rms@gnu.org>
6212
6213 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
6214
6215 * eval.c (Fcommandp): New arg for_call_interactively.
6216 * lisp.h (Fcommandp): Declare new arg.
6217
6218 2002-04-28 Jason Rumney <jasonr@gnu.org>
6219
6220 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
6221
6222 * w32.c (stat, fstat): Use file index information to generate
6223 inodes for directories where available.
6224
6225 2002-04-26 Andrew Choi <akochoi@shaw.ca>
6226
6227 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
6228 [HAVE_CARBON]: Include Mac object files.
6229
6230 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
6231 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
6232 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
6233 MAC_OSX, and MAC_OS instead of macintosh.
6234
6235 * editfns.c [MAC_OS8]: Include stdio.h.
6236
6237 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
6238
6239 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
6240 Apple Monaco.
6241
6242 * process.c: Declare QCfamily and QCfilter as extern.
6243 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
6244 calling select.
6245
6246 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
6247
6248 * tparam.c [MAC_OSX]: Don't define BC and UP.
6249
6250 * config.in [HAVE_CARBON]: Add.
6251
6252 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
6253 Move here from mac/src and mac/inc.
6254
6255 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
6256
6257 2002-04-26 Gerd Moellmann <gerd@gnu.org>
6258
6259 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
6260 Compute phys_cursor_width from the x position returned
6261 by x_draw_glyhs, which is cheaper.
6262 (x_display_and_set_cursor): Compute the buffer-local value
6263 of `cursor-in-non-selected-windows' only when needed.
6264
6265 2002-04-25 Gerd Moellmann <gerd@gnu.org>
6266
6267 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
6268 cursor on a stretch glyph has a width that depends on
6269 x_stretch_cursor_p.
6270
6271 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6272
6273 * abbrev.c (abbrev-start-location): Doc fix.
6274
6275 * indent.c (Fvertical_motion): Fix last change.
6276
6277 2002-04-25 Gerd Moellmann <gerd@gnu.org>
6278
6279 * indent.c (Fvertical_motion): Move to the start of the line
6280 containing PT before moving up or down.
6281
6282 2002-04-24 Gerd Moellmann <gerd@gnu.org>
6283
6284 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
6285 case of writing a whole row, more or less analogous to the case of
6286 writing only parts of a row.
6287
6288 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
6289 0 for NO_CURSOR.
6290
6291 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
6292
6293 2002-04-23 Colin Walters <walters@verbum.org>
6294
6295 * buffer.c (syms_of_buffer): Doc fix.
6296
6297 2002-04-23 Gerd Moellmann <gerd@gnu.org>
6298
6299 * xterm.c (notice_overwritten_cursor): Handle the special case
6300 of the cursor being in the first blank non-text line at the
6301 end of a window.
6302
6303 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
6304 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
6305 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
6306 bar cursors only, to make phys_cursor_width contain what its name
6307 suggests.
6308 (notice_overwritten_cursor): Consider the cursor image erased if
6309 the output area intersects the cursor image in y-direction.
6310
6311 2002-04-23 Simon Marshall <simon@gnu.org>
6312
6313 * xfns.c (x_set_mouse_color): Change default for cross_cursor
6314 to XC_hand2.
6315
6316 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6317
6318 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
6319
6320 2002-04-22 Kim F. Storm <storm@cua.dk>
6321
6322 * textprop.c (remove_properties): Fixed trap for malformed plist.
6323
6324 2002-04-22 Richard M. Stallman <rms@gnu.org>
6325
6326 * cmds.c (Fend_of_line): Handle intangible text in mid line.
6327
6328 * window.c (make_window): Initialize height_fixed_p,
6329 last_cursor_off_p, and p->cursor_off_p slots.
6330
6331 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6332
6333 * fns.c (use-dialog-box): Doc fix.
6334
6335 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6336
6337 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
6338 variables `row', `i' and `area'.
6339 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
6340 toolkit library.
6341
6342 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
6343
6344 * xfaces.c (clear_font_table): Don't free the default font of
6345 a frame even if it's on another display.
6346 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
6347 that could be Qt.
6348
6349 2002-04-19 Juanma Barranquero <lektu@terra.es>
6350
6351 * indent.c (Fmove_to_column): Remove unused local variable
6352 `next_boundary_byte'.
6353 (current_column_1): Likewise.
6354
6355 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
6356
6357 * msdos.c (Qhbar): New variable.
6358 (syms_of_msdos): Intern and staticpro it.
6359 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
6360 cursor type.
6361
6362 2002-04-19 Dave Lambert <dlambert@acm.org>
6363
6364 Theses change implement an underscore-like (`hbar') cursor.
6365
6366 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
6367
6368 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
6369 Handle the `hbar' cursor type.
6370 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
6371
6372 * xfns.c (Qhbar): New variable.
6373 (syms_of_xfns): Intern and staticpro it.
6374 (x_specified_cursor_type): Handle `hbar' cursor.
6375
6376 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
6377 not defined.
6378
6379 2002-04-18 Richard M. Stallman <rms@gnu.org>
6380
6381 * textprop.c (remove_properties): New arg LIST allows scanning
6382 either a list or a plist.
6383 (interval_has_some_properties_list): New function, like
6384 interval_has_some_properties using list instead of plist.
6385 All callers changed.
6386 (Fremove_list_of_text_properties): New function.
6387 (syms_of_textprop): Defsubr it.
6388
6389 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
6390
6391 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
6392
6393 2002-04-17 Juanma Barranquero <lektu@terra.es>
6394
6395 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
6396
6397 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
6398
6399 * window.c (coordinates_in_window): Don't report on margin area
6400 if its width is zero.
6401
6402 2002-04-16 Jason Rumney <jasonr@gnu.org>
6403
6404 * w32fns.c (Fx_file_dialog): Decode file name before using.
6405
6406 * w32term.c (construct_drag_n_drop): Likewise.
6407
6408 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
6409
6410 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
6411 store load-history in pure space.
6412
6413 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
6414
6415 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
6416
6417 * xterm.c (Qlatin_1, Qutf_8): New vars.
6418 (syms_of_xterm): Initialize them.
6419 (XTread_socket): Eliminate incorrect optimization that tried to avoid
6420 decoding the output of X*LookupString.
6421 Always use latin-1 to decode the output of XLookupString.
6422 Try Xutf8LookupString if XmbLookupString failed.
6423
6424 * region-cache.c (new_region_cache): Use BEG.
6425
6426 2002-04-16 Gerd Moellmann <gerd@gnu.org>
6427
6428 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
6429 configuration files.
6430 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
6431 returns 0.
6432
6433 2002-04-15 Andreas Schwab <schwab@suse.de>
6434
6435 * config.in: Regenerated using autoheader.
6436
6437 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
6438 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
6439 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
6440 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
6441 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
6442 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
6443 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
6444 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
6445 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
6446 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
6447 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
6448 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
6449 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
6450 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
6451 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
6452 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
6453 STACK_DIRECTION, now set by autoconf.
6454
6455 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6456
6457 * dispnew.c (marginal_area_string): Sort arguments.
6458
6459 * dispextern.h (marginal_area_string): Add prototype.
6460
6461 2002-04-13 Richard M. Stallman <rms@gnu.org>
6462
6463 * fileio.c (Finsert_file_contents):
6464 Don't call temp_output_buffer_setup--do just part, by hand.
6465
6466 * coding.c (run_pre_post_conversion_on_str):
6467 Don't call temp_output_buffer_setup--do just part, by hand.
6468
6469 * keyboard.c (command_loop_1): Don't call start_hourglass
6470 or cancel_hourglass when executing a macro.
6471
6472 * marker.c (count_markers): New function.
6473
6474 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
6475 grow without limit. Move recently used elements to the front.
6476
6477 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
6478
6479 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
6480
6481 2002-04-12 Gerd Moellmann <gerd@gnu.org>
6482
6483 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
6484 rows marginal areas.
6485 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
6486 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
6487
6488 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
6489
6490 2002-04-12 Dave Love <fx@gnu.org>
6491
6492 * dispnew.c (marginal_area_string): New.
6493
6494 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
6495 (Qleft_margin, Qright_margin): Declare.
6496 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
6497
6498 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
6499 note_mode_line_highlight and extended.
6500
6501 * keyboard.c (Qleft_margin, Qright_margin): Declare.
6502 (make_lispy_event): Deal with mouse events in margins.
6503
6504 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
6505
6506 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
6507
6508 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
6509 than deactivating the mark if tmm is set to `lambda'.
6510 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
6511 Use a single event for HELP_EVENT.
6512 (Fexecute_extended_command): Save last_point_position.
6513
6514 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6515
6516 * lisp.h (Fpropertize): Add prototype.
6517
6518 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
6519
6520 2002-04-10 Colin Walters <walters@verbum.org>
6521
6522 * config.in: Add HAVE_SHARED_GAME_DIR.
6523
6524 * callproc.c: (Vgame_score_directory): New variable.
6525 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
6526
6527 2002-04-10 Richard M. Stallman <rms@gnu.org>
6528
6529 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
6530
6531 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
6532
6533 * minibuf.c (read_minibuf): Use empty_string.
6534 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
6535 Short-circuit the search as soon as it "failed".
6536 (Fall_completions): Allow lambda forms and lists of strings for alist.
6537 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
6538 when require_match is nil.
6539 (Ftest_completion): Rename from `test_completion' and export to elisp.
6540 Call the predicate also when alist is a list.
6541 Obey Vcompletion_regexp_list.
6542 (do_completion, Fminibuffer_complete_and_exit): Use it.
6543 (Fassoc_string): Rename from `assoc_for_completion'.
6544 Allow list of strings as well and export to elisp.
6545
6546 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
6547
6548 * puresize.h (BASE_PURESIZE): Increase to 900KB.
6549
6550 2002-04-08 Juanma Barranquero <lektu@terra.es>
6551
6552 * w32.c (sys_accept): Don't hide variable `s'.
6553
6554 2002-04-05 Gerd Moellmann <gerd@gnu.org>
6555
6556 * callint.c (Fcall_interactively): Use INTEGERP instead of
6557 NUMBERP for checking Vhistory_length.
6558
6559 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6560
6561 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
6562 Doc fix to reflect it.
6563
6564 2002-04-04 Richard M. Stallman <rms@gnu.org>
6565
6566 * xdisp.c (display_mode_element): New arg RISKY.
6567 Disregard text props found or specified within a variable
6568 that isn't marked risky-local-variable.
6569 (Qrisky_local_variable): New variable.
6570 (syms_of_xdisp): Init and staticpro it.
6571
6572 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
6573
6574 * undo.c (record_point): New fun.
6575 (record_delete, record_insert): Use it.
6576
6577 2002-04-03 Juanma Barranquero <lektu@terra.es>
6578
6579 * doc.c (Fdocumentation): Add missing parentheses.
6580 (Fdocumentation_property): Likewise.
6581
6582 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
6583
6584 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
6585 data is 0, just return nil.
6586
6587 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
6588
6589 * msdos.c (syms_of_msdos): Fix last change with
6590 mouse_autoselect_window.
6591
6592 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6593
6594 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
6595 mouse_autoselect_window.
6596
6597 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
6598
6599 * keyboard.c (make_lispy_event): Handle unknown keysyms together
6600 with system-specific keysyms. Use it also for unknown function keys.
6601
6602 * doc.c (reread_doc_file): Return whether reload was attempted.
6603 (Fdocumentation, Fdocumentation_property): Don't try to reload
6604 if the doc is 0 and only ask once.
6605
6606 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
6607
6608 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
6609
6610 * keyboard.c (read_char): If the event was Qselect_window,
6611 restore timer_idleness_start_time to its previous value.
6612
6613 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
6614
6615 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
6616
6617 * region-cache.c (new_region_cache): Use BEG.
6618
6619 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
6620 Use BEG and BEG_BYTE.
6621
6622 * doc.c (get_doc_string): Return nil if the location is wrong.
6623 (reread_doc_file): New fun.
6624 (Fdocumentation, Fdocumentation_property):
6625 Call it if get_doc_string fails.
6626 (Fsnarf_documentation): Make it work for a dumped Emacs.
6627
6628 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
6629 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
6630
6631 * charset.c (Fstring): Allow 0 arguments.
6632
6633 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
6634
6635 * process.c (DATAGRAM_CONN_P, list_processes_1)
6636 (Fprocess_datagram_address, Fset_process_datagram_address)
6637 (Fset_network_process_options, server_accept_connection):
6638 Fix some int/Lisp_Object confusions (thank you union types).
6639
6640 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6641
6642 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
6643
6644 * w32term.c: Likewise.
6645 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
6646
6647 * keyboard.c (Qselect_window): New symbol.
6648 (head_table): Use it.
6649 (keys_of_keyboard): Bound select-window event to handle-select-window.
6650 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
6651
6652 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
6653 (last_window): New variable.
6654 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
6655 (note_mouse_movement): Remove reimplemented code in #if 0.
6656 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
6657 Emacs windows.
6658
6659 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
6660
6661 2002-03-31 Gerd Moellmann <gerd@gnu.org>
6662
6663 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
6664 Callers changed.
6665
6666 2002-03-30 Richard M. Stallman <rms@gnu.org>
6667
6668 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
6669 loop whenever it stops making progress.
6670
6671 * widget.c (set_frame_size): Don't call change_frame_size.
6672
6673 2002-03-30 Gerd Moellmann <gerd@gnu.org>
6674
6675 * dispnew.c (direct_output_for_insert):
6676 Call mark_window_display_accurate.
6677
6678 2002-03-29 Jason Rumney <jasonr@gnu.org>
6679
6680 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
6681
6682 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
6683
6684 * Makefile.in (lread.o): Depend on coding.h.
6685
6686 * lread.c (openp, Fload): Encode the file name before passing it
6687 to `stat', `access', and `emacs_open'.
6688 (openp): GCPRO the encoded file name. Don't recompute Lisp
6689 strings unnecessarily.
6690
6691 2002-03-29 Kim F. Storm <storm@cua.dk>
6692
6693 * fns.c (Flax_plist_put): Doc fix.
6694
6695 2002-03-28 Miles Bader <miles@gnu.org>
6696
6697 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
6698
6699 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6700
6701 * process.c (set-network-process-options): Add usage.
6702 (make-network-process): Doc fix.
6703
6704 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
6705
6706 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
6707
6708 2002-03-26 Richard M. Stallman <rms@gnu.org>
6709
6710 * fns.c (Fsubstring_no_properties): New function.
6711 (Flax_plist_get, Flax_plist_put): New functions.
6712 (syms_of_fns): defsubr them.
6713
6714 * xdisp.c (update_menu_bar): Test only update_mode_lines;
6715 don't test or alter w->update_mode_line.
6716
6717 * window.c (Fdisplay_buffer): Doc fix.
6718
6719 2002-03-24 Richard M. Stallman <rms@gnu.org>
6720
6721 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
6722
6723 2002-03-24 Gerd Moellmann <gerd@gnu.org>
6724
6725 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
6726 (Fdefmacro): Handle `(declare ...)'.
6727 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
6728 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
6729
6730 2002-03-24 Jason Rumney <jasonr@gnu.org>
6731
6732 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
6733 (xbm_file_p): Add prototypes.
6734 (xbm_format, xbm_image_p): Sync with xfns.c.
6735 (reflect_byte): New function.
6736 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
6737 (xbm_load_image): Create bitmaps with a depth of 1.
6738 (init_xfns): Enable XBM images.
6739
6740 2002-03-23 Jason Rumney <jasonr@gnu.org>
6741
6742 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
6743 correctly. Do not pass up_modifier to keyboard buffer.
6744
6745 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
6746
6747 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
6748
6749 * Makefile.in (bootstrapclean): New target.
6750 (bootstrap-temacs, bootstrap-doc): Remove.
6751 (bootstrap-emacs): Use a bog-standard `temacs'.
6752 Don't bother to build a DOC file.
6753
6754 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
6755
6756 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
6757 in temacs even if !CANNOT_DUMP.
6758 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
6759
6760 * alloc.c (check_pure_size): Only output a warning.
6761
6762 2002-03-22 Jason Rumney <jasonr@gnu.org>
6763
6764 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
6765 supported.
6766
6767 * w32term.c (zv_bits): Declare as short, for word alignment.
6768 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
6769 (syms_of_w32term): Define x-use-underline-position-properties.
6770
6771 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
6772 (clear_image_cache): Block input, fix logic, clear matrices in
6773 all frames that share this cache.
6774
6775 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
6776
6777 * emacs.c (main): Update the Copyright year in the blurb printed
6778 by "emacs --version".
6779
6780 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
6781
6782 * xterm.c (XTread_socket): If XK_ISO_Lock and
6783 XK_ISO_Last_Group_Lock are defined, handle keysyms between
6784 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
6785
6786 2002-03-21 Kim F. Storm <storm@cua.dk>
6787
6788 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
6789 menu-bar bindings in keymap and local-map properties _are_ used.
6790 But try keymap property first in accordance with 2002-01-03 patch.
6791 Added comment describing why this is not always reliable.
6792 (tool_bar_items): Ditto for tool-bar.
6793
6794 2002-03-21 Jason Rumney <jasonr@gnu.org>
6795
6796 * w32fns.c (x_clear_image_1): Disable color table code.
6797
6798 2002-03-21 Kim F. Storm <storm@cua.dk>
6799
6800 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
6801 removed the wrong version of the DEFUN macro; fixed it.
6802
6803 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
6804 Fmember rather than Fmemq).
6805 (Fprovide): Check that subfeatures is a list.
6806
6807 * process.c (QCfeature, QCdatagram): Removed variables.
6808 (QCtype, Qdatagram): New variables.
6809 (network_process_featurep): Removed function.
6810 (Fmake_network_process): Removed :feature check.
6811 Use :type 'datagram instead of :datagram t to create a datagram
6812 socket. This allows us to add other connection types (e.g. raw
6813 sockets) later in a consistent manner.
6814 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
6815 supported subfeatures for feature make-network-process.
6816 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
6817 Intern and staticpro QCtype and Qdatagram.
6818 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
6819
6820 * xfns.c: (QCtype): Remove duplicate declaration and
6821 initialization (is now declared in process.c).
6822
6823 * w32fns.c: (QCtype): Remove duplicate declaration and
6824 initialization (is now declared in process.c).
6825
6826 2002-03-21 Richard M. Stallman <rms@gnu.org>
6827
6828 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
6829 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
6830 when jumping to `fail' to avoid undoing reg changes in the
6831 last iteration of the loop.
6832 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
6833
6834 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
6835 Depend on process.h.
6836
6837 2002-03-20 Jason Rumney <jasonr@gnu.org>
6838
6839 Most of the following changes are still conditional on HAVE_IMAGES
6840 which is not set by default on Windows.
6841
6842 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
6843
6844 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
6845 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
6846 (four_corners_best, x_clear_image_1, x_clear_image)
6847 (x_alloc_image_color, postprocess_image)
6848 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
6849 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
6850 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
6851
6852 * w32gui.h (struct XImage): Define.
6853
6854 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
6855 extract mouse co-ordinates.
6856
6857 2002-03-20 Jason Rumney <jasonr@gnu.org>
6858
6859 * w32.c (init_winsock): Dynamically load new server and UDP
6860 socket functions.
6861 (socket_to_fd): New function.
6862 (sys_socket): Use it.
6863 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
6864 (sys_recvfrom, sys_sendto): New wrapper functions.
6865
6866 * process.c (QCfamily, QCfilter): Remove duplicate declaration
6867 and initialization.
6868
6869 * makefile.w32-in (LIBS): Remove $(WSOCK32).
6870
6871 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
6872
6873 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
6874 Don't use "sun" as a variable, it's a predefined constant on Sun
6875 machines.
6876
6877 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6878
6879 * bytecode.c (Fbyte_code): Revert last change.
6880
6881 2002-03-19 Kim F. Storm <storm@cua.dk>
6882
6883 * makefile.w32-in (LIBS): Add $(WSOCK32).
6884 From David Ponce <dponce@voila.fr>.
6885
6886 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6887
6888 * process.c (wait_reading_process_input): Move variables `pname'
6889 and `pnamelen' down where they are used.
6890
6891 * bytecode.c (Fbyte_code): Discard unused computed value to
6892 prevent gcc warning.
6893
6894 * lisp.h (Fplist_member): Add prototype.
6895
6896 2002-03-18 Kim F. Storm <storm@cua.dk>
6897
6898 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
6899 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
6900
6901 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
6902 Remove explicit GNU_LINUX settings for datagram support.
6903
6904 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6905
6906 * process.c (Fmake_network_process): Remove unused variable `sa'.
6907 Doc fix. Add usage:.
6908 (set_socket_options): Remove unused variables `optnum' and `opttype'.
6909
6910 2002-03-17 Richard M. Stallman <rms@gnu.org>
6911
6912 * xdisp.c (cursor_type_changed): New variable.
6913 (redisplay_internal): Redisplay all windows if cursor_type_changed.
6914 Clear it when clearing windows_or_buffers_changed.
6915 (try_cursor_movement, redisplay_window, try_window_id)
6916 (try_window_reusing_current_matrix): Test cursor_type_changed
6917 along with windows_or_buffers_changed.
6918
6919 * window.h (cursor_type_changed): New variable.
6920
6921 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
6922 not update_mode_lines, and always set it to 1.
6923
6924 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
6925 if no frames needed redrawing.
6926
6927 2002-03-17 Kim F. Storm <storm@cua.dk>
6928
6929 The following changes add support for network server processes,
6930 datagram connections, and local (unix) sockets.
6931
6932 * process.h (struct Lisp_Process): New member log.
6933 Doc fix: Member command used to indicate stopped network process.
6934 Doc fix: Member childp contains plist for network process.
6935 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
6936
6937 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
6938 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
6939 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
6940 New variables.
6941 (NETCONN1_P): New macro.
6942 (DATAGRAM_SOCKETS): New conditional symbol.
6943 (datagram_address): New array.
6944 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
6945 (status_message): Use concat3.
6946 (Fprocess_status): Add `listen' status to doc string. Return `stop'
6947 for a stopped network process.
6948 (Fset_process_buffer): Update contact plist for network process.
6949 (Fset_process_filter): Ditto. Don't enable input for stopped
6950 network processes. Server must listen, even if filter is t.
6951 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
6952 New functions.
6953 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
6954 (Fprocess_contact): Added KEY argument. Handle datagrams.
6955 (list_processes_1): Optionally show only processes with the query
6956 on exit flag set. Dynamically adjust column widths. Omit tty
6957 column if not needed. Report stopped network processes.
6958 Identify server and datagram network processes.
6959 (Flist_processes): New optional arg `query-only'.
6960 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
6961 (conv_lisp_to_sockaddr, set_socket_options)
6962 (network_process_featurep, unwind_request_sigio): New helper functions.
6963 (Fprocess_datagram_address, Fset_process_datagram_address):
6964 (Fset_network_process_options): New lisp functions.
6965 (Fopen_network_stream): Removed. Now defined in simple.el.
6966 (Fmake_network_process): New lisp function. Code is based on previous
6967 Fopen_network_stream, but heavily reworked with new property list based
6968 argument list, support for datagrams, server processes, and local
6969 sockets in addition to old client-only functionality.
6970 (server_accept_connection): New function.
6971 (wait_reading_process_input): Use it to handle incoming connects.
6972 Do not enable input on a new connection if process is stopped.
6973 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
6974 (send_process): Handle datagram sockets.
6975 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
6976 network process is indicated by setting command field to t .
6977 (Fprocess_send_eof): No-op if datagram connection.
6978 (Fstatus_notify): Don't read input for a stream server socket or a
6979 stopped network process.
6980 (init_process): Initialize datagram_address array.
6981 (syms_of_process): Intern and staticpro new variables, defsubr new
6982 functions.
6983
6984 2002-03-16 Jason Rumney <jasonr@gnu.org>
6985
6986 * w32fns.c (w32_to_all_x_charsets): Return correct type in
6987 startup case.
6988
6989 2002-03-16 Richard M. Stallman <rms@gnu.org>
6990
6991 * xdisp.c (redisplay_internal, redisplay_windows):
6992 Use list_of_error to call internal_condition_case_1.
6993 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
6994 so as to catch all errors with no possibility of debugger redisplay.
6995 (list_of_error): New variable.
6996 (syms_of_xdisp): Init and staticpro it.
6997
6998 * print.c (print_object): Delete `\ ' from printed rep of frame.
6999
7000 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
7001
7002 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
7003 until its implementation is fixed.
7004
7005 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7006
7007 * xfns.c (png_load): Remove unused variable `gamma_str'.
7008
7009 2002-03-14 Richard M. Stallman <rms@gnu.org>
7010
7011 * xfns.c (x_real_positions): Handle failure in XQueryTree.
7012
7013 2002-03-14 Miles Bader <miles@gnu.org>
7014
7015 * intervals.c (adjust_for_invis_intang): New function.
7016 (set_point_both): Use `adjust_for_invis_intang' to do most of the
7017 work for dealing with invisible+intangible regions. Do so before
7018 and after both forward and backward movements, to handle both
7019 front-sticky and rear-sticky cases.
7020 * textprop.c (text_property_stickiness): Function moved here from
7021 `editfns.c'.
7022 * intervals.h (text_property_stickiness): New declaration.
7023 * editfns.c (char_property_eq): Function removed.
7024 (text_property_stickiness): Function moved to `textprop.c'.
7025
7026 2002-03-13 Jason Rumney <jasonr@gnu.org>
7027
7028 * config.in: Add STRFTIME_NO_POSIX2.
7029
7030 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
7031 and %OX when underlying strftime does not.
7032
7033 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
7034
7035 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
7036 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
7037 line) to avoid annoying flicker.
7038 (xm_scroll_callback): Get rid of the now unnecessary kludge.
7039 (XTread_socket): Mark it static.
7040
7041 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
7042
7043 2002-03-13 Kim F. Storm <storm@cua.dk>
7044
7045 * puresize.h (BASE_PURESIZE): Increase to 775000.
7046
7047 2002-03-12 Juanma Barranquero <lektu@terra.es>
7048
7049 * editfns.c (syms_of_editfns): Fix typo.
7050
7051 2002-03-12 Gerd Moellmann <gerd@gnu.org>
7052
7053 * xsmfns.c: Include stdio.h because termhooks.h needs it.
7054 Include termopt.h for interrupt_input.
7055
7056 2002-03-11 Andreas Schwab <schwab@suse.de>
7057
7058 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
7059
7060 2002-03-11 Gerd Moellmann <gerd@gnu.org>
7061
7062 * xterm.c (note_mouse_movement): Put code for
7063 x_autoselect_window_p in #if 0.
7064
7065 * lread.c (Fload): Don't assume that message_with_string uses the
7066 string it is given like a C string.
7067
7068 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7069
7070 * xterm.h (x_session_check_input, x_session_initialize): Declared.
7071
7072 * xterm.c: (XTread_socket): Add call to x_session_check_input and
7073 x_session_have_connection.
7074 (x_initialize): Add call to x_session_initialize.
7075
7076 * termhooks.h (enum event_kind): Add save_session_event.
7077
7078 * keyboard.c: Add Emacs event save_session_event.
7079
7080 * emacs.c (main): Add call to syms_of_xsmfns.
7081
7082 * lisp.h: Declare syms_of_xsmfns as extern.
7083
7084 * config.in: Add HAVE_X_SM.
7085
7086 * Makefile.in (LIBXT): Add -lSM -lICE
7087 if HAVE_X_SM and not USE_X_TOOLKIT.
7088 (XOBJ): New file xsmfns.c added.
7089
7090 * xsmfns.c: New file for X session management.
7091
7092 2002-03-09 Jason Rumney <jasonr@gnu.org>
7093
7094 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
7095 read-only when setting modified time.
7096
7097 2002-03-08 Gerd Moellmann <gerd@gnu.org>
7098
7099 * xdisp.c (move_it_vertically_backward): At the end of the function,
7100 when moving forward by lines, treat terminal frames specially.
7101
7102 * keyboard.c (echo_char): Make sure to add a separator between
7103 keys even if echo_dash hasn't been called.
7104
7105 * xdisp.c: Use new string macros.
7106 (update_echo_area): Pass number of bytes to message3 instead of
7107 number of chars.
7108 (set_message_1): Don't access a string's size_byte directly.
7109 (decode_mode_spec_coding): Use number of bytes of eoltype string
7110 instead number of chars.
7111
7112 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
7113
7114 2002-03-08 Juanma Barranquero <lektu@terra.es>
7115
7116 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
7117 24-bit.
7118
7119 2002-03-06 Jason Rumney <jasonr@gnu.org>
7120
7121 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
7122
7123 2002-03-06 Gerd Moellmann <gerd@gnu.org>
7124
7125 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
7126 (cancel_echoing, echo_length, echo_truncate): Changed to
7127 work with new kboard definition.
7128 (echo_now): Use message3_nolog instead of message2_nolog.
7129
7130 * alloc.c (mark_kboards): Mark echo_string.
7131
7132 * keyboard.h (ECHOBUFSIZE): Removed.
7133 (struct kboard): Member echoptr removed, member echobuf renamed
7134 to echo_string.
7135
7136 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
7137 message3 instead of message2 to display the message using STRING's
7138 text properties.
7139
7140 2002-03-05 Andreas Schwab <schwab@suse.de>
7141
7142 * xdisp.c (hscroll_margin): Change to EMACS_INT.
7143
7144 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
7145
7146 * frame.c (default-frame-alist): Explain that setting it doesn't
7147 affect existing frames.
7148
7149 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
7150
7151 * indent.c (skip_invisible): Fix my brain fart.
7152
7153 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
7154
7155 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
7156
7157 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
7158 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
7159 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
7160 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
7161 and variables to use EMACS_INT instead of just int.
7162
7163 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
7164
7165 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
7166
7167 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
7168 environment, pass it down with corrected value.
7169
7170 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7171
7172 * lread.c (read_filtered_event): Do not call start_hourglass
7173 before returning.
7174
7175 2002-03-04 Juanma Barranquero <lektu@terra.es>
7176
7177 * w32term.c (x_display_and_set_cursor): Fix typo.
7178
7179 2002-03-03 Richard M. Stallman <rms@gnu.org>
7180
7181 * fileio.c (Fmake_temp_name): Doc fix.
7182
7183 2002-03-03 Gary Wong <gtw@gnu.org>
7184
7185 * termcap.c [!emacs]: Replace ospeed for building standalone
7186 libtermcap, for binary compatibility.
7187
7188 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
7189
7190 2002-03-03 Richard M. Stallman <rms@gnu.org>
7191
7192 * xrdb.c (file_p): Rename arg `path' to `filename'.
7193
7194 * abbrev.c (Fexpand_abbrev): Increment plist as use count
7195 only if it is an integer.
7196
7197 * xfns.c (png_load): Set screen_gamma based on f->gamma.
7198 If png_get_sRGB gives an answer, call png_set_gamma
7199 using the default image gamma value.
7200
7201 * lread.c (read1): When reading from a file, default string to
7202 multibyte only if it has some multibyte characters.
7203
7204 * print.c (print_object): Output multibyte chars 128...255
7205 using \x even if ! print_escape_multibyte.
7206
7207 * xdisp.c (display_mode_element): Move the places where
7208 bytepos, charpos, this, and lisp_string are set.
7209 Use lisp_string to set bytepos.
7210
7211 * xdisp.c (redisplay_internal):
7212 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
7213
7214 * xdisp.c (display_mode_element): Merge properties specified with
7215 :propertize onto those that come with the string.
7216
7217 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
7218
7219 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
7220 automatic-hscrolling. Users changed.
7221 <hscroll-margin>: Renamed from automatic-hscroll-margin.
7222 Users changed.
7223 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
7224
7225 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
7226
7227 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
7228
7229 2002-03-02 Kim F. Storm <storm@cua.dk>
7230
7231 * window.c (Fminibuffer_selected_window): New function.
7232 (syms_of_window): Defsubr it.
7233
7234 2002-03-01 Kim F. Storm <storm@cua.dk>
7235
7236 * window.h (struct window): New member phys_cursor_width.
7237
7238 * window.c (make_window, replace_window): Init phys_cursor_width.
7239
7240 * xterm.c (x_display_and_set_cursor): Blink box cursor using
7241 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
7242
7243 * w32term.c (x_display_and_set_cursor): Blink box cursor using
7244 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
7245
7246 * lisp.h (GCPRO6): New macro.
7247
7248 * process.c (Fopen_network_stream): Use GCPRO6.
7249
7250 2002-03-01 Kim F. Storm <storm@cua.dk>
7251
7252 * process.c (Qconnect, Qfailed): New variables.
7253 (syms_of_process): Intern and staticpro them.
7254 (Fprocess_status): Document connect and failed return values.
7255 [NON_BLOCKING_CONNECT]: New conditional.
7256 (connect_wait_mask, num_pending_connects): New variables.
7257 (status_message): Convert Qfailed status.
7258 (Fopen_network_stream): Added support for non-blocking connect.
7259 New optional args: filter, sentinel, non_blocking. Doc updated.
7260 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
7261 (deactivate_process): Handle pending non-blocking connect.
7262 (wait_reading_process_input): Poll for status of non-blocking
7263 connects. Exec sentinel directly when connect succeeds.
7264 (status_notify): Don't read process output if not yet connected.
7265
7266 2002-02-28 Kim F. Storm <storm@cua.dk>
7267
7268 * window.c: (minibuf_selected_window): Renamed from
7269 Vminibuf_selected_window. Users changed.
7270 (syms_of_window): Staticpro it.
7271
7272 2002-02-26 Kim F. Storm <storm@cua.dk>
7273
7274 The following changes add a new Vminibuf_selected_window variable
7275 which is similar to Vminibuf_scroll_window, but which is only set
7276 on entry to the minibuffer (from a non-minibuffer window):
7277
7278 * window.c: (Vminibuf_selected_window): New variable.
7279 (struct save_window_data): New member minibuf_selected_window.
7280 (Fset_window_configuration): Restore Vminibuf_selected_window.
7281 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
7282 Set minibuf_scroll_window member to nil if minibuf_level is 0.
7283 (compare_window_configurations): Compare minibuf_selected_window.
7284
7285 * window.h: (Vminibuf_selected_window): Declare extern.
7286
7287 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
7288 entry to minibuffer or on entry from a non-minibuffer window.
7289
7290 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
7291 Vminibuf_selected_window instead of Vminibuf_scroll_window.
7292
7293 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
7294 instead of Vminibuf_scroll_window when deciding in which window
7295 the region should be highlighted. Consequently, the region remains
7296 highlighteded even when a completion buffer is also displayed.
7297
7298 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
7299
7300 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
7301
7302 * xselect.c (Qcompound_text_with_extensions): Renamed from
7303 Qcompound_text_no_extensions.
7304 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
7305
7306 2002-02-26 Juanma Barranquero <lektu@terra.es>
7307
7308 * w32proc.c (syms_of_ntproc): Doc fix.
7309
7310 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7311
7312 * intervals.h: Include "dispextern.h" unconditionally.
7313
7314 2002-02-24 Jason Rumney <jasonr@gnu.org>
7315
7316 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
7317 and disp-table.elc.
7318 (lisp): Add emacs-lisp/backquote.elc.
7319
7320 2002-02-24 Kim F. Storm <storm@cua.dk>
7321
7322 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
7323 The validation of the event type was too strict as it didn't
7324 allow string events; buffer names are used in bindings for
7325 menu-bar-select-buffer (see `menu-bar-update-buffers').
7326
7327 2002-02-23 Kim F. Storm <storm@cua.dk>
7328
7329 The following changes rework my patch of 2002-02-06 which
7330 added command remapping by entering the commands directly into
7331 the keymaps. Now, command remapping uses an explicit `remap'
7332 prefix in the keymaps, i.e. [remap COMMAND].
7333
7334 * keymap.c (Qremap, remap_command_vector): New variables.
7335 (is_command_symbol): Removed function.
7336 (Fdefine_key): No longer accept a symbol for KEY.
7337 Added validation of [remap COMMAND] argument for KEY.
7338 The DEF is no longer required to be a symbol when remapping a command.
7339 (Fremap_command): New function to remap command through keymaps.
7340 (Flookup_key): Perform command remapping initiated by
7341 Fremap_command directly for speed.
7342 (Fkey_binding): Use Fremap_command for command remapping.
7343 (where_is_internal): Handle new command remapping representation.
7344 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
7345 staticpro them. Defsubr Fremap_command.
7346
7347 * keymap.h (Fremap_command): Declare extern.
7348 (is_command_symbol): Remove extern.
7349
7350 * keyboard.c (command_loop_1): Use Fremap_command for command
7351 remapping; now try command remapping for all symbols.
7352
7353 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
7354
7355 * coding.h (run_pre_post_conversion_on_str): Add prototype.
7356
7357 2002-02-23 Jason Rumney <jasonr@gnu.org>
7358
7359 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
7360 on the string before encoding it.
7361 (Fw32_get_clipboard_data): Run post-read-conversion on the string
7362 after decoding it.
7363
7364 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
7365
7366 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7367
7368 * w32term.c (enter_timestamp): Remove unused static variable to
7369 prevent warning.
7370
7371 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
7372
7373 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
7374
7375 * w16select.c (Fw16_get_clipboard_data): Fix last change.
7376
7377 * xselect.c (selection_data_to_lisp_data): Fix last change.
7378
7379 2002-02-22 Jason Rumney <jasonr@gnu.org>
7380
7381 * w32term.h (struct w32_output): New member menu_command_in_progress.
7382
7383 * w32menu.c (menubar_selection_callback): Free the menu and
7384 clear the menu_command_in_progress flag.
7385
7386 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
7387 (menu_free_timer): New variable.
7388 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
7389 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
7390 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
7391 menu command is in progress.
7392 <WM_COMMAND>: Set the menu_command_in_progress flag.
7393 Kill any menu_free_timer that is running.
7394
7395 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
7396 Call ExtTextOutA rather than ExtTextOut.
7397
7398 2002-02-22 Eli Zaretskii <eliz@gnu.org>
7399
7400 * puresize.h (BASE_PURESIZE): Increase to 755000.
7401
7402 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
7403
7404 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
7405 on the string before encoding it.
7406 (Fw16_get_clipboard_data): Run post-read-conversion on the string
7407 after decoding it.
7408
7409 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
7410
7411 Support for ICCCM Extended Segments in X selections:
7412
7413 * xselect.c <Qcompound_text_no_extensions>: New variable.
7414 (syms_of_xselect): Intern and staticpro it.
7415 (selection_data_to_lisp_data): Run post-read-conversion on decoded
7416 selection text.
7417 (lisp_data_to_selection_data): If next-selection-coding-system is
7418 compound-text-no-extensions, set the type of selection to be
7419 compound-text.
7420
7421 * xterm.h (x_encode_text): Update prototype.
7422
7423 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
7424 callers changed. If SELECTIONP is non-zero, run the
7425 pre-write-conversion function before encoding the selection text.
7426
7427 2002-02-21 Kim F. Storm <storm@cua.dk>
7428
7429 * frame.c (syms_of_frame): Change mouse-highlight default to t.
7430
7431 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
7432 Correct composing of language-change event.
7433
7434 2002-02-20 Kim F. Storm <storm@cua.dk>
7435
7436 * keyboard.c (menu_bar_items): Don't include keymap or local-map
7437 bindings at PT when building menu (the menu is not updated often
7438 enough for this to work reliable).
7439 (tool_bar_items): Likewise.
7440 (current_active_maps): Removed unused (and buggy) function.
7441
7442 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7443
7444 * xfns.c (gif_load): Use correct width and height for GIF images.
7445
7446 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
7447
7448 * floatfns.c (Fatan): Accept an optional second arg and call
7449 atan2 if passed 2 args.
7450
7451 2002-02-18 Jason Rumney <jasonr@gnu.org>
7452
7453 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
7454
7455 2002-02-17 Jason Rumney <jasonr@gnu.org>
7456
7457 * w32term.c (x_autoselect_window_p): New variable.
7458 (syms_of_w32term): DEFVAR_BOOL and initialize it.
7459 (note_mouse_movement): Use it.
7460
7461 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
7462
7463 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
7464
7465 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
7466 New variables.
7467 (syms_of_w32fns): Intern and staticpro them.
7468 (x_frame_parms) <"fullscreen">: New parameter.
7469 (x_fullscreen_move, x_set_fullscreen): New functions.
7470 (x_set_frame_parameters): Support Qfullscreen.
7471 (x_real_positions): Save x/y_pixels_diff frame params.
7472 (x_figure_window_size): Support full-screen frames.
7473 (Fx_create_frame): Default the fullscreen parameter.
7474
7475 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
7476 (x_fullscreen_adjust): New functions.
7477 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
7478 fullscreen. Call x_check_fullscreen_move, and set the
7479 want_fullscreen member of output_data.w32
7480 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
7481
7482 * w32term.h: New enum for FULLSCREEN_* constants.
7483 (struct w32_output): New members want_fullscreen, x_pixels_diff,
7484 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
7485 (x-fullscreen-adjust): New prototype.
7486
7487 2002-02-17 Kim F. Storm <storm@cua.dk>
7488
7489 * frame.c: (Vmouse_highlight): New variable.
7490 (syms_of_frame): DEFVAR_LISP it.
7491
7492 * frame.h: (Vmouse_highlight): Declare extern.
7493
7494 * xterm.h (struct x_display_info): Add mouse_face_hidden.
7495
7496 * xterm.c (disable_mouse_highlight): Removed variable.
7497 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
7498 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
7499 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
7500 and on after keyboard input.
7501 (x_term_init): Initialize mouse_face_hidden.
7502
7503 * msdos.h (struct display_info): Add mouse_face_hidden.
7504
7505 * msdos.c (disable_mouse_highlight): Removed variable.
7506 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
7507 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
7508 (internal_terminal_init): Initialize mouse_face_hidden.
7509 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
7510 and on after keyboard input.
7511
7512 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
7513
7514 * w32term.c (disable_mouse_highlight): Removed variable.
7515 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
7516 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
7517 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
7518 and on after keyboard input.
7519 (w32_initialize_display_info): Initialize mouse_face_hidden.
7520
7521 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
7522
7523 * msdos.c (last_mouse_window): New variable.
7524 (dos_rawgetc): Fix last change--if the mouse is in the same window
7525 as recorded in last_mouse_window, don't select this window.
7526
7527 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
7528
7529 * msdos.c (x_autoselect_window_p): New variable.
7530 (syms_of_msdos): Defvar it.
7531 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
7532 which the last mouse movement occured, unless it is already selected.
7533
7534 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
7535 New variables.
7536 (syms_of_xdisp): DEVFAR them.
7537 (hscroll_window_tree): Use automatic_hscroll_margin and
7538 Vautomatic_hscroll_step to compute the amount of window scrolling.
7539
7540 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7541
7542 * xterm.c (x-autoselect-window): New variable.
7543 (note_mouse_movement): Use it.
7544
7545 * keyboard.c: Do not include "systime.h" twice.
7546
7547 2002-02-15 Andreas Schwab <schwab@suse.de>
7548
7549 * puresize.h (BASE_PURESIZE): Increase to 9/5.
7550
7551 * alloc.c (NSTATICS): Increase to 1280.
7552
7553 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
7554
7555 * alloc.c (NSTATICS): Bump to 1026.
7556
7557 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
7558 (Vx_super_keysym): New variables.
7559 (syms_of_xterm): DEFVAR_LISP them.
7560 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
7561 variables to determine which keys to use for the various modifiers.
7562
7563 2002-02-13 Kim F. Storm <storm@cua.dk>
7564
7565 * window.c: (Vmode_line_in_non_selected_windows): Removed.
7566 (mode_line_in_non_selected_windows): New variable.
7567 (syms_of_window): DEFVAR_BOOL it.
7568
7569 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
7570 Use mode_line_in_non_selected_windows.
7571 (mode_line_in_non_selected_windows): Declare extern.
7572 (Vmode_line_in_non_selected_windows): Removed extern.
7573
7574 2002-02-13 Richard M. Stallman <rms@gnu.org>
7575
7576 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
7577 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
7578 (Fclear_this_command_keys): Doc fixes.
7579
7580 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
7581 (update_face_from_frame_parameter): Increment face_change_count
7582 and windows_or_buffers_changed to force redisplay using changed faces.
7583
7584 * xdisp.c (QCpropertize): New variable.
7585 (mode_line_proptrans_alist): New variable.
7586 (display_mode_element): New arg PROPS; all calls changed.
7587 Implement this, for strings.
7588 Handle literal output of strings by sharing the
7589 main-line code for strings, using local var `literal'.
7590 Handle :propertize feature.
7591 (syms_of_xdisp): Initialze and staticpro QCpropertize and
7592 mode_line_proptrans_alist.
7593
7594 2002-02-11 Kim F. Storm <storm@cua.dk>
7595
7596 * window.c: (Vmode_line_in_non_selected_windows): New variable.
7597 (syms_of_window): DEFVAR_LISP it.
7598
7599 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
7600 (CURRENT_MODE_LINE_FACE_ID): Use it.
7601 (Vmode_line_in_non_selected_windows): Declare extern.
7602
7603 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
7604 to get mode line face.
7605
7606 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
7607
7608 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
7609 variables; cus-start.el doesn't need them anymore.
7610
7611 2002-02-09 Kim F. Storm <storm@cua.dk>
7612
7613 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
7614 reduction. This fixes a display problem where stray newlines were
7615 inserted in the window (corrected by C-l). Clarified code (IMHO).
7616
7617 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
7618
7619 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
7620
7621 * xdisp.c (display_mode_lines): Fix last change.
7622
7623 2002-02-09 Jason Rumney <jasonr@gnu.org>
7624
7625 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
7626 match each other.
7627 (w32_load_system_font): Prevent Cleartype fonts from loading.
7628 (Fx_show_tip): Ensure tip frames are above other topmost windows.
7629
7630 2002-02-09 Kim F. Storm <storm@cua.dk>
7631
7632 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
7633 (CURRENT_MODE_LINE_HEIGHT): Use it.
7634 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
7635
7636 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
7637 (pos_visible_p, handle_face_prop): Likewise.
7638 (display_mode_lines): Likewise, but for the real selected window.
7639 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
7640
7641 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
7642 in non-selected windows.
7643 (realize_basic_faces): Realize it.
7644 (syms_of_term): Intern and staticpro it.
7645
7646 2002-02-08 Kim F. Storm <storm@cua.dk>
7647
7648 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
7649 Changed mail addresses to emacs-devel@gnu.org.
7650
7651 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
7652
7653 * fileio.c (Fsubstitute_in_file_name): If the file name includes
7654 ~user, and there's no such user, don't discard everything before ~user.
7655
7656 * floatfns.c (Fround): Doc fix.
7657
7658 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7659
7660 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
7661
7662 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
7663
7664 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
7665
7666 2002-02-07 Kim F. Storm <storm@cua.dk>
7667
7668 * keymap.c (where_is_internal): Only check whether definition is
7669 remapped if it fulfills is_command_symbol.
7670
7671 2002-02-07 Andreas Schwab <schwab@suse.de>
7672
7673 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
7674
7675 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
7676
7677 2002-02-06 Kim F. Storm <storm@cua.dk>
7678
7679 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
7680 defining command remapping. Doc updated.
7681 (Flookup_key): Remap command through keymap if KEY is a symbol.
7682 (is_command_symbol): New function.
7683 (Fkey_binding): Use it. New optional argument NO-REMAP.
7684 Doc updated. Callers changed. Perform command remapping via
7685 recursive call unless that arg is non-nil.
7686 (where_is_internal): New argument no_remap. Callers changed.
7687 Call recursively to find original key bindings for a remapped
7688 comand unless that arg is non-nil.
7689 (Fwhere_is_internal): New optional argument NO-REMAP.
7690 Doc updated. Callers changed. Pass arg to where_is_internal.
7691
7692 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
7693 (is_command_symbol): Added prototype.
7694
7695 * keyboard.c (Vthis_original_command): New variable.
7696 (syms_of_keyboard): DEFVAR_LISP it.
7697 (command_loop_1): Set it, and perform command remapping.
7698
7699 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7700
7701 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
7702
7703 2002-02-06 Jason Rumney <jasonr@gnu.org>
7704
7705 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
7706
7707 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
7708
7709 * charset.c (get_charset_id): Use if-else instead of ?:.
7710
7711 2002-02-06 Richard M. Stallman <rms@gnu.org>
7712
7713 * filelock.c (S_ISLNK): Define if not defined.
7714
7715 2002-02-03 Richard M. Stallman <rms@gnu.org>
7716
7717 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
7718
7719 * lread.c (read1): Redesign strategy for force_multibyte and
7720 force_singlebyte. Now is_multibyte records whether read_buffer
7721 is multibyte. Encountering any multibyte character makes it so.
7722
7723 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
7724
7725 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
7726 with the same sequence, map that sequence to f10 rather than f0.
7727
7728 2002-02-03 Andreas Schwab <schwab@suse.de>
7729
7730 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
7731 latter never being defined on GNU/Linux.
7732
7733 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
7734
7735 * xfaces.c (realize_default_face): Don't set the weight and slant of
7736 the default face to Qnormal, unless these attributes are unspecified.
7737
7738 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7739
7740 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
7741 Call cancel_hourglass unconditionally.
7742
7743 * eval.c (Fsignal): Remove duplicated declaration of
7744 the variable `display_hourglass_p'.
7745
7746 2002-01-31 Richard M. Stallman <rms@gnu.org>
7747
7748 * editfns.c (region_limit): Nicer error message.
7749
7750 * coding.c (decode_composition_emacs_mule):
7751 Give up if NCOMPONENT gets too large to index `component'.
7752
7753 * callint.c (check_mark): New arg to specify clearer error message.
7754 Callers changed.
7755
7756 2002-01-27 Richard M. Stallman <rms@gnu.org>
7757
7758 * minibuf.c (Fcompleting_read): Doc fix.
7759
7760 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7761
7762 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
7763 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
7764 Fix doc-strings.
7765
7766 2002-01-26 Richard M. Stallman <rms@gnu.org>
7767
7768 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
7769
7770 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
7771 and scroll_up_aggressively.
7772
7773 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7774
7775 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
7776
7777 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
7778
7779 * textprop.c (Fnext_property_change, Fnext_single_property_change)
7780 (Fprevious_property_change, Fprevious_single_property_change):
7781 Stay within the narrowed-buffer boundaries.
7782
7783 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
7784
7785 * term.c (Ftty_display_color_cells): New function.
7786 (syms_of_term): Defsubr it.
7787 (Ftty_display_color_cells, Ftty_display_color_p): Change the
7788 argument name to DISPLAY. Doc fix.
7789
7790 * dispextern.h: Add prototype for set_tty_color_mode and
7791 tty_setup_colors.
7792
7793 2002-01-24 Jason Rumney <jasonr@gnu.org>
7794
7795 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
7796 If region left to draw is not what was expected, mark the frame as
7797 garbaged.
7798
7799 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
7800 Combine the regions returned by BeginPaint and GetUpdateRect.
7801
7802 2002-01-23 Jason Rumney <jasonr@gnu.org>
7803
7804 * w32term.c (x_update_window_begin): Only hide caret if
7805 w32_use_visible_system_caret is set.
7806 (x_update_window_end): Only show caret if
7807 w32_use_visible_system_caret is set.
7808 (syms_of_w32term): Handle SystemParametersInfo call failing.
7809
7810 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
7811
7812 2002-01-22 Richard M. Stallman <rms@gnu.org>
7813
7814 * unexelf.c (unexec): Define n so as to cause compilation error
7815 for the code where people have often written n instead of nn.
7816
7817 * .gdbinit (hookpost-run): Defined.
7818
7819 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7820
7821 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
7822
7823 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7824
7825 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
7826 if fullscreen is being set.
7827
7828 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7829
7830 * minibuf.c (Fminibuffer_contents)
7831 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
7832 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
7833
7834 2002-01-21 Richard M. Stallman <rms@gnu.org>
7835
7836 * window.c (check_frame_size): Fix minimum height calculation.
7837
7838 2002-01-20 Ken Raeburn <raeburn@gnu.org>
7839
7840 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
7841 height before comparison.
7842 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
7843
7844 2002-01-20 Jason Rumney <jasonr@gnu.org>
7845
7846 * w32term.c (w32_system_caret_width): Remove.
7847 (w32_use_visible_system_caret): New user flag.
7848 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
7849 Windows reports a screen reader running.
7850 (x_update_window_begin): Hide the system caret.
7851 (x_update_window_end): Show the system caret.
7852 (x_display_and_set_cursor): Don't draw a cursor when
7853 w32_use_visible_system_caret is set. Do not adjust width.
7854
7855 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
7856 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
7857 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
7858 the user requests it. Use system default width when creating.
7859 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
7860
7861 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
7862 New window messages.
7863
7864 2002-01-20 Richard M. Stallman <rms@gnu.org>
7865
7866 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
7867
7868 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7869
7870 * doprnt.c (doprnt1): Fix typos in error call.
7871
7872 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
7873
7874 * unexelf.c (unexec) [__sgi]: Support the .got sections.
7875
7876 2002-01-20 Jason Rumney <jasonr@gnu.org>
7877
7878 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
7879 that Windows returns. If a double check fails, try to guess how
7880 ExtTextOut is going to act.
7881
7882 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
7883 in place of stricmp.
7884 (w32_list_synthesized_fonts): Removed.
7885 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
7886 (struct enumfont_t): New element; list.
7887 (enum_font_cb2): List all style and charset variations of a font.
7888 (Fw32_select_font): New optional argument; include_proportional.
7889 Exclude vertical fonts. Exclude proportional fonts unless
7890 include_proportional is non-nil.
7891 (w32_enable_synthesized_fonts): Change to a boolean.
7892 (Fw32_send_sys_command): Doc fix.
7893
7894 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7895
7896 * dispnew.c (update_frame): Move the variable `tem' to the block
7897 where it is used.
7898
7899 2002-01-19 Jason Rumney <jasonr@gnu.org>
7900
7901 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
7902 call to face-set-after-frame-default.
7903
7904 2002-01-18 Richard M. Stallman <rms@gnu.org>
7905
7906 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
7907 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
7908
7909 2002-01-17 Richard M. Stallman <rms@gnu.org>
7910
7911 * window.c (enlarge_window): When exceeding size of parent,
7912 directly delete all the siblings instead of trying to resize it.
7913
7914 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7915
7916 * term.c (set_tty_color_mode): Remove unused variable `tem'.
7917
7918 2002-01-16 Henrik Enberg <henrik@enberg.org>
7919
7920 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
7921
7922 2002-01-16 Kim F. Storm <storm@cua.dk>
7923
7924 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
7925 is invisible. This can happen if cursor is on top line of a
7926 window, and we switch to a buffer with a header line.
7927
7928 * w32term.c (x_erase_phys_cursor): Ditto.
7929
7930 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7931
7932 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
7933 `dont_resize' only when used.
7934
7935 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
7936
7937 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
7938
7939 * xdisp.c (display_mode_element): When computing charpos, depend
7940 on multibyteness of elt, not the text in field.
7941
7942 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7943
7944 * buffer.c (Fkill_all_local_variables):
7945 Increment `update_mode_lines' only once.
7946
7947 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7948
7949 * lisp.h (adjust_after_replace_noundo)
7950 (Fupdate_coding_systems_internal): Add prototypes.
7951
7952 * sound.c (Fplay_sound): Initialize header_size also for :data case.
7953
7954 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
7955
7956 Support for the --color command-line argument and tty-color-mode
7957 frame parameter:
7958
7959 * term.c (tty_default_color_capabilities, tty_setup_colors)
7960 (set_tty_color_mode): New functions.
7961 (term_init): Call tty_default_color_capabilities.
7962 (Qtty_color_mode_alist): New variable.
7963 (syms_of_term): Intern and staticpro it.
7964
7965 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
7966 frames.
7967 (do_switch_frame): For termcap frames, switch the tty
7968 color mode as specified by the frame's parameters.
7969 (Qtty_color_mode): New variable.
7970 (syms_of_frame): Intern and staticpro it.
7971
7972 * emacs.c (USAGE2): Add the --color option.
7973 (standard_args): Ditto.
7974
7975 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7976
7977 * xterm.h (struct x_output): New members want_fullscreen,
7978 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
7979 y_pixels_outer_diff.
7980 New enum for FULLSCREEN_* constants.
7981 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
7982 is NULL.
7983 (x_fullscreen_adjust): Add prototype.
7984
7985 * emacs.c (USAGE2): Add the new full-screen arguments.
7986 (standard_args): Ditto.
7987
7988 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
7989 New variables.
7990 (syms_of_xfns): Intern and staticpro them.
7991 (x_frame_parms) <"fullscreen">: New parameter.
7992 (x_fullscreen_move, x_set_fullscreen): New functions.
7993 (x_set_frame_parameters): Support for Qfullscreen.
7994 (x_real_positions): More accurate computation of the frame position.
7995 (x_figure_window_size): Support full-screen frames.
7996 (Fx_create_frame): Default the fullscreen parameter.
7997
7998 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
7999 (XTread_socket) <Expose>: Call x_check_fullscreen.
8000 <ConfigureNotify>: Don't resize to fullscreen.
8001 Call x_check_fullscreen_move, and set the want_fullscreen member of
8002 output_data.x.
8003
8004 2002-01-13 Jason Rumney <jasonr@gnu.org>
8005
8006 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
8007 for mice with more than 3 buttons.
8008
8009 * w32term.c (parse_button): New parameter xbutton. Callers changed.
8010 (w32_read_socket): Handle new "XBUTTON" messages.
8011
8012 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
8013 (syms_of_w32fns): DEFVAR_BOOL it.
8014 (w32_wnd_proc): Handle new "XBUTTON" messages.
8015
8016 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8017
8018 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
8019
8020 2002-01-13 Andreas Schwab <schwab@suse.de>
8021
8022 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
8023
8024 2002-01-12 Andreas Schwab <schwab@suse.de>
8025
8026 * .gdbinit (xbuffer): Remove address operator since data is now a
8027 pointer.
8028
8029 2002-01-11 Richard M. Stallman <rms@gnu.org>
8030
8031 * insdel.c (adjust_after_replace_noundo): New function.
8032
8033 * coding.c (code_convert_region): Don't copy old text if undo disabled.
8034
8035 2002-01-09 Jason Rumney <jasonr@gnu.org>
8036
8037 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
8038 when checking for multiple frames.
8039
8040 2002-01-08 Richard M. Stallman <rms@gnu.org>
8041
8042 * window.c (delete_window): Rewrite the code for changing the
8043 selected window to handle the case where WINDOW is not a leaf.
8044
8045 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
8046
8047 * process.c (send_process): Set src_multibyte to 1 after the call
8048 top setup_coding_system, not before the call.
8049
8050 2002-01-07 Jason Rumney <jasonr@gnu.org>
8051
8052 * xmenu.c (set_frame_menubar, xmenu_show):
8053 (xdialog_show): Initialize wv->help to Qnil.
8054
8055 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
8056 (w32_dialog_show): Initialize wv->help to Qnil.
8057
8058 2002-01-06 Jason Rumney <jasonr@gnu.org>
8059
8060 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
8061
8062 * w32menu.c (w32_menu_display_help): Revert last change.
8063
8064 * xmenu.c (menu_highlight_callback): Revert last change.
8065
8066 2002-01-06 Andreas Schwab <schwab@suse.de>
8067
8068 * insdel.c (make_gap_larger): Make sure buffer size does not
8069 overflow range of int.
8070
8071 2002-01-05 Jason Rumney <jasonr@gnu.org>
8072
8073 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
8074 OVERLAPS_P.
8075
8076 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
8077
8078 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
8079 to the left or to the right of the pointer, put it against
8080 the left screen edge.
8081 (x_frame_parms): Add missing braces around initializer.
8082
8083 * w32term.c (x_setup_relief_colors): Don't compute an image's
8084 background color if it doesn't have a Pixmap.
8085 (notice_overwritten_cursor): Don't depend on
8086 output_cursor and updated_area. Compare pixel coordinates with
8087 window's cursor pixel coordinates.
8088 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
8089 Call notice_overwritten_cursor with new arg list.
8090 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
8091 unconditionally.
8092 (x_draw_image_relief): Use predefined macro instead of
8093 constant when the value of `tool_bar_button_relief' is negative.
8094
8095 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
8096
8097 2002-01-04 Richard M. Stallman <rms@gnu.org>
8098
8099 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
8100
8101 2002-01-03 Richard M. Stallman <rms@gnu.org>
8102
8103 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
8104 (Fkey_binding): Try the `keymap' property map first.
8105 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
8106 minor mode bindings.
8107
8108 2002-01-03 Kim F. Storm <storm@cua.dk>
8109
8110 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
8111
8112 2002-01-02 Richard M. Stallman <rms@gnu.org>
8113
8114 * keyboard.c (read_key_sequence): Handle the keymap property
8115 before minor mode maps.
8116
8117 * editfns.c (Fformat): Update thissize from field_width
8118 based on the actual width, in the string case.
8119
8120 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8121
8122 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
8123 when used as truth value to prevent gcc warnings.
8124
8125 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
8126 * w32proc.c: Include <config.h>.
8127
8128 2002-01-01 Andreas Schwab <schwab@suse.de>
8129
8130 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
8131 not EMACS_INT, to make them compatible with DEFVAR_INT.
8132 * lisp.h (max_specpdl_size): Adjust declaration.
8133
8134 2002-01-01 Richard M. Stallman <rms@gnu.org>
8135
8136 * print.c (print_object): Test print_escape_nonascii only for
8137 unibyte strings.
8138 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
8139 when outputting to a multibyte buffer.
8140
8141 2001-12-29 Richard M. Stallman <rms@gnu.org>
8142
8143 * print.c (print_object): In multibyte string, use hex escapes.
8144 Use octal only for unibyte strings.
8145 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
8146
8147 * lread.c (read_escape): New arg BYTEREP for reporting whether
8148 escape forces unibyte or multibyte.
8149 (read1): When reading a string, take note of that info.
8150
8151 2001-12-29 Ken Raeburn <raeburn@gnu.org>
8152
8153 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
8154 comparison to test lisp value returned by Fget.
8155
8156 2001-12-29 Richard M. Stallman <rms@gnu.org>
8157
8158 * lisp.h (max_specpdl_size): Add declaration.
8159
8160 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
8161
8162 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
8163 Handle modifier bits. Correct typo in error message.
8164
8165 2001-12-28 Richard M. Stallman <rms@gnu.org>
8166
8167 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
8168 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
8169 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
8170 Update calls to Fdefine_abbrev.
8171 (write_abbrev): Update for changed data format.
8172 Don't list "system" abbrevs.
8173 (Fexpand_abbrev): Update use count with new data format.
8174 (describe_abbrev): Update for changed data format.
8175 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
8176
8177 * config.in (HAVE_MBSINIT): Add #undef.
8178
8179 * strftime.c (mbsinit): Define as no-op if not available.
8180
8181 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
8182 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
8183
8184 * keymap.c (Flookup_key): Error message if key has wrong data type.
8185 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
8186 (exclude_key): New variable.
8187
8188 2001-12-28 Gerd Moellmann <gerd@gnu.org>
8189
8190 * xterm.c (x_setup_relief_colors): Don't compute an image's
8191 background color if it doesn't have a Pixmap.
8192
8193 * xterm.c (notice_overwritten_cursor): Don't depend on
8194 output_cursor and updated_area. Compare pixel coordinates with
8195 window's cursor pixel coordinates.
8196 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
8197 Call notice_overwritten_cursor with new arg list.
8198 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
8199 unconditionally.
8200
8201 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
8202 height of the cursor line to the amount to scroll.
8203
8204 2001-12-27 Richard M. Stallman <rms@gnu.org>
8205
8206 * intervals.c (set_point_both): The position after an invisible,
8207 intangible character is not an acceptable stopping point.
8208
8209 2001-12-27 Ken Raeburn <raeburn@gnu.org>
8210
8211 * window.c (enlarge_window): In new preserve_before code, convert
8212 CURBEG from lisp object to integer before doing arithmetic.
8213
8214 2001-12-27 Richard M. Stallman <rms@gnu.org>
8215
8216 * bytecode.c (Fbyte_code): Undo previous change.
8217
8218 2001-12-26 Kim F. Storm <storm@cua.dk>
8219
8220 * keyboard.c (record_char): Ignore duplicate help-echo events only
8221 separated by mouse-movement. When tracking mouse, only record
8222 first and last mouse-movement event in same window.
8223 Don't record mouse-movement events in keyboard macros.
8224
8225 2001-12-25 Richard M. Stallman <rms@gnu.org>
8226
8227 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
8228 (Fenlarge_window): New arg PRESERVE_BEFORE.
8229
8230 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
8231 instead of Fstring_as_unibyte.
8232
8233 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8234
8235 The following changes remove mocklisp support:
8236
8237 * mocklisp.h, mocklisp.c: Files removed.
8238
8239 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
8240 `Qmocklisp' and `Qmocklisp_arguments'.
8241 Remove prototype of syms_of_mocklisp.
8242
8243 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
8244
8245 * callint.c: Do not include mocklisp.h.
8246 (Fcall_interactively): Do not test for mocklisp case.
8247
8248 * eval.c: Remove variables `Qmocklisp_arguments',
8249 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
8250 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
8251 Do not test for mocklisp case.
8252 (Fwhile): Remove unused variable `tem'.
8253 (syms_of_eval): Remove variable `moclisp-arguments'.
8254
8255 * data.c (wrong_type_argument): Remove mocklisp case.
8256
8257 * doc.c (Fdocumentation): Remove mocklisp case.
8258
8259 * emacs.c (main): Do not call syms_of_mocklisp.
8260
8261 2001-12-21 Richard M. Stallman <rms@gnu.org>
8262
8263 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
8264 to the left or to the right of the pointer, put it against
8265 the left screen edge.
8266
8267 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
8268
8269 * Makefile.in (distclean): Remove .gdbinit if we are building
8270 outside the source tree.
8271
8272 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
8273
8274 * w32.c (emacs_root_dir): New function.
8275
8276 * msdos.c (emacs_root_dir): New function.
8277
8278 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
8279 of the current drive as the fallback for default_directory.
8280
8281 * dired.c (file_name_completion): Run the elements of
8282 completion-ignored-extensions through ENCODE_FILE.
8283
8284 * lisp.h (scmp): Remove prototype, since it's now a static
8285 function private to dired.c.
8286
8287 2001-12-18 Richard M. Stallman <rms@gnu.org>
8288
8289 * dired.c (scmp): Function moved from minibuf.c.
8290 Delete multibyte handling--used only on encoded strings.
8291
8292 * minibuf.c (scmp): Function moved to dired.c.
8293
8294 * fns.c (merge): Add QUIT call.
8295
8296 2001-12-18 Dave Love <fx@gnu.org>
8297
8298 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
8299 language/georgian.el.
8300
8301 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
8302
8303 * Makefile.in (lisp, shortlisp): Synchronize with changes to
8304 lisp/Makefile.in:DONTCOMPILE.
8305
8306 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8307
8308 * xdisp.c (window_box_height): Do not return negative values.
8309 From Gerd Moellmann <gerd@gnu.org>.
8310
8311 * keyboard.c (head_table): Add missing braces around initializer.
8312
8313 * term.c (keys): Likewise.
8314
8315 * xfns.c (x_frame_parms, visual_classes): Likewise.
8316
8317 2001-12-17 Sam Steingold <sds@gnu.org>
8318
8319 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
8320 patch (COMPOSING_P, not COMPOSING).
8321
8322 2001-12-17 Richard M. Stallman <rms@gnu.org>
8323
8324 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
8325
8326 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
8327 before calling decode_coding.
8328
8329 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
8330
8331 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
8332 instead of only for COMPOSITION_DISABLED.
8333
8334 2001-12-16 Richard M. Stallman <rms@gnu.org>
8335
8336 * alloc.c (pure_alloc): After overflow, allocate just a small block.
8337
8338 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
8339
8340 * buffer.h (struct buffer): New field `display_error_modiff'.
8341 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
8342
8343 * window.c (Frecenter): Clear display_error_modiff field.
8344
8345 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
8346 Call redisplay_window, but not if display_error_modiff field says no.
8347 (redisplay_window_error): New function.
8348 (displayed_buffer): New variable.
8349 (redisplay_internal, redisplay_windows): Call the new functions
8350 instead of redisplay_window directly.
8351
8352 2001-12-15 Richard M. Stallman <rms@gnu.org>
8353
8354 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
8355
8356 2001-12-14 Andrew Innes <andrewi@gnu.org>
8357
8358 * makefile.w32-in (EMACSLOADPATH): Define.
8359 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
8360 (bootstrap-temacs): Remove dependency on bootstrap-clean.
8361
8362 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
8363
8364 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
8365 parameter have a numeric value all the time.
8366
8367 * w32fns.c (x_report_frame_params): Likewise.
8368
8369 2001-12-12 Richard M. Stallman <rms@gnu.org>
8370
8371 * fileio.c (Fwrite_region): Doc fix.
8372
8373 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
8374 (redisplay_internal): Call clear_image_cache only for window terminals.
8375
8376 2001-12-12 Gerd Moellmann <gerd@gnu.org>
8377
8378 * xdisp.c (move_it_vertically_backward): Change heuristic
8379 for the case that we didn't move far enough initially.
8380
8381 * window.c (Frecenter): Simplify computation in the case of window
8382 system frames and ARG < 0; use window_box_height.
8383
8384 2001-12-11 Richard M. Stallman <rms@gnu.org>
8385
8386 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
8387 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
8388
8389 2001-12-11 Andrew Innes <andrewi@gnu.org>
8390
8391 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
8392 arg is negative.
8393
8394 2001-12-11 Richard M. Stallman <rms@gnu.org>
8395
8396 * m/hp800.h: Split the __hpux conditional into the parts
8397 that are right for GNU/Linux too and the parts that are not.
8398 Use the former if GNU_LINUX.
8399 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
8400
8401 * s/gnu-linux.h (GNU_LINUX): Defined.
8402
8403 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8404
8405 * macros.c, msdos.c, w16select.c: Change doc-string comments to
8406 `new style' [w/`doc:' keyword].
8407
8408 2001-12-10 Jason Rumney <jasonr@gnu.org>
8409
8410 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
8411 before using.
8412
8413 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8414
8415 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
8416 keyword].
8417
8418 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
8419
8420 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
8421
8422 * s/hpux10.h (srand48): Don't undefine.
8423
8424 2001-12-09 Jason Rumney <jasonr@gnu.org>
8425
8426 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
8427 Add comment to explain where the struct came from.
8428 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
8429 (add_menu_item): Process pop-up menus first to avoid memory leak.
8430 (add_menu_item, w32_menu_display_help): Use `help' field as
8431 Lisp_Object.
8432 (w32_free_submenu_strings): Only free owner-drawn strings.
8433
8434 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8435
8436 * COPYING: Moved back.
8437
8438 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
8439 Add parentheses around && within ||.
8440
8441 * indent.c (compute_motion): Likewise.
8442
8443 * intervals.c (merge_properties_sticky): Likewise.
8444
8445 * coding.c (setup_coding_system, shrink_encoding_region)
8446 (Fdecode_sjis_char): Likewise.
8447
8448 2001-12-07 Andreas Schwab <schwab@suse.de>
8449
8450 * xdisp.c (display_mode_element): Don't read past end of string if
8451 it ends with '%'.
8452
8453 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
8454 can hold.
8455
8456 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
8457 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
8458 type changed to Lisp_Object.
8459 (syms_of_data): DEFVAR_LISP them.
8460
8461 2001-12-07 Richard M. Stallman <rms@gnu.org>
8462
8463 * callproc.c (init_callproc): Set Vdata_directory based on the source
8464 location whenever Emacs was run uninstalled.
8465
8466 2001-12-06 Paul Eggert <eggert@twinsun.com>
8467
8468 * config.in (HAVE_WORKING_VFORK): New #undefs.
8469 * process.c (create_process):
8470 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
8471 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
8472 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
8473 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
8474 * m/intel386.h (HAVE_VFORK): Likewise.
8475 * m/mips-siemens.h (HAVE_VFORK): Likewise.
8476 * m/mips.h (HAVE_VFORK): Likewise.
8477 * s/freebsd.h (vfork): Remove #define.
8478 * s/lynxos.h (HAVE_VFORK): Remove #undef.
8479 * s/usg5-4-2.h: Fix comment about vfork.
8480
8481 2001-12-06 Richard M. Stallman <rms@gnu.org>
8482
8483 * s/hpux10.h (random): Add undef.
8484 (HAVE_RANDOM): Define it just once.
8485
8486 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
8487
8488 * eval.c: Undo last change: the standard syntax is not wanted.
8489
8490 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
8491
8492 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
8493 scroll bars of the frame before deleting the frame itself. If the
8494 frame has a widget, delete the frame with XtDestroyWidget, and do
8495 not call XDestroyWindow before that.
8496
8497 2001-12-06 Kim F. Storm <storm@cua.dk>
8498
8499 * xfns.c (x_report_frame_params): Return actual fringe widths.
8500
8501 * w32fns.c (x_report_frame_params): Return actual fringe widths.
8502
8503 2001-12-05 Andrew Innes <andrewi@gnu.org>
8504
8505 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
8506 excessively large.
8507
8508 * insdel.c (make_gap_larger): New function.
8509 (make_gap_smaller): New function.
8510 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
8511 Call make_gap_smaller if arg is negative.
8512
8513 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
8514
8515 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
8516 Pass a dummy argument when calling interrupt_signal.
8517 (parse_menu_item): Mark disabled items before checking for empty def.
8518 (read_char_minibuf_menu_prompt): Make safety more visible.
8519 (read_key_sequence): Add a `first_unbound' variable.
8520 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
8521 unbound prefix as soon as we can detect it.
8522
8523 * doc.c (Fsnarf_documentation): Add prototype.
8524 (get_doc_string): Handle negative arguments.
8525 (Fdocumentation): Use AREF and ASIZE.
8526 Move the calls to get_doc_string to a single place.
8527 Don't confuse an interactive-spec for a docstring reference.
8528 (Fdocumentation_property): Take advantage of the fact that
8529 get_doc_string now ignores the sign of the docstring position.
8530
8531 * eval.c: Use standard syntax for usage in docstrings.
8532
8533 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8534
8535 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
8536
8537 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8538
8539 * xterm.c (x_draw_image_relief): Use predefined macro instead of
8540 constant when the value of `tool_bar_button_relief' is negative.
8541
8542 2001-12-02 Richard M. Stallman <rms@gnu.org>
8543
8544 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
8545 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
8546
8547 * fileio.c (read_non_regular): Delete Fsignal call.
8548
8549 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
8550
8551 * lisp.h (run_hook_list_with_args): Undo last change.
8552
8553 2001-12-01 Gerd Moellmann <gerd@gnu.org>
8554
8555 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
8556
8557 2001-12-01 Jason Rumney <jasonr@gnu.org>
8558
8559 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
8560
8561 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
8562 [!WM_MOUSELEAVE]: Define.
8563
8564 * w32menu.c (current_popup_menu, get_menu_item_info):
8565 (set_menu_item_info): New vars.
8566 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
8567 (w32_menu_show): Set current_popup_menu.
8568 (add_menu_item): Allocate new strings for owner-drawn menu items
8569 and help strings.
8570 Use owner-draw for disabled menu items again.
8571 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
8572 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
8573
8574 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
8575 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
8576 <WM_EXITMENULOOP>: Free menu strings.
8577 <WM_MOUSELEAVE>: Stop tracking mouse.
8578 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
8579
8580 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
8581 and mouse face.
8582
8583 2001-12-01 Kim F. Storm <storm@cua.dk>
8584
8585 The following changes add left-fringe and right-fringe
8586 frame parameters to adjust fringe widths, or remove one or
8587 both fringes.
8588
8589 * frame.h (struct frame): Remove trunc_area_pixel_width and
8590 trunc_area_cols fields.
8591 (Qleft_fringe, Qright_fringe): Declare.
8592 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
8593
8594 * frame.c (Qleft_fringe, Qright_fringe): New vars.
8595 (syms_of_frame): Initialize them.
8596
8597 * window.c (coordinates_in_window): Handle separate left and right
8598 fringe widths.
8599
8600 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
8601 and fringe_cols fields.
8602 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
8603 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
8604 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
8605 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
8606 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
8607 (x_compute_fringe_widths): Add prototype.
8608
8609 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
8610 fill fringe evenly with small dashes.
8611 (x_draw_fringe_bitmap): Clear background if necessary. Align and
8612 clip the new ZV bitmap to avoid jitter between rows.
8613 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
8614 background. Don't draw fringe bitmaps if fringe width is zero.
8615 (x_compute_fringe_widths): New function.
8616 (x_new_font, x_set_window_size_1): Use it.
8617
8618 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
8619 (x_set_frame_parameters): Process `font' parameter before other
8620 parameters as fringe widths depend on it.
8621 (x_set_fringe_width): New function.
8622 (x_figure_window_size): Use x_compute_fringe_widths.
8623 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
8624 parameters.
8625
8626 * widget.c (set_frame_size): Use x_compute_fringe_widths.
8627 (EmacsFrameSetCharSize): Ditto.
8628
8629 * w32term.h: Merged changes from xterm.h.
8630 * w32term.c: Merged changes from xterm.c.
8631 * w32fns.c: Merged changes from xfns.c.
8632
8633 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8634
8635 * COPYING: Removed.
8636
8637 2001-11-29 Dave Love <fx@gnu.org>
8638
8639 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
8640 extra extra slot.
8641 (detect_coding_mask): Fix call of detect_coding_iso2022.
8642
8643 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8644
8645 * fileio.c (file-name-coding-system)
8646 (default-file-name-coding-system): Doc fix (links to referenced
8647 variables added).
8648
8649 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
8650
8651 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
8652 Add dummy uses of gcproN variables.
8653
8654 * category.c (describe_category, describe_category_1)
8655 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
8656 (syms_of_category): Don't defsubr Sdescribe_categories.
8657
8658 2001-11-28 Richard M. Stallman <rms@gnu.org>
8659
8660 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
8661
8662 * Makefile.in (lispdir): New variable, referring to build dir.
8663 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
8664
8665 2001-11-28 Andrew Innes <andrewi@gnu.org>
8666
8667 * w32menu.c (w32_menu_display_help): Actually add the new argument
8668 OWNER.
8669
8670 2001-11-28 Jason Rumney <jasonr@gnu.org>
8671
8672 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
8673 menu items. From David Ponce <dponce@wanadoo.fr>.
8674 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
8675 conditionally.
8676 (w32_menu_display_help): New argument OWNER. Rewritten to store a
8677 help event in the owner frame's keyboard buffer.
8678
8679 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
8680 (Fx_show_tip): Don't subtract last width from row width.
8681
8682 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
8683 (w32_read_socket): Use EQ to compare frames.
8684
8685 2001-11-28 Gerd Moellmann <gerd@gnu.org>
8686
8687 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
8688 OVERLAPS_P.
8689
8690 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8691
8692 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
8693 `gcpro3' and `gcpro4'.
8694
8695 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
8696
8697 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
8698
8699 * ccl.c: Use AREF and ASIZE.
8700
8701 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
8702
8703 * lisp.h (run_hook_list_with_args): Remove.
8704 (LIST_END_P): Fix call to wrong_type_argument.
8705 (make_fixnum_or_float): Use EMACS_INT rather than int.
8706
8707 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
8708
8709 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
8710 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
8711
8712 * eval.c: Use AREF and ASIZE.
8713 (Ffetch_bytecode): Add the file name to the error message.
8714
8715 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
8716 which match the end of the file-name.
8717 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
8718 is not a valid env var, but leave it as is instead.
8719
8720 * keymap.c (access_keymap): Handle t bindings like nil bindings.
8721 Make nil bindings in char-tables transparent.
8722 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
8723
8724 2001-11-26 Richard M. Stallman <rms@gnu.org>
8725
8726 * textprop.c (set_text_properties_1): Allow START, END in either order.
8727 Do nothing if range is empty.
8728
8729 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
8730
8731 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
8732 (clean): Not here.
8733
8734 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
8735
8736 * textprop.c (set_text_properties_1): Clearly mark that the
8737 interval should not be empty.
8738
8739 * intervals.c (graft_intervals_into_buffer):
8740 Don't call set_text_properties_1 on an empty interval.
8741
8742 2001-11-25 Richard M. Stallman <rms@gnu.org>
8743
8744 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
8745
8746 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
8747 don't lose the data in it.
8748
8749 2001-11-25 Juanma Barranquero <lektu@terra.es>
8750
8751 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
8752
8753 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
8754
8755 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
8756
8757 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
8758
8759 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
8760
8761 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
8762
8763 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
8764 Niemitalo <kon@iki.fi>.
8765
8766 2001-11-25 Jason Rumney <jasonr@gnu.org>
8767
8768 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
8769
8770 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
8771 (Fx_show_tip): Block input during frame creation.
8772 (Fx_show_tip, Fx_hide_tip): Enable.
8773
8774 2001-11-24 Richard M. Stallman <rms@gnu.org>
8775
8776 * lread.c (Fload): Detect recursive load error for more than 3
8777 nestings of the same file.
8778 (Vrecursive_load_depth_limit): Variable deleted.
8779 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
8780
8781 2001-11-24 Jason Rumney <jasonr@gnu.org>
8782
8783 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
8784 mouse position if either left or top is not specified.
8785
8786 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
8787 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
8788 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
8789 (my_create_tip_window): Assign tip_window.
8790 (x_create_tip_frame): Use same defaults as X.
8791 (compute_tip_xy): Remove unused variable. Use full screen width.
8792 (Fx_show_tip): Do not double height. Call ShowWindow directly.
8793
8794 * w32term.c (x_after_update_window_line): Doc fix.
8795 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
8796 frames.
8797 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
8798
8799 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
8800 for all Windowed systems.
8801
8802 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
8803
8804 * msdos.c (IT_clear_screen): If the frame's faces are not yet
8805 realized, use the initial screen colors to clear the screen.
8806
8807 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8808
8809 * textprop.c (Fset_text_properties): Remove unused variables
8810 `unchanged', `prev_changed', `s' and `len'.
8811
8812 * search.c (Freplace_match): Remove unused variable `inslen'.
8813
8814 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
8815
8816 2001-11-22 Jason Rumney <jasonr@gnu.org>
8817
8818 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
8819 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
8820 (my_create_tip_window): New function.
8821 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
8822 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
8823
8824 2001-11-20 Jason Rumney <jasonr@gnu.org>
8825
8826 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
8827 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
8828
8829 * w32fns.c (Vw32_system_coding_system): Remove.
8830 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
8831
8832 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
8833
8834 * fileio.c (Fwrite_region): Move choose_write_coding_system to
8835 after build_annotations.
8836
8837 * syntax.c (describe_syntax): Add dummy arg.
8838 (describe_syntax_1): Update call to describe_vector.
8839
8840 * category.c (describe_category): Add dummy arg.
8841 (describe_category_1): Update call to describe_vector.
8842
8843 * keymap.c (Fdescribe_vector): Add `describer' parameter.
8844 (describe_command, describe_translation): Add dummy second param.
8845 (describe_map): Call elt_describer with two arguments.
8846 (describe_vector_princ): Add `fun' parameter.
8847 Call it instead of the hardcoded `princ'.
8848 (describe_vector): Add arg `args'.
8849 Pass it as a new second argument to elt_describer.
8850
8851 * keymap.h (describe_vector): Update prototype.
8852
8853 * frame.c: Don't include keymap.h any more.
8854 (keys_of_frame): Remove.
8855
8856 * lisp.h (keys_of_frame): Remove declaration.
8857
8858 * emacs.c (main): Don't call `keys_of_frame' any more.
8859
8860 2001-11-14 Andreas Schwab <schwab@suse.de>
8861
8862 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
8863 if defined, 0 otherwise.
8864 (MAP_FAILED): Define if not defined and use it to test mmap failure.
8865 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
8866
8867 2001-11-19 Richard M. Stallman <rms@gnu.org>
8868
8869 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
8870
8871 2001-11-18 Jason Rumney <jasonr@gnu.org>
8872
8873 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
8874 (x_draw_bar_cursor): If the background color of the glyph under
8875 the cursor equals the frame's cursor color, use the glyph's
8876 foreground color for drawing the bar cursor.
8877 (x_after_update_window_line): Clear internal border in different
8878 circumstances.
8879 (w32_set_vertical_scroll_bar): Check for width and height > 0.
8880 (w32_draw_relief_rect): Correct relief by 1 pixel.
8881 (x_set_glyph_string_background_width):
8882 Set extends_to_end_of_line_p if the row's fill_line_p is set and
8883 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
8884 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
8885 if cursor_in_non_selected_windows is false.
8886 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
8887 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
8888 Notice if cursor gets overwritten.
8889 (notice_overwritten_cursor): Renamed from
8890 note_overwritten_text_cursor. Rewritten to take glyph widths
8891 into account, and to take X positions as parameters.
8892 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
8893 around call to x_draw_glyphs.
8894 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
8895 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
8896 color to use for image glyph reliefs.
8897 (x_draw_image_relief): Accept zero tool_bar_button_relief.
8898 (glyph_rect): Remove unused variable `area'.
8899
8900 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
8901 some items.
8902 (x_set_internal_border_width): Set frame garbaged when window
8903 doesn't exist yet.
8904 (Fx_create_frame): Accept zero tool_bar_button_relief.
8905 (x_clear_image_1, four_corners_best, image_background)
8906 (image_background_transparent): New functions.
8907 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
8908 (gs_format): Add `:background' entry.
8909 (lookup_image): Set IMG's background color if specified.
8910 (pbm_load, xbm_load_image, png_load): Set IMG's background field
8911 when appropriate.
8912 (x_clear_image_1): Reset `background_valid' and
8913 `background_transparent_valid' fields.
8914 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
8915 calculating it here. Set IMG's background_transparent field.
8916 (enum xpm_keyword_index): Add XPM_BACKGROUND.
8917 (enum png_keyword_index): Add PNG_BACKGROUND.
8918 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
8919 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
8920 (enum gif_keyword_index): Add GIF_BACKGROUND.
8921 (enum gs_keyword_index): Add GS_BACKGROUND.
8922 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
8923 Pre-calculate image background color where necessary.
8924 (x_create_x_image_and_pixmap, xbm_load, gs_load):
8925 Use display info's n_cbits entry for screen depth.
8926 (Fx_show_tip): Remove unused variables `buffer', `top',
8927 `left', `max_width' and `max_height'.
8928
8929 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
8930
8931 2001-11-18 Gerd Moellmann <gerd@gnu.org>
8932
8933 * puresize.h (BASE_PURESIZE): Increase to 750000.
8934
8935 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8936
8937 * frame.c (Fframe_live_p): Doc fix.
8938
8939 2001-11-18 Richard M. Stallman <rms@gnu.org>
8940
8941 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
8942 (message_dolog_marker3): New static variables hold three markers.
8943 (syms_of_xdisp): Initialize and staticpro them.
8944 (message_dolog): Use message_dolog_marker1..3 instead of
8945 allocating markers each time. Unchain them when done.
8946
8947 2001-11-17 Richard M. Stallman <rms@gnu.org>
8948
8949 * doc.c (Fsnarf_documentation): Doc fix.
8950
8951 2001-11-17 Andreas Schwab <schwab@suse.de>
8952
8953 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
8954
8955 2001-11-17 Richard M. Stallman <rms@gnu.org>
8956
8957 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
8958
8959 2001-11-17 Jason Rumney <jasonr@gnu.org>
8960
8961 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
8962
8963 2001-11-17 Gerd Moellmann <gerd@gnu.org>
8964
8965 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
8966 with invalid position.
8967
8968 2001-11-16 Richard M. Stallman <rms@gnu.org>
8969
8970 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
8971
8972 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
8973 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
8974 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
8975
8976 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
8977
8978 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
8979
8980 * fileio.c (build_annotations): Split off the tail.
8981 (build_annotations_2): New fun. Extracted from build_annotations.
8982 (Fwrite_region): Split the call to build_annotations into two
8983 calls to build_annotations and build_annotations_2.
8984
8985 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8986
8987 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
8988 clear_waiting_for_input with argument.
8989
8990 * xterm.h (x_update_cursor): Remove duplicated prototype.
8991
8992 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
8993
8994 * xterm.c (waiting_for_input): Remove unnecessary declaration.
8995
8996 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
8997
8998 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
8999
9000 * fileio.c (choose_write_coding_system): New fun, extracted
9001 from Fwrite_region.
9002 (Fwrite_region): Use it.
9003
9004 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
9005 (funcall_lambda, run_hook_with_args): Make static and add prototype.
9006 (ml_apply, find_handler_clause): Add prototype.
9007
9008 2001-11-16 Eli Zaretskii <eliz@gnu.org>
9009
9010 * config.in: Add #undef HAVE_COFF_H.
9011
9012 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
9013 Required for ISC 4.1.
9014
9015 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
9016
9017 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
9018 Andrew Wiseman <a.wiseman@btclick.com>.
9019
9020 2001-11-16 Kim F. Storm <storm@cua.dk>
9021
9022 The following changes are made to clean up the various internal
9023 references to the fringes to actually use the term `fringe' for
9024 them. Previously, they were called `flags areas', `bitmap areas',
9025 `left/right side of windows', or implicitly as `flags' or
9026 `bitmaps':
9027
9028 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
9029 Comments fixed. Use renamed symbols.
9030
9031 * dispnew.c: Comment fix. Use renamed symbols.
9032
9033 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
9034 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
9035 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
9036
9037 * msdos.c: Comment fix.
9038
9039 * w32fns.c: Use renamed symbols.
9040
9041 * w32term.c: Comment fixes. Use renamed symbols.
9042 (fringe_bitmap_type): Renamed from bitmap_type.
9043 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
9044 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
9045 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
9046
9047 * w32term.h: Comment fixes. Use renamed symbols.
9048 (fringes_extra): Renamed from flags_areas_extra.
9049 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
9050 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
9051 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
9052 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
9053 (FRAME_X_LEFT_FRINGE_WIDTH):
9054 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
9055 (FRAME_X_RIGHT_FRINGE_WIDTH):
9056 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
9057
9058 * widget.c: Use renamed symbols.
9059
9060 * window.c: Comment fixes. Use renamed symbols.
9061 (coordinates-in-window-p): Doc fix.
9062
9063 * xdisp.c: Comment fixes. Use renamed symbols.
9064
9065 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
9066
9067 * xfns.c: Use renamed symbols.
9068
9069 * xterm.c: Comment fixes. Use renamed symbols.
9070 (fringe_bitmap_type): Renamed from bitmap_type.
9071 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
9072 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
9073 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
9074
9075 * xterm.h: Comment fixes. Use renamed symbols.
9076 (fringes_extra): Renamed from flags_areas_extra.
9077 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
9078 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
9079 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
9080 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
9081 (FRAME_X_LEFT_FRINGE_WIDTH):
9082 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
9083 (FRAME_X_RIGHT_FRINGE_WIDTH):
9084 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
9085
9086 2001-11-15 Jason Rumney <jasonr@gnu.org>
9087
9088 * w32menu.c (add-menu-item): Make help_echo and radio buttons
9089 work for most menu items. From David Ponce
9090 <david.ponce@wanadoo.fr>.
9091
9092 2001-11-15 Gerd Moellmann <gerd@gnu.org>
9093
9094 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
9095 Some x_set_* function expect to be called even if old and new
9096 value are equal.
9097
9098 * xdisp.c (build_desired_tool_bar_string): Accept zero
9099 tool_bar_button_relief.
9100
9101 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
9102
9103 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
9104
9105 * xterm.c (x_draw_bar_cursor): If the background color of the
9106 glyph under the cursor equals the frame's cursor color, use
9107 the glyph's foreground color for drawing the bar cursor.
9108
9109 * dispnew.c (direct_output_forward_char): Fix character/byte
9110 position comparison.
9111
9112 2001-11-15 Miles Bader <miles@gnu.org>
9113
9114 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
9115 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
9116 Update arguments to find_field.
9117 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
9118 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
9119 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
9120 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
9121
9122 2001-11-14 Richard M. Stallman <rms@gnu.org>
9123
9124 * editfns.c (Fpropertize): Allow call with 1 arg.
9125
9126 * dispextern.h (image_background, image_background_transparent):
9127 Conditionalize on HAVE_X_WINDOWS.
9128
9129 2001-11-13 Richard M. Stallman <rms@gnu.org>
9130
9131 * print.c (Fprin1_to_string): Doc fix.
9132
9133 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
9134
9135 * floatfns.c (Fceiling, Ffloor): Doc fixes.
9136
9137 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
9138
9139 * fileio.c (Ffile_accessible_directory_p): Doc fix.
9140
9141 * eval.c (syms_of_eval): Doc fix.
9142
9143 * coding.c (syms_of_coding): Doc fix.
9144
9145 * doc.c (Fsnarf_documentation): Doc fix.
9146
9147 * dispnew.c (syms_of_display): Doc fix.
9148
9149 * category.c (Fget_unused_category): Doc fix.
9150
9151 * buffer.c (syms_of_buffer): Doc fixes.
9152
9153 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
9154
9155 * print.c (prin1, print): Doc fix.
9156
9157 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9158
9159 * fontset.h: Remove declarations of variables
9160 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
9161
9162 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
9163 `Vclip_large_size_font'.
9164
9165 2001-11-13 Jason Rumney <jasonr@gnu.org>
9166
9167 * w32fns.c: Doc fix.
9168
9169 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9170
9171 * xfaces.c (Fface_attributes_as_vector): Doc fix.
9172
9173 * fns.c: Doc fix.
9174
9175 * emacs.c: Doc fix.
9176
9177 * coding.c: Doc fix.
9178
9179 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
9180 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
9181 `new style' [w/`doc:' keyword].
9182
9183 2001-11-12 Richard M. Stallman <rms@gnu.org>
9184
9185 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
9186 LeaveNotify events. Only FocusIn and FocusOut do that now.
9187 (x_display_and_set_cursor): Do display hollow cursors in active
9188 minibuffer windows when they are not selected.
9189
9190 2001-11-12 Jason Rumney <jasonr@gnu.org>
9191
9192 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
9193 * w32term.c: Change doc-string comments to `new style'.
9194 [w/`doc:' keyword]. Doc fixes.
9195
9196 * w32fns.c: Don't define max.
9197 (Fx_open_connection): Only execute once.
9198
9199 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9200
9201 * ccl.c: Change macros to use do-while block instead of if-else.
9202 Use braces to follow GNU Coding Standards.
9203
9204 2001-11-11 Richard M. Stallman <rms@gnu.org>
9205
9206 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
9207
9208 * lread.c (read_escape): Use end_of_file_error for reporting eof.
9209
9210 * insdel.c (replace_range): Use adjust_markers_for_replace
9211 instead of adjust_markers_for_delete and adjust_markers_for_insert.
9212
9213 * intervals.h: Declare set_text_properties and set_text_properties_1.
9214
9215 * textprop.c (set_text_properties_1): New subroutine
9216 broken out of set_text_properties.
9217 (set_text_properties): Use set_text_properties_1.
9218
9219 * intervals.c (graft_intervals_into_buffer):
9220 Use set_text_properties_1 to clear out properties.
9221
9222 * search.c (Freplace_match): Use replace_range to insert
9223 and delete. Don't request property inheritance from
9224 surrounding text.
9225
9226 2001-11-10 Jason Rumney <jasonr@gnu.org>
9227
9228 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
9229 vertical fonts. Allow them if face name is explicitly specified.
9230 Do not give up if we find a font that cannot be converted to an xlfd.
9231
9232 2001-11-10 Gerd Moellmann <gerd@gnu.org>
9233
9234 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
9235 instead of malloc/free.
9236
9237 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9238
9239 * xfaces.c (merge_face_vectors): Use braces to follow GNU
9240 Coding Standards.
9241 (Finternal_set_lisp_face_attribute): Likewise.
9242
9243 * buffer.c (Fbury_buffer): Likewise.
9244
9245 * indent.c (current_column_1): Remove unused variable `prev_col'.
9246
9247 * coding.c (encode_coding): Use precomputed value of `src'.
9248 (encode_coding): Remove unused variable `src_end'.
9249 (code_convert_region): Remove unused variables `count'.
9250
9251 2001-11-07 Jason Rumney <jasonr@gnu.org>
9252
9253 * w32term.c (x_display_and_set_cursor): Do not move system caret
9254 if cursor_glyph is NULL.
9255
9256 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9257
9258 * keymap.c (access_keymap): Fix compilation error.
9259
9260 2001-11-07 Miles Bader <miles@gnu.org>
9261
9262 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
9263
9264 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9265
9266 * intervals.c (graft_intervals_into_buffer):
9267 Remove #ifdef'd-out code.
9268 (graft_intervals_into_buffer): Remove unused variable `middle'.
9269
9270 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
9271 code (eval-current-buffer).
9272 Change doc-string comments to `new style' [w/`doc:' keyword].
9273
9274 2001-11-06 Richard M. Stallman <rms@gnu.org>
9275
9276 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
9277
9278 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
9279
9280 * lread.c (read1): Fix behavior with nested backquoting.
9281
9282 * keyboard.c (make_lispy_event): Check integerness and fix
9283 Lisp_Object/int mixup.
9284
9285 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9286
9287 * fns.c (copy_hash_table): Remove unused variable `v'.
9288
9289 * fontset.c (fontset_font_pattern): Remove unused variable
9290 `family_registry'.
9291
9292 * indent.c (current_column_1): Remove unused variable `prev_col'.
9293
9294 2001-11-05 Richard M. Stallman <rms@gnu.org>
9295
9296 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
9297
9298 * buffer.c (Fkill_buffer): Don't delete auto save file
9299 if buffer is modified.
9300
9301 2001-11-05 Andrew Innes <andrewi@gnu.org>
9302
9303 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
9304 CHECK_NUMBER_CDR.
9305
9306 2001-11-05 Richard M. Stallman <rms@gnu.org>
9307
9308 * unexelf.c (unexec): Minor changes; clean up comments.
9309
9310 2001-11-05 Sam Steingold <sds@gnu.org>
9311
9312 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
9313
9314 2001-11-05 Andreas Schwab <schwab@suse.de>
9315
9316 * sound.c (sound_perror): Save errno from being clobbered.
9317
9318 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
9319
9320 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
9321 the program image directly.
9322
9323 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9324
9325 * buffer.h (Fbuffer_local_value): Add prototype.
9326
9327 2001-11-04 Richard M. Stallman <rms@gnu.org>
9328
9329 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
9330 and CHECK_BUFFER.
9331
9332 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
9333 (record_char): Likewise.
9334
9335 * keyboard.c (make_lispy_event): Don't insist a drag event must
9336 move to a different buffer position. Instead, check for moving at
9337 least double_click_fuzz.
9338
9339 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
9340
9341 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
9342
9343 * indent.c (current_column_1, Fmove_to_column): Separate the code
9344 for display-table glyphs from the code for buffer text, to fix
9345 bugs in the former.
9346
9347 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
9348
9349 * buffer.c (Fbuffer_local_value): New function.
9350 (syms_of_buffer): Defsubr it.
9351
9352 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
9353 value of `cursor-in-non-selected-windows'.
9354
9355 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
9356 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
9357 (syms_of_xdisp): Initialize it.
9358
9359 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9360
9361 * xfns.c (Fx_create_frame): Doc fix.
9362
9363 * coding.c: Change doc-string comments to `new style' [w/`doc:'
9364 keyword].
9365
9366 * eval.c (top_level_value, top_level_set): Remove commented and
9367 #ifdef'd-out code.
9368 (Fdefvar): Fix usage in doc-string.
9369
9370 2001-11-03 Richard M. Stallman <rms@gnu.org>
9371
9372 * xfns.c: Include unistd.h, if it exists.
9373
9374 * editfns.c: Move the include of ctype.h after unistd.h.
9375
9376 * gmalloc.c: Test BROKEN_PROTOTYPES.
9377
9378 2001-11-03 Ken Raeburn <raeburn@gnu.org>
9379
9380 * lisp.h (CHECK_STRING_CAR): New macro.
9381 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
9382 treating XCAR and XCDR as lvalues.
9383 (openp): Use CHECK_STRING_CAR.
9384 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
9385
9386 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
9387
9388 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
9389 (SIGMASKTYPE): Define.
9390
9391 * syssignal.h (sigunblock): Don't define if already defined.
9392
9393 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9394
9395 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
9396 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
9397 Fix typos in comments.
9398
9399 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
9400 and #ifdef'd-out code.
9401 Fix and reindent comments.
9402
9403 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
9404
9405 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
9406 argument `i' in macros.
9407
9408 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
9409 `i' in macros.
9410
9411 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
9412 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
9413 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
9414 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
9415 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
9416 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
9417 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
9418 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
9419 in macros.
9420
9421 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
9422 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
9423 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
9424 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
9425 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
9426 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
9427 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
9428 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
9429 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
9430 (remove unused second argument).
9431
9432 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
9433
9434 * syntax.c (describe_syntax): New wrapper.
9435 (Finternal_describe_syntax_value): Rename from describe_syntax.
9436 Don't insert space at front and \n at the end.
9437 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
9438
9439 * regex.c (re_wctype): Try to fix some warnings.
9440 (regcomp, regexec): Don't forget the __restrict.
9441
9442 2001-11-02 Richard M. Stallman <rms@gnu.org>
9443
9444 * textprop.c (Fget_char_property): Doc fix.
9445
9446 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9447
9448 * process.c (Fstart_process): Add usage to doc-string.
9449
9450 * data.c (Fsetq_default): Ditto.
9451
9452 * callint.c (Finteractive): Ditto.
9453
9454 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
9455
9456 * macros.c: Don't include keymap.h any more.
9457
9458 2001-11-01 Richard M. Stallman <rms@gnu.org>
9459
9460 * data.c (Fmake_local_variable): Doc fix.
9461
9462 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
9463 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
9464
9465 * keymap.c (Fdescribe_buffer_bindings): Print character property
9466 bindings along with or instead of the buffer local map.
9467 Make the overriding maps override what they should.
9468
9469 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9470
9471 * window.c (grow_mini_window): Fix typo in comment.
9472
9473 2001-11-01 Gerd Moellmann <gerd@gnu.org>
9474
9475 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
9476 (XTset_vertical_scroll_bar): Likewise.
9477
9478 * xfns.c (x_build_heuristic_mask): Use four_corners_best
9479 instead of IMAGE_BACKGROUND.
9480
9481 * xfns.c (four_corners_best): Reindent.
9482
9483 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
9484 Handle :box so that it is possible to specify sexprs.
9485
9486 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
9487
9488 * s/hpux11.h: New file.
9489
9490 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9491
9492 * emacs.c (USAGE1): Show command line option --no-window-system
9493 instead of --no-windows in usage.
9494 (standard_args): Rename --no-windows to --no-window-system.
9495 (bug_reporting_address): Follow Emacs coding conventions.
9496
9497 * eval.c (Fcommandp): Doc fix.
9498 Change doc-string comments to `new style' [w/`doc:' keyword].
9499
9500 * frame.c (Fframe_live_p): Doc fix.
9501
9502 * buffer.c (selective-display-ellipses): Doc fix.
9503
9504 2001-10-31 Gerd Moellmann <gerd@gnu.org>
9505
9506 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
9507
9508 * xfaces.c (realize_x_face): If C is not a single-byte character,
9509 set the face's colors_copied_bitwise_p instead of the defaulted_p
9510 members which have a different meaning.
9511 (free_face_colors): Do nothing for a face whose colors have been
9512 copied bitwise.
9513
9514 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
9515
9516 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9517
9518 * marker.c, mocklisp.c: Change doc-string comments to `new style'
9519 [w/`doc:' keyword].
9520
9521 2001-10-31 Gerd Moellmann <gerd@gnu.org>
9522
9523 * fns.c (require_unwind): Return Lisp_Object.
9524
9525 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9526
9527 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
9528 (last-input-char): Revert doc-string to be the same as the
9529 doc-string of `last-input-event'.
9530
9531 * xdisp.c: Fix typos in comments.
9532
9533 2001-10-31 Gerd Moellmann <gerd@gnu.org>
9534
9535 * window.c (grow_mini_window): Handle case that the root
9536 window is already smaller than the nominal mininum height.
9537
9538 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
9539
9540 * emacs.c (main): Don't call keys_of_macros any more.
9541
9542 * lisp.h (keys_of_macros): Remove.
9543
9544 * macros.c (keys_of_macros): Remove.
9545
9546 * xfaces.c (Fface_attribute_relative_p): Declare args.
9547
9548 2001-10-30 Jason Rumney <jasonr@gnu.org>
9549
9550 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
9551 (enum_font_cb2): Ignore fonts with vertical orientation.
9552
9553 2001-10-30 Richard M. Stallman <rms@gnu.org>
9554
9555 * keyboard.c (Finput_pending_p): Doc fix.
9556
9557 2001-10-30 Gerd Moellmann <gerd@gnu.org>
9558
9559 * xterm.c (x_after_update_window_line): Don't run the code
9560 clearing in borders for rows whose visible height is 0.
9561
9562 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
9563 resized_p flag is set. If not set, use the much less flickering
9564 method previously used.
9565
9566 * dispnew.c (change_frame_size_1): Set frame's resized_p.
9567
9568 * frame.h (struct frame) <resized_p>: New member.
9569
9570 * lread.c (to_multibyte): Ensure read_buffer is at least twice
9571 as large as the number of bytes to convert.
9572
9573 * lread.c (to_multibyte): New function.
9574 (read1): Use it.
9575
9576 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
9577
9578 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
9579
9580 2001-10-30 Gerd Moellmann <gerd@gnu.org>
9581
9582 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
9583 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
9584 if the row's fill_line_p is set and drawing the last glyph with
9585 DRAW_IMAGE_{RAISED,SUNKEN}.
9586
9587 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
9588
9589 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
9590
9591 * xmenu.c: Include coding.h and charset.h.
9592 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
9593 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
9594 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
9595 Explicitly set wv->help. Use `TRUE' rather than `True'.
9596 (menu_help_callback): Use empty_string.
9597
9598 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
9599 (Fx_popup_dialog): Explicitly init f.
9600 (w32_menu_display_help): Use empty_string.
9601
9602 2001-10-29 Richard M. Stallman <rms@gnu.org>
9603
9604 * fns.c (Frequire): Detect recursive try to require the same
9605 feature 3 or more levels deep, and get error.
9606 (require_unwind): New subroutine.
9607 (require_nesting_list): New variable.
9608 (syms_of_fns): Init and staticpro it.
9609
9610 * print.c (print_object): Clarify indication of insertion type.
9611
9612 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
9613
9614 * coding.c (syms_of_coding): Document that locale-coding-system is
9615 used for decoding input on X.
9616
9617 * window.c (Fscroll_left, Fscroll_right): Doc fix.
9618
9619 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9620
9621 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
9622 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
9623
9624 2001-10-29 Gerd Moellmann <gerd@gnu.org>
9625
9626 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
9627 use NO_CURSOR if cursor_in_non_selected_windows is false.
9628
9629 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
9630 the slant attribute if FRAME is t.
9631
9632 * xfns.c (x_set_internal_border_width): Set frame garbaged
9633 when X window doesn't exist yet.
9634
9635 * xterm.c (x_after_update_window_line): Clear internal border
9636 in different circumstances.
9637
9638 * xterm.c (XTread_socket) <KeyPress>: Don't use
9639 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
9640 <handa@etl.go.jp>.
9641
9642 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
9643
9644 * m/ibms390.h: New file. From Adam Thornton
9645 <athornton@sinenomine.net>.
9646
9647 2001-10-28 Gerd Moellmann <gerd@gnu.org>
9648
9649 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
9650
9651 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
9652 a loop counter.
9653
9654 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9655
9656 * emacs.c: Use argv[0] instead of emacs when -t was specified.
9657
9658 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
9659 keyword].
9660 Fix typos in comments.
9661
9662 * emacs.c (bug_reporting_address): New function.
9663 Use it when displaying usage message.
9664
9665 * minibuf.c (read_minibuf): Remove unused external declaration of
9666 variable `Qread_only'.
9667
9668 * keymap.c (access_keymap): Remove unused variable `charset'.
9669
9670 2001-10-28 Miles Bader <miles@gnu.org>
9671
9672 * xfaces.c (merge_face_heights): Handle TO being relative as well.
9673 Remove #ifdef'd-out code.
9674 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
9675 (syms_of_xfaces): Initialize them.
9676
9677 2001-10-27 Jason Rumney <jasonr@gnu.org>
9678
9679 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
9680 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
9681 position using the system caret.
9682
9683 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
9684 (w32_system_caret_height, w32_system_caret_x)
9685 (w32_system_caret_y): New variables for tracking system caret.
9686 (w32_initialize): Initialize them.
9687 (x_display_and_set_cursor): Make system caret follow the active cursor.
9688
9689 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
9690 New messages types.
9691
9692 * w32term.c (note_mouse_highlight): Clear old help_echo.
9693
9694 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9695
9696 * xterm.c: Fix typo in a comment.
9697
9698 * emacs.c: Fix typos in comments.
9699 Remove unnecessary spaces.
9700 Change doc-string comments to `new style' [w/`doc:' keyword].
9701 (USAGE2): Fix typos in usage string.
9702
9703 * xterm.c: Fix typo in a comment.
9704
9705 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
9706 emacs.c.
9707
9708 2001-10-27 Gerd Moellmann <gerd@gnu.org>
9709
9710 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
9711 instead of 1/2 line_height in the heuristic for skipping
9712 farther backward when target_y was not reached.
9713
9714 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
9715 Display errno only if non-zero.
9716 (sound_warning): New function.
9717 (vox_configure): Don't treat failing to set sample rate as error.
9718 (various places): Improve error messages.
9719
9720 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
9721
9722 * fileio.c (Faccess_file): Run the argument filename through
9723 Fexpand_file_name, before using it.
9724
9725 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
9726 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
9727
9728 2001-10-26 Gerd Moellmann <gerd@gnu.org>
9729
9730 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
9731
9732 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
9733 Fix clearing in the case of scroll bars on the right.
9734
9735 2001-10-26 Juanma Barranquero <lektu@terra.es>
9736
9737 * w32gui.h (XImage): Add a dummy typedef.
9738
9739 2001-10-26 Gerd Moellmann <gerd@gnu.org>
9740
9741 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
9742
9743 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
9744
9745 * frame.c (Fframe_parameter): Fix last change.
9746
9747 * fileio.c: Revert last change (which removed old commented-out
9748 version of expand-file-name). Add a comment that explains why
9749 this old version should not be removed.
9750
9751 2001-10-25 Gerd Moellmann <gerd@gnu.org>
9752
9753 * frame.c (Fframe_parameter): Fix a bug whereby some
9754 ``artificial'' frame parameters, like `minibuffer' were not
9755 obtained by calling Fframe_parameters.
9756
9757 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
9758 cursor differently.
9759
9760 * xdisp.c (move_it_vertically_backward): Compute line height
9761 differently. Add heuristic to try to be more compatible to 20.x.
9762
9763 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
9764
9765 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
9766
9767 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
9768 boolean.
9769
9770 2001-10-25 Miles Bader <miles@gnu.org>
9771
9772 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
9773 BG is a pointer to a structure, not a structure.
9774 (gif_format, png_format): Add missing commas.
9775
9776 2001-10-24 Richard M. Stallman <rms@gnu.org>
9777
9778 * xfaces.c (Fface_attributes_as_vector): New function.
9779 (syms_of_xfaces): Defsubr it.
9780
9781 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9782
9783 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
9784 variable `area'.
9785
9786 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9787
9788 * search.c (scan_newline): Remove unused variable `selective_display'.
9789
9790 2001-10-25 Miles Bader <miles@gnu.org>
9791
9792 * dispextern.h (struct image): Add `background',
9793 `background_valid', and `background_transparent' fields.
9794 (image_background, image_background_transparent): New declarations.
9795 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
9796 * xfns.c (image_background, image_background_transparent)
9797 (four_corners_best): New functions.
9798 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
9799 (gs_format): Add `:background' entry.
9800 (lookup_image): Set IMG's background color if specified.
9801 (pbm_load, xbm_load_image, png_load): Set IMG's background field
9802 when appropriate.
9803 (x_clear_image_1): Reset `background_valid' and
9804 `background_transparent_valid' fields.
9805 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
9806 calculating it here. Set IMG's background_transparent field.
9807 (enum xpm_keyword_index): Add XPM_BACKGROUND.
9808 (enum png_keyword_index): Add PNG_BACKGROUND.
9809 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
9810 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
9811 (enum gif_keyword_index): Add GIF_BACKGROUND.
9812 (enum gs_keyword_index): Add GS_BACKGROUND.
9813 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
9814 Pre-calculate image background color where necessary.
9815 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
9816 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
9817 color to use for image glyph reliefs.
9818
9819 2001-10-24 Gerd Moellmann <gerd@gnu.org>
9820
9821 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
9822 in full-width rows.
9823
9824 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
9825 Fix clearing of area not covered by scroll bar.
9826
9827 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9828
9829 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
9830 and `real_start'.
9831 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
9832 (glyph_rect): Remove unused variable `area'.
9833
9834 2001-10-24 Gerd Moellmann <gerd@gnu.org>
9835
9836 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
9837
9838 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
9839 (row_containing_pos): Take additional argument DY.
9840 Treat rows ending in middle of char differently.
9841 (display_line): Handle tabs on window systems differently.
9842
9843 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
9844 with additional argument.
9845
9846 * dispextern.h (row_containing_pos): Adjust prototype.
9847
9848 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
9849 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
9850 (try_window_id, try_window_reusing_current_matrix)
9851 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
9852 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
9853
9854 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9855
9856 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
9857 gnuemacs).
9858 (HAVE_BOXES): Fix typo in comment.
9859 (push_menu_pane): Fix typo in comment.
9860
9861 * xdisp.c: (display_prop_string_p): Remove unused local declaration
9862 of `Qwhen'.
9863 (single_display_prop_string_p): Remove unused local declarations
9864 of `Qwhen' and `Qmargin'.
9865 (string_buffer_position): Remove unused variable `around'.
9866 (store_frame_title): Remove unused variable `width'.
9867
9868 * window.c: Don't define max.
9869 (coordinates_in_window): Remove unused variable `uy'.
9870
9871 * widget.c: Don't define max.
9872
9873 * process.c: Don't define max.
9874 (create_process): Remove unused variable `buffer'.
9875
9876 2001-10-23 Gerd Moellmann <gerd@gnu.org>
9877
9878 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
9879
9880 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
9881
9882 * xfaces.c (Finternal_set_lisp_face_attribute)
9883 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
9884 frame is on a windowed display.
9885
9886 2001-10-23 Gerd Moellmann <gerd@gnu.org>
9887
9888 * dispnew.c (sync_window_with_frame_matrix_rows):
9889 Fix handling of windows which aren't full-width, fix handling
9890 of marginal areas.
9891
9892 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
9893
9894 2001-10-23 Andreas Schwab <schwab@suse.de>
9895
9896 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
9897 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
9898
9899 2001-10-23 Gerd Moellmann <gerd@gnu.org>
9900
9901 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
9902 REAL_END. Notice if cursor gets overwritten.
9903 (notice_overwritten_cursor): Take X positions as parameters.
9904 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
9905 around call to x_draw_glyphs.
9906
9907 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9908
9909 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
9910 instead of C) and usage.
9911
9912 * editfns.c (char-to-string): Fix argument names (use CHAR instead
9913 of C) and usage.
9914
9915 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
9916 `left', `max_width' and `max_height'.
9917
9918 2001-10-23 Gerd Moellmann <gerd@gnu.org>
9919
9920 * xdisp.c (display_line): For a tab continued to the next line,
9921 set row's ends_in_middle_of_char_p.
9922
9923 2001-10-22 Gerd Moellmann <gerd@gnu.org>
9924
9925 * xdisp.c (display_line): Fix computation of continuation lines
9926 width for TABs.
9927
9928 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9929
9930 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
9931 `Qlaplace'.
9932
9933 * fileio.c: Remove unused code.
9934
9935 2001-10-22 Miles Bader <miles@gnu.org>
9936
9937 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
9938 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
9939 Remove `DOC_STRINGS_IN_COMMENTS' cases.
9940
9941 2001-10-21 Jason Rumney <jasonr@gnu.org>
9942
9943 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
9944
9945 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
9946
9947 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
9948 (Finsert_string): Avoid the multi-line string literals warning.
9949
9950 2001-10-22 Miles Bader <miles@gnu.org>
9951
9952 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
9953 (Fdocumentation): Don't use it.
9954 (syms_of_doc): Don't initialize it.
9955
9956 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
9957 * print.c (Fwith_output_to_temp_buffer): Likewise.
9958 * window.c (Fsave_window_excursion): Likewise.
9959 * editfns.c (Fsave_excursion, Fsave_current_buffer)
9960 (Fsave_restriction): Likewise.
9961 * eval.c (Frun_hooks, Frun_hook_with_args)
9962 (Frun_hook_with_args_until_failure)
9963 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
9964 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
9965 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
9966 (Funwind_protect, Fcondition_case): Likewise.
9967 * coding.c (Ffind_operation_coding_system): Likewise.
9968 * keyboard.c (Ftrack_mouse): Likewise.
9969
9970 2001-10-21 Miles Bader <miles@gnu.org>
9971
9972 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
9973 (Fmake_hash_table): Add usage: string to doc string.
9974 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
9975 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
9976 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
9977 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
9978 (Fml_prefix_argument_loop): Likewise.
9979
9980 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9981
9982 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
9983
9984 * sysdep.c (init_sys_modes): Change doc-string comments to `new
9985 style' [w/`doc:' keyword].
9986
9987 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
9988 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
9989 comments to `new style' [w/`doc:' keyword].
9990
9991 2001-10-21 Jason Rumney <jasonr@gnu.org>
9992
9993 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
9994
9995 * w32term.c (remember_mouse_glyph): New function.
9996 (w32_mouse_position): Use it.
9997 (note_mouse_movement): If the mouse moved off the glyph, remember
9998 its new position.
9999
10000 * w32term.h (struct w32_output): Correct spelling of x_compatible.
10001 (w32_display_info): Add mouse_face_overlay.
10002
10003 * w32term.c (notice_overwritten_cursor): Renamed from
10004 note_overwritten_text_cursor. Rewritten to take glyph widths into
10005 account.
10006 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
10007 (fast_find_string_pos): New function.
10008 (fast_find_position): Return the correct vpos. Add parameter
10009 STOP. In the final row, stop before glyphs having STOP as object.
10010 Don't consider glyphs that are not from a buffer.
10011 (fast_find_position) [0]: Add a presumably more correct version
10012 for after 21.1.
10013 (expose_window_tree, expose_frame): Don't compute intersections here.
10014 (expose_window): Do it here instead.
10015 (expose_window_tree, expose_window, expose_line): Return 1 when
10016 overwriting mouse-face.
10017 (expose_window): If W is the window currently being updated, mark
10018 the frame garbaged.
10019 (expose_frame): If mouse-face was overwritten, redo it.
10020 (x_use_underline_position_properties): New variable.
10021 (syms_of_xterm): DEFVAR_BOOL it.
10022 (x_draw_glyph_string): Add comment to use it in future.
10023 (x_draw_glyph_string): Restore clipping after drawing box.
10024 Fix a computation of the underline position.
10025 (w32_get_glyph_string_clip_rect): Minor cleanup.
10026 (x_fill_stretch_glyph_string): Remove an assertion.
10027 (x_produce_glyphs): Don't convert multibyte characters
10028 to unibyte characters in unibyte buffers.
10029 (cursor_in_mouse_face_p): New function.
10030 (x_draw_stretch_glyph_string): Use it to choose a different GC
10031 when drawing a cursor within highlighted text. Don't draw
10032 background again if it has already been drawn.
10033 (x_draw_glyph_string_box): Don't draw a full-width
10034 box just because the glyph row's full_width_p flag is set.
10035 (x_draw_glyphs): Fix computation of rightmost x for
10036 full-width rows.
10037 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
10038 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
10039 change bottom shadow accordingly. Some cleanup.
10040 (x_update_window_end): Handle overwritten mouse face
10041 also for tool bar windows.
10042 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
10043 DRAW is DRAW_IMAGE_RAISED.
10044 (clear_mouse_face): Return 1 if text with mouse face was
10045 actually redrawn. Make the function static.
10046 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
10047 optimize away highlighting if we pass over that same overlay again.
10048 (note_mouse_highlight): Call mouse_face_overlay_overlaps
10049 to detect a case where we have to highlight a different region
10050 despite not having left the currently highlighted region.
10051 Set mouse_face_overlay in the x_display_info. Avoid changing the
10052 mouse pointer shape when show_mouse_face has already done it, or
10053 there is no need. Handle mouse-face and help-echo in strings.
10054 (glyph_rect): New function.
10055 (w32_mouse_position): Use it to raise the threshold for mouse
10056 movement event generation.
10057 (w32_initialize_display_info): Initialize the x_display_info's
10058 mouse_face_overlay.
10059 (w32_set_vertical_scroll_bar): Don't clear a zero height
10060 or width area.
10061 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
10062 a widget to zero height.
10063
10064 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
10065 Protect unibyte strings created by replacing their multibyte
10066 equivalents in menu_items.
10067 (w32_menu_show): Don't overwrite an item's name with its key
10068 description in case the description is a multibyte string.
10069 (single_submenu): Some cleanup.
10070
10071 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
10072 (postprocess_image): New function.
10073 (lookup_image): Call it for all image types except PostScript.
10074 (x_kill_gs_process): Call postprocess_image.
10075 (tiff_error_handler, tiff_warning_handler): New functions.
10076 (tiff_load): Install them as handlers.
10077 (x_kill_gs_process): Recognize if someone has cleared the image
10078 cache under us.
10079 (valid_image_p): Protect better against invalid image
10080 specifications. Previous code could signal an error.
10081 (Fx_hide_tip, Fshow_tip): Doc fix.
10082 (Fv_max_tooltip_size): New variable.
10083 (syns_of_xfns): DEFVAR_LISP it.
10084 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
10085 window buffer to *tip* right after creating the frame. Set frame's
10086 window_width. Use a maximum tooltip size specified by
10087 Vx_max_tooltip_size, if that has valid contents.
10088 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
10089 Make sure the tooltip is completely visible.
10090 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
10091 (Fx_create_frame): Adjust the frame's height for presence
10092 of the tool bar before calling x_figure_window_size.
10093 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
10094 when the window gets smaller.
10095 (x_set_foreground_color): Set frame's cursor_pixel.
10096 (x_set_foreground_color, x_set_background_color): Cleaned up.
10097 (x_set_font): Handle case of x_new_fontset returning the same name
10098 as before, although there was a change in fontsets.
10099
10100 2001-10-21 Miles Bader <miles@gnu.org>
10101
10102 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
10103 (Flogxor): Add usage: string to doc string.
10104 * charset.c (Fstring): Likewise.
10105 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
10106 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
10107
10108 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10109
10110 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
10111
10112 * alloc.c: Reindent DEFUNs with doc: keywords.
10113
10114 * abbrev.c (Finsert_abbrev_table_description): Reindent.
10115
10116 * frame.c: Change doc-string comments to `new style' [w/`doc:'
10117 keyword].
10118
10119 See ChangeLog.9 for earlier changes.
10120
10121 ;; Local Variables:
10122 ;; coding: iso-2022-7bit
10123 ;; End:
10124
10125 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
10126 Copying and distribution of this file, with or without modification,
10127 are permitted provided the copyright notice and this notice are preserved.