* url-util.el (url--allowed-chars): Use upper-case for percent-encoding.
Encoding fix for browse-url-encode-url.

* lisp/net/browse-url.el (browse-url-url-encode-chars): Use upper-case.
(browse-url-encode-url): Encode spaces and quotes.
Port recent dbusbind.c changes to 32-bit --with-wide-int.

* dbusbind.c (xd_append_arg, xd_retrieve_arg, Fdbus_message_internal):
Remove unportable assumptions about print widths of types like
dbus_uint32_t.
(xd_get_connection_address, Fdbus_init_bus): Cast Emacs integer to
intptr_t when converting between pointer and integer, to avoid GCC
warnings about wrong width.
Untag more efficiently if USE_LSB_TAG.

This is based on a proposal by YAMAMOTO Mitsuharu in
<http://lists.gnu.org/archive/html/emacs-devel/2008-01/msg01876.html>.
For an admittedly artificial (nth 8000 longlist) benchmark on
Fedora 15 x86-64, this yields a 25% CPU speedup.  Also, it shrinks
Emacs's overall text size by 1%.
* lisp.h (XUNTAG): New macro.
(XCONS, XVECTOR, XSTRING, XSYMBOL, XFLOAT, XMISC, XPROCESS, XWINDOW)
(XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE, XSUB_CHAR_TABLE, XBOOL_VECTOR)
(XSETTYPED_PSEUDOVECTOR, XHASH_TABLE, TYPED_PSEUDOVECTORP): Use it.
* eval.c (Fautoload):
* font.h (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT):
* frame.h (XFRAME): Use XUNTAG.
* dbusbind.c (xd_registered_buses): New internal Lisp object.
Rename all occurences of Vdbus_registered_buses to xd_registered_buses.
(syms_of_dbusbind): Remove declaration of Vdbus_registered_buses.
Initialize xd_registered_buses.
etags: pacify gcc -Wstack-protector on Ubuntu 12.04 x86

* etags.c: Include <stdarg.h>.
(error): Declare as printf-style, as that's what it really is.
All uses changed.
(add_regex): Use single char rather than array-of-one char.
Add the option to not create lockfiles

* src/filelock.c (syms_of_filelock): New boolean create-lockfiles.
(lock_file): If create_lockfiles is 0, do nothing.

* lisp/cus-start.el (create-lockfiles): Add it.
Document new create-lockfiles option
State that --prefix has no effect for a default --with-ns build.
Simply leim install rule for ns case

* leim/Makefile.in (MV_DIRS): Remove.
(install): Simplify the --with-ns case.
Update doc for obsolescence of "unibyte: t"

* doc/emacs/mule.texi (Disabling Multibyte):
* doc/lispref/loading.texi (Loading Non-ASCII):
Replace the obsolete "unibyte: t" with "coding: raw-text".
* etc/NEWS: Related markup.
* loading.texi (Loading Non-ASCII): Multibyte sessions no longer exist.
Install self-contained ns leim files directly to their final destination

This is instead of installing them first in one place, then moving them.
It also fixes the previous change, which was incorrect for
the -disable-ns-self-contained case.

* configure.in (LEIM_INSTALLDIR): New output variable.

* leim/Makefile.in: (install_prefix): New.
(LEIM_INSTALLDIR): New, set by configure.
(install): Use LEIM_INSTALLDIR.
* sound.c (DEFAULT_ALSA_SOUND_DEVICE): Define only if HAVE_ALSA.
* xgselect.c (xg_select): Put maxfds+1 into a var.

This is slightly clearer, and pacifies Ubuntu 12.04 gcc.
Cleanups and improvements for FFAP and URL.

* ffap.el (ffap-url-unwrap-local): Make it work right.
Use url-generic-parse-url, and handle host names and Windows
filenames properly.
(ffap-url-unwrap-remote): Use url-generic-parse-url.
(ffap-url-unwrap-remote): Accept list values, specifying a list of
URL schemes to work on.
(ffap--toggle-read-only): New function.
(ffap-read-only, ffap-read-only-other-window)
(ffap-read-only-other-frame): Use it.
(ffap-fixup-url): Don't check ffap-ftp-regexp, since it is not
necessary for ffap-url-unwrap-remote.

* url-parse.el (url-path-and-query, url-port-if-non-default): New
functions.
(url-generic-parse-url): Don't set the portspec slot if it is not
specified; that is what `url-port' is for.
(url-port): Only require the scheme to be specified to call
url-scheme-get-property.

* url-util.el (url-encode-url): Use url-path-and-query.

* url-vars.el (url-mime-charset-string): Load mm-util lazily.
Auto-commit of generated files.
src/makefile.w32-in: Update dependencies.