Closed kimjetwav closed 2 years ago
Thanks for the nice report, should be fixed.
Hey, appreciate the fix! I noticed the issue was still happening with ess-r-package-list-local-packages
. Luckily it’s a nearly identical fix to aaa82f24
. I tested it under ESS master today, and seems to work just as expected. Here’s the diff for your convenience if you’re interested.
diff --git a/lisp/ess-r-mode.el b/lisp/ess-r-mode.el
index ef086db3..cec47c0c 100644
--- a/lisp/ess-r-mode.el
+++ b/lisp/ess-r-mode.el
@@ -2668,10 +2668,12 @@ from all installed packages, which can be very slow."
(defun ess-r-package-list-local-packages ()
"List all packages in all libraries."
(interactive)
- (ess-r-package--list-packages (concat ".ess.rutils.ops <- options(width = 10000);"
- "print(installed.packages(fields=c(\"Title\"))[, c(\"Title\", \"Version\")]);"
- "options(.ess.rutils.ops); rm(.ess.rutils.ops);"
- "\n")))
+ (ess-r-package--list-packages
+ "{
+ .ess.rutils.ops <- options(width = 10000)
+ print(installed.packages(fields=c(\"Title\"))[, c(\"Title\", \"Version\")])
+ options(.ess.rutils.ops); rm(.ess.rutils.ops)
+ }\n"))
(defun ess-r-package--list-packages (cmd)
"Use CMD to list packages."
Somewhat recently I've noticed that processes initiated by commands in the
C-c C-.
family (the R package management commands) hang rather than returning as expected. I looked into it briefly and it seemed to be a result of the structure of the string being passed to the R process?ess-elisp-trace-mode
output included here:... and so on until aborted with
C-g
.Found on: Ubuntu 20.04 GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) (built from commit
64f9fdc812
) ESS version [unknown] (built viastraight
(at commitcfc621c
) from commit569dca1f
) R version 4.1.0.