summaryrefslogtreecommitdiff
path: root/script-beta
diff options
context:
space:
mode:
Diffstat (limited to 'script-beta')
-rw-r--r--script-beta/parser/guide.lua13
1 files changed, 9 insertions, 4 deletions
diff --git a/script-beta/parser/guide.lua b/script-beta/parser/guide.lua
index 8058328c..d5f16486 100644
--- a/script-beta/parser/guide.lua
+++ b/script-beta/parser/guide.lua
@@ -3554,10 +3554,7 @@ function m.searchInfer(status, obj)
obj = value
end
- local cache, makeCache
- if status.deep then
- cache, makeCache = m.getRefCache(status, obj, 'infer')
- end
+ local cache, makeCache = m.getRefCache(status, obj, 'infer')
if cache then
for i = 1, #cache do
status.results[#status.results+1] = cache[i]
@@ -3569,6 +3566,14 @@ function m.searchInfer(status, obj)
status.cache.clock = status.cache.clock or osClock()
end
+ if not status.cache.lockInfer then
+ status.cache.lockInfer = {}
+ end
+ if status.cache.lockInfer[obj] then
+ return
+ end
+ status.cache.lockInfer[obj] = true
+
local checked = m.inferCheckDoc(status, obj)
or m.inferCheckUpDoc(status, obj)
or m.inferCheckFieldDoc(status, obj)