* lisp/indent.el (indent-relative-maybe): New obsolete alias.
(indent-relative-first-indent-point): Renamed from
'indent-relative-maybe'.
(indent-relative): Now accepts an additional optional argument.
The first argument was renamed to FIRST-ONLY. Doc fix. Support
the additional arg. (Bug#24766)
* lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
function to `set-transient-map', this prevents `delete-selection-mode'
from deleting the text that was just indented (Bug #20408).
Problem reported by Artur Malabarba in:
http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
Most of these fixes are to documentation; many involve fixing
longstanding quoting glitches that are independent of the
recent substitute-command-keys changes. The changes to code are:
* lisp/cedet/mode-local.el (mode-local-augment-function-help)
(describe-mode-local-overload):
Substitute docstrings before displaying them.
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
Quote the generated docstring for later substitution.
* indent.el (indent-accumulate-tab-stops): New function.
* textmodes/picture.el (picture-set-tab-stops):
* ruler-mode.el (ruler-mode-mouse-add-tab-stop)
(ruler-mode-ruler): Fix to work with nil tab-stop-list.
* progmodes/asm-mode.el (asm-calculate-indentation): Use
indent-next-tab-stop.
* lisp/indent.el (indent-rigidly-map): Add docstring, and move commands
into named functions.
(indent-rigidly-left, indent-rigidly-right)
(indent-rigidly-left-to-tab-stop)
(indent-rigidly-right-to-tab-stop): New functions. Decide on
indentation direction based on bidi direction, and accumulate
sequential commands in a single undo boundary.
(indent-rigidly--pop-undo): New utility function.
* doc/emacs/indent.texi (Indentation Commands): Document C-x TAB changes.
* doc/lispref/text.texi (Region Indent): Note the new interactive
behavior of indent-rigidly.
(indent-rigidly--current-indentation): New function.
(indent-rigidly-map): New var.
(indent-rigidly): Use it to provide interactive mode.
(indent-region): Add progress reporter.
(tab-stop-list): Make it implicitly extend to infinity by repeating the
last step.
(indent--next-tab-stop): New function to implement this behavior.
(tab-to-tab-stop, move-to-tab-stop): Use it.
Fixes: debbugs:8196
(completion-at-point): New command.
* indent.el (indent-for-tab-command): Handle the new `complete' behavior.
* progmodes/python.el (python-mode-map): Use completion-at-point.
(python-completion-at-point): Rename from python-partial-symbol and
adjust for use in completion-at-point-functions.
(python-mode): Setup completion-at-point for Python completion.
* emacs-lisp/lisp.el (lisp-completion-at-point): New function
extracted from lisp-complete-symbol.
(lisp-complete-symbol): Use it.
* emacs-lisp/lisp-mode.el (emacs-lisp-mode): Use define-derived-mode,
setup completion-at-point for Elisp completion.
(emacs-lisp-mode-map, lisp-interaction-mode-map): Use completion-at-point.
* ielm.el (ielm-map): Use completion-at-point.
(inferior-emacs-lisp-mode): Setup completion-at-point for Elisp completion.
* progmodes/sym-comp.el: Move to...
* obsolete/sym-comp.el: Move from progmodes.
(indent-for-tab-command): Rigidly indent the following sexp along
with the current line when a prefix arg is given in the
non-active-region case. Specify raw prefix in interactive spec.
Simplify main indentation logic to get rid of the conditional call
to `indent-according-to-mode' (it just ended up calling
`indent-line-function' in all cases anyway, which can be done more
simply here). Remove unnecessary test of ARG in active region case.
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-964