ChangeLog 401 KB
Newer Older
1 2 3 4 5
2014-04-17  Jan Djärv  <jan.h.d@swipnet.se>

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

6 7
2014-04-17  Eli Zaretskii  <eliz@gnu.org>

8 9 10 11
	* xdisp.c (Fline_pixel_height): Don't assume that the current
	buffer and the selected window's buffer are one and the same.
	(Bug#17281)

12 13 14
	* insdel.c (invalidate_buffer_caches): Invalidate the bidi
	paragraph-start cache before the newline cache.  (Bug#17269)

15 16 17 18 19 20 21
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
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
2014-04-16  Eli Zaretskii  <eliz@gnu.org>

	* 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.
50 51
	(sys_opendir, readlinkat, faccessat, fstatat, unsetenv):
	New functions in support of new functionality.
Eli Zaretskii's avatar
Eli Zaretskii committed
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

	* 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.

81 82 83 84 85 86 87 88 89 90
2014-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>

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

2014-04-14  Eli Zaretskii  <eliz@gnu.org>

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

Paul Eggert's avatar
Paul Eggert committed
91 92 93 94 95 96 97 98 99 100 101 102
2014-04-13  Paul Eggert  <eggert@cs.ucla.edu>

	Port to IRIX 6.5 (Bug#9684).
	* alloc.c (TAGGABLE_NULL): New constant,
	for porting to hosts with nontrivial DATA_SEG_BITS settings.
	(next_vector, set_next_vector): Use it.
	* conf_post.h (INET6) [IRIX6_5]: Define.
	(HAVE_GETADDRINFO) [IRIX6_5]: Undef.
	* data.c (BITS_PER_ULL): Don't assume ULLONG_MAX is defined.
	* lisp.h (lisp_h_XPNTR): Don't OR in bits that aren't masked out,
	for consistency with how TAGGABLE_NULL is computed.

103 104
2014-04-13  Eli Zaretskii  <eliz@gnu.org>

105 106 107
	* keyboard.c (Fopen_dribble_file): Encode the dribble file-name
	before passing it to system APIs.

108 109
	* puresize.h (BASE_PURESIZE): Bump by 1K.  (Bug#17255)

110 111 112 113 114
2014-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>

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

115 116 117 118
2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>

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

119 120 121 122 123 124 125 126 127 128
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.

129 130 131 132 133
2014-04-11  Eli Zaretskii  <eliz@gnu.org>

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

134 135 136 137
2014-04-11  Glenn Morris  <rgm@gnu.org>

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

138 139 140 141
2014-04-09  Ken Brown  <kbrown@cornell.edu>

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

142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
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.

157 158 159 160
2014-04-05  Glenn Morris  <rgm@gnu.org>

	* keyboard.c (Fopen_dribble_file): Doc tweak.

Jan Djärv's avatar
Jan Djärv committed
161 162 163 164
2014-04-04  Jan Djärv  <jan.h.d@swipnet.se>

	Backport from trunk.
	* nsterm.m (updateFrameSize:): If waiting for the tool bar and tool
165 166 167 168
	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
Jan Djärv's avatar
Jan Djärv committed
169
	is nil.  If waiting for toolbar to complete, force a redraw.
170
	(free_frame_tool_bar): Set wait_for_tool_bar = NO (Bug#16976).
Jan Djärv's avatar
Jan Djärv committed
171

172 173 174 175
2014-04-03  Ken Brown  <kbrown@cornell.edu>

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

176 177 178 179 180
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).

181 182 183 184 185 186
2014-03-30  Martin Rudalics  <rudalics@gmx.at>

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

187 188 189 190 191
2014-03-28  Ken Brown  <kbrown@cornell.edu>

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

192 193 194 195 196
2014-03-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

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

197 198 199 200 201 202
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)

203 204 205 206 207
2014-03-26  Paul Eggert  <eggert@penguin.cs.ucla.edu>

	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.
208

Paul Eggert's avatar
Paul Eggert committed
209 210 211 212 213
	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.

214 215
	* insdel.c (adjust_markers_for_delete): Remove unused local.

216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
2014-03-24  Barry O'Reilly  <gundaetiapo@gmail.com>

	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.
235
	* undo.c (record_marker_adjustment): Rename to
236 237 238 239 240 241 242 243
	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.

244 245 246 247 248
2014-03-24  Martin Rudalics  <rudalics@gmx.at>

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

249 250 251 252
2014-03-23  Glenn Morris  <rgm@gnu.org>

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

253 254 255 256 257 258
2014-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>

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

259 260 261 262
2014-03-23  Eli Zaretskii  <eliz@gnu.org>

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

265 266 267 268 269 270
2014-03-22  Daniel Colascione  <dancol@dancol.org>

	* process.c (conv_sockaddr_to_lisp): When extracting the string
	names of AF_LOCAL sockets, stop before reading uninitialized
	memory.

271 272 273 274 275
2014-03-23  Daniel Colascione  <dancol@dancol.org>

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

276 277 278 279 280 281
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.

282 283 284 285 286 287
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.

Paul Eggert's avatar
Paul Eggert committed
288 289 290 291
2014-03-20  Paul Eggert  <eggert@cs.ucla.edu>

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

292 293
2014-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>

294 295 296 297 298 299
	* 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.

300 301 302 303
	* 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.

304 305 306 307 308
2014-03-20  Glenn Morris  <rgm@gnu.org>

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

309 310
2014-03-19  Paul Eggert  <eggert@cs.ucla.edu>

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

313 314 315 316 317
	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.

318 319 320 321 322 323
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.

324 325 326 327
2014-03-17  Teodor Zlatanov  <tzz@lifelogs.com>

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

328 329 330
2014-03-16  Eli Zaretskii  <eliz@gnu.org>

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

334 335 336 337
2014-03-15  Juanma Barranquero  <lekktu@gmail.com>

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

338 339 340 341 342 343
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).

344 345 346 347 348
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.

349 350 351 352 353
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.

354 355 356 357 358 359
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>.

360 361 362 363
2014-03-09  Martin Rudalics  <rudalics@gmx.at>

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

364 365 366 367
2014-03-08  Jan Djärv  <jan.h.d@swipnet.se>

	* nsterm.h (MAC_OS_X_VERSION_10_9): Add.

368 369
	* nsterm.m (constrainFrameRect:toScreen:): Constrain normally
	when frame is only on one screen (Bug#14713).
370

371 372 373 374 375 376 377 378 379
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
380 381
	without word-wrap would fit on the previous display line.
	One result was that visual-order cursor movement behaved erratically
382 383 384 385
	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.

386 387 388 389 390 391 392
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)

393 394 395 396 397 398
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.

399 400 401 402 403
2014-03-06  Martin Rudalics  <rudalics@gmx.at>

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

404 405 406 407 408 409 410 411 412
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
413 414
	as were used for XRegisterIMInstantiateCallback.
	Otherwise XUnregisterIMInstantiateCallback will always fail.  See Xlib
415 416
	sources to check why if you are interested.

417 418 419 420 421 422 423
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.

424 425
2014-03-05  Paul Eggert  <eggert@cs.ucla.edu>

426 427
	Fix "resource temporarily unavailable" with xgselect
	(Bug#16925).
428 429 430
	* xgselect.c: Include <stdbool.h>.
	(xg_select) [!USE_GTK]: Don't lose track of errno.

431 432 433 434
	Fix minor --enable-gcc-warnings issues.
	* widget.c (update_various_frame_slots, EmacsFrameResize):
	Avoid unused locals.  Prefer 'if' to '#if' when either will do.

435 436 437 438 439
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.

440 441 442 443 444 445
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>.

446 447 448 449 450
2014-03-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

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

451 452 453 454 455
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'.

456 457
2014-03-03  Eli Zaretskii  <eliz@gnu.org>

458 459
	* font.c (Fframe_font_cache): Fix last change.  (Bug#16930)

460 461 462 463 464 465 466 467
	* 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.

468 469 470 471 472 473 474 475
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.

476 477 478 479 480 481 482 483 484 485 486 487 488 489
	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.

490 491 492 493 494 495 496
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.

497 498 499 500 501
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)

502 503 504 505 506 507 508 509 510 511 512 513
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.

514 515 516 517 518
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).

519 520 521 522 523
2014-02-28  Glenn Morris  <rgm@gnu.org>

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

524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541
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.

542 543 544 545 546 547 548 549 550
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.

551 552 553 554 555
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
556 557 558 559 560 561 562 563 564
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.

565 566 567 568
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
569 570 571 572
2014-02-24  Daniel Colascione  <dancol@dancol.org>

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

573 574
2014-02-22  Glenn Morris  <rgm@gnu.org>

Glenn Morris's avatar
Glenn Morris committed
575 576 577
	* frame.c (frame-alpha-lower-limit, frame-resize-pixelwise):
	* window.c (window-resize-pixelwise): Doc fixes.

578 579 580
	* process.c (Finternal_default_process_filter)
	(Finternal_default_process_sentinel): Doc tweaks.

581 582 583 584 585 586
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.

587 588 589 590
2014-02-21  Martin Rudalics  <rudalics@gmx.at>

	* window.c (Fwindow_scroll_bar_width): New function.

591 592 593 594 595 596
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.

597 598 599 600
2014-02-21  Daniel Colascione  <dancol@dancol.org>

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

601 602 603 604
2014-02-20  Eli Zaretskii  <eliz@gnu.org>

	* xdisp.c (init_iterator): Don't dereference a bogus face
	pointer.  (Bug#16819)
605 606 607
	(try_cursor_movement): Don't use cursor position if
	set_cursor_from_row failed to compute it.  This avoids assertion
	violations in MATRIX_ROW.
608 609 610 611 612 613
	(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)
614

615 616 617 618
2014-02-20  Glenn Morris  <rgm@gnu.org>

	* data.c (Fdefalias): Doc fix.

619 620
2014-02-19  Eli Zaretskii  <eliz@gnu.org>

621 622 623 624 625
	* 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)

626 627 628 629 630 631 632
	* 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.

633 634 635 636 637
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).

638 639 640 641
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
642 643 644 645 646 647
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.

648
2014-02-16  Anders Lindgern  <andlind@gmail.com>
649 650 651 652

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

653 654 655 656 657 658 659 660
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.

661 662 663 664 665 666
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>.

667 668 669 670 671 672 673 674 675 676
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.

677 678 679 680
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
681 682 683
	(Fcomposition_get_gstring): ...this function.  Handle case when
	buffer positions are in reversed order and avoid crash (Bug#16739).
	Adjust docstring.
684 685
	* buffer.c (validate_region): Mention current buffer in error message.

Juanma Barranquero's avatar
Juanma Barranquero committed
686
2014-02-12  Marcus Karlsson  <mk@acc.umu.se>  (tiny change)
687 688 689

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

690 691 692 693
2014-02-12  Lars Ingebrigtsen  <larsi@gnus.org>

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

694 695 696 697 698
2014-02-11  Glenn Morris  <rgm@gnu.org>

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

699 700 701 702 703 704 705 706 707 708
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.

709 710 711 712
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
713
	(Fyes_or_no_p): Doc fix (bug#15456).
714

715 716 717 718
2014-02-10  Dmitry Antipov  <dmantipov@yandex.ru>

	* cmds.c (Fself_insert_command): Respect the width of EMACS_INT
	and avoid warning.
719 720 721
	* 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.
722

723 724
2014-02-09  Lars Ingebrigtsen  <larsi@gnus.org>

725 726 727
	* cmds.c (Fself_insert_command): Output a clearer error message on
	negative repetitions (bug#9476).

728 729
	* macros.c (Fexecute_kbd_macro): Doc fix (bug#14206).

730 731
2014-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

732 733
	* syntax.c (Fskip_syntax_backward): Doc clarification (bug#15115).

734 735
	* minibuf.c (Fread_string): Doc clarification (bug#15422).

736 737
	* buffer.c (Fmake_overlay): Doc clarification (bug#15489).

738 739 740 741
2014-02-08  Juanma Barranquero  <lekktu@gmail.com>

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

742 743
2014-02-08  Lars Ingebrigtsen  <larsi@gnus.org>

744 745
	* xdisp.c (syms_of_xdisp): Doc clarification (bug#15657).

746 747 748
	* keyboard.c (Frecursive_edit): Say more precicely how throwing
	`exit' works (bug#15865).

749 750
2014-02-07  Martin Rudalics  <rudalics@gmx.at>

751
	Constrain window box/body sizes and margin widths (Bug#16649).
752 753 754
	* 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
755 756
	* window.c (window_body_height, window_body_width): Don't return
	negative value.
757
	(window_resize_apply): Adjust margin width, if necessary.
758

759 760 761 762
2014-02-07  Glenn Morris  <rgm@gnu.org>

	* nsterm.m (syms_of_nsterm): Doc fix.

763 764
2014-02-06  Eli Zaretskii  <eliz@gnu.org>

765 766
	* w32.c (pMultiByteToWideChar, pWideCharToMultiByte):
	New variables: pointers through which to call the respective APIs.
767
	(filename_to_utf16, filename_from_utf16, filename_to_ansi)
768 769
	(filename_from_ansi, sys_link, check_windows_init_file):
	Call MultiByteToWideChar and WideCharToMultiByte through pointers.
770 771 772 773 774 775 776 777 778
	This is required on Windows 9X, where we dynamically load
	UNICOWS.DLL which has their non-stub implementations.
	(maybe_load_unicows_dll): Assign addresses to these 2 function
	pointers after loading UNICOWS.DLL.

	* w32fns.c (Fx_file_dialog, Fw32_shell_execute) [!CYGWIN]: Call
	MultiByteToWideChar and WideCharToMultiByte through function
	pointers.

779 780
	* w32.h (pMultiByteToWideChar, pWideCharToMultiByte):
	New declarations.
781

782 783 784 785 786 787
2014-02-06  Jan Djärv  <jan.h.d@swipnet.se>

	* nsterm.m (toggleFullScreen:): Hide menubar on secondary monitor
	for OSX >= 10.9 if separate spaces are used.
	(toggleFullScreen:): Use screen of w instead of fw (Bug#16659).

788 789 790 791
2014-02-06  Glenn Morris  <rgm@gnu.org>

	* buffer.c (cache-long-scans): Doc fix.

792 793 794 795
2014-02-05  Eli Zaretskii  <eliz@gnu.org>

	* w32fns.c (Fw32_shell_execute): Doc fix.

Bastien Guerry's avatar
Bastien Guerry committed
796 797 798 799 800
2014-02-05  Bastien Guerry  <bzg@gnu.org>

	* syntax.c (Fforward_word): Call Fconstrain_to_field with
	ESCAPE-FROM-EDGE set to `nil' (Bug#16453).

801 802
2014-02-05  Martin Rudalics  <rudalics@gmx.at>

803 804 805
	* fringe.c (draw_fringe_bitmap_1): Don't draw a fringe if it's
	outside the window (Bug#16649).

806 807 808
	* xdisp.c (note_mouse_highlight): When entering a margin area show
	a non-text cursor (Bug#16647).

809 810 811 812 813 814
2014-02-04  Paul Eggert  <eggert@cs.ucla.edu>

	* menu.c (Fx_popup_dialog): Remove label 'dialog_via_menu'.
	It prompted a compile-time diagnostic on GNU/Linux.
	Simplify to remove the need for the label.

815 816 817 818 819
2014-02-04  Eli Zaretskii  <eliz@gnu.org>

	* w32menu.c (w32_popup_dialog): Don't condition the whole function
	on HAVE_DIALOGS.  If the dialog is "simple", pop up a message box
	to show it; otherwise return 'unsupported--w32-dialog' to signal
820 821
	to the caller that emulation with menus is necessary.
	This resurrects code inadvertently deleted by the 2013-10-08 commit.
822 823 824 825 826 827 828 829 830 831 832 833 834
	(Bug#16636)
	(syms_of_w32menu): DEFSYM Qunsupported__w32_dialog.

	* w32term.h (w32_popup_dialog): Prototype is no longer conditioned
	by HAVE_DIALOGS.

	* menu.c (Fx_popup_dialog): Don't condition the call to
	w32_popup_dialog on HAVE_DIALOGS.  If w32_popup_dialog returns a
	special symbol 'unsupported--w32-dialog', emulate the dialog with
	a menu by calling x-popup-menu.

	* menu.h (Qunsupported__w32_dialog): New extern variable.

835 836 837 838 839 840 841 842
2014-02-04  Michael Albinus  <michael.albinus@gmx.de>

	* keyboard.c (kbd_buffer_get_event): Read file notification events
	also in batch mode.

	* xgselect.c (xg_select): Read glib events in any case, even if
	there are no file descriptors to watch for.  (Bug#16519)

843 844 845 846 847 848 849 850 851 852 853 854 855 856 857
2014-02-03  Martin Rudalics  <rudalics@gmx.at>

	* dispextern.h (face_id): Add WINDOW_DIVIDER_FIRST_PIXEL_FACE_ID
	and WINDOW_DIVIDER_LAST_PIXEL_FACE_ID.
	* w32term.c (w32_draw_window_divider): Handle first and last
	pixels specially.
	* w32term.h (w32_fill_area_abs): New function.
	* xdisp.c (x_draw_right_divider): Don't draw over bottom
	divider.
	* xfaces.c (realize_basic_faces): Handle new face ids.
	* xfns.c (Fx_create_frame): Call x_default_parameter for right
	and bottom divider width.
	* xterm.c (x_draw_window_divider): Handle first and last pixels
	specially.

858 859 860 861
2014-02-03  Dmitry Antipov  <dmantipov@yandex.ru>

	* print.c (Fexternal_debugging_output): Add cast to pacify
	--enable-gcc-warnings.
862 863 864
	* eval.c (call_debugger): Grow specpdl if the debugger was
	entered due to specpdl overflow (Bug#16603) and allow more
	specpdl space for the debugger itself.
865

866 867 868 869 870
2014-02-02  Martin Rudalics  <rudalics@gmx.at>

	* w32fns.c (Fx_create_frame): Process frame alpha earlier.
	(Bug#16619)

871 872
2014-02-01  Eli Zaretskii  <eliz@gnu.org>

873 874 875
	* w32fns.c (Ffile_system_info): Use WINAPI in the function
	pointers that get the address of GetDiskFreeSpaceEx.  (Bug#16615)

876 877 878 879
	* print.c (Fexternal_debugging_output): If the argument character
	is non-ASCII, encode it with the current locale's encoding before
	writing the result to the terminal.  (Bug#16448)

880 881 882 883
	* w32fns.c (Fw32_shell_execute): Don't call file-exists-p for
	DOCUMENT that is a "remote" file name, i.e. a file-handler exists
	for it.  (Bug#16558)

884 885 886 887 888
2014-01-30  Andreas Schwab  <schwab@linux-m68k.org>

	* process.c (create_process): Reset SIGPROF handler in the child.
	* callproc.c (call_process): Likewise.

889 890 891 892
2014-01-29  Paul Eggert  <eggert@cs.ucla.edu>

	* xmenu.c (create_and_show_popup_menu): Port comment to C89.

893 894
2014-01-29  Eli Zaretskii  <eliz@gnu.org>

895 896 897
	* .gdbinit (xprintstr, xprintbytestr): Don't use repetition count
	of zero to print strings, GDB doesn't like it.

898 899 900 901
	* print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE, not
	STRING_CHAR_AND_LENGTH, so that if the string is relocated by GC,
	we still use correct addresses.  (Bug#16576)

902 903
2014-01-27  K. Handa  <handa@gnu.org>

Glenn Morris's avatar
Glenn Morris committed
904 905
	Fix bug#16286 by a different method from 2014-01-26T00:32:30Z!eggert@cs.ucla.edu,
	to preserve the code detection behavior of 24.3.
906 907 908 909 910 911
	* coding.h (struct coding_system): New member detected_utf8_bytes.
	* coding.c (detect_coding_utf_8): Set coding->detected_utf8_bytes.
	(decode_coding_gap): Use short cut for UTF-8 file reading only
	when coding->detected_utf8_bytes equals to coding->src_bytes.
	* fileio.c (Finsert_file_contents): Cancel the previous change.

912 913 914 915 916
2014-01-29  Martin Rudalics  <rudalics@gmx.at>

	* w32fns.c (x_set_tool_bar_lines): Don't clear area on frames
	that are not visible.

917 918 919 920 921
2014-01-29  Jan Djärv  <jan.h.d@swipnet.se>

	* xmenu.c (create_and_show_popup_menu): Handle case when no key
	is grabbed (Bug#16565).

922 923 924 925 926 927 928
2014-01-28  Martin Rudalics  <rudalics@gmx.at>

	* xdisp.c (last_max_ascent): Re-remove after erroneously
	reintroducing it on 2013-11-30 and abolishing Dmitry's removal
	from 2013-03-29.
	(move_it_to): Re-remove reference to last_max_ascent.
	(Fwindow_text_pixel_size): Add iterator's max_ascent and
929 930
	max_descent here instead of calling line_bottom_y.
	Fix doc-string.
931

932 933 934 935 936 937
2014-01-28  Dmitry Antipov  <dmantipov@yandex.ru>

	* terminal.c (initial_free_frame_resources): New function.
	(init_initial_terminal): Install new hook to free face cache
	on initial frame and avoid memory leak.  For details, see
	<http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01974.html>.
938
	* xfaces.c (free_frame_faces): Adjust comment.
939

940 941 942 943 944
2014-01-26  Paul Eggert  <eggert@cs.ucla.edu>

	* data.c (Fstring_to_number): Document results if unparsable
	(Bug#16551).

945 946 947 948
2014-01-26  Jan Djärv  <jan.h.d@swipnet.se>

	* xterm.c (x_focus_changed): Check for non-X terminal-frame (Bug#16540)

949 950
2014-01-26  Paul Eggert  <eggert@cs.ucla.edu>

951 952 953 954 955 956 957 958
	When decoding, prefer ptrdiff_t to int for buffer positions etc.
	* coding.c (detect_coding_utf_8, emacs_mule_char)
	(detect_coding_iso_2022, encode_coding_iso_2022, check_ascii)
	(check_utf_8, decode_coding):
	* coding.h (struct coding_system.errors):
	Use ptrdiff_t, not int, for integer values derived from buffer and
	string positions.

959 960 961 962
	Fix crash with insert-file-contents and misdecoded text (Bug#16286).
	* fileio.c (Finsert_file_contents): Set CODING_MODE_LAST_BLOCK
	before invoking decode_coding_gap, since there's just one block.

963 964 965 966 967 968 969
2014-01-25  Martin Rudalics  <rudalics@gmx.at>

	Fix handling of face attributes in Fx_create_frame (Bug#16529).
	* w32fns.c (Fx_create_frame): Don't inhibit running Lisp code
	too early.  Again run change_frame_size before assigning menu-
	and tool-bar-lines.

970 971 972 973 974 975
2014-01-25  Fabrice Popineau  <fabrice.popineau@gmail.com>

	* w32term.c (w32_read_socket): When the WM_DISPLAYCHANGE message
	arrives, call x_check_fullscreen, in case the new display has a
	different resolution.  (Bug#16517)

976 977 978 979 980 981 982
2014-01-25  Eli Zaretskii  <eliz@gnu.org>

	* term.c (read_menu_input): If the selected frame changes, exit
	the menu.
	(tty_menu_show): If the selected frame changes while we displayed
	a menu, throw to top level.  (Bug#16479)

983 984 985 986
2014-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>

	* eval.c (Fsignal): Fix `debug' handling to match 2013-10-03 change.

987 988 989 990 991 992
2014-01-24  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bool-vector-count-population bug on MinGW64 (Bug#16535).
	* data.c (count_one_bits_word): Fix bug (negated comparison)
	when BITS_PER_ULL < BITS_PER_BITS_WORD.

993 994
2014-01-24  Dmitry Antipov  <dmantipov@yandex.ru>

995 996
	* xdisp.c (reseat_1, Fcurrent_bidi_paragraph_direction):
	Avoid undefined behavior by initializing display property bit of a
997 998 999
	string processed by the bidirectional iterator.  For details, see
	<http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01920.html>.

1000 1001 1002 1003 1004 1005
2014-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	Minor cleanup of previous change.
	* image.c (imagemagick_error, Fimagemagick_types):
	Omit some recently-introduced and unnecessary casts and assignments.

1006 1007 1008 1009 1010 1011
2014-01-23  Dmitry Antipov  <dmantipov@yandex.ru>

	Fix two memory leaks discovered with Valgrind.
	* ftfont.c (ftfont_list) [HAVE_LIBOTF]: Call OTF_close.
	* image.c (Fimagemagick_types): Call MagickRelinquishMemory.

1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024
2014-01-22  Martin Rudalics  <rudalics@gmx.at>

	Fixes in window size functions around Bug#16430 and Bug#16470.
	* window.c (Fwindow_pixel_width, Fwindow_pixel_height)
	(Fwindow_mode_line_height, Fwindow_header_line_height)
	(Fwindow_right_divider_width, Fwindow_bottom_divider_width):
	Minor doc-string adjustments.
	(Fwindow_total_height, Fwindow_total_width): New argument ROUND.
	Rewrite doc-strings.
	(window_body_height, window_body_width): Do not count partially
	visible lines/columns when PIXELWISE is nil (Bug#16470).
	(Qfloor, Qceiling): New symbols.

1025 1026 1027 1028 1029
2014-01-21  Eli Zaretskii  <eliz@gnu.org>

	* w32fns.c (unwind_create_frame): Avoid crashing inside assertion
	when the image cache is not yet allocated.  (Bug#16509)

1030 1031 1032 1033 1034 1035 1036
2014-01-21  Dmitry Antipov  <dmantipov@yandex.ru>

	* buffer.c (Fkill_buffer): When killing an indirect buffer,
	re-attach intervals to its base buffer (Bug#16502).
	* intervals.c (set_interval_object): Move from here...
	* intervals.h (set_interval_object): ... to here.  Fix comments.

1037 1038
2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>

1039
	Avoid undefined behavior by initializing buffer redisplay bit.
1040 1041
	Problem reported by Dmitry Antipov in
	<http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01756.html>.
1042
	* buffer.c (Fget_buffer_create): Initialize redisplay bit.
1043

1044 1045 1046
	Revert some of the CANNOT_DUMP fix (Bug#16494).
	* lread.c (init_lread): Fix typo: NILP, not !NILP.

1047 1048 1049 1050 1051 1052 1053 1054 1055 1056
2014-01-19  Eli Zaretskii  <eliz@gnu.org>

	* w32font.c (w32_load_unicows_or_gdi32, get_outline_metrics_w)
	(get_text_metrics_w, get_glyph_outline_w, get_char_width_32_w)
	[!WINDOWSNT]: These functions are no longer compiled on Cygwin;
	they are replaced by macros that expand into direct calls to the
	corresponding functions from GDI32.DLL.
	(globals_of_w32font) [WINDOWSNT]: Don't initialize g_b_* static
	variables in the Cygwin build, they are unused.

1057 1058 1059 1060
2014-01-19  K. Handa  <handa@gnu.org>

	* composite.c (composition_update_it): Fix previous change.

1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077
2014-01-18  Eli Zaretskii  <eliz@gnu.org>

	Fix file name handling on MS-Windows 9X.
	* w32.c (maybe_load_unicows_dll): New function.

	* emacs.c (main) [WINDOWSNT]: Call maybe_load_unicows_dll early
	on, to make sure we can convert file names to and from UTF-8 on
	Windows 9X.  This fixes a failure to start up because Emacs cannot
	find term/w32-win.el.  Reported by oslsachem <oslsachem@gmail.com>.

	* w32font.c [WINDOWSNT]: Include w32.h.
	(w32_load_unicows_or_gdi32): Call maybe_load_unicows_dll, instead
	of implementing the same stuff.
	Remove now unused g_b_init_is_windows_9x.

	* w32.h (maybe_load_unicows_dll): Add prototype.

1078 1079 1080 1081 1082 1083 1084
2014-01-17  Eli Zaretskii  <eliz@gnu.org>

	* menu.c (Fx_popup_menu): When invoking tty_menu_show, temporarily
	switch to single keyboard.  Prevents daemon crashes when a new
	client connects while we show a TTY menu in an existing client.
	(Bug#16479)

1085 1086 1087 1088 1089 1090 1091 1092
2014-01-14  Paul Eggert  <eggert@cs.ucla.edu>

	Fix MinGW64 porting problem with _setjmp.
	Reported by Eli Zaretskii in:
	http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01297.html
	* image.c (FAST_SETJMP, FAST_LONGJMP): New macros, replacing
	the old _setjmp and _longjmp.  All uses changed.

1093 1094
2014-01-13  Daniel Colascione  <dancol@dancol.org>

1095 1096
	* textprop.c (Fremove_list_of_text_properties):
	Correctly handle reaching the end of the interval tree. (Bug#15344)
1097

1098 1099 1100 1101 1102 1103
2014-01-13  Martin Rudalics  <rudalics@gmx.at>

	* xdisp.c (resize_mini_window): Round height to a multiple of
	frame's line height.  Fix bug in calculation of window start
	position (Bug#16424).

Jan Djärv's avatar
Jan Djärv committed
1104 1105 1106 1107 1108
2014-01-13  Jan Djärv  <jan.h.d@swipnet.se>

	* macfont.m: Include termchar.h.
	(CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND)
	(CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND)
1109
	(CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND): Modify from
Jan Djärv's avatar
Jan Djärv committed
1110 1111 1112 1113
	*_WITH_GC_* to take face and f as parameters.
	(macfont_draw): Check for DRAW_MOUSE_FACE and set face accordingly.
	Use *_WITH_FACE_*, and pass face as parameter (Bug#16425).

1114 1115 1116 1117 1118 1119 1120 1121
2014-01-13  Daniel Colascione  <dancol@dancol.org>

	Fix menu item updating in the presence of the Unity global menu
	GTK+ module.

	* gtkutil.h (xg_have_tear_offs): Add frame parameter
	* gtkutil.c (xg_have_tear_offs): Count the global menu as a
	tear-off.
Juanma Barranquero's avatar
Juanma Barranquero committed
1122
	(xg_update_menubar, xg_update_menu_item): Call g_object_notify when
1123
	updating menus; explain why.
Daniel Colascione's avatar
Daniel Colascione committed
1124 1125 1126
	(xg_update_frame_menubar): Remove the 23px hack: I can't repro the
	problem it's supposed to solve and it interferes with detecting
	the presence of a global menu.
1127 1128 1129
	* xmenu.c (set_frame_menubar): Call xg_have_tear_offs with new
	parameter.

1130 1131 1132 1133 1134
2014-01-11  K. Handa  <handa@gnu.org>

	* composite.c (composition_update_it): Fix indexing of
	LGSTRING_CHAR (Bug#15984).

1135 1136 1137 1138
2014-01-11  Fabrice Popineau  <fabrice.popineau@gmail.com>

	* unexw32.c (_start) [__MINGW64__]: Define to __start.

1139 1140 1141 1142 1143 1144 1145
2014-01-11  Eli Zaretskii  <eliz@gnu.org>

	* xdisp.c (try_window_id): Don't use this function's optimizations
	if overlays in the buffer displayed by the window have changed
	since last redisplay.  (Bug#16347)
	(message_dolog): Fix indentation.

1146 1147 1148 1149
2014-01-11  Martin Rudalics  <rudalics@gmx.at>

	* frame.c (frame_resize_pixelwise): Fix doc-string.

1150 1151 1152
2014-01-10  Martin Rudalics  <rudalics@gmx.at>

	Fix handling of internal borders (Bug#16348).
1153 1154
	* dispnew.c (adjust_frame_glyphs_for_window_redisplay):
	Remove internal border width from pixel width of windows.
1155 1156 1157 1158 1159 1160 1161 1162
	(change_frame_size_1): Don't return early when frame's pixel
	size changes - we still have to record the new sizes in the
	frame structure.
	* w32fns.c (x_set_tool_bar_lines): Clear internal border width
	also when toolbar gets larger.
	* window.c (check_frame_size): Include internal_border_width in
	check.
	* xdisp.c (Ftool_bar_height): Fix doc-string typo.
1163 1164
	* xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines):
	In non-toolkit/non-GTK version clear internal border.
1165 1166 1167 1168
	* xterm.c (x_clear_under_internal_border): New function for
	non-toolkit/non-GTK version.
	(x_after_update_window_line): In non-toolkit/non-GTK version
	don't do that.
1169 1170
	(handle_one_xevent, x_set_window_size):
	Call x_clear_under_internal_border in non-toolkit/non-GTK version.
1171 1172
	* xterm.h (x_clear_under_internal_border): Extern it.

1173 1174 1175 1176 1177 1178
2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	Fix misdisplay of interlaced GIFs with libgif5 (Bug#16372).
	* image.c (gif_load): libgif5 deinterlaces for us, so don't do
	it again.

1179 1180 1181 1182 1183
2014-01-06  Eli Zaretskii  <eliz@gnu.org>

	* xdisp.c (redisplay_window): Don't skip window redisplay if the
	last value of point is not equal to buffer's point.  (Bug#16129)

1184 1185
2014-01-05  Paul Eggert  <eggert@cs.ucla.edu>

Paul Eggert's avatar
Paul Eggert committed
1186 1187 1188 1189
	Spelling fixes.
	* nsterm.h (updateCollectionBehavior): Rename from
	updateCollectionBehaviour.  All uses changed.

1190 1191 1192 1193
	Port to GNU/Linux with recent grsecurity/PaX patches (Bug#16343).
	* Makefile.in (SETFATTR): New macro.
	(temacs$(EXEEXT)): Use it.

1194 1195 1196 1197 1198 1199 1200 1201 1202 1203
2014-01-04  Martin Rudalics  <rudalics@gmx.at>

	Fix maximization behavior on Windows (Bug#16300).
	* w32fns.c (w32_fullscreen_rect): Don't handle
	FULLSCREEN_MAXIMIZED and FULLSCREEN_NONE specially.
	* w32term.c (w32fullscreen_hook): Use SetWindowPlacement instead
	of SetWindowPos.  Restore last placement also when leaving
	FULLSCREEN_HEIGHT and FULLSCREEN_WIDTH.  Call ShowWindow in all
	but the FULLSCREEN_BOTH case.

Paul Eggert's avatar
Paul Eggert committed
1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217
2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>

	Port to C89.
	* data.c (arithcompare_driver):
	* fileio.c (Fcar_less_than_car):
	* fns.c (internal_equal):
	* frame.c (delete_frame):
	* lisp.h (enum More_Lisp_Bits):
	* lread.c (read1):
	Avoid C99 constructs that don't work in C89.
	* data.c (ULL_MAX, count_trailing_zeros_ll): New macros,
	to port to C89, which doesn't have 'long long'.
	(count_trailing_zero_bits): Use them.

1218 1219 1220 1221
2014-01-03  Chong Yidong  <cyd@gnu.org>

	* doc.c (Fdocumentation): Remove dynamic-docstring-function.

1222 1223 1224
2014-01-02  Martin Rudalics  <rudalics@gmx.at>

	Further adjust frame/window scrollbar width calculations.
1225 1226
	* window.c (apply_window_adjustment):
	Set windows_or_buffers_changed.
1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242
	(Fwindow_scroll_bars): Return actual scrollbar width.
	* xfns.c (x_set_scroll_bar_default_width): Rename wid to unit.
	For non-toolkit builds again use 14 as minimum width and set
	FRAME_CONFIG_SCROLL_BAR_WIDTH accordingly.
	* xterm.c (XTset_vertical_scroll_bar): Take width from
	WINDOW_SCROLL_BAR_AREA_WIDTH.
	(x_new_font): Rename wid to unit.  Base calculation of new
	scrollbar width on toolkit used and make it analogous to that of
	x_set_scroll_bar_default_width.
	* w32fns.c (x_set_scroll_bar_default_width): Rename wid to unit.
	(Fx_create_frame): Call x_set_scroll_bar_default_width instead
	of GetSystemMetrics.
	* w32term.c (w32_set_vertical_scroll_bar): Take width from
	WINDOW_SCROLL_BAR_AREA_WIDTH.
	(x_new_font): Make it correspond to changes in xterm.c.

1243 1244 1245 1246 1247 1248
2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	* lisp.h (EMACS_INT): Configure based on INTPTR_MAX, not LONG_MAX.
	This is a cleaner way to fix the MinGW-w64 porting problem.
	Check for INTPTR_MAX misconfiguration.

1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270
2014-01-01  Eli Zaretskii  <eliz@gnu.org>

	* search.c (newline_cache_on_off, find_newline): In indirect
	buffers, use the newline cache of the base buffer.

	* insdel.c (invalidate_buffer_caches): If BUF is an indirect
	buffer, invalidate the caches of its base buffer.  (Bug#16265)

	* indent.c (width_run_cache_on_off, compute_motion): In indirect
	buffers, use the width-run cache of the base buffer.

	* xdisp.c (redisplay_window): When the window displays an indirect
	buffer, and the character widths in the display table have
	changed, invalidate the width-run cache of the corresponding base
	buffer.

	* fileio.c (Finsert_file_contents): When invalidating the newline
	cache, consider the case of inserting into indirect buffer.

	* bidi.c (bidi_paragraph_cache_on_off, bidi_find_paragraph_start):
	In indirect buffers, use the paragraph cache of the base buffer.

1271 1272 1273 1274
2013-12-31  Martin Rudalics  <rudalics@gmx.at>

	* window.c (grow_mini_window): Fix last change.

1275 1276 1277 1278
2013-12-31  Jan Djärv  <jan.h.d@swipnet.se>

	* nsterm.m (windowDidResignKey:): Set mouse_moved to 0 (Bug#8421).

1279 1280
2013-12-31  Fabrice Popineau  <fabrice.popineau@supelec.fr>

1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292
	* w32term.c (w32_initialize): Use LCID and LOWORD.

	* w32proc.c (create_child): Use pid_t for 5th argument.
	(IsValidLocale): Don't provide prototype for MinGW64.
	(Fw32_get_valid_keyboard_layouts, Fw32_get_keyboard_layout)
	(Fw32_set_keyboard_layout): Use HKL and HIWORD/LOWORD.

	* w32heap.c (allocate_heap) [_WIN64]: Use "ull", not "i64", which
	MinGW64 doesn't support.

	* lisp.h (EMACS_INT) [_WIN64]: Define for the MinGW64 build.

1293 1294 1295 1296 1297 1298 1299 1300
	* w32.c (set_named_security_info): New function.
	(acl_set_file): Fall back on set_named_security_info if
	set_file_security fails.
	(g_b_init_set_named_security_info_w)
	(g_b_init_set_named_security_info_a): New static variables.
	(globals_of_w32): Initialize them to zero.
	(set_named_security_info): Set them to non-zero if the
	corresponding API is available.
1301 1302
	(SetNamedSecurityInfoW_Proc, SetNamedSecurityInfoA_Proc):
	New function typedefs.
1303

1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322
2013-12-31  Martin Rudalics  <rudalics@gmx.at>

	Some more fixes following pixelwise resize changes including one
	for Bug#16306.
	* gtkutil.c (x_wm_set_size_hint): Have size hints respect value
	of frame_resize_pixelwise.
	* widget.c (pixel_to_text_size): New function.
	(update_wm_hints): Have size hints respect value of
	frame_resize_pixelwise.
	(EmacsFrameResize): Alway process resize requests pixelwise.
	* window.c (grow_mini_window): Make sure mini window is at least
	one line tall.
	* xdisp.c (display_menu_bar): Make sure menubar extends till
	right end of frame.
	* xfns.c (x_set_menu_bar_lines): Resize frame windows pixelwise.
	(x_set_tool_bar_lines): Calculate pixelwise.
	* xterm.c (x_wm_set_size_hint): Have size hints respect value of
	frame_resize_pixelwise.

1323 1324 1325 1326 1327
2013-12-30  Juanma Barranquero  <lekktu@gmail.com>

	* fileio.c (Fcopy_file) [!WINDOWSNT]: Don't declare on Windows
	variables not used there.

1328 1329 1330 1331
2013-12-30  Eli Zaretskii  <eliz@gnu.org>

	* w32.c (sys_umask): New function.  (Bug#16299)

Martin Rudalics's avatar
Martin Rudalics committed
1332 1333 1334
2013-12-30  Martin Rudalics  <rudalics@gmx.at>

	* dispnew.c (change_frame_size_1): Take old width of root window
1335
	from that window's pixel width.  (Bug#16284)
Martin Rudalics's avatar
Martin Rudalics committed
1336

1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353
2013-12-29  Paul Eggert  <eggert@cs.ucla.edu>

	Plain copy-file no longer chmods an existing destination (Bug#16133).
	* fileio.c (realmask): Now a static var, not a local.
	(barf_or_query_if_file_exists): New arg KNOWN_TO_EXIST.
	Remove arg STATPTR.  All uses changed.
	(Fcopy_file): Do not alter permissions of existing destinations,
	unless PRESERVE-PERMISSIONS (renamed from
	PRESERVE-EXTENDED-ATTRIBUTES) is non-nil.
	Avoid race when testing for existing destinations and for
	when input and output files are the same.
	If changing the group fails, adjust both default and
	preserved permissions so that access is not granted to the
	wrong group.
	(Fset_default_file_modes, init_fileio): Update realmask.
	(Fdefault_file_modes): Use realmask instead of calling umask.

1354 1355 1356 1357 1358 1359
2013-12-28  Paul Eggert  <eggert@cs.ucla.edu>

	Fix pipe bug with OS X emacs --daemon (Bug#16262).
	* emacs.c (main) [DAEMON_MUST_EXEC]: Clear the close-on-exec
	flags on the daemon pipe ends before execing.

1360 1361 1362 1363 1364
2013-12-28  Eli Zaretskii  <eliz@gnu.org>

	* w32fns.c (Fx_create_frame): Error out if called from a TTY
	session.  (Bug#14739)

1365 1366 1367 1368
2013-12-27  Jarek Czekalski  <jarekczek@poczta.onet.pl>

	* callproc.c (Vexec_path): Document that exec-directory is in it.

1369 1370 1371 1372 1373
2013-12-27  Steve Purcell  <steve@sanityinc.com>  (tiny change)

	* nsterm.m (syms_of_nsterm): Enable ns-use-srgb-colorspace by
	default.

Chong Yidong's avatar
Chong Yidong committed
1374 1375 1376 1377
2013-12-27  Chong Yidong  <cyd@gnu.org>

	* data.c (Fsymbol_function): Doc fix.

1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394
2013-12-26  Martin Rudalics  <rudalics@gmx.at>

	Some more tinkering with Bug#16051.
	* window.c (resize_frame_windows): Don't let the size of the
	root window drop below the frame's default character size.
	Never ever delete any subwindows - let the window manager do the
	clipping.

	* w32fns.c (x_set_tool_bar_lines): Rewrite calculation of number
	of toolbar lines needed when they exceed the height of the root
	window.
	(unwind_create_frame_1): New function.
	(Fx_create_frame): Generally inhibit calling the window
	configuration change hook here.  Remove extra call to
	change_frame_size - it's not needed when we don't run the
	configuration change hook.

1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408
2013-12-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix core dumps with gcc -fsanitize=address and GNU/Linux.
	On my Fedora 19 platform the core dumps were so big that
	my desktop became nearly catatonic.
	* alloc.c (no_sanitize_memcpy) [MAX_SAVE_STACK > 0]: New function.
	(Fgarbage_collect) [MAX_SAVE_STACK > 0]: Use it.
	(USE_ALIGNED_MALLOC): Do not define if addresses are sanitized.
	(mark_memory): Use ATTRIBUTE_NO_SANITIZE_ADDRESS rather than
	a clang-only syntax.
	* conf_post.h (__has_feature): New macro, if not already defined.
	(ADDRESS_SANITIZER, ADDRESS_SANITIZER_WORKAROUND)
	(ATTRIBUTE_NO_SANITIZE_ADDRESS): New macros.

1409 1410 1411 1412 1413
2013-12-25  Eli Zaretskii  <eliz@gnu.org>

	* w32fns.c (Fw32_shell_execute): Make DOCUMENT absolute only if it
	is a file name.  (Bug#16252)

1414 1415
2013-12-25  Chong Yidong  <cyd@gnu.org>

1416
	* keyboard.c (Voverriding_terminal_local_map)
1417 1418 1419 1420
	(Voverriding_local_map): Doc fix.

	* keymap.c (Vemulation_mode_map_alists): Doc fix.

1421 1422 1423 1424 1425 1426 1427
2013-12-24  Eli Zaretskii  <eliz@gnu.org>

	* w32fns.c (Fw32_shell_execute): Ensure DOCUMENT is an absolute
	file name when it is submitted to ShellExecute.  Simplify code.
	Don't test DOCUMENT for being a string, as that is enforced by
	CHECK_STRING.  Doc fix.

1428 1429 1430