* lisp/desktop.el (desktop-save): Rename arg `auto-save' to `only-if-changed'.
Doc fix.
* etc/NEWS: Fix description of incompatible change in `read-char'.
* lisp/desktop.el (desktop-minor-mode-table): Add `defining-kbd-macro'
and `isearch-mode' associated with nil.
* doc/emacs/search.texi (Regexp Search): Update lax space matching that is
not active in regexp search by default now.
* lisp/progmodes/octave.el (inferior-octave-mode):
Set comint-input-ring-size to a number.
Minor updates in etc/TODO and etc/NEWS.

 etc/TODO: Remove items that were already done.  Rearrange a few
 items that are closely related.  Update a couple of items with new
 information.
 etc/NEWS: Mention 'network-interface-list' and 'network-interface-info'
 being available on MS-Windows.
src/w32.c (network_interface_info): Make sure the argument is a Lisp string.
Fix bug #17905 with display of point in partially visible line at end of window.

 src/xdisp.c (redisplay_window): If redisplay of a window ends up
 with point in a partially visible line at end of the window, make
 sure the amended position of point actually has smaller Y
 coordinate; if not, give up and scroll the display.
 src/window.c (window_scroll_pixel_based): When point ends up at the
 last fully visible line, don't let move_it_to stop at the left
 edge of the line and dupe us into thinking point is inside the
 scroll margin.
Backport from trunk.
* xfns.c (create_frame_xic): Pass XNStatusAttributes to XCreateIC
only if xic_style calls for it.  This change allows Emacs to work
with ibus.  Also, don't leak resources if create_frame_xic fails,
and stop caching xic_style across different displays.
(supported_xim_styles): Make const.
(best_xim_style): Remove first parameter: it's always just
supported_xim_styles.  Change to look at supported_xim_styles
directly.
* calendar/todo-mode.el: Fix two bugs.  Shorten Commentary and
refer to the Todo mode Info manual.  Update the comment on
requiring cl-lib.
(todo-find-filtered-items-file): Add todo-prefix overlays.
(todo-filter-items): Reorder a let-bound variable to avoid a
wrong-type-argument error on canceling the file choice dialog.
* todo-mode.texi (Levels of Organization): Comment out statement
that Emacs recognizes todo files by their extension, since this
feature has been removed due to bug#17482.
* src/syntax.c (find_defun_start): Try the cache even
if !open_paren_in_column_0_is_defun_start.
(back_comment): If find_defun_start was pessimistic, use the
scan_sexps_forward result to improve the cache.
Fix bug #17942 with pos-visible-in-window-p and image and BOB.

 src/xdisp.c (pos_visible_p): If CHARPOS is at BEGV, and there is a
 display property at BEGV, don't call move_it_to to move to a
 position before BEGV.
A better fix for bug #17942.

 src/xdisp.c (pos_visible_p): If CHARPOS is at beginning of window,
 and there is a display property at that position, don't call
 move_it_to to move to a position before window start.
Fix bug #17944 with pos-visible-in-window-p when there's image at window start.

 src/xdisp.c (pos_visible_p): 	Fix condition for finding CHARPOS by the
 first call to move_it_to.
src/xdisp.c (pos_visible_p): Fix inaccurate comment.
* lisp/progmodes/ruby-mode.el (ruby-mode-variables): Don't meddle with
require-final-newline since prog-mode already took care of it.
* lisp/emacs-lisp/edebug.el (edebug-eval-defun): Print result using
proper Lisp quoting.
* calendar/todo-mode.el: Fix wrong-type-argument error when
marking multiple consecutive items.
(todo-toggle-mark-item): Don't try to mark the empty lines at the
end of the todo and done items sections.  Note in doc string that
items marked by passing a numeric prefix argument can include the
last todo and first done items.
(todo-mark-category): Don't try to mark the empty line between the
todo and done items sections.
* cua-rect.el (cua--activate-rectangle): Avoid setting cua--rectangle to nil.