branch: externals/guess-language commit e13f5a9c10b8560d3fb9c7808af2208271ee25ab Author: Titus von der Malsburg <malsb...@posteo.de> Commit: Titus von der Malsburg <malsb...@posteo.de>
(Re)compile regexps when necessary. Only on demand, not at load time. --- guess-language.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/guess-language.el b/guess-language.el index 68dcafc..75baf6d 100644 --- a/guess-language.el +++ b/guess-language.el @@ -43,6 +43,9 @@ languages are: :type 'integer :group 'guess-language) +(defvar guess-language-regexps nil + "The regular expressions that are used to count trigrams.") + (defun guess-language-load-trigrams () (cl-loop for lang in guess-language-languages @@ -59,9 +62,9 @@ languages are: for regexp = (concat "\\(" regexp "\\)") collect (cons (car lang) regexp)))) -(with-eval-after-load "guess-language" (guess-language-compile-regexps)) - (defun guess-language (beginning end) + (unless guess-language-regexps + (guess-language-compile-regexps)) (when (cl-set-exclusive-or guess-language-languages (mapcar #'car guess-language-regexps)) (guess-language-compile-regexps)) (let ((tally (cl-loop