unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Error with fill-paragraph in my own major mode
@ 2008-01-30 16:41 Stefan Kamphausen
  2008-01-30 21:15 ` Andreas Röhler
  2008-01-30 21:49 ` Stefan Monnier
  0 siblings, 2 replies; 7+ messages in thread
From: Stefan Kamphausen @ 2008-01-30 16:41 UTC (permalink / raw)
  To: help-gnu-emacs

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



Footnotes: 
[1]  http://www.linux-magazin.de/
     The format is described (in German) on
     http://www.linux-magazin.de/heft_abo/autor_werden/format

[2]  Sample article text:
-snip-----------------------------------------------------------------
@#: ==================================================================
@#: ==                              HEAD                            ==
@#: ==================================================================
@R:Sample Rubric
@SW:Keyword

@D:Kicker
@T:This is the Title

@V: This is the lead text, kind of a teaser.
@A: The Author

@#: ==================================================================
@#:                                TEXT                             ==
@#: ==================================================================

@L: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mauris
non eros. Phasellus mattis. Nunc libero enim, condimentum non, mollis
vitae, facilisis in, urna. Vivamus sit amet sem vitae est tempor
imperdiet. Cras quam odio, fermentum condimentum, sodales ac,
facilisis quis, odio. Etiam cursus sem ac lacus. Vestibulum lobortis,
nulla id pellentesque pharetra, sapien nunc commodo leo, eget
fermentum odio orci non leo. Sed dictum, nisi sit amet mattis
ullamcorper, eros elit lobortis purus, ut blandit tortor lacus ut
orci. Mauris tincidunt metus at purus. Quisque commodo. Aliquam magna
sapien, rutrum sit amet, interdum ut, vehicula id, orci. 
-snip-----------------------------------------------------------------


-- 
Stefan Kamphausen --- http://www.skamphausen.de
a blessed +42 regexp of confusion (weapon in hand)
You hit. The format string crumbles and turns to dust.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-01-31 19:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-30 16:41 Error with fill-paragraph in my own major mode Stefan Kamphausen
2008-01-30 21:15 ` Andreas Röhler
2008-01-30 21:49 ` Stefan Monnier
2008-01-31  8:36   ` Stefan Kamphausen
2008-01-31 15:25     ` Stefan Monnier
2008-01-31 15:58       ` Stefan Kamphausen
2008-01-31 19:57         ` Stefan Monnier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).