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

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

Re: Error with fill-paragraph in my own major mode


From: Andreas Röhler
Subject: Re: Error with fill-paragraph in my own major mode
Date: Wed, 30 Jan 2008 22:15:42 +0100
User-agent: KMail/1.9.5

Am Mittwoch, 30. Januar 2008 17:41 schrieb Stefan Kamphausen:
> Hi,
>
> a good while back (actually I started this in 2004) I wrote a major
> mode to write articles for the (German) linux magazin ([1]).  This
> major mode can be found on my website at
>
> http://www.skamphausen.de/cgi-bin/ska/linmag-mode
>
> Today it has been brought to my attention that there is an error when
> one tries to fill a paragraph (M-q) using that major mode in Gnu Emacs
> 22.  Back then I wrote that mode in XEmacs, today I seem to be a Gnu
> Emacs user so I'd like to fix that issue.
>
> Hitting M-q leads to an error
> Args out of range: "", -1, 0
>
> Using debug-on-error and edebug I could track that error down to the
> following code in function fill-comment-paragraph in fill.el:
>
>   (if (string-match comment-start-skip (concat "\0" commark "a"))
>       (concat "[ \t]*" (regexp-quote commark)
>               ;; Make sure we only match comments that
>               ;; use the exact same comment marker.
>               "[^" (substring commark -1) "]")
>                    ^^^^^^^^^^^^^^^^^^^^^^
>
> I tried to understand the workings there but to no avail and I would
> appreciate any pointers to what I may be doing wrong in my major mode.
>
> To reproduce:
>
> * emacs -q
> * Load linmag-mode.el (M-x load-file)
> * Save the sample article from below ([2]) in a file with suffix
>   .linmag
> * Open the file, the buffer should be in linmag-mode.
> * Move to the lorem ispum text
> * Hit M-q.
> * Voila.
>
>
>
> Regards,
> stefan
>
...


Seems a clash with your comment-start setting.

Error occurs if form in line 871 from
`fill-comment-paragraph'

         "[^" (substring commark -1) "]")

is called.

A comment there says

,----
| 
|  The specialized regexp only works for "normal" comment
|               ;; syntax, not for Texinfo's "@c" (w
`----



BTW, when substring's `from' was set to 0, filling
worked. However, didn't check the results further,
other nasty things may happen than.

Andreas Röhler






reply via email to

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