diff options
| author | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-11-01 10:47:17 -0400 |
|---|---|---|
| committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2022-11-01 10:47:17 -0400 |
| commit | fbc2ef3606243c4f86021af8c097470a98847969 (patch) | |
| tree | 5e09863605ccb0844444189494e0c83a474661d1 /lisp/ess-mode.el | |
| parent | 60e9790b35fdac1b254b66438fedaeebb8a82c91 (diff) | |
Fix compilation of package installed from Git; plus cosmeticsscratch/ess
In `test/*.el`: Provide "test/etest/etest" to `require` so Emacs can find
the file when the package is compiled.
In `*.el`: Prefer #' to quote named functions.
Use `lexical-binding` in all the remaining files.
Use lexical-binding also in `eval`.
Remove redundant let-bindings of obsolete variable
`inhibit-point-motion-hooks`.
Replace uses of `point-at-bol` and `point-at-eol`, both marked obsolete
in Emacs-29. Use `defalias` rather than `fset` to define a function.
Fix occasional incorrect uses of ' in docstrings.
Remove some redundant `:group` arguments.
Add leading `_` to unused args.
In addition to the above, a few, more specifc, tweaks:
* lisp/ess-r-mode.el (ess-offset, ess-offset-type): Strength-reduce
`eval` to `symbol-value`.
(ess-rutils-rsitesearch): Hoist the common `browse-url` out of the `if`.
* lisp/ess-r-package.el: Don't test `fboundp` before `advice-add` since
we require Emacsā„25. Don't require `shell` since `advice-add` also
works when the function is not yet defined.
* lisp/ess-r-syntax.el (ess-parser--backward): Give it a global nil
value, both to declare it as dynamically scoped and to simplify
the code. All users adjusted not to bother with `bound-and-true-p`.
(ess-node): Hoist common `gethash` out of the `if`.
* lisp/ess-sas-a.el (ess-sas-rtf-portrait, ess-sas-rtf-landscape):
Add FIXME.
* lisp/ess-sas-d.el (ess-electric-run-semicolon): Re-indent. Add FIXME.
* lisp/ess-sas-l.el (beginning-of-sas-statement): Rename statically
scoped arg to avoid conflict with dynamically scoped var.
(sas-prev-line): Make (unused) arg optional.
(ess-imenu-SAS): Use [:alpha:] and [:alnum:].
* lisp/ess-tracebug.el (ess--tb-start, ess--tb-stop):
Use `advice-add/remove` to redefine `ess-parse-errors`.
* lisp/ess.el (ess-version-string): Don't presume `point-min` is `1`.
* lisp/obsolete/ess-mouse.el (ess-mouse-me-eval-expanded):
Remove unused var `page-scommand`.
* lisp/obsolete/mouseme.el (mouse-me-get-string, mouse-me-find-grep):
Remove unnused vars `p`, `beg`, and `end`.
* test/ess-test-inf.el (ess-test-inferior-local-start-args):
Use `*proc*` rather than undocumented `*inf-buf*`.
(ess-inf-send-fn-test, ess-inf-send-cat-some.text-test): Remove unused
var `output-nowait`.
* test/ess-test-literate.el (chunk-end): Remove `defvar`.
(elt-process-next-chunk, elt-process-next-subchunk, elt-process-case)
(elt-process-code): Pass/take `chunk-end` as argument instead.
* test/ess-test-org.el (test-org-R-ouput): Remove unused var `inf-proc`.
* test/ess-test-r-utils.el (with-ess-test-file): Add FIXME.
(ess-test-sleep-while, ess-test-unwind-protect): Move before first use.
Split the bulk of the code into a function, to ease debugging, avoid
name captures, and improve error messages.
(with-r-running): Split the bulk of the code into a function.
Document the `*proc*` var. Add FIXME.
(output, face-at, token=): Add FIXME.
(output=): Remove redundant `eval`.
* test/ess-test-r.el (ess-r-inherits-prog-mode-test): Turn global
`ess-test-prog-hook` var into local `pmh-was-run`.
* test/literate/fontification.el (face-at-point): Remove unused function.
* test/literate/roxy.el (face-at-point, faces-at-point):
Remove unused functions.
Diffstat (limited to 'lisp/ess-mode.el')
| -rw-r--r-- | lisp/ess-mode.el | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lisp/ess-mode.el b/lisp/ess-mode.el index 91ebaf5..d580aeb 100644 --- a/lisp/ess-mode.el +++ b/lisp/ess-mode.el @@ -1,6 +1,6 @@ ;;; ess-mode.el -- Emacs Speaks Statistics root mode. -*- lexical-binding: t; -*- -;; Copyright (C) 1994-2020 Free Software Foundation, Inc. +;; Copyright (C) 1994-2022 Free Software Foundation, Inc. ;; Maintainer: ESS-core <ESS-core@r-project.org> ;; This file is part of GNU Emacs. @@ -103,8 +103,8 @@ ;; 27 binds M-j to `default-indent-new-line' which calls ;; `comment-line-break-function' if point is in a comment. We set this ;; function in the mode init. -(substitute-key-definition 'indent-new-comment-line - 'ess-indent-new-comment-line +(substitute-key-definition #'indent-new-comment-line + #'ess-indent-new-comment-line ess-mode-map global-map) (defvar ess-extra-map @@ -309,7 +309,7 @@ indentation style. See `ess-style-alist' for predefined styles." (:eval (ess--get-mode-line-indicator)) ess--local-mode-line-process-indicator "]")) - (add-hook 'ess-idle-timer-functions 'ess-synchronize-dirs nil 'local)) + (add-hook 'ess-idle-timer-functions #'ess-synchronize-dirs nil 'local)) (defun ess--get-mode-line-indicator () "Get `ess--mode-line-process-indicator' from process buffer. @@ -319,7 +319,8 @@ Internal function to be used for dynamic mode-line display in (let* ((proc (get-process ess-local-process-name)) (buff (when proc (process-buffer proc)))) (if (and proc (buffer-live-p buff)) - (with-current-buffer buff (mapcar 'eval ess--mode-line-process-indicator)) + (with-current-buffer buff + (mapcar (lambda (e) (eval e t)) ess--mode-line-process-indicator)) "none")) "none")) @@ -392,7 +393,8 @@ Otherwise go to the end of paragraph." (ess-goto-end-of-function-or-para) (exchange-point-and-mark)) -(define-obsolete-function-alias 'ess-mark-function 'ess-mark-function-or-para "15.09") +(define-obsolete-function-alias 'ess-mark-function + #'ess-mark-function-or-para "15.09") (defun ess-narrow-to-defun-or-para () "Make text outside current function invisible. @@ -407,7 +409,8 @@ current function." (point)))) (narrow-to-region beg end)))) -(define-obsolete-function-alias 'ess-narrow-to-defun 'ess-narrow-to-defun-or-para "15.09") +(define-obsolete-function-alias 'ess-narrow-to-defun + #'ess-narrow-to-defun-or-para "15.09") ;; FIXME: Support soft breaks with `insert-and-inherit'. See ;; https://www.gnu.org/software/emacs/manual/html_node/emacs/Hard-and-Soft-Newlines.html |
