* lisp/progmodes/sh-script.el (sh-syntax-propertize-function): Fix last
change.
* shr.el (shr-expand-url): Handle URL starting with `//'.
Fixes: debbugs:11917

Fix crash when creating indirect buffer
* buffer.c (buffer_lisp_local_variables): Add argument CLONE.
Don't handle unbound variables specially if non-zero.
(Fbuffer_local_variables): Pass zero.
(clone_per_buffer_values): Pass non-zero.
Don't use FILE_SYSTEM_CASE in MS-DOS, or anywhere else.

 src/s/msdos.h (FILE_SYSTEM_CASE): Don't define.
 src/fileio.c (FILE_SYSTEM_CASE): Don't define.
 (Ffile_name_directory, Fexpand_file_name): Don't use FILE_SYSTEM_CASE.
 Fixes problems on MS-DOS with Vtemp_file_name_pattern when
 call-process-region passes it through expand-file-name.
 src/dired.c (file_name_completion): Don't use FILE_SYSTEM_CASE.
 admin/CPP-DEFINES: Remove FILE_SYSTEM_CASE.
Cleanup basic allocation variables and functions.
* alloc.c (ignore_warnings, init_intervals, init_float)
(init_cons, init_symbol, init_marker): Remove.
(interval_block_index): Initialize to INTERVAL_BLOCK_SIZE.
(float_block_index): Initialize to FLOAT_BLOCK_SIZE.
(cons_block_index): Initialize to CONS_BLOCK_SIZE.
(symbol_block_size): Initialize to SYMBOL_BLOCK_SIZE.
(marker_block_index): Initialize to MARKER_BLOCK_SIZE.
(staticidx, init_alloc_once, init_strings, free_ablock):
Remove redundant initialization.
* fns.c (init_weak_hash_tables): Remove.
* lisp.h (init_weak_hash_tables): Remove prototype.
* src/gtkutil.c (xg_create_tool_bar): Apply "primary-toolbar" style to
the toolbar.
(xg_make_tool_item): Give the widget event box a transparent background.
Fix bug #11943 with slow redisplay in large paragraphs full of weak characters.

 src/bidi.c (MAX_STRONG_CHAR_SEARCH): New macro.
 (bidi_paragraph_init): Use it to limit search forward for a strong
 directional character in abnormally large paragraphs full of
 neutral or weak characters.
Merge from gnulib.

2012-07-15 pthread_sigmask: fix bug on FreeBSD 9 (Bug#11884)
2012-07-11 gettext: do not assume '#define ... defined ...' behavior
* gtkutil.h: Tiny cleanups.
(use_old_gtk_file_dialog): Remove useless declaration.
(xg_uses_old_file_dialog): Add suggested const attribute.
Remove empty and useless init functions.
* lisp.h (init_character_once, init_fns, init_image)
(init_filelock, init_sound): Remove prototype.
* character.c (init_character_once): Remove.
* filelock.c (init_filelock): Likewise.
* fns.c (init_fns): Likewise.
* image.c (init_image): Likewise.
* sound.c (init_sound): Likewise.
* emacs.c (main): Adjust accordingly.
* vc/ediff.el (ediff-directories): Add trailing space to prompts.

* vc/ediff-diff.el (ediff-same-file-contents): Handle the case,
when F1 and F2 are located on different hosts.
* nsterm.m (keyDown): Interpret flags without left/right bits
as the left key.
* eshell/em-ls.el (eshell/ls): Use `apply'.

* eshell/em-unix.el (eshell/su, eshell/sudo): Apply Tramp's ad-hoc
multi-hops, instead of Tramp internals.
* progmodes/python.el: Enhancements to navigation commands.
(python-nav-backward-sentence)
(python-nav-forward-sentence): Remove.
(python-nav-backward-statement, python-nav-forward-statement)
(python-nav-statement-start, python-nav-statement-end)
(python-nav-backward-block, python-nav-forward-block)
(python-nav-block-start, python-nav-block-end)
(python-nav-forward-sexp-function)
(python-info-current-line-comment-p)
(python-info-current-line-empty-p): New functions.
(python-indent-context): Use `python-nav-statement-start'.
* progmodes/python.el: Simplified imenu implementation.
(python-nav-jump-to-defun): Remove command.
(python-mode-map): Use `imenu' instead.
(python-nav-list-defun-positions-cache)
(python-imenu-include-defun-type, python-imenu-make-tree)
(python-imenu-subtree-root-label, python-imenu-index-alist):
Remove vars.
(python-nav-list-defun-positions, python-nav-read-defun)
(python-imenu-tree-assoc, python-imenu-make-element-tree)
(python-imenu-make-tree, python-imenu-create-index): Remove
functions.
(python-mode): Update to interact with imenu by setting
`imenu-extract-index-name-function' only.
Fix regression with pthread_sigmask on FreeBSD.

* configure.ac: Configure gnulib at the end, not before running
pkg-config.  This restores the behavior before 2012-06-22, when
higher-resolution time stamps were added, and fixes a bug whereby
LIB_PTHREAD was not used and gnulib's part of 'configure'
therefore incorrectly assumed that pthread_sigmask wasn't working.
Fix the problem with -lrt and clock_gettime a different way.
This should complete the fix for Bug#11884.
(pre_PKG_CONFIG_CFLAGS, pre_PKG_CONFIG_LIBS): New shell vars.
* floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT.

Unlike the other wrapped functions, fabs has an unspecified
effect on errno.
Make insert-char interactive, and ucs-insert an obsolete alias for it.

* lisp/international/mule-cmds.el (ucs-insert): Make it an obsolete
alias for insert-char.

* editfns.c (Finsert_char): Make it interactive, and make the second
arg optional.  Copy interactive spec and docstring from ucs-insert.
Cleanup overlays checking.
* buffer.h (OVERLAY_VALID): Remove as useless synonym of OVERLAYP.
* buffer.c (overlay_touches_p, recenter_overlay_lists): Change to
eassert and OVERLAYP.
(sort_overlays): Change to use OVERLAYP.
Simple free memory accounting feature.
* alloc.c (bytes_free, total_free_vector_bytes): New variable.
(sweep_vectors): Accumulate size of free vectors.
(Fgarbage_collect): Setup bytes_free.
(Fmemory_free): New function.
(syms_of_alloc): Register it.