[ESS] Some annoyances with ESS >= 24.x + polymode

Martin Maechler m@ech|er @end|ng |rom @t@t@m@th@ethz@ch
Tue Aug 27 10:49:54 CEST 2024


On Mon, Aug 26, 2024 at 10:06 PM Vincent Goulet via ESS-help
<ess-help using r-project.org> wrote:
>
> Hi all,
>
> As many of you will know, I have been a very long time user of ESS. For my literate programming needs, I also stuck mostly to Sweave and .Rnw files. Therefore, Rmarkdown and knitr are neither a priority nor an answer for me.

long time ESS user indeed -- and to most of us even more importantly,
provider of ESS+Emacs  for Windows and macOSX for a very long time.


> ESS 24.01.1 marked an important transition in ESS life with what is now a strong reliance on polymode to edit noweb files and help pages. I must say that transitioning as an end user proved much smoother than I thought it'd be. Kudos to the developers! Polymode is also *much* better than noweb-mode (ess-noweb-mode?) at keeping track of whether the point is in a code or a documentation chunk. Nice.

Indeed!  (The development version of ESS had moved to polymode much
earlier .. but you didn't see it for "released ESS", because the ESS
release manager (me)  did not want to release with too many open
issues ...  which was a mistake in hindsight -- mea culpa!).

> That said, a stumbled on a few annoyances when working with .Rnw and man pages, and I'd like to either report them or get workarounds (when a feature rather than a bug). In no particular order:
>
> - [noweb files] With older ESS, M-n C-n would allow to reach a code chunk by its name, a la iswitch-buffer. Is there something equivalent in Polymode? (No, 'M-s <<chunk-name' is not as convenient.)
>
> - [noweb files] fill-paragraph in (LaTeX) documentation does not respect a code chunk that is not separated by a blank line as the older ESS would do. In other words M-q in
>
> lorem ipsum
> <<>>=
> 2 + 3
> @
>
> with the point in "lorum ipsum" results in
>
> lorem ipsum <<>>= 2 + 3 @
>
> - I found that when editing code inside a code chunk, comment-column is not respected. Reusing the previous example, M-; on the '2 + 3' line results in
>
> lorem ipsum
> <<>>=
> 2 + 3 #
> @
>
> even though comment-column is 40. [I don't know why it is 40, by the way. C-h v comment-column RET yields
>
> comment-column is a variable defined in ‘newcomment.el’.
> Its value is 40
> Original value was 32
> Local in buffer tri.Rnw[R]; global value is 32
>
> I didn't set the value to 40 anywhere. Beats me.]
>
> - [noweb files] I use plain vc-mode for version control. Running vc-diff on a .Rnw file does highlight the changes, but it brings a useless buffer named *diff syntax* in front of the *vc-diff* buffer. If one kills the latter buffer and moves within the *vc-diff* buffer with n or b, moving past a code chunk brings back the *diff-syntax* buffer. In other words, vc-diff is pretty unusable on .Rnw files.
>
> - [noweb files] This is more a convenience thing not necessarily related to ESS. When visiting files, how can I get .Rnw at the beginning of the list of files, even before .R or .tex files? I'm using ido-mode.
>
> - [R man pages] It used to be that all navigation in a man page used nifty one- or two-letter combinations. This still works, except in examples, where the standard R mode gets activated. I understand that this may be convenient to edit the examples, but it makes it no longer makes it possible to exit a man page from the Examples section using x or q. Is there a toggle somewhere to get the old behavior? What do you guys do? C-x k every time?
>
> This is all with my latest Emacs Modified for macOS distribution: Emacs 29.4, ESS 24.01.1.
>
> If I should file bug reports, please tell me.

polymode is not really part of ESS ... but its creator and maintainer,
Vitalie Spinu,  made 3 of ESS cores most active maintainers,  Lionel,
Rodney, and me  to "co-admin"s of the  github repos where polymode has
been developed.
So yes, I think it would be greate to open  github issues in the
polymode repos  {{and even more useful may be to create pull request
for fixing the above problems}}:
   https://github.com/polymode/polymode/issues

and ... to all readers ... if you can, it'd be great to get some
issues closed etc;  many of the current ones seem related to
"cooperation" between polymode and other emacs tools / packages/ etc.
These need "testing" by users of both polymode *and* these other emacs
tools.
Many thanks in advance for all constructive collaboration here.

Martin


> Thanks in advance!
>
> v.
>
> Vincent Goulet
> Professeur titulaire
> École d'actuariat, Université Laval
>
> ______________________________________________
> ESS-help using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/ess-help



-- 
Martin <Maechler using stat.math.ethz.ch>   http://stat.ethz.ch/~maechler
Seminar für Statistik, ETH Zürich     HG G 14.2       Rämistrasse 101
CH-8092 Zurich, SWITZERLAND           ☎ +41 44 632 3408        <><



More information about the ESS-help mailing list