about summary refs log tree commit homepage
path: root/lib/PublicInbox/HlMod.pm
DateCommit message (Collapse)
2021-10-04hl_mod: don't memoize highlight::codeGenerator objects
Making them immortal doesn't seem worth it, since doing immortal allocations after process startup leads to fragmentation. While the allocations made by highlight are small, those small allocations can break up contiguous regions and prevent consolidation by the malloc implementation. Since instantiating code generators doesn't seem too expensive, just use and delete them ASAP.
2021-01-01update copyrights for 2021
Using "make update-copyrights" after setting GNULIB_PATH in my config.mak
2020-02-06treewide: run update-copyrights from gnulib for 2019
I didn't wait until September to do it, this year!
2019-09-26hlmod: update for highlight 3.51 API change
Quoting Amitai Schleier, who made this same change in ikiwiki[1], where lots of the public-inbox highlight code comes from: > As of 3.51, searchFile() is no longer provided in highlight's Perl > bindings (at least on NetBSD and OS X, as built from pkgsrc). This > leaves us falling through to getConfDir(), which has been gone > rather longer. > > From highlight git, it appears searchFile() and getFiletypesConfPath() > both originated in the 3.14 release. The latter is still available in > 3.51, and returns the same result searchFile() used to. Switch to it. So, this should still be compatible with the version of highlight.pm in Debian, but add support for newer versions as well. [1]: commit 4d06df9583e6c4145f8c6fc2fd51d7894c0b85ce Cc: Amitai Schleier <schmonz-web-ikiwiki@schmonz.com>
2019-02-05hlmod: support "```$LANG" blocks in text
This is compatible with Markdown; but we still keep the WYSIWYG nature of plain-text with this. This is only intended for use with our documentation. Enabling any type of Markdown support for emails can lead to incompatibilities or interopability problems with alternative implementations.
2019-02-05hlmod: do_hl* performs src_escape immediately
We want to be able to take advantage of this in other modules
2019-02-05hlmod: make into a singleton
It turns out there's no point in having multiple instances of this or having to worry about destruction or destruction ordering. This will make it easier to reuse the one instance we have across different modules.
2019-02-05hlmod: hoist out do_hl_lang sub
We'll want to use to support highlighting syntax used by Markdown and possibly other markup languages (while retaining the raw plain-text layout and formatting).
2019-02-05viewvcs: cleanup utf8 handling
Favor in-place utf8::decode since it's a bit faster without method dispatch overhead; and don't care about validity just yet. HlMod->do_hl itself should return "utf8" strings, since other parts of our code can use it, so it's not the job of ViewVCS to post-process HlMod output.
2019-01-27hlmod: disable enclosing <pre> tag
We already have a <pre> tag in ViewVCS, and nesting <pre> inside the pre-existing <pre> overrides the "white-space:pre" we use to align line numbers.
2019-01-21highlight: initial wrapper and PSGI service
I'll probably expose the PSGI service for cgit; but it could be useful to others as well.