Function: verilog-modi-cache-results
verilog-modi-cache-results is a byte-compiled function defined in
verilog-mode.el.gz.
Signature
(verilog-modi-cache-results MODI FUNCTION)
Documentation
Run on MODI the given FUNCTION. Locate the module in a file.
Cache the output of function so next call may have faster access.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/verilog-mode.el.gz
(defun verilog-modi-cache-results (modi function)
"Run on MODI the given FUNCTION. Locate the module in a file.
Cache the output of function so next call may have faster access."
(let (fass)
(save-excursion ; Cache is buffer-local so can't avoid this.
(verilog-modi-goto modi)
(if (and (setq fass (assoc (list modi function)
verilog-modi-cache-list))
;; Destroy caching when incorrect; Modified or file changed
(not (and verilog-cache-enabled
(or (equal (buffer-chars-modified-tick) (nth 1 fass))
(and verilog-modi-cache-preserve-tick
(<= verilog-modi-cache-preserve-tick (nth 1 fass))
(equal verilog-modi-cache-preserve-buffer (current-buffer))))
(equal (visited-file-modtime) (nth 2 fass)))))
(setq verilog-modi-cache-list nil
fass nil))
(cond (fass
;; Return data from cache hit
(nth 3 fass))
(t
;; Read from file
;; Clear then restore any highlighting to make emacs19 happy
(let ((func-returns
(verilog-save-font-no-change-functions
(funcall function))))
;; Cache for next time
(setq verilog-modi-cache-list
(cons (list (list modi function)
(buffer-chars-modified-tick)
(visited-file-modtime)
func-returns)
verilog-modi-cache-list))
func-returns))))))