Code

Merge branch 'js/ls-tree-error' into maint
[git.git] / userdiff.c
index 42b86ac63d734280ac85ea829a910c4aa375dfcd..01d3a8b81e628b0a088e3e9fc0ca59acf7d9c58d 100644 (file)
@@ -74,7 +74,7 @@ PATTERNS("perl",
                "(:[^;#]*)?"
                "(\\{[ \t]*)?" /* brace can come here or on the next line */
                "(#.*)?$\n" /* comment */
-        "^[A-Z]+[ \t]*"        /* BEGIN, END, ... */
+        "^(BEGIN|END|INIT|CHECK|UNITCHECK|AUTOLOAD|DESTROY)[ \t]*"
                "(\\{[ \t]*)?" /* brace can come here or on the next line */
                "(#.*)?$\n"
         "^=head[0-9] .*",      /* POD */
@@ -281,3 +281,20 @@ struct userdiff_driver *userdiff_find_by_path(const char *path)
                return NULL;
        return userdiff_find_by_name(check.value);
 }
+
+struct userdiff_driver *userdiff_get_textconv(struct userdiff_driver *driver)
+{
+       if (!driver->textconv)
+               return NULL;
+
+       if (driver->textconv_want_cache && !driver->textconv_cache) {
+               struct notes_cache *c = xmalloc(sizeof(*c));
+               struct strbuf name = STRBUF_INIT;
+
+               strbuf_addf(&name, "textconv/%s", driver->name);
+               notes_cache_init(c, name.buf, driver->textconv);
+               driver->textconv_cache = c;
+       }
+
+       return driver;
+}