Subject: Re: bug#63444: folding mode for Texinfo doesn't work reliably

From: Werner LEMBERG <[email-masked]>
Date: Sun, 14 May 2023 04:51:02 +0000 (UTC)

> [...] if you look here[1], you'll see:
>
>   The variables TeX-fold-macro-spec-list, TeX-fold-env-spec-list,
>   and TeX-fold-math-spec-list apply to any AUCTeX mode.  If you want
>   to make settings which are only applied to LaTeX mode, you can use
>   the mode-specific variables LaTeX-fold-macro-spec-list,
>   LaTeX-fold-env-spec-list, and LaTeX-fold-math-spec-list
>
> So users should deduce from this that there is also
> `Texinfo-fold-env-spec-list', which is, optimistic.

Pfft.  Reading a manual?  Really?  I directly went to the 'Texinfo
mode' node in the appendix :-)

> Does something like
>
>    (setq Texinfo-fold-env-spec-list
>          '((1  ("macro"))
>            ...
>
> helps (which I didn't test)?

No – as expected:  For macros without arguments you get

```
[Error: No content found]
```

and for a macro with arguments like

```
@macro foo {bar, baz}
  ...
@end macro
```

you get

```
[bar, baz]
```

BTW, there is also a bug in the argument parser: In Texinfo mode,
arguments *must* be on the same (logical) line as `@macro`, contrary
to TeX's or LaTeX's macro definition.  However, a macro like

```
@macro logoLegalMacOSX
La @qq{imatge de la X} no és una marca registrada.
@end macro
```

gets shown as

```
[imatge de la X]
```

if I have

```
  '((1  ("macro"))
```

as the setting in `Texinfo-fold-env-spec-list`, which is wrong.
Assuming that this `1` is correct (which is not) it should show `[]`
instead, i.e., no arguments.

    Werner