Re: [PATCH] userdiff: add support for Emacs Lisp

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

 



Am 14.02.21 um 02:41 schrieb Ævar Arnfjörð Bjarmason:
Just a cursory "git log -p -- lisp" in emacs.git with your patch shows
e.g. lisp/thingatpt.el where forms in a "defun" aren't indented (before
it selects the "defun", after with yours it's a "put" in the middle of
the function).

Note that negative matches can be specified. We use the feature in the cpp case to exclude public:/protected:/private: and label: that happen to be not indented. Perhaps that can be useful here?

Oh, and BTW, what the patterns treat as "function" must not match what the language treats as function. The purpose of the hunk header is to spot a place in the source file easily. So, it does not hurt if eval-and-compile forms are captured (as was mentioned in the linked thread) if desired.


Yours also changes it from e.g.:

     @@ -61,7 +61,7 @@ forward-thing

to:

     @@ -61,7 +61,7 @@ (defun forward-thing (thing &optional n)

Is this really desired in elisp?

It's common practice to extract the entire line (sans indentation if applicable), not just the function name. Why would somebody want the latter? It doesn't carry as much information as could be possible.

I also note how our tests in
t4018-diff-funcname.sh are really bad in not testing for this at
all. I.e. we just test that we match the right line, not how we extract
a match from it.

Oh, well. These are "semi-automated" tests cases. If you have an idea how to achieve the goal without burdening test writers with lots of subtleties, be my guest. ;)


1. https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg00739.html


-- Hannes



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux