ChangeLog 829 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
2010-06-04  Juanma Barranquero  <lekktu@gmail.com>

	Turn `directory-sep-char' into a noop.

	* lisp.h [WINDOWSNT] (Vdirectory_sep_char): Don't declare.
	(DIRECTORY_SEP): Define unconditionally.

	* s/ms-w32.h (DIRECTORY_SEP): Remove.

	* emacs.c (decode_env_path): Don't check DIRECTORY_SEP,
	call dostounix_filename directly.

	* fileio.c (CORRECT_DIR_SEPS): Remove.
	(Ffile_name_directory, directory_file_name, Fexpand_file_name)
	(Fsubstitute_in_file_name): Use dostounix_filename instead.
	(file_name_as_directory): Use dostounix_filename, DIRECTORY_SEP.
	(syms_of_fileio) <directory-sep-char>: Move to subr.el.

	* w32proc.c (CORRECT_DIR_SEPS): Remove.
	(Fw32_short_file_name, Fw32_long_file_name): Use dostounix_filename.

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
2010-06-03  Dan Nicolaescu  <dann@ics.uci.edu>

	Move UNEXEC definition to autoconf.
	* s/usg5-4.h (UNEXEC): Remove, move to configure.in.
	* s/sol2-10.h (UNEXEC):
	* s/irix6-5.h (UNEXEC):
	* s/hpux10-20.h (UNEXEC):
	* s/gnu-linux.h (UNEXEC):
	* s/darwin.h (UNEXEC):
	* s/cygwin.h (UNEXEC):
	* s/bsd-common.h (UNEXEC):
	* s/aix4-2.h (UNEXEC):
	* m/alpha.h (UNEXEC): Likewise.
	* Makefile.in (UNEXEC_OBJ): Define using @UNEXEC_OBJ@.

37 38 39 40 41 42 43 44 45 46
2010-06-03  Juanma Barranquero  <lekktu@gmail.com>

	Remove obsolete pre-unicode2 macros.
	* character.h (MULTIBYTE_FORM_LENGTH, PARSE_MULTIBYTE_SEQ): Remove.
	* composite.c (composition_reseat_it):
	* data.c (Faset):
	* fns.c (Ffillarray):
	* regex.c (re_search_2): Use BYTES_BY_CHAR_HEAD.
	[!emacs] (BYTES_BY_CHAR_HEAD): Define instead of MULTIBYTE_FORM_LENGTH.

47 48 49 50 51
2010-06-03  Juri Linkov  <juri@jurta.org>

	* buffer.c (Fother_buffer): Add CHECK_FRAME.
	(Fswitch_to_buffer): Remove unused variable `err'.

Glenn Morris's avatar
Glenn Morris committed
52 53
2010-06-03  Glenn Morris  <rgm@gnu.org>

54 55
	* m/template.h (NO_SOCK_SIGIO): Remove, no longer used.

Glenn Morris's avatar
Glenn Morris committed
56 57 58
	* m/hp800.h (alloca) [__NetBSD__ && __GNUC__]: No need to define it,
	now that AH_BOTTOM does it.

59 60 61
	* m/hp800.h (HAVE_ALLOCA):
	* m/ibms390x.h (HAVE_ALLOCA): Do not define, no longer needed.

Glenn Morris's avatar
Glenn Morris committed
62 63 64
	* m/ia64.h, s/gnu-linux.h, s/gnu.h, s/netbsd.h, s/usg5-4.h:
	Remove NOT_C_CODE tests, it is always true now.

65 66
2010-06-02  Dan Nicolaescu  <dann@ics.uci.edu>

Dan Nicolaescu's avatar
Dan Nicolaescu committed
67 68 69 70 71 72 73 74 75 76 77
	Fix config.h includes.
	* xsettings.c:
	* xgselect.c:
	* nsterm.m:
	* nsselect.m:
	* nsimage.m:
	* nsfont.m:
	* nsfns.m:
	* dbusbind.c: Use #include <config.h> instead of "config.h" as all
	other files do.

78 79
	* gmalloc.c: Remove BROKEN_PROTOTYPES reference, unused.

80 81
	* s/sol2-6.h: Remove obsolete comments.

82 83 84 85
	Remove unnecessary alloca.h includes.
	* keymap.c: Do not include alloca.h, config.h does that.
	* sysdep.c: Likewise.  Do not define fwrite, not used.

86 87 88 89 90
2010-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* sysdep.c (child_setup_tty): Move the non-canonical initialization to
	the HAVE_TERMIO where it belongs (bug#6149).

91 92 93 94 95
2010-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>

	* keymap.c (Fwhere_is_internal): Fix handling of remapping (in thread
	of bug#6305).

96 97 98 99 100
2010-05-30  Eli Zaretskii  <eliz@gnu.org>

	* bidi.c (bidi_move_to_visually_next): Make sure the sentinel
	state is always cached (bug#6306).

101 102
2010-05-29  Eli Zaretskii  <eliz@gnu.org>

103 104 105
	Fix cursor motion in bidi-reordered continued lines.
	* xdisp.c (try_cursor_movement): Backup to non-continuation line
	only after finding point's row.  Fix the logic.  Rewrite the loop
106 107 108 109
	over continuation lines in bidi-reordered buffers.  Return
	CURSOR_MOVEMENT_MUST_SCROLL upon failure to find a suitable row,
	rather than CURSOR_MOVEMENT_CANNOT_BE_USED.

110 111 112 113
2010-05-28  Michael Albinus  <michael.albinus@gmx.de>

	* fileio.c (Fdelete_file): Pass TRASH arg to handler call.

Kenichi Handa's avatar
Kenichi Handa committed
114 115 116 117 118
2010-05-28  Kenichi Handa  <handa@m17n.org>

	* font.c (font_delete_unmatched): Check Vface_ignored_fonts.
	Don't sheck SPEC if it is nil.
	(font_list_entities): Call font_delete_unmatched if
119
	Vface_ignored_fonts is non-nil.  (Bug#6287)
Kenichi Handa's avatar
Kenichi Handa committed
120

121 122 123 124
2010-05-28  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (LIBES): Remove $LOADLIBES, it is never set.

125 126 127 128 129 130 131 132 133 134 135 136 137
2010-05-27  Chong Yidong  <cyd@stupidchicken.com>

	* fileio.c (Fdelete_file): Change meaning of optional arg to mean
	whether to trash.
	(internal_delete_file, Frename_file): Callers changed.
	(delete_by_moving_to_trash): Doc fix.
	(Fdelete_directory_internal): Don't move to trash.

	* callproc.c (delete_temp_file):
	* buffer.c (Fkill_buffer): Callers changed.

	* lisp.h: Update prototype.

Chong Yidong's avatar
Chong Yidong committed
138 139 140 141 142
2010-05-27  Chong Yidong  <cyd@stupidchicken.com>

	* xdisp.c (redisplay_window): After redisplay, check if point is
	still valid before setting it (Bug#6177).

143 144 145 146 147 148 149
2010-05-27  Glenn Morris  <rgm@gnu.org>

	* Makefile.in, autodeps.mk, deps.mk, ns.mk:
	Convert comments to Makefile format.

	* Makefile.in (bootstrap-clean): No more Makefile.c.

150 151
2010-05-26  Glenn Morris  <rgm@gnu.org>

152 153 154
	* Makefile.in (YMF_PASS_LDFLAGS): Remove.
	(temacs${EXEEXT}): Use PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS.

155 156 157 158
	* Makefile.in (NS_IMPL_GNUSTEP_INC, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS):
	Remove.
	(TEMACS_LDFLAGS): Do not use NS_IMPL_GNUSTEP_TEMACS_LDFLAGS.

159 160 161 162 163
2010-05-26  Kenichi Handa  <handa@m17n.org>

	* composite.c (composition_compute_stop_pos): Fix condition for
	backward scanning.

Glenn Morris's avatar
Glenn Morris committed
164 165
2010-05-25  Glenn Morris  <rgm@gnu.org>

166 167 168 169 170
	* Makefile.in (@NS_IMPL_GNUSTEP_INC@, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS):
	Move before TEMACS_LDFLAGS.
	(TEMACS_LDFLAGS): Use $NS_IMPL_GNUSTEP_TEMACS_LDFLAGS.
	(temacs${EXEEXT}): Do not use $NS_IMPL_GNUSTEP_TEMACS_LDFLAGS.

171 172 173
	* Makefile.in (NOT_C_CODE): No longer define.
	(config.h): No longer include.

174 175 176
	* Makefile.in (LD_SWITCH_SYSTEM_TEMACS): Move definition after some
	variables it may reference.

Glenn Morris's avatar
Glenn Morris committed
177 178 179
	* Makefile.in (LD_SWITCH_SYSTEM_EXTRA): Remove.
	(TEMACS_LDFLAGS): Remove LD_SWITCH_SYSTEM_EXTRA.

180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202
2010-05-25  Kenichi Handa  <handa@m17n.org>

	* dispextern.h (struct composition_it): New members rule_idx and
	charpos.

	* xdisp.c (set_iterator_to_next): While scanning backward, assume
	that the character positions of IT point the last character of the
	current grapheme cluster.
	(next_element_from_composition): Don't change character positions
	of IT.
	(append_composite_glyph): Set glyph->charpos to
	it->cmp_it.charpos.

	* composite.c (autocmp_chars): Change the first argument to RULE,
	and try composition with RULE only.
	(composition_compute_stop_pos): Record the index number of the
	composition rule in CMP_IT->rule_idx.
	(composition_reseat_it): Call autocmp_chars repeatedly until the
	correct rule of the composition is found.
	(composition_update_it): Set CMP_IT->charpos.  Assume the CHARPOS
	is at the last character of the current grapheme cluster when
	CMP_IT->reversed_p is nonzero.

Stefan Monnier's avatar
Stefan Monnier committed
203
2010-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
204

Stefan Monnier's avatar
Stefan Monnier committed
205 206
	* editfns.c (Fbyte_to_string): New function.

207 208 209 210 211
2010-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* process.c (Fmake_network_process): Set :host to nil if it's not used.
	Suggested by Masatake YAMATO <yamato@redhat.com>.

212 213
2010-05-23  Eli Zaretskii  <eliz@gnu.org>

Stefan Monnier's avatar
Stefan Monnier committed
214
	* dispextern.h (init_iterator): Sync prototype with changed definition.
215

216 217 218 219 220
2010-05-20  enami tsugutomo  <tsugutomo.enami@jp.sony.com>

	* s/netbsd.h: If terminfo is found, use it in preference to
	termcap.  (Bug#6190)  [Backport from trunk]

221 222
2010-05-19  Eli Zaretskii  <eliz@gnu.org>

223
	Redesign and reimplement bidi-aware edge positions of glyph rows.
224 225 226 227 228 229 230 231 232

	* dispextern.h (struct glyph_row): New members minpos and maxpos.
	(MATRIX_ROW_START_CHARPOS, MATRIX_ROW_START_BYTEPOS)
	(MATRIX_ROW_END_CHARPOS, MATRIX_ROW_END_BYTEPOS): Reference minpos
	and maxpos members instead of start.pos and end.pos, respectively.

	* xdisp.c (display_line): Compare IT_CHARPOS with the position in
	row->start.pos, rather than with MATRIX_ROW_START_CHARPOS.
	(cursor_row_p): Use row->end.pos rather than MATRIX_ROW_END_CHARPOS.
233 234
	(try_window_reusing_current_matrix, try_window_id):
	Use ROW->minpos rather than ROW->start.pos.
235 236
	(init_from_display_pos, init_iterator): Use EMACS_INT for
	character and byte positions.
237
	(find_row_edges): Rename from find_row_end.  Accept additional
238 239 240
	arguments for minimum and maximum buffer positions seen by
	display_line for this row.  Don't use iterator to find the
	position following the maximum one; instead, increment the
241 242 243 244 245 246 247 248 249 250 251 252 253
	position found by display_line directly.  Fix logic; eol_pos
	should be tested before the rest.  Handle the case of characters
	delivered from display vector (bug#6036).  Fix tests related to
	it->method.  Handle the truncated_on_right_p rows.
	(RECORD_MAX_MIN_POS): New macro.
	(display_line): Use it to record the minimum and maximum buffer
	positions for glyphs in the row being assembled.  Record the
	position of the newline that terminates the line.  If word wrap is
	in effect, restore minimum and maximum positions seen up to the
	wrap point, when iterator returns to it.
	(try_window_reusing_current_matrix): Give up if in bidi-reordered
	row and cursor not already at point.  Restore original pre-bidi
	code for unidirectional buffers.
254 255 256 257 258

	* dispnew.c (increment_row_positions, check_matrix_invariants):
	Increment and check row->start.pos and row->end.pos, in addition
	to MATRIX_ROW_START_CHARPOS and MATRIX_ROW_END_CHARPOS.

259 260 261 262 263 264 265 266 267
	* .gdbinit (prowlims): Display row->minpos and row->maxpos.
	Display truncated_on_left_p and truncated_on_right_p flags.
	Formatting fixes.
	(pmtxrows): Display the ordinal number of each row.  Don't display
	rows beyond the last one.

	* bidi.c (bidi_cache_iterator_state): Don't zero out new_paragraph:
	it is not copied by bidi_copy_it.

Eli Zaretskii's avatar
Eli Zaretskii committed
268 269 270 271 272
2010-05-22  Eli Zaretskii  <eliz@gnu.org>

	* w32.c (sys_write): Break writes into chunks smaller than 32MB.
	(Bug#6237)

273 274 275 276
2010-05-22  Chong Yidong  <cyd@stupidchicken.com>

	* image.c (Fimage_flush): Rename from image-refresh.

277 278 279 280 281 282 283 284 285
2010-05-21  Chong Yidong  <cyd@stupidchicken.com>

	* xdisp.c (redisplay_internal): Clear caches even if redisplaying
	just one window.

	* image.c (Vimage_cache_eviction_delay): Decrease to 300.
	(clear_image_cache): If the number of cached images is unusually
	large, decrease the cache eviction delay (Bug#6230).

286 287
2010-05-21  Glenn Morris  <rgm@gnu.org>

288 289 290 291
	* Makefile.in (${ns_appdir}, ${ns_appbindir}Emacs, ns-app):
	Move these rules to ns.mk.
	* ns.mk: New file.

292 293
	* Makefile.in (../src/$(OLDXMENU), $(OLDXMENU)): Always define rules.

294 295 296
	* Makefile.in (CANNOT_DUMP): New, set by configure.
	(emacs${EXEEXT}, bootstrap-emacs${EXEEXT}): Use $CANNOT_DUMP.

297 298 299 300 301 302 303
2010-05-20  Juri Linkov  <juri@jurta.org>

	* fileio.c (Fdelete_file): Change interative spec to use
	`read-file-name' like in `find-file-read-args' where the default
	value is `default-directory' instead of `buffer-file-name'.
	http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00533.html

Kevin Ryde's avatar
Kevin Ryde committed
304 305 306 307 308 309
2010-05-20  Kevin Ryde  <user42@zip.com.au>

	* keyboard.c (Vlast_command, Vkeyboard_translate_table)
	(Voverriding_terminal_local_map, Vsystem_key_alist)
	(Vlocal_function_key_map): Fix manual link in docstring (Bug#6224).

310 311 312 313 314 315 316 317 318 319 320
2010-05-20  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (DEPDIR): New constant.
	(DEPFLAGS): Set with configure, not cpp.
	(MKDEPDIR): New, set by configure.
	(.c.o, .m.o, ecrt0.o): Use $MKDEPDIR.
	(clean): Use $DEPDIR.
	(deps_frag): Include from configure.
	Move static/dynamic dependency stuff to deps.mk/autodeps.mk.
	* deps.mk, autodeps.mk: New files, extracted from Makefile.in.

Eli Zaretskii's avatar
Eli Zaretskii committed
321 322 323
	* bidi.c (bidi_cache_shrink, bidi_cache_iterator_state): Fix
	reallocation of the cache.  (Bug#6210)

324 325
2010-05-19  Glenn Morris  <rgm@gnu.org>

Glenn Morris's avatar
Glenn Morris committed
326 327
	* s/msdos.h (ORDINARY_LINK): Move to sed2v2.inp.

328 329 330 331 332 333 334 335 336 337 338 339 340 341
	* Makefile.in (LD, YMF_PASS_LDFLAGS): Set with configure, not cpp.
	(GNULIB_VAR): Remove.
	(LIBES): Use LIB_GCC instead of GNULIB_VAR.

	* m/ibms390x.h (LINKER):
	* m/macppc.h (LINKER) [GNU_LINUX]:
	* s/aix4-2.h (ORDINARY_LINK):
	* s/cygwin.h (LINKER):
	* s/darwin.h (ORDINARY_LINK):
	* s/gnu.h (ORDINARY_LINK):
	* s/netbsd.h (LINKER):
	* s/usg5-4.h (ORDINARY_LINK):
	Move to configure.

342 343
	* s/aix4-2.h (LINKER): Remove; this file sets ORDINARY_LINK.

344 345 346 347 348 349
2010-05-18  Chong Yidong  <cyd@stupidchicken.com>

	* character.c (Fstring, Funibyte_string): Use SAFE_ALLOCA to
	prevent stack overflow if number of arguments is too large
	(Bug#6214).

350 351 352 353
2010-05-18  Juanma Barranquero  <lekktu@gmail.com>

	* charset.c (load_charset_map_from_file): Don't call close after fclose.

354 355
2010-05-18  Glenn Morris  <rgm@gnu.org>

356 357 358
	* s/gnu-linux.h: Combine two conditionals.

	* Makefile.in (otherobj): Include $(VMLIMIT_OBJ) separately from
359 360
	$(POST_ALLOC_OBJ).

361 362 363 364 365 366 367
	* Makefile.in (RALLOC_OBJ): New, set by configure.
	(rallocobj): Replace with the previous variable.
	(otherobj): Use $RALLOC_OBJ.

	* s/gnu.h (REL_ALLOC) [DOUG_LEA_MALLOC]:
	* s/gnu-linux.h (REL_ALLOC) [DOUG_LEA_MALLOC]: Move undef to configure.

368 369 370 371
	* Makefile.in (GMALLOC_OBJ, VMLIMIT_OBJ): New, set by configure.
	(gmallocobj, vmlimitobj): Replace with previous two variables.
	(otherobj): Use $GMALLOC_OBJ, $VMLIMIT_OBJ.

372 373 374 375 376
2010-05-17  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (OLDXMENU_DEPS): New, set by configure.
	(stamp-oldxmenu): Use $OLDXMENU_DEPS.

377 378
2010-05-16  Glenn Morris  <rgm@gnu.org>

379 380
	* Makefile.in (${ns_appbindir}Emacs, ns-app): Always define these rules.

381 382
	* Makefile.in (clean): Get rid of HAVE_NS conditional.

383 384 385
	* Makefile.in (ns_appdir, ns_appbindir): Now configure adds the
	trailing "/".

Glenn Morris's avatar
Glenn Morris committed
386 387 388
	* Makefile.in (TEMACS_LDFLAGS2): New, set by configure.
	(temacs${EXEEXT}): Combine the NS_IMPL_GNUSTEP case with the default.

Glenn Morris's avatar
Glenn Morris committed
389 390 391 392 393 394
	* Makefile.in (GNUSTEP_SYSTEM_LIBRARIES): Remove, unused.
	(NS_IMPL_GNUSTEP_TEMACS_LDFLAGS): New, set by configure.
	(LD) [NS_IMPL_GNUSTEP]: Set to $(CC) -rdynamic.
	(temacs${EXEEXT}): Remove $LOCALCPP, never defined or referenced.
	Make most of the NS_IMPL_GNUSTEP case the same as the default case.

395 396 397
	* Makefile.in (temacs${EXEEXT}) [!NS_IMPL_GNUSTEP]:
	Remove ${STARTFLAGS}, nothing ever sets it.

398 399 400 401
2010-05-16  Dan Nicolaescu  <dann@ics.uci.edu>

	* m/ia64.h (UNEXEC): Remove, set in s/*.h.

402 403
2010-05-16  Glenn Morris  <rgm@gnu.org>

404 405
	* Makefile.in (LIBX_BASE): Always define.

406 407
	* Makefile.in (LIBX_OTHER): Move out of cpp section.

408 409
	* Makefile.in (LIBXT): Always define.

410 411
2010-05-15  Glenn Morris  <rgm@gnu.org>

412
	* Makefile.in (OLDXMENU, LIBXMENU, LIBX_OTHER): Always define.
413

414 415 416
	* Makefile.in (FONT_DRIVERS): Remove, replace with $FONT_OBJ.
	(obj, SOME_MACHINE_OBJECTS): Use $FONT_OBJ.

417 418
2010-05-15  Ken Raeburn  <raeburn@raeburn.org>

Juanma Barranquero's avatar
Juanma Barranquero committed
419
	* lisp.h (XFLOAT_DATA): Use "0?x:x" to generate an rvalue.  (Bug#5916)
420 421
	(LISP_MAKE_RVALUE) [!USE_LISP_UNION_TYPE && !__GNUC__]: Likewise.

422 423 424
	* emacs.c (main): Initialize initial-environment and
	process-environment before generating from env, not after.

425 426 427 428 429 430 431 432
	Handle --version reasonably in CANNOT_DUMP configuration.
	* emacs.c (emacs_version, emacs_copyright): New string variables.
	(Vemacs_version, Vemacs_copyright): New Lisp_Object variables.
	(syms_of_emacs): Defvar them, and initialize them from the C
	string variables.
	(main): If initialization hasn't been done, print initial version
	info from the C strings, instead of starting an interactive session.

Eli Zaretskii's avatar
Eli Zaretskii committed
433 434
2010-05-15  Eli Zaretskii  <eliz@gnu.org>

435 436
	* bidi.c (bidi_paragraph_init): Don't leave alone garbage values
	of bidi_it->paragraph_dir.  Call bidi_initialize if needed.
437 438
	(bidi_paragraph_init): Remove redundant assertion that we are at
	the beginning of a line after call to bidi_find_paragraph_start.
439 440 441 442

	* xdisp.c (Fcurrent_bidi_paragraph_direction): New function.
	(syms_of_xdisp): Defsubr it.

443 444
	* cmds.c (Fforward_char, Fbackward_char): Doc fix.

Eli Zaretskii's avatar
Eli Zaretskii committed
445 446
	* Makefile.in: Fix MSDOS-related comments.

447 448
2010-05-15  Glenn Morris  <rgm@gnu.org>

449 450 451 452
	* Makefile.in (OLDXMENU_TARGET): New, set by configure.
	(really-lwlib, really-oldXMenu): Always define.
	($OLDXMENU): Depend on $OLDXMENU_TARGET.

453 454
	* Makefile.in: Simplify cpp conditional.

Glenn Morris's avatar
Glenn Morris committed
455 456
	* Makefile.in (${ns_appdir}): Simplify using umask.

457 458
	* Makefile.in (${ns_appdir}): Remove references to CVS-related files.

459 460 461 462 463
2010-05-14  Stefan Monnier  <monnier@iro.umontreal.ca>

	* eval.c (specbind): Remove left-over duplicate test.
	Disallow let-binding frame-local vars.  Add comment.

464 465
2010-05-14  Eli Zaretskii  <eliz@gnu.org>

466
	Make the cache of bidi iterator states dynamically allocated.
Eli Zaretskii's avatar
Eli Zaretskii committed
467
	* bidi.c (bidi_cache_shrink): New function.
468 469 470
	(bidi_init_it): Call it.
	(bidi_cache_iterator_state): Enlarge the cache if needed.

471
	* bidi.c (bidi_move_to_visually_next): Rename from
472 473
	bidi_get_next_char_visually.  All callers changed.

474 475 476 477 478 479 480 481
2010-05-14  Kenichi Handa  <handa@m17n.org>

	* dispextern.h (struct composition_it): New member reversed_p.

	* composite.c (composition_compute_stop_pos): Search backward if
	ENDPOS < CHARPOS.
	(composition_reseat_it): Handle the case that ENDPOS < CHARPOS.
	Set CMP_IT->reversed_p.
482
	(composition_update_it): Pay attention to CMP_IT->reversed_p.
483

484 485
	* xdisp.c (set_iterator_to_next):
	Call composition_compute_stop_pos with negative ENDPOS if we are
486 487 488 489 490 491 492
	scanning backward.  Call composition_compute_stop_pos if scan
	direction is changed.
	(next_element_from_buffer): Call composition_compute_stop_pos with
	negative ENDPOS if we are scanning backward.
	(next_element_from_composition): Pay attention to
	IT->cmp_it.reversed_p.

493 494
2010-05-14  Kenichi Handa  <handa@m17n.org>

Juanma Barranquero's avatar
Juanma Barranquero committed
495
	* font.c (font_range): Return the range for the font found at first.
496

497 498
2010-05-14  Glenn Morris  <rgm@gnu.org>

499 500
	* Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Always define.

501 502
	* Makefile.in (mktime, X11, register): Move undefs to configure.

Glenn Morris's avatar
Glenn Morris committed
503 504 505 506 507 508 509
	* Makefile.in (MSDOS_OBJ): Default to empty, let msdos scripts set it.
	(MSDOS_X_OBJ): New variable.
	(MSDOS_SUPPORT_REAL): New constant.
	(MSDOS_SUPPORT): Set as a variable, not with cpp.
	(obj): Use MSDOS_X_OBJ.
	(lisp): Use MSDOS_SUPPORT as a variable.

510 511 512 513 514
	* Makefile.in (REAL_MOUSE_SUPPORT): New constant.
	(GPM_MOUSE_SUPPORT): Now it's a constant.
	(MOUSE_SUPPORT, TOOLTIP_SUPPORT, WINDOW_SUPPORT): Set with configure,
	not cpp.

515
	* Makefile.in (@NS_IMPL_GNUSTEP_INC@): Use in place of #ifdef.
516
	(ns_appresdir): Remove, unused.
517

518 519
	* Makefile.in (SHELL): Move outside cpp section.

520 521
	* s/netbsd.h (AMPERSAND_FULL_NAME): Remove (defined in AH_BOTTOM).

522 523
2010-05-13  Glenn Morris  <rgm@gnu.org>

524 525 526
	* Makefile.in (FONT_DRIVERS): Place with other HAVE_X_WINDOWS stuff.
	(TOOLTIP_SUPPORT): Place with other HAVE_WINDOW_SYSTEM stuff.

527 528 529
	* Makefile.in (FONT_DRIVERS): If HAVE_X_WINDOWS is defined,
	HAVE_WINDOW_SYSTEM must be too.

530 531 532
	* Makefile.in (WINNT_SUPPORT): Remove, nt build does not use this file.
	(lisp): Remove WINNT_SUPPORT.

533 534 535
	* Makefile.in (OLDXMENU, LIBXMENU) [!HAVE_MENUS]:
	Let configure set these variables (to empty) in this case as well.

536 537 538
	* Makefile.in (LD_SWITCH_X_SITE): Define as a variable, not via cpp.
	(LIBX_BASE): Use $LD_SWITCH_X_SITE.

539 540 541 542 543
	* Makefile.in (C_SWITCH_X_SYSTEM, C_SWITCH_X_SITE, LIB_STANDARD)
	(LIB_MATH, FONTCONFIG_CFLAGS, FONTCONFIG_LIBS, FREETYPE_CFLAGS)
	(FREETYPE_LIBS, LIBOTF_CFLAGS, LIBOTF_LIBS, M17N_FLT_CFLAGS)
	(M17N_FLT_LIBS, GNU_OBJC_CFLAGS, GNUSTEP_SYSTEM_LIBRARIES, LIBGPM)
	(LIBRESOLV, UNEXEC_OBJ): For clarity, define variables to hold
Glenn Morris's avatar
Glenn Morris committed
544
	the values output by configure.
545 546
	(ALL_CFLAGS, obj, LIBES, temacs${EXEEXT}): Use the above variables.

547 548
2010-05-12  Glenn Morris  <rgm@gnu.org>

549 550 551
	* Makefile.in (YMF_PASS_LDFLAGS, LD, LINKER): Simplify the logic.
	(LINKER_WAS_SPECIFIED): Remove.

552 553 554 555 556 557 558 559 560 561
	* Makefile.in (LIB_GCC): Set using configure, not cpp.
	(GNULIB_VAR) [!ORDINARY_LINK]: Always set to $LIB_GCC.
	* m/arm.h (LIB_GCC) [GNU_LINUX]:
	* s/cygwin.h (LIB_GCC):
	* s/freebsd.h (LIB_GCC):
	* s/gnu-linux.h (LIB_GCC):
	* s/msdos.h (LIB_GCC):
	* s/netbsd.h (LIB_GCC):
	Move to configure.

562
2010-05-11  Karel Klic  <kklic@redhat.com>
563 564 565 566

	* ftfont.c: Fix incorrect parentheses of #if condition for
	definining M17N_FLT_USE_NEW_FEATURE.

567 568 569 570 571
2010-05-11  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (LIBS_SYSTEM) [MSDOS]: Do not reset.
	* s/msdos.h (MSDOS_LIBS_SYSTEM): Remove.

572 573 574 575 576 577
2010-05-10  Eli Zaretskii  <eliz@gnu.org>

	* xdisp.c (init_iterator): Don't turn on bidi reordering in
	unibyte buffers.  See
	http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00263.html.

578 579
2010-05-10  Glenn Morris  <rgm@gnu.org>

580 581 582 583 584 585 586 587 588 589 590
	* Makefile.in (LIBS_SYSTEM): Set using configure, not cpp.
	(LIBS_SYSTEM) [MSDOS]: Reset with MSDOS_LIBS_SYSTEM.
	(LIBES): Use LIBS_SYSTEM as a variable.
	* s/msdos.h (LIBS_SYSTEM): Rename to MSDOS_LIBS_SYSTEM.  Always define.
	* s/aix4-2.h (LIBS_SYSTEM):
	* s/freebsd.h (LIBS_SYSTEM):
	* s/hpux10-20.h (LIBS_SYSTEM):
	* s/sol2-6.h (LIBS_SYSTEM):
	* s/unixware.h (LIBS_SYSTEM):
	Move to configure.

591 592 593 594 595 596 597 598
	* s/aix4-2.h (MAIL_USE_LOCKF):
	* s/bsd-common.h (MAIL_USE_FLOCK):
	* s/darwin.h (MAIL_USE_FLOCK):
	* s/gnu-linux.h (MAIL_USE_FLOCK):
	* s/irix6-5.h (MAIL_USE_FLOCK):
	* s/template.h (MAIL_USE_FLOCK):
	Move to configure.

Stefan Monnier's avatar
Stefan Monnier committed
599
2010-05-08  Chong Yidong  <cyd@stupidchicken.com>
Chong Yidong's avatar
Chong Yidong committed
600 601 602

	* Version 23.2 released.

Stefan Monnier's avatar
Stefan Monnier committed
603
2010-05-08  Andreas Schwab  <schwab@linux-m68k.org>
Andreas Schwab's avatar
Andreas Schwab committed
604 605 606 607 608 609 610 611

	* composite.c (autocmp_chars): Save point as marker before calling
	auto-composition-function (Bug#5984).

	* lisp.h (restore_point_unwind): Add prototype.

	* fileio.c (restore_point_unwind): Remove static attribute.

Stefan Monnier's avatar
Stefan Monnier committed
612
2010-05-08  Kenichi Handa  <handa@m17n.org>
613 614 615

	* ftfont.c (M17N_FLT_USE_NEW_FEATURE): Define it if we can use the
	new feature of libotf and m17n-flt.
Stefan Monnier's avatar
Stefan Monnier committed
616 617
	(ftfont_check_otf) [M17N_FLT_USE_NEW_FEATURE]:
	Call OTF_check_features even if no specific feature is given.
618 619 620 621 622 623
	(PACK_OTF_TAG) [M17N_FLT_USE_NEW_FEATURE]: New macro.
	(ftfont_drive_otf) [M17N_FLT_USE_NEW_FEATURE]: Handle the case
	that OUT is NULL.  Use OTF_drive_gsub_with_log and
	OTF_drive_gpos_with_log instead of OTF_drive_gsub and
	OTF_drive_gpos.
	(ftfont_try_otf) [M17N_FLT_USE_NEW_FEATURE]: New function.
Stefan Monnier's avatar
Stefan Monnier committed
624 625 626
	(ftfont_shape_by_flt) [M17N_FLT_USE_NEW_FEATURE]:
	Setup mflt_enable_new_feature and mflt_try_otf.

627 628 629 630 631 632 633 634 635 636
2010-05-08  Jan Djärv  <jan.h.d@swipnet.se>

	* xsettings.c (Ftool_bar_get_system_style): Correct comment.

	* gtkutil.c (xg_pack_tool_bar): Change show_all to show for handle
	box and toolbar (Bug #6139).
	(xg_create_tool_bar): Remove comment (Bug #6139).
	(xg_make_tool_item): Remove gtk_widget_show_all (Bug #6139).
	(xg_show_toolbar_item): Add gtk_widget_show for weventbox (Bug #6139).

637 638 639 640 641
2010-05-08  Juanma Barranquero  <lekktu@gmail.com>

	* makefile.w32-in ($(BLD)/eval.$(O), $(BLD)/w32fns.$(O)):
	Update dependencies.

642 643 644 645 646
2010-05-08  Eli Zaretskii  <eliz@gnu.org>

	* fringe.c (update_window_fringes): Set up truncation bitmaps for
	R2L lines.

647 648
2010-05-08  Glenn Morris  <rgm@gnu.org>

649 650
	* Makefile.in (THIS_IS_MAKEFILE): Remove, unused.

651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673
	* Makefile.in (LIBS_TERMCAP): Set with configure, not cpp.
	(TERMCAP_OBJ): New, set by configure, replacing termcapobj.
	(termcapobj): Replace with TERMCAP_OBJ.
	(otherobj): Use $TERMCAP_OBJ instead of $termcapobj.
	(LIBES): Use LIBS_TERMCAP as a variable.

	* s/freebsd.h (osreldate.h): No longer include, since this file
	does not use __FreeBSD_version any more.

	* s/aix4-2.h (TERMINFO):
	* s/cygwin.h (TERMINFO):
	* s/darwin.h (TERMINFO, LIBS_TERMCAP) [HAVE_LIBNCURSES]:
	* s/freebsd.h (TERMINFO, LIBS_TERMCAP):
	* s/gnu-linux.h (TERMINFO, LIBS_TERMCAP) [HAVE_LIBNCURSES]:
	* s/gnu.h (TERMINFO, LIBS_TERMCAP) [HAVE_LIBNCURSES]:
	* s/hpux10-20.h (TERMINFO, LIBS_TERMCAP):
	* s/irix6-5.h (TERMINFO):
	* s/netbsd.h (LIBS_TERMCAP):
	* s/openbsd.h (TERMINFO, LIBS_TERMCAP):
	* s/sol2-6.h (LIBS_TERMCAP) [!TERMINFO]:
	* s/usg5-4.h (TERMINFO):
	Move to configure.

674 675 676 677 678 679 680 681
2010-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* eval.c (unbind_to): Don't unbind a local binding into the global
	binding when the local binding disappeared.  Inversely, don't unbind
	a global binding into a newly created local binding.
	* data.c (set_internal): Make its `buf' arg into a `where' arg so we
	can specify the frame to use, when applicable.  Adjust callers.

682 683 684 685 686
2010-05-07  Vincent Belaïche  <vincent.belaiche@gmail.com>
            Stefan Monnier  <monnier@iro.umontreal.ca>

	* floatfns.c (Fisnan, Fcopysign, Ffrexp, Fldexp): New functions.

687 688
2010-05-07  Eli Zaretskii  <eliz@gnu.org>

Eli Zaretskii's avatar
Eli Zaretskii committed
689 690 691 692
	* w32fns.c: Include w32.h.
	(Fw32_shell_execute): Decode the error message before passing it
	to `error'.  (Bug#6126)

693 694 695 696
	* msdos.c (dos_set_window_size):
	* w16select.c (Fx_selection_exists_p): Use `Fsymbol_value (foo)'
	instead of `XSYMBOL (foo)->value'.

697 698
2010-05-07  Eli Zaretskii  <eliz@gnu.org>

699 700 701 702 703 704 705 706
	Fix the MS-DOS build, broken by autoconfiscation.

	* Makefile.in: Don't use Make-style comments past the "start of
	cpp stuff" line.
	(MSDOS_OBJ): Remove xmenu.o (it is now defined by XMENU_OBJ).

	* s/msdos.h (UNEXEC): Don't define (@unexec@ in Makefile.in is
	edited directly by msdos/sed1v2.inp).
707

708 709 710 711 712 713 714 715 716 717 718
2010-05-07  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (LD_SWITCH_SYSTEM): Set with configure, not cpp.
	(LD_SWITCH_SYSTEM_EXTRA): New variable, set by configure.
	(TEMACS_LDFLAGS): Use $LD_SWITCH_SYSTEM and $LD_SWITCH_SYSTEM_EXTRA,
	move out of cpp section.
	* s/freebsd.h (LD_SWITCH_SYSTEM):
	* s/gnu-linux.h (LD_SWITCH_SYSTEM):
	* s/netbsd.h (LD_SWITCH_SYSTEM):
	* s/openbsd.h (LD_SWITCH_SYSTEM): Move to configure.in.

719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734
2010-05-07  Dan Nicolaescu  <dann@ics.uci.edu>

	Define LIB_STANDARD and START_FILES using autoconf.
	* s/usg5-4.h (LIB_STANDARD):
	* s/netbsd.h (START_FILES):
	* s/irix6-5.h (LIB_STANDARD):
	* s/hpux10-20.h (LIB_STANDARD, START_FILES):
	* s/gnu-linux.h (START_FILES, LIB_STANDARD):
	* s/freebsd.h (START_FILES):
	* s/darwin.h (START_FILES):
	* s/cygwin.h (START_FILES):
	* s/aix4-2.h (LIB_STANDARD):
	* m/ibmrs6000.h (START_FILES): Remove, move logic to configure.in.
	* Makefile.in (STARTFILES): Rename to START_FILES, define using
	autoconf, not cpp.

735 736
2010-05-06  Dan Nicolaescu  <dann@ics.uci.edu>

737 738 739 740 741 742
	Remove NEED_BSDTTY and NEED_UNISTD_H.
	* s/hpux10-20.h (NEED_BSDTTY): Remove.
	* s/aix4-2.h (NEED_UNISTD_H): Remove.
	* systty.h: Simplify conditionals for including <sys/bsdtty.h>,
	<sys/ptyio.h> and <unistd.h>.

743 744
	* emacs.c (main): Remove NO_DIR_LIBRARY conditional, unused.

745 746 747
	* Makefile.in (STARTFILES): Conditionally define to make the usage clear.
	* s/gnu.h (START_FILES): Remove empty definition.

748 749 750 751
2010-05-06  Jan Djärv  <jan.h.d@swipnet.se>

	* xterm.c (x_draw_image_relief): Move declaration of extra to beginning.

752 753 754 755
2010-05-06  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (CPP, LN_S): Remove unused variables.

756 757 758 759
2010-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>

	* syntax.c (Fchar_syntax): Check the arg is a character (bug#6080).

760 761 762 763
2010-05-05  Lawrence Mitchell  <wence@gmx.li>

	* m/sparc.h: Fix typo in earlier change.

Stefan Monnier's avatar
Stefan Monnier committed
764 765 766 767 768 769
2010-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	Misc tweaks.
	* eval.c (Fdefvaralias): Remove unintended nested if.
	(internal_condition_case_2, internal_condition_case_n): Use ANSI type.

770
2010-05-04  Bernhard Herzog  <bh@intevation.de>  (tiny change)
771 772 773

	* xsmfns.c (smc_save_yourself_CB): strlen(client_id) => strlen(cwd).

Dan Nicolaescu's avatar
Dan Nicolaescu committed
774 775
2010-05-04  Dan Nicolaescu  <dann@ics.uci.edu>

Dan Nicolaescu's avatar
Dan Nicolaescu committed
776 777 778 779 780 781 782 783 784 785
	Remove BSD_PGRPS.
	* s/bsd-common.h (BSD_PGRPS): Remove undef.
	* s/gnu-linux.h (BSD_PGRPS): Remove.
	* term.c (dissociate_if_controlling_tty):
	* sysdep.c (narrow_foreground_group, widen_foreground_group)
	(init_sys_modes, reset_sys_modes):
	* emacs.c (main):
	* callproc.c (Fcall_process, child_setup): Remove code depending
	on BSD_PGRPS.

Dan Nicolaescu's avatar
Dan Nicolaescu committed
786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806
	Remove POSIX_SIGNALS.
	* s/usg5-4.h (POSIX_SIGNALS):
	* s/netbsd.h (POSIX_SIGNALS):
	* s/msdos.h (POSIX_SIGNALS):
	* s/ms-w32.h (POSIX_SIGNALS):
	* s/hpux11.h (POSIX_SIGNALS):
	* s/gnu.h (POSIX_SIGNALS):
	* s/gnu-linux.h (POSIX_SIGNALS):
	* s/freebsd.h (POSIX_SIGNALS):
	* s/darwin.h (POSIX_SIGNALS):
	* s/cygwin.h (POSIX_SIGNALS):
	* s/aix4-2.h (POSIX_SIGNALS): Remove definition.
	* s/unixware.h:
	* s/sol2-6.h: Remove comments on POSIX_SIGNALS.
	* process.c (create_process):
	* syssignal.h:
	* sysdep.c (wait_for_termination, init_signals):
	* process.c (create_process):
	* msdos.c: POSIX_SIGNALS is always defined on all platforms,
	remove all code that assumes the contrary.

807 808
2010-05-04  Glenn Morris  <rgm@gnu.org>

809 810 811 812 813 814 815 816 817 818
	* s/gnu-linux.h (LD_SWITCH_SYSTEM): Use LD_SWITCH_X_SITE_AUX as a shell
	variable.
	* s/netbsd.h (LD_SWITCH_SYSTEM_tmp): Remove.
	(LD_SWITCH_SYSTEM): Use $LD_SWITCH_X_SITE_AUX_RPATH.
	* s/openbsd.h (LD_SWITCH_SYSTEM_tmp): Remove.
	(LD_SWITCH_SYSTEM): Use $LD_SWITCH_X_SITE_AUX_RPATH instead of
	LD_SWITCH_SYSTEM_tmp.
	* Makefile.in (LD_SWITCH_X_SITE_AUX, LD_SWITCH_X_SITE_AUX_RPATH):
	New variables, set by configure.

819 820 821 822 823 824
	* s/aix4-2.h (LD_SWITCH_SYSTEM_TEMACS): Move to configure.in.
	* s/darwin.h (HEADERPAD_EXTRA, LIBS_NSGUI): Remove.
	(LD_SWITCH_SYSTEM_TEMACS): Move to configure.in.
	* Makefile.in (LD_SWITCH_SYSTEM_TEMACS): New variable, set by configure.
	(TEMACS_LDFLAGS): Use $LD_SWITCH_SYSTEM_TEMACS.

825 826 827 828 829 830 831 832
	* s/aix4-2.h (C_SWITCH_SYSTEM):
	* m/alpha.h (C_SWITCH_MACHINE):
	Move to configure.in.
	* Makefile.in (C_SWITCH_MACHINE, C_SWITCH_SYSTEM):
	New variables, set by configure.
	(ALL_CFLAGS): Use $C_SWITCH_MACHINE and $C_SWITCH_SYSTEM in place of
	$c_switch_machine and $c_switch_system.

833 834 835 836 837 838
2010-05-04  Dan Nicolaescu  <dann@ics.uci.edu>

	* s/hpux10-20.h (LIB_STANDARD): New definition.
	* Makefile.in (ORDINARY_LINK): Remove setting LIB_STANDARD based
	on it, not used anymore.

839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854
2010-05-03  Chong Yidong  <cyd@stupidchicken.com>

	* eval.c (internal_condition_case_n): Rename from
	internal_condition_case_2.
	(internal_condition_case_2): New function.

	* xdisp.c (safe_call): Use internal_condition_case_n.

	* fileio.c (Fdelete_file, internal_delete_file): New arg FORCE.
	(internal_delete_file, Frename_file): Callers changed.

	* buffer.c (Fkill_buffer):
	* callproc.c (delete_temp_file): Callers changed (Bug#6070).

	* lisp.h: Update prototypes.

855 856 857 858 859 860 861 862
2010-05-03  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (LIBX_EXTRA, LIBX_BASE): New variables.
	(LIBXT_OTHER, LIBX_OTHER): New, set by configure.
	(LIBXT): Set with configure, not cpp.
	(LIBX): Remove.
	(LIBES): Replace $LIBX with $LIBX_BASE and $LIBX_OTHER.

863 864 865 866 867 868
2010-05-02  Dan Nicolaescu  <dann@ics.uci.edu>

	* m/amdx86-64.h (START_FILES, LIB_STANDARD): Remove.
	The FreeBSD is not needed, the default works, Solaris version is
	not needed, and the remaining case is not supported by configure.

869 870 871 872 873 874 875 876 877 878 879 880 881 882 883
2010-05-02  Jan Djärv  <jan.h.d@swipnet.se>

	* xsmfns.c (CHDIR_OPT): New define.
	(smc_save_yourself_CB): Add CHDIR_OPT to options to use when
	restarting emacs.

	* xterm.c (x_connection_closed): Call Fkill_emacs instead of
	shut_down_emacs.

	* emacs.c (USAGE1): Mention --chdir.
	(main): Handle --chdir.
	(standard_args): Add --chdir.
	(fatal_error_signal): Call Fkill_emacs for SIGTERM and SIGHUP (Bug
	#5552).

884 885
2010-05-01  Dan Nicolaescu  <dann@ics.uci.edu>

Dan Nicolaescu's avatar
Dan Nicolaescu committed
886 887 888 889
	Remove LD_SWITCH_MACHINE.
	* Makefile.in (LD_SWITCH_MACHINE): Remove definition, unused.
	(TEMACS_LDFLAGS): Do not use LD_SWITCH_MACHINE.

Dan Nicolaescu's avatar
Dan Nicolaescu committed
890 891 892 893
	Clean up IRIX code.
	* m/iris4d.h (TERMINFO, FIRST_PTY_LETTER): Move definitions ...
	* s/irix6-5.h (TERMINFO, FIRST_PTY_LETTER): ... here.

Dan Nicolaescu's avatar
Dan Nicolaescu committed
894 895 896 897 898 899 900
	Clean up AIX code.
	* m/ibmrs6000.inp: Remove file, unused.
	* m/ibmrs6000.h (IBMR2AIX): Remove, unused.
	(LD_SWITCH_MACHINE): Rename to LD_SWITCH_SYSTEM_TEMACS, and move
	definition ...
	* s/aix4-2.h (LD_SWITCH_SYSTEM_TEMACS): ... here.

901 902
	* sysdep.c (child_setup_tty, init_sys_modes): Remove !IBMR2AIX code,
	unused.
903

904 905
2010-05-01  Eli Zaretskii  <eliz@gnu.org>

906 907 908 909
	Emulate POSIX_SIGNALS on MS-Windows.

	* s/ms-w32.h (POSIX_SIGNALS, struct sigaction, SIG_BLOCK)
	(SIG_SETMASK, SIG_UNBLOCK): Define.
910 911 912 913 914

	* sysdep.c (sys_signal) [WINDOWSNT]: #ifdef away.
	(wait_for_termination) [WINDOWSNT]: Move MS-Windows specific code
	from non-POSIX_SIGNALS section to POSIX_SIGNALS section.

915 916
	* w32.c (sigemptyset, sigaddset, sigfillset, sigprocmask):
	New stubs.
917

918 919
	Miscellaneous fixes of bidi display.

920 921
	* xdisp.c (find_row_end): New function, refactored from display_line.
	(display_line): Use it.
922 923
	(extend_face_to_end_of_line): In almost-filled rows, extend only
	if the row is R2L and not continued.
924
	(display_line): Fix prepending of truncation glyphs to R2L rows.
925
	Preserve overlay and string info in row->end.
926 927
	(insert_left_trunc_glyphs): Support addition of left truncation
	glyphs to R2L rows.
928
	(set_cursor_from_row): Don't place cursor on the vertical border
929 930 931
	glyph between adjacent windows.  Fix a crash when a display string
	is continued to the next line.  Don't return zero if cursor was
	found by `cursor' property of a display string.
932 933
	(try_cursor_movement): Don't assume that row->end == (row+1)->start,
	test for that explicitly.
934

935 936 937 938 939 940 941 942
2010-05-01  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (gmallocobj, rallocobj, vmlimitobj): Initialize to null,
	for clarity.
	(OTHER_OBJ): Remove.
	(PRE_ALLOC_OBJ, POST_ALLOC_OBJ): New, set by configure.
	(otherobj): Use PRE_ALLOC_OBJ, POST_ALLOC_OBJ rather than OTHER_OBJ.

943 944 945 946
2010-05-01  Karel Klíč  <kklic@redhat.com>

	* fileio.c (Ffile_selinux_context): Context functions may return null.

947 948
2010-04-30  Dan Nicolaescu  <dann@ics.uci.edu>

949
	* s/gnu.h (POSIX_SIGNALS, START_FILES): New definitions.
950

Glenn Morris's avatar
Glenn Morris committed
951 952 953 954 955
2010-04-30  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (vmlimitobj) [!SYSTEM_MALLOC]: New variable.  (Bug#6065)
	(OTHER_OBJ): Define as a separate variable, for clarity.

956 957 958 959
2010-04-30  Jan Djärv  <jan.h.d@swipnet.se>

	* xsettings.c: include limits.h and update file comment.

960 961
2010-04-30  Glenn Morris  <rgm@gnu.org>

962 963 964 965
	* Makefile.in (OLDXMENU, LIBXMENU) [HAVE_MENUS]:
	Set with configure, not cpp.
	(LIBW): Remove, replace with $TOOLKIT_LIBW.

Glenn Morris's avatar
Glenn Morris committed
966 967 968
	* Makefile.in (mallocobj): Remove.
	(otherobj): Simplify using @OTHER_OBJ@.

969 970 971 972
	* Makefile.in (dispnew.o, frame.o, fringe.o, font.o, fontset.o)
	(keyboard.o, window.o, xdisp.o, xfaces.o, menu.o):
	Don't bother making nsgui.h dependency platform-specific.

973 974
	* Makefile.in (nsfns.o): Remove duplicate nsgui.h dependency.

975 976
2010-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>

977 978 979
	* process.c (read_process_output, exec_sentinel): Don't burp if the
	sentinel/filter kills the current buffer (bug#6060).

Juanma Barranquero's avatar
Juanma Barranquero committed
980
	Fix wrong-docstring problem introduced with hash-consing.  (Bug#6008)
981 982 983 984 985 986
	* eval.c (Fautoload): Set doc to a unique number rather than to 0.
	Remove unused var `args'.
	* lisp.h (XSETCARFASTINT, XSETCDRFASTINT): Remove.
	(LOADHIST_ATTACH): Wrap with do...while to avoid surprises for callers.
	* doc.c (store_function_docstring): Use XSETCAR.

987 988
2010-04-28  Glenn Morris  <rgm@gnu.org>

989 990 991
	* Makefile.in (BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT): New variables.
	(WINDOW_SUPPORT) [HAVE_WINDOW_SYSTEM]: Use them.

992 993
	* Makefile.in (CYGWIN_OBJ): Set with configure, not cpp.

994 995 996
	* Makefile.in (GPM_MOUSE_SUPPORT): New, set by configure.
	(MOUSE_SUPPORT) [!HAVE_MOUSE]: Use $GPM_MOUSE_SUPPORT.

997 998 999
	* Makefile.in (FONT_OBJ): New, set by configure.
	(FONT_DRIVERS): Use $FONT_OBJ.

1000 1001 1002 1003 1004
	* Makefile.in (LIBXMU): Set with configure, not cpp.
	* s/aix4-2.h (LIBXMU):
	* s/hpux10-20.h (LIBXMU):
	Remove definition, now set in configure.

1005 1006
	* Makefile.in (NS_OBJ, NS_SUPPORT): Set with configure, not cpp.

1007 1008
	* m/amdx86-64.h [i386]: Move this test to configure.in.

Glenn Morris's avatar
Glenn Morris committed
1009 1010
2010-04-27  Glenn Morris  <rgm@gnu.org>

1011 1012 1013
	* Makefile.in (LIBXTR6): Set with configure, not cpp.
	* s/unixware.h (NEED_LIBW): Remove definition.

1014 1015 1016 1017
	* Makefile.in (LUCID_LIBW, MOTIF_LIBW): Remove, replacing by...
	(TOOLKIT_LIBW): New, set by configure.
	(@X_TOOLKIT_TYPE@): No longer define it.

Glenn Morris's avatar
Glenn Morris committed
1018 1019 1020 1021 1022 1023
	* Makefile.in (LIBXP): Remove, since included in MOTIF_LIBW.
	(MOTIF_LIBW): Set with configure, not cpp.
	* s/aix4-2.h (LIB_MOTIF):
	* s/gnu-linux.h (LIB_MOTIF):
	* s/unixware.h (LIB_MOTIF): Move to configure.in.

Dan Nicolaescu's avatar
Dan Nicolaescu committed
1024 1025 1026 1027 1028
2010-04-27  Dan Nicolaescu  <dann@ics.uci.edu>

	Reduce CPP usage.
	* Makefile.in (LIB_X11_LIB): Remove, inline in the only user.
	(obj): Use autoconf for unexec instead of cpp.
Dan Nicolaescu's avatar
Dan Nicolaescu committed
1029 1030 1031
	(C_SWITCH_SYSTEM, C_SWITCH_MACHINE, C_SWITCH_X_SITE): Remove
	definitions and undefs.  Inline definitions in the only user.
	(ALL_CFLAGS): Substitute C_SWITCH_X_SYSTEM using autoconf.
Dan Nicolaescu's avatar
Dan Nicolaescu committed
1032

1033 1034
2010-04-27  Glenn Morris  <rgm@gnu.org>

Glenn Morris's avatar
Glenn Morris committed
1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047
	* m/amdx86-64.h (START_FILES, LIB_STANDARD): Change the logic around,
	since the defaults (set by the system file) are fine in most cases.
	[GNU_LINUX, __OpenBSD__, __NetBSD__, __APPLE__]: Remove sections.
	* m/ibms390x.h (START_FILES, LIB_STANDARD):
	* m/macppc.h (START_FILES, LIB_STANDARD) [GNU_LINUX]:
	* m/sparc.h (START_FILES, LIB_STANDARD) [__linux__]:
	Remove definitions, since they are set correctly in s/gnu-linux.h.
	* s/freebsd.h (START_FILES, LIB_STANDARD):
	* s/gnu-linux.h (START_FILES, LIB_STANDARD):
	* s/hpux10-20.h (START_FILES):
	* s/netbsd.h (START_FILES, LIB_STANDARD, START_FILES_1, END_FILES_1):
	Use $CRT_DIR in place of fixed /usr/lib, /lib directories.

1048 1049 1050 1051
	* Makefile.in (LIBXP, LUCID_LIBW, WIDGET_OBJ): Set via configure.
	(MOTIF_LIBW): Use $LIBXP.
	(otherobj): Use $WIDGET_OBJ.

1052 1053
2010-04-26  Dan Nicolaescu  <dann@ics.uci.edu>

1054 1055
	* Makefile.in (LIBS_MACHINE): Remove, unused.

1056 1057 1058 1059 1060 1061
	Use autoconf instead of cpp for LIB_MATH.
	* s/darwin.h (LIB_MATH): Do not define here, move to configure.
	* s/cygwin.h (LIB_MATH): Likewise.
	* Makefile.in (LIB_MATH): Do not define with cpp.
	(LIBES): Use autoconf for LIB_MATH.

1062 1063 1064 1065 1066
2010-04-26  Kenichi Handa  <handa@m17n.org>

	* composite.c (Ffind_composition_internal): Fix the return value
	for an automatic composition.

Dan Nicolaescu's avatar
Dan Nicolaescu committed
1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089
2010-04-25  Dan Nicolaescu  <dann@ics.uci.edu>

	Remove all NO_ARG_ARRAY uses.
	* fns.c (concat2, concat3, nconc2):
	* eval.c (apply1, call1, call2, call3, call4, call5, call6)
	(call7): Remove NO_ARG_ARRAY usage, assume it's always true.
	* m/xtensa.h (NO_ARG_ARRAY):
	* m/template.h (NO_ARG_ARRAY):
	* m/sparc.h (NO_ARG_ARRAY):
	* m/sh3.h (NO_ARG_ARRAY):
	* m/mips.h (NO_ARG_ARRAY):
	* m/macppc.h (NO_ARG_ARRAY):
	* m/iris4d.h (NO_ARG_ARRAY):
	* m/intel386.h (NO_ARG_ARRAY):
	* m/ibms390x.h (NO_ARG_ARRAY):
	* m/ibms390.h (NO_ARG_ARRAY):
	* m/ibmrs6000.h (NO_ARG_ARRAY):
	* m/ia64.h (NO_ARG_ARRAY):
	* m/hp800.h (NO_ARG_ARRAY):
	* m/arm.h (NO_ARG_ARRAY):
	* m/amdx86-64.h (NO_ARG_ARRAY):
	* m/alpha.h (NO_ARG_ARRAY): Remove definition.

1090 1091
2010-04-25  Eli Zaretskii  <eliz@gnu.org>

1092 1093
	* xdisp.c (display_line): Don't assume 2nd call to
	get_next_display_element cannot return zero.  (Bug#6030)
1094 1095
	(iterate_out_of_display_property): New function, body from pop_it.
	(pop_it): Use it.
1096

1097 1098 1099 1100 1101 1102 1103
2010-04-24  Glenn Morris  <rgm@gnu.org>

	* m/amdx86-64.h (START_FILES, LIB_STANDARD) [__OpenBSD__]:
	For clarity, revert to using fixed /usr/lib rather than $CRT_DIR.
	(START_FILES, LIB_STANDARD) [__FreeBSD__]: Merge into the generic case,
	since CRT_DIR defaults to /usr/lib.  Suggested by Dan Nicolaescu.

1104 1105
2010-04-24  Eli Zaretskii  <eliz@gnu.org>

1106 1107 1108 1109 1110
	* xdisp.c (display_line): Use `reseat' instead of `reseat_1', and
	use `get_next_display_element' and `set_iterator_to_next' to
	advance to the next character, when looking for the character that
	begins the next row.

Eli Zaretskii's avatar
Eli Zaretskii committed
1111
	* .gdbinit: Add a "set Fmake_symbol" line to force GDB to load the
1112 1113
	definition of "struct Lisp_Symbol".

Glenn Morris's avatar
Glenn Morris committed
1114 1115 1116 1117 1118 1119
2010-04-24  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (CRT_DIR): New variable, set by configure.
	* m/amdx86-64.h, m/ibms390x.h (START_FILES, LIB_STANDARD):
	Use $CRT_DIR rather than HAVE_LIB64_DIR.  (Bug#5655)

1120 1121
2010-04-23  Dan Nicolaescu  <dann@ics.uci.edu>

1122 1123
	* Makefile.in: Remove C_SWITCH_X_MACHINE, unused.

1124 1125
	* s/cygwin.h (LIBS_DEBUG): Remove, unused.

Dan Nicolaescu's avatar
Dan Nicolaescu committed
1126 1127 1128 1129 1130 1131 1132
	Remove redundant flags.
	* s/freebsd.h (C_SWITCH_SYSTEM):
	* s/hpux10-20.h (C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
	* s/netbsd.h (C_SWITCH_SYSTEM):
	* s/openbsd.h (LD_SWITCH_X_DEFAULT): Remove, configure takes care
	of these.

Dan Nicolaescu's avatar
Dan Nicolaescu committed
1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143
	Simplify m/intel386.h.
	* m/intel386.h (CRT0_DUMMIES): Remove, inline value in the only
	user: ecrt0.c.
	(SOLARIS2): Remove LOAD_AVE_TYPE, LOAD_AVE_CVT, LIBS_MACHINE, unused.
	(USG5_4): Move LOAD_AVE_TYPE, LOAD_AVE_CVT, FSCALE definitions to
	the only user: s/unixware.h.
	* ecrt0.c: Remove #ifndef static.  Inline CRT0_DUMMIES definition
	from m/intel386.h.
	* s/unixware.h (LOAD_AVE_TYPE, LOAD_AVE_CVT, FSCALE): Definitions
	moved here from m/intel386.h.

1144 1145
	* m/mips.h: Remove #if 0 code.

1146 1147
2010-04-23  Eli Zaretskii  <eliz@gnu.org>

1148 1149 1150 1151 1152
	Fix display of composed characters from L2R scripts in bidi buffers.
	* xdisp.c (set_iterator_to_next, next_element_from_composition):
	After advancing IT past the composition, resync the bidi iterator
	with IT's position.  (Bug#5977)

1153 1154 1155 1156 1157
2010-04-23  Dan Nicolaescu  <dann@ics.uci.edu>

	* Makefile.in (LD_SWITCH_MACHINE_TEMACS): Remove, unused.
	(TEMACS_LDFLAGS): Don't use LD_SWITCH_SYSTEM_TEMACS.

1158 1159 1160 1161
2010-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* gtkutil.c: Include xsettings.h for Ftool_bar_get_system_style.

1162 1163
2010-04-23  Eli Zaretskii  <eliz@gnu.org>

Juanma Barranquero's avatar
Juanma Barranquero committed
1164
	Support `display' text properties and overlay strings in bidi buffers.
1165 1166 1167 1168
	* xdisp.c (pop_it): When the stack is popped after displaying
	from a string, bidi-iterate to exit from the text portion covered
	by the `display' property or overlay.  (Bug#5988, bug#5920)

Dan Nicolaescu's avatar
Dan Nicolaescu committed
1169 1170
2010-04-23  Dan Nicolaescu  <dann@ics.uci.edu>

1171 1172 1173
	* m/macppc.h (LD_SWITCH_SYSTEM_TEMACS): Remove #undef.
	(LD_SWITCH_MACHINE_TEMACS): Remove, configure sets nocombreloc.

1174 1175 1176
	* s/netbsd.h (LD_SWITCH_SYSTEM_TEMACS): Remove, configure sets nocombreloc.
	* s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Remove.

1177 1178 1179 1180 1181 1182
	Simplify STARTFILES definition.
	* s/hpux10-20.h (START_FILES): Explicitly define here instead of
	relying on Makefile.in to define it.
	* s/cygwin.h (START_FILES): Likewise.
	* Makefile.in (STARTFILES): Remove conditional code, not needed anymore.

Dan Nicolaescu's avatar
Dan Nicolaescu committed
1183 1184 1185 1186 1187 1188 1189 1190 1191
	Clean up Solaris code.
	* s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS, C_SWITCH_X_SYSTEM)
	(LIB_MOTIF): Remove, configure takes care of this.
	(NOT_USING_MOTIF): Remove, unused.
	* xrdb.c: Remove #if 0-ed #include.
	(SYSV): Remove conditional for old SysV.
	* sysdep.c (closedir): Remove conditional code for Solaris,
	Solaris has closedir.

Jan Djärv's avatar
Jan Djärv committed
1192 1193 1194 1195 1196
2010-04-22  Jan Djärv  <jan.h.d@swipnet.se>

	* xsettings.c (read_and_apply_settings): Check if current_font is
	NULL before strcmp (Bug#6001).

Dan Nicolaescu's avatar
Dan Nicolaescu committed
1197 1198 1199 1200 1201 1202 1203 1204
2010-04-21  Dan Nicolaescu  <dann@ics.uci.edu>

	Clean up HP-UX files.
	* m/hp800.h (NO_REMAP, VIRT_ADDR_VARIES, DATA_SEG_BITS)
	(DATA_START, TEXT_START, LOAD_AVE_TYPE, LOAD_AVE_CVT)
	(LDAV_SYMBOL, index, rindex): Move definitions only used in HP-UX ...
	* s/hpux10-20.h: ... to the only user, here.

Eli Zaretskii's avatar
Eli Zaretskii committed
1205 1206 1207 1208 1209 1210 1211 1212
2010-04-21  Eli Zaretskii  <eliz@gnu.org>

	* bidi.c (bidi_find_paragraph_start, bidi_at_paragraph_end): Don't
	use buffer-local values of paragraph-start and paragraph-separate.
	<paragraph_start_re, paragraph_separate_re>: Rename from
	fallback_paragraph_start_re and fallback_paragraph_separate_re.
	(Bug#5992)

1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237
2010-04-21  Jan Djärv  <jan.h.d@swipnet.se>

	* xsettings.c: Qmonospace_font_name, Qtool_bar_style and
	current_tool_bar_style are new.
	(store_config_changed_event): Rename from store_font_changed_event.
	(XSETTINGS_TOOL_BAR_STYLE): New define.
	(SEEN_FONT, SEEN_TB_STYLE): New enum values.
	(struct xsettings): Add font and tb_style, set xft stuff inside #ifdef
	HAVE_XFT.
	(something_changedCB): store_font_changed_event is now
	store_config_changed_event
	(parse_settings): Rename from parse_xft_settings.  Read
	non-xft xsettings outside #ifdef HAVE_XFT.
	(read_settings): Renamed from read_xft_settings.
	(apply_xft_settings): Take current settings as parameter.  Do not
	call read_(xft)_settings.
	(read_and_apply_settings): New function.
	(xft_settings_event): Do non-xft stuff out of HAVE_XFT.  Call
	read_and_apply_settings if there are settings to be read.
	(init_xsettings): Renamed from init_xfd_settings.
	Call read_and_apply_settings unconditionally.
	(xsettings_initialize): Call init_xsettings.
	(Ftool_bar_get_system_style): New function.
	(syms_of_xsettings): Define Qmonospace_font_name and
	Qtool_bar_style.  Initialize current_tool_bar_style to nil.
Juanma Barranquero's avatar
Juanma Barranquero committed
1238
	defsubr Stool_bar_get_system_style.  Fprovide on
1239
	dynamic-setting.
1240
	Move misplaced HAVE_GCONF
1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271

	* xsettings.h (Ftool_bar_get_system_style): Declare.

	* xdisp.c: Vtool_bar_style, tool_bar_max_label_size,
	Qtext, Qboth, Qboth_horiz are new.
	(syms_of_xdisp): Intern Qtext, Qboth, Qboth_horiz, DEFVAR
	Vtool_bar_style, tool_bar_max_label_size.

	* lisp.h: Extern declare Qtext, Qboth, Qboth_horiz.

	* keyboard.c: QClabel is new.
	(parse_tool_bar_item): Take out QClabel from tool bar items.
	Try to construct a label if ther is no QClabel.
	(syms_of_keyboard): Intern :label as QClabel.

	* dispextern.h (tool_bar_item_idx): TOOL_BAR_ITEM_LABEL is new.
	(Vtool_bar_style, tool_bar_max_label_size, DEFAULT_TOOL_BAR_LABEL_SIZE):
	New.

	* Makefile.in (SOME_MACHINE_LISP): font-setting.el renamed to
	dynamic-setting.el.

	* gtkutil.c (xg_tool_bar_menu_proxy): Handle label in tool bar item.
	(xg_make_tool_item, xg_show_toolbar_item): New function.
	(update_frame_tool_bar): Take label from TOOL_BAR_ITEM_LABEL.
	Call xg_make_tool_item to make a tool bar item.
	Call xg_show_toolbar_item.  Use wtoolbar instead of x->toolbar_widget.

	* xterm.c (x_draw_image_relief): Take Vtool_bar_button_margin
	into account for toolbars.

1272 1273 1274 1275
2010-04-21  Jan Djärv  <jan.h.d@swipnet.se>

	* data.c (make_blv): Declarations before code (Bug#5993).

1276 1277 1278 1279 1280 1281 1282
2010-04-21  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (DBUS_OBJ, GTK_OBJ, XMENU_OBJ, XOBJ):
	Define using autoconf, not cpp.
	(LIBXSM): New variable, set by autoconf.
	(LIBXT): Use $LIBXSM.

1283 1284
2010-04-21  Dan Nicolaescu  <local_user@dannlt>

1285 1286 1287 1288
	Remove NOMULTIPLEJOBS, unused.
	* s/template.h (NOMULTIPLEJOBS):
	* s/msdos.h (NOMULTIPLEJOBS): Remove, unused.

1289 1290 1291 1292 1293 1294
	Simplify LD_SWITCH_SYSTEM_TEMACS usage.
	* s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS):
	* s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Remove, configure
	detects -znocombreloc and passes it to the linker
	* s/hpux10-20.h (LD_SWITCH_SYSTEM_TEMACS): Remove, empty.

1295 1296 1297 1298
2010-04-21  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (LIBSELINUX_LIBS): Move out of #ifdef.

Karel Klíc's avatar
Karel Klíc committed
1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309
2010-04-21  Karel Klíč  <kklic@redhat.com>

	* Makefile.in (LIBSELINUX_LIBS): New.
	(LIBES): Add $LIBSELINUX_LIBS.
	* eval.c, lisp.h (call7): New function.
	* fileio.c [HAVE_LIBSELINUX]: Include selinux headers.
	(Ffile_selinux_context, Fset_file_selinux_context):
	New functions.
	(Fcopy_file): New parameter preserve-selinux-context.
	(Frename_file): Preserve selinux context when renaming by copy-file.

1310
2010-04-21  Juanma Barranquero  <lekktu@gmail.com>
1311
            Eli Zaretskii  <eliz@gnu.org>
1312

Juanma Barranquero's avatar
Juanma Barranquero committed
1313 1314 1315 1316 1317 1318 1319 1320
	Don't depend on cm.c or termcap.c on Windows, use stubs.
	* makefile.w32-in (OBJ1): Remove cm.$(O) and termcap.$(O).
	($(BLD)/cm.$(O), $(BLD)/termcap.$(O)): Remove.
	* w32console.c (current_tty, cost): New vars; lifted from cm.c.
	(evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear)
	(sys_tputs, sys_tgetstr): New stubs.
	* s/ms-w32.h (chcheckmagic, cmcostinit, cmgoto, cmputc, Wcm_clear)
	(tputs, tgetstr): New; define to sys_*.
1321

1322 1323 1324 1325
2010-04-20  Juanma Barranquero  <lekktu@gmail.com>

	* buffer.c (syms_of_buffer) <bidi-display-reordering>: Doc fix.

1326 1327
2010-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>

1328 1329 1330 1331
	* data.c (Fmake_variable_buffer_local, Fmake_local_variable):
	Just signal a warning rather than an error when inside a let.
	(Fmake_variable_frame_local): Add the same test.

1332 1333
	* font.c (syms_of_font): Make the style table vars read-only.

1334 1335 1336 1337 1338
	* buffer.h (struct buffer): Remove unused var `direction_reversed'.
	* buffer.c (init_buffer_once, syms_of_buffer): Remove its initialization.

	* bidi.c (bidi_initialize): Simplify fallback_paragraph_*_re init.

1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351
2010-04-20  Eli Zaretskii  <eliz@gnu.org>

	Fix R2L paragraph display on TTY.

	* xdisp.c (unproduce_glyphs): New function.
	(display_line): Use it when produced glyphs are discarded from R2L
	glyph rows.
	(append_composite_glyph): In R2L rows, prepend the glyph rather
	than appending it.

	* term.c (append_composite_glyph): In R2L rows, prepend the glyph
	rather than append it.  Set up the resolved_level and bidi_type
	attributes of the appended glyph.
1352 1353
	(produce_special_glyphs): Mirror the backslash continuation
	character in R2L lines.
1354

1355
	Implement display of R2L paragraphs in GUI sessions.
1356

1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370
	* xdisp.c [HAVE_WINDOW_SYSTEM]: Add prototype for
	append_stretch_glyph.
	(set_cursor_from_row) <cursor_x>: Remove unused variable.  Fix
	off-by-one error in computing x at end of text in the row.
	(append_stretch_glyph): In reversed row, prepend the glyph rather
	than append it.  Set resolved_level and bidi_type of the glyph.
	(extend_face_to_end_of_line): If the row is reversed, prepend a
	stretch glyph whose width is such that the rightmost glyph will be
	drawn at the right margin of the window.  Fix off-by-one error on
	TTY frames in testing whether a line needs face extension.  Fix
	face extension at ZV.  If this is the last glyph row, use
	DEFAULT_FACE_ID, to avoid painting the rest of the window with the
	region face.
	(set_cursor_from_row, display_line): Use
1371 1372
	MATRIX_ROW_CONTINUATION_LINE_P instead of testing value of
	row->continuation_lines_width.
1373 1374 1375
	(next_element_from_buffer): Don't call bidi_paragraph_init if we
	are at ZV.  Fixes a crash when reseated to ZV by
	try_window_reusing_current_matrix.
1376 1377 1378
	(display_and_set_cursor, erase_phys_cursor): Handle negative HPOS,
	which happens with R2L glyph rows.  Fixes a crash when inserting a
	character at end of an R2L line.
1379 1380 1381 1382 1383 1384 1385
	(set_cursor_from_row): Don't be fooled by truncated rows: don't
	treat them as having zero-width characters.  Improve comments.
	Don't reverse pos_before and pos_after for reversed glyph rows.
	Set cursor.x to negative value when the cursor might be on the
	left fringe.
	(IT_OVERFLOW_NEWLINE_INTO_FRINGE): For R2L lines, consider the
	left fringe, not the right one.
1386 1387 1388 1389
	(notice_overwritten_cursor, draw_phys_cursor_glyph)
	(erase_phys_cursor): For reversed cursor_row, support cursor on
	the left fringe.

1390 1391 1392 1393 1394
	* fringe.c (update_window_fringes): For R2L rows, swap the bitmaps
	of continuation indicators on the fringes.
	(draw_fringe_bitmap): For reversed glyph rows, allow cursor on the
	left fringe.

1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405
	* w32term.c (w32_draw_window_cursor): For reversed glyph rows,
	draw cursor on the left fringe.

	* xterm.c (x_draw_window_cursor): For reversed glyph rows, draw
	cursor on the left fringe.

	* dispnew.c (update_text_area): Handle reversed desired rows when
	the cursor is on the left fringe.
	(set_window_cursor_after_update): Limit cursor's hpos by -1 from
	below, not by 0, for when the cursor is on the left fringe.

1406 1407 1408 1409 1410
2010-04-20  Jan Djärv  <jan.h.d@swipnet.se>

	* gtkutil.c (xg_event_is_for_scrollbar): Check if grabbed
	widget is a scrollbar.

1411 1412 1413 1414 1415
2010-04-20  Kenichi Handa  <handa@m17n.org>

	* charset.c (char_charset): Consider Vcharset_non_preferred_head
	only when the arg CHARSET_LIST is nil.

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 1446 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 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485
2010-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>

	Make variable forwarding explicit rather the using special values.
	Basically, this makes the structure of buffer-local values and object
	forwarding explicit in the type of Lisp_Symbols rather than use
	special Lisp_Objects for that.  This tends to lead to slightly more
	verbose code, but is more C-like, simpler, and makes it easier to make
	sure we handled all cases, among other things by letting the compiler
	help us check it.
	* lisp.h (enum Lisp_Misc_Type, union Lisp_Misc):
	Removing forwarding objects.
	(enum Lisp_Fwd_Type, enum symbol_redirect, union Lisp_Fwd): New types.
	(struct Lisp_Symbol): Make the various forms of variable-forwarding
	explicit rather than hiding them inside Lisp_Object "values".
	(XFWDTYPE): New macro.
	(XINTFWD, XBOOLFWD, XOBJFWD, XKBOARD_OBJFWD): Redefine.
	(XBUFFER_LOCAL_VALUE): Remove.
	(SYMBOL_VAL, SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL)
	(SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD): New macros.
	(SYMBOL_VALUE, SET_SYMBOL_VALUE): Remove.
	(struct Lisp_Intfwd, struct Lisp_Boolfwd, struct Lisp_Objfwd)
	(struct Lisp_Buffer_Objfwd, struct Lisp_Kboard_Objfwd):
	Remove the Lisp_Misc_* header.
	(struct Lisp_Buffer_Local_Value): Redefine.
	(BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): New macros.
	(struct Lisp_Misc_Any): Add filler to get the right size.
	(struct Lisp_Free): Use struct Lisp_Misc_Any rather than struct
	Lisp_Intfwd.
	(DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT)
	(DEFVAR_KBOARD): Allocate a forwarding object.
	* data.c (do_blv_forwarding, store_blv_forwarding): New macros.
	(let_shadows_global_binding_p): New function.
	(union Lisp_Val_Fwd): New type.
	(make_blv): New function.
	(swap_in_symval_forwarding, indirect_variable, do_symval_forwarding)
	(store_symval_forwarding, swap_in_global_binding, Fboundp)
	(swap_in_symval_forwarding, find_symbol_value, Fset)
	(let_shadows_buffer_binding_p, set_internal, default_value)
	(Fset_default, Fmake_variable_buffer_local, Fmake_local_variable)
	(Fkill_local_variable, Fmake_variable_frame_local)
	(Flocal_variable_p, Flocal_variable_if_set_p)
	(Fvariable_binding_locus):
	* xdisp.c (select_frame_for_redisplay):
	* lread.c (Fintern, Funintern, init_obarray, defvar_int)
	(defvar_bool, defvar_lisp_nopro, defvar_lisp, defvar_kboard):
	* frame.c (store_frame_param):
	* eval.c (Fdefvaralias, Fuser_variable_p, specbind, unbind_to):
	* bytecode.c (Fbyte_code) <varref, varset>: Adapt to the new symbol
	value structure.
	* buffer.c (PER_BUFFER_SYMBOL): Move from buffer.h.
	(clone_per_buffer_values): Only adjust markers into the current buffer.
	(reset_buffer_local_variables): PER_BUFFER_IDX is never -2.
	(Fbuffer_local_value, set_buffer_internal_1)
	(swap_out_buffer_local_variables):
	Adapt to the new symbol value structure.
	(DEFVAR_PER_BUFFER): Allocate a Lisp_Buffer_Objfwd object.
	(defvar_per_buffer): Take a new arg for the fwd object.
	(buffer_lisp_local_variables): Return a proper alist (different fix
	for bug#4138).
	* alloc.c (Fmake_symbol): Use SET_SYMBOL_VAL.
	(Fgarbage_collect): Don't handle buffer_defaults specially.
	(mark_object): Handle new symbol value structure rather than the old
	special Lisp_Misc_* objects.
	(gc_sweep) <symbols>: Free also the buffer-local-value objects.
	* term.c (set_tty_color_mode):
	* bidi.c (bidi_initialize): Don't access the ->value field directly.
	* buffer.h (PER_BUFFER_VAR_OFFSET): Don't bother with
	a buffer_local_flags.
	* print.c (print_object): Get rid of impossible forwarding objects.

1486 1487 1488 1489
2010-04-19  Eli Zaretskii  <eliz@gnu.org>

	* bidi.c (bidi_get_type, bidi_get_category)
	(bidi_at_paragraph_end, bidi_resolve_weak, bidi_resolve_neutral)
1490 1491
	(bidi_type_of_next_char, bidi_level_of_next_char):
	Declare static.  Use `INLINE' rather than `inline'.
1492