ChangeLog 422 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
2014-05-22  Paul Eggert  <eggert@cs.ucla.edu>

	Supply malloc and alloc_size attributes for extern allocators.
	This documents the C API, and helps GCC generate a bit better code.
	* conf_post.h (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE)
	(ATTRIBUTE_MALLOC_SIZE): New macros.
	* gmalloc.c (malloc, realloc, calloc):
	* gtkutil.h (malloc_widget_value):
	* lisp.h (ralloc, r_re_alloc, xmalloc, xzalloc, xrealloc, xnmalloc)
	(xnrealloc, xstrdup, xlispstrdup, record_xmalloc):
	Use them.

13 14 15 16 17 18
2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	Don't assume that ImageMagick uses a 16-bit quantum (Bug#17519).
	* image.c (imagemagick_load_image): Port to hosts that do not use
	a 16-bit quantum, i.e., QuantumRange does not equal 65535.

19 20 21 22
2014-05-21  Leo Liu  <sdl.web@gmail.com>

	* fns.c (Fnreverse): Accept strings for SEQ and update doc-string.

23 24 25 26
2014-05-20  Michael Albinus  <michael.albinus@gmx.de>

	* dbusbind.c (xd_signature): Revert last 2 patches.

27 28 29 30 31 32 33 34 35 36 37
2014-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	Allow any non-nil value to count as true in bool-vector.
	Likewise for xd_signature in dbusbind.c.
	This is more consistent with the usual practice in Emacs, which is
	that any non-nil value counts as true.
	* alloc.c (Fbool_vector): Don't require args to be t or nil.
	* dbusbind.c (xd_signature): Likewise, for booleans.
	* data.c, lisp.h (Qbooleanp):
	* lisp.h (CHECK_BOOLEAN): Remove.  All uses removed.

38 39 40 41 42 43 44 45 46
2014-05-19  Dmitry Antipov  <dmantipov@yandex.ru>

	* lisp.h (CHECK_BOOLEAN): New function.
	* alloc.c (Fbool_vector): New function.
	(syms_of_alloc): Defsubr it.
	* data.c (Qbooleanp): New symbol.
	(syms_of_data): DEFSYM it.
	* dbusbind.c (xd_signature): Use CHECK_BOOLEAN.

47 48 49
	* font.c (font_matching_entity): Extract font-entity object
	from the vector of matching entities (Bug#17486).

Paul Eggert's avatar
Paul Eggert committed
50 51 52 53 54 55 56 57 58 59
2014-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	Assume C99 or later (Bug#17487).
	* bytecode.c (B__dummy__): Remove.
	* conf_post.h (bool_bf) [!NS_IMPL_GNUSTEP]: Use bool.
	(FLEXIBLE_ARRAY_MEMBER): Now always empty.
	* dbusbind.c (XD_DEBUG_MESSAGE) [!DBUS_DEBUG]:
	* regex.c (DEBUG_PRINT): Assume varargs macros.
	* lisp.h (DEFUN_FUNCTION_INIT): Remove.  All uses now assume C99.

60 61 62 63 64
2014-05-17  Fabrice Popineau  <fabrice.popineau@gmail.com>

	* buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Always map new
	memory for every buffer that was dumped.

65 66 67
2014-05-15  Dmitry Antipov  <dmantipov@yandex.ru>

	* fns.c (Freverse): Allow vectors, bool vectors and strings.
68
	(Fnreverse): Allow vectors and bool vectors.
69

70 71 72 73 74 75 76 77 78 79 80 81
2014-05-14  Dmitry Antipov  <dmantipov@yandex.ru>

	Minor cleanup for terminal setup.
	* termhooks.h (create_terminal): Adjust prototype.
	* terminal.c (create_terminal): Pass output method and RIF as args.
	(init_initial_terminal):
	* nsterm.m (ns_create_terminal):
	* term.c (init_tty):
	* w32term.c (w32_create_terminal):
	* xterm.c (x_create_terminal): Adjust users.
	Avoid redundant NULL initializers and add comments.

82 83 84 85
2014-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	* keyboard.c (Qdeactivate_mark): Now static.

86 87 88 89 90 91 92 93 94 95 96 97 98
2014-05-13  Dmitry Antipov  <dmantipov@yandex.ru>

	If available, use Xfixes extension to do pointer blanking.
	* Makefile.in (XFIXES_CFLAGS, XFIXES_LIBS): New var.
	* xfns.c (x_set_mouse_color): Do not call make_invisible_cursor here.
	(make_invisible_cursor): Move to...
	* xterm.c (make_invisible_cursor): ...here.
	(x_probe_xfixes_extension, xfixes_toggle_visible_pointer)
	(x_toggle_visible_pointer, x_setup_pointer_blanking): New functions.
	(x_term_init): Call to x_setup_pointer_blanking.
	(XTtoggle_invisible_pointer): Use blanking specific to this display.
	* xterm.h (struct x_display_info): New member toggle_visible_pointer.

99 100 101 102
2014-05-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* xdisp.c (draw_glyphs): Set clipping to highlight boundaries.

103
2014-05-12  Glenn Morris  <rgm@gnu.org>
104 105 106

	* fileio.c (Ffile_executable_p): Doc tweak.

107
2014-05-12  Jan Djärv  <jan.h.d@swipnet.se>
108 109 110 111

	* xsettings.c (init_gsettings): Use g_settings_schema_source_lookup
	instead of deprecated g_settings_list_schemas if possible (Bug#17434).

112
2014-05-08  Paul Eggert  <eggert@cs.ucla.edu>
113 114 115

	* minibuf.c (read_minibuf): Avoid C99ism in previous patch (Bug#17430).

116
2014-05-08  Jarek Czekalski  <jarekczek@poczta.onet.pl>
117 118 119 120 121

	Fix initialization of minibuffer history variable (Bug#17430).
	* minibuf.c (read_minibuf): Initialize histval to Qnil if unbound.
	Move the initialization up to prevent any "value void" message.

122
2014-05-08  Samuel Bronson  <naesten@gmail.com>
123 124 125 126

	* keyboard.c (Frecursive_edit): Ensure inc&dec of command_loop_level
	are matched (bug#17413).

127
2014-05-08  Jarek Czekalski  <jarekczek@poczta.onet.pl>
128 129 130 131 132

	Stop tooltips pulling Emacs window to front (Bug#17408).
	* w32fns.c (Fx_show_tip): Add SWP_NOOWNERZORDER flag to
	SetWindowPos invocations.

133
2014-05-08  Jan Djärv  <jan.h.d@swipnet.se>
134 135 136 137

	* nsselect.m (Fx_selection_exists_p): Just return Qnil if window system
	not initialized (Bug#17398).

138 139 140 141
2014-05-07  Paul Eggert  <eggert@cs.ucla.edu>

	* image.c: Include <png.h> before <setjmp.h> (Bug#17429).

142 143 144 145 146 147 148 149
2014-05-06  Paul Eggert  <eggert@cs.ucla.edu>

	* image.c: Do not use libpng if HAVE_NS, as NS does its own thing.
	[HAVE_NS]: Do not include png.h.
	(x_query_frame_background_color): New function.
	(png_load_body, imagemagick_load_image, svg_load_image): Use it.
	(png_load_body): Coalesce duplicate code.

Paul Eggert's avatar
Paul Eggert committed
150 151
2014-05-04  Paul Eggert  <eggert@cs.ucla.edu>

152 153 154 155 156
	Consult libpng-config more consistently (Bug#17339).
	* Makefile.in (PNG_CFLAGS): New var.
	(ALL_CFLAGS): Use it.
	* image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
	CFLAGS now handles this.
Paul Eggert's avatar
Paul Eggert committed
157

158 159 160 161 162 163 164
2014-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	Handle systems without WCONTINUED consistently.  (Bug#15110, 17339)
	* process.c (handle_child_signal): Remove WCONTINUED ifdef,
	because WCONTINUED is always defined now.
	* syswait.h (WCONTINUED): Move here from ../lib-src/emacsclient.c.

Eli Zaretskii's avatar
Eli Zaretskii committed
165 166 167 168
2014-05-03  Eli Zaretskii  <eliz@gnu.org>

	* buffer.c (overlay_strings): Fix the wording of the commentary.

Glenn Morris's avatar
Glenn Morris committed
169 170 171 172 173
2014-05-01  Glenn Morris  <rgm@gnu.org>

	* floatfns.c (Fisnan):
	* profiler.c (Fprofiler_cpu_running_p): Doc fix (replace `iff').

174 175 176 177 178
2014-05-01  Eli Zaretskii  <eliz@gnu.org>

	* term.c (tty_menu_activate): A better initialization for cursor
	coordinates.

179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
2014-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>

	* intervals.c: Tighten assertions.
	(create_root_interval): Make sure the interval is not empty.
	(intervals_equal): Use booleans.
	(rotate_right, rotate_left): Check LENGTHs rather than TOTAL_LENGTH.
	(balance_an_interval): Sanity check LENGTHs and TOTAL_LENGTHs.
	(balance_possible_root_interval): Simplify and use booleans.
	(split_interval_right, split_interval_left): Check LENGTH, and remove
	now redundant assertion.
	(adjust_intervals_for_insertion): Remove now redundant assertions.
	(delete_node, interval_deletion_adjustment)
	(adjust_intervals_for_deletion, merge_interval_right)
	(merge_interval_left): Check LENGTH rather than TOTAL_LENGTH.
	(reproduce_interval): Make sure the interval is not empty.

195 196 197 198 199 200
2014-04-30  Paul Eggert  <eggert@cs.ucla.edu>

	* term.c (tty_menu_activate): Don't assume row and col are initialized.
	GCC 4.9.0 warned about this, and I couldn't easily prove to my own
	satisfaction that they would always be initialized.

201
2014-04-30  Eli Zaretskii  <eliz@gnu.org>
202

203
	* term.c (tty_menu_display): Move the cursor to the active menu item.
204 205 206 207 208 209
	(tty_menu_activate): Return the cursor to the active menu item
	after displaying the menu and after displaying help-echo.  See
	http://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00402.html
	for the details of why this is needed by screen readers and
	Braille displays.

210
2014-04-30  Glenn Morris  <rgm@gnu.org>
211 212 213 214

	* process.c (handle_child_signal):
	Handle systems without WCONTINUED.  (Bug#15110, 17339)

215 216 217 218 219 220
2014-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>

	* window.c (struct saved_window): Remove mark.
	(Fset_window_configuration, save_window_save)
	(compare_window_configurations): Don't touch marks any more.

221 222
2014-04-28  Paul Eggert  <eggert@cs.ucla.edu>

Paul Eggert's avatar
Paul Eggert committed
223 224 225 226 227 228
	Use bits_word for gcmarkbits.
	* alloc.c (struct cons_block, struct float_block): On 64-bit hosts,
	bits_word is typically a tad more efficient for mark bits than
	unsigned is, so use bits_word.  All uses changed.
	* lisp.h (BITS_PER_INT): Remove; no longer used.

229 230 231 232 233 234 235 236 237 238
	Avoid undefined behavior in signed left shift.
	This ports to GCC 4.9.0 with -fsanitize=undefined.
	* alloc.c (bool_vector_fill, SETMARKBIT, UNSETMARKBIT):
	* data.c (Fash):
	* regex.c (extract_number):
	* lisp.h (make_number, XINT):
	Do not shift a 1 bit left into a sign bit.
	* alloc.c (struct cons_block, struct float_block): Use unsigned,
	not int, for gcmarkbits.  All uses changed.

239
2014-04-25  Eli Zaretskii  <eliz@gnu.org>
240 241

	* search.c (Fnewline_cache_check): Don't try to count newlines
242
	outside the buffer's restriction, as find_newline doesn't support that.
243

244 245 246 247 248 249 250 251 252 253
2014-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* window.c (Fset_window_configuration): Deactivate the mark before
	unsetting the mark.
	(set_window_buffer): Ignore window_initialized.
	(window_initialized): Remove.
	* keyboard.c (Qdeactivate_mark): Not static any more.
	* buffer.c (buffer_local_value): Rename from buffer_local_value_1.
	Update all callers.

254 255 256 257 258 259 260
2014-04-23  Paul Eggert  <eggert@cs.ucla.edu>

	* conf_post.h (ADDRESS_SANITIZER_WORKAROUND): Port to GCC 4.9.0
	and to clang 3.4, which have fixed the bug.  This should let us
	run a bit faster on these platforms when address sanitization is
	in effect.

261 262
2014-04-22  Paul Eggert  <eggert@cs.ucla.edu>

263 264 265 266 267 268
	Port to GCC 4.9.0 with --enable-gcc-warnings.
	* image.c (struct my_jpeg_error_mgr) [lint]: Remove member fp.
	All uses removed.
	(jpeg_load_body) [lint]: Add a 'volatile' to pacify a buggy GCC in
	a way that also works with GCC 4.9.0.

269 270
	* search.c (Fnewline_cache_check): Remove unused locals.

271 272 273 274 275 276
2014-04-22  Eli Zaretskii  <eliz@gnu.org>

	* search.c (find_newline1): New subroutine.
	(Fnewline_cache_check): New function.
	(syms_of_search): Defsubr it.

277
2014-04-22  Jarek Czekalski  <jarekczek@poczta.onet.pl>
278 279 280 281 282

	Fix freezing with scroll bars of GTK3 Toolkit (bug#15801).
	* keyboard.c (unblock_input): Add comment.
	* xgselect.c (xg_select): Prevent Glib main loop recursion.

283 284 285 286 287 288 289 290
2014-04-22  Daniel Colascione  <dancol@dancol.org>

	* lread.c (readevalloop_eager_expand_eval): New function
	that can recurse into toplevel forms.
	(readevalloop): Call it.
	* lisp.h: Declare Qprogn.
	* callint.c (Qprogn): No longer static.

291 292 293 294 295 296
2014-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* intervals.c (rotate_right, rotate_left): Fix up length computation.
	Also change identifiers to match the comments, and add more assertions
	(bug#16234).

297 298 299 300
2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>

	* emacs.c (close_output_streams): Don't clear and restore errno.

301
2014-04-18  Jan Djärv  <jan.h.d@swipnet.se>
302 303 304 305

	* xterm.c (x_make_frame_visible): Prevent endless loop when frame
	never becomes visible, i.e. using XMonad  (Bug#17237).

306
2014-04-18  Eli Zaretskii  <eliz@gnu.org>
307

308 309 310 311
	* xdisp.c (insert_left_trunc_glyphs): Ensure the left truncation
	glyph is written to TEXT_AREA of the temporary glyph_row.  (Bug#17288)
	(Fline_pixel_height): Don't assume that the current buffer and the
	selected window's buffer are one and the same.  (Bug#17281)
312

313 314 315
	* insdel.c (invalidate_buffer_caches): Invalidate the bidi
	paragraph-start cache before the newline cache.  (Bug#17269)

316 317 318 319 320 321 322
2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	* term.c (tty_send_additional_strings): No need to fflush here,
	as callers fflush.
	(tty_set_terminal_modes): fflush after sending additional strings,
	not before.

323 324 325 326 327 328 329 330 331
2014-04-17  Daniel Colascione  <dancol@dancol.org>

	* term.c (Qtty_mode_set_strings, Qtty_mode_reset_strings): New
	symbols.
	(tty_send_additional_strings): New function.
	(tty_set_terminal_modes, tty_reset_terminal_modes): Use it.
	(syms_of_term): Intern tty-mode-set-strings and
	tty-mode-reset-strings.

332 333 334 335 336 337 338
2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* window.c (save_window_save): Lookup window_point_insertion_type in
	the right buffer (bug#15457).
	(Qwindow_point_insertion_type): New var.
	(syms_of_window): Initialize it.

Eli Zaretskii's avatar
Eli Zaretskii committed
339 340
2014-04-16  Eli Zaretskii  <eliz@gnu.org>

341
	Fix the MSDOS build.
Eli Zaretskii's avatar
Eli Zaretskii committed
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
	* unexcoff.c [MSDOS]: Include libc/atexit.h.
	(copy_text_and_data): Zero out the atexit chain pointer before
	dumping Emacs.

	* termhooks.h (encode_terminal_code): Update prototype.

	* term.c (encode_terminal_code) [DOS_NT]: Make it externally
	visible for all DOS_NT ports, not just WINDOWSNT.
	(syms_of_term) [!MSDOS]: Don't define 'tty-menu-*' symbols on MSDOS.

	* sysdep.c (emacs_sigaction_init, init_signals): Don't use SIGCHLD
	unless it is defined.
	(emacs_pipe) [MSDOS]: Redirect to 'pipe'.

	* process.c (close_on_exec, accept4, process_socket): Move into
	the "ifdef subprocesses" part.
	(catch_child_signal): Condition by "ifdef subprocesses".
	(syms_of_process) <Qinternal_default_process_sentinel>
	<Qinternal_default_process_filter>: Condition by "ifdef subprocesses".

	* msdos.h: Add prototypes for new functions.
	(EINPROGRESS): Define.
	(O_CLOEXEC): Define to zero.

	* msdos.c (check_window_system): Remove unnecessary an
	incompatible duplicate function.
368 369
	(sys_opendir, readlinkat, faccessat, fstatat, unsetenv):
	New functions in support of new functionality.
Eli Zaretskii's avatar
Eli Zaretskii committed
370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398

	* menu.c (single_menu_item): Add visual indication  of submenu
	also for menus on MSDOS frames.
	(Fx_popup_menu) [!MSDOS]: Do not call tty_menu_show on MSDOS.

	* lisp.h (CHECK_PROCESS) [!subprocesses]: Do not define
	when async subprocesses aren't supported.

	* font.h (FONT_WIDTH) [MSDOS]: MSDOS-specific definition.

	* emacs.c (close_output_streams): Zero out errno before calling
	close_stream.

	* dired.c [MSDOS]: Include msdos.h.

	* conf_post.h (opendir) [MSDOS]: Redirect to sys_opendir.
	(DATA_START) [MSDOS]: Define.
	(SYSTEM_PURESIZE_EXTRA) [MSDOS]: Enlarge by 25K.

	* callproc.c (block_child_signal, unblock_child_signal) [MSDOS]:
	Ifdef away for MSDOS.
	(record_kill_process) [MSDOS]: Ifdef away the entire body for MSDOS.
	(call_process_cleanup) [MSDOS]: Ifdef away portions not relevant
	for MSDOS.
	(call_process) [MSDOS]: Fix call sequence of dostounix_filename.
	Use temporary file template that is compatible with mkostemp.
	Move vfork-related portions under #ifndef MSDOS.
	(syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.

399
2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
400 401 402

	* buffer.c (Foverlays_at): Add argument `sorted'.

403
2014-04-16  Eli Zaretskii  <eliz@gnu.org>
404 405 406 407 408

	* insdel.c (invalidate_buffer_caches): When deleting or replacing
	text, invalidate the bidi_paragraph_cache upto and including the
	preceding newline.

409
2014-04-16  Paul Eggert  <eggert@cs.ucla.edu>
Paul Eggert's avatar
Paul Eggert committed
410 411 412 413 414 415

	Port to IRIX 6.5 (Bug#9684).
	* conf_post.h (INET6) [IRIX6_5]: Define.
	(HAVE_GETADDRINFO) [IRIX6_5]: Undef.
	* data.c (BITS_PER_ULL): Don't assume ULLONG_MAX is defined.

416
2014-04-16  Eli Zaretskii  <eliz@gnu.org>
417

418 419 420
	* keyboard.c (Fopen_dribble_file): Encode the dribble file-name
	before passing it to system APIs.

421
2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
422 423 424 425

	* bytecode.c (exec_byte_code): Rework the volatiles.  Most importantly,
	make sure stack.byte_string_start is not de-adjusted by pushhandler.

426
2014-04-16  Paul Eggert  <eggert@cs.ucla.edu>
427 428 429

	* keyboard.c (Fopen_dribble_file): Avoid some races.  (Bug#17187)

Paul Eggert's avatar
Paul Eggert committed
430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449
2014-04-15  Paul Eggert  <eggert@cs.ucla.edu>

	Remove DATA_SEG_BITS.
	The DATA_SEG_BITS hack was needed for older 32 bit platforms.
	As a result of this change, Emacs won't work on IRIX 6.5 with IRIX
	cc, but that platform is so old that SGI itself stopped supporting
	it in December 2013.  If you still need Emacs on IRIX, please
	either compile with GCC and port the undumping code, or run
	'./configure --with-wide-int'.
	* alloc.c (gdb_make_enums_visible): Update to match lisp.h.
	* lisp.h (GCTYPEBITS): Move definition up, and switch to the
	DEFINE_GDB_SYMBOL_START way to define it.
	(NONPOINTER_BITS): New macro.
	(EMACS_INT): Use it.
	[!USE_LSB_TAG && !WIDE_EMACS_INT]: Fail, and suggest reporting
	the problem and/or configuring --with-wide-int.
	(USE_LSB_TAG): Simplify, based on above changes.
	(gdb_DATA_SEG_BITS): Remove.  All uses removed.
	* vm-limit.c (exceeds_lisp_ptr): Remove.  All uses removed.

450 451 452 453 454 455 456 457 458 459
2014-04-12  Eli Zaretskii  <eliz@gnu.org>

	* xdisp.c (move_it_by_lines): If a large portion of buffer text is
	covered by a display string that ends in a newline, and that cases
	going back by DVPOS lines to hit the search limit, lift the limit
	and go back until DVPOS is reached.  (Bug#17244)

	* indent.c (Fvertical_motion): Handle correctly the case when the
	display string is preceded by an empty line.

460 461 462
	* w32.c (sys_umask) <WRITE_USER>: Remove redundant constant, and
	use S_IWRITE instead.

463 464 465 466
2014-04-11  Glenn Morris  <rgm@gnu.org>

	* keyboard.c (Fopen_dribble_file): Make file private.  (Bug#17187)

467
2014-04-11  Ken Brown  <kbrown@cornell.edu>
468 469 470

	* Makefile.in (EMACS_MANIFEST): Revert last change.

Daniel Colascione's avatar
Daniel Colascione committed
471 472 473 474
2014-04-10  Daniel Colascione  <dancol@dancol.org>

	* puresize.h (BASE_PURESIZE): Increase.

475 476
2014-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>

477 478
	* keyboard.c (syms_of_keyboard): Make deactivate-mark buffer-local.

479 480 481 482 483
	* insdel.c (prepare_to_modify_buffer_1): Cancel lock-file checks and
	region handling (and don't call signal_before_change) if
	inhibit_modification_hooks is set.
	(signal_before_change): Don't check inhibit_modification_hooks any more.

Daniel Colascione's avatar
Daniel Colascione committed
484
2014-04-08  Daniel Colascione  <dancol@dancol.org>
485

Daniel Colascione's avatar
Daniel Colascione committed
486 487 488
	* alloc.c (sweep_symbols, mark_object): Assert that symbol
	function cells contain valid lisp objects.  (Modified version of
	patch from Dmitry).
489 490 491 492 493

	* alloc.c (detect_suspicious_free): Split actual stack capturing
	out into new function for easier breakpoint setting.
	(note_suspicious_free): New function.

494 495 496 497 498 499 500 501 502 503 504 505 506 507 508
2014-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lisp.h (struct Lisp_Symbol): New bitfield `pinned'.

	* alloc.c: Keep track of symbols referenced from pure space (bug#17168).
	(symbol_block_pinned): New var.
	(Fmake_symbol): Initialize `pinned'.
	(purecopy): New function, extracted from Fpurecopy.  Mark symbols as
	pinned and signal an error for un-purifiable objects.
	(pure_cons): Use it.
	(Fpurecopy): Use it, except for objects that can't be purified.
	(mark_pinned_symbols): New function.
	(Fgarbage_collect): Use it.
	(gc_sweep): Remove hack made unnecessary.

Glenn Morris's avatar
Glenn Morris committed
509
2014-04-07  Glenn Morris  <rgm@gnu.org>
510 511 512

	* keyboard.c (Fopen_dribble_file): Doc tweak.

Glenn Morris's avatar
Glenn Morris committed
513
2014-04-07  Ken Brown  <kbrown@cornell.edu>
514 515 516

	* Makefile.in (EMACS_MANIFEST): Update comment.  (Bug#17176)

517 518 519 520 521 522 523
2014-04-07  Paul Eggert  <eggert@cs.ucla.edu>

	* alloc.c: Simplify by removing use of HAVE_EXECINFO_H.
	We have a substitute execinfo.h on hosts that lack it.
	(suspicious_free_history): Make it EXTERNALLY_VISIBLE so it
	isn't optimized away.

524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540
2014-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer 'ARRAYELTS (x)' to 'sizeof x / sizeof *x'.
	* alloc.c (memory_full):
	* charset.c (syms_of_charset):
	* doc.c (Fsnarf_documentation):
	* emacs.c (main):
	* font.c (BUILD_STYLE_TABLE):
	* keyboard.c (make_lispy_event):
	* profiler.c (setup_cpu_timer):
	* xgselect.c (xg_select):
	* xterm.c (record_event, STORE_KEYSYM_FOR_DEBUG):
	Use ARRAYELTS.
	* font.c (FONT_PROPERTY_TABLE_SIZE): Remove.
	Replace the only use with ARRAYELTS (font_property_table).
	* xfaces.c (DIM): Remove.  All uses replaced by ARRAYELTS.

541 542
2014-04-03  Daniel Colascione  <dancol@dancol.org>

Glenn Morris's avatar
Glenn Morris committed
543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568
	* xterm.c (x_term_init):
	* xfns.c (best_xim_style):
	* xfaces.c (Fdump_colors):
	* w32fns.c (w32_default_color_map):
	* w32.c (init_environment, N_ENV_VARS):
	* unexcw.c (read_exe_header):
	* term.c (term_get_fkeys_1):
	* sysdep.c (init_baud_rate):
	* nsterm.m (ns_convert_key):
	* nsfns.m (get_geometry_from_preferences):
	* msdos.c (dos_set_window_size, init_environment):
	* macfont.m (mac_font_get_glyph_for_cid)
	(macfont_store_descriptor_attributes)
	(macfont_create_attributes_with_spec, mac_ctfont_get_glyph_for_cid):
	* keyboard.c (command_loop_1, read_menu_command, make_lispy_event)
	(NUM_MOD_NAMES, read_key_sequence_vs, Fcurrent_input_mode)
	(syms_of_keyboard):
	* image.c (xpm_str_to_color_key):
	* fringe.c (MAX_STANDARD_FRINGE_BITMAPS):
	* frame.c (x_set_frame_parameters):
	* fileio.c (Ffile_selinux_context):
	* emacs.c (sort_args):
	* dosfns.c (msdos_stdcolor_name):
	* dired.c (file_attributes):
	* chartab.c (uniprop_decoder_count, uniprop_encode_count):
	Change expressions of the form sizeof(arr) / sizeof(arr[0])
569
	to ARRAYELTS (arr).
570 571 572

2014-04-02  Daniel Colascione  <dancol@dancol.org>

573 574 575
	* data.c (Ffset): Abort if we're trying to set a function call to
	a dead lisp object.

576
	* lisp.h (ARRAYELTS): New macro.
577

578 579 580
	* alloc.c: Include execinfo.h if available.
	(SUSPICIOUS_OBJECT_CHECKING): New macro; define unconditionally.
	(suspicious_free_record): New structure.
581 582 583 584
	(suspicious_objects, suspicious_object_index)
	(suspicious_free_history, suspicious_free_history_index):
	New variables.
	(find_suspicious_object_in_range, detect_suspicious_free)
585 586 587
	(Fsuspicious_object): New functions.
	(cleanup_vector): Call find_suspicious_object_in_range.

588 589 590 591 592
2014-04-02  Martin Rudalics  <rudalics@gmx.at>

	* xterm.c (x_new_font): Don't calculate non-toolkit scrollbar
	width from font width (Bug#17163).

593 594 595 596
	* frame.c (x_set_frame_parameters): Calculate default values of
	new frame sizes only after all other frame parameters have been
	processed (Bug#17142).

597
2014-04-02  Ken Brown  <kbrown@cornell.edu>
598 599 600 601

	* conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Set to 10000.
	(Bug#17112)

602
2014-04-02  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
603 604 605 606

	* xterm.c (x_draw_image_glyph_string): Adjust image background
	width accordingly when its x position is adjusted.  (Bug#17115)

607 608 609 610 611 612
2014-04-02  Dmitry Antipov  <dmantipov@yandex.ru>

	* font.c (font_list_entities): Do not add empty vector to font cache.
	(font_matching_entity): Likewise.  If matching entity is found, insert
	1-item vector with this entity instead of entity itself (Bug#17125).

613 614
	* xterm.c (x_term_init) [USE_LUCID]: Fix minor memory leak.

615 616 617 618 619 620 621 622 623 624
2014-04-01  Paul Eggert  <eggert@cs.ucla.edu>

	* fns.c (validate_subarray): Rename from validate_substring,
	since it works for vectors too.  New arg ARRAY.  Optimize for the
	non-nil case.  Instead of returning bool, throw an error if out of
	range, so that the caller needn't do that.  All uses changed.
	Report original values if out of range.
	(Fsubstring, Fsubstring_no_properties, secure_hash):
	Also optimize the case where FROM is 0 or TO is the size.

625 626 627 628 629
2014-03-31  Dmitry Antipov  <dmantipov@yandex.ru>

	* search.c (Freplace_match): Use make_specified_string.
	* xterm.c, w32term.c (x_set_glyph_string_gc): Use emacs_abort
	to catch bogus override face of glyph strings.
630 631 632
	* fns.c (Fsubstring, Fsubstring_no_properties, secure_hash):
	Move common substring range checking code to...
	(validate_substring): ...this function.
633

634 635 636 637
2014-03-31  Jan Djärv  <jan.h.d@swipnet.se>

	* nsmenu.m (free_frame_tool_bar): Set wait_for_tool_bar = NO (Bug#16976)

638 639 640 641 642 643 644 645 646 647 648
2014-03-30  Jan Djärv  <jan.h.d@swipnet.se>

	* nsterm.m (updateFrameSize:): If waiting for the tool bar and tool
	bar is zero height, just return (Bug#16976).
	(initFrameFromEmacs:): Initialize wait_for_tool_bar.

	* nsterm.h (EmacsView): Add wait_for_tool_bar.

	* nsmenu.m (update_frame_tool_bar): Return early if view or toolbar
	is nil.  If waiting for toolbar to complete, force a redraw.

649 650
2014-03-28  Glenn Morris  <rgm@gnu.org>

Glenn Morris's avatar
Glenn Morris committed
651 652 653 654 655
	* emacs.c (emacs_version): Use PACKAGE_VERSION rather than VERSION.
	(emacs_bugreport): New variable.
	(usage_message): Use PACKAGE_BUGREPORT.
	(syms_of_emacs) <report-emacs-bug-address>: New variable.

656 657
	* emacs.c (syms_of_emacs) <system-configuration-features>: New var.

658 659 660 661 662 663 664 665
2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Port recent signal-related changes to FreeBSD.
	Problem reported by Herbert J. Skuhra.
	* lisp.h (block_tty_out_signal, unblock_tty_out_signal):
	Move decls from here ...
	* syssignal.h: ... to here, so that lisp.h doesn't depend on signal.h.

666 667 668 669 670 671
2014-03-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* w32term.c (x_draw_image_glyph_string): Fix computation of height
	and width of image background when it is displayed with a 'box'
	face.  (Bug#17115)

672
2014-03-27  Paul Eggert  <eggert@penguin.cs.ucla.edu>
673 674 675 676

	More backward-compatible fix to char-equal core dump (Bug#17011).
	* editfns.c (Fchar_equal): In unibyte buffers, assume values in
	range 128-255 are raw bytes.  Suggested by Eli Zaretskii.
677

678 679 680 681 682 683
2014-03-27  Juanma Barranquero  <lekktu@gmail.com>

	* image.c (init_svg_functions): When loading SVG-related libraries,
	free already loaded libraries if the initialization fails.
	(rsvg_handle_set_size_callback): Remove declaration, unused.

684 685
2014-03-26  Paul Eggert  <eggert@cs.ucla.edu>

Paul Eggert's avatar
Paul Eggert committed
686 687 688 689 690
	Fix core dump in char-equal (Bug#17011).
	* editfns.c (Fchar_equal): Do not use MAKE_CHAR_MULTIBYTE in
	unibyte buffers, as we can't tell whether the characters are
	actually unibyte.

691 692
	* insdel.c (adjust_markers_for_delete): Remove unused local.

693
2014-03-26  Barry O'Reilly  <gundaetiapo@gmail.com>
694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711

	Have (MARKER . ADJUSTMENT) undo records always be immediately
	after their corresponding (TEXT . POS) record in undo list.
	(Bug#16818)
	* lisp.h (record-delete): New arg record_markers.
	(record_marker_adjustment): No longer needed outside undo.c.
	* insdel.c (adjust_markers_for_delete): Move calculation of marker
	adjustments to undo.c's record_marker_adjustments.  Note that
	fileio.c's decide_coding_unwind is another caller to
	adjust_markers_for_delete.  Because it has undo list bound to t,
	it does not rely on adjust_markers_for_delete to record marker
	adjustments.
	(del_range_2): Swap call to record_delete and
	adjust_markers_for_delete so as undo marker adjustments are
	recorded before current deletion's adjustments, as before.
	(adjust_after_replace):
	(replace_range): Pass value for new record_markers arg to
	delete_record.
712
	* undo.c (record_marker_adjustment): Rename to
713 714 715 716 717 718 719 720
	record_marker_adjustments and made static.
	(record_delete): Check record_markers arg and call
	record_marker_adjustments.
	(record_change): Pass value for new record_markers arg to
	delete_record.
	(record_point): at_boundary calculation no longer needs to account
	for marker adjustments.

721
2014-03-26  Martin Rudalics  <rudalics@gmx.at>
722 723 724 725

	* w32term.c (x_set_window_size): Refine fix from 2014-03-14
	(Bug#17077).

726
2014-03-26  Glenn Morris  <rgm@gnu.org>
727 728 729

	* fileio.c (Ffile_symlink_p): Doc fix. (Bug#17073)

730
2014-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
731 732 733 734 735

	* buffer.c (struct sortvec): Add field `spriority'.
	(compare_overlays): Use it.
	(sort_overlays): Set it.

736
2014-03-26  Eli Zaretskii  <eliz@gnu.org>
737 738 739

	* xdisp.c (redisplay_window): If all previous attempts to find the
	cursor row failed, try a few alternatives before falling back to
740
	the top-most row of the window.  Use row_containing_pos.  (Bug#17047)
741

742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763
2014-03-26  Juanma Barranquero  <lekktu@gmail.com>

	* image.c (x_bitmap_height, x_bitmap_width) [HAVE_X_WINDOWS]:
	* sysdep.c (reset_sigio) [!DOS_NT]: Declare conditionally.

	* keyboard.c (read_decoded_event_from_main_queue): #ifdef out
	variables on Windows.

	* w32fns.c (Ffile_system_info): Use parenthesis in and/or expression.

	* w32.c (unsetenv): Remove unused var `retval'.
	(emacs_gnutls_pull): Remove unused vars `fdset' and `timeout'.

	* w32notify.c (watch_worker): Remove unnecesary var sleep_result.
	(start_watching): Remove unused var `thr'.

	* w32proc.c (sys_spawnve): Comment out unused vars `first', `last'.
	(find_child_console): Remove unnecesary var `thread_id'.

	* w32term.c (w32_read_socket): Comment out unused vars `row', `columns'.
	(x_focus_frame): #ifdef 0 unused variable `dpyinfo'.

764 765
2014-03-26  Glenn Morris  <rgm@gnu.org>

766 767
	* filelock.c (Flock_buffer): Doc tweak.

768 769 770 771 772 773 774
	* buffer.c (Frestore_buffer_modified_p, Fkill_buffer):
	* emacs.c (shut_down_emacs):
	* fileio.c (Finsert_file_contents, write_region):
	* filelock.c (top-level, syms_of_filelock):
	* insdel.c (prepare_to_modify_buffer_1):
	CLASH_DETECTION is always defined now.

775 776 777 778 779
2014-03-25  Eli Zaretskii  <eliz@gnu.org>

	* w32.c (w32_delayed_load): Call DisableThreadLibraryCalls on the
	DLL handle, to speed up thread startup.

780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801
2014-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	Handle sigmask better with nested signal handlers  (Bug#15561).
	* atimer.c (sigmask_atimers): Remove.
	Remaining use rewritten to use body of this function.
	* atimer.c (block_atimers, unblock_atimers):
	* callproc.c (block_child_signal, unblock_child_signal):
	* sysdep.c (block_tty_out_signal, unblock_tty_out_signal):
	New arg OLDSET.  All callers changed.
	* atimer.c (block_atimers, unblock_atimers):
	* callproc.c (block_child_signal, unblock_child_signal):
	* keyboard.c (handle_interrupt):
	* sound.c (vox_configure, vox_close):
	Restore the old signal mask rather than unilaterally clearing bits
	from the mask, in case a handler is running within another
	handler.  All callers changed.
	* lisp.h, process.c, process.h, term.c:
	Adjust decls and callers to match new API.
	* sysdep.c (emacs_sigaction_init): Don't worry about masking SIGFPE;
	signal handlers aren't supposed to use floating point anyway.
	(handle_arith_signal): Unblock just SIGFPE rather than clearing mask.

Daniel Colascione's avatar
Daniel Colascione committed
802 803 804 805 806
2014-03-23  Daniel Colascione  <dancol@dancol.org>

	Split gc_sweep into discrete functions for legibility and better
	stack traces.

807
	* alloc.c (sweep_strings, sweep_vectors): Add NO_INLINE
Daniel Colascione's avatar
Daniel Colascione committed
808
	(sweep_vectors): Fix typo in comment.
809 810
	(sweep_conses, sweep_floats, sweep_intervals)
	(sweep_symbols, sweep_misc, sweep_buffers): New functions.
Daniel Colascione's avatar
Daniel Colascione committed
811 812 813 814
	(gc_sweep): Call new functions, to which existing functionality is
	moved.
	* fns.c (sweep_weak_hash_tables): Add NO_INLINE.

815 816 817 818
2014-03-23  Juanma Barranquero  <lekktu@gmail.com>

	* w32fns.c (Fw32_shell_execute): Declare `result' only on Cygwin.

819 820
2014-03-23  Daniel Colascione  <dancol@dancol.org>

Daniel Colascione's avatar
Daniel Colascione committed
821 822
	* xfns.c (create_frame_xic): Pass XNStatusAttributes to XCreateIC
	only if xic_style calls for it.  This change allows Emacs to work
823 824
	with ibus.  Also, don't leak resources if create_frame_xic fails,
	and stop caching xic_style across different displays.
Daniel Colascione's avatar
Daniel Colascione committed
825 826 827 828
	(supported_xim_styles): Make const.
	(best_xim_style): Remove first parameter: it's always just
	supported_xim_styles.  Change to look at supported_xim_styles
	directly.
829

830 831 832 833 834
2014-03-23  Daniel Colascione  <dancol@dancol.org>

	* term.c (init_tty): Rearrange condition for clarity; print
	appropriate diagnostic.

835 836 837 838 839
2014-03-23  Daniel Colascione  <dancol@dancol.org>

	* process.c (DATAGRAM_CONN_P): Don't underflow datagram_address
	array.  (ASAN caught.)

Glenn Morris's avatar
Glenn Morris committed
840 841 842 843
2014-03-22  Glenn Morris  <rgm@gnu.org>

	* callproc.c (init_callproc): In etc, look for NEWS rather than GNU.

844 845 846
2014-03-22  Daniel Colascione  <dancol@dancol.org>

	* process.c (conv_sockaddr_to_lisp): When extracting the string
Glenn Morris's avatar
Glenn Morris committed
847
	names of AF_LOCAL sockets, stop before reading uninitialized memory.
848

849 850 851 852 853 854
2014-03-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	Fix regression introduced by patch for Bug#10500.
	* xterm.c (x_draw_image_relief): Respect Vtool_bar_button_margin.
	* w32term.c (x_draw_image_relief): Likewise.

855 856 857 858 859 860
2014-03-21  Martin Rudalics  <rudalics@gmx.at>

	* w32fns.c (w32_wnd_proc): For WM_WINDOWPOSCHANGING don't
	constrain frame size in SW_SHOWMAXIMIZED case so we can truly
	maximize a frame for odd default fonts.

861 862 863 864
2014-03-21  Glenn Morris  <rgm@gnu.org>

	* minibuf.c (history-length): Increase default from 30 to 100.

865 866
2014-03-21  Daniel Colascione  <dancol@dancol.org>

Daniel Colascione's avatar
Daniel Colascione committed
867 868 869
	* xterm.c (x_bitmap_icon): Stop reading the icon bitmap from disk
	every time we switch to minibuffer.

870 871
	* alloc.c (lisp_align_malloc, allocate_string_data)
	(allocate_vectorlike): Allow mmap allocation of lisp objects.
872
	(pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): New functions.
873

874 875 876 877 878
2014-03-21  Eli Zaretskii  <eliz@gnu.org>

	* w32fns.c (Fw32_shell_execute) [!CYGWIN]: Use ShellExecuteEx, to
	support more "verbs".

879 880 881 882 883 884 885 886 887
2014-03-21  Daniel Colascione  <dancol@dancol.org>

	Always prohibit dumping a dumped Emacs.

	* emacs.c (might_dump): New variable.
	(Fdump_emacs): Always prohibit dumping of dumped Emacs.
	* lisp.h (might_dump): Declare.
	* unexcw.c (unexec): Remove now-redundant multiple-dump detection code.

888 889 890 891
2014-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	* doc.c (store_function_docstring): Fix pointer signedness mismatch.

892 893
2014-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>

894 895 896 897 898 899
	* doc.c (store_function_docstring): Warn when we don't know where to
	put a docstring.
	(Fsubstitute_command_keys): Don't advertise the fact that
	text-properties are dropped, since we think it's a bug that we'll fix
	in 24.5.

900 901 902 903
	* frame.h (SET_FRAME_VISIBLE): Keep frame_garbaged up to date.
	* xterm.c (handle_one_xevent) <MapNotify>: Don't garbage the frame.
	* frame.c (frame_garbaged): Make "docstring" more precise.

904 905 906 907 908
2014-03-20  Glenn Morris  <rgm@gnu.org>

	* charset.c (init_charset): When we cannot find the charsets directory,
	mention if EMACSDATA is set.

909 910
2014-03-19  Paul Eggert  <eggert@cs.ucla.edu>

911 912
	* fns.c (Frandom): Fix rare bug where the result isn't random.

913 914 915 916 917
	Fix porting inconsistency about rounding to even.
	* floatfns.c (emacs_rint) [!HAVE_RINT]: Round to even.
	This way, the unusual !HAVE_RINT case acts like the usual
	HAVE_RINT case, and we can fix the documentation accordingly.

918 919 920 921 922 923
2014-03-19  Eli Zaretskii  <eliz@gnu.org>

	* w32fns.c (reset_modifiers): Zero out keystate[] before using it.
	(w32_wnd_proc): Initialize the dwHoverTime member of
	TRACKMOUSEEVENT structure.

924 925 926 927
2014-03-17  Teodor Zlatanov  <tzz@lifelogs.com>

	* gnutls.c (Fgnutls_boot): Fix case of :verify-error = t.

928 929 930
2014-03-16  Eli Zaretskii  <eliz@gnu.org>

	* search.c (find_newline): Speed up the function when using the
931
	newline cache, by halving the number of calls to
932 933
	region_cache_forward and region_cache_backward.  (Bug#16830)

934 935 936 937
2014-03-15  Juanma Barranquero  <lekktu@gmail.com>

	* buffer.c (Fset_buffer): Document return value (bug#17015).

938 939 940 941 942 943
2014-03-14  Martin Rudalics  <rudalics@gmx.at>

	* w32term.c (x_set_window_size): When frame-resize-pixelwise is
	nil, always resize character wise to avoid potential loss of the
	mode line (Bug#16923 related).

944 945 946 947 948
2014-03-12  Martin Rudalics  <rudalics@gmx.at>

	* frame.c (x_set_frame_parameters): Always calculate new sizes
	pixelwise to avoid potential loss when rounding.

949 950 951 952 953
2014-03-11  Dmitry Antipov  <dmantipov@yandex.ru>

	* xfns.c (x_set_mouse_color): Recolor vertical_drag_cursor.
	* xterm.c (x_free_frame_resources): Free all allocated cursors.

954 955 956 957 958 959
2014-03-10  Eli Zaretskii  <eliz@gnu.org>

	* w32.c (fstatat): Don't add an extra slash if the argument ends
	with a slash: this fails the subsequent call to stat_worker on
	Windows 9X.  Reported by oslsachem <oslsachem@gmail.com>.

960 961 962 963
2014-03-09  Martin Rudalics  <rudalics@gmx.at>

	* xdisp.c (Fwindow_text_pixel_size): Adjust doc-string.

964 965 966 967
2014-03-08  Jan Djärv  <jan.h.d@swipnet.se>

	* nsterm.h (MAC_OS_X_VERSION_10_9): Add.

968 969
	* nsterm.m (constrainFrameRect:toScreen:): Constrain normally
	when frame is only on one screen (Bug#14713).
970

971 972 973 974 975 976 977 978 979
2014-03-08  Eli Zaretskii  <eliz@gnu.org>

	* xdisp.c (move_it_in_display_line_to): If word-wrap is ON, and
	there's a valid wrap point in the display line, the last glyph
	cannot "just barely fit" on this row, because display_line doesn't
	let it.  Instead, proceed as if the last glyph didn't fit, so that
	we eventually back up the iterator to the wrap point.  This avoids
	delusional behavior of move_it_to, whereby it proceeds to the next
	display line, but sets current_x to zero for all the glyphs that
980 981
	without word-wrap would fit on the previous display line.
	One result was that visual-order cursor movement behaved erratically
982 983 984 985
	under word-wrap.
	(Fmove_point_visually): Add code to find the x coordinate of the
	last character before wrap point, under word-wrap on a TTY.

986 987 988 989 990 991 992
2014-03-07  Eli Zaretskii  <eliz@gnu.org>

	* xdisp.c (Fmove_point_visually): When under word-wrap, accept
	also return value of MOVE_POS_MATCH_OR_ZV from
	move_it_in_display_line_to, when moving from beginning of line to
	point's position.  (Bug#16961)

993 994 995 996 997 998
2014-03-07  Martin Rudalics  <rudalics@gmx.at>

	* buffer.c (Vbuffer_list_update_hook): Doc-string fix.
	* window.c (Fselect_window): Explain NORECORD and
	`buffer-list-update-hook' in doc-string.

999 1000 1001 1002 1003
2014-03-06  Martin Rudalics  <rudalics@gmx.at>

	* window.c (Fother_window_for_scrolling): Check that
	Vother_window_scroll_buffer is a buffer.

1004 1005 1006 1007 1008 1009 1010 1011 1012
2014-03-06  Dmitry Antipov  <dmantipov@yandex.ru>

	* xterm.c (xim_initialize): Always pass a copy of resource name
	to XRegisterIMInstantiateCallback and eassert whether return
	value is True.  Passing copy is important because Xlib doesn't
	make its own copy and resource name argument usually points to
	SSDATA (Vx_resource_name), which may be changed from Lisp.
	(xim_close_display): For XUnregisterIMInstantiateCallback,
	always eassert return value and pass exactly the same values
1013 1014
	as were used for XRegisterIMInstantiateCallback.
	Otherwise XUnregisterIMInstantiateCallback will always fail.  See Xlib
1015 1016
	sources to check why if you are interested.

1017 1018 1019 1020 1021 1022 1023
2014-03-05  Martin Rudalics  <rudalics@gmx.at>

	* dispnew.c (change_frame_size_1): Add new_lines instead of
	new_height, the latter may be still zero if passed as such.
	* window.c (Fwindow_pixel_height): Mention bottom divider in
	doc-string.

1024 1025
2014-03-05  Paul Eggert  <eggert@cs.ucla.edu>

1026 1027
	Fix "resource temporarily unavailable" with xgselect
	(Bug#16925).
1028 1029 1030
	* xgselect.c: Include <stdbool.h>.
	(xg_select) [!USE_GTK]: Don't lose track of errno.

1031 1032 1033 1034
	Fix minor --enable-gcc-warnings issues.
	* widget.c (update_various_frame_slots, EmacsFrameResize):
	Avoid unused locals.  Prefer 'if' to '#if' when either will do.

1035 1036 1037 1038 1039
2014-03-04  Ken Brown  <kbrown@cornell.edu>

	* gmalloc.c (aligned_alloc): Clarify the code by making `adj'
	represent the actual adjustment needed for alignment.

1040 1041 1042 1043 1044 1045
2014-03-04  Eli Zaretskii  <eliz@gnu.org>

	* gmalloc.c (aligned_alloc): Don't allocate more memory than
	needed, and don't reallocate if the initial allocation already
	fits the bill.  Suggested by Ken Brown <kbrown@cornell.edu>.

1046 1047 1048 1049 1050
2014-03-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* xterm.c (x_draw_stretch_glyph_string): Reset clipping.
	(Bug#16932)

1051 1052 1053 1054 1055
2014-03-04  Michal Nazarewicz  <mina86@mina86.com>

	* cmds.c (delete-char): Update docstring pointing out that the
	function ignores `delete-active-region' and `overwrite-mode'.

1056 1057
2014-03-03  Eli Zaretskii  <eliz@gnu.org>

1058 1059
	* font.c (Fframe_font_cache): Fix last change.  (Bug#16930)

1060 1061 1062 1063 1064 1065 1066 1067
	* gmalloc.c (aligned_alloc): Fix adjustment of size of the
	allocated buffer due to alignment.
	(freehook): If the block to be freed was allocated by
	'aligned_alloc', find its real pointer before calling 'free'.
	(Bug#16901)
	(mabort) [emacs]: Call 'emacs_abort', not 'abort', to provide a
	backtrace.

1068 1069 1070 1071 1072 1073 1074 1075
2014-03-03  Dmitry Antipov  <dmantipov@yandex.ru>

	* font.c (toplevel): Adjust comment about font cache layout.
	(font_clear_cache): Fix to match real font cache layout.
	Suggested by <namespace_collision@yahoo.com> in Bug#16069.
	(Fframe_font_cache) [FONT_DEBUG]: New function.
	(syms_of_font) [FONT_DEBUG]: Defsubr it.

1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089
	Avoid crashes when X fonts are erroneously freed on reused X
	'Display *' connection data (Bug#16069).  Note that X font
	resources still may be leaked, but currently there is no way
	to completely avoid it.
	* xterm.h (struct x_display_info): New member x_id.  Add comments.
	* xterm.c (x_display_id): New variable.
	(x_term_init): Assign identifier to each opened X connection.
	* xfont.c (struct xfont): New member x_display_id.
	(xfont_open): Initialize it with frame's display id.
	(xfont_close): Check whether font's display id matches the one
	recorded for the given display.  Adjust comment.
	* xftfont.c (struct xftfont_info):
	(xftfont_open, xftfont_close): Exactly as above with xfont stuff.

1090 1091 1092 1093 1094 1095 1096
2014-03-01  Martin Rudalics  <rudalics@gmx.at>

	Consider Vother_window_scroll_buffer valid iff it's a live buffer.
	* window.c (Fother_window_for_scrolling): Don't try to scroll a
	killed Vother_window_scroll_buffer.
	(Vother_window_scroll_buffer): Fix doc-string accordingly.

1097 1098 1099 1100 1101
2014-03-01  Eli Zaretskii  <eliz@gnu.org>

	* fileio.c (Fexpand_file_name) [WINDOWSNT]: Don't treat file names
	that start with more than 2 slashes as UNCs.  (Bug#16751)

1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113
2014-02-28  Paul Eggert  <eggert@penguin.cs.ucla.edu>

	Fix a few crashes and leaks when cloning C strings.
	* alloc.c, lisp.h (dupstring): New function.
	* gtkutil.c (xg_get_font):
	* term.c (tty_default_color_capabilities):
	* xsettings.c (store_monospaced_changed)
	(store_font_name_changed, parse_settings)
	(read_and_apply_settings, init_gsettings, init_gconf): Use it.
	This avoids some unlikely crashes due to accessing freed storage,
	and avoids some minor memory leaks in the more-typical case.

1114 1115 1116 1117 1118
2014-02-28  Martin Rudalics  <rudalics@gmx.at>

	* xdisp.c (note_mode_line_or_margin_highlight): Don't show drag
	cursor when modeline can't be dragged (Bug#16647).

1119 1120 1121 1122 1123
2014-02-28  Glenn Morris  <rgm@gnu.org>

	* doc.c (Fsnarf_documentation): Snarf not-yet-bound variables
	from custom-delayed-init-variables.  (Bug#11565)

1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141
2014-02-27  Martin Rudalics  <rudalics@gmx.at>

	More fixes for mouse glyph calculations (Bug#16647).
	* window.c (coordinates_in_window): In intersection of
	horizontal and vertical window dividers prefer the horizontal
	one.  Add some extra parens to last fix.
	(window_relative_x_coord): Return x-coordinate for header and
	mode line too.
	* xdisp.c (remember_mouse_glyph): In text area don't extend
	glyph into mode line to show the vertical drag cursor there
	immediately.  Subdivide mouse glyphs in right fringes to show a
	horizontal drag cursor as soon as we enter the "grabbable width"
	portion.  Handle vertical border case separately.  Do not
	subdivide window divider areas.
	(note_mouse_highlight): On bottom divider of bottommost windows
	show vertical drag cursor only when the minibuffer window can be
	resized.

1142 1143 1144 1145 1146 1147 1148 1149 1150
2014-02-27  Eli Zaretskii  <eliz@gnu.org>

	* xdisp.c (pop_it): Restore the it->face_box_p flag which could be
	reset by the face of the object just displayed.  See also bug#76.
	(get_next_display_element): If the string came from a display
	property, examine the box face attribute at it->position, not at
	it->current.pos, since the latter was not updated yet.  (Bug#16870)
	(handle_face_prop): Improve commentary.

1151 1152 1153 1154 1155
2014-02-27  Michael Albinus  <michael.albinus@gmx.de>

	* dbusbind.c (Fdbus__init_bus, Qdbus__init_bus, Sdbus__init_bus):
	Rename from Fdbus_init_bus_1, Qdbus_init_bus_1, Sdbus_init_bus_1.

Martin Rudalics's avatar
Martin Rudalics committed
1156 1157 1158 1159 1160 1161 1162 1163 1164
2014-02-26  Martin Rudalics  <rudalics@gmx.at>

	Fixes around Bug#16647.
	* xdisp.c (remember_mouse_glyph): Handle ON_RIGHT_DIVIDER and
	ON_BOTTOM_DIVIDER cases.
	* window.c (coordinates_in_window): Return ON_VERTICAL_BORDER
	only if the window has no right divider.
	(Fcoordinates_in_window_p): Fix doc-string.

1165 1166 1167 1168
2014-02-25  Juanma Barranquero  <lekktu@gmail.com>

	* lread.c (Funintern): Fix doc to match advertised calling convention.

Daniel Colascione's avatar
Daniel Colascione committed
1169 1170 1171 1172
2014-02-24  Daniel Colascione  <dancol@dancol.org>

	* keyboard.c (read_char): Close race that resulted in lost events.

1173 1174
2014-02-22  Glenn Morris  <rgm@gnu.org>

Glenn Morris's avatar
Glenn Morris committed
1175 1176 1177
	* frame.c (frame-alpha-lower-limit, frame-resize-pixelwise):
	* window.c (window-resize-pixelwise): Doc fixes.

1178 1179 1180
	* process.c (Finternal_default_process_filter)
	(Finternal_default_process_sentinel): Doc tweaks.

1181 1182 1183 1184 1185 1186
2014-02-21  Glenn Morris  <rgm@gnu.org>

	* process.c (Fprocess_buffer, Faccept_process_output)
	(Finternal_default_process_filter, Finternal_default_process_sentinel):
	Doc fixes.

1187 1188 1189 1190
2014-02-21  Martin Rudalics  <rudalics@gmx.at>

	* window.c (Fwindow_scroll_bar_width): New function.

1191 1192 1193 1194 1195 1196
2014-02-21  Paul Eggert  <eggert@cs.ucla.edu>

	Pacify GCC when configuring with --enable-gcc-warnings.
	* xdisp.c (move_it_in_display_line_to) [lint]:
	Initialize recently-added local.

1197 1198 1199 1200
2014-02-21  Daniel Colascione  <dancol@dancol.org>

	* dbusbind.c: Rename dbus-init-bus to dbus-init-bus-1.

1201 1202 1203 1204
2014-02-20  Eli Zaretskii  <eliz@gnu.org>

	* xdisp.c (init_iterator): Don't dereference a bogus face
	pointer.  (Bug#16819)
1205 1206 1207
	(try_cursor_movement): Don't use cursor position if
	set_cursor_from_row failed to compute it.  This avoids assertion
	violations in MATRIX_ROW.
1208 1209 1210 1211 1212 1213
	(move_it_in_display_line_to): Save the iterator state in ppos_it
	only once per call.  Reimplement the method used to return to the
	best candidate position if all the positions found in display line
	are beyond TO_CHARPOS.  This cuts down the number of calls to
	bidi_shelve_cache, which moves a lot of stuff when lines are long
	and include bidirectional text.  (Bug#15555)
1214

1215 1216 1217 1218
2014-02-20  Glenn Morris  <rgm@gnu.org>

	* data.c (Fdefalias): Doc fix.

1219 1220
2014-02-19  Eli Zaretskii  <eliz@gnu.org>

1221 1222 1223 1224 1225
	* xdisp.c (display_line): Fix horizontal scrolling of large images
	when fringes are turned off.  This comes at a price of not
	displaying the truncation/continuation glyphs in this case.
	(Bug#16806)

1226 1227 1228 1229 1230 1231 1232
	* image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: If
	CreateDIBSection returns an error indication, zero out *ximg after
	destroying the image.  This avoids crashes in memory allocations
	due to the fact that some of the callers also call
	x_destroy_x_image, which will attempt to free an already free'd
	block of memory.

1233 1234 1235 1236 1237
2014-02-18  Martin Rudalics  <rudalics@gmx.at>

	* widget.c (update_various_frame_slots): Don't set
	FRAME_PIXEL_HEIGHT and FRAME_PIXEL_WIDTH here (Bug#16736).

1238 1239 1240 1241
2014-02-18  Michael Albinus  <michael.albinus@gmx.de>

	* dbusbind.c (xd_close_bus): Apply proper check on busobj.

Paul Eggert's avatar
Paul Eggert committed
1242 1243 1244 1245 1246 1247
2014-02-17  Paul Eggert  <eggert@cs.ucla.edu>

	temacs --daemon fix (Bug#16599).
	* emacs.c (main): Initialize daemon_pipe[1] here ...
	(syms_of_emacs): ... instead of here.

1248
2014-02-16  Anders Lindgern  <andlind@gmail.com>
1249 1250 1251 1252

	* nsterm.m (keyDown:): Check for normal key even if NSNumericPadKeyMask
	is set (Bug#16505).

1253 1254 1255 1256 1257 1258 1259 1260
2014-02-16  Daniel Colascione  <dancol@dancol.org>

	* dbusbind.c (xd_lisp_dbus_to_dbus): New function.
	(xd_get_connection_address): Use it.
	(xd_close_bus): Use xd_lisp_dbus_to_dbus to instead of
	xd_get_connection_address because the latter signals if the bus
	we're trying to close is already disconnected.

1261 1262 1263 1264 1265 1266
2014-02-13  Eli Zaretskii  <eliz@gnu.org>

	* w32proc.c (start_timer_thread): Pass a non-NULL pointer as last
	argument to CreateThread.  This avoids segfaults on Windows 9X.
	Reported by oslsachem <oslsachem@gmail.com>.

1267 1268 1269 1270 1271 1272 1273 1274 1275 1276
2014-02-13  Paul Eggert  <eggert@cs.ucla.edu>

	Fix subspace record bug on HP-UX 10.20 (Bug#16717).
	* unexhp9k800.c (unexec_error): New function, to simplify the code.
	(check_lseek): New function, to report lseek errors.
	(save_data_space, update_file_ptrs, read_header, write_header)
	(copy_file, copy_rest, unexec): Use these news functions.
	(update_file_ptrs): Don't assume wraparound behavior when
	converting a large size_t value to off_t.

1277 1278 1279 1280
2014-02-13  Dmitry Antipov  <dmantipov@yandex.ru>

	* composite.c (fill_gstring_header): Pass positions as C integers
	and move parameters checking to...
Dmitry Antipov's avatar
Dmitry Antipov committed
1281 1282 1283
	(Fcomposition_get_gstring): ...this function.  Handle case when
	buffer positions are in reversed order and avoid crash (Bug#16739).
	Adjust docstring.
1284 1285
	* buffer.c (validate_region): Mention current buffer in error message.

Juanma Barranquero's avatar
Juanma Barranquero committed
1286
2014-02-12  Marcus Karlsson  <mk@acc.umu.se>  (tiny change)
1287 1288 1289

	* image.c (pbm_load): Set to NO_PIXMAP on error (Bug#16683).

1290 1291 1292 1293
2014-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

	* buffer.c (syms_of_buffer): Doc clarification (bug#9981).

1294 1295 1296 1297 1298
2014-02-11  Glenn Morris  <rgm@gnu.org>

	* nsfns.m (ns_display_info_for_name, Fx_open_connection):
	Replace refs to "OpenStep" in messages.

1299 1300 1301 1302 1303 1304 1305 1306 1307 1308
2014-02-10  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid "." at end of error diagnostics.
	* cmds.c (Fself_insert_command): Reword and avoid "." at end.
	* font.c (Ffont_at):
	* nsfns.m (ns_display_info_for_name):
	* nsselect.m (Fx_own_selection_internal):
	* nsterm.m (performDragOperation:):
	Remove "." from end of diagnostic.

1309 1310 1311 1312
2014-02-10  Lars Ingebrigtsen  <larsi@gnus.org>

	* fns.c (Fmaphash): Say what `maphash' returns, since it may be
	unintuitive (bug#15824).
Lars Ingebrigtsen's avatar
Lars Ingebrigtsen committed
1313
	(Fyes_or_no_p): Doc fix (bug#15456).
1314

1315 1316 1317 1318
2014-02-10  Dmitry Antipov  <dmantipov@yandex.ru>

	* cmds.c (Fself_insert_command): Respect the width of EMACS_INT
	and avoid warning.
1319 1320 1321
	* eval.c (call_debugger): When exiting the debugger, do not allow
	max_specpdl_size less than actual binding depth (Bug#16603).
	(syms_of_eval): Adjust docstring.
1322

1323 1324
2014-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

1325 1326 1327
	* cmds.c (Fself_insert_command): Output a clearer error message on
	negative repetitions (bug#9476).

1328 1329
	* macros.c (Fexecute_kbd_macro): Doc fix (bug#14206).

1330 1331
2014-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

1332 1333
	* syntax.c (Fskip_syntax_backward): Doc clarification (bug#15115).

1334 1335
	* minibuf.c (Fread_string): Doc clarification (bug#15422).

1336 1337
	* buffer.c (Fmake_overlay): Doc clarification (bug#15489).

1338 1339 1340 1341
2014-02-08  Juanma Barranquero  <lekktu@gmail.com>

	* keyboard.c (Frecursive_edit): Fix typo in docstring.

1342 1343
2014-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

1344 1345
	* xdisp.c (syms_of_xdisp): Doc clarification (bug#15657).

1346 1347 1348
	* keyboard.c (Frecursive_edit): Say more precicely how throwing
	`exit' works (bug#15865).

1349 1350
2014-02-07  Martin Rudalics  <rudalics@gmx.at>

1351
	Constrain window box/body sizes and margin widths (Bug#16649).
1352 1353 1354
	* xdisp.c (window_box_width): Don't return less than zero.
	(window_box_left_offset, window_box_right_offset): Don't return
	more than the window's pixel width.
Martin Rudalics's avatar
Martin Rudalics committed
1355 1356
	* window.c (window_body_height, window_body_width): Don't return
	negative value.
1357
	(window_resize_apply): Adjust margin width, if necessary.
1358

1359 1360 1361 1362
2014-02-07  Glenn Morris  <rgm@gnu.org>

	* nsterm.m (syms_of_nsterm): Doc fix.

1363 1364
2014-02-06  Eli Zaretskii  <eliz@gnu.org>

1365 1366
	* w32.c (pMultiByteToWideChar, pWideCharToMultiByte):
	New variables: pointers through which to call the respective APIs.
1367
	(filename_to_utf16, filename_from_utf16, filename_to_ansi)
1368 1369
	(filename_from_ansi, sys_link, check_windows_init_file):