diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2021-03-17 23:32:39 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2021-03-17 23:32:39 -0400 |
commit | 485622bbd1afad4c1e39a245cf57605208ca606f (patch) | |
tree | 8388854d1b0eaa4e82f55862149c9def4ca1ccc6 /lisp/textmodes/texinfo.el | |
parent | c28ba117782cd825b2a4dd6ffcc0206ecf36898e (diff) | |
download | emacs-485622bbd1afad4c1e39a245cf57605208ca606f.tar.gz |
* lisp/textmodes: Use lexical-binding
* lisp/textmodes/enriched.el: Use lexical-binding.
(enriched-mode): Use `delete-dups` to avoid `add-to-list` on
a local variable.
* lisp/textmodes/makeinfo.el: Use lexical-binding.
(makeinfo-region): Remove unused var `filename-or-header`.
* lisp/textmodes/refbib.el: Use lexical-binding.
(r2b-put-field): Remove unused var `multi-line`.
(r2b-barf-output): Remove unused var `match`.
* lisp/textmodes/refer.el: Use lexical-binding.
(refer-find-entry-internal): Remove unused vars `old-buffer` and `found`.
* lisp/textmodes/reftex-auc.el: Use lexical-binding.
(LaTeX-add-bibitems): Declare function.
(reftex-plug-into-AUCTeX): Use `add-function` and `advice-add` so we
can properly unplug.
* lisp/textmodes/reftex-cite.el: Use lexical-binding.
(reftex-create-bibtex-file): Remove unused var `file`.
(reftex--found-list): Declare var.
(reftex-offer-bib-menu): Rename local var to `reftex--found-list`.
* lisp/textmodes/reftex-dcr.el: Use lexical-binding.
(reftex-use-itimer-in-xemacs): Delete XEmacs-only var.
(reftex-toggle-auto-view-crossref): Delete XEmacs-only code.
(reftex-start-itimer-once): Delete XEmacs-only function.
* lisp/textmodes/reftex-global.el: Use lexical-binding.
(reftex-isearch-push-state-function): Use a closure instead of `(lambda).
* lisp/textmodes/reftex-index.el: Use lexical-binding.
(mark-active, transient-mark-mode): Delete var declarations.
(reftex-index-mode-map): Remove XEmacs-only code.
Use `mapc` so we can use closures instead of hand-built lambdas.
(reftex-index-next, reftex-index-previous): Tweak interactive spec to
remove unused prefix arg and mark it as a motion command.
(reftex-index-phrases-font-lock-keywords)
(reftex-index-phrases-font-lock-keywords): Move initialization into
declaration.
(reftex-index-initialize-phrases-buffer, reftex-index-phrases-mode)
reftex-index-phrases-apply-to-region: Remove XEmacs-only code.
(TeX-master): Remove redundant declaration.
(reftex--chars-first): Rename dynvar from `chars-first`. Adjust all uses.
* lisp/textmodes/reftex-parse.el: Use lexical-binding.
* lisp/textmodes/reftex-ref.el: Use lexical-binding.
(reftex-label): Remove always-nil var `text`.
(reftex-refstyle): Declare before first use.
(<toplevel>): Use closures rather than `eval` when building commands from
`reftex-ref-style-alist`.
* lisp/textmodes/reftex-sel.el: Use lexical-binding.
(reftex-select-label-mode-map, reftex-select-bib-mode-map):
Use `mapc` so we can use closures instead of hand-built lambdas.
(reftex-select-label-mode, reftex-select-bib-mode): Remove XEmacs-only code.
(reftex-select-data, reftex-select-prompt, reftex-refstyle):
Move declaration before first use.
(reftex--found-list, reftex--cb-flag, reftex--last-data)
(reftex--call-back, reftex--help-string): Move declaration before use,
and rename by adding `reftext--` prefix. Adjust all uses in this file.
For `reftex--found-list` adjust corresponding uses in `reftex-cite.el`.
(reftex-select-item): Explicitly let-bind them.
Remove XEmacs-only code.
* lisp/textmodes/reftex-toc.el: Use lexical-binding.
(reftex-toc-mode-map, reftex-toc-mode, reftex-toc-restore-region)
(reftex-toc-next, reftex-toc-previous, reftex-toc-next-heading)
(reftex-toc-previous-heading, reftex-toggle-auto-toc-recenter
(reftex-make-separate-toc-frame): Remove XEmacs-only code.
* lisp/textmodes/reftex-vars.el: Use lexical-binding.
* lisp/textmodes/reftex.el: Use lexical-binding.
(reftex-mode-map, reftex-mode, reftex-fontify-select-label-buffer)
(reftex-verified-face): Remove XEmacs-only code.
(reftex-region-active-p, reftex-overlay-put, reftex-move-overlay)
(reftex-make-overlay, reftex-get-buffer-visiting, reftex-delete-overlay):
Redefine as obsolete aliases. Replace all callers.
(current-message): Remove XEmacs-only definition.
* lisp/textmodes/remember.el: Use lexical-binding.
* lisp/textmodes/table.el (<toplevel>): Use closures rather than `(lambda)
to build commands.
* lisp/textmodes/texinfmt.el: Use lexical-binding.
(texinfo-example-start): Declare var.
(texinfo-format-region, texinfo-format-buffer-1): Remove unused var
`last-input-buffer`.
(texinfo-format-scan): Use `dlet` to bind `whitespace-silent`.
(texinfo-optional-braces-discard, texinfo-format-parse-line-args)
(texinfo-format-parse-args): Remove unused var `start`.
(texinfo-multitable-widths): Remove unused var `start-of-templates`.
(texinfo-multitable-item): Strength-reduce `eval` to `symbol-value`.
(texinfo-alias): Remove unused vars `start` and `args`.
(texinfo-defun-type symbol-property): Change the car to help the type
symbol rather than an expression returning it.
(texinfo-format-deffn): Remove corresponding `eval`.
(texinfo-clear): Remove unused var `value`.
(texinfo-format-ifeq): Remove unused var `end`.
* lisp/textmodes/texinfo.el: Use lexical-binding.
(tex-show-print-queue): Declare function.
* lisp/textmodes/texnfo-upd.el: Use lexical-binding.
(texinfo-start-menu-description): Remove unused var `end`.
(texinfo-insert-node-lines): Remove unused var `beginning-marker`.
(texinfo-multiple-files-update): Remove unused vars `next-node-name`
and `previous-node-name`.
* lisp/textmodes/two-column.el: Use lexical-binding.
Diffstat (limited to 'lisp/textmodes/texinfo.el')
-rw-r--r-- | lisp/textmodes/texinfo.el | 120 |
1 files changed, 61 insertions, 59 deletions
diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el index 278cd0cd848..750a33db0aa 100644 --- a/lisp/textmodes/texinfo.el +++ b/lisp/textmodes/texinfo.el @@ -1,4 +1,4 @@ -;;; texinfo.el --- major mode for editing Texinfo files +;;; texinfo.el --- major mode for editing Texinfo files -*- lexical-binding: t; -*- ;; Copyright (C) 1985, 1988-1993, 1996-1997, 2000-2021 Free Software ;; Foundation, Inc. @@ -373,7 +373,7 @@ Subexpression 1 is what goes into the corresponding `@end' statement.") ("@\\(end\\|itemx?\\) +\\(.+\\)" 2 font-lock-keyword-face keep) ;; (,texinfo-environment-regexp ;; 1 (texinfo-clone-environment (match-beginning 1) (match-end 1)) keep) - (,(concat "^@" (regexp-opt (mapcar 'car texinfo-section-list) t) + (,(concat "^@" (regexp-opt (mapcar #'car texinfo-section-list) t) ".*\n") 0 'texinfo-heading t)) "Additional expressions to highlight in Texinfo mode.") @@ -400,19 +400,21 @@ Subexpression 1 is what goes into the corresponding `@end' statement.") ;;; Keys common both to Texinfo mode and to TeX shell. +(declare-function tex-show-print-queue "tex-mode" ()) + (defun texinfo-define-common-keys (keymap) "Define the keys both in Texinfo mode and in the texinfo-tex-shell." - (define-key keymap "\C-c\C-t\C-k" 'tex-kill-job) - (define-key keymap "\C-c\C-t\C-x" 'texinfo-quit-job) - (define-key keymap "\C-c\C-t\C-l" 'tex-recenter-output-buffer) - (define-key keymap "\C-c\C-t\C-d" 'texinfo-delete-from-print-queue) - (define-key keymap "\C-c\C-t\C-q" 'tex-show-print-queue) - (define-key keymap "\C-c\C-t\C-p" 'texinfo-tex-print) - (define-key keymap "\C-c\C-t\C-v" 'texinfo-tex-view) - (define-key keymap "\C-c\C-t\C-i" 'texinfo-texindex) - - (define-key keymap "\C-c\C-t\C-r" 'texinfo-tex-region) - (define-key keymap "\C-c\C-t\C-b" 'texinfo-tex-buffer)) + (define-key keymap "\C-c\C-t\C-k" #'tex-kill-job) + (define-key keymap "\C-c\C-t\C-x" #'texinfo-quit-job) + (define-key keymap "\C-c\C-t\C-l" #'tex-recenter-output-buffer) + (define-key keymap "\C-c\C-t\C-d" #'texinfo-delete-from-print-queue) + (define-key keymap "\C-c\C-t\C-q" #'tex-show-print-queue) + (define-key keymap "\C-c\C-t\C-p" #'texinfo-tex-print) + (define-key keymap "\C-c\C-t\C-v" #'texinfo-tex-view) + (define-key keymap "\C-c\C-t\C-i" #'texinfo-texindex) + + (define-key keymap "\C-c\C-t\C-r" #'texinfo-tex-region) + (define-key keymap "\C-c\C-t\C-b" #'texinfo-tex-buffer)) ;; Mode documentation displays commands in reverse order ;; from how they are listed in the texinfo-mode-map. @@ -423,68 +425,68 @@ Subexpression 1 is what goes into the corresponding `@end' statement.") ;; bindings for `texnfo-tex.el' (texinfo-define-common-keys map) - (define-key map "\"" 'texinfo-insert-quote) + (define-key map "\"" #'texinfo-insert-quote) ;; bindings for `makeinfo.el' - (define-key map "\C-c\C-m\C-k" 'kill-compilation) + (define-key map "\C-c\C-m\C-k" #'kill-compilation) (define-key map "\C-c\C-m\C-l" - 'makeinfo-recenter-compilation-buffer) - (define-key map "\C-c\C-m\C-r" 'makeinfo-region) - (define-key map "\C-c\C-m\C-b" 'makeinfo-buffer) + #'makeinfo-recenter-compilation-buffer) + (define-key map "\C-c\C-m\C-r" #'makeinfo-region) + (define-key map "\C-c\C-m\C-b" #'makeinfo-buffer) ;; bindings for `texinfmt.el' - (define-key map "\C-c\C-e\C-r" 'texinfo-format-region) - (define-key map "\C-c\C-e\C-b" 'texinfo-format-buffer) + (define-key map "\C-c\C-e\C-r" #'texinfo-format-region) + (define-key map "\C-c\C-e\C-b" #'texinfo-format-buffer) ;; AUCTeX-like bindings - (define-key map "\e\r" 'texinfo-insert-@item) + (define-key map "\e\r" #'texinfo-insert-@item) ;; bindings for updating nodes and menus - (define-key map "\C-c\C-um" 'texinfo-master-menu) + (define-key map "\C-c\C-um" #'texinfo-master-menu) - (define-key map "\C-c\C-u\C-m" 'texinfo-make-menu) - (define-key map "\C-c\C-u\C-n" 'texinfo-update-node) - (define-key map "\C-c\C-u\C-e" 'texinfo-every-node-update) - (define-key map "\C-c\C-u\C-a" 'texinfo-all-menus-update) + (define-key map "\C-c\C-u\C-m" #'texinfo-make-menu) + (define-key map "\C-c\C-u\C-n" #'texinfo-update-node) + (define-key map "\C-c\C-u\C-e" #'texinfo-every-node-update) + (define-key map "\C-c\C-u\C-a" #'texinfo-all-menus-update) - (define-key map "\C-c\C-s" 'texinfo-show-structure) + (define-key map "\C-c\C-s" #'texinfo-show-structure) - (define-key map "\C-c}" 'up-list) + (define-key map "\C-c}" #'up-list) ;; FIXME: This is often used for "close block" aka texinfo-insert-@end. - (define-key map "\C-c]" 'up-list) - (define-key map "\C-c/" 'texinfo-insert-@end) - (define-key map "\C-c{" 'texinfo-insert-braces) + (define-key map "\C-c]" #'up-list) + (define-key map "\C-c/" #'texinfo-insert-@end) + (define-key map "\C-c{" #'texinfo-insert-braces) ;; bindings for inserting strings - (define-key map "\C-c\C-o" 'texinfo-insert-block) - (define-key map "\C-c\C-c\C-d" 'texinfo-start-menu-description) - (define-key map "\C-c\C-c\C-s" 'texinfo-insert-@strong) - (define-key map "\C-c\C-c\C-e" 'texinfo-insert-@emph) - - (define-key map "\C-c\C-cv" 'texinfo-insert-@var) - (define-key map "\C-c\C-cu" 'texinfo-insert-@uref) - (define-key map "\C-c\C-ct" 'texinfo-insert-@table) - (define-key map "\C-c\C-cs" 'texinfo-insert-@samp) - (define-key map "\C-c\C-cr" 'texinfo-insert-dwim-@ref) - (define-key map "\C-c\C-cq" 'texinfo-insert-@quotation) - (define-key map "\C-c\C-co" 'texinfo-insert-@noindent) - (define-key map "\C-c\C-cn" 'texinfo-insert-@node) - (define-key map "\C-c\C-cm" 'texinfo-insert-@email) - (define-key map "\C-c\C-ck" 'texinfo-insert-@kbd) - (define-key map "\C-c\C-ci" 'texinfo-insert-@item) - (define-key map "\C-c\C-cf" 'texinfo-insert-@file) - (define-key map "\C-c\C-cx" 'texinfo-insert-@example) - (define-key map "\C-c\C-ce" 'texinfo-insert-@end) - (define-key map "\C-c\C-cd" 'texinfo-insert-@dfn) - (define-key map "\C-c\C-cc" 'texinfo-insert-@code) + (define-key map "\C-c\C-o" #'texinfo-insert-block) + (define-key map "\C-c\C-c\C-d" #'texinfo-start-menu-description) + (define-key map "\C-c\C-c\C-s" #'texinfo-insert-@strong) + (define-key map "\C-c\C-c\C-e" #'texinfo-insert-@emph) + + (define-key map "\C-c\C-cv" #'texinfo-insert-@var) + (define-key map "\C-c\C-cu" #'texinfo-insert-@uref) + (define-key map "\C-c\C-ct" #'texinfo-insert-@table) + (define-key map "\C-c\C-cs" #'texinfo-insert-@samp) + (define-key map "\C-c\C-cr" #'texinfo-insert-dwim-@ref) + (define-key map "\C-c\C-cq" #'texinfo-insert-@quotation) + (define-key map "\C-c\C-co" #'texinfo-insert-@noindent) + (define-key map "\C-c\C-cn" #'texinfo-insert-@node) + (define-key map "\C-c\C-cm" #'texinfo-insert-@email) + (define-key map "\C-c\C-ck" #'texinfo-insert-@kbd) + (define-key map "\C-c\C-ci" #'texinfo-insert-@item) + (define-key map "\C-c\C-cf" #'texinfo-insert-@file) + (define-key map "\C-c\C-cx" #'texinfo-insert-@example) + (define-key map "\C-c\C-ce" #'texinfo-insert-@end) + (define-key map "\C-c\C-cd" #'texinfo-insert-@dfn) + (define-key map "\C-c\C-cc" #'texinfo-insert-@code) ;; bindings for environment movement - (define-key map "\C-c." 'texinfo-to-environment-bounds) - (define-key map "\C-c\C-c\C-f" 'texinfo-next-environment-end) - (define-key map "\C-c\C-c\C-b" 'texinfo-previous-environment-end) - (define-key map "\C-c\C-c\C-n" 'texinfo-next-environment-start) - (define-key map "\C-c\C-c\C-p" 'texinfo-previous-environment-start) + (define-key map "\C-c." #'texinfo-to-environment-bounds) + (define-key map "\C-c\C-c\C-f" #'texinfo-next-environment-end) + (define-key map "\C-c\C-c\C-b" #'texinfo-previous-environment-end) + (define-key map "\C-c\C-c\C-n" #'texinfo-next-environment-start) + (define-key map "\C-c\C-c\C-p" #'texinfo-previous-environment-start) map)) (easy-menu-define texinfo-mode-menu @@ -624,7 +626,7 @@ value of `texinfo-mode-hook'." (mapcar (lambda (x) (cons (concat "@" (car x)) (cadr x))) texinfo-section-list)) (setq-local outline-regexp - (concat (regexp-opt (mapcar 'car outline-heading-alist) t) + (concat (regexp-opt (mapcar #'car outline-heading-alist) t) "\\>")) (setq-local tex-start-of-header "%\\*\\*start") @@ -893,7 +895,7 @@ A numeric argument says how many words the braces should surround. The default is not to surround any existing words with the braces." nil "@uref{" _ "}") -(defalias 'texinfo-insert-@url 'texinfo-insert-@uref) +(defalias 'texinfo-insert-@url #'texinfo-insert-@uref) ;;; Texinfo file structure |