bug-auctex
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Ralf Angeli
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@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-auctex







reply via email to

[Prev in Thread] Current Thread [Next in Thread]