emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Re: Error "while: Stack overflow in regexp matcher"


From: Sébastien Vauban
Subject: [Orgmode] Re: Error "while: Stack overflow in regexp matcher"
Date: Thu, 03 Sep 2009 09:54:11 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Hi Carsten,

Carsten Dominik wrote:
> On Sep 2, 2009, at 6:05 PM, Sébastien Vauban wrote:
>> Carsten Dominik wrote:
>>> On Jul 15, 2009, at 11:12 AM, Sébastien Vauban wrote:
>>>>
>>>> I'm trying to publish my `.emacs' file onto the Web, for interested people
>>>> to come and copy stuff they find valuable. My turn to do it.
>>>>
>>>> But, now, I wanna do it... and I've always an error when trying to
>>>> publish my config file: "while: Stack overflow in regexp matcher".
>>>
>>> Sebastien has now (off-list) made it possible for me to reproduce this
>>> bug. Which is why it finally has been fixed.
>>
>> Thank you very much. This works as expected [²]. Fan-tas-tic!
>>
>> Thanks for all,
>>  Seb
>>
>> [²] The only minor thing -- this is a small detail! -- is that my buffer
>>     uses `outline-minor-mode' and Org-level-* titles in comments (based on
>>     the code of Tassilo) for enhancing the readability of any long file
>>     (here, my `.emacs').
>>
>>     While these titles are properly highlighted (other color, bigger font)
>>     when read under Emacs, they are not in the HTMLized version of the
>>     buffer.
>>
>> --8<---------------cut here---------------start------------->8---
>>    ;;** --[ Environment ]---------------------
>> --8<---------------cut here---------------end--------------->8---
>>
>>    simply becomes:
>>
>> --8<---------------cut here---------------start------------->8---
>> <span style="color: #ff0000;">;;</span>
>> <span style="color: #ff0000;">** --
>> [ Environment ]---------------------</span>
>> --8<---------------cut here---------------end--------------->8---
>>
>>    in HTML, while it should be fontified as the Org-level-1 face:
>>
>> --8<---------------cut here---------------start------------->8---
>>    (org-level-1 ((t (:foreground "cornflower blue" :weight bold
>>    :height 1.8 :family "Arial"))))
>> --8<---------------cut here---------------end--------------->8---
>
> What is the setup for getting this special fontification?

Having such a code in your `.emacs' file:

--8<---------------cut here---------------start------------->8---
;; Org-style folding for a `.emacs' (and much more)

(defun my-outline-regexp ()
  "Calculate the outline regexp for the current mode."
  (let ((comment-starter (replace-regexp-in-string
                          "[[:space:]]+" "" comment-start)))
    (when (string= comment-start ";")
      (setq comment-starter ";;"))
    (concat comment-starter "[*]+ ")))

(defun my-outline-minor-mode-hook ()
  (interactive)
  (setq outline-regexp (my-outline-regexp))

  ;; highlight the headings
  (let ((heading-1-regexp
          (concat (substring outline-regexp 0 -1) "\\{1\\} \\(.*\\)"))
        (heading-2-regexp
          (concat (substring outline-regexp 0 -1) "\\{2\\} \\(.*\\)"))
        (heading-3-regexp
          (concat (substring outline-regexp 0 -1) "\\{3\\} \\(.*\\)"))
        (heading-4-regexp
          (concat (substring outline-regexp 0 -1) "\\{4,\\} \\(.*\\)")))
    (font-lock-add-keywords
     nil
     `((,heading-1-regexp 1 'org-level-1 t)
       (,heading-2-regexp 1 'org-level-2 t)
       (,heading-3-regexp 1 'org-level-3 t)
       (,heading-4-regexp 1 'org-level-4 t)))))

(add-hook 'outline-minor-mode-hook
          'my-outline-minor-mode-hook)
--8<---------------cut here---------------end--------------->8---


> How do you activate it?  In a mode hook?

... and adding "outline-minor" as a cookie or local variable in the file where
you want to use the `org-level-*' titles.

In my case, I have this at the bottom of my `.emacs' file:

--8<---------------cut here---------------start------------->8---
;; This is for the sake of Emacs.
;; Local Variables:
;; coding: utf-8
;; mode: emacs-lisp
;; mode: outline-minor
;; ispell-local-dictionary: "american"
;; End:

;;; .emacs ends here
--8<---------------cut here---------------end--------------->8---

Now, you can add `;;*' and `;;**', etc. as headings in your `.emacs' and cycle
using `M-tab', `M-left' and `M-right' will collapse or expand all headings
respectively.

See the thread "Org-style folding for a .emacs" discussed here in mid-July:

http://www.mail-archive.com/address@hidden/msg15439.html


> Org just sets the proper mode to get the fontification, so
> I do not understand why this would not work.

Best regards,
  Seb

-- 
Sébastien Vauban





reply via email to

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