branch: externals/phpinspect commit f8689ac9df54060294f21e4eab08e7147afaa10d Author: Hugo Thunnissen <de...@hugot.nl> Commit: Hugo Thunnissen <de...@hugot.nl>
Return parser function in stead of just the symbol --- phpinspect.el | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/phpinspect.el b/phpinspect.el index 7283de2836..5705221fd5 100644 --- a/phpinspect.el +++ b/phpinspect.el @@ -360,11 +360,12 @@ If a parser by TREE-TYPE doesn't exist, it is created by callng `phpinspect-make-parser` with TREE-TYPE as first argument and PARSER-PARAMETERS as the rest of the arguments. The resulting parser function is then returned in byte-compiled form." - (let ((parser-name (symbol-name tree-type))) - (or (intern-soft parser-name phpinspect-parser-obarray) - (defalias (intern parser-name phpinspect-parser-obarray) - (byte-compile (apply #'phpinspect-make-parser - `(,tree-type ,@parser-parameters))))))) + (let* ((parser-name (symbol-name tree-type)) + (parser-symbol (intern-soft parser-name phpinspect-parser-obarray))) + (or (and parser-symbol (symbol-function parser-symbol)) + (defalias (intern parser-name phpinspect-parser-obarray) + (byte-compile (apply #'phpinspect-make-parser + `(,tree-type ,@parser-parameters))))))) (defun phpinspect-purge-parser-cache () "Empty `phpinspect-parser-obarray`.