* lisp/progmodes/ruby-mode.el (ruby-smie-grammar): Improve precedences
of "and", "or", "&&" and "||".
(ruby-smie--args-separator-p): Prohibit keyword "do" as the first
argument.  Prohibit opening curly brace because it could only be a
block opener in that position.
(ruby-smie--forward-token, ruby-smie--backward-token): Separate
"|" from "&" or "*" going after it.  That can happen in block
arguments.
(ruby-smie--indent-to-stmt): New function, seeks the end of
previous statement or beginning of buffer.
(ruby-smie-rules): Use it.
(ruby-smie-rules): Check if there's a ":" before a curly block
opener candidate; if there is, it's a hash.

* test/indent/ruby.rb: New examples.
* test/automated/sentinel-tests.el: New file.
* indent/ruby.rb: New example
* lisp/man.el (Man-start-calling): New macro, extracted from
Man-getpage-in-background.
(Man-getpage-in-background): Use it.
(Man-update-manpage): New command.
(Man-mode-map): Bind it.
* lisp/progmodes/sh-script.el (sh-smie--sh-keyword-in-p): Don't inf-loop
at bobp.
(sh-smie--sh-keyword-in-p): Recognize keywords at bobp.
Rename test/automated/sentinel-tests.el to process-tests.el
* chartab.c (make_sub_char_table): Fix size typo.

This bug was introduced in my 2013-06-21 change, and caused
struct Lisp_Sub_Char_Table objects to be given too many slots,
which broke 'make -C admin/unidata'.
* lisp/progmodes/autoconf.el (autoconf-mode): Tweak comment-start-skip. 
See also http://debbugs.gnu.org/10033
* automated/tramp-tests.el: Add `tramp-own-remote-path' to `tramp-remote-path'.
Add missing ChangeLog entry from r112851
http://lists.gnu.org/archive/html/emacs-diffs/2013-06/msg00043.html
Fix a typo in (epa) Encrypting/decrypting *.gpg files
* automated/file-notify-tests.el:
* automated/tramp-tests.el: Add `tramp-own-remote-path' to
`tramp-remote-path' when running on hydra.
(tramp-test07-file-exists-p): Remove instrumentation code.
(tramp-test26-process-file): Don't use "/bin/true" and
"/bin/false", these paths do not exist on hydra.
* net/tramp-sh.el (tramp-set-remote-path, tramp-get-ls-command):
Remove instrumentation code.
Switch cache-long-scans to t by default.

 src/xdisp.c (message_dolog): Make sure the *Messages* buffer has its
 cache-long-scans disabled, since we don't want to call
 prepare_to_modify_buffer (in insert_1_both) for each message we
 display.
 src/buffer.h (bset_cache_long_scans): New INLINE function, moved
 from buffer.c.  Improve commentary to the buffer field setter
 functions.
 src/buffer.c (bset_cache_long_scans): Static function deleted.
 Improve commentary to the buffer field setter functions.
 (init_buffer_once): Default for cache-long-scans changed to t.
 (Bug#15797)
Documentation followup to last commit.

 doc/lispref/display.texi (Truncation): Document that cache-long-scans is now
 non-nil by default.  (Bug#15797)
* lisp/progmodes/ruby-mode.el (ruby-smie--indent-to-stmt): Use
`smie-backward-sexp' with token argument.
* lisp/progmodes/ruby-mode.el (ruby-mode-set-encoding): Use
`ruby-encoding-magic-comment-style' to control the
style of the auto-inserted encoding comment.
Merge from gnulib.

This incorporates:
2013-11-08 extern-inline: port better to OS X 10.9
2013-11-08 fpending: fix regression on DragonFly BSD
* lib/fpending.h, m4/extern-inline.m4, m4/fpending.m4:
Update from gnulib.
* lisp/faces.el (describe-face): Add distant-foreground.

* src/xfaces.c (lface_fully_specified_p): Let distant-foreground be
unspecified.
(realize_default_face): Remove assignment to distant-foreground if
unspecified.
* lisp/progmodes/ruby-mode.el (ruby-smie--forward-token)
(ruby-smie--backward-token): Only consider full-string matches.