ChangeLog 459 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
2014-07-02  Dmitry Antipov  <dmantipov@yandex.ru>

	Shrink Lisp_Sub_Char_Table by preferring C integers to Lisp_Objects.
	* lisp.h (struct Lisp_Sub_Char_Table): Use C integers for depth and
	min_char slots.  Adjust comment.
	(enum char_table_specials): Rename from CHAR_TABLE_STANDARD_SLOTS.
	Add SUB_CHAR_TABLE_OFFSET member.
	(make_uninit_sub_char_table): New function.
	* alloc.c (mark_char_table): Add extra argument to denote char table
	subtype.  Adjust to match new layout of sub char-table.
	(mark_object): Always mark sub char-tables with mark_char_table.
	* chartab.c (make_sub_char_table, copy_sub_char_table)
	(sub_char_table_ref, sub_char_table_ref_and_range, sub_char_table_set)
	(sub_char_table_set_range, optimize_sub_char_table, map_sub_char_table)
	(map_sub_char_table_for_charset, uniprop_table_uncompress):
	All related users changed.
	* lread.c (read1): Adjust to match new layout of sub char-table.
18
	* print.c (print_object): Likewise (Bug#17898).
19

20 21 22 23 24 25
2014-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>

	* keymap.c (get_keyelt): Simplify.
	(copy_keymap_item): Remove left-over code for when we had
	key-shortcut caches.

Jan Djärv's avatar
Jan Djärv committed
26 27 28 29 30 31 32
2014-06-30  Jan Djärv  <jan.h.d@swipnet.se>

	* nsterm.m (judge): EmacsScroller: Move dealloc code here.
	(dealloc): Remove for EmacsScroller.

	* nsterm.h (EmacsScroller): Remove dealloc.

33 34 35 36
2014-06-30  Eli Zaretskii  <eliz@gnu.org>

	* coding.c (MIN_CHARBUF_SIZE): Enlarge to 32.  (Bug#17881)

37 38 39 40 41 42 43 44 45 46
2014-06-30  Jan Djärv  <jan.h.d@swipnet.se>

	* nsmenu.m (update_frame_tool_bar): Set wait_for_tool_bar to NO
	when setNeedsDisplay is called so we don't trigger redisplay for every
	tool bar update.

	* nsterm.m (any_help_event_p): New variable.
	(mouseMoved:): Set any_help_event_p to YES if help event is
	generated.  Remove else with empty help event that triggered redisplay
	for every mouse move.
47
	(windowDidResignKey:): If any_help_event_p, generate empty help event.
48

49 50 51 52 53 54 55
2014-06-29  Dmitry Antipov  <dmantipov@yandex.ru>

	* xfns.c (Qsuppress_icon): Remove; no real users.
	(syms_of_xfns): Don't DEFSYM it.  Remove ancient comments.
	* w32fns.c (Qsuppress_icon): Remove, for the same reason.
	(syms_of_w32fns): Don't DEFSYM it.

56 57 58 59
2014-06-29  Glenn Morris  <rgm@gnu.org>

	* Makefile.in (ns-app): Mark as PHONY.

60 61
2014-06-28  Glenn Morris  <rgm@gnu.org>

62 63
	* Makefile.in (mostlyclean): There are no libXMenu11.a,
	liblw.a in this directory.
64

Andreas Schwab's avatar
Andreas Schwab committed
65 66 67 68 69
2014-06-28  Andreas Schwab  <schwab@linux-m68k.org>

	* coding.c (encode_coding_utf_8): Correctly count produced_chars
	also in unibyte case.  (Bug#17865)

70 71 72 73 74 75
2014-06-28  K. Handa  <handa@gnu.org>

	* coding.c (MAX_CHARBUF_SIZE): Renamed from CHARBUF_SIZE.
	(MIN_CHARBUF_SIZE): New macro.
	(ALLOC_CONVERSION_WORK_AREA): New arg SIZE.  Callers changed.

76 77 78 79 80 81 82 83 84 85
2014-06-27  Glenn Morris  <rgm@gnu.org>

	* Makefile.in: Replace BOOTSTRAPEMACS sleight-of-hand
	with an order-only dependence on bootstrap-emacs.  (Bug#2151)
	(.el.elc): Replace suffix rule with pattern rule.
	(%.elc): New pattern rule, with order-only prerequisite.
	($(lisp)): No more need to depend on BOOTSTRAPEMACS.
	($(lispsource)/loaddefs.el): Use an order-only prerequisite
	in place of BOOTSTRAPEMACS.

86 87 88 89
2014-06-26  Dmitry Antipov  <dmantipov@yandex.ru>

	* fns.c (Fcompare_strings): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.

90 91 92 93
2014-06-25  Dmitry Antipov  <dmantipov@yandex.ru>

	Consistently use validate_subarray to verify substring.
	* fns.c (validate_substring): Not static any more.  Adjust to
Dmitry Antipov's avatar
Dmitry Antipov committed
94
	use ptrdiff_t, not EMACS_INT, because string and vector limits
95
	can't exceed ptrdiff_t even if EMACS_INT is wider.
Dmitry Antipov's avatar
Dmitry Antipov committed
96 97
	(Fcompare_strings, Fsubstring, Fsubstring_no_properties)
	(secure_hash): Adjust user.
98 99 100 101 102
	* lisp.h (validate_subarray): Add prototype.
	* coding.c (Fundecodable_char_position):
	* composite.c (Fcomposition_get_gstring, Fcompose_string_internal):
	Use validate_subarray.  Adjust comment to mention substring.

103 104 105 106 107 108 109 110
2014-06-25  Dmitry Antipov  <dmantipov@yandex.ru>

	Do not allow out-of-range character position in Fcompare_strings.
	* fns.c (validate_subarray): Add prototype.
	(Fcompare_substring): Use validate_subarray to check ranges.
	Adjust comment to mention that the semantics was changed.  Also see
	http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00447.html.

111 112 113 114 115 116 117 118 119
2014-06-24  Paul Eggert  <eggert@cs.ucla.edu>

	Be more consistent about the 'Qfoo' naming convention.
	* image.c (Fimagemagick_types):
	* lisp.h (lisp_h_CHECK_TYPE, CHECK_TYPE, CHECK_ARRAY):
	* process.c (Fmake_network_process):
	Rename C local identifier 'Qfoo to avoid giving the false
	impression that it stands for the symbol 'foo'.

120 121 122 123 124 125 126 127 128 129 130 131 132 133
2014-06-23  Dmitry Antipov  <dmantipov@yandex.ru>

	Simplify and cleanup character conversion stuff.
	* lisp.h (multibyte_char_to_unibyte, multibyte_char_to_unibyte_safe):
	Remove prototypes.
	* character.c (multibyte_char_to_unibyte)
	(multibyte_char_to_unibyte_safe): Remove; no longer used.
	* character.h (make_char): Remove; unused.
	(CHAR_TO_BYTE8, CHAR_TO_BYTE_SAFE): Simplify.
	(ASCII_BYTE_P): Remove; ASCII_CHAR_P does the same thing.
	* buffer.c, charset.c, charset.h, cmds.c, coding.c, editfns.c:
	* fileio.c, indent.c, insdel.c, keyboard.c, lread.c, print.c:
	* search.c, term.c, xdisp.c, xterm.c: Related users changed.

134 135 136 137
2014-06-22  Mario Lang  <mlang@delysid.org>

	* w32fns.c (Fw32_shell_execute): The the -> the.

138 139 140 141 142 143 144 145 146 147 148 149
2014-06-22  Dmitry Antipov  <dmantipov@yandex.ru>

	* xmenu.c (mouse_position_for_popup):
	* xselect.c (mouse_position_for_drop): Do not duplicate ...
	* xfns.c (x_relative_mouse_position): ... and prefer this function.
	* menu.c (Fx_popup_menu):
	* xselect.c (x_handle_dnd_message): Adjust users.
	* menu.h (mouse_position_for_popup): Remove prototype.
	* xterm.h (x_relative_mouse_position): Add prototype.
	* xterm.c (x_find_topmost_parent): Break from the loop and do not
	call XFree if XQueryTree returns zero.

150 151 152
2014-06-21  Eli Zaretskii  <eliz@gnu.org>

	* indent.c (Fvertical_motion): Doc fix.
153 154 155 156
	Move to the goal column, if any, with a single call to
	move_it_in_display_line, not in two calls.  Doing this with two
	calls causes move_it_in_display_line apply the line-prefix
	handling twice instead of just once.  (Bug#17823)
157

Paul Eggert's avatar
Paul Eggert committed
158 159 160 161 162 163
2014-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	Port to OS X ACLs (Bug#17810).
	* fileio.c (Ffile_acl): Port to OS X, where acl_get_file (...,
	ACL_TYPE_ACCESS) doesn't work.

164
2014-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
165 166 167 168

	* keyboard.c (read_key_sequence): Don't invoke Vprefix_help_command
	before checking key-translation-map (bug#17659).

169
2014-06-21  Dmitry Antipov  <dmantipov@yandex.ru>
170 171 172 173

	* font.c (font_make_object): Avoid dangling pointer which may
	crash GC (Bug#17771).

174
2014-06-21  Eli Zaretskii  <eliz@gnu.org>
175 176 177 178 179 180 181 182 183

	* image.c [5 < GIFLIB_MAJOR + (1 <= GIFLIB_MINOR)]: Declare the
	prototype of DGifCloseFile as appropriate for older and newer
	versions of giflib.
	(gif_close): New function, encapsulates the differences in the
	calling sequence of DGifCloseFile before v5.1.0 and after it.
	(gif_load): Call gif_close instead of DGifCloseFile.  Divulge the
	error string where appropriate.  (Bug#17790)

184 185 186 187 188
	* xdisp.c (Fmove_point_visually): Instead of testing for keyboard
	macro execution, make sure point didn't move since last complete
	redisplay, as the condition for using the glyph matrix
	information.  (Bug#17777)

Dmitry Antipov's avatar
Dmitry Antipov committed
189 190 191 192 193 194 195 196 197 198 199 200 201
2014-06-19  Dmitry Antipov  <dmantipov@yandex.ru>

	Minor cleanup of fonset code.
	* fontset.c (FONTSET_ID, set_fontset_id, FONTSET_NAME)
	(set_fontset_name, FONTSET_ASCII, set_fontset_ascii)
	(FONTSET_BASE, set_fontset_base, FONTSET_FRAME)
	(set_fontset_frame, FONTSET_NOFONT_FACE, set_fontset_nofont_face)
	(FONTSET_DEFAULT, set_fontset_default, FONTSET_FALLBACK)
	(set_fontset_fallback): Reorder extra slots and avoid unused slots.
	(free_realized_fontset): Remove because a no-op since 2008.
	(free_face_fontset): Adjust user.
	(syms_of_fontset): Shrink fontset by one extra slot.

Paul Eggert's avatar
Paul Eggert committed
202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236
2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>

	Omit redundant extern decls.
	Most of this patch is from Dmitry Antipov, in:
	http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00263.html
	* commands.h (update_mode_lines):
	* frame.h (Qbackground_color, Qforeground_color)
	(x_set_menu_bar_lines):
	* ftfont.c (ftfont_font_format):
	* intervals.h (Qkeymap, Qfont):
	* keyboard.c (timer_check, safe_run_hooks, Qregion_extract_function):
	* lisp.h (Ffboundp, Qnil, Qt, Qlambda, Qintegerp, Qwholenump)
	(Qsymbolp, Qlisp, Qconsp, Qstringp, Qarrayp, Qbufferp, Qmarkerp)
	(Qvectorp, Qbuffer_or_string_p, Qchar_table_p, Qvector_or_char_table_p)
	(Qfloatp, Qnumberp, Qfont_spec, Qfont_entity, Qfont_object)
	(Fbyteorder, wrong_type_argument, Fmax_char, syms_of_composite)
	(Fidentity, extract_float, init_display, syms_of_display, Qdisplay):
	(Qimage, Qbox, redisplay_preserve_echo_area, char_table_ref)
	(char_table_set, char_table_translate, Qautoload, Qbottom, Qtop)
	(Qvisible, Qfont, Qfront_sticky, Qrear_nonsticky, init_sigio)
	(Qtool_bar, Qheader_line):
	* macros.c (Fexecute_kbd_macro):
	* xdisp.c (Ftool_bar_height, Ftool_bar_height):
	* xterm.c (x_delete_terminal, XSetIMValues):
	* xterm.h (x_set_window_size, x_query_color, x_get_focus_frame)
	(x_implicitly_set_name, popup_activated)
	(widget_store_internal_border):
	Remove redundant decls.
	* frame.c [USE_X_TOOLKIT]: Include widget.h.
	* keyboard.c (Fexit_recursive_edit, Fabort_recursive_edit):
	Remove _Noreturn, as make-docfile now does that for us.
	* lisp.h (DEFUN): Don't declare fnname here; rely on make-docfile.
	(Qregion_extract_function): New decl.
	* window.c, xfns.c: Include menu.h.

237 238 239 240
2014-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* callint.c (Fcall_interactively): Fix up last change (bug#17701).

241 242 243 244 245
2014-06-17  Dmitry Antipov  <dmantipov@yandex.ru>

	* fileio.c (Fread_file_name): Do not pass redundant args and ...
	* callint.c (read_file_name): ... convert to static here.
	* lisp.h (Fread_file_name): Do not EXFUN it.
246
	(STRING_COPYIN): Remove; unused.
247 248
	* composite.c (CHAR_COMPOSABLE_P): Replace unsafe macro with ...
	(char_composable_p): ... static function.  All users changed.
249 250
	* eval.c (toplevel): Remove redundant #include directives.
	* xterm.c (x_initialize): Add static to match prototype.
251 252
	* ccl.c (Fccl_execute_on_string):
	* font.c (fon_intern_prop): Use make_specified_string.
253

254 255 256 257 258 259
2014-06-16  Paul Eggert  <eggert@cs.ucla.edu>

	* Makefile.in (ns-app): Fix typo that broke build on OS X.
	Reported by David Caldwell in:
	http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00251.html

260 261 262 263 264 265
2014-06-16  Dmitry Antipov  <dmantipov@yandex.ru>

	Do not ask for XRender extension each time XFT font is opened.
	* xftfont.c (xftfont_open): Move call to XRenderQueryExtension ...
	* xterm.c (x_term_init) [HAVE_XFT]: ... to here.  Adjust comment.

266 267 268 269
2014-06-15  Glenn Morris  <rgm@gnu.org>

	* Makefile.in: Use `make -C' rather than `cd && make' throughout.

270
2014-06-15  Eli Zaretskii  <eliz@gnu.org>
271 272 273 274 275 276

	* xdisp.c (Fmove_point_visually): Don't use the glyph matrix
	information if we are in the middle of executing a keyboard macro,
	since redisplay doesn't update the screen until the macro is
	finished.  (Bug#17777)

277 278 279
	* alloc.c (cleanup_vector): Don't dereference a font driver
	pointer if it is NULL.  (Bug#17771)

280 281 282 283 284 285 286 287 288
2014-06-13  Glenn Morris  <rgm@gnu.org>

	* Makefile.in ($(leimdir)/leim-list.el, $(srcdir)/macuvs.h)
	($(lispsource)/international/charprop.el)
	($(libsrc)/make-docfile$(EXEEXT), $(lwlibdir)/liblw.a)
	($(oldXMenudir)/libXMenu11.a, ns-app, .el.elc)
	($(lispsource)/loaddefs.el, bootstrap-emacs$(EXEEXT)):
	GNU make automatically passes command-line arguments to sub-makes.

289 290 291 292 293 294 295 296 297 298 299 300
2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid hangs in accept-process-output (Bug#17647).
	* lisp.h, process.c (wait_reading_process_input):
	Return int, not bool.  All uses changed.
	* process.c (SELECT_CANT_DO_WRITE_MASK):
	Remove macro, replacing with ...
	(SELECT_CAN_DO_WRITE_MASK): ... new constant, with inverted sense.
	All uses changed.
	(status_notify): New arg WAIT_PROC.  Return int, not void.
	All uses changed.

301 302 303 304 305 306 307
2014-06-13  Eli Zaretskii  <eliz@gnu.org>

	* menu.c (Fx_popup_menu): Don't call the frame's menu_show_hook if
	the frame is the initial frame, because the hook is not set up
	then, and Emacs crashes.
	Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.

308 309 310 311 312
2014-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* keymap.c (silly_event_symbol_error): Don't recommend the use
	of strings.

313 314 315 316 317 318
2014-06-11  Eli Zaretskii  <eliz@gnu.org>

	* xdisp.c (set_cursor_from_row): Fix an off-by-one error when
	matching overlay strings with 'cursor' property against buffer
	positions traversed in the glyph row.  (Bug#17744)

Jan Djärv's avatar
Jan Djärv committed
319 320 321 322 323 324 325 326
2014-06-11  Jan Djärv  <jan.h.d@swipnet.se>

	* nsterm.h (EmacsApp): Always compile in shouldKeepRunning, isFirst
	on Cocoa.

	* nsterm.m (run): Always compile for Cocoa.  Use runtime check to
	determine 10.9 (Bug#17751).

327
	* macfont.m (macfont_draw): Positions were not freed.
Jan Djärv's avatar
Jan Djärv committed
328

329 330 331 332 333 334 335
2014-06-10  Dmitry Antipov  <dmantipov@yandex.ru>

	* dispextern.h (PREPARE_FACE_FOR_DISPLAY): Remove as a duplicate of ...
	* xfaces.c (prepare_face_for_display) [HAVE_WINDOW_SYSTEM]: ... this
	function.  Also adjust comment.
	* fringe.c, w32term.c, xdisp.c, xterm.c: All users changed.

336 337 338 339 340 341 342 343 344
	* dispextern.h (struct face) [HAVE_XFT]: Ifdef 'extra' member.
	* font.c (font_done_for_face):
	* xface.c (realize_non_ascii_face): Adjust user.
	* font.h (struct font_driver): Convert 'prepare_face' to return
	void because its return value is never used anyway.
	* xfont.c (xfont_prepare_face): Return void.
	* xftfont.c (xftfont_prepare_face): Likewise.  Use xmalloc.
	(xftfont_done_face): Use xfree.

345 346 347 348 349 350 351 352
	* dispextern.h (last_tool_bar_item): Remove declaration.
	* frame.h (struct frame): New member last_tool_bar_item.
	* frame.c (make_frame): Initialize it.
	* xdisp.c (toplevel): Remove last_tool_bar_item.
	(handle_tool_bar_click, note_tool_bar_highlight):
	* w32term.c (w32_read_socket, w32_initialize):
	* xterm.c (handle_one_xevent, x_initialize): Adjust users.

353 354 355
	* frame.h (window_system_available) [!HAVE_WINDOW_SYSTEM]: Always false.
	* frame.c (window_system_available) [HAVE_WINDOW_SYSTEM]: Now here.

356 357 358 359 360 361 362
2014-06-09  Paul Eggert  <eggert@cs.ucla.edu>

	Say (accept-process-output P)'s result pertains to P if P is non-nil.
	* process.c (Faccept_process_output)
	(wait_reading_process_output): Mention that if PROCESS is non-nil,
	the return value is about PROCESS, not about other processes.

363 364 365 366 367 368 369 370
2014-06-09  Dmitry Antipov  <dmantipov@yandex.ru>

	Further adjustments to mark_object and friends.
	Now the mark_object's stack is just 32 bytes on a 64-bit
	system, which means extra 20% off the stack usage.
	* alloc.c (mark_save_value): As before, refactored out from ...
	(mark_object): ... adjusted user.  Also add comment.

371 372 373 374 375 376
2014-06-09  Paul Eggert  <eggert@cs.ucla.edu>

	Fix core dump after a dropped X connection (Bug#17704).
	* sysdep.c (stuff_char): Don't abort merely because the selected frame
	is dead, as we may be shutting down.

Glenn Morris's avatar
Glenn Morris committed
377 378
2014-06-08  Glenn Morris  <rgm@gnu.org>

379 380
	* fileio.c (write-region-inhibit-fsync): Doc tweak.

Glenn Morris's avatar
Glenn Morris committed
381 382
	* data.c (Flss, Fgtr, Fleq, Fgeq): Doc tweaks.

383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407
2014-06-08  Paul Eggert  <eggert@cs.ucla.edu>

	If a C name must be extern on some platforms, make it extern on all.
	* dispextern.h (set_vertical_scroll_bar, erase_phys_cursor)
	(load_color):
	* font.h (ftxfont_driver) [HAVE_XFT]:
	* keyboard.h (menu_items_inuse, ignore_mouse_drag_p, make_ctrl_char):
	* lisp.h (get_frame_param):
	* menu.h (tty_menu_show):
	* process.h (conv_sockaddr_to_lisp, catch_child_signal):
	* termhooks.h (encode_terminal_code):
	* xterm.h (x_menu_wait_for_event):
	Always declare.
	* frame.c (get_frame_param):
	* fringe.c (max_used_fringe_bitmap):
	* ftxfont.c (ftxfont_driver):
	* keyboard.c (ignore_mouse_drag_p, make_ctrl_char):
	* menu.c (menu_items_inuse):
	* process.c (conv_sockaddr_to_lisp, catch_child_signal):
	* term.c (encode_terminal_code, tty_menu_show):
	* xdisp.c (set_vertical_scroll_bar, erase_phys_cursor):
	* xfaces.c (load_color):
	* xmenu.c (x_menu_wait_for_event):
	Now always extern.

408 409 410 411 412 413 414 415 416 417 418 419 420 421 422
2014-06-08  Dmitry Antipov  <dmantipov@yandex.ru>

	Change object marking routines to minimize stack usage.
	This change moves a few cold paths from mark_object to NO_INLINE
	functions and adjusts symbol marking loop.  According to GCC 4.8.2
	-Wstack-usage, this reduces mark_object's stack usage from 80 to
	48 bytes on a 64-bit system.  For a long byte-force-recompile runs,
	stack usage at the mark phase is reduced up to 28%.  Surprisingly,
	it also gains up to 3% in speed (with default '-O2 -g3' flags).
	* alloc.c (mark_compiled, mark_localized_symbol): New functions,
	refactored out from ...
	(mark_object): ... adjusted user.  Also mark symbols in a tight
	inner loop.
	(mark_face_cache): Add NO_INLINE.

423
2014-06-08  Eli Zaretskii  <eliz@gnu.org>
424

425 426 427 428
	* sysdep.c (reset_sys_modes): Use cursorX, not curX, as the latter
	contains garbage on WINDOWSNT (which could potentially infloop at
	exit).

429
	Minimize cursor motion during TTY menu updates.
430 431
	* term.c (tty_menu_display): Don't position cursor here.
	Instead, pass the cursor coordinates to update_frame_with_menu.
432 433 434 435 436 437 438 439 440 441
	(tty_menu_activate): Send the hide cursor command only once in an
	iteration through the outer 'while' loop.

	* dispnew.c (update_frame_1): Accept an additional argument
	SET_CURSOR_P, and position the cursor at the end of the frame
	update only if that argument is non-zero.  All callers changed to
	provide the additional argument as non-zero, except for
	update_frame_with_menu.
	(update_frame_with_menu): Accept 2 additional arguments ROW and
	COL; if they are non-negative, instruct update_frame_1 not to
442
	position the cursor, and instead position it according to ROW and COL.
443 444 445

	* dispextern.h (update_frame_with_menu): Update prototype.

446
2014-06-08  Stefan Monnier  <monnier@iro.umontreal.ca>
447 448 449 450

	* callproc.c (call_process): Don't check read-only if we don't insert
	anything (bug#17666).

451
2014-06-08  Eli Zaretskii  <eliz@gnu.org>
452 453 454

	* dispnew.c (update_frame_with_menu): Set display_completed.

Eli Zaretskii's avatar
Eli Zaretskii committed
455 456 457 458 459 460
2014-06-07  Eli Zaretskii  <eliz@gnu.org>

	* term.c (tty_menu_show) [WINDOWSNT]: Make tty_menu_show extern
	only for WINDOWSNT.
	* menu.h (tty_menu_show) [WINDOWSNT]: Declare extern only for WINDOWSNT.

461 462 463 464 465
2014-06-06  Paul Eggert  <eggert@cs.ucla.edu>

	* term.c (tty_menu_show) [!HAVE_NTGUI]: Now static.
	* menu.h (tty_menu_show) [!HAVE_NTGUI]: Omit extern decl.

466 467
2014-06-06  Stefan Monnier  <monnier@iro.umontreal.ca>

468 469 470
	* window.c (Frecenter): Signal an error if window-buffer is not
	current-buffer.

471 472 473
	* keyboard.c (make_lispy_position): Don't include a buffer position in
	mode/header-line mouse events.

474 475 476
	* keyboard.c (read_char): Handle (t . <event>) in the second use of
	Vunread_command_events (bug#17650).

477 478
2014-06-06  Dmitry Antipov  <dmantipov@yandex.ru>

479 480
	* xterm.c (x_setup_pointer_blanking):
	Conditionally probe Xfixes until this stuff is stabilized (Bug#17609).
481

482 483 484 485 486
2014-06-05  Dmitry Antipov  <dmantipov@yandex.ru>

	* keyboard.c, process.c: Do not define POLL_FOR_INPUT here
	because it will be defined in generated config.h if needed.

487 488 489 490 491 492 493 494 495 496 497
2014-06-04  Dmitry Antipov  <dmantipov@yandex.ru>

	Use terminal-specific hooks to display popup dialogs.
	* termhooks.h (struct terminal): New field popup_dialog_hook.
	* menu.c (emulate_dialog_with_menu): New function, refactored from ...
	(Fx_popup_dialog): ... adjusted user.  Also remove old #if 0
	code and use popup_dialog_hook.
	* nsmenu.m (ns_popup_dialog): Make hook-compatible.
	* nsterm.h (ns_popup_dialog): Adjust prototype.
	* nsterm.m (ns_create_terminal):
	* w32term.c (w32_create_terminal):
498 499
	* xterm.c (x_create_terminal) [USE_X_TOOLKIT || USE_GTK]:
	Setup popup_dialog_hook.
500

501 502
2014-06-04  Eli Zaretskii  <eliz@gnu.org>

503
	* w32heap.c (report_temacs_memory_usage): Improve the report by
504
	reporting the large blocks that are actually occupied at dump time.
505

506 507 508
	* w32console.c (initialize_w32_display): Set the console
	menu_show_hook, otherwise TTY menus are broken on w32.

509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526
2014-06-04  Dmitry Antipov  <dmantipov@yandex.ru>

	Use terminal-specific hooks to display menus.
	* termhooks.h (struct terminal): New field menu_show_hook.
	* menu.h (<anonymous enum>): Bit flags for menu hooks.
	(x_menu_show, w32_menu_show, ns_menu_show, tty_menu_show):
	Adjust prototypes.
	* menu.c (Fx_popup_menu): Use bit flags and menu_show_hook.
	* nsmenu.m (ns_menu_show):
	* w32menu.c (w32_menu_show):
	* xmenu.c (x_menu_show):
	* term.c (tty_menu_show): Adjust to use bit flags.
	(set_tty_hooks): Set menu_show_hook.
	* xterm.c (x_create_terminal):
	* nsterm.m (ns_create_terminal):
	* msdos.c (initialize_msdos_display):
	* w32term.c (w32_create_terminal): Likewise.

527 528 529 530
2014-06-03  Juanma Barranquero  <lekktu@gmail.com>

	* w32heap.c (DUMPED_HEAP_SIZE) [!_WIN64]: Reduce to 11 MB.

531 532 533 534 535
2014-06-03  Eli Zaretskii  <eliz@gnu.org>

	* sysselect.h (fd_CLR, fd_ISSET, fd_SET, FD_CLR, FD_ISSET)
	(FD_SET): Don't define on WINDOWSNT.

536 537
2014-06-03  Paul Eggert  <eggert@cs.ucla.edu>

538 539 540 541
	* emacs.c: Include "sysselect.h", to define its inline functions.
	Problem reported by Glenn Morris in:
	http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00077.html

542 543 544 545 546 547 548 549
	Do not require libXt-devel when building with gtk.
	* gtkutil.h, menu.h: Include lwlib-widget.h, not lwlib-h, to avoid
	dependency on libXt-devel.
	* menu.h [HAVE_NTGUI]: Include lwlib-widget.h in this case too.
	(enum button_type, widget_value) [HAVE_NTGUI]: Remove, as
	lwlib-widget.h now does this.
	* nsmenu.m (ns_menu_show): "enabled" -> "enable" to fix typo.

550 551 552 553 554 555 556 557 558 559 560
2014-06-03  Paul Eggert  <eggert@penguin.cs.ucla.edu>

	If ENABLE_CHECKING, range-check args of FD_CLR, FD_ISSET, FD_SET.
	* process.c (add_read_fd, delete_read_fd, add_write_fd)
	(delete_write_fd, wait_reading_process_output):
	Remove now-redundant easserts.
	* sysselect.h (SYSSELECT_H): New macro, to avoid double-inclusion woes.
	Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
	(fd_CLR, fd_ISSET, fd_SET): New inline functions.
	(FD_CLR, FD_ISSET, FD_SET): Redefine in terms of these functions.

561 562
2014-06-03  Eli Zaretskii  <eliz@gnu.org>

563
	* w32heap.c (DUMPED_HEAP_SIZE): Move from w32heap.h.  Don't use
564
	HEAPSIZE; instead, define separate values for the 32- and 64-bit builds.
565 566
	(calloc): Don't undef, it is never defined.
	(HEAP_ENTRY_SHIFT): Remove unused macro.
567 568 569 570

	* Makefile.in (C_HEAP_SWITCH): Remove.
	(ALL_CFLAGS): Don't use $(C_HEAP_SWITCH).

571 572 573 574 575 576 577
	Fix MS-Windows build broken by menu changes on 2014-06-02.
	* w32menu.c (w32_menu_show): Fix a typo that broke compilation.

	* menu.h (enum button_type, struct _widget_value) [HAVE_NTGUI]:
	Define instead of including ../lwlib/lwlib.h, which causes
	compilation errors due to missing X11 headers.

578 579
2014-06-03  Paul Eggert  <eggert@cs.ucla.edu>

580 581
	* process.c (wait_reading_process_output): Omit incorrect test of
	p->infd against zero.  Add easserts for infd having a plausible value.
582

583 584 585
2014-06-02  Dmitry Antipov  <dmantipov@yandex.ru>

	Adjust to match recent lwlib changes.
586
	* menu.h (xmalloc_widget_value): Replace by ...
587
	(make_widget_value): ... new prototype.
588
	* menu.c (xmalloc_widget_value): Replace by ...
589 590 591 592 593 594 595 596 597 598 599 600
	(make_widget_value): ... new function.
	(free_menubar_widget_value_tree, digest_single_submenu): Adjust users.
	* gtkutil.c (malloc_widget_value, free_widget_value):
	(widget_value_free_list, malloc_cpt): Remove old lwlib-compatible code.
	* keyboard.h (enum button_type, struct _widget_value):
	* gtkutil.h, nsgui.h, w32gui.h (malloc_widget_value, free_widget_value):
	Likewise.
	* nsmenu.m (ns_update_menubar, ns_menu_show):
	* w32menu.c (set_frame_menubar, w32_menu_show, w32_dialog_show):
	* xmenu.c (set_frame_menubar, xmenu_show, x_dialog_show): Adjust users.
	* xterm.h (XtParent) [USE_GTK]: Remove unused macro.

601 602 603 604 605 606
2014-06-02  Dmitry Antipov  <dmantipov@yandex.ru>

	* image.c (x_query_frame_background_color)
	[HAVE_PNG || HAVE_NS || HAVE_IMAGEMAGICK || HAVE_RSVG]:
	Fix --enable-gcc-warnings compilation without image libraries.

607 608 609 610 611 612 613
2014-06-02  Eli Zaretskii  <eliz@gnu.org>

	* w32heap.c (malloc_after_dump, realloc_after_dump): Update the
	emulated break value only if it goes up.
	(sbrk): Add assertion that the INCREMENT argument is strictly
	zero.  Improve and correct the commentary.

614
2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
615

616 617 618 619 620
	Improve AIX-related merge from emacs-24.
	* conf_post.h (FLEXIBLE_ARRAY_MEMBER): Fix comment.
	* lisp.h (ENUMABLE) [!_AIX]: Don't define to 0 merely because we're
	not on AIX; since we're on the trunk we can use enums more broadly.

621 622
	* frame.c (x_set_frame_parameters): Don't read uninitialized storage.

623
2014-06-02  Jan Djärv  <jan.h.d@swipnet.se>
Jan Djärv's avatar
Jan Djärv committed
624 625 626 627

	* xterm.c (xg_scroll_callback): Remove position, for jump set portion
	to min(value, whole).

628
2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
629 630 631 632 633 634 635 636

	Bring back the changes to GDB-visible symbols, but only on AIX.
	And only if it's not pre-4.2 GCC.
	* lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): New macros.
	(ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them.
	(ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
	New macros.

637
2014-06-02  Eli Zaretskii  <eliz@gnu.org>
638

639 640 641
	* fileio.c (Finsert_file_contents): Call prepare_to_modify_buffer
	with PT, not GPT.  (Bug#16433)

642 643 644 645 646 647
	Revert last changes to GDB-visible symbols.
	* lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): Delete macros.
	(ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Don't use them.
	(ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
	Delete macros.

648
2014-06-02  Glenn Morris  <rgm@gnu.org>
649 650 651

	* cmds.c (Fself_insert_command): Allow zero repeat count.  (Bug#17649)

652
2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
Paul Eggert's avatar
Paul Eggert committed
653 654 655 656 657 658 659

	Fix port to 32-bit AIX with xlc (Bug#17598).
	* alloc.c (gdb_make_enums_visible): Remove FLOAT_TO_STRING_BUFSIZE.
	* conf_post.h (FLEXIBLE_ARRAY_MEMBER) [__IBMC__]: Don't define to empty.
	* lisp.h (FLOAT_TO_STRING_BUFSIZE): Make it a macro, instead of an enum,
	to work around a compiler bug in IBM xlc 12.1.

660
2014-06-02  Eli Zaretskii  <eliz@gnu.org>
661 662 663 664 665

	* xterm.c (x_update_window_end): Don't invalidate the entire
	mouse-highlight info, just signal frame_up_to_date_hook that mouse
	highlight needs to be redisplayed.  (Bug#17588)

666
2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
667 668 669 670 671 672 673 674 675 676

	Port the GDB-visible symbols to AIX.
	Without them, GDB doesn't work to debug Emacs, since the AIX linker
	optimizes away the relevant external symbols.  Use enums instead;
	this suffices for the AIX port, which is 32-bit-only anyway.
	* lisp.h (ENUMABLE, DEFINE_GDB_SYMBOL_ENUM): New macros.
	(ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Use them.
	(ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
	New macros.

677 678 679 680
	Include sources used to create macuvs.h.
	* Makefile.in ($(srcdir)/macuvs.h): New rule.
	* macuvs.h: Use automatically-generated header.

681 682 683 684 685 686
2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	Port signal-handling to DragonFly BSD (Bug#17646).
	* callproc.c, sysdep.c (block_child_signal, unblock_child_signal):
	Move implementations from callproc.c to sysdep.c.
	* process.h, syssignal.h (block_child_signal, unblock_child_signal):
Paul Eggert's avatar
Paul Eggert committed
687
	Move declarations from process.h to syssignal.h.
688

689 690 691 692
2014-06-01  Juanma Barranquero  <lekktu@gmail.com>

	* callint.c (Ffuncall_interactively): Add usage.

693 694 695 696
2014-06-01  Jan Djärv  <jan.h.d@swipnet.se>

	* nsfns.m (ns_appkit_version_str): Add os version for Cocoa.

697 698 699 700 701 702 703
2014-05-30  Eli Zaretskii  <eliz@gnu.org>

	* w32heap.c (malloc_before_dump, malloc_after_dump)
	(malloc_before_dump, realloc_after_dump, realloc_before_dump)
	(mmap_alloc, mmap_realloc): Check for errors more thoroughly and
	set errno where appropriate to emulate CRT functions.

704 705 706 707 708 709 710 711 712 713 714
2014-05-30  Dmitry Antipov  <dmantipov@yandex.ru>

	Debugging facility to check whether 'const char *' points to
	relocatable data of non-pure Lisp string.
	* alloc.c (maybe_lisp_pointer): New function, refactored out of ...
	(mark_maybe_pointer): ... adjusted user.
	(relocatable_string_data_p): New function.
	* lisp.h (relocatable_string_data_p): Add prototype.
	* xdisp.c (message_with_string): If ENABLE_CHECKING, make sure
	the pointer to relocatable Lisp data is not used.

715 716 717 718 719 720 721 722 723 724 725 726 727
2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	Don't let SIGINT handling block SIGCHLD indefinitely (Bug#17561).
	* atimer.c (block_atimers):
	* callproc.c (block_child_signal): Block SIGINT too;
	otherwise, its handler might now unblock signals that it shouldn't.
	* keyboard.c (read_char): Clear signal mask, since we may
	be in a SIGINT handler, and many signals may be masked.
	* keyboard.c (handle_interrupt):
	* sysdep.c (handle_arith_signal):
	Clear signal mask instead of just unblocking the signal that
	was received, since several signals may be blocked at this point.

728 729 730 731 732 733
2014-05-29  Eli Zaretskii  <eliz@gnu.org>

	* Makefile.in (TEMACS_POST_LINK): Remove target.
	(emacs$(EXEEXT)): Remove $(ADDSECTION) from prerequisites.
	(temacs$(EXEEXT)): Remove $(TEMACS_POST_LINK) from the recipe.

734 735 736 737 738 739 740 741 742 743
2014-05-29  Dmitry Antipov  <dmantipov@yandex.ru>

	* xmenu.c (xdialog_show): Remove prototype, rename to
	x_dialog_show, remove 2nd arg because it's always zero
	and simplify accordingly.
	(xw_popup_dialog): Adjust user.
	* w32menu.c (w32_dialog_show): Adjust prototype, remove
	2nd arg because it's always zero and simplify accordingly.
	(w32_popup_dialog): Adjust user.

744 745 746 747
2014-05-29  Eli Zaretskii  <eliz@gnu.org>

	* w32heap.c (report_temacs_memory_usage): New function.

748 749
	* unexw32.c (unexec) [ENABLE_CHECKING]:
	Call report_temacs_memory_usage.
750 751 752

	* w32heap.h (report_temacs_memory_usage): Add prototype.

753 754 755 756 757
2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>

	Don't substitute sigprocmask for pthread_sigmask (Bug#17561).
	* Makefile.in (LIB_PTHREAD_SIGMASK): Remove; all uses removed.

758 759 760 761 762 763 764 765 766 767 768 769 770
2014-05-29  Eli Zaretskii  <eliz@gnu.org>

	* buffer.c (init_buffer): Accept an argument 'initialized'.
	[USE_MMAP_FOR_BUFFERS]: If 'initialized' is non-zero, reset
	mmap_regions and mmap_fd, to avoid referencing stale data from the
	dump phase.  Add an assertion for buffer text of buffers created
	in temacs before this function is called.  (Bug#17622)
	(mmap_regions_1, mmap_fd_1): Remove unused variables.

	* lisp.h (init_buffer): Update prototype.

	* emacs.c (main): Pass 'initialized' as the argument to init_buffer.

771 772 773 774 775
2014-05-29  Dmitry Antipov  <dmantipov@yandex.ru>

	* alloc.c (Fgarbage_collect): Fix compilation with
	GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.

776 777 778 779 780 781
2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>

	* frame.c, frame.h (frame_char_to_pixel_position)
	(frame_set_mouse_position): Now static, and made private in
	frame.c rather than public in frame.h.

782 783 784 785 786 787 788 789 790 791 792 793 794 795
2014-05-28  Dmitry Antipov  <dmantipov@yandex.ru>

	Refactor mouse positioning stuff to avoid code duplication.
	* frame.h (frame_char_to_pixel_position): New function.
	(x_set_mouse_position): Rename to...
	(frame_set_mouse_position): ...new function.
	(frame_set_mouse_pixel_position): Add prototype.
	* nsterm.m, w32term.c, xterm.c (x_set_mouse_pixel_position):
	Rename to frame_set_mouse_pixel_position.
	* frame.c (Fset_mouse_pixel_position, Fset_mouse_position):
	Adjust users.
	* xterm.h, w32term.h ( x_set_mouse_position)
	(x_set_mouse_pixel_position): Remove prototypes.

796 797 798 799 800 801 802 803 804 805
2014-05-28  Dmitry Antipov  <dmantipov@yandex.ru>

	On X, always make pointer visible when deleting frame (Bug#17609).
	* frame.c (frame_make_pointer_visible, frame_make_pointer_invisible):
	Pass frame as arg.
	* frame.h (frame_make_pointer_visible, frame_make_pointer_invisible):
	Adjust prototypes.
	* cmds.c (Fself_insert_command): Use SELECTED_FRAME.
	* keyboard.c (gobble_input): If there is no terminal input error,
	make sure the pointer is visible for all frames on this terminal.
806 807
	* xterm.c (x_free_frame_resources): Enable pointer visibility if
	it was previously disabled.
808

809 810 811 812 813 814 815 816 817 818 819 820 821
2014-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>

	* data.c (Fzerop): Move to Elisp.
	(syms_of_data): Don't defsubr it.
	* keyboard.c (echo_keystrokes_p): New function.
	(read_char, record_menu_key, read_key_sequence): Use it.

	* callint.c (Qfuncall_interactively): New var.
	(Qcall_interactively): Remove.
	(Ffuncall_interactively): New function.
	(Fcall_interactively): Use it.
	(syms_of_callint): Defsubr it.

822 823 824 825 826
2014-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>

	* bytecode.c (FETCH) [BYTE_CODE_SAFE]: Check the bytecode wasn't
	relocated from under us.

827 828
2014-05-27  Fabrice Popineau  <fabrice.popineau@gmail.com>

829
	Use mmap(2) emulation for allocating buffer text on MS-Windows.
830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847
	* Makefile.in (C_HEAP_SWITCH): Get the predefined heap size from
	configure.
	(ADDSECTION, MINGW_TEMACS_POST_LINK): Remove, no longer used.

	* lisp.h (NONPOINTER_BITS): Modify the condition to define to zero
	for MinGW, since it no longer uses gmalloc.

	* buffer.c: Do not define mmap allocations functions for Windows.
	Remove mmap_find which is unused. Remove mmap_set_vars which does
	nothing useful.
	[WINDOWSNT]: Include w32heap.h.
	(init_buffer): Always allocate new memory for buffers.

	* emacs.c: Remove mmap_set_vars calls.

	* image.c (free_image): Undef free for Windows because it is
	redirected to our private version.

848
	* unexw32.c (COPY_PROC_CHUNK): Use %p format for 64bits compatibility.
849 850 851 852 853 854 855 856 857 858
	(copy_executable_and_dump_data): Remove dumping the heap section.
	(unexec): Restore using_dynamic_heap after dumping.

	* w32heap.c (dumped_data_commit, malloc_after_dump)
	(malloc_before_dump, realloc_after_dump, realloc_before_dump)
	(free_after_dump, free_before_dump, mmap_alloc, mmap_realloc)
	(mmap_free): New functions.

	* w32heap.h: Declare dumped_data and mmap_* function prototypes.

859 860
2014-05-27  Paul Eggert  <eggert@cs.ucla.edu>

861 862 863 864
	* image.c (imagemagick_load_image): Use MagickRealType for local
	'color_scale', instead of double, to avoid a GCC warning about
	double promotion.

865 866
	* xfns.c (Fx_window_property): Remove unused local.

867 868 869 870 871 872 873
	Don't kill already-reaped process (Bug#17561).
	* process.c (process_send_signal): Fix race condition where a
	subprocess was reaped by a signal handler between the check for
	liveness and calling 'kill', which meant that Emacs could in
	theory kill an innocent bystander process.  Do the fix by blocking
	SIGCHLD in a critical section that checks liveness before killing.

874 875
2014-05-26  Eli Zaretskii  <eliz@gnu.org>

876
	* w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Define only if undefined.
877

878 879 880 881 882
2014-05-26  Ken Brown  <kbrown@cornell.edu>

	* w32term.c (x_delete_display): Don't free dpyinfo->w32_id_name,
	even if !CYGWIN (see bug#17510).

883 884
2014-05-26  Jan Djärv  <jan.h.d@swipnet.se>

885 886 887
	* nsfns.m (Fns_do_applescript): Surround NSApp run
	with calls to ns_init_events, ns_finish_events (Bug#17424).

888 889 890 891 892 893 894 895
	* nsterm.h (ns_init_events, ns_finish_events): Declare.

	* nsterm.m (ns_init_events, ns_finish_events): New functions.
	(ns_read_socket, ns_select): Call ns_init_events, ns_finish_events.

	* nsfns.m (ns_do_applescript): Surround executeAndReturnError
	with calls to ns_init_events, ns_finish_events (Bug#17424).

896
2014-05-26  Eli Zaretskii  <eliz@gnu.org>
897 898 899 900 901

	* xdisp.c (move_it_in_display_line_to): Don't record wrap position
	if we are iterating over an object that generates glyphs for
	marginal areas.  (Bug#17585)

902
2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
903 904 905

	* xdisp.c (safe__call1, safe__eval): Now static.

906
2014-05-26  Eli Zaretskii  <eliz@gnu.org>
907 908 909 910 911

	* xdisp.c (safe__call): Accept va_list argument instead of '...'.
	(safe_call, safe__call1): Construct a va_list argument for safe_call.
	(safe_call1): Call safe_call instead of safe__call directly.

912
2014-05-26  Ken Brown  <kbrown@cornell.edu>
913 914 915 916 917

	* w32term.c (x_delete_display) [CYGWIN]: Don't free
	dpyinfo->w32_id_name, to make sure it doesn't get freed more than
	once.  (Bug#17510)

918
2014-05-26  Stefan Monnier  <monnier@iro.umontreal.ca>
919 920 921 922 923 924 925

	* xdisp.c: Bind inhibit-quit during pre-redisplay-function.
	(safe__call, safe__call1, safe__eval): New functions.
	(safe_call): Use it.
	(prepare_menu_bars): Use it for pre-redisplay-function (bug#17577).
	(display_mode_element): Same for `:eval'.

926
2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
Paul Eggert's avatar
Paul Eggert committed
927 928 929 930 931 932

	Fix port to 32-bit AIX (Bug#17540).
	* unexaix.c (copy_text_and_data): Don't add text_scnptr to ptr
	twice.  _text already includes this offset.
	(unrelocate_symbols): Don't cast 64-bit integer to pointer.

933
2014-05-26  Eli Zaretskii  <eliz@gnu.org>
934 935 936 937 938

	* xdisp.c (move_it_in_display_line_to): Avoid infinite recursion:
	when closest_pos is identical to to_charpos, don't recurse, since
	we already tried that, and failed.  (Bug#17539)

939 940 941 942 943 944
	* w32fns.c (unwind_create_frame) [GLYPH_DEBUG]: If we are
	unwinding when frame's faces were not initialized yet, increment
	the frame's image-cache reference count before calling
	x_free_frame_resources.  Don't dereference
	dpyinfo->terminal->image_cache if it is NULL.  (Bug#17524)

945 946 947 948 949 950 951 952 953 954 955
2014-05-25  Jan Djärv  <jan.h.d@swipnet.se>

	* nsfont.m (nsfont_draw): Simplify as arguments are adjusted in
	nsterm.m now.

	* nsterm.m (ns_draw_glyph_string): Move isComposite and end from
	macfont.m, call draw with adjusted arguments so font drivers
	don't need to do that.

	* macfont.m (macfont_draw): Merge changes from Macport.

956 957 958 959 960 961 962 963 964
2014-05-24  Eli Zaretskii  <eliz@gnu.org>

	* alloc.c (garbage_collect_1): New function, with all of the guts
	of Fgarbage_collect.
	(mark_stack): Accept an argument END and don't mark Lisp objects
	on the stack beyond the address given by END.  Calculation of END
	was moved to Fgarbage_collect.
	(Fgarbage_collect): Calculate the end address of the stack portion
	that needs to be examined by mark_stack, and pass that address to
965 966
	garbage_collect_1, which will pass it to mark_stack.
	See http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00270.html
967 968 969 970
	for more details about the underlying problems.  In particular,
	this avoids dumping Emacs with the large hash-table whose value is
	held in purify-flag for most of the time loadup.el runs.

971 972 973 974 975 976 977 978
2014-05-24  Jan Djärv  <jan.h.d@swipnet.se>

	* xfns.c (x_window_property_intern): New function (code from
	x_window_property).
	(Fx_window_property): Call x_window_property_intern.  If property
	not found and NILP (source) and outer window != inner window,
	check outer window for property (Bug#17537).

979 980 981 982 983 984 985 986 987 988 989 990
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.

991 992 993 994 995 996
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.

997 998 999 1000
2014-05-21  Leo Liu  <sdl.web@gmail.com>

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

1001 1002 1003 1004
2014-05-20  Michael Albinus  <michael.albinus@gmx.de>

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

1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015
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.

1016 1017 1018 1019 1020 1021 1022 1023 1024
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.

1025 1026 1027
	* font.c (font_matching_entity): Extract font-entity object
	from the vector of matching entities (Bug#17486).

Paul Eggert's avatar
Paul Eggert committed
1028 1029 1030 1031 1032 1033 1034 1035 1036 1037
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.

1038 1039 1040 1041 1042
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.

1043 1044 1045
2014-05-15  Dmitry Antipov  <dmantipov@yandex.ru>

	* fns.c (Freverse): Allow vectors, bool vectors and strings.
1046
	(Fnreverse): Allow vectors and bool vectors.
1047

1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059
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.

1060 1061 1062 1063
2014-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	* keyboard.c (Qdeactivate_mark): Now static.

1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076
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.

1077 1078 1079 1080
2014-05-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

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

1081
2014-05-12  Glenn Morris  <rgm@gnu.org>
1082 1083 1084

	* fileio.c (Ffile_executable_p): Doc tweak.

1085
2014-05-12  Jan Djärv  <jan.h.d@swipnet.se>
1086 1087 1088 1089

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

1090
2014-05-08  Paul Eggert  <eggert@cs.ucla.edu>
1091 1092 1093

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

1094
2014-05-08  Jarek Czekalski  <jarekczek@poczta.onet.pl>
1095 1096 1097 1098 1099

	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.

1100
2014-05-08  Samuel Bronson  <naesten@gmail.com>
1101 1102 1103 1104

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

1105
2014-05-08  Jarek Czekalski  <jarekczek@poczta.onet.pl>
1106 1107 1108 1109 1110

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

1111
2014-05-08  Jan Djärv  <jan.h.d@swipnet.se>
1112 1113 1114 1115

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

1116 1117 1118 1119
2014-05-07  Paul Eggert  <eggert@cs.ucla.edu>

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

1120 1121 1122 1123 1124 1125 1126 1127
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
1128 1129
2014-05-04  Paul Eggert  <eggert@cs.ucla.edu>

1130 1131 1132 1133 1134
	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
1135

1136 1137 1138 1139 1140 1141 1142
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
1143 1144 1145 1146
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
1147 1148 1149 1150 1151
2014-05-01  Glenn Morris  <rgm@gnu.org>

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

1152 1153 1154 1155 1156
2014-05-01  Eli Zaretskii  <eliz@gnu.org>

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

1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172
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.

1173 1174 1175 1176 1177 1178
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.

1179
2014-04-30  Eli Zaretskii  <eliz@gnu.org>
1180

1181
	* term.c (tty_menu_display): Move the cursor to the active menu item.
1182
	(tty_menu_activate): Return the cursor to the active menu item
1183 1184
	after displaying the menu and after displaying help-echo.
	See http://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00402.html
1185 1186 1187
	for the details of why this is needed by screen readers and
	Braille displays.

1188
2014-04-30  Glenn Morris  <rgm@gnu.org>
1189 1190 1191 1192

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

1193 1194 1195 1196 1197 1198
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.

1199 1200
2014-04-28  Paul Eggert  <eggert@cs.ucla.edu>

Paul Eggert's avatar
Paul Eggert committed
1201 1202 1203 1204 1205 1206
	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.

1207 1208 1209 1210 1211 1212 1213 1214 1215 1216
	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.

1217
2014-04-25  Eli Zaretskii  <eliz@gnu.org>
1218 1219

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

1222 1223 1224 1225 1226 1227 1228 1229 1230 1231
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.

1232 1233 1234 1235 1236 1237 1238
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.

1239 1240
2014-04-22  Paul Eggert  <eggert@cs.ucla.edu>

1241 1242 1243 1244 1245 1246
	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.

1247 1248
	* search.c (Fnewline_cache_check): Remove unused locals.

1249 1250 1251 1252 1253 1254
2014-04-22  Eli Zaretskii  <eliz@gnu.org>

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

1255
2014-04-22  Jarek Czekalski  <jarekczek@poczta.onet.pl>
1256 1257 1258 1259 1260

	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.

1261 1262 1263 1264 1265 1266 1267 1268
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.

1269 1270 1271 1272 1273 1274
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).

1275 1276 1277 1278
2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>

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

1279
2014-04-18  Jan Djärv  <jan.h.d@swipnet.se>
1280 1281 1282 1283

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

1284
2014-04-18  Eli Zaretskii  <eliz@gnu.org>
1285

1286 1287 1288 1289
	* 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)
1290

1291 1292 1293
	* insdel.c (invalidate_buffer_caches): Invalidate the bidi
	paragraph-start cache before the newline cache.  (Bug#17269)

1294 1295 1296 1297 1298 1299 1300
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.

1301 1302
2014-04-17  Daniel Colascione  <dancol@dancol.org>

1303 1304
	* term.c (Qtty_mode_set_strings, Qtty_mode_reset_strings):
	New symbols.
1305 1306 1307 1308 1309
	(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.

1310 1311 1312 1313 1314 1315 1316
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
1317 1318
2014-04-16  Eli Zaretskii  <eliz@gnu.org>

1319
	Fix the MSDOS build.
Eli Zaretskii's avatar
Eli Zaretskii committed
1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345
	* 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.
1346 1347
	(sys_opendir, readlinkat, faccessat, fstatat, unsetenv):
	New functions in support of new functionality.
Eli Zaretskii's avatar
Eli Zaretskii committed
1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376

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

1377
2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
1378 1379 1380

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

1381
2014-04-16  Eli Zaretskii  <eliz@gnu.org>
1382 1383 1384 1385 1386

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

1387
2014-04-16  Paul Eggert  <eggert@cs.ucla.edu>
Paul Eggert's avatar
Paul Eggert committed
1388 1389 1390 1391 1392 1393

	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.

1394
2014-04-16  Eli Zaretskii  <eliz@gnu.org>
1395

1396 1397 1398
	* keyboard.c (Fopen_dribble_file): Encode the dribble file-name
	before passing it to system APIs.