calc/calc-ext.el (calc-init-extensions): Remove keybindings and autoload for `calc-undo'.
calc/calc.el (calc-mode-map): Add keybindings for `calc-undo'.
gnus-art.el (gnus-mime-inline-part): Use mm-display-inline rather than mm-insert-inline to insert inline part: this respect mm-inline-media-tests displayers.
mm-view.el (mm-display-shell-script-inline): New function.
mm-decode.el (mm-inline-media-tests): Add x-shellscript and x-sh.
mm-uu.el (mm-uu-type-alist): Add org block.
(mm-uu-org-src-code-block-extract): New function.
mm-view.el (mm-display-org-inline): New function.
mm-decode.el (mm-automatic-display): Add text/org.
mailcap.el (mailcap-mime-extensions): Add .org.
define-minor-mode instead of defun. Significantly clean-up internal keymap
provisions, refactoring a bit and removing a lot of accumulated cruft.
allout-mode-map is now a keymap by virtue of being an defalias to
allout-mode-map-value, which contains the actual keymap structure.
(allout-mode): Use define-minor-mode rather than defun. Remove
now-unnecessary minor-mode setup activities from the body. Specify :keymap
as allout-mode-map so the minor-mode-map-alist entry will be
'(allout-mode . allout-mode-map) - see allout-mode-map-value, below.
Adjust docstring to track changes.
(allout-minor-mode): Remove this defalias, now that we're using
define-minor-mode.
(allout-mode-map): Set value to be 'allout-mode-map. The actual keymap
is allout-mode-map-value, via defalias.
(allout-mode-map-value): The variable holding the actual mode keymap
structure, by virtue of defalias from allout-mode-map.
(allout-compose-and-institute-keymap): Renamed from allout-bind-keys, and
including the binding-composition functionality of the former
produce-allout-mode-map and allout-setup-mode-map.
(allout-institute-keymap): Take over the "setup" part of the former
allout-setup-mode-map. Reassign allout-mode-map-value value and update the
defalias.
(allout-command-prefix) (allout-prefixed-keybindings)
(allout-unprefixed-keybindings): Use allout-compose-and-institute-keymap to
process the bindings.
(allout-unprefixed-keybindings): Remove extraneous '?' question marks.
(allout-prefixed-keybindings): Elide binding to (prefixed) \C-h - user can
customize if they want to use that binding. Bind allout-copy-topic-as-kill
to (prefixed) \M-k. Bind allout-up-current-level to (prefixed) \C-u. (I
think i mistakenly elided that, previously, instead of the one for \C-h.)
(allout-hotspot-key-handler): Remove attempt to resolve the key through the
literal key-string lookup on allout-keybindings-list. That probably hasn't
worked for a Long Time, and removal of allout-keybindings-list further
simplifies the keybindings situation.
(allout-pre-command-business): Use allout-mode-map-value instead of
allout-mode-map.
(allout-preempt-trailing-ctrl-h): Remove. The user can customize the
bindings if they want to use a keybinding having a trailing \C-h. No
deprecation needed since this feature was never in a release.
(allout-keybindings-list): Remove. It's not been useful for a while. (See
allout-hotspot-key-handler changes, above.)
(produce-allout-mode-map): Remove. Consolidate into
allout-compose-and-institute-keymap.
(allout-mode-map-adjustments): Remove. No longer necessary with removal of
allout-preempt-trailing-ctrl-h.
(allout-setup-mode-map): Remove. Consolidate into
allout-compose-and-institute-keymap and allout-institute-keymap.
* lisp/simple.el (read-expression-history): Remove, it's in minibuf.c.
* src/minibuf.c (syms_of_minibuf) <read-expression-history>:
Give it a doc string.
* src/globals.h: Add Vread_expression_history.
(gnus-button-push): Remove gnus-button-entry function, it fails heavily if you have the same regexp several times.
(gnus-button-push): Fix matching when regexp is symbol.
spam.el (spam-spamassassin-register-with-sa-learn): Insert a full From header with a date and "nobody" as the sender.
* lisp/info-xref.el (info-xref-check, info-xref-check-all): Move
commentary details into docstrings for better visibility.
Use compilation-mode for the results buffer.
(info-xref-output, info-xref-output-error, info-xref-with-output)
(info-xref-filename, info-xref-in-progress):
New internals for this.
(info-xref-check-list, info-xref-check-buffer)
(info-xref-check-all-custom): Use those.
(info-xref-output-buffer): Rename from info-xref-results-buffer.
(info-xref-output-heading): Rename from info-xref-filename-heading.
(info-xref-good, info-xref-bad, info-xref-xfile-alist)
(info-xref-filename-heading): Move to output managing section.
(info-xref-docstrings): New command checking "Info node `(foo)Bar'"
(info-xref-lock-file-p, info-xref-with-file): New helpers for it.
(info-xref-subfile-p): Move to generic section with those two.
(info-xref-check-node): New function split from
info-xref-check-buffer, shared by info-xref-docstrings.
(info-xref-goto-node-p): Move to a checking section with that func.
(info-xref-unavail): New counter.
(info-xref-check-node): Use it.
(info-xref-with-output): Show count of unavailables at end of output.
(info-xref-all-info-files): Exclude ".*" dotfiles. Ignore broken
symlinks. Exclude .texi files. Exclude Emacs backup files.
(info-xref-check-all-custom): Fix quietening viper-mode and
gnus-registry-install -- use setq not let so as not to unbind after load.
Fixes: debbugs:7611
* lisp/files.el (backup-buffer): Make last-resort backup file in
.emacs.d.
* lisp/subr.el (locate-user-emacs-file): If .emacs.d does not exist,
make it with permission 700.
* doc/emacs/files.texi (Backup Names): Document the new location of the
last-resort backup file.
(hexl-mode--old-var-vals): New var to replace them.
(hexl-mode--minor-mode-p, hexl-mode--setq-local): New funs.
(hexl-mode, hexl-follow-line, hexl-activate-ruler):
Use them to set local vars.
(hexl-mode-exit): Use hexl-mode--old-var-vals to restore state.
(hexl-backward-short, hexl-backward-word, hexl-scroll-down)
(hexl-scroll-up, hexl-end-of-1k-page, hexl-end-of-512b-page): Simplify.
Fixes: debbugs:7846
(smerge-resolve--normalize-re): New var.
(smerge-resolve--extract-comment, smerge-resolve--normalize): New funs.
(smerge-resolve): Use them.
* lisp/newcomment.el (comment-only-p): New function.
(comment-or-uncomment-region): Use it.
(easy-menu-create-menu, easy-menu-convert-item-1):
Use :label rather than nil for labels. Use `case'.
Add :enable as alias for :active.
(easy-menu-binding): Obey :label.
Fixes: debbugs:7754
(prolog-use-prolog-tokenizer-flag): Change default when
syntax-propertize can be used.
(prolog-syntax-propertize-function): New var.
(prolog-mode-variables): Move make-local-variable into `set'.
Don't make comment-column local since we don't set it.
Set comment-add (as it was in previous prolog.el). Use dolist.
Set syntax-propertize-function.
(prolog-mode, prolog-inferior-mode):
Call prolog(-inferior)-menu directly, not through the mode-hook.
(prolog-buffer-module, prolog-indent-level)
(prolog-paren-is-the-first-on-line-p, prolog-paren-balance)
(prolog-comment-limits, prolog-goto-comment-column):
Use line-(end|beginning)-position.
(prolog-build-prolog-command): Tighten up regexp.
(prolog-consult-compile): Move make-local-variable into `set'.
(prolog-consult-compile-filter, prolog-goto-next-paren)
(prolog-help-on-predicate, prolog-clause-info)
(prolog-mark-predicate): Don't let+setq.
(prolog-indent-line): Use indent-line-to.
Only call prolog-goto-comment-column if necessary.
(prolog-indent-level): Use bobp.
(prolog-first-pos-on-line): Remove, not used any more.
(prolog-in-string-or-comment): Use syntax-ppss if available.
(prolog-help-on-predicate): Use read-string.
(prolog-goto-predicate-info): Simplify.
(prolog-read-predicate): Use `default' rather than `initial'.
(prolog-temporary-file): Use make-temp-file to close a security hole.
(prolog-toggle-sicstus-sd): New command.
(prolog-electric-underscore, prolog-variables-to-anonymous):
Use dynamic-scoping as it was meant.
(prolog-menu): Move menu definitions to top-level.
Use a toggle-button for Sicstus's source debugger.
Change "Code" to the more usual "Prolog", and hence change "Prolog"
to "System".
(prolog-inferior-menu): Reuse prolog-menu's help menu.
Move other menu definition to top-level.