Backport memory fix (r116851) from trunk
Backport memory fix (r116838) from trunk
Backport memory info in bug reports (r116832) from trunk
* lisp/emacs-lisp/package.el (package-show-package-list): If the buffer
is already displayed in another window, switch to that window.
* net/tramp.el (tramp-read-passwd): Suspend the timers while reading
the password.
Fix bug #17047 with cursor motion when invisible text starts a line.

 src/xdisp.c (redisplay_window): If all previous attempts to find the
 cursor row failed, try a few alternatives before falling back to
 the top-most row of the window.  Use row_containing_pos.
Fix ChangeLog entry of last commit.
lisp/frame.el (make-frame): Don't quote display name in error message.
lisp/frameset.el (frameset-restore): Compare display strings with equal.
* lisp/simple.el (redisplay-highlight-region-function): Increase priority of
overlay to make sure boundaries are visible.
* src/buffer.c (struct sortvec): Add field `spriority'.
(compare_overlays): Use it.
(sort_overlays): Set it.
* src/fileio.c (Ffile_symlink_p): Doc fix.
* tramp.texi (Frequently Asked Questions): Add fish shell settings.
Refine previous fix of x_set_window_size to handle Bug#17077.

* w32term.c (x_set_window_size): Refine fix from 2014-03-14
(Bug#17077).
Match special globals in Ruby better

* lisp/progmodes/ruby-mode.el (ruby-expression-expansion-re):
Match special global variables without curlies, too.
(ruby-font-lock-keywords): Simplify the matcher for special global
variables.  Don't require a non-word character after the variable.
lisp/align.el (align-region): Do not fail when end-mark is nil (bug#17088).
lisp/frameset.el (frameset--initial-params): Fix typo in parameter name.
Backport &key-parsing improvement from trunk
Fix bug#16762

* lisp/emacs-lisp/package.el (package--add-to-archive-contents):
Include already installed and built-in packages in
`package-archive-contents'.
(package-install): Don't include already installed packages in the
options on interactive invocation.
Undo in region after markers in undo history relocated

* simple.el (primitive-undo): Only process marker adjustments
validated against their corresponding (TEXT . POS).  Issue warning
for lone marker adjustments in undo history.  (Bug#16818)
(undo-make-selective-list): Add marker adjustments to selective
undo list based on whether their corresponding (TEXT . POS) is in
the region.  Remove variable adjusted-markers, which was unused
and only non nil during undo-make-selective-list.
(undo-elt-in-region): Return nil when passed a marker adjustment
and explain in function doc.

Have (MARKER . ADJUSTMENT) undo records always be immediately
after their corresponding (TEXT . POS) record in undo list.
(Bug#16818)
* lisp.h (record-delete): New arg record_markers.
(record_marker_adjustment): No longer needed outside undo.c.
* insdel.c (adjust_markers_for_delete): Move calculation of marker
adjustments to undo.c's record_marker_adjustments.  Note that
fileio.c's decide_coding_unwind is another caller to
adjust_markers_for_delete.  Because it has undo list bound to t,
it does not rely on adjust_markers_for_delete to record marker
adjustments.
(del_range_2): Swap call to record_delete and
adjust_markers_for_delete so as undo marker adjustments are
recorded before current deletion's adjustments, as before.
(adjust_after_replace):
(replace_range): Pass value for new record_markers arg to
delete_record.
* undo.c (record_marker_adjustment): Renamed to
record_marker_adjustments and made static.
(record_delete): Check record_markers arg and call
record_marker_adjustments.
(record_change): Pass value for new record_markers arg to
delete_record.
(record_point): at_boundary calculation no longer needs to account
for marker adjustments.

* undo-tests.el (undo-test-marker-adjustment-nominal):
(undo-test-region-t-marker): New tests of marker adjustments.
(undo-test-marker-adjustment-moved):
(undo-test-region-mark-adjustment): New tests to demonstrate
bug#16818, which fail without the fix.

* markers.texi (Moving Marker Positions): The 2014-03-02 doc
change mentioning undo's inability to handle relocated markers no
longer applies.  See bug#16818.
* text.texi (Undo): Expand documentation of (TEXT . POS) and
(MARKER . ADJUSTMENT) undo elements.
Fix last ChangeLog entry.