branch: externals/phpinspect
commit f8689ac9df54060294f21e4eab08e7147afaa10d
Author: Hugo Thunnissen <[email protected]>
Commit: Hugo Thunnissen <[email protected]>
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`.