* lisp/emulation/cua-base.el: Use lexical-binding.
Remove redundant `:group` arguments.
(cua-mode): Don't use `:require` since the autoload on `define-minor-mode`
takes care of loading the mode when custom-setting it.
* lisp/emulation/cua-gmrk.el: Use lexical-binding.
(cua--copy-rectangle-to-global-mark): Remove unused var `src-buf`.
* lisp/emulation/edt-mapper.el: Use lexical-binding.
* lisp/emulation/edt.el: Use lexical-binding.
Remove redundant `:group` arguments.
(edt-with-position): Allow `top`, `left`, and `far` to be left unused
in `body`.
* lisp/emulation/keypad.el: Use lexical-binding.
* lisp/emulation/viper-cmd.el: Move `provide` to the end.
(viper-read-string-with-history): Strength reduce `eval` to `symbol-value`.
* lisp/emulation/viper-ex.el: Use lexical-binding.
Remove redundant `:group` arguments.
Move `provide` to the end.
* lisp/emulation/viper-init.el: Use lexical-binding.
* lisp/emulation/viper-keym.el (viper-toggle-key): Use `dolist`.
(viper-insert-diehard-map): Use `string`.
(viper-modify-major-mode): Use `alist-get` and `setf`.
* lisp/emulation/viper-macs.el (viper-ex-work-buf):
Move `provide` to the end.
(viper-record-kbd-macro): Strength reduce `eval` to `symbol-value`.
(viper-describe-kbd-macros): Return value is not significant.
(viper-keyseq-is-a-possible-macro): Use `seq-some`.
(viper-common-seq-prefix): Use `seq-every-p`.
* lisp/emulation/viper-mous.el: Use lexical-binding.
Remove redundant `:group` arguments.
Move `provide` to the end.
(viper-remember-current-frame): Accept arbitrary ignored args.
(viper-parse-mouse-key): Strength reduce `eval` to `symbol-value`.
Remove unused var `key-spec`.
(viper-bind-mouse-search-key, viper-bind-mouse-insert-key):
Apply de Morgan.
* lisp/emulation/viper-util.el: Move `provide` to the end.
(viper-move-marker-locally, viper-push-onto-ring, viper-save-setting):
Strength reduce `eval` to `symbol-value`.
(viper-event-vector-p, viper-char-symbol-sequence-p, viper-char-array-p):
Use `seq-every-p`.
* lisp/emulation/viper.el (viper-non-hook-settings): Eta-reduce use of
`viper-remember-current-frame`.
* lisp/emulation/viper-keym.el (viper-ESC-key): Revert back to
using ESC instead of `escape' (bug#18182). This allows using
`C-[' again on terminals for ESC. The key should be mapped back
to `escape' by `function-key-map'.
Ever since the time-dependent ESC handling was moved to input-decode-map,
viper-read-key-sequence has been obsolete. Clean up accordingly.
* lisp/emulation/viper-keym.el: Use lexical-binding.
(viper-overriding-map): Remove.
* lisp/emulation/viper-macs.el: Use lexical-binding and 'read-key'.
* lisp/emulation/viper-util.el: Use lexical-binding.
(viper-read-key, viper-read-key-sequence): Remove.
* lisp/emulation/viper.el (viper-non-hook-settings): Remove obsolete advice.
* lisp/emulation/viper-cmd.el, lisp/emulation/viper-keym.el:
* lisp/emulation/viper-util.el, lisp/net/newst-plainview.el:
* lisp/net/newst-treeview.el, lisp/ps-def.el, lisp/vc/ediff.el:
* lisp/vc/ediff-util.el, lisp/vc/ediff-wind.el:
Remove stub declare-function definitions.
It exists since Emacs 22.2, released 10 years ago.
Most of these files are using even newer features, such as
lexical-binding and cl-lib anyway, making the stubs pointless.
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.
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.
Mostly these fixes prevent the transliteration of apostrophes
that should stay apostrophes. Also, prefer curved quotes in
Bahá’í proper names, as that’s the preferred Bahá’í style and
these names are chock-full of non-ASCII characters anyway.
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
(eieio-defclass-internal):
* lisp/emacs-lisp/eieio.el (defclass):
* lisp/hi-lock.el (hi-lock-mode):
Don’t transliterate Lisp apostrophes when generating a
doc string or diagnostic.
* lisp/international/mule-diag.el (list-coding-systems-1):
* lisp/international/ogonek.el (ogonek-jak, ogonek-how):
* lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
* lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
* lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
Substitute quotes before putting them in the help buffer.
Monnier's patch).
* viper.el (viper-emacs-state-mode-list): add egg-status-buffer-mode.
(viper-version): version update.
(viper-go-away,viper-setup-hooks): function changed (Stefan Monnier's
patch).
(viper--lookup-key,viper-catch-tty-ESC,viper-uncatch-tty-ESC,
viper-setup-ESC-to-escape): new functions (Stefan Monnier's
patch).
* viper-cmd.el: (viper-del-forward-char-in-insert): new function.
(viper-save-kill-buffer): check if buffer is modified.
(viper-envelop-ESC-key): function deleted (Stefan Monnier's patch).
(viper-intercept-ESC-key): function changed (Stefan Monnier's patch).
* viper-keym.el (viper-ESC-key): constant changed (Stefan Monnier's
patch).
* ediff.el (ediff-files-command,ediff3-files-command): new functions.
(ediff-merge-command,ediff-merge-with-ancestor-command): new functions.
(ediff-directories-command,ediff-directories3-command): new functions.
(ediff-merge-directories-command): new function.
(ediff-merge-directories-with-ancestor-command): new function.
All the above are command-line interfaces to ediff: facilitate calling
Emacs with the appropriate ediff functions invoked.
(ediff-version): version update.
* viper-init.el (viper-ESC-keyseq-timeout): Make it into a function
instead of a variable.
* viper-util.el (viper-fast-keysequence-p): Changed to use
viper-ESC-keyseq-timeout as a function.
(viper-get-saved-cursor-color-in-replace-mode): Use defun instead of
defsubst.
* viper-cmd.el: Let line-move-visual to nil when using next-line or
previous-line.
(viper-R-state-post-command-sentinel): Use defun instead of defsubst.
* viper-keym.el (viper-ESC-key): Use (kbd "ESC").
* ediff-util.el (ediff-toggle-multiframe): Check if control window is
live.
(ediff-save-buffer): Let window-min-height to 2.
* ediff-wind.el (ediff-setup-windows-plain-compare): Avoid selecting
the minibuffer.
* ediff*.el: commented out declare-function. "make bootstrap"
stops with an error and emacs does not compile with those things in.
Besides, declare-function is not defined in XEmacs.
* ediff-util (eqiff-quit): autoraise minibuffer.
* ediff-diff (ediff-convert-fine-diffs-to-overlays): make it a defin
* viper*.el: commented out declare-function -- not defined in XEmacs.
* viper-ex.el (viper-info-on-file): take care of indiret buffers.
* viper.el (viper-set-hooks, set-cursor-color): set viper-vi-state-cursor-color.