help-gnu-emacs
[Top][All Lists]
Advanced

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

Setting up user defined texinfo headlines using outline-heading-alist


From: Christopher Dimech
Subject: Setting up user defined texinfo headlines using outline-heading-alist
Date: Thu, 13 May 2021 17:10:14 +0200

I have followed your suggestion of using a function that sets 
outline-heading-alist
using texinfo-mode-hook. 

Have included the following setup (see code section), yet I am still getting 

@node uchapter-amcoh
@unnumbered 6 @ Ameliorating Waveform Coherency...

whenever I hit  "C-C @ C-t" (Hide Body).  Should I not get @usec and @usubsec
showing up as well?


-------- code --------

(defvar texinfo-hdlevels
      '( ("@chapter" . 2)
         ("@section" . 3)
         ("@subsection" . 4)
         ("@subsubsection" . 5)
         ;; --------------------------------------------------
         ("@unnumbered" . 2)
         ("@unnumberedsec" . 3)
         ("@unnumberedsubsec" . 4)
         ("@unnumberedsubsubsec" . 5)
         ;; --------------------------------------------------
         ("@appendix" . 2)
         ("@appendixsec" . 3)
         ("@appendixsubsec" . 4)
         ("@appendixsubsubsec" . 5)
         ;; --------------------------------------------------
         ("@majorheading" 2)
         ;; --------------------------------------------------
         ("@chapheading" 2)
         ("@heading" 3)
         ("@subheading" 4)
         ("@subsubheading" 5)
         ;; --------------------------------------------------
         ("@uchap" . 2)
         ("@usec" . 2)
         ("@usubsec" . 3)
         ("@usubsubsec" . 4) ))

(defun instate-texinfo-hdlevels ()
    (setq-local outline-heading-alist texinfo-hdlevels))

(defun texinfo-hdlevels-hook ()
  "todo"
  (add-hook 'texinfo-mode-hook #'instate-texinfo-hdlevels))

(defun outline-hooks ()
   "todo"
   (add-hook 'emacs-lisp-mode-hook #'outline-minor-mode)
   (add-hook 'texinfo-mode-hook #'outline-minor-mode) )

(outline-hooks)
(texinfo-hdlevels-hook)

Regards
Christopher

> Sent: Friday, May 14, 2021 at 1:26 AM
> From: "Yuri Khan" <yuri.v.khan@gmail.com>
> To: "Christopher Dimech" <dimech@gmx.com>
> Cc: "Help Gnu Emacs" <help-gnu-emacs@gnu.org>
> Subject: Re: Setting up user defined texinfo headlines using 
> outline-heading-alist
>
> On Thu, 13 May 2021 at 19:46, Christopher Dimech <dimech@gmx.com> wrote:
> 
> […]
> 
> Ha! Much better.
> 
> > Have modified my init file with the following code that resets 
> > "outline-heading-alist"
> > to include @usec, @usebsec as headings in addition to @unnumbered
> >
> > (defvar texinfo-hdlevels […])
> >
> > (setq-local outline-heading-alist texinfo-hdlevels)
> 
> If that’s all that you have in your init file, then the setq-local
> acts on the wrong buffer. It sets the local value of the variable
> ‘outline-heading-alist’ in whichever buffer that is current at the
> time your init file is executed, maybe *scratch* or something. But you
> actually want it to act on the buffer that visits your test.texi file.
> 
> To that end, put that setq-local in a hook that runs when you visit a
> .texi file:
> 
> (defun my-texinfo-outline ()
>   (setq-local outline-heading-alist texinfo-hdlevels))
> 
> (add-hook 'texinfo-mode-hook #'my-texinfo-outline)
> 
> This is a recurring pattern in Emacs configuration: If you have a
> general facility that works in various buffers regardless of their
> major mode, and you want it to behave differently depending on the
> major mode, you put configuration in a hook that is run by that major
> mode.
> 
>



reply via email to

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