Subject: bug#13207: lisp-mnt.el improvements

From: Stefan Monnier <[email-masked]>
Date: Mon, 17 Dec 2012 12:58:48 -0500

> 1. Add function lm-homepage
>    (lm-header "\\(?:x-\\)?\\(?:homepage\\|url\\)")
>    These keywords are used quite often, most often without the X- prefix.

Sounds OK.

> 2. lm-section-end: the end is now always before the following
>    non-comment text
>    Many people don't add ;;; Code: after the header.  As a result
>    lm-commentary was often way of (like eof!) and lm-commentary returned
>    text that isn't part of the commentary but code.

Good.

> 3. lm-header, lm-header-multiline: wrap with save-match-data

This one doesn't sound right.  The callers should be fixed instead.

> 4. lm-header-multiline: continuation lines now need to be intended more
>    than the first line.  E.g:
>    ;; Keyword: value
>    ;;  more value
>    This is necessary because some built-in libraries contain things
>    like:
>    ;; Author: Kenichi HANDA <[email-masked]>
>    ;; (according to ack.texi)
>    And some third-party libraries contain things like:
>    ;; Keywords: key words
>    ;; This file is not part of Emacs
>    Among the 3500 packages mirrored on the Emacsmirror there are only
>    three where this change results in lines intended as continuation
>    lines not to be recognised anymore.  At the same time this change
>    fixes ~50 errors.

An important measure is how much breakage/improvement does it introduce
when applied to files that are expected to do thing right (e.g. files in
emacs/lisp and in elpa/packages).  I'm OK with making lisp-mnt.el more
forgiving, but it should not come at the cost of those packages that do
things right.

        Stefan