GNU bug report logs - #54343
28.0.91; find-function goes to a wrong place for erc

Previous Next

Package: emacs;

Reported by: Lin Jian <jlin.dev <at> outlook.com>

Date: Fri, 11 Mar 2022 20:19:01 UTC

Severity: normal

Found in version 28.0.91

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: "J.P." <jp <at> neverwas.me>
To: Lin Jian <jlin.dev <at> outlook.com>
Cc: 54343 <at> debbugs.gnu.org
Subject: bug#54343: 28.0.91; find-function goes to a wrong place for erc
Date: Sat, 12 Mar 2022 00:27:25 -0800
"J.P." <jp <at> neverwas.me> writes:

> seems to work with emacs -Q. (That rx form is bogus, BTW; it doesn't
> retain the capture groups and probably has other bugs.)

You're probably way ahead of me here, but I thought it prudent to
reemphasize that evaluating that ugly demo expression is useless. If
trying to convince yourself that splicing in a "cl-" prefix may be
promising, please just modify the original `find-function-regexp' value
instead:

  ""^\\s-*(\\(\\(?:cl-\\)?def\\(ine-skeleton...."
                   ^

FWIW, this one may be slightly less atrocious:

  (let ((find-function-regexp
         (rx bol
             (* (syntax -))
             "("
             (group
              (| (: (? "cl-")
                    "def"
                    (group
                     (| "ine-skeleton"
                        "ine-generic-mode"
                        "ine-derived-mode"
                        (: "ine" (? "-global") "-minor-mode")
                        "ine-compilation-mode"
                        "un-cvs-mode"
                        "foo"
                        (: (| (not (in "icfgv")) (: "g" (not ?r)))
                           (+ (group (| word (syntax symbol))))
                           (? ?*)))))
                 (: "easy-mmode-define-" (+ (in (?a . ?z) ?-)))
                 "easy-menu-define"
                 "menu-bar-make-toggle"
                 "menu-bar-make-toggle-command"))
             (+ (| (syntax -) "\n" (: ";" (* nonl) "\n")))
             (? (group (| ?' "(quote "))) "%s"
             (group (| (syntax -) eol (in "()"))))))
    (find-function 'erc))




This bug report was last modified 3 years and 71 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.