ChangeLog 342 KB
Newer Older
Juanma Barranquero's avatar
Juanma Barranquero committed
1 2 3 4 5
2003-05-25  Juanma Barranquero  <lektu@terra.es>

	* window.c (Fset_window_scroll_bars): Fix typo in argument name.
	(Fwindow_scroll_bars): Fix typo in docstring.

6 7 8 9 10 11 12 13 14 15 16
2003-05-24  Kim F. Storm  <storm@cua.dk>

	The following changes serve several purposes:

	1) Swap the position of fringes and display margins in windows, i.e.
	the fringes are now displayed between the margins and the text area
	(by default).

	2) Allow fringe and scroll bar parameters to be set per-buffer and
	per-window (like display margins).  Such settings are now stored
	in window configurations, preserved when frames are resized, and
Stefan Monnier's avatar
Stefan Monnier committed
17
	copied when windows are split vertically or horizontally.
18 19 20
	Several bugs related to display margins have been fixed.

	3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
Stefan Monnier's avatar
Stefan Monnier committed
21

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 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 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 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
	4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
	rather than FRAME_WIDTH	(FRAME_FONT (f)).

	5) Introduce a consistent naming of variables, members and macros
	depending on whether their value is measured in pixels or in
	canonical columns/lines.  Pixel dimensions are named *_width and
	*_height, while canonical columns/lines are named *_cols and
	*_lines.  Pixel positions are named *_x and *_y, while column/line
	positions are named *_col and *_line.

	6) Consolidate more of the X, W32, and MAC gui code by moving
	common data into struct frame, and generalize it for the non-gui
	case by using suitable defaults.

	7) Cleanup and consolidate the macros controlling frame and window
	layout into frame.h and window.h, and generalize the use of the
	various window_box_* functions (enhanced to handle the new fringe
	position and the per-window fringe and scroll bar settings).

	* frame.h (struct frame): Rename members height to text_lines,
	width to text_cols, window_height to total_lines, window_width to
	total_cols, new_height to new_text_lines, new_width to
	new_text_cols.  All uses changed.
	(struct frame): New members which consolidate common members of
	x_output, w32_output, and mac_output structures: left_pos,
	top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
	win_gravity, size_hint_flags, border_width, internal_border_width,
	line_height, fringe_cols, left_fringe_width, right_fringe_width,
	want_fullscreen.  All uses changed.
	(struct frame): New member column_width contaning the canonical
	column width, analogue to line_height.  All uses changed.
	(struct frame): Rename members scroll_bar_pixel_width to
	config_scroll_bar_width, and scroll_bar_cols to
	config_scroll_bar_cols.  All uses changed.
	(struct frame): New member scroll_bar_actual_width which
	consolidates and renames the vertical_scroll_bar_extra member of
	x_output, w32_output, and mac_output structures.  All uses changed.
	(FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
	from x/w32/macterm.h files.  All uses changed.  Also change code
	which referred to f->output_data...->pixel_height.
	(FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
	from x/w32/macterm.h files.  All uses changed. 	Also change code
	which referred to f->output_data...->pixel_width.
	(FRAME_LINES): Renamed from FRAME_HEIGHT.  All uses changed.
	Also change code which referred to f->height.
	(FRAME_COLS): Renamed from FRAME_WIDTH.  All uses changed.
	Also change code which referred to f->width.
	(FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
	to update new_text_lines and new_text_cols members directly.
	(FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
	FRAME_SCROLL_BAR_PIXEL_WIDTH.  All uses changed.
	(FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
	FRAME_SCROLL_BAR_COLS.  All uses changed.
	(FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
	Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
	FRAME_RIGHT_SCROLL_BAR_WIDTH, resp.  All uses changed.
	(FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
	(FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
	(FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
	(SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
	(FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
	(WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
	(WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
	(FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT.  Unconditionally
	return line_height member (it now has proper value also for
	non-window frames).
	(FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT.  Unconditionally
	return new column_width member (rather than the default font width).
	(FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
	(FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
	from x/w32/macterm.h files.  Unconditionally return corresponding
	member of frame structure (they now have proper values also for
	non-window frames).
	(FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
	Calculate return value from left and right widths.
	(FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
	internal_border_width member (has proper value for non-window frame).
	(FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
	(FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
	(FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
	(FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
	(FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
	consolidated from xterm.h, macterm.h, and w32term.h.
	(FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
	consolidated from xterm.h, macterm.h, and w32term.h.
	(FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
	CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
	(FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
	CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
	(FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
	consolidated from x/mac/w32term.h.
	(FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
	consolidated from x/mac/w32term.h.
	(FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
	PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
	(FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
	PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.

	* window.h (struct window): Rename members left to left_col,
	top to top_line, height to total_lines, width to total_cols,
	left_margin_width to left_margin_cols, right_margin_width to
	right_margin_cols, orig_height to orig_total_lines, orig_top to
	orig_top_line.  All uses changed.
	(struct window): New members left_fringe_width, right_fringe_width,
	fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
	(WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
	New macros primarily used to simplify other macros.
	(WINDOW_TOTAL_COLS): New macro.  Change relevant code that
	referred to XINT (w->width).
	(WINDOW_TOTAL_LINES): New macro.  Change relevant code that
	referred to XINT (w->height).
	(WINDOW_TOTAL_WIDTH): New macro.  Change relevant code that
	referred to XINT (w->width) * canon_x_unit.
	(WINDOW_TOTAL_HEIGHT): New macro.  Change relevant code that
	referred to XINT (w->height) * canon_y_unit.
	(WINDOW_LEFT_EDGE_COL): New macro.  Change relevant code that
	referred to XINT (w->left).
	(WINDOW_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_EDGE.  Change
	all uses and code that referred to XINT (w->left) + XINT (w->width).
	(WINDOW_TOP_EDGE_LINE): New macro.  Change relevant code that
	referred to XINT (w->top).
	(WINDOW_BOTTOM_EDGE_LINE): New macro.  Change relevant code that
	referred to XINT (w->top) + XINT (w->height).
	(WINDOW_LEFT_EDGE_X): New macro.  Change relevant code that
	referred to XINT (w->left) * canon_x_unit.
	(WINDOW_RIGHT_EDGE_X): New macro.  Change relevant code that
	referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
	(WINDOW_TOP_EDGE_Y): New macro.  Change relevant code that
	referred to XINT (w->top) * canon_y_unit.
	(WINDOW_BOTTOM_EDGE_Y): New macro.  Change relevant code that
	referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
	(WINDOW_LEFTMOST_P): New macro.
	(WINDOW_BOX_LEFT_EDGE_COL): Renamed from WINDOW_LEFT_MARGIN.
	All uses changed.
	(WINDOW_BOX_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_MARGIN.
	All uses changed.
	(WINDOW_BOX_LEFT_EDGE_X): Renamed from
	WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
	Do not exclude left fringe width.
	(WINDOW_BOX_RIGHT_EDGE_X): Renamed from
	WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
	Do not exclude fringe widths.
	(WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
	(WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
	Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
	FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
	FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
	(WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
	(WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
	(WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
	(WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
	(WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
	New macros.  Change code which referenced corresponding
	FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
	FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
	FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
	FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
	allow per-window scroll-bar settings.
	(WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
	(WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro.  Change code that
	referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
	(WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro.  Change code
	that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
	FRAME_SCROLL_BAR_WIDTH.
	(WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
Stefan Monnier's avatar
Stefan Monnier committed
187
	(WINDOW_SCROLL_BAR_AREA_X): New macros.
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
	(WINDOW_HEADER_LINE_HEIGHT): Renamed from
	WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
	(WINDOW_BOX_HEIGHT_NO_MODE_LINE): Renamed from
	WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
	(WINDOW_BOX_TEXT_HEIGHT): Renamed from
	WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
	(WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
	(FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
	(WINDOW_TEXT_TO_FRAME_PIXEL_X): Moved here from dispextern.h.
	(WINDOW_LEFT_MARGIN_WIDTH): Renamed from
	WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
	(WINDOW_RIGHT_MARGIN_WIDTH): Renamed from
	WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
	(window_from_coordinates): Update prototype.
	(Fset_window_buffer): Update EXFUN.
	(set_window_buffer): Update prototype.
Stefan Monnier's avatar
Stefan Monnier committed
204

205
	* dispextern.h (struct glyph_matrix): Rename members window_left_x
Stefan Monnier's avatar
Stefan Monnier committed
206
	to window_left_col, window_top_y to window_top_line.  All uses
207 208 209 210 211 212 213 214 215 216 217 218 219
	changed.
	(FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
	use FRAME_INTERNAL_BORDER_WIDTH macro instead as
	internal_border_width is now set to 0 for non-window frames.
	(WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
	(WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
	(WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
	(WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
	(WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
	(WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
	(FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
	(WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
	(WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
Stefan Monnier's avatar
Stefan Monnier committed
220
	Move to window.h and renamed [see window.h changes].
221 222
	(WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
	(WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
Stefan Monnier's avatar
Stefan Monnier committed
223 224
	(WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
	Use WINDOW_TOTAL_LINES.
225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
	(frame_update_line_height): Remove prototype.

	* buffer.h (struct buffer): Rename members measured in columns:
	left_margin_width to left_margin_cols, right_margin_width to
	right_margin_cols.  All uses changed.
	New members left_fringe_width, right_fringe_width,
	fringes_outside_margins for per-buffer fringe settings.
	New members scroll_bar_width and vertical_scroll_bar_type for
	per-buffer scroll bar settings.

	* buffer.c (init_buffer_once): Set buffer_defaults and
	buffer_local_flags for new buffer-local variables
	left_fringe_width, right_fringe_width, fringes_outside_margins,
	scroll_bar_width, and vertical_scroll_bar_type.
	(syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
	default-* variables for them.

	* dispnew.c: Make (many) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.
	(mode_line_string): No need to adjust width for mode lines, as it
	is already adjusted by the caller.
	(marginal_area_string): Handle fringes inside/outside margins.
Stefan Monnier's avatar
Stefan Monnier committed
247

248 249 250 251 252 253 254 255 256 257
	* frame.c: Make (many) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.
	(make_frame): Initialize left_fringe_width, right_fringe_width,
	fringe_cols, scroll_bar_actual_width, border_width,
	internal_border_width, column_width, line_height, x_pixels_diff,
	y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
	members with values suitable for a non-window frames.

	* gtkutil.c: Make (many) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.
Stefan Monnier's avatar
Stefan Monnier committed
258

259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293
	* indent.c: Make (few) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.

	* keyboard.c: Make (many) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.
	(make_lispy_event): Use window positions returned from
	window_from_coordinates when constructing the lisp event for
	MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
	(incorrect) values locally.
	(make_lispy_movement): Use window positions returned from
	window_from_coordinates when constructing the lisp event, rather
	than calculating (incorrect) values locally.

	* scroll.c: Make (some) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.

	* sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
	scroll-bars.

	* sysdep.c: Make (few) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.

	* term.c: Make (some) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.

	* widget.c: Make (few) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.

	* window.c: Make (many) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.
	(make_window): Initialize new members
	left_margin_cols, right_margin_cols, left_fringe_width,
	right_fringe_width, fringes_outside_margins, scroll_bar_width,
	and vertical_scroll_bar_type.
	(coordinates_in_window): Adapted to new fringe/margin positions
Stefan Monnier's avatar
Stefan Monnier committed
294
	and per-window fringes and scroll-bars.
295
	Fix bug related to incorrectly adjusting coordinates by
Stefan Monnier's avatar
Stefan Monnier committed
296
	frame's internal_border_width (the effect normally negible since
297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315
	the internal_border_width is typically 0 or 1 pixel, but very
	noticeable for an internal_border_width of e.g. 25 pixels).
	Upon successful return (other than ON_NOTHING), the coordinates
	are now always properly converted to window relative for the
	given display element.
	(window_from_coordinates): Add new parameters wx and wy to
	return the window relative x and y position in the returned
	window and part.  A null arg means, don't return the position.
	All callers changed.
	(adjust_window_margins): New function which may reduce the width
	of the display margins if a window's text area is too small after
	resizing or splitting windows.
	(size_window): Fix bug that did not account for display margin
	widths when checking the minimum width of a window; use
	adjust_window_margins.
	(set_window_buffer): Call Fset_window_fringes and
	Fset_window_scroll_bars to setup per-window elements.
	Add new arg KEEP_MARGINS_P.  Non-nil means to keep window's
	existing display margin, fringe widths, and scroll bar settings
Stefan Monnier's avatar
Stefan Monnier committed
316 317
	(e.g. after splitting a window or resizing the frame).
	All callers changed.
318 319 320 321 322
	(Fset_window_buffer): New arg KEEP_MARGINS.  All callers changed.
	(Fsplit_window): Duplicate original window's display margin,
	fringe, and scroll-bar settings; then call Fset_window_buffer with
	KEEP_MARGINS non-nil.  This fixes a bug which caused a split
	window to only preserve the display margins in one of the windows.
Juanma Barranquero's avatar
Juanma Barranquero committed
323
	When splitting horizontally, call adjust_window_margins	on both
324 325 326 327
	windows to ensure that the text area of the new windows is non too
	narrow.  This fixes a bug which could cause emacs to trap if the
	width of the split window was less than the width of the display
	margins.
Stefan Monnier's avatar
Stefan Monnier committed
328 329
	(window_box_text_cols): Renamed from window_internal_width.
	All uses changed.  Adapt to per-window fringes and scroll bars.
330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385
	Fix bug that caused vertical separator to be subtracted also on
	window frames.  Fix another bug that did not reduce the returned
	value by the columns used for display margins.
	(window_scroll_line_based): Fix bug related to scrolling too much
	when display margins are present (implicitly fixed by the fix to
	window_box_text_cols).
	(scroll_left, scroll_right): Fix bug related to scrolling too far
	by default when display margins are present (implicitly fixed by
	the fix to window_box_text_cols).
	(struct saved_window): Rename members left to left_col, top to
	top_line, width to total_cols, height to total_lines, orig_top to
	orig_top_line, orig_height to orig_total_lines.  All uses changed.
	New members left_margin_cols, right_margin_cols,
	left_fringe_width, right_fringe_width, fringes_outside_margins,
	scroll_bar_width, and vertical_scroll_bar_type for saving
	per-window display elements.
	(Fset_window_configuration): Restore display margins, fringes,
	and scroll bar settings.  This fixes a bug which caused display
	margins to be discarded when saving and restoring a window
	configuration.
	(save_window_save): Save display margins, fringes, and scroll bar
	settings.  This fixes a bug which caused display margins to be
	discarded when saving and restoring a window configuration.
	(Fset_window_margins): Do nothing if display margins are not
	really changed.  Otherwise, call adjust_window_margins to ensure
	the text area doesn't get too narrow.  This fixes a bug which
	could cause emacs to trap if setting display margins wider than
	the width of the window.
	(Fset_window_fringes): New defun to allow user to specifically set
	this window's fringe widths and position vs. display margins.
	(Fwindow_fringes): New defun to return window's actual fringe
	settings.
	(Fset_window_scroll_bars): New defun to allow user to specifically
	set this window's scroll bar width and position.
	(Fwindow_scroll_bars): New defun to return window's actual scroll
	bar settings.
	(compare_window_configurations): Also compare display margins,
	fringes, and scroll bar settings.
	(syms_of_window): Defsubr new defuns for fringe and scroll bars.

	* xdisp.c: Make (many) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.
	(window_box_width): Adapt to per-window fringes and scroll bars,
	and new fringe vs. display margin position. Note that returned
	value is no longer guaranteed to be a whole multiple of the frame
	column width, since per-window fringes may now be any width.
	(window_box_left_offset): New function like window_box_left, but
	value is relative to left border of window (rather than frame).
	(window_box_right_offset): New function like window_box_right,
	but value is relative to left border of window.
	(window_box_left): Adapt to per-window fringes and scroll bars,
	and new fringe vs. display margin position.  Simplify by using
	WINDOW_LEFT_EDGE_X and window_box_left_offset.
	(window_box): Allow null args for unnecessary return values;
	change/simplify relevant callers.
	(x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
Stefan Monnier's avatar
Stefan Monnier committed
386 387
	and new fringe vs. display margin position.
	Use window_box_left_offset and window_box_right_offset
388
	(get_glyph_string_clip_rect): Adapt to per-window fringes and
Stefan Monnier's avatar
Stefan Monnier committed
389 390
	scroll bars, and new fringe vs. display margin position.
	Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
391 392 393 394 395
	(draw_fringe_bitmap): Rework to handle per-window fringes and new
	fringe vs. display margin position.
	(hscroll_window_tree): Use window_box_width instead of window_box.
	(redisplay_window):  Adapt to per-window scroll bars.
	(draw_glyphs):  Rework to handle per-window fringes and scroll
Stefan Monnier's avatar
Stefan Monnier committed
396 397
	bars, and new fringe vs. display margin position.
	Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433
	(x_clear_end_of_line):  Adapt to per-window fringes and scroll
	bars, and new fringe vs. display margin position.  Fix bug which
	increased total width of full_width rows by width of scroll bars
	although window's total width already includes that.
	(x_fix_overlapping_area): Simplify using window_box_left_offset.
	(expose_area): Simplify using window_box_left_offset.
	(x_draw_vertical_border): Handle per-window scroll bar settings,
	mixing windows with left, right and no scroll bars.

	* xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
	where it's used in x_list_fonts (for clarity).
	(frame_update_line_height): Remove unused function; functionality
	is now done directly when setting the default font in x_set_font.

	* xfns.c: Make (many) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.

	* xmenu.c: Make (some) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.

	* xterm.h (struct x_output): Move members left_pos, top_pos,
	border_width, pixel_height, pixel_width, line_height,
	internal_border_width, vertical_scroll_bar_extra,
	left_fringe_width, right_fringe_width, fringe_cols,
	fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
	x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
	(FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
	(FRAME_DEFAULT_FONT_WIDTH): Remove macro.
	(PIXEL_WIDTH, PIXEL_HEIGHT)
	(FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
	(FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
	frame.h and renamed [see frame.h changes].
	(CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
	(CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
	(PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
	and renamed [see frame.h changes].
Stefan Monnier's avatar
Stefan Monnier committed
434

435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467
	* xterm.c: Make (several) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.
	(x_draw_glyph_string_box): Adapt to per-window fringes and
	scroll-bars.
	(scroll_run): Adapt to new fringe position.
	(glyph_rect): Use window coordinates returned from
	window_from_coordinates rather than frame_to_window_pixel_xy.
	(XTset_vertical_scroll_bar): Adapt to per-window fringes and
	scroll-bars.
	(handle_one_xevent): Simplify a USE_GTK conditional.
	(x_clip_to_row): Remove superfluous whole_line_p arg and code
	(fringes are now inside margins, i.e. always in the clipping area).
	All callers changed.
	(x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
	directly, then call compute_fringe_widths.  Don't call
	frame_update_line_height.

	* w32term.h (struct w32_output): Move members left_pos, top_pos,
	border_width, pixel_height, pixel_width, line_height,
	internal_border_width, vertical_scroll_bar_extra,
	left_fringe_width, right_fringe_width, fringe_cols,
	fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
	x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
	(FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
	(FRAME_DEFAULT_FONT_WIDTH): Remove macro.
	(PIXEL_WIDTH, PIXEL_HEIGHT)
	(FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
	(FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
	frame.h and renamed [see frame.h changes].
	(CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
	(CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
	(PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
	and renamed [see frame.h changes].
Stefan Monnier's avatar
Stefan Monnier committed
468

469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508
	* w32term.c: Make (several) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.
	(x_draw_glyph_string_box): Adapt to per-window fringes and
	scroll-bars.
	(glyph_rect): Use window coordinates returned from
	window_from_coordinates rather than frame_to_window_pixel_xy.
	(XTset_vertical_scroll_bar): Adapt to per-window fringes and
	scroll-bars.
	(w32_clip_to_row): Remove superfluous whole_line_p arg and code
	(fringes are now inside margins, i.e. always in the clipping area).
	All callers changed.
	(x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
	directly, then call compute_fringe_widths.  Don't call
	frame_update_line_height.

	* w32console.c: Make (few) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.

	* w32fns.c: Make (many) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.

	* w32menu.c: Make (few) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.

	* macterm.h (struct mac_output): Move members left_pos, top_pos,
	border_width, pixel_height, pixel_width, line_height,
	internal_border_width, vertical_scroll_bar_extra,
	left_fringe_width, right_fringe_width, fringe_cols,
	fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
	x_pixels_diff, y_pixels_diff to struct frame (frame.h).
	(FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
	(FRAME_DEFAULT_FONT_WIDTH): Remove macro.
	(PIXEL_WIDTH, PIXEL_HEIGHT)
	(FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
	(FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
	frame.h and renamed [see frame.h changes].
	(CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
	(CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
	(PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
	and renamed [see frame.h changes].
Stefan Monnier's avatar
Stefan Monnier committed
509

510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526
	* macterm.c: Make (several) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.
	(x_draw_glyph_string_box): Adapt to per-window fringes and
	scroll-bars.
	(glyph_rect): Use window coordinates returned from
	window_from_coordinates rather than frame_to_window_pixel_xy.
	(XTset_vertical_scroll_bar): Adapt to per-window fringes and
	scroll-bars.
	(x_clip_to_row): Remove superfluous whole_line_p arg and code
	(fringes are now inside margins, i.e. always in the clipping area).
	All callers changed.
	(x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
	directly, then call compute_fringe_widths.  Don't call
	frame_update_line_height.

	* macfns.c: Make (several) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.
Stefan Monnier's avatar
Stefan Monnier committed
527
	(x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
528 529 530 531 532 533 534 535 536 537 538 539 540

	* macmenu.c: Make (few) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.

	* msdos.h (struct x_output): Remove members left_pos, top_pos,
	and line_height, and use corresponding new members in struct
	frame.  All uses changed.
	(FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
	superseeded by corresponding macros in frame.h.

	* msdos.c: Make (several) trivial substitutions for renamed and
	new macros in dispextern.h, frame.h and window.h.
	(IT_note_mouse_highlight): Use updated window coordinates returned
Stefan Monnier's avatar
Stefan Monnier committed
541
	by window_from_coordinates, rather than adjusting them locally.
542 543 544
	(internal_terminal_init): No need to initialize line_height here;
	it now defaults to 1.

Stefan Monnier's avatar
Stefan Monnier committed
545 546 547 548 549
2003-05-24  Stefan Monnier  <monnier@cs.yale.edu>

	* keyboard.c (read_key_sequence): Adjust fkey and keytran when
	dropping `down' events.

Andreas Schwab's avatar
Andreas Schwab committed
550 551 552 553
2003-05-24  Andreas Schwab  <schwab@suse.de>

	* coding.c (find_safe_codings): Fix last change.

Thien-Thi Nguyen's avatar
Thien-Thi Nguyen committed
554 555 556 557
2003-05-24  Istvan Marko  <mi@imarko.dhs.org>  (tiny change)

	* xfns.c (x_window): Fix typo from 2003-05-21 change.

Stefan Monnier's avatar
Stefan Monnier committed
558 559
2003-05-23  Stefan Monnier  <monnier@cs.yale.edu>

Stefan Monnier's avatar
Stefan Monnier committed
560 561 562 563
	* xdisp.c (display_mode_element): Increase max depth.
	Simplify the error handling code.  Use a different error string
	for the case where we hit the depth limit.

Stefan Monnier's avatar
Stefan Monnier committed
564 565 566 567 568 569 570 571 572
	* lisp.h (Vfundamental_mode_abbrev_table): Don't declare.

	* buffer.c (reset_buffer_local_variables): Remove redundant setting.

2003-05-21  Stefan Monnier  <monnier@cs.yale.edu>

	* intervals.c (get_local_map): Don't get char-property of previous
	point any more: get_pos_property already does it and better.

Dave Love's avatar
Dave Love committed
573 574 575 576 577 578 579 580 581 582 583 584
2003-05-21  Dave Love  <fx@gnu.org>

	[Merged from unicode branch.]

	* xfns.c (x_window, x_window): Use use_xim.

	* xterm.c (use_xim): Initialize.
	(xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
	(x_term_init): Maybe set use_xim.

	* xterm.h (use_xim) [HAVE_X_I18N]: Declare.

585 586 587 588 589 590
2003-05-21  Jason Rumney  <jasonr@gnu.org>

	* unexw32.c (_start): Remove _fmode initialization.

	* emacs.c (main) [WINDOWSNT]: Move it here.

Dave Love's avatar
Dave Love committed
591 592 593 594
2003-05-20  Dave Love  <fx@gnu.org>

	* s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.

595 596 597 598 599 600 601 602 603
2003-05-19  Richard M. Stallman  <rms@gnu.org>

	* xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
	as value for QCfont attribute.
	(realize_default_face): lface should already exist; crash if not.
	Specify 0 for FORCE_P when calling set_lface_from_font_name.

	* frame.c (Fignore_event): Doc fix.

Kenichi Handa's avatar
Kenichi Handa committed
604 605 606 607 608
2003-05-19  Kenichi Handa  <handa@m17n.org>

	* coding.c (decode_coding_string): Handle post-read-conversion
	even if the coding doesn't require decoding.

609 610 611 612
2003-05-18  Richard M. Stallman  <rms@gnu.org>

	* callproc.c (Fcall_process_region): Doc fix.

613 614
2003-05-17  Stefan Monnier  <monnier@cs.yale.edu>

Stefan Monnier's avatar
Stefan Monnier committed
615 616
	* lread.c (Fload): Print a message if package is obsolete.

617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632
	* window.c (Fselect_window): Add optional `norecord' arg.
	(select_window_1): Fold into Fselect_window.
	(select_window_norecord): New function.
	(temp_output_buffer_show): Use it.  Preserve current buffer.

	* window.h (Fselect_window): Update declaration.

	* window.c (delete_window, Fother_window, Fset_window_configuration):
	* minibuf.c (read_minibuf):
	* macterm.c (x_new_focus_frame):
	* frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
	* callint.c (Fcall_interactively):
	* xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.

	* buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.

David Kastrup's avatar
David Kastrup committed
633 634 635 636
2003-05-17  David Kastrup  <dak@gnu.org>

	* process.c (read_process_output): Back out change from 2003-03-09.

637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652
2003-05-17  Stefan Monnier  <monnier@cs.yale.edu>

	* editfns.c (get_pos_property): Don't assume that `object' = nil.

	* textprop.c (text_property_stickiness): New arg `buffer'.

	* intervals.h (text_property_stickiness): New arg `buffer'.
	(get_pos_property): Declare.

	* intervals.c (get_local_map): Use get_pos_property, to obey
	stickiness and empty overlays.
	(create_root_interval, graft_intervals_into_buffer): Use BEG.
	(merge_properties, intervals_equal, merge_properties_sticky):
	Use XCAR, XCDR.
	(adjust_for_invis_intang): Pass new arg to text_property_stickiness.

653 654
2003-05-17  Richard M. Stallman  <rms@gnu.org>

655 656 657 658 659 660 661
	* minibuf.c (read_minibuf): If buffer is empty, record the default
	in the history.
	(Fminibuffer_complete_word): When deleting the overlap, take account
	of its real position.

	* fns.c (map_char_table): Fix previous change.

662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686
	* syntax.c (find_defun_start):
	When open_paren_in_column_0_is_defun_start,
	return beginning of buffer.

	* lisp.h (map_char_table): Declare added arg.

	* fns.c (map_char_table): New arg TABLE gets the master table.
	All calls changed.
	Process default and inheritance, resorting to Faref if necessary.

	* keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
	(Faccessible_keymaps): Pass new arg to map_char_table.

	* fontset.c (Ffontset_info): Pass new arg to map_char_table.

	* casetab.c (set_case_table): Pass new arg to map_char_table.

	* data.c (let_shadows_buffer_binding_p): Make target of p volatile.

	* lisp.h (specbinding_func): New typedef.
	(struct specbinding): Use specbinding_func, to put the `volatile'
	in the right place.

	* alloc.c (Fgarbage_collect): Cast pointers into specpdl
	to avoid GCC warning.
687

688 689
2003-05-16  Ralph Schleicher  <rs@nunatak.allgaeu.org>  (tiny change)

690
	* fileio.c (Fdelete_file): Handle symlinks pointing to directories.
691

692 693 694 695
2003-05-15  Stefan Monnier  <monnier@cs.yale.edu>

	* keyboard.c (apply_modifiers): Don't fill the other cache.

696 697
2003-05-14  Stefan Monnier  <monnier@cs.yale.edu>

Stefan Monnier's avatar
Stefan Monnier committed
698 699
	* .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.

700 701 702 703 704 705 706 707 708 709 710 711 712 713 714
	* window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
	(Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
	(Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
	(Fset_window_configuration, Fcurrent_window_configuration)
	(compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
	(Fpos_visible_in_window_p, mark_window_cursors_off)
	(window_internal_height, window_internal_width, Frecenter)
	(Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
	(replace_buffer_in_all_windows, init_window_once, init_window)
	(syms_of_window, keys_of_window): Move from lisp.h.
	* lisp.h: Move window.c declarations to window.h.

	* bytecode.c: Include window.h.
	* emacs.c: Include window.h.

715
	* keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
716 717 718 719
	(keyremap): Add `parent' field.
	(keyremap_step): Use it.  Remove `parent' argument.
	(read_key_sequence): Setup and use the new `parent' field.

Stefan Monnier's avatar
Stefan Monnier committed
720 721 722 723
2003-05-11  Stefan Monnier  <monnier@cs.yale.edu>

	* keyboard.c (adjust_point_for_property): Ensure termination.

724 725 726 727 728 729 730 731 732 733 734 735 736 737
2003-05-10  Stefan Monnier  <monnier@cs.yale.edu>

	* keyboard.c (follow_key): Remove dead variable `did_meta'.
	(access_keymap_keyremap, keyremap_step): New funs, extracted from the
	duplicated handling of function-key-map and key-translation-map
	in read_key_sequence.
	(read_key_sequence): Use them.

	* keyboard.c (adjust_point_for_property): Try harder to move point
	to the non-sticky end of an invisible property.

	* xdisp.c (single_display_prop_intangible_p): Make `space' display
	property intangible as well.

Andreas Schwab's avatar
.  
Andreas Schwab committed
738 739 740 741 742
2003-05-10  Andreas Schwab  <schwab@suse.de>

	* xmenu.c (single_menu_item): Change last parameter to void* to
	avoid warning.

743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760
2003-05-09  Richard M. Stallman  <rms@gnu.org>

	* print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
	Bind Qinhibit_modification_hooks to t so there will be no GC.
	Rename local `tem' to `save_deactivate_mark'.

	* eval.c (specpdl_ptr): Declare volatile.
	(unbind_to): Copy the whole binding and decrement specpdl_ptr
	before doing the work of unbinding it.

	* lisp.h (struct specbinding): Declare elements volatile.
	(specpdl_ptr): Declare volatile.

	* Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.

	* alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
	for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.

Dave Love's avatar
Dave Love committed
761 762 763 764
2003-05-08  Dave Love  <fx@gnu.org>

	* coding.c (Vlast_coding_system_used): Doc fix.

765 766 767 768 769
2003-05-07  Jason Rumney  <jasonr@gnu.org>

	* fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
	when system does not support them.

Stefan Monnier's avatar
Stefan Monnier committed
770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797
2003-05-05  Stefan Monnier  <monnier@cs.yale.edu>

	* fileio.c (Qwrite_region_annotate_functions): New var.
	(build_annotations): Use it to process the global part of the hook.
	(syms_of_fileio): Init and staticpro it.

	* keyboard.c (safe_run_hooks_error): Display a message instead of
	silently ignoring the error.

2003-05-03  Stefan Monnier  <monnier@cs.yale.edu>

	* keyboard.c (input_available_signal): Mark static.
	(menu_bar_items): Use map_keymap.
	(menu_bar_one_keymap): Remove.
	(menu_bar_item): Adjust arglist (for use in map_keymap).
	Properly hide a second binding when not both are keymaps.

	* xmenu.c (struct skp): New struct, to pass args through map_keymap.
	(single_keymap_panes): Use it and map_keymap.
	(single_menu_item): Use skp as well.

	* keymap.h (map_keymap_function_t): New type.
	(map_keymap): Declare.

	* keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
	(map_keymap_call, Fmap_keymap): New functions.
	(syms_of_keymap): Defsubr map-keymap.

798 799 800 801 802 803
2003-05-02  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* gtkutil.c (create_dialog, make_widget_for_menu_item)
	(make_menu_item, create_menus, xg_update_menu_item): Don't call
	..._with_mnemonic functions for menu items.

Kenichi Handa's avatar
Kenichi Handa committed
804 805 806 807 808 809 810 811
2003-05-01  Kenichi Handa  <handa@m17n.org>

	* coding.c (coding_system_accept_latin_extra_p): Delete this
	function.
	(find_safe_codings): Pay attention to
	the property tranlsation-table-for-encode of each codings.
	(syms_of_coding): Give Qtranslation_table the extra slot number 2.

Stefan Monnier's avatar
Stefan Monnier committed
812 813 814 815
2003-05-01  Stefan Monnier  <monnier@cs.yale.edu>

	* eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.

816 817 818 819 820 821 822 823 824 825 826 827 828
2003-04-30  Stefan Monnier  <monnier@cs.yale.edu>

	* eval.c (unbind_to): Don't handle symbol = Qnil any more.

	* lisp.h (CHECK): Wrap args in parenthesis.
	(specbind): Fix doc: symbol = Qnil is not supported any more.

	* bytecode.c (Fbyte_code) <unwind-protect>:
	Use Fprogn rather than 0 and Qnil.

	* keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
	`double', and `triple' modifiers as well.

829 830 831 832 833 834 835 836 837 838 839 840
2003-04-30  Richard M. Stallman  <rms@gnu.org>

	* keyboard.c (echo_char): Don't clear out a dash that follows a space.

	* alloc.c (abort_on_gc): New variable.
	(Fgarbage_collect): Abort if abort_on_gc is set.

	* lisp.h (abort_on_gc): Add decl.

	* eval.c (Fsignal): Clear abort_on_gc.

	* editfns.c (Fformat): Set abort_on_gc during first scan of format.
841
	Reinit FORMAT_START and END before second scan.
842 843 844 845 846 847 848

	* xdisp.c (move_it_vertically_backward): Do the final big else
	even if nlines is 0.

	* xdisp.c (redisplay_internal): Finish the per-frame loop
	even if redisplay is suspended by input.

849 850 851 852 853
2003-04-24  Andrew Choi  <akochoi@shaw.ca>

	* macterm.c (x_list_fonts): Return all fonts that match if
	maxnames = -1.

854 855 856 857
2003-04-25  Kenichi Handa  <handa@m17n.org>

	* syntax.c (skip_chars): Fix previous change.

858 859 860 861 862
2003-04-24  Kenichi Handa  <handa@m17n.org>

	* syntax.c (skip_chars): Make the code faster by using the common
	technique of *p, *stop, and *endp.

863 864 865
2003-04-23  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* xdisp.c (update_tool_bar): BLOCK_INPUT before calling
866
	tool_bar_items so GTK tool bar expose callback does not access items
867 868
	being updated.

869 870 871 872
2003-04-19  Stefan Monnier  <monnier@cs.yale.edu>

	* eval.c (Fapply): Undo last change and add a comment about why.

873 874 875 876 877
2003-04-18  Miles Bader  <miles@gnu.org>

	* data.c (Faset): Calculate nbytes earlier, to satisfy the now
	pickier PARSE_MULTIBYTE_SEQ.

878 879 880 881 882 883 884 885 886 887 888 889 890 891 892
2003-04-17  Stefan Monnier  <monnier@cs.yale.edu>

	* eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
	Use XCDR, XCAR, CONSP.
	(Fdefmacro): Fix docstring.  Use XCAR, XCDR.
	(Fapply): Remove unnecessary GCPRO.

	* doc.c (Fsubstitute_command_keys): Remove spurious casts.

	* charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.

	* buffer.h: Don't hardcode BEG==1.

	* abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.

893 894 895 896 897 898 899
2003-04-16  Richard M. Stallman  <rms@gnu.org>

	* xdisp.c (try_window, try_window_reusing_current_matrix):
	When at end of window, set window_end_pos to Z-ZV.

	* buffer.c (Foverlay_recenter): Doc fix.

900 901 902 903
2003-04-14  Stefan Monnier  <monnier@cs.yale.edu>

	* dispnew.c (Fsit_For): Support XEmacs-style arg list.

904 905 906 907 908
2003-04-14  Andrew Choi  <akochoi@shaw.ca>

	* macterm.c (mac_check_for_quit_char): Don't check more often than
	once a second.

909 910 911 912 913 914 915 916 917 918 919
2003-04-11  Stefan Monnier  <monnier@cs.yale.edu>

	* keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
	specially, so that they can't hide an implicit switch-frame event.
	(make_lispy_event): Handle SELECT_WINDOW_EVENT.
	(head_table): Use switch-frame as event_kind for select-window.
	(keys_of_keyboard): Don't bind [select-window] in special-event-map.

	* editfns.c (Fformat): Lisp_Object/int mixup.
	(format2): Remove unused var numargs.

Kenichi Handa's avatar
Kenichi Handa committed
920
2003-04-11  Kenichi Handa  <handa@m17n.org>
Kenichi Handa's avatar
Kenichi Handa committed
921

922
	* fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
Kenichi Handa's avatar
Kenichi Handa committed
923 924 925 926 927 928
	(Qafter_insert_file_set_coding): New variable.
	(syms_of_fileio): Initialize and staticpro it.  Delete declaration
	for after-insert-file-adjust-coding-function.
	(Finsert_file_contents): Call Qafter_insert_file_set_coding
	instead of Vafter_insert_file_adjust_coding_function.

Kenichi Handa's avatar
Kenichi Handa committed
929 930 931 932 933 934 935 936
2003-04-11  Kenichi Handa  <handa@m17n.org>

	* lisp.h (temp_echo_area_glyphs): Adjust prototype.

	* minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
	string.  Callers changed.

2003-04-10  Kenichi Handa  <handa@m17n.org>
Kenichi Handa's avatar
Kenichi Handa committed
937

938
	* fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
Kenichi Handa's avatar
Kenichi Handa committed
939
	(syms_of_fileio): Declare it as a lisp variable.
940 941
	(Finsert_file_contents):
	Call Vafter_insert_file_adjust_coding_function before calling
Kenichi Handa's avatar
Kenichi Handa committed
942 943
	decode-format.

944 945 946 947 948 949 950 951
2003-04-09  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
	get GtkAdjustment as widget now is a GtkRange.

	* gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
	GtkRange to avoid memory leak.

Kenichi Handa's avatar
Kenichi Handa committed
952
2003-04-09  Kenichi Handa  <handa@m17n.org>
Kenichi Handa's avatar
Kenichi Handa committed
953

Kenichi Handa's avatar
Kenichi Handa committed
954 955 956
	* xfaces.c (Vface_font_rescale_alist): New variable.
	(struct font_name): New member rescale_ratio.
	(font_rescale_ratio): New function.
957
	(split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
Kenichi Handa's avatar
Kenichi Handa committed
958 959 960 961
	(better_font_p): On comparing point sized, pay attention to
	recale_ratio member of fonts.
	(build_scalable_font_name): Reflect font->rescale_ratio in the
	font name.
962
	(syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
Kenichi Handa's avatar
Kenichi Handa committed
963

Kenichi Handa's avatar
Kenichi Handa committed
964 965 966
	* lread.c (read1): Before calling index, check if the 2nd
	arguemnt is in ASCII range.

967 968
2003-04-08  Richard M. Stallman  <rms@gnu.org>

969 970 971 972 973
	* fileio.c (Ffile_symlink_p): Doc fix.

	* editfns.c (Fformat): Translate positions of text properties
	in the format string to apply them to the result.

974 975 976 977
	* fileio.c (Finsert_file_contents): Doc fix.
	(syms_of_fileio) <after-insert-file-functions>: Doc fix.

2003-04-08  Ivan Zakharyaschev  <imz@altlinux.org>  (tiny change)
978

979 980
	* lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.

981
2003-04-08  Steven Tamm  <steventamm@mac.com>
982

983 984 985
	* mac.c (init_mac_osx_environment): Switch libexec and bin so
	that self-contained application finds libexec files.

Kenichi Handa's avatar
Kenichi Handa committed
986
2003-04-08  Kenichi Handa  <handa@m17n.org>
Kenichi Handa's avatar
Kenichi Handa committed
987

988 989
	* coding.c (code_convert_region_unwind):
	Set Vlast_coding_system_used to the argument.
Kenichi Handa's avatar
Kenichi Handa committed
990 991 992 993
	(code_convert_region): If post-read-conversion function changed
	the value of last-coding-sytem, keep the new value in
	coding->symbol so that it won't be overridden.
	(run_pre_post_conversion_on_str): Likewise.
Kenichi Handa's avatar
Kenichi Handa committed
994 995 996
	(coding_system_accept_latin_extra_p): New function.
	(find_safe_codings): Pay attention to characters registered in
	latin-extra-code-table.
Kenichi Handa's avatar
Kenichi Handa committed
997

998 999 1000 1001
2003-04-07  Thien-Thi Nguyen  <ttn@gnu.org>

	* Makefile.in (md5.o): Add missing dependency info.

1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014
2003-04-06  Richard M. Stallman  <rms@gnu.org>

	* xselect.c (x_handle_selection_request): Move UNGCPRO to very end.

	* marker.c (verify_bytepos): New function.

	* intervals.c (set_intervals_multibyte_1): When becoming
	multibyte, adjust right and left child sizes to a whole set of
	characters.  If an interval gets zero total-length, delete it.
	If an interval consists of just its children, delete one of them.

	* intervals.h (CHECK_TOTAL_LENGTH): New macro.
	* intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
1015

1016 1017 1018 1019
	* alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
	All calls deleted.
	(lisp_malloc): Do the work here directly.

1020 1021 1022 1023 1024 1025
2003-04-06  Gareth Jones  <emacs@referential.org.uk>  (tiny change)

	* fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
	char tables.

2003-04-04  Kenichi Handa  <handa@m17n.org>
1026 1027 1028 1029

	* editfns.c (Fformat): Use a copy of FORMAT string so that we can
	destructively change "%S" to "%s".

1030 1031 1032 1033 1034
2003-04-03  Miles Bader  <miles@gnu.org>

	* xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
	always set.

Dave Love's avatar
Dave Love committed
1035 1036 1037 1038
2003-04-01  Dave Love  <fx@gnu.org>

	* xfns.c (xpm_lookup_color): Grok "opaque".

1039 1040 1041 1042 1043 1044 1045 1046 1047
2003-03-31  Andrew Choi  <akochoi@shaw.ca>

	* frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
	parent window ID.

	* macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.

	* macterm.h (struct mac_output): Define x_pixels_diff and
	y_pixels_diff.
1048

Juanma Barranquero's avatar
Juanma Barranquero committed
1049 1050 1051 1052 1053
2003-03-31  Juanma Barranquero  <lektu@terra.es>

	* makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
	blockinput.h and files included from it.

Kim F. Storm's avatar
Kim F. Storm committed
1054 1055 1056 1057 1058
2003-03-31  Kim F. Storm  <storm@cua.dk>

	The following changes consolidates the common code related to
	frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
	files into frame.c.
Juanma Barranquero's avatar
Juanma Barranquero committed
1059

Kim F. Storm's avatar
Kim F. Storm committed
1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081
	* frame.c: Include blockinput.h.
	(Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
	(Qx_resource_name, Qface_set_after_frame_default): Define vars here.
	(Qauto_raise, Qauto_lower, ...): Define all frame parameter
	related vars here.
	(struct frame_parm_table, frame_parms): New table for describing
	frame parameters and their associated Q-variable.
	The order of the parameters corresponds to the sequence of the
	frame_parm_handlers table in redisplay_interface.
	(x_fullscreen_move, x_set_frame_parameters)
	(x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
	(x_set_screen_gamma, x_set_font, x_set_fringe_width)
	(x_set_border_width, x_set_internal_border_width, x_set_visibility)
	(x_set_autoraise, x_set_autolower, x_set_unsplittable)
	(x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
	Generic functions for processing of frame parameters.
	(validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
	(display_x_get_resource, x_get_resource_string): Functions for
	generic access to X resources.
	(x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
	(x_default_parameter, Fx_parse_geometry): Functions for generic
	access to frame parameters.
1082 1083
	(x_figure_window_size): Generic calculation of frame size.
	Fixed to add space needed for tool bar.  Also setup size_hint_flags.
Kim F. Storm's avatar
Kim F. Storm committed
1084 1085 1086
	(syms_of_frame): Intern and staticpro frame parameter variables.
	Defvar_lisp Vx_resource_class and Vx_resource_name here.
	Defsubr Sx_get_resource and Sx_parse_geometry.
Juanma Barranquero's avatar
Juanma Barranquero committed
1087

Kim F. Storm's avatar
Kim F. Storm committed
1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140
	* frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
	parameter related vars defined in frame.c.
	(EMACS_CLASS): Define here.
	(enum FULLSCREEN_*): Define here.
	(x_set_scroll_bar_default_width, x_wm_set_icon_position)
	(x_set_offset, x_new_font, x_new_fontset): Add prototypes.
	(x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
	(x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
	(x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
	(x_set_visibility, x_set_autoraise, x_set_autolower)
	(x_set_unsplittable, x_set_vertical_scroll_bars)
	(x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
	(x_figure_window_size): Add prototypes.

	* dispextern.h (frame_parm_handler): New typedef.
	(struct redisplay_interface): New member frame_parm_handlers.
	(enum resource_types): Move declaration here.
	(x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
	(x_default_parameter): Add prototypes.

	* window.c: Remove extern decl for frame parameter vars.
	(change_window_heights): New generic function;
	replaces x_change_window_heights.  All users changed.

	* window.h (change_window_heights): Add prototype.

	* xfaces.c: Remove extern decl for frame parameter vars.

	* xterm.h (EMACS_CLASS): Remove.  Use generic define.
	(struct w32_display_info): Fix type of xrdb member.
	(enum FULLSCREEN_*): Remove.
	Remove prototypes for generic functions (in frame.h).

	* xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
	parameters now defined in frame.h and frame.c.
	(Vx_resource_name): Remove. Use generic var.
	(enum x_frame_parms): Remove (bogus, unused enum).
	(check_x_display_info): Make non-static (for frame.c).
	(struct x_frame_parm_table, x_frame_parms): Remove.
	(init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
	(x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
	(x_set_border_width, x_set_internal_border_width, x_set_visibility)
	(x_change_window_heights, x_set_autoraise, x_set_autolower)
	(x_set_vertical_scroll_bars, x_set_scroll_bar_width)
	(validate_x_resource_name, Fx_get_resource, x_get_resource_string)
	(x_default_parameter, Fx_parse_geometry, x_figure_window_size):
	Remove.  Use generic functions instead.
	(enum resource_types): Remove.
	(x_set_scroll_bar_default_width): New global function (for frame.c).
	(Fx_create_frame): Depend on x_figure_window_size to add space for
	toolbar and setup size_hint_flags.
	(x_frame_parm_handlers): New table for redisplay_interface.
	(syms_of_xfns): Don't intern/staticpro removed vars.
Juanma Barranquero's avatar
Juanma Barranquero committed
1141

Kim F. Storm's avatar
Kim F. Storm committed
1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172
	* xterm.c: Remove unnecessary extern declarations.
	(x_fullscreen_adjust): Remove. Use generic instead.
	(x_redisplay_interface): Add x_frame_parm_handlers member.

	* w32gui.h (XrmDatabase): New (dummy) typedef.

	* w32term.h (EMACS_CLASS): Remove.  Use generic define.
	(struct w32_display_info): Fix type of xrdb member.
	(enum FULLSCREEN_*): Remove.
	(x_fullscreen_adjust): Remove prototype.

	* w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
	parameters now defined in frame.h and frame.c.
	(Vx_resource_name): Remove. Use generic var.
	(enum x_frame_parms): Remove (bogus, unused enum).
	(check_x_display_info): Make non-static (for frame.c).
	(struct x_frame_parm_table, x_frame_parms): Remove.
	(init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
	(x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
	(x_set_border_width, x_set_internal_border_width, x_set_visibility)
	(x_change_window_heights, x_set_autoraise, x_set_autolower)
	(x_set_vertical_scroll_bars, x_set_scroll_bar_width)
	(validate_x_resource_name, Fx_get_resource, x_get_resource_string)
	(x_default_parameter, Fx_parse_geometry, x_figure_window_size):
	Remove.  Use generic functions instead.
	(enum resource_types): Remove.
	(x_set_scroll_bar_default_width): New global function (for frame.c).
	(Fx_create_frame): Depend on x_figure_window_size to add space for
	toolbar and setup size_hint_flags.
	(w32_frame_parm_handlers): New table for redisplay_interface.
	(syms_of_w32fns): Don't intern/staticpro removed vars.
Juanma Barranquero's avatar
Juanma Barranquero committed
1173

Kim F. Storm's avatar
Kim F. Storm committed
1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202
	* w32term.c: Remove unnecessary extern declarations.
	(x_fullscreen_adjust): Remove. Use generic instead.
	(x_redisplay_interface): Add w32_frame_parm_handlers member.

	* w32reg.c (x_get_string_resource): Use XrmDatabase.

	* macgui.h (XrmDatabase): New (dummy) typedef.

	* macterm.h (EMACS_CLASS): Remove.
	(struct mac_display_info): Add xrdb member.
	(struct mac_output): Add want_fullscreen member.

	* macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
	parameters now defined in frame.h and frame.c.
	(Vx_resource_name): Remove. Use generic var.
	(check_x_display_info): Make non-static (for frame.c).
	(struct x_frame_parm_table, x_frame_parms): Remove.
	(init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
	(x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
	(x_set_border_width, x_set_internal_border_width, x_set_visibility)
	(x_change_window_heights, x_set_autoraise, x_set_autolower)
	(x_set_vertical_scroll_bars, x_set_scroll_bar_width)
	(validate_x_resource_name, Fx_get_resource, x_get_resource_string)
	(x_default_parameter, Fx_parse_geometry, x_figure_window_size):
	Remove.  Use generic functions instead.
	(enum resource_types): Remove.
	(x_set_scroll_bar_default_width): New global function (for frame.c).
	(mac_frame_parm_handlers): New table for redisplay_interface.
	(syms_of_macfns): Don't intern/staticpro removed vars.
Juanma Barranquero's avatar
Juanma Barranquero committed
1203

Kim F. Storm's avatar
Kim F. Storm committed
1204 1205 1206
	* macterm.c: Remove unnecessary extern declarations.
	(x_redisplay_interface): Add mac_frame_parm_handlers member.

Kim F. Storm's avatar
Kim F. Storm committed
1207 1208 1209
	* Makefile.in (frame.o): Add dependency on blockinput.h and files
	included from it (atimer.h and systime.h).

1210 1211 1212 1213 1214 1215 1216 1217
2003-03-30  Andreas Schwab  <schwab@suse.de>

	* xdisp.c (x_insert_glyphs): Fix swapped width and height
	parameters for shift_glyphs_for_insert.

	* macterm.c (x_redisplay_interface): Add missing entry for
	draw_vertical_window_border.

1218 1219 1220 1221 1222 1223 1224 1225
2003-03-29  Kai Gro,A_(Bjohann  <kai.grossjohann@gmx.net>

	* fileio.c (Fexpand_file_name): In the no-handler case, after
	expanding, look again for a handler and invoke it.  This is needed
	for filenames like "/foo/../user@host:/bar/../baz" -- the first
	expansion produces "/user@host:/bar/../baz" which needs to be
	expanded again for the finame result "/user@host:/baz".

1226 1227 1228 1229 1230
2003-03-28  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
	of area to be redrawn for better performance.

1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244
2003-03-28  Stefan Monnier  <monnier@cs.yale.edu>

	* xterm.c (take_vertical_position_into_account): Remove.
	(xt_action_hook): Call set_vertical_scroll_bar if needed.
	(XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
	(xm_scroll_callback, x_create_toolkit_scroll_bar)
	(x_set_toolkit_scroll_bar_thumb): Simplify.
	(x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
	(XTread_socket): Remove unused var.
	(x_make_frame_invisible): Replace goto with else.

	* xdisp.c (set_vertical_scroll_bar): New fun.
	(redisplay_window): Use it.

1245 1246 1247 1248 1249 1250 1251
2003-03-26  Richard M. Stallman  <rms@gnu.org>

	* xdisp.c (update_tool_bar): Recompute tool bar if
	update_mode_lines is set.  Set w->update_mode_line
	only if the tool bar contents actually change.
	(update_menu_bar): Undo previous change.

1252 1253
2003-03-26  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

1254 1255 1256 1257 1258 1259 1260
	* gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
	(xg_frame_set_char_size): Calculate scroll bar width before frame
	width.  Call SET_FRAME_GARBAGED and cancel_mouse_face.
	(xg_separator_p): Check for all documented separator types.
	(xg_update_scrollbar_pos): Variable gheight not needed, use height.
	(update_frame_tool_bar): Don't call gdk_window_process_all_updates.

1261 1262 1263
	* xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
	so tool bar gets updated.

1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278
2003-03-26  Stefan Monnier  <monnier@cs.yale.edu>

	* data.c (store_symval_forwarding): Re-instate part of the code
	that was deleted with too much enthusiasm.

2003-03-25  Stefan Monnier  <monnier@cs.yale.edu>

	* data.c (store_symval_forwarding): Delete special read-only
	hack for type == -1, since we now use ->constant instead.
	(Fkill_local_variable): Don't use XBUFFER if it can be nil.

	* buffer.c (overlays_in): Declare static.
	(syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
	`constant' field rather than the variable's `type' field.

1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290
2003-03-24  Andrew Choi  <akochoi@shaw.ca>

	* config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.

	* dispextern.h [HAVE_CARBON]: Include Carbon.h.

	* fns.c [MAC_OSX]: Do not redefine vector.

	* keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.

	* macgui.h: Remove definition of No_Cursor.

1291
	* macterm.h: Include Carbon.h.  Replace (struct Cursor *) by Cursor.
1292 1293 1294 1295 1296 1297

	* xdisp.c: Define No_Cursor.
	(x_write_glyphs, notice_overwritten_cursor)
	(draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
	(note_mouse_highlight): Remove Mac-specific code.
	(note_mouse_highlight): Use bcmp instead of == to compare Cursors.
1298

1299 1300 1301 1302 1303
2003-03-24  John Paul Wallington  <jpw@gnu.org>

	* xdisp.c (redisplay_window): If mini window's buffer is not
	empty, then redisplay it like other windows.

Kim F. Storm's avatar
Kim F. Storm committed
1304 1305 1306 1307
2003-03-23  Kim F. Storm  <storm@cua.dk>

	* w32term.c (w32_draw_window_cursor): Fix last change.

1308 1309
2003-03-23  Kenichi Handa  <handa@m17n.org>

Kim F. Storm's avatar
Kim F. Storm committed
1310 1311
	* alloc.c (make_string_from_bytes, make_specified_string):
	Add `const' for the arg CONTENTS.
1312 1313 1314 1315

	* lisp.h (make_string_from_bytes, make_specified_string):
	Prototypes adjusted.

1316 1317
2003-03-23  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

Kim F. Storm's avatar
Kim F. Storm committed
1318
	* xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
1319

1320 1321 1322 1323 1324 1325 1326 1327 1328 1329
	* gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
	(XG_SB_RANGE): New define.

	* gtkutil.c (xg_fixed_handle_expose): New function.
	(xg_create_frame_widgets): Call xg_fixed_handle_expose for
	expose events.
	(xg_update_scrollbar_pos): Take two more arguments, left and width
	of scroll bar including borders.
	Clear left and right part outside scroll bar separately as some
	themes have bars that are not an even number of pixels.
1330
	Don't set reallocate_redraws, don't call
1331 1332 1333 1334
	gdk_window_process_all_updates.
	(xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
	so no need to change it.  Calculate size and value with XG_SB_RANGE.

1335 1336
	* xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
	Pass left and width of scroll bar including borders to
1337 1338
	xg_update_scrollbar_pos.

1339 1340 1341 1342
2003-03-22  Thien-Thi Nguyen  <ttn@gnu.org>

	* Makefile.in: Make sure space precedes end-of-line backslashes.

Kim F. Storm's avatar
Kim F. Storm committed
1343 1344 1345 1346 1347 1348 1349 1350 1351
2003-03-22  Kim F. Storm  <storm@cua.dk>

	* xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
	Add generic versions here.  Remove system specific versions
	defined elsewhere.

	* dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
	Add prototypes.

Kim F. Storm's avatar
Kim F. Storm committed
1352 1353
	* xterm.h (STORE_NATIVE_RECT): New macro.

Kim F. Storm's avatar
Kim F. Storm committed
1354 1355
2003-03-21  Kim F. Storm  <storm@cua.dk>

Stefan Monnier's avatar
Stefan Monnier committed
1356 1357
	* xdisp.c (get_glyph_string_clip_rect):
	Use FRAME_INTERNAL_BORDER_WIDTH.
Kim F. Storm's avatar
Kim F. Storm committed
1358 1359 1360 1361

	* dispextern.h (struct redisplay_interface): Add active_p
	argument to draw_window_cursor member.  All uses changed.

Kim F. Storm's avatar
Kim F. Storm committed
1362 1363 1364 1365 1366 1367 1368
2003-03-21  Kim F. Storm  <storm@cua.dk>

	The following changes consolidate code related to writing and
	inserting glyphs, exposing frame, the tool bar, the mouse face,
	the output cursor, and help echo from xterm.c, w32term.c and
	macterm.c into xdisp.c.  It also generalizes the use of the
	window_part enum instead of using numeric values throughout.
1369

Kim F. Storm's avatar
Kim F. Storm committed
1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389
	* xdisp.c: Consolidate gui-independent code here.
	Include keymap.h.
	(Qhelp_echo): Import.
	(mouse_autoselect_window, x_stretch_cursor_p): Declare here.
	(help_echo_string, help_echo_window, help_echo_object)
	(previous_help_echo_string, help_echo_pos): Declare here.
	(output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
	(estimate_mode_line_height): Define here.  Handle windowing
	systems directly (without using estimate_mode_line_height_hook).
	(x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
	(update_window_cursor, update_cursor_in_window_tree)
	(fast_find_position, fast_find_string_pos)
	(note_mode_line_highlight, note_mode_line_or_margin_highlight)
	(expose_area, expose_line, expose_overlaps, expose_window)
	(expose_window_tree, phys_cursor_in_rect_p): New generic versions;
	declared static as they are only used locally in xdisp.c.
	(draw_glyphs): Rename from x_draw_glyphs and make static.
	(tool_bar_item_info, notice_overwritten_cursor): Make static.
	(frame_to_window_pixel_xy, get_glyph_string_clip_rect)
	(set_output_cursor, x_cursor_to, handle_tool_bar_click)
1390
	(x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
Kim F. Storm's avatar
Kim F. Storm committed
1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445
	(x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
	(display_and_set_cursor, x_update_cursor, x_clear_cursor)
	(show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
	(note_mouse_highlight, x_clear_window_mouse_face)
	(cancel_mouse_face, x_draw_vertical_border, expose_frame)
	(x_intersect_rectangles): New generic functions for use by xdisp.c
	and GUI front-ends.
	(syms_of_xdisp): Initialize and staticpro help_echo* variables.
	Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.

	* dispextern.h (Display_Info): Generic typedef for *_display_info.
	(NativeRectangle): Generic typedef for rectangle type.
	(enum window_part): Move here from window.c.
	(struct redisplay_interface): New members flush_display_optional,
	define_frame_cursor, clear_frame_area, draw_window_cursor,
	draw_vertical_window_border, shift_glyphs_for_insert.
	Rename member clear_mouse_face to clear_window_mouse_face.
	(estimate_mode_line_height_hook): Remove hook.
	(auto_raise_tool_bar_buttons_p): Don't declare extern.
	(tool_bar_item_info): Remove prototype.
	(help_echo_string, help_echo_window, help_echo_object)
	(previous_help_echo_string, help_echo_pos)
	(last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
	(x_stretch_cursor_p, output_cursor): Declare extern.
	(x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
	(x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
	(x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
	(display_and_set_cursor, set_output_cursor, x_cursor_to)
	(x_update_cursor, x_clear_cursor, x_draw_vertical_border)
	(frame_to_window_pixel_xy, get_glyph_string_clip_rect)
	(note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
	(handle_tool_bar_click, clear_mouse_face, show_mouse_face)
	(cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
	Add prototypes.
	(mode_line_string, marginal_area_string): Fix prototypes.

	* window.c (enum window_part): Move to dispextern.h.
	(coordinates_in_window): Use enum window_part member names
	instead of numbers to describe return value.
	(struct check_window_data): Change part member to window_part.
	(check_window_containing): Return window_part unaltered.
	(window_from_coordinates): Change part arg from int to enum
	window_part.  Allow part arg to be null.  All users changed.

	* window.h (window_from_coordinates): Fix prototype.

	* term.c (estimate_mode_line_height): Move to xdisp.c.

	* keyboard.c (make_lispy_event): Use enum window_part.

	* dispnew.c (mode_line_string, marginal_area_string): Use enum
	window_part instead of int in arg list.  Users changed.

	* xterm.h (No_Cursor): Declare as None for X.
	(struct mac_output): Replace member cross_cursor by hand_cursor.
1446

Kim F. Storm's avatar
Kim F. Storm committed
1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472
	* xterm.c: Remove consolidated defines and code.
	(BETWEEN): Remove unused macro.
	(x_draw_vertical_window_border, x_shift_glyphs_for_insert)
	(x_define_frame_cursor, x_clear_frame_area)
	(x_draw_window_cursor): New X-specific functions for RIF.
	(x_redisplay_interface): Add new members.

	* xfns.c: Setup and use hand_cursor instead of cross_cursor.

	* w32term.h (struct w32_output): Remove cross_cursor member.

	* w32term.c: Remove consolidated defines and code.
	(BETWEEN): Remove unused macro.
	(w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
	(w32_define_frame_cursor, w32_clear_frame_area)
	(w32_draw_window_cursor): New W32-specific functions for RIF.
	(w32_redisplay_interface): Add new members.

	* w32gui.h (No_Cursor):  Define as 0 for W32.
	(XRectangle): Add X compatible rectangle type.
	(NativeRectangle): Declare as RECT for W32.
	(CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.

	* w32fns.c: Remove setup of cross_cursor (already has hand_cursor).

	* w32console.c: Remove consolidated defines and code.
1473

Kim F. Storm's avatar
Kim F. Storm committed
1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494
	* msdos.h (Display_Info): Add generic typedef.

	* msdos.c: Remove consolidated defines and code.
	(IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.

	* macterm.h (struct mac_output): Replace member cross_cursor by
	hand_cursor.
	(activate_scroll_bars, deactivate_scroll_bars): Add prototypes.

	* macterm.c: Remove consolidated defines and code.
	(BETWEEN): Remove unused macro.
	(mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
	(mac_define_frame_cursor, mac_clear_frame_area)
	(mac_draw_window_cursor): New Mac-specific functions for RIF.
	(x_redisplay_interface): Add new members.

	* macgui.h (No_Cursor): Define as 0 for Mac.
	(XRectangle): Add X compatible rectangle type.
	(NativeRectangle): Declare as Rect for Mac.
	(CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.

Kim F. Storm's avatar
Kim F. Storm committed
1495 1496
	* macfns.c (x_set_mouse_color): Setup hand_cursor.
	(x_set_cursor_color): Use x_display_and_set_cursor.
Kim F. Storm's avatar
Kim F. Storm committed
1497

Juanma Barranquero's avatar
Juanma Barranquero committed
1498
	* Makefile.in (xdisp.o): Add dependency on blockinput.h and files
Kim F. Storm's avatar
Kim F. Storm committed
1499 1500 1501 1502
	included from it.  Add dependency on keymap.h.

	* makefile.w32-in (xdisp.o): Add dependency on keymap.h.

Kenichi Handa's avatar
Kenichi Handa committed
1503
2003-03-21  Kenichi Handa  <handa@m17n.org>
1504 1505 1506

	* fileio.c (Fexpand_file_name): Fix previous change.

Kenichi Handa's avatar
Kenichi Handa committed
1507
2003-03-19  Kenichi Handa  <handa@m17n.org>
Kenichi Handa's avatar
Kenichi Handa committed
1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519

	* fileio.c (Ffile_name_directory): Reconstruct file name by
	make_specified_string.
	(Ffile_name_nondirectory, Ffile_name_as_directory)
	(Fdirectory_file_name, Fexpand_file_name)
	(Fsubstitute_in_file_name): Likewise.
	(Fread_file_name): Compare decoded homedir with DIR and
	DEFAULT_FILENAME.

	* alloc.c (make_specified_string): If NCHARS is negative, count
	the number of characters.

1520 1521
2003-03-18  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

1522 1523 1524
	* gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
	all widgets.

1525 1526
	* gtkutil.h: Removed xg_ignore_next_thumb.

1527
2003-03-18  Kenichi Handa  <handa@m17n.org>
Kenichi Handa's avatar
Kenichi Handa committed
1528 1529 1530 1531 1532 1533

	* coding.c (Vchar_coding_system_table): Remove this variable.
	(Vcoding_system_safe_chars): New variable.
	(intersection): Remove this function.
	(find_safe_codings): Don't use Vchar_coding_system_table, but try
	all codings in SAFE_CODINGS.
Stefan Monnier's avatar
Stefan Monnier committed
1534
	(Ffind_coding_systems_region_internal): Adjust for the change of
Kenichi Handa's avatar
Kenichi Handa committed
1535 1536 1537 1538 1539 1540
	find_safe_codings.  Get generic coding systems from
	Vcoding_system_safe_chars.
	(Fdefine_coding_system_internal): New function.
	(syms_of_coding): Defsubr Sdefine_coding_system_internal.
	Initialize and staticpro Vcoding_system_safe_chars.

1541 1542
2003-03-18  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

1543 1544 1545
	* gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
	equal old values before updating.

1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567
	* xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.

	* gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.

2003-03-17  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>

	* gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
	(xg_resize_widgets): Don't call foreach(handle_fixed_child).
	(xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
	(scroll_bar_button_cb): Set bar->dragging to NIL on button release.
	(xg_create_scroll_bar): Pass bar to button event callback.
	(xg_find_top_left_in_fixed): New function.
	(xg_update_scrollbar_pos): Don't call gdk_window_clear on
	whole scroll bar area.  Get old position with
	xg_find_top_left_in_fixed, calculate and only clear needed areas.
	(xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
	dragging is in progress.  Calculate whole as for Motif.
	Remove code that saved last values.  Call gtk_range functions to
	set scroll bar sizes.

	* gtkutil.h: Removed xg_ignore_next_thumb.

1568 1569 1570 1571 1572
2003-03-17  Juanma Barranquero  <lektu@terra.es>

	* makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
	and files included from it.

Stefan Monnier's avatar
Stefan Monnier committed
1573 1574 1575 1576 1577 1578
2003-03-18  Stefan Monnier  <monnier@cs.yale.edu>

	* keymap.c (accessible_keymaps_1): Break cycles but without preventing
	multiple occurrences of the same keymap under different prefixes.
	(Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.

1579 1580 1581 1582 1583 1584 1585 1586 1587 1588
2003-03-16  Jason Rumney  <jasonr@gnu.org>

	* w32gui.h: Use HDC for Display.

	* w32term.c (w32_encode_char): Prevent double-byte chars from
	crashing Emacs.

	* w32fns.c (jpeg_load, png_load, slurp_file): Read image files
	as binary.

1589 1590 1591 1592
2003-03-16  Juanma Barranquero  <lektu@terra.es>

	* xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.

1593 1594 1595 1596 1597
2003-03-16  Kim F. Storm  <storm@cua.dk>

	The following changes consolidate some of the gui-independent
	parts of the processing and drawing of "glyph strings" from
	xterm.c, w32term.c, and macterm.c into xdisp.c.
1598

1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635
	* dispextern.h (struct glyph): Reduce face_id member from 22 to
	21 bits (this reduces number of faces from 4M to 2M).
	Replace W32 specific w32_font_type member (2 bits) by generic
	font_type member (3 bits) for portability.
	(FONT_TYPE_UNKNOWN): New define, default for font_type member.
	(enum draw_glyphs_face): Define here.
	(struct glyph_string): Define here.  Merge W32 and X versions.
	(struct redisplay_interface): New members per_char_metric,
	encode_char, compute_glyph_string_overhangs, draw_glyph_string.
	(VCENTER_BASELINE_OFFSET): Define here.
	(dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
	(x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.

	* xdisp.c: Consolidate gui-independent "glyph string" code here.
	(dump_glyph_string): Moved here.
	(init_glyph_string, append_glyph_string_lists, append_glyph_string)
	(prepend_glyph_string_lists, get_glyph_face_and_encoding)
	(fill_composite_glyph_string, fill_glyph_string)
	(fill_image_glyph_string, fill_stretch_glyph_string)
	(left_overwritten, left_overwriting, right_overwritten)
	(right_overwriting, get_char_face_and_encoding)
	(set_glyph_string_background_width, compute_overhangs_and_x)
	(append_glyph, append_composite_glyph, produce_image_glyph)
	(take_vertical_position_into_account, append_stretch_glyph)
	(produce_stretch_glyph): New generic functions (based on X version).
	Call platform specific functions through rif.
	(INIT_GLYPH_STRING): New macro, hides W32 details.
	(BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
	(BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
	(BUILD_GLYPH_STRINGS): Generic macros (based on X version).
	(x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
	(notice_overwritten_cursor):
	Generic functions exported to platform modules.  Users changed.

	* xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
	(FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
	(STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
Kim F. Storm's avatar
Kim F. Storm committed
1636
	New macros for consolidated code.
1637

1638 1639 1640 1641 1642 1643 1644 1645 1646 1647
	* xterm.c: Remove consolidated defines and code.
	(x_per_char_metric, x_encode_char)
	(x_compute_glyph_string_overhangs): Adapt to RIF requirements.
	(x_redisplay_interface): Add new members.

	* w32gui.h (Display): Add dummy typedef for consolidation.
	(XChar2b): Define alias for wchar_t for consolidation.
	(STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.

	* w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
1648
	(FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
1649 1650
	New macros for consolidation.

Kim F. Storm's avatar
Kim F. Storm committed
1651
	* w32term.c: Remove consolidated defines and code.
1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669
	(BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
	to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
	(w32_per_char_metric): Change font_type arg to int for RIF.
	(w32_encode_char): Return int according to RIF requirements.
	(w32_compute_glyph_string_overhangs): Adapt to RIF.
	(w32_get_glyph_overhangs): New function for RIF.  Uses generic
	x_get_glyph_overhangs.
	(w32_redisplay_interface): Add new members.

	* macgui.h (XChar2b): Move typedef here for consolidation.
	(STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.

	* macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
	(FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
	consolidation.

	* macterm.c: Remove consolidated defines and code.
	(mac_per_char_metric): New function for RIF.
Stefan Monnier's avatar
Stefan Monnier committed
1670
	(mac_encode_char): Adapt to new RIF requirements.
Kim F. Storm's avatar