GNU bug report logs - #63444
folding mode for Texinfo doesn't work reliably

Previous Next

Package: auctex;

Reported by: Werner LEMBERG <wl <at> gnu.org>

Date: Thu, 11 May 2023 12:00:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Ralf Angeli <dev.null <at> caeruleus.net>
To: 63444 <at> debbugs.gnu.org
Subject: bug#63444: folding mode for Texinfo doesn't work reliably
Date: Sun, 14 May 2023 11:44:57 +0200
On 13/05/2023 21.02, Arash Esbati wrote:

>    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. But before fixing
> the manual, I wonder what the idea behind the implementation is: The
> variables are not custom variables, so in order to make
> `Texinfo-fold-env-spec-list' for example to work, one has to setq it.
> I'm CC'ing Ralf who wrote the code, maybe he can remember the idea
> behind it.
> 
> @Ralf: The code was introduced with commit ae2fcc1685.  Do you still
> remember the idea behind the part:
> 
> +		       (let ((symbol (intern (format "%s-fold-%s-spec-list"
> +						     (TeX-mode-prefix) elt))))
> +			 (when (boundp symbol)
> +			   (symbol-value symbol)))))))
> 
> If I get it right, things like `Texinfo-fold-env-spec-list' should be
> custom variables; otherwise I'd use `intern-soft' above and slightly
> adjust the test.
> 
>> This helps, thanks.  However, there are some issues.
>>
>> * I tried to set
>>
>>    ```
>>    (setq Texinfo-fold-env-spec-list
>>          '(("[macro]"  ("macro"))
>>            ...
>>    ```
>>
>>    This converts
>>
>>    ```
>>    @macro foo {bar, baz}
>>      ...
>>    @end macro
>>    ```
>>
>>    into
>>
>>    ```
>>    [macro]
>>    ```
>>
>>    which is not very helpful.  Is there a way to get
>>
>>    ```
>>    [macro foo]
>>    ```
>>
>>    instead?
> 
> Does something like
> 
>     (setq Texinfo-fold-env-spec-list
>           '((1  ("macro"))
>             ...
> 
> helps (which I didn't test)?
> 
>> * There is no example for
>>
>>      If the first element is a function symbol, the function will be
>>      called with all mandatory arguments of the macro and the result of
>>      the function call will be used as a replacement for the macro.
>>
>>    Additionally, this documentation paragraph confuses me: Are the
>>    'mandatory arguments' passed as plain strings arguments?  Or a list
>>    of strings?  Or something else?
> 
> I'd like to pass this question to Ralf as well; otherwise I have to read
> and understand the code (which I've never used for any mode in my life).
> 
>> * `Texinfo-fold-type-list` is missing – or not documented.
>>
>> * In combination with the last item, it seems that there are no
>>    folding defaults for Texinfo mode.  Maybe it makes sense to have the
>>    same default as with other TeX modes, i.e., folding macros and
>>    environments.
> 
> See above.  I think we can change/expand this once we have a course of
> action, i.e., introduce a custom variable `Texinfo-fold-type-list' and
> preset it with whatever you think is appropriate.
> 
> Best, Arash
> 
> 
> 
> _______________________________________________
> bug-auctex mailing list
> bug-auctex <at> gnu.org
> https://lists.gnu.org/mailman/listinfo/bug-auctex






This bug report was last modified 1 year and 314 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.