* src/igc.c (finalize_ts_parser, finalize_ts_query)
(finalize_module_function, finalize_comp_unit, finalize_subr):
Define only if the corresponding features are available, to avoid
compiler warnings when they are not.
(alloc): Ifdef away an assertion redundant on 32-bit
architectures.
(Figc_roots): Fix casting pointer to integers.
(dflt_pad): Change type of 2nd arg according to typedef in mps.h,
to avoid compiler warning.
(scan_pure): Remove unneeded declaration of
'pure_bytes_used_lisp'.
* src/lisp.h (pure_bytes_used_lisp): Move out of the HAVE_MODULES
conditional.
* src/alloc.c [HAVE_MPS]: Ignore -Wunused-macros.
* src/igc: Turn the error about text conversion into a warning.
(Figc_roots): Initialize the result.
* src/gtkutil.c (xg_mark_data)
* src/xselect.c (mark_xselect)
* src/xterm.c (mark_xterm): Don't define marking functions when
compiling with MPS.
* emacs.c (main): Call init_signals before init_igc; this avoids
overwriting MPS's SIGSEGV handler.
* fns.c: Remove spurios #include <sys/_types/_size_t.h>
* igc.c: Minor changes to avoid GCC warnings.
(igc_assert_fail): die() is already declared in lisp.h
(igc_assert, IGC_CHECK_RES): Use the do { ... } while(0) idiom to
avoid GCC warnings about empty statements.
(scan_pure): Tell GCC that pure_bytes_used_lisp exists.
(thread_ap): Abort for unhandled cases.
(fix_image, igc_make_image): Add #ifdef HAVE_WINDOW_SYSTEM in
places that need struct image.
* java/org/gnu/emacs/EmacsService.java (checkContentUri): Call
checkUriPermission with IPC-effective PID and UID rather than
checkCallingUriPermission, which never considers permissions of
Emacs itself, and delete the now-redundant workaround.
* lisp/tab-line.el (tab-line-new-button-functions): New variable.
(tab-line-tabs-function): Change the default value from
'tab-line-tabs-window-buffers' to the new option
'tab-line-tabs-fixed-window-buffers'.
(tab-line-tabs-buffer-group-sort-function): Change the default
value from nil to 'tab-line-tabs-buffer-group-sort-by-name'.
(tab-line-tabs-buffer-group-sort-by-name): New function.
(tab-line-tabs-fixed-window-buffers): New function.
(tab-line-format-template): Use 'tab-line-new-button-functions'.
(tab-line-mode-map, tab-line-switch-repeat-map): New keymaps.
* doc/misc/widget.texi (Widgets and the Buffer, Customization):
Document it.
* etc/NEWS: Announce it.
* lisp/wid-edit.el (widget-skip-inactive): New user option.
(widget-tabable-at): Use it.