Hello all, This is v2 of the patch I sent to add userdiff support to Scheme. I have modified my approach to be more inclusive of as many Schemes as possible and thus added many more forms. Since Ævar suggested we veer on the side of inclusion when talking about the Gerbil scheme syntax, I felt it made sense to extend the driver to include common, but non-standard extensions of Scheme, including the forms of Racket and Guile. Forms added since last patch: - Variants of define such as def, defsyntax etc as suggested by Phillip and the other reviewers. - The library form of R6RS, as well as module definitions of Racket, Gerbil and Guile. * These forms were added on the recommendation of Göran Weinholt, creator of the Akku scheme package manager and the Loko Scheme implementation: https://groups.google.com/g/comp.lang.scheme/c/Aczn0TNEr5g/m/Jq3AlKvZBgAJ - The Racket forms for defining structs and classes. I have restricted the "def" forms to only certain keywords, so that it does not over-match to words like "deflate", "deform", "defer" etc. I have also allowed the use of "/" after a define or def form, as some scheme code uses it as a convention for defines in a certain context, such as Racket's "define/public". I have also fixed some a test case which had a redundant "ChangeMe". Finally in the word regex, which has been simplified a lot, while retaining the same functioning after taking into account Junio's suggestions. Atharva Raykar (1): userdiff: add support for Scheme Documentation/gitattributes.txt | 2 ++ t/t4018-diff-funcname.sh | 1 + t/t4018/scheme-class | 7 +++++++ t/t4018/scheme-def | 4 ++++ t/t4018/scheme-def-variant | 4 ++++ t/t4018/scheme-define-slash-public | 7 +++++++ t/t4018/scheme-define-syntax | 8 ++++++++ t/t4018/scheme-define-variant | 4 ++++ t/t4018/scheme-library | 11 +++++++++++ t/t4018/scheme-local-define | 4 ++++ t/t4018/scheme-module | 6 ++++++ t/t4018/scheme-top-level-define | 4 ++++ t/t4018/scheme-user-defined-define | 6 ++++++ t/t4034-diff-words.sh | 1 + t/t4034/scheme/expect | 10 ++++++++++ t/t4034/scheme/post | 5 +++++ t/t4034/scheme/pre | 5 +++++ userdiff.c | 4 ++++ 18 files changed, 93 insertions(+) create mode 100644 t/t4018/scheme-class create mode 100644 t/t4018/scheme-def create mode 100644 t/t4018/scheme-def-variant create mode 100644 t/t4018/scheme-define-slash-public create mode 100644 t/t4018/scheme-define-syntax create mode 100644 t/t4018/scheme-define-variant create mode 100644 t/t4018/scheme-library create mode 100644 t/t4018/scheme-local-define create mode 100644 t/t4018/scheme-module create mode 100644 t/t4018/scheme-top-level-define create mode 100644 t/t4018/scheme-user-defined-define create mode 100644 t/t4034/scheme/expect create mode 100644 t/t4034/scheme/post create mode 100644 t/t4034/scheme/pre -- 2.31.1