ChangeLog 552 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
2002-02-22  Eli Zaretskii  <eliz@is.elta.co.il>

	Support for ICCCM  Extended Segments in X selections:

	* xselect.c <Qcompound_text_with_extensions>: New variable.
	(syms_of_xselect): Intern and staticpro it.
	(selection_data_to_lisp_data): Run post-read-conversion on decoded
	selection text.
	(lisp_data_to_selection_data): If next-selection-coding-system is
	compound-text-with-extensions, set the type of selection to be
	compound-text.

	* xterm.h (x_encode_text): Update prototype.

	* xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
	callers changed.  If SELECTIONP is non-zero, run the
	pre-write-conversion function before encoding the selection text.

19 20 21
2002-02-21  Kim F. Storm  <storm@cua.dk>

	* frame.c (syms_of_frame): Change mouse-highlight default to t.
22 23 24 25

	* keyboard.c (kbd_buffer_get_event) [WINDOWSNT]: Corrected
	composing of language-change event.

26 27 28 29 30 31 32 33
2002-02-20  Kim F. Storm  <storm@cua.dk>

	* keyboard.c (menu_bar_items): Don't include keymap or local-map
	bindings at PT when building menu (the menu is not updated often
	enough for this to work reliable).
	(tool_bar_items): Likewise.
	(current_active_maps): Removed unused (and buggy) function.

34 35 36 37
2002-02-20  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

	* xfns.c (gif_load): Use correct width and height for GIF images.

Eli Zaretskii's avatar
Eli Zaretskii committed
38 39 40 41 42
2002-02-19  Eli Zaretskii  <eliz@is.elta.co.il>

	* floatfns.c (Fatan): Accept an optional second arg and call
	atan2 if passed 2 args.

Jason Rumney's avatar
Jason Rumney committed
43 44 45 46
2002-02-18  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (glyph_rect): Determine the row and glyph more precisely.

Jason Rumney's avatar
Jason Rumney committed
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
2002-02-17  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (x_autoselect_window_p): New variable.
	(syms_of_w32term): DEFVAR_BOOL and initialize it.
	(note_mouse_movement): Use it.

	* w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.

	* w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.

	* w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
	New variables.
	(syms_of_w32fns): Intern and staticpro them.
	(x_frame_parms) <"fullscreen">: New parameter.
	(x_fullscreen_move, x_set_fullscreen): New functions.
	(x_set_frame_parameters): Support Qfullscreen.
	(x_real_positions): Save x/y_pixels_diff frame params. 
	(x_figure_window_size): Support full-screen frames.
	(Fx_create_frame): Default the fullscreen parameter.

	* w32term.c (x_check_fullscreen, x_check_fullscreen_move) 
	(x_fullscreen_adjust): New functions.
	(w32_read_socket) <WM_WINDOWPOSCHANGED>:  Don't	resize to
	fullscreen.  Call x_check_fullscreen_move, and set the
 	want_fullscreen member of output_data.w32
	<WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.

	* w32term.h: New enum for FULLSCREEN_* constants.
	(struct w32_output): New members want_fullscreen, x_pixels_diff,
	y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
	(x-fullscreen-adjust): New prototype.

79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
2002-02-17  Kim F. Storm  <storm@cua.dk>

	* frame.c: (Vmouse_highlight): New variable.
	(syms_of_frame): DEFVAR_LISP it.

	* frame.h: (Vmouse_highlight): Declare extern.

	* xterm.h (struct x_display_info): Add mouse_face_hidden.

	* xterm.c (disable_mouse_highlight): Removed variable.
	(note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
	(show_mouse_face): Don't show highlight if mouse_face_hidden is	set.
	(XTread_socket): Turn mouse_face_hidden off after mouse movement,
	and on after keyboard input.
	(x_term_init): Initialize mouse_face_hidden.

	* msdos.h (struct display_info): Add mouse_face_hidden.

	* msdos.c (disable_mouse_highlight): Removed variable.
	(show_mouse_face): Don't show highlight if mouse_face_hidden is	set.
	(IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
	(internal_terminal_init): Initialize mouse_face_hidden.
	(dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
	and on after keyboard input.

	* w32term.h (struct w32_display_info): Add mouse_face_hidden.

	* w32term.c (disable_mouse_highlight): Removed variable.
	(note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
	(show_mouse_face): Don't show highlight if mouse_face_hidden is	set.
	(w32_read_socket): Turn mouse_face_hidden off after mouse movement,
	and on after keyboard input.
	(w32_initialize_display_info): Initialize mouse_face_hidden.

Eli Zaretskii's avatar
Eli Zaretskii committed
113 114
2002-02-16  Eli Zaretskii  <eliz@is.elta.co.il>

115 116 117 118
	* msdos.c (last_mouse_window): New variable.
	(dos_rawgetc): Fix last change--if the mouse is in the same window
	as recorded in last_mouse_window, don't select this window.

Eli Zaretskii's avatar
Eli Zaretskii committed
119 120 121
	* Makefile.in (lisp, shortlisp): Use cus-start.elc, not
	cus-start.el.

122 123 124 125 126 127
	* msdos.c (x_autoselect_window_p): New variable.
	(syms_of_msdos): Defvar it.
	(dos_rawgetc): If x_autoselect_window_p is set, select the window
	in which the last mouse movement occured, unless it is already
	selected.

Eli Zaretskii's avatar
Eli Zaretskii committed
128 129 130 131 132 133
	* xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step): New
	variables.
	(syms_of_xdisp): DEVFAR them.
	(hscroll_window_tree): Use automatic_hscroll_margin and
	Vautomatic_hscroll_step to compute the amount of window scrolling.

Pavel Janík's avatar
Pavel Janík committed
134 135
2002-02-16  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>

Pavel Janík's avatar
Pavel Janík committed
136 137 138
	* xterm.c (x-autoselect-window): New variable.
	(note_mouse_movement): Use it.

Pavel Janík's avatar
Pavel Janík committed
139 140
	* keyboard.c: Do not include "systime.h" twice.

Andreas Schwab's avatar
Andreas Schwab committed
141 142
2002-02-15  Andreas Schwab  <schwab@suse.de>

143 144
	* puresize.h (BASE_PURESIZE): Increase to 9/5.

Andreas Schwab's avatar
Andreas Schwab committed
145 146
	* alloc.c (NSTATICS): Increase to 1280.

147 148
2002-02-15  Kai Gro,A_(Bjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

Kai Großjohann's avatar
Kai Großjohann committed
149 150
	* alloc.c (NSTATICS): Bump to 1026.

151 152 153 154 155 156 157
	* xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
	(Vx_super_keysym): New variables.
	(syms_of_xterm): DEFVAR_LISP them.
	(x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
	variables to determine which keys to use for the various
	modifiers.

Kim F. Storm's avatar
Kim F. Storm committed
158
2002-02-13  Kim F. Storm  <storm@cua.dk>
159 160 161 162 163 164 165 166 167 168

	* window.c: (Vmode_line_in_non_selected_windows): Removed.
	(mode_line_in_non_selected_windows): New variable.
	(syms_of_window): DEFVAR_BOOL it.

	* dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Use
	mode_line_in_non_selected_windows.
	(mode_line_in_non_selected_windows): Declare extern.
	(Vmode_line_in_non_selected_windows): Removed extern.

169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
2002-02-13  Richard M. Stallman  <rms@gnu.org>

	* keyboard.c (Fthis_command_keys, Fthis_command_keys_vector) 
	(Fthis_single_command_keys, Fthis_single_command_raw_keys) 
	(Fclear_this_command_keys): Doc fixes.

	* xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face) 
	(update_face_from_frame_parameter): Increment face_change_count
	and windows_or_buffers_changed to force redisplay using changed faces.

	* xdisp.c (QCpropertize): New variable.
	(mode_line_proptrans_alist): New variable.
	(display_mode_element): New arg PROPS; all calls changed.
	Implement this, for strings.
	Handle literal output of strings by sharing the
	main-line code for strings, using local var `literal'.
	Handle :propertize feature.
	(syms_of_xdisp): Initialze and staticpro QCpropertize and 
	mode_line_proptrans_alist.
	
Kim F. Storm's avatar
Kim F. Storm committed
189
2002-02-11  Kim F. Storm  <storm@cua.dk>
190 191 192 193 194 195 196 197 198 199 200

	* window.c: (Vmode_line_in_non_selected_windows): New variable.
	(syms_of_window): DEFVAR_LISP it.

	* dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
	(CURRENT_MODE_LINE_FACE_ID): Use it.
	(Vmode_line_in_non_selected_windows): Declare extern.

	* xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
	to get mode line face.

Eli Zaretskii's avatar
Eli Zaretskii committed
201 202 203 204 205
2002-02-11  Eli Zaretskii  <eliz@is.elta.co.il>

	* msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
	variables; cus-start.el doesn't need them anymore.

206 207 208 209 210 211
2002-02-09  Kim F. Storm  <storm@cua.dk>

	* insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
	reduction.  This fixes a display problem where stray newlines were
	inserted in the window (corrected by C-l).  Clarified code (IMHO).

Eli Zaretskii's avatar
Eli Zaretskii committed
212 213 214 215 216 217
2002-02-09  Eli Zaretskii  <eliz@is.elta.co.il>

	* dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.

	* xdisp.c (display_mode_lines): Fix last change.

Jason Rumney's avatar
Jason Rumney committed
218 219 220 221
2002-02-09  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
	match each other.
Jason Rumney's avatar
Jason Rumney committed
222 223
	(w32_load_system_font): Prevent Cleartype fonts from loading.
	(Fx_show_tip): Ensure tip frames are above other topmost windows.
Jason Rumney's avatar
Jason Rumney committed
224

225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240
2002-02-09  Kim F. Storm  <storm@cua.dk>

	* dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
	(CURRENT_MODE_LINE_HEIGHT): Use it.
	(enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.

	* xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
	(pos_visible_p, handle_face_prop): Likewise.
	(display_mode_lines): Likewise, but for the real selected window.
	(init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.

	* xfaces.c (Qmode_line_inactive): New face variable for mode-line
	in non-selected windows.
	(realize_basic_faces): Realize it.
	(syms_of_term): Intern and staticpro it.

Kim F. Storm's avatar
Kim F. Storm committed
241 242 243 244 245
2002-02-08  Kim F. Storm  <storm@cua.dk>

	* alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): 
	Changed mail addresses to emacs-devel@gnu.org.

Eli Zaretskii's avatar
Eli Zaretskii committed
246 247
2002-02-08  Eli Zaretskii  <eliz@is.elta.co.il>

Eli Zaretskii's avatar
Eli Zaretskii committed
248 249 250 251
	* fileio.c (Fsubstitute_in_file_name): If the file name includes
	~user, and there's no such user, don't discard everything before
	~user.

Eli Zaretskii's avatar
Eli Zaretskii committed
252 253
	* floatfns.c (Fround): Doc fix.

Eli Zaretskii's avatar
Eli Zaretskii committed
254
2002-02-08  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
255 256 257

	* sysdep.c (init_system_name): Put unused variable `p' in #if 0.

Stefan Monnier's avatar
Stefan Monnier committed
258 259
2002-02-07  Stefan Monnier  <monnier@cs.yale.edu>

260
	* lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
Stefan Monnier's avatar
Stefan Monnier committed
261

Kim F. Storm's avatar
Kim F. Storm committed
262 263 264 265 266
2002-02-07  Kim F. Storm  <storm@cua.dk>

	* keymap.c (where_is_internal): Only check whether definition is
	remapped if it fulfills is_command_symbol.

267 268 269 270 271 272
2002-02-07  Andreas Schwab  <schwab@suse.de>

	* s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.

	* alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.

Kim F. Storm's avatar
Kim F. Storm committed
273 274 275 276 277 278
2002-02-06  Kim F. Storm  <storm@cua.dk>

	* keymap.c (Fdefine_key): Allow symbol as KEY argument for
	defining command remapping.  Doc updated.
	(Flookup_key): Remap command through keymap if KEY is a symbol.
	(is_command_symbol): New function.
Stefan Monnier's avatar
Stefan Monnier committed
279 280
	(Fkey_binding): Use it.  New optional argument NO-REMAP.
	Doc updated.  Callers changed.  Perform command remapping via
Kim F. Storm's avatar
Kim F. Storm committed
281 282 283 284
	recursive call unless that arg is non-nil.
	(where_is_internal): New argument no_remap.  Callers changed.
	Call recursively to find original key bindings for a remapped
	comand unless that arg is non-nil.
Stefan Monnier's avatar
Stefan Monnier committed
285 286
	(Fwhere_is_internal): New optional argument NO-REMAP.
	Doc updated.  Callers changed.  Pass arg to where_is_internal.
Kim F. Storm's avatar
Kim F. Storm committed
287 288 289 290 291 292 293 294

	* keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
	(is_command_symbol): Added prototype.

	* keyboard.c (Vthis_original_command): New variable.
	(syms_of_keyboard): DEFVAR_LISP it.
	(command_loop_1): Set it, and perform command remapping.

Eli Zaretskii's avatar
Eli Zaretskii committed
295
2002-02-06  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
Pavel Janík's avatar
Pavel Janík committed
296 297 298 299

	* keyboard.c (recursive_edit_1): Call cancel_hourglass
	unconditionally.

Jason Rumney's avatar
Jason Rumney committed
300 301 302 303
2002-02-06  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.

Eli Zaretskii's avatar
Eli Zaretskii committed
304 305 306 307
2002-02-06  Eli Zaretskii  <eliz@is.elta.co.il>

	* charset.c (get_charset_id): Use if-else instead of ?:.

308 309 310 311
2002-02-06  Richard M. Stallman  <rms@gnu.org>

	* filelock.c (S_ISLNK): Define if not defined.

312 313 314 315 316 317 318
2002-02-03  Richard M. Stallman  <rms@gnu.org>

	* fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.

	* lread.c (read1): Redesign strategy for force_multibyte and
	force_singlebyte.  Now is_multibyte records whether read_buffer
	is multibyte.  Encountering any multibyte character makes it so.
Stefan Monnier's avatar
Stefan Monnier committed
319

320 321 322 323 324
2002-02-02  Stefan Monnier  <monnier@cs.yale.edu>

	* term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
	with the same sequence, map that sequence to f10 rather than f0.

325 326 327 328 329
2002-02-03  Andreas Schwab  <schwab@suse.de>

	* s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
	latter never being defined on GNU/Linux.

Eli Zaretskii's avatar
Eli Zaretskii committed
330 331 332 333 334 335
2002-02-02  Eli Zaretskii  <eliz@is.elta.co.il>

	* xfaces.c (realize_default_face): Don't set the weight and slant
	of the default face to Qnormal, unless these attributes are
	unspecified.

Eli Zaretskii's avatar
Eli Zaretskii committed
336
2002-02-02  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
337

338 339
	* keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
	Call cancel_hourglass unconditionally.
340 341 342 343

	* eval.c (Fsignal): Remove duplicated declaration of
	the variable `display_hourglass_p'.

344 345 346 347 348 349 350 351 352 353 354 355 356 357
2002-01-31  Richard M. Stallman  <rms@gnu.org>

	* editfns.c (region_limit): Nicer error message.

	* coding.c (decode_composition_emacs_mule):
	Give up if NCOMPONENT gets too large to index `component'.

	* callint.c (check_mark): New arg to specify clearer error message.
	Callers changed.

2002-01-27  Richard M. Stallman  <rms@gnu.org>

	* minibuf.c (Fcompleting_read): Doc fix.

Eli Zaretskii's avatar
Eli Zaretskii committed
358
2002-01-27  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
Pavel Janík's avatar
Pavel Janík committed
359 360

	* minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
361 362
	(Fread_variable, Fread_buffer, minibuffer-completion-confirm):
	Fix doc-strings.
Pavel Janík's avatar
Pavel Janík committed
363

364 365 366 367 368 369 370
2002-01-26  Richard M. Stallman  <rms@gnu.org>

	* buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.

	* xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
	and scroll_up_aggressively.

Eli Zaretskii's avatar
Eli Zaretskii committed
371
2002-01-26  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
Pavel Janík's avatar
Pavel Janík committed
372 373 374

	* keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.

375 376 377 378 379 380
2002-01-25  Stefan Monnier  <monnier@cs.yale.edu>

	* textprop.c (Fnext_property_change, Fnext_single_property_change)
	(Fprevious_property_change, Fprevious_single_property_change):
	Stay within the narrowed-buffer boundaries.

Eli Zaretskii's avatar
Eli Zaretskii committed
381 382 383 384
2002-01-25  Eli Zaretskii  <eliz@is.elta.co.il>

	* term.c (Ftty_display_color_cells): New function.
	(syms_of_term): Defsubr it.
Eli Zaretskii's avatar
Eli Zaretskii committed
385 386
	(Ftty_display_color_cells, Ftty_display_color_p): Change the
	argument name to DISPLAY.  Doc fix.
Eli Zaretskii's avatar
Eli Zaretskii committed
387 388 389 390

	* dispextern.h: Add prototype for set_tty_color_mode and
	tty_setup_colors.

391 392 393 394 395 396 397 398 399
2002-01-24  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
	If region left to draw is not what was expected, mark the frame as
	garbaged.

	* w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
	Combine the regions returned by BeginPaint and GetUpdateRect.

400 401 402 403 404 405 406 407 408 409
2002-01-23  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (x_update_window_begin): Only hide caret if
	w32_use_visible_system_caret is set.
	(x_update_window_end): Only show caret if
	w32_use_visible_system_caret is set.
	(syms_of_w32term): Handle SystemParametersInfo call failing.

	* w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.

410 411 412 413 414 415 416
2002-01-22  Richard M. Stallman  <rms@gnu.org>

	* unexelf.c (unexec): Define n so as to cause compilation error
	for the code where people have often written n instead of nn.

	* .gdbinit (hookpost-run): Defined.

417 418 419 420
2002-01-22  Jan D.  <Jan.Djarv@mbox200.swipnet.se>

	* xfns.c (x_set_frame_parameters): Typo in previous fix corrected.

421 422 423 424 425
2002-01-21  Jan D.  <Jan.Djarv@mbox200.swipnet.se>

	* xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
	if fullscreen is being set.

Eli Zaretskii's avatar
Eli Zaretskii committed
426
2002-01-21  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
Pavel Janík's avatar
Pavel Janík committed
427 428 429 430 431

	* minibuf.c (Fminibuffer_contents)
	(Fminibuffer_contents_no_properties, Fread_from_minibuffer)
	(Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.

432 433 434 435
2002-01-21  Richard M. Stallman  <rms@gnu.org>

	* window.c (check_frame_size): Fix minimum height calculation.

436 437 438 439 440 441
2002-01-20  Ken Raeburn  <raeburn@gnu.org>

	* dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
	height before comparison.
	(WINDOW_WANTS_HEADER_LINE_P): Likewise.

Jason Rumney's avatar
Jason Rumney committed
442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458
2002-01-20  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (w32_system_caret_width): Remove.
	(w32_use_visible_system_caret): New user flag.
	(syms_of_w32term): DEFVAR_BOOL it.  Initialize based on whether
	Windows reports a screen reader running.
	(x_update_window_begin): Hide the system caret.
	(x_update_window_end): Show the system caret.
	(x_display_and_set_cursor): Don't draw a cursor when
	w32_use_visible_system_caret is set.  Do not adjust width.

	* w32fns.c (w32_visible_system_caret_hwnd): New static variable.
	(w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
	<WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
	the user requests it.  Use system default width when creating.
	<WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.

459 460
	* w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
	New window messages.
Jason Rumney's avatar
Jason Rumney committed
461

462 463 464 465
2002-01-20  Richard M. Stallman  <rms@gnu.org>

	* window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.

Eli Zaretskii's avatar
Eli Zaretskii committed
466
2002-01-20  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
Pavel Janík's avatar
Pavel Janík committed
467 468 469

	* doprnt.c (doprnt1): Fix typos in error call.

470 471 472 473
2002-01-20  Eli Zaretskii  <eliz@is.elta.co.il>

	* unexelf.c (unexec) [__sgi]: Support the .got sections.

Jason Rumney's avatar
Jason Rumney committed
474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491
2002-01-20  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (w32_native_per_char_metric): Don't trust the metrics
	that Windows returns.  If a double check fails, try to guess how
	ExtTextOut is going to act.

	* w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
	in place of stricmp.
	(w32_list_synthesized_fonts): Removed.
	(w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
	(struct enumfont_t): New element; list.
	(enum_font_cb2): List all style and charset variations of a font.
	(Fw32_select_font): New optional argument; include_proportional.
	Exclude vertical fonts.  Exclude proportional fonts unless
	include_proportional is non-nil.
	(w32_enable_synthesized_fonts): Change to a boolean.
	(Fw32_send_sys_command): Doc fix.

Eli Zaretskii's avatar
Eli Zaretskii committed
492
2002-01-19  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
Pavel Janík's avatar
Pavel Janík committed
493 494 495 496

	* dispnew.c (update_frame): Move the variable `tem' to the block
	where it is used.

497 498 499 500 501
2002-01-19  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
	call to face-set-after-frame-default.

502 503
2002-01-18  Richard M. Stallman  <rms@gnu.org>

504
	* dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
505 506
	(WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.

507 508 509 510 511
2002-01-17  Richard M. Stallman  <rms@gnu.org>

	* window.c (enlarge_window): When exceeding size of parent,
	directly delete all the siblings instead of trying to resize it.

Eli Zaretskii's avatar
Eli Zaretskii committed
512
2002-01-17  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
513 514 515

	* term.c (set_tty_color_mode): Remove unused variable `tem'.

516 517
2002-01-16  Henrik Enberg  <henrik@enberg.org>

518
	* lread.c (init_lread): Move the installed-lisp dirs later in the path.
519

Kim F. Storm's avatar
Kim F. Storm committed
520 521 522 523 524 525
2002-01-16  Kim F. Storm  <storm@cua.dk>

	* xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
	is invisible.  This can happen if cursor is on top line of a
	window, and we switch to a buffer with a header line.

526
	* w32term.c (x_erase_phys_cursor): Ditto.
527

Eli Zaretskii's avatar
Eli Zaretskii committed
528
2002-01-16  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
529 530 531 532 533 534

	* xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
	`dont_resize' only when used.

	* xdisp.c: Remove forgotten extern declaration of `Qimage'.

535 536 537
2002-01-15  Eli Zaretskii  <eliz@is.elta.co.il>

	* xdisp.c (display_mode_element): When computing charpos, depend
Eli Zaretskii's avatar
Eli Zaretskii committed
538
	on multibyteness of elt, not the text in field.
539

Eli Zaretskii's avatar
Eli Zaretskii committed
540
2002-01-15  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
541 542 543 544

	* buffer.c (Fkill_all_local_variables): Increment
	`update_mode_lines' only once.

Eli Zaretskii's avatar
Eli Zaretskii committed
545
2002-01-14  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
546

Pavel Janík's avatar
Pavel Janík committed
547 548 549
	* lisp.h (adjust_after_replace_noundo)
	(Fupdate_coding_systems_internal): Add prototypes.

550
	* sound.c (Fplay_sound): Initialize header_size also for :data case.
551

Eli Zaretskii's avatar
Eli Zaretskii committed
552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572
2002-01-14  Eli Zaretskii  <eliz@is.elta.co.il>

	Support for the --color command-line argument and tty-color-mode
	frame parameter:

	* term.c (tty_default_color_capabilities, tty_setup_colors)
	(set_tty_color_mode): New functions.
	(term_init): Call tty_default_color_capabilities.
	(Qtty_color_mode_alist): New variable.
	(syms_of_term): Intern and staticpro it.

	* frame.c (store_frame_param): Call set_tty_color_mode for termcap
	frames.
	(do_switch_frame): For termcap frames, switch the tty
	color mode as specified by the frame's parameters.
	(Qtty_color_mode): New variable.
	(syms_of_frame): Intern and staticpro it.

	* emacs.c (USAGE2): Add the --color option.
	(standard_args): Ditto.

Eli Zaretskii's avatar
Eli Zaretskii committed
573 574 575 576 577 578 579 580 581 582 583 584 585
2002-01-13  Jan Djarv  <Jan.Djarv@mbox200.swipnet.se>

	* xterm.h (struct x_output): New members want_fullscreen,
	x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
	y_pixels_outer_diff.
	New enum for FULLSCREEN_* constants.
	(FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
	is NULL.
	(x_fullscreen_adjust): Add prototype.

	* emacs.c (USAGE2): Add the new full-screen arguments.
	(standard_args): Ditto.

586 587
	* xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
	New variables.
Eli Zaretskii's avatar
Eli Zaretskii committed
588 589 590 591 592 593 594 595 596 597
	(syms_of_xfns): Intern and staticpro them.
	(x_frame_parms) <"fullscreen">: New parameter.
	(x_fullscreen_move, x_set_fullscreen): New functions.
	(x_set_frame_parameters): Support for Qfullscreen.
	(x_real_positions): More accurate computation of the frame position.
	(x_figure_window_size): Support full-screen frames.
	(Fx_create_frame): Default the fullscreen parameter.

	* xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
	(XTread_socket) <Expose>: Call x_check_fullscreen.
598 599
	<ConfigureNotify>: Don't resize to fullscreen.
	Call x_check_fullscreen_move, and set the want_fullscreen member of
Eli Zaretskii's avatar
Eli Zaretskii committed
600 601
	output_data.x.

Jason Rumney's avatar
Jason Rumney committed
602 603 604 605 606 607 608 609 610 611 612 613
2002-01-13  Jason Rumney  <jasonr@gnu.org>

	* w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
	for mice with more than 3 buttons.

	* w32term.c (parse_button): New parameter xbutton.  Callers changed.
	(w32_read_socket): Handle new "XBUTTON" messages.

	* w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
	(syms_of_w32fns): DEFVAR_BOOL it.
	(w32_wnd_proc): Handle new "XBUTTON" messages.

Eli Zaretskii's avatar
Eli Zaretskii committed
614
2002-01-13  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
615

616
	* keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
617

618 619 620 621
2002-01-13  Andreas Schwab  <schwab@suse.de>

	* xterm.c (x_load_font): Never set fonts_changed_p to zero.

622 623 624 625 626
2002-01-12  Andreas Schwab  <schwab@suse.de>

	* .gdbinit (xbuffer): Remove address operator since data is now a
	pointer.

627 628 629 630 631 632
2002-01-11  Richard M. Stallman  <rms@gnu.org>

	* insdel.c (adjust_after_replace_noundo): New function.

	* coding.c (code_convert_region): Don't copy old text if undo disabled.

633 634 635 636 637
2002-01-09  Jason Rumney  <jasonr@gnu.org>

	* xdisp.c (x_consider_frame_title): Don't count the tooltip frame
	when checking for multiple frames.

638 639 640 641 642
2002-01-08  Richard M. Stallman  <rms@gnu.org>

	* window.c (delete_window): Rewrite the code for changing the
	selected window to handle the case where WINDOW is not a leaf.

643 644 645 646 647
2002-01-07  Eli Zaretskii  <eliz@is.elta.co.il>

	* process.c (send_process): Set src_multibyte to 1 after the call
	top setup_coding_system, not before the call.

648 649 650
2002-01-07  Jason Rumney  <jasonr@gnu.org>

	* xmenu.c (set_frame_menubar, xmenu_show):
651
	(xdialog_show):	Initialize wv->help to Qnil.
652 653 654 655

	* w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
	(w32_dialog_show): Initialize wv->help to Qnil.

656 657
2002-01-06  Jason Rumney  <jasonr@gnu.org>

658 659
	* xmenu.c (single_submenu): Initialize wv->help to Qnil.

660 661 662 663
	* w32menu.c (w32_menu_display_help): Revert last change.

	* xmenu.c (menu_highlight_callback): Revert last change.

664 665 666 667 668
2002-01-06  Andreas Schwab  <schwab@suse.de>

	* insdel.c (make_gap_larger): Make sure buffer size does not
	overflow range of int.

669 670
2002-01-05  Jason Rumney  <jasonr@gnu.org>

Jason Rumney's avatar
Jason Rumney committed
671 672 673
	* w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
	OVERLAPS_P.

674 675
	* w32menu.c (w32_menu_display_help): Hide any tooltip window.

676 677 678 679 680 681 682 683 684 685
	* w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
	to the left or to the right of the pointer, put it against
	the left screen edge.
	(x_frame_parms): Add missing braces around initializer.

	* w32term.c (x_setup_relief_colors): Don't compute an image's
	background color if it doesn't have a Pixmap.
	(notice_overwritten_cursor): Don't depend on
	output_cursor and updated_area.  Compare pixel coordinates with
	window's cursor pixel coordinates.
686 687
	(x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
	Call notice_overwritten_cursor with new arg list.
688 689 690 691 692 693 694
	(show_mouse_face): Fix bug setting a row's mouse_face_p flag
	unconditionally.
	(x_draw_image_relief): Use predefined macro instead of
	constant when the value of `tool_bar_button_relief' is negative.

	* w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.

695 696 697 698
2002-01-04  Richard M. Stallman  <rms@gnu.org>

	* xmenu.c (menu_highlight_callback): Hide any tooltip window.

699 700 701 702 703 704 705
2002-01-03  Richard M. Stallman  <rms@gnu.org>

	* keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
	(Fkey_binding): Try the `keymap' property map first.
	(Fdescribe_buffer_bindings): Show `keymap' property bindings before
	minor mode bindings.

Kim F. Storm's avatar
Kim F. Storm committed
706 707 708 709
2002-01-03  Kim F. Storm  <storm@cua.dk>

	* keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.

710 711
2002-01-02  Richard M. Stallman  <rms@gnu.org>

712 713 714
	* keyboard.c (read_key_sequence): Handle the keymap property
	before minor mode maps.

715 716 717
	* editfns.c (Fformat): Update thissize from field_width
	based on the actual width, in the string case.

Eli Zaretskii's avatar
Eli Zaretskii committed
718
2002-01-01  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
Pavel Janík's avatar
Pavel Janík committed
719

Pavel Janík's avatar
Pavel Janík committed
720 721 722
	* charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
	when used as truth value to prevent gcc warnings.

Pavel Janík's avatar
Pavel Janík committed
723 724 725
	* sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
	* w32proc.c: Include <config.h>.

726 727 728 729 730 731
2002-01-01  Andreas Schwab  <schwab@suse.de>

	* eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
	not EMACS_INT, to make them compatible with DEFVAR_INT.
	* lisp.h (max_specpdl_size): Adjust declaration.

732 733 734 735 736 737 738
2002-01-01  Richard M. Stallman  <rms@gnu.org>

	* print.c (print_object): Test print_escape_nonascii only for
	unibyte strings.
	(PRINTPREPARE): Once again bind Qprint_escape_nonascii
	when outputting to a multibyte buffer.

739 740 741 742 743 744 745 746 747 748
2001-12-29  Richard M. Stallman  <rms@gnu.org>

	* print.c (print_object): In multibyte string, use hex escapes.
	Use octal only for unibyte strings.
	(PRINTPREPARE): Don't ever set Qprint_escape_nonascii.

	* lread.c (read_escape): New arg BYTEREP for reporting whether
	escape forces unibyte or multibyte.
	(read1): When reading a string, take note of that info.

749 750 751 752 753
2001-12-29  Ken Raeburn  <raeburn@gnu.org>

	* abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
	comparison to test lisp value returned by Fget.

754 755
2001-12-29  Richard M. Stallman  <rms@gnu.org>

756 757
	* lisp.h (max_specpdl_size): Add declaration.

758 759
	* fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.

760 761 762
	* keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
	Handle modifier bits.  Correct typo in error message.

763 764
2001-12-28  Richard M. Stallman  <rms@gnu.org>

765 766 767 768 769 770 771 772 773 774
	* abbrev.c: Use the plist of an abbrev for multiple params if nec.
	(Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
	(Fdefine_global_abbrev, Fdefine_mode_abbrev):
	Update calls to Fdefine_abbrev.
	(write_abbrev): Update for changed data format.
	Don't list "system" abbrevs.
	(Fexpand_abbrev): Update use count with new data format.
	(describe_abbrev): Update for changed data format.
	(Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.

775 776 777 778 779 780 781
	* config.in (HAVE_MBSINIT): Add #undef.

	* strftime.c (mbsinit): Define as no-op if not available.

	* s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
	(sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.

782 783
	* keymap.c (Flookup_key): Error message if key has wrong data type.
	(Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
784
	(exclude_key): New variable.
785

786 787
2001-12-28  Gerd Moellmann  <gerd@gnu.org>

788 789
	* xterm.c (x_setup_relief_colors): Don't compute an image's
	background color if it doesn't have a Pixmap.
790

791 792 793
	* xterm.c (notice_overwritten_cursor): Don't depend on
	output_cursor and updated_area.  Compare pixel coordinates with
	window's cursor pixel coordinates.
794 795
	(x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
	Call notice_overwritten_cursor with new arg list.
796 797
	(show_mouse_face): Fix bug setting a row's mouse_face_p flag
	unconditionally.
798

799 800 801
	* xdisp.c (try_scrolling) <PT below scroll margin>: Add the
	height of the cursor line to the amount to scroll.

802 803 804 805 806
2001-12-27  Richard M. Stallman  <rms@gnu.org>

	* intervals.c (set_point_both): The position after an invisible,
	intangible character is not an acceptable stopping point.

807 808 809 810 811
2001-12-27  Ken Raeburn  <raeburn@gnu.org>

	* window.c (enlarge_window): In new preserve_before code, convert
	CURBEG from lisp object to integer before doing arithmetic.

812 813 814 815
2001-12-27  Richard M. Stallman  <rms@gnu.org>

	* bytecode.c (Fbyte_code): Undo previous change.

Kim F. Storm's avatar
Kim F. Storm committed
816 817 818 819 820 821
2001-12-26  Kim F. Storm  <storm@cua.dk>

	* keyboard.c (record_char): Ignore duplicate help-echo events only
	separated by mouse-movement.  When tracking mouse, only record
	first and last mouse-movement event in same window.
	Don't record mouse-movement events in keyboard macros.
822

823 824
2001-12-25  Richard M. Stallman  <rms@gnu.org>

825 826 827
	* window.c (enlarge_window): New arg PRESERVE_BEFORE.  Callers changed.
	(Fenlarge_window): New arg PRESERVE_BEFORE.

828 829 830
	* bytecode.c (Fbyte_code): Use Fstring_make_unibyte
	instead of Fstring_as_unibyte.

Eli Zaretskii's avatar
Eli Zaretskii committed
831
2001-12-22  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
Pavel Janík's avatar
Pavel Janík committed
832

833
	The following changes remove mocklisp support:
Pavel Janík's avatar
Pavel Janík committed
834 835 836 837 838 839 840

	* mocklisp.h, mocklisp.c: Files removed.

	* lisp.h: Remove declarations of variables `Vmocklisp_arguments',
	`Qmocklisp' and `Qmocklisp_arguments'.
	Remove prototype of syms_of_mocklisp.

841
	* makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
Pavel Janík's avatar
Pavel Janík committed
842 843 844 845 846

	* callint.c: Do not include mocklisp.h.
	(Fcall_interactively): Do not test for mocklisp case.

	* eval.c: Remove variables `Qmocklisp_arguments',
847 848 849
	`Vmocklisp_arguments' and `Qmocklisp'.  Remove prototype of ml_apply.
	(Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
	Do not test for mocklisp case.
Pavel Janík's avatar
Pavel Janík committed
850 851 852 853 854 855 856 857 858
	(Fwhile): Remove unused variable `tem'.
	(syms_of_eval): Remove variable `moclisp-arguments'.

	* data.c (wrong_type_argument): Remove mocklisp case.

	* doc.c (Fdocumentation): Remove mocklisp case.

	* emacs.c (main): Do not call syms_of_mocklisp.

859 860 861 862 863 864
2001-12-21  Richard M. Stallman  <rms@gnu.org>

	* xfns.c (compute_tip_xy): If tooltip won't fit on the screen
	to the left or to the right of the pointer, put it against
	the left screen edge.

Eli Zaretskii's avatar
Eli Zaretskii committed
865 866 867 868 869
2001-12-21  Eli Zaretskii  <eliz@is.elta.co.il>

	* Makefile.in (distclean): Remove .gdbinit if we are building
	outside the source tree.

870 871
2001-12-19  Eli Zaretskii  <eliz@is.elta.co.il>

872 873 874 875 876 877 878
	* w32.c (emacs_root_dir): New function.

	* msdos.c (emacs_root_dir): New function.

	* fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
	of the current drive as the fallback for default_directory.

Eli Zaretskii's avatar
Eli Zaretskii committed
879 880 881
	* dired.c (file_name_completion): Run the elements of
	completion-ignored-extensions through ENCODE_FILE.

882 883 884
	* lisp.h (scmp): Remove prototype, since it's now a static
	function private to dired.c.

885 886 887 888 889 890 891 892 893
2001-12-18  Richard M. Stallman  <rms@gnu.org>

	* dired.c (scmp): Function moved from minibuf.c.
	Delete multibyte handling--used only on encoded strings.

	* minibuf.c (scmp): Function moved to dired.c.

	* fns.c (merge): Add QUIT call.

894 895 896 897 898
2001-12-18  Dave Love  <fx@gnu.org>

	* Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
	language/georgian.el.

Eli Zaretskii's avatar
Eli Zaretskii committed
899 900 901 902 903
2001-12-18  Eli Zaretskii  <eliz@is.elta.co.il>

	* Makefile.in (lisp, shortlisp): Synchronize with changes to
	lisp/Makefile.in:DONTCOMPILE.

Eli Zaretskii's avatar
Eli Zaretskii committed
904
2001-12-18  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
Pavel Janík's avatar
Pavel Janík committed
905

906 907 908
	* xdisp.c (window_box_height): Do not return negative values.
	From Gerd Moellmann <gerd@gnu.org>.

Pavel Janík's avatar
Pavel Janík committed
909 910 911 912 913 914
	* keyboard.c (head_table): Add missing braces around initializer.

	* term.c (keys): Likewise.

	* xfns.c (x_frame_parms, visual_classes): Likewise.

915 916 917 918 919
2001-12-17  Sam Steingold  <sds@gnu.org>

	* coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
	patch (COMPOSING_P, not COMPOSING).

920 921
2001-12-17  Richard M. Stallman  <rms@gnu.org>

922 923
	* editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.

924 925 926 927 928 929
	* coding.c (code_convert_region): Update coding->cmp_data->char_offset
	before calling decode_coding.

	* charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.

	* coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
930 931
	instead of only for COMPOSITION_DISABLED.

932 933
2001-12-16  Richard M. Stallman  <rms@gnu.org>

934 935
	* alloc.c (pure_alloc): After overflow, allocate just a small block.

936 937
	* Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.

938 939 940 941 942 943 944 945 946 947 948 949
	* buffer.h (struct buffer): New field `display_error_modiff'.
	* buffer.c (reset_buffer): Initialize `display_error_modiff'.

	* window.c (Frecenter): Clear display_error_modiff field.

	* xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
	Call redisplay_window, but not if display_error_modiff field says no.
	(redisplay_window_error): New function.
	(displayed_buffer): New variable.
	(redisplay_internal, redisplay_windows): Call the new functions
	instead of redisplay_window directly.

950 951 952 953
2001-12-15  Richard M. Stallman  <rms@gnu.org>

	* keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.

Andrew Innes's avatar
Andrew Innes committed
954 955
2001-12-14  Andrew Innes  <andrewi@gnu.org>

Andrew Innes's avatar
Andrew Innes committed
956 957 958
	* makefile.w32-in (EMACSLOADPATH): Define.
	($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
	(bootstrap-temacs): Remove dependency on bootstrap-clean.
Andrew Innes's avatar
Andrew Innes committed
959

Eli Zaretskii's avatar
Eli Zaretskii committed
960 961
2001-12-13  Eli Zaretskii  <eliz@is.elta.co.il>

Eli Zaretskii's avatar
Eli Zaretskii committed
962
	* xfns.c (x_report_frame_params): Make the scroll-bar-width frame
Eli Zaretskii's avatar
Eli Zaretskii committed
963 964 965 966
	parameter have a numeric value all the time.

	* w32fns.c (x_report_frame_params): Likewise.

967 968 969 970 971 972 973
2001-12-12  Richard M. Stallman  <rms@gnu.org>

	* fileio.c (Fwrite_region): Doc fix.

	* xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
	(redisplay_internal): Call clear_image_cache only for window terminals.

974 975 976 977 978 979 980 981
2001-12-12  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (move_it_vertically_backward): Change heuristic
	for the case that we didn't move far enough initially.

	* window.c (Frecenter): Simplify computation in the case of window
	system frames and ARG < 0; use window_box_height.

982 983 984 985 986
2001-12-11  Richard M. Stallman  <rms@gnu.org>

	* Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
	* process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.

987 988 989 990 991
2001-12-11  Andrew Innes  <andrewi@gnu.org>

	* insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
	arg is negative.

992 993 994 995 996 997 998 999 1000
2001-12-11  Richard M. Stallman  <rms@gnu.org>

	* m/hp800.h: Split the __hpux conditional into the parts
	that are right for GNU/Linux too and the parts that are not.
	Use the former if GNU_LINUX.
	(HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.

	* s/gnu-linux.h (GNU_LINUX): Defined.

Eli Zaretskii's avatar
Eli Zaretskii committed
1001
2001-12-11  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
1002 1003 1004 1005

	* macros.c, msdos.c, w16select.c: Change doc-string comments to
	`new style' [w/`doc:' keyword].

Jason Rumney's avatar
Jason Rumney committed
1006 1007 1008 1009 1010
2001-12-10  Jason Rumney  <jasonr@gnu.org>

	* w32menu.c (w32_free_submenu_strings): Clear menu item struct
	before using.

Eli Zaretskii's avatar
Eli Zaretskii committed
1011
2001-12-09  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
1012 1013 1014 1015

	* dosfns.c: Change doc-string comments to `new style' [w/`doc:'
	keyword].

Eli Zaretskii's avatar
Eli Zaretskii committed
1016 1017
2001-12-09  Eli Zaretskii  <eliz@is.elta.co.il>

1018 1019
	* dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.

Eli Zaretskii's avatar
Eli Zaretskii committed
1020 1021
	* s/hpux10.h (srand48): Don't undefine.

Jason Rumney's avatar
Jason Rumney committed
1022 1023
2001-12-09  Jason Rumney  <jasonr@gnu.org>

1024 1025
	* w32menu.c (_widget_value): Make `help' field a Lisp_Object.
	Add	comment to explain where the struct came from.
Jason Rumney's avatar
Jason Rumney committed
1026 1027 1028 1029 1030 1031
	(single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
	(add_menu_item): Process pop-up menus first to avoid memory leak.
	(add_menu_item, w32_menu_display_help): Use `help' field as
	Lisp_Object.
	(w32_free_submenu_strings): Only free owner-drawn strings.

Eli Zaretskii's avatar
Eli Zaretskii committed
1032
2001-12-09  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
1033

Pavel Janík's avatar
Pavel Janík committed
1034 1035
	* COPYING: Moved back.

1036 1037 1038 1039 1040 1041 1042 1043 1044 1045
	* charset.c (char_to_string_1, translate_char, Fdefine_charset):
	Add parentheses around && within ||.

	* indent.c (compute_motion): Likewise.

	* intervals.c (merge_properties_sticky): Likewise.

	* coding.c (setup_coding_system, shrink_encoding_region)
	(Fdecode_sjis_char): Likewise.

1046 1047
2001-12-07  Andreas Schwab  <schwab@suse.de>

1048 1049 1050
	* xdisp.c (display_mode_element): Don't read past end of string if
	it ends with '%'.

Andreas Schwab's avatar
Andreas Schwab committed
1051 1052 1053
	* alloc.c (inhibit_garbage_collection): Don't exceed value an int
	can hold.

1054
	* data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Rename
1055 1056 1057 1058
	from most_positive_fixnum and most_negative_fixnum, resp., and
	type changed to Lisp_Object.
	(syms_of_data): DEFVAR_LISP them.

1059 1060 1061 1062 1063
2001-12-07  Richard M. Stallman  <rms@gnu.org>

	* callproc.c (init_callproc): Set Vdata_directory based on the source
	location whenever Emacs was run uninstalled.

1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078
2001-12-06  Paul Eggert  <eggert@twinsun.com>

	* config.in (HAVE_WORKING_VFORK): New #undefs.
	* process.c (create_process):
	Use HAVE_WORKING_VFORK, not HAVE_VFORK.
	* m/cnvrgnt.h (HAVE_VFORK): Remove #define.
	* m/ibm370aix.h (HAVE_VFORK): Remove #undef.
	* m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
	* m/intel386.h (HAVE_VFORK): Likewise.
	* m/mips-siemens.h (HAVE_VFORK): Likewise.
	* m/mips.h (HAVE_VFORK): Likewise.
	* s/freebsd.h (vfork): Remove #define.
	* s/lynxos.h (HAVE_VFORK): Remove #undef.
	* s/usg5-4-2.h: Fix comment about vfork.

1079 1080 1081 1082 1083
2001-12-06  Richard M. Stallman  <rms@gnu.org>

	* s/hpux10.h (random): Add undef.
	(HAVE_RANDOM): Define it just once.

Stefan Monnier's avatar
Stefan Monnier committed
1084 1085 1086 1087
2001-12-06  Stefan Monnier  <monnier@cs.yale.edu>

	* eval.c: Undo last change: the standard syntax is not wanted.

1088 1089 1090 1091 1092 1093 1094
2001-12-06  Eli Zaretskii  <eliz@is.elta.co.il>

	* xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
	scroll bars of the frame before deleting the frame itself.  If the
	frame has a widget, delete the frame with XtDestroyWidget, and do
	not call XDestroyWindow before that.

Kim F. Storm's avatar
Kim F. Storm committed
1095 1096 1097 1098 1099 1100
2001-12-06  Kim F. Storm  <storm@cua.dk>

	* xfns.c (x_report_frame_params): Return actual fringe widths.

	* w32fns.c (x_report_frame_params): Return actual fringe widths.

1101 1102 1103 1104 1105 1106 1107 1108 1109 1110
2001-12-05  Andrew Innes  <andrewi@gnu.org>

	* alloc.c (Fgarbage_collect): Shrink buffer gaps that are
	excessively large.

	* insdel.c (make_gap_larger): New function.
	(make_gap_smaller): New function.
	(make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
	make_gap_smaller if arg is negative.

Stefan Monnier's avatar
Stefan Monnier committed
1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130
2001-12-04  Stefan Monnier  <monnier@cs.yale.edu>

	* keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
	Pass a dummy argument when calling interrupt_signal.
	(parse_menu_item): Mark disabled items before checking for empty def.
	(read_char_minibuf_menu_prompt): Make safety more visible.
	(read_key_sequence): Add a `first_unbound' variable.
	Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
	unbound prefix as soon as we can detect it.

	* doc.c (Fsnarf_documentation): Add prototype.
	(get_doc_string): Handle negative arguments.
	(Fdocumentation): Use AREF and ASIZE.
	Move the calls to get_doc_string to a single place.
	Don't confuse an interactive-spec for a docstring reference.
	(Fdocumentation_property): Take advantage of the fact that
	get_doc_string now ignores the sign of the docstring position.

	* eval.c: Use standard syntax for usage in docstrings.

Eli Zaretskii's avatar
Eli Zaretskii committed
1131
2001-12-03  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
Pavel Janík's avatar
Pavel Janík committed
1132

Stefan Monnier's avatar
Stefan Monnier committed
1133
	* xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
Pavel Janík's avatar
Pavel Janík committed
1134

Eli Zaretskii's avatar
Eli Zaretskii committed
1135
2001-12-02  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
1136 1137 1138 1139

	* xterm.c (x_draw_image_relief): Use predefined macro instead of
	constant when the value of `tool_bar_button_relief' is negative.

1140 1141 1142 1143 1144 1145 1146
2001-12-02  Richard M. Stallman  <rms@gnu.org>

	* xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
	(single_submenu, xmenu_show): Set `help' field as Lisp_Object.

	* fileio.c (read_non_regular): Delete Fsignal call.

Stefan Monnier's avatar
Stefan Monnier committed
1147 1148 1149 1150
2001-12-01  Stefan Monnier  <monnier@cs.yale.edu>

	* lisp.h (run_hook_list_with_args): Undo last change.

Gerd Moellmann's avatar
Gerd Moellmann committed
1151 1152 1153 1154
2001-12-01  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_draw_fringe_bitmap): Always undo clipping.

1155 1156
2001-12-01  Jason Rumney  <jasonr@gnu.org>

1157 1158 1159 1160 1161
	* window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.

	* w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
	[!WM_MOUSELEAVE]: Define.

1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180
	* w32menu.c (current_popup_menu, get_menu_item_info):
	(set_menu_item_info): New vars.
	(set_frame_menubar): Doc fix clarifying GC interaction with menus.
	(w32_menu_show): Set current_popup_menu.
	(add_menu_item): Allocate new strings for owner-drawn menu items
	and help strings.
	Use owner-draw for disabled menu items again.
	(w32_menu_display_help): Ignore owner-drawn items and popup menus.
	(w32_free_submenu_strings, w32_free_menu_strings): New functions.

	* w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
	(w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
	<WM_EXITMENULOOP>: Free menu strings.
	<WM_MOUSELEAVE>: Stop tracking mouse.
	(x_create_tip_frame): Specify no minibuffer, modeline or fringes.

	* w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
	and mouse face.

Kim F. Storm's avatar
typo.  
Kim F. Storm committed
1181
2001-12-01  Kim F. Storm  <storm@cua.dk>
Kim F. Storm's avatar
Kim F. Storm committed
1182 1183 1184 1185

	The following changes add left-fringe and right-fringe
	frame parameters to adjust fringe widths, or remove one or
	both fringes.
Stefan Monnier's avatar
Stefan Monnier committed
1186

Kim F. Storm's avatar
Kim F. Storm committed
1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216
	* frame.h (struct frame): Remove trunc_area_pixel_width and
	trunc_area_cols fields.
	(Qleft_fringe, Qright_fringe): Declare.
	(FRAME_RIGHT_FRINGE_WIDTH): New macro.

	* frame.c (Qleft_fringe, Qright_fringe): New vars.
	(syms_of_frame): Initialize them.

	* window.c (coordinates_in_window): Handle separate left and right
	fringe widths.

	* xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
	and fringe_cols fields.
	(FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
	(FRAME_X_FRINGE_COLS): Use fringe_cols field.
	(FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
	(FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
	(FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
	(x_compute_fringe_widths): Add prototype.

	* xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
	fill fringe evenly with small dashes.
	(x_draw_fringe_bitmap): Clear background if necessary. Align and
	clip the new ZV bitmap to avoid jitter between rows.
	(x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
	background.  Don't draw fringe bitmaps if fringe width is zero.
	(x_compute_fringe_widths): New function.
	(x_new_font, x_set_window_size_1): Use it.

	* xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
Pavel Janík's avatar
Pavel Janík committed
1217
	(x_set_frame_parameters): Process `font' parameter before other
Kim F. Storm's avatar
Kim F. Storm committed
1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230
	parameters as fringe widths depend on it.
	(x_set_fringe_width): New function.
	(x_figure_window_size): Use x_compute_fringe_widths.
	(Fx_create_frame): Process `left-fringe' and `right-fringe' frame
	parameters.

	* widget.c (set_frame_size): Use x_compute_fringe_widths.
	(EmacsFrameSetCharSize): Ditto.

	* w32term.h: Merged changes from xterm.h.
	* w32term.c: Merged changes from xterm.c.
	* w32fns.c: Merged changes from xfns.c.

Eli Zaretskii's avatar
Eli Zaretskii committed
1231
2001-11-29  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
Pavel Janík's avatar
Pavel Janík committed
1232 1233 1234

	* COPYING: Removed.

Dave Love's avatar
Dave Love committed
1235 1236 1237 1238 1239 1240
2001-11-29  Dave Love  <fx@gnu.org>

	* coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
	extra extra slot.
	(detect_coding_mask): Fix call of detect_coding_iso2022.

Eli Zaretskii's avatar
Eli Zaretskii committed
1241
2001-11-29  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
Pavel Janík's avatar
Pavel Janík committed
1242 1243 1244 1245 1246

	* fileio.c (file-name-coding-system)
	(default-file-name-coding-system): Doc fix (links to referenced
	variables added).

Stefan Monnier's avatar
Stefan Monnier committed
1247 1248
2001-11-28  Stefan Monnier  <monnier@cs.yale.edu>

Stefan Monnier's avatar
Stefan Monnier committed
1249 1250 1251
	* lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
	Add dummy uses of gcproN variables.

Stefan Monnier's avatar
Stefan Monnier committed
1252
	* category.c (describe_category, describe_category_1)
1253
	(Fdescribe_categories): Remove.  (Moved to lisp/help-fns.el.)
Stefan Monnier's avatar
Stefan Monnier committed
1254 1255
	(syms_of_category): Don't defsubr Sdescribe_categories.

1256 1257 1258 1259 1260 1261 1262
2001-11-28  Richard M. Stallman  <rms@gnu.org>

	* fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.

	* Makefile.in (lispdir): New variable, referring to build dir.
	(TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).

1263 1264 1265 1266 1267
2001-11-28  Andrew Innes  <andrewi@gnu.org>

	* w32menu.c (w32_menu_display_help): Actually add the new argument
	OWNER.

1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282
2001-11-28  Jason Rumney  <jasonr@gnu.org>

	* w32menu.c (add_menu_item): Do not use owner-draw for disabled
	menu items.  From David Ponce <dponce@wanadoo.fr>.
	(w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
	conditionally.
	(w32_menu_display_help): New argument OWNER. Rewritten to store a
	help event in the owner frame's keyboard buffer.

	* w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
	(Fx_show_tip): Don't subtract last width from row width.

	* w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
	(w32_read_socket): Use EQ to compare frames.

1283 1284 1285 1286 1287
2001-11-28  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
	OVERLAPS_P.

Eli Zaretskii's avatar
Eli Zaretskii committed
1288
2001-11-28  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
1289

1290 1291 1292
	* xdisp.c (message_dolog): Remove unused variables `gcpro2',
	`gcpro3' and `gcpro4'.

Stefan Monnier's avatar
Stefan Monnier committed
1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303
	* coding.c (decode_coding_string): Remove unused variable `gcpro1'.

2001-11-28  Stefan Monnier  <monnier@cs.yale.edu>

	* ccl.c: Use AREF and ASIZE.

2001-11-27  Stefan Monnier  <monnier@cs.yale.edu>

	* lisp.h (run_hook_list_with_args): Remove.
	(LIST_END_P): Fix call to wrong_type_argument.
	(make_fixnum_or_float): Use EMACS_INT rather than int.
1304

Stefan Monnier's avatar
Stefan Monnier committed
1305 1306
2001-11-26  Stefan Monnier  <monnier@cs.yale.edu>

Stefan Monnier's avatar
Stefan Monnier committed
1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317
	* syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
	(describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.

	* eval.c: Use AREF and ASIZE.
	(Ffetch_bytecode): Add the file name to the error message.

	* fileio.c (Ffind_file_name_handler): Give precedence to handlers
	which match the end of the file-name.
	(Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
	is not a valid env var, but leave it as is instead.

Stefan Monnier's avatar
Stefan Monnier committed
1318 1319 1320 1321
	* keymap.c (access_keymap): Handle t bindings like nil bindings.
	Make nil bindings in char-tables transparent.
	(store_in_keymap): Turn a nil binding into a t binding for char-tables.

1322 1323
2001-11-26  Richard M. Stallman  <rms@gnu.org>

1324 1325 1326
	* textprop.c (set_text_properties_1): Allow START, END in either order.
	Do nothing if range is empty.

1327 1328
	* Makefile.in (mallocobj): Simplify logic using auxiliary vars.

1329 1330 1331
	* Makefile.in (mostlyclean): Delete bootstrap-emacs here.
	(clean): Not here.

Stefan Monnier's avatar
Stefan Monnier committed
1332 1333 1334 1335 1336 1337 1338 1339
2001-11-25  Stefan Monnier  <monnier@cs.yale.edu>

	* textprop.c (set_text_properties_1): Clearly mark that the
	interval should not be empty.

	* intervals.c (graft_intervals_into_buffer):
	Don't call set_text_properties_1 on an empty interval.

1340 1341
2001-11-25  Richard M. Stallman  <rms@gnu.org>

1342 1343
	* unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".

1344 1345 1346
	* callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
	don't lose the data in it.

1347 1348 1349 1350 1351 1352 1353 1354
2001-11-25  Juanma Barranquero  <lektu@terra.es>

	* abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.

	* buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.

	* print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.

Stefan Monnier's avatar
Stefan Monnier committed
1355 1356 1357 1358
2001-11-25  Stefan Monnier  <monnier@cs.yale.edu>

	* xfaces.c (merge_face_heights): Coerce back to int explicitly.

Eli Zaretskii's avatar
Eli Zaretskii committed
1359 1360 1361 1362 1363
2001-11-25  Eli Zaretskii  <eliz@is.elta.co.il>

	* window.c (Fset_window_vscroll): Doc fix.  From Kalle Olavi
	Niemitalo <kon@iki.fi>.

Jason Rumney's avatar
Jason Rumney committed
1364 1365 1366 1367 1368 1369 1370 1371
2001-11-25  Jason Rumney  <jasonr@gnu.org>

	* w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.

	* w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
	(Fx_show_tip): Block input during frame creation.
	(Fx_show_tip, Fx_hide_tip): Enable.

1372 1373 1374 1375 1376 1377 1378
2001-11-24  Richard M. Stallman  <rms@gnu.org>

	* lread.c (Fload): Detect recursive load error for more than 3
	nestings of the same file.
	(Vrecursive_load_depth_limit): Variable deleted.
	(syms_of_lread) <recursive-load-depth-limit>: Variable deleted.

Jason Rumney's avatar
Jason Rumney committed
1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399
2001-11-24  Jason Rumney  <jasonr@gnu.org>

	* xfns.c (compute_tip_xy): Initialize root_x and root_y from
	mouse position if either left or top is not specified.

	* w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
	<WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
	(my_create_tip_window, Fx_show_tip): Adjust size for external border.
	(my_create_tip_window): Assign tip_window.
	(x_create_tip_frame): Use same defaults as X.
	(compute_tip_xy): Remove unused variable.  Use full screen width.
	(Fx_show_tip): Do not double height. Call ShowWindow directly.

	* w32term.c (x_after_update_window_line): Doc fix.
	(w32_read_socket): Doc fix.  Avoid SET_FRAME_GARBAGED for tip
	frames.
	<WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.

	* xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
	for all Windowed systems.

1400 1401 1402 1403 1404
2001-11-23  Eli Zaretskii  <eliz@is.elta.co.il>

	* msdos.c (IT_clear_screen): If the frame's faces are not yet
	realized, use the initial screen colors to clear the screen.

Eli Zaretskii's avatar
Eli Zaretskii committed
1405
2001-11-23  Pavel Jan,Bm(Bk  <Pavel@Janik.cz>
1406

1407 1408 1409
	* textprop.c (Fset_text_properties): Remove unused variables
	`unchanged', `prev_changed', `s' and `len'.