* sysdep.c [__FreeBSD__]: Minor cleanups.

(list_system_processes, system_process_attributes) [__FreeBSD__]:
Use Emacs indenting style more consistently.  Avoid some casts.
Use 'double' consistently rather than mixing 'float' and 'double'.
* src/sysdep.c (list_system_processes): Support Darwin.
* configure.in (doug_lea_malloc): Check for __malloc_initialize_hook.

With glibc 2.14 or later, when compiled with GCC 4.7.0's
-Werror=deprecated-declarations flag, use of hooks like
__malloc_initialize_hook causes compilation to fail because these
hooks are deprecated.  Modify 'configure' to check for these hooks too.
Simplify the 'configure' code to test for all the hooks at once.
(emacs_cv_var___after_morecore_hook): Remove, replacing with ...
(emacs_cv_var_doug_lea_malloc): ... this new var.
* alloc.c: Handle unusual debugging option combinations.

(GC_CHECK_MARKED_OBJECTS): Undef if ! GC_MARK_STACK,
since the two debugging options are incompatible.
(GC_MALLOC_CHECK): Similarly, undef if GC_CHECK_MARKED_OBJECTS
is defined.
(mem_init, mem_insert, mem_insert_fixup):
Define if GC_MARK_STACK || GC_MALLOC_CHECK.
(NEED_MEM_INSERT): Remove; no longer needed.
Fix GC_MALLOC_CHECK debugging output on 64-bit hosts.

* alloc.c (emacs_blocked_malloc) [GC_MALLOC_CHECK]:
Do not assume ptrdiff_t is the same width as 'int'.
Auto-commit of generated files.
CC Mode.  Adding a ) can hide the resulting (..) from searches.  Fix it.
Tweaks to Customize interface.  Set custom-reset-button-menu to t.

* cus-edit.el (custom-commands, custom-reset-menu)
(Custom-reset-standard): Tweak labels.
(custom-reset-button-menu): Change default to t.
(custom-buffer-create-internal): For the custom-reset-button-menu
case, put the revert button first.
(custom-group-subtitle): New face.
(custom-group-value-create): Align docstring to a specific column.

* wid-edit.el (widget-documentation-link-add): Don't handle
indentation in this function.
(widget-documentation-string-indent-to): New function.
(widget-documentation-string-value-create): Use it.

* autorevert.el (auto-revert):
* epg-config.el (epg):
* ibuffer.el (ibuffer):
* mpc.el (mpc):
* ses.el (ses):
* eshell/eshell.el (eshell):
* net/ange-ftp.el (ange-ftp):
* progmodes/ebnf2ps.el (postscript):
* progmodes/flymake.el (flymake):
* progmodes/prolog.el (prolog):
* progmodes/verilog-mode.el (verilog-mode):
* progmodes/which-func.el (which-func):
* textmodes/picture.el (picture):
* textmodes/tildify.el (tildify):
* vc/ediff.el (ediff): Tweak defgroups to improve presentation in
customization buffers.
Move functions from C to Lisp.  Make non-blocking method calls
the default.  Implement further D-Bus standard interfaces.

* configure.in (dbus_validate_bus_name, dbus_validate_path)
(dbus_validate_interface, dbus_validate_member): Check also for
these library functions

* dbusbind.c (DBUS_NUM_MESSAGE_TYPES): Declare.
(QCdbus_request_name_allow_replacement)
(QCdbus_request_name_replace_existing)
(QCdbus_request_name_do_not_queue)
(QCdbus_request_name_reply_primary_owner)
(QCdbus_request_name_reply_in_queue)
(QCdbus_request_name_reply_exists)
(QCdbus_request_name_reply_already_owner): Move to dbus.el.
(QCdbus_registered_serial, QCdbus_registered_method)
(QCdbus_registered_signal): New Lisp objects.
(XD_DEBUG_MESSAGE): Use sizeof.
(XD_MESSAGE_TYPE_TO_STRING, XD_OBJECT_TO_STRING)
(XD_DBUS_VALIDATE_BUS_ADDRESS, XD_DBUS_VALIDATE_OBJECT)
(XD_DBUS_VALIDATE_BUS_NAME, XD_DBUS_VALIDATE_PATH)
(XD_DBUS_VALIDATE_INTERFACE, XD_DBUS_VALIDATE_MEMBER): New macros.
(XD_CHECK_DBUS_SERIAL): Rename from CHECK_DBUS_SERIAL_GET_SERIAL.
(xd_signature, xd_append_arg): Allow float for integer types.
(xd_get_connection_references): New function.
(xd_get_connection_address): Rename from xd_initialize.  Return
cached address.
(xd_remove_watch): Do not unset $DBUS_SESSION_BUS_ADDRESS.
(xd_close_bus): Rename from Fdbus_close_bus.  Not needed on Lisp
level.
(Fdbus_init_bus): New optional arg PRIVATE.  Cache address.
Return number of recounts.
(Fdbus_get_unique_name): Make stronger parameter check.
(Fdbus_message_internal): New defun.
(Fdbus_call_method, Fdbus_call_method_asynchronously)
(Fdbus_method_return_internal, Fdbus_method_error_internal)
(Fdbus_send_signal, Fdbus_register_service)
(Fdbus_register_signal, Fdbus_register_method): Move to dbus.el.
(xd_read_message_1): Obey new structure of Vdbus_registered_objects.
(xd_read_queued_messages): Obey new structure of Vdbus_registered_buses.
(Vdbus_compiled_version, Vdbus_runtime_version)
(Vdbus_message_type_invalid, Vdbus_message_type_method_call)
(Vdbus_message_type_method_return, Vdbus_message_type_error)
(Vdbus_message_type_signal): New defvars.
(Vdbus_registered_buses, Vdbus_registered_objects_table): Adapt
docstring.

* net/dbus.el (dbus-message-internal): Declare function.  Remove
unneeded function declarations.
(defvar dbus-message-type-invalid, dbus-message-type-method-call)
(dbus-message-type-method-return, dbus-message-type-error)
(dbus-message-type-signal): Declare variables.  Remove local
definitions.
(dbus-interface-dbus, dbus-interface-peer)
(dbus-interface-introspectable, dbus-interface-properties)
(dbus-path-emacs, dbus-interface-emacs, dbus-return-values-table):
Adapt docstring.
(dbus-interface-objectmanager): New defconst.
(dbus-call-method, dbus-call-method-asynchronously)
(dbus-send-signal, dbus-method-return-internal)
(dbus-method-error-internal, dbus-register-service)
(dbus-register-signal, dbus-register-method): New defuns, moved
from dbusbind.c
(dbus-call-method-handler, dbus-setenv)
(dbus-get-all-managed-objects, dbus-managed-objects-handler): New
defuns.
(dbus-call-method-non-blocking): Make it an obsolete function.
(dbus-unregister-object, dbus-unregister-service)
(dbus-handle-event, dbus-register-property)
(dbus-property-handler): Obey the new structure of
`bus-registered-objects'.
(dbus-introspect): Use `dbus-call-method'.  Use a timeout.
(dbus-get-property, dbus-set-property, dbus-get-all-properties):
Use `dbus-call-method'.

* dbus.texi (Version): New node.
(Properties and Annotations): Mention the object manager
interface.  Describe dbus-get-all-managed-objects.
(Type Conversion): Floating point numbers are allowed, if an
anteger does not fit Emacs's integer range.
(Synchronous Methods): Remove obsolete dbus-call-method-non-blocking.
(Asynchronous Methods): Fix description of
dbus-call-method-asynchronously.
(Receiving Method Calls): Fix some minor errors.  Add
dbus-interface-emacs.
(Signals): Describe unicast signals and the new match rules.
(Alternative Buses): Add the PRIVATE optional argument to
dbus-init-bus.  Describe its new return value.  Add dbus-setenv.
* dbusbind.c (XD_DBUS_VALIDATE_OBJECT): Define only if needed.
Make the "reset-saved" Custom operation reset to default if there is no saved value.

* lisp/cus-edit.el (custom-variable-menu)
(custom-variable-reset-saved, custom-face-menu)
(custom-face-reset-saved): If there is no saved value, make the
"reset-saved" operation bring back the default.
(custom-face-state): Properly detect themed faces.
* faces.el (face-spec-set): Stop supporting deprecated form of third arg.
Modernize and clean up gmalloc.c to assume C89 (Bug#9119).

* gmalloc.c: (_MALLOC_INTERNAL, _MALLOC_H, _PP, __ptr_t)
(__malloc_size_t, __malloc_ptrdiff_t):
Remove.  All uses removed, replaced by the definiens if needed,
since we can assume C89 or better now.
Include <stdint.h>, for PTRDIFF_MAX, uintptr_t.
(protect_malloc_state, align, get_contiguous_space)
(malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
(malloc_atfork_handler_child, malloc_enable_thread)
(malloc_initialize_1, __malloc_initialize, morecore_nolock)
(_malloc_internal_nolock, _malloc_internal, malloc, _malloc)
(_free, _realloc, _free_internal_nolock, _free_internal, free, cfree)
(special_realloc, _realloc_internal_nolock, _realloc_internal)
(realloc, calloc, __default_morecore, memalign, valloc, checkhdr)
(freehook, mallochook, reallochook, mabort, mcheck, mprobe):
Define using prototypes, not old style.
(align, _malloc_internal_nolock, _free_internal_nolock, memalign):
Don't assume ptrdiff_t and uintptr_t are no wider than unsigned long.
(align): Don't assume that signed integer overflow wraps around.
Omit unused local var.
(malloc_initialize_1, morecore_nolock, _malloc_internal_nolock)
(_free_internal_nolock, memalign, mallochook, reallochook):
Omit no-longer-needed casts.
(valloc): Use getpagesize, not __getpagesize.
(MAGICWORD, MAGICFREE): Now randomish size_t values, not 32-bit.
(struct hdr): The 'magic' member is now size_t, not unsigned long.
* keyboard.c (handle_async_input): Define only if SYNC_INPUT || SIGIO.

Problem reported by Juanma Barranquero for Windows -Wunused-function.
* configure.in: Remove wrong part of comment.
Spelling fixes.
Fix minor GTK3 problems found by static checking.

* emacsgtkfixed.c (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed)
(EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed)
(struct _EmacsFixedClass, emacs_fixed_get_type):
Move decls here from emacsgtkfixed.h, since they needn't be public.
(emacs_fixed_get_type): Now static.
(emacs_fixed_class_init): Omit unused local.
(emacs_fixed_child_type): Remove; unused.
* emacsgtkfixed.h (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed)
(EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed)
(struct _EmacsFixedClass): Move to emacsgtkfixed.c.
(EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS)
(EMACS_FIXED_GET_CLASS): Remove; unused.
* gtkutil.c (xg_create_frame_widgets) [!HAVE_GTK3]: Omit unused local.
Remove obsolete usage of (ispell-insert-word)

`ispell-insert-word' is a plain `insert' together with word filtering
through `translation-table-for-input' for character code unification.
This was useful in Emacs 22, but is not needed for Emacs 23 and above
since unification is now direct.

Since XEmacs does not have `translation-table-for-input' there is no
need at all to keep this old code, but use (insert) directly.
Auto-commit of generated files.
ispell.el,flyspell.el: Preserve session localwords when switching back buffers.

Once a word is declared valid for a session and a buffer it should
stay valid for that buffer regardless buffer switches unless ispell
process is explicitly killed or dictionary changed for that buffer. 

However, it is currently lost when we switch to a different buffer
that triggers a new ispell process and then switch back to the
original buffer (triggering a  new ispell restart). 

These changes try to keep buffer session localwords accepted in above
case.