[ESS] Some annoyances with ESS >= 24.x + polymode
Vincent Goulet
V|ncent@Gou|et @end|ng |rom @ct@u|@v@|@c@
Tue Jan 28 21:06:09 CET 2025
Thanks for the tip Laurent! (And sorry for not following up earlier.)
I read a little about Swiper and the other completion packages: there are many and the candidate for the most greatest one seems to change regularly! ;-)
Anyone knows of a built-in option that would do well to easily search for named code chunks, like M-n C-n was offering? I think M-x occur would do, but I haven't had the chance to try it yet.
v.
> Le 27 août 2024 à 13:44, LaurentEss via ESS-help <ess-help using r-project.org> a écrit :
>
> Hi Vincent,
>
> Concerning the trouble:
>
> - [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.)
>
> Tyler Smith gave me on this mailing-list (see link below) a very nice workaround, not really identical but very convenient.
>
> https://www.mail-archive.com/ess-help@r-project.org/msg01017.html
>
>
> Le 27/08/2024 à 10:49, Martin Maechler via ESS-help a écrit :
>> 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
>>
>>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> ESS-help using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/ess-help
More information about the ESS-help
mailing list