branch: externals/ess commit df2ac1d7dfceadd3cf1f02f18250bac06979fe81 Author: musvaage <musva...@users.noreply.github.com> Commit: Martin Mächler <maech...@stat.math.ethz.ch>
warnings --- lisp/ess-inf.el | 4 ++-- lisp/ess-r-mode.el | 6 +++--- lisp/ess-tracebug.el | 31 ++++++++++++++++++++----------- 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/lisp/ess-inf.el b/lisp/ess-inf.el index 32285f328f..57e1f5fd86 100644 --- a/lisp/ess-inf.el +++ b/lisp/ess-inf.el @@ -1,6 +1,6 @@ ;;; ess-inf.el --- Support for running S as an inferior Emacs process -*- lexical-binding: t; -*- -;; Copyright (C) 1989-2023 Free Software Foundation, Inc. +;; Copyright (C) 1989-2025 Free Software Foundation, Inc. ;; Author: David Smith <dsm...@stats.adelaide.edu.au> ;; Created: 7 Jan 1994 @@ -3143,7 +3143,7 @@ Uses `temp-buffer-show-function' and respects (defun ess--inject-code-from-file (file &optional chunked) "Load code from FILE into process. -If CHUNKED is non-nil, split the file by separator (must be at +If CHUNKED is non-nil, split the file by \\^L separator (must be at bol) and load each chunk separately." ;; This is different from ess-load-file as it works by directly loading the ;; string into the process and thus works on remotes. diff --git a/lisp/ess-r-mode.el b/lisp/ess-r-mode.el index 1cf1ae504d..8e5dab1f78 100644 --- a/lisp/ess-r-mode.el +++ b/lisp/ess-r-mode.el @@ -1,6 +1,6 @@ ;;; ess-r-mode.el --- R customization -*- lexical-binding: t; -*- -;; Copyright (C) 1997-2022 Free Software Foundation, Inc. +;; Copyright (C) 1997-2025 Free Software Foundation, Inc. ;; Author: A.J. Rossini ;; Created: 12 Jun 1997 ;; Maintainer: ESS-core <ess-c...@r-project.org> @@ -992,7 +992,7 @@ as `ess-r-created-runners' upon ESS initialization." (message "Recreated %d R versions known to ESS: %s" (length versions) versions)) (if ess-microsoft-p - (cl-mapcar (lambda (v p) (ess-define-runner v "R" p)) versions ess-rterm-version-paths) + (cl-mapc (lambda (v p) (ess-define-runner v "R" p)) versions ess-rterm-version-paths) (mapc (lambda (v) (ess-define-runner v "R")) versions)) ;; Add to menu (when ess-r-created-runners @@ -1619,7 +1619,7 @@ environment to the search path." Send the contents of the etc/ESSR/R directory to the remote process through the process connection file by file. Then, collect all the objects into an ESSR environment and attach to -the search path. If CHUNKED is non-nil, split each file by +the search path. If CHUNKED is non-nil, split each file by \\^L separators and send chunk by chunk." (ess-command (format ".ess.ESSRversion <<- '%s'\n" essr-version)) (with-temp-message "Loading ESSR into remote ..." diff --git a/lisp/ess-tracebug.el b/lisp/ess-tracebug.el index f7f2698f73..36ee08e954 100644 --- a/lisp/ess-tracebug.el +++ b/lisp/ess-tracebug.el @@ -1,6 +1,6 @@ ;; ess-tracebug.el --- Tracing and debugging facilities for ESS. -*- lexical-binding: t; -*- -;; Copyright (C) 2011-2022 Free Software Foundation, Inc. +;; Copyright (C) 2011-2025 Free Software Foundation, Inc. ;; Author: Vitalie Spinu ;; Maintainer: Vitalie Spinu ;; Created: Oct 14 14:15:22 2010 @@ -588,7 +588,7 @@ ESS internal code assumes default R prompts.") (setq-local compilation-error-regexp-alist ess-error-regexp-alist) (let (compilation-mode-font-lock-keywords) (compilation-setup t)) - (setq next-error-function 'ess-tracebug-next-error-function) + (setq next-error-function #'ess-tracebug-next-error-function) ;; new locals (make-local-variable 'ess--tb-last-input) (make-local-variable 'ess--tb-last-input-overlay) @@ -1231,10 +1231,10 @@ value from EXPR and then sent to the subprocess." (defun ess-mpi-handle-messages (buf) "Handle all mpi messages in BUF and delete them. -The MPI message has the form TYPEFIELD... where TYPE is the +The MPI message has the form \\^[TYPE\\^^FIELD...\\^] where TYPE is the type of the messages on which handlers in `ess-mpi-handlers' are -dispatched. And FIELDs are strings. Return :incomplete if BUF -ends with an incomplete message." +dispatched, \\^C are ASCII control chars, and FIELDs are strings. +Return `:incomplete' if BUF ends with an incomplete message." (let ((obuf (current-buffer)) (out nil)) (with-current-buffer buf @@ -1992,6 +1992,9 @@ Each sublist has five elements: doesn't apply to current context." :group 'ess-debug :type '(alist :key-type symbol + ;; FIXME: What's this `group'? The values looks like strings! + ;; FIXME: The docstring talks about a 6th element (function) + ;; but it's missing here. :value-type (group string string symbol face))) (defcustom ess-bp-inactive-spec @@ -2001,7 +2004,8 @@ Each sublist has five elements: ;; `ess-bp-type-spec-alist' except that the second element giving ;; the R expression is meaningless here." ;;fixme: second element is missing make it nil for consistency with all other specs :group 'ess-debug - :type 'list) + :type '(alist :key-type symbol + :value-type (group string string symbol face))) (defcustom ess-bp-conditional-spec '(conditional "browser(expr={%s})" "CB[ %s ]>\n" question-mark ess-bp-fringe-browser-face) @@ -2011,14 +2015,16 @@ List format is identical to that of the elements of expression to be replaced instead of %s in the second and third elements of the specifications." :group 'ess-debug - :type 'list) + :type '(alist :key-type symbol + :value-type (group string string symbol face))) (defcustom ess-bp-logger-spec '(logger ".ess_log_eval('%s')" "L[ \"%s\" ]>\n" hollow-square ess-bp-fringe-logger-face) "List giving the loggers specifications. List format is identical to that of `ess-bp-type-spec-alist'." :group 'ess-debug - :type 'list) + :type '(alist :key-type symbol + :value-type (group string string symbol face))) (defun ess-bp-get-bp-specs (type &optional condition no-error) @@ -2339,7 +2345,7 @@ If there is no active R session, this command triggers an error." (defun ess-bp-next nil "Goto next breakpoint." (interactive) - (when-let ((bp-pos (next-single-property-change (point) 'ess-bp))) + (when-let* ((bp-pos (next-single-property-change (point) 'ess-bp))) (save-excursion (goto-char bp-pos) (when (get-text-property (1- (point)) 'ess-bp) @@ -2352,7 +2358,7 @@ If there is no active R session, this command triggers an error." (defun ess-bp-previous nil "Goto previous breakpoint." (interactive) - (if-let ((bp-pos (previous-single-property-change (point) 'ess-bp))) + (if-let* ((bp-pos (previous-single-property-change (point) 'ess-bp))) (goto-char (or (previous-single-property-change bp-pos 'ess-bp) bp-pos)) (message "No breakpoints before the point found"))) @@ -2820,7 +2826,10 @@ for signature and trace it with browser tracer." "*ALL*")) (setq fun (ess-completing-read "Undebug" debugged nil t nil nil def-val)) (if (equal fun "*ALL*" ) - (ess-command (concat ".ess_dbg_UndebugALL(c(\"" (mapconcat 'identity debugged "\", \"") "\"))\n") tbuffer) + (ess-command (concat ".ess_dbg_UndebugALL(c(\"" + (mapconcat #'identity debugged "\", \"") + "\"))\n") + tbuffer) (ess-command (format ".ess_dbg_UntraceOrUndebug(\"%s\")\n" fun) tbuffer)) (with-current-buffer tbuffer (if (= (point-max) 1) ;; not reliable TODO: