Add a paragraph to minor mode's docstring documenting the mode's ARG
usage if the supplied docstring doesn't already contain the word "ARG".
* easy-mmode.el (easy-mmode--arg-docstring): New const.
(easy-mmode--arg-docstring): New function.
(define-minor-mode): Use them.
Remove argument documentation from all minor modes.
* subr.el (major-mode--suspended): New var.
(major-mode-suspend, major-mode-restore): New funs, extracted from doc-view.
* doc-view.el (doc-view--previous-major-mode): Remove.
(doc-view-mode): Use major-mode-suspend.
(doc-view-fallback-mode): Use major-mode-restore.
* hexl-mode.el (hexl-mode--minor-mode-p, hexl-mode--setq-local): Remove.
(hexl-mode): Use major-mode-suspend and hexl-follow-ascii-mode.
(hexl-mode-exit): Use major-mode-restore.
(hexl-activate-ruler, hexl-follow-line): Don't bother trying to preserve
earlier state, now that entering/leaving hexl-mode kills local vars.
(hexl-follow-ascii-mode): New proper local minor mode.
(hexl-follow-ascii): Rewrite, using it.
* image-mode.el (image-mode-previous-major-mode): Remove.
(image-mode): Use major-mode-suspend.
(image-mode-to-text): Use major-mode-restore.
* lisp/image-mode.el (image--imagemagick-wanted-p): New function
(bug#29584).
(image-toggle-display-image): Use it to see whether we want to use
imagemagick.
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November. Change these FTP URLs to https://ftp.gnu.org
instead. Make similar changes for URLs to other organizations moving
away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
When auto-reverting an image buffer, `image-mode' is not called since
`revert-buffer' is called with `preserve-modes' set to non-nil.
* lisp/image-mode.el (image-after-revert-hook): Check if there is an
image display property for the current buffer before updating it.
This reverts commit d05806fda1.
This had already been fixed by using `make-composed-map'. And
we don't want image-map to inherit from special-mode-map, anyway.
* lisp/image-mode.el (image-toggle-hex-display)
(image-mode-to-text): New functions.
(image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
image-toggle-hex-display.
(image-mode-map): New menu item "Show as Hex".
(image-mode): Update doc string and echo-area message.
(image-toggle-display): Support toggle to hex. (Bug#22453)
* doc/emacs/files.texi (File Conveniences): Document
'image-toggle-hex-display'.
* image-mode.el (image-toggle-display-image): If we have a
`fit-width' or a `fit-height', don't limit the size of the image
to the window size, because that doesn't preserve the aspect
ratio.
* image-mode.el (image-transform-reset): New command and menu item.
(image-mode-map): Rearrange the menu items to put presumably more
obscure items at the end.
* image.el (image-current-frame): Change from variable to function.
(image-show-frame): Rename from image-nth-frame. Update callers.
* image-mode.el (image-multi-frame): New variable.
(image-mode-map, image-mode, image-goto-frame):
Use image-multi-frame rather than image-current-frame.
(image-mode, image-goto-frame):
Use image-current-frame as function rather than as variable.
* lisp/image.el (image-animated-types): Remove.
(image-multi-frame-p): Rename from image-animated-p, and generalize.
(image-animated-p): Make obsolete alias.
(image-animate, image-nth-frame, image-animate-timeout):
Use image-multi-frame-p.
(image-animate-timeout): If no delay, use image-default-frame-delay.
* lisp/image-mode.el (image-mode, image-toggle-animation):
Use image-multi-frame-p.
(image-mode): Adjust startup message for a multi-frame image.
* lisp/gnus/shr.el (shr-put-image): Only animate images that specify a delay.
This is consistent with the old image-animated-p behavior.
* etc/NEWS: Add placeholder for this.
Fixes: debbugs:10739
* lisp/image.el (image-current-frame): New variable.
(image-animate-timeout): Set image-current-frame.
* lisp/image-mode.el (image-mode): For animated images,
display a frame counter via mode-line-process.
* lisp/image-mode.el (image-mode-map):
* lisp/doc-view.el (doc-view-mode-map):
* lisp/vc/ediff-util.el (ediff-setup-keymap):
Make S-SPC scroll in the opposite sense to SPC.
* lisp/gnus/gnus-art.el (gnus-article-mode-map):
* lisp/gnus/gnus-sum.el (gnus-summary-mode-map, gnus-summary-article-map):
Make S-SPC scroll in the opposite sense to SPC. (Bug#2145)
(image-mode-winprops): Use t to stand for the window of a buffer that's
not displayed.
* lisp/doc-view.el (doc-view-new-window-function): Handle t in winprops.
(doc-view-enlarge): Make it a real nop if the size is not changed.
(doc-view-display): Handle the case where the buffer is not (yet?)
displayed in any window.
(doc-view-saved-settings): New var.
(doc-view-mode): Use it.
(doc-view-fallback-mode): Set it.