Function: fast-lock-save-cache-1

fast-lock-save-cache-1 is a byte-compiled function defined in fast-lock.el.gz.

Signature

(fast-lock-save-cache-1 FILE TIMESTAMP)

Source Code

;; Defined in /usr/src/emacs/lisp/obsolete/fast-lock.el.gz
;; Font Lock Cache Processing Functions:

;; The version 3 format of the cache is:
;;
;; (fast-lock-cache-data VERSION TIMESTAMP
;;  font-lock-syntactic-keywords SYNTACTIC-PROPERTIES
;;  font-lock-keywords FACE-PROPERTIES)

(defun fast-lock-save-cache-1 (file timestamp)
  ;; Save the FILE with the TIMESTAMP plus fontification data.
  ;; Returns non-nil if a save was attempted to a writable cache file.
  (let ((tpbuf (generate-new-buffer " *fast-lock*"))
	(verbose (if (numberp fast-lock-verbose)
		     (> (buffer-size) fast-lock-verbose)
		   fast-lock-verbose))
	(saved t))
    (with-temp-message
	(when verbose
	  (format "Saving %s font lock cache..." (buffer-name)))
      (condition-case nil
	  (save-excursion
	    (print (list 'fast-lock-cache-data 3
			 (list 'quote timestamp)
			 (list 'quote font-lock-syntactic-keywords)
			 (list 'quote (fast-lock-get-syntactic-properties))
			 (list 'quote font-lock-keywords)
			 (list 'quote (fast-lock-get-face-properties)))
		   tpbuf)
	    (set-buffer tpbuf)
	    (write-region (point-min) (point-max) file nil 'quietly)
	    (setq fast-lock-cache-timestamp timestamp
		  fast-lock-cache-filename file))
	(error (setq saved 'error)) (quit (setq saved 'quit)))
      (kill-buffer tpbuf))
    (cond ((eq saved 'quit)
	   (message "Saving %s font lock cache...quit" (buffer-name)))
	  ((eq saved 'error)
	   (message "Saving %s font lock cache...failed" (buffer-name))))
    ;; We return non-nil regardless of whether a failure occurred.
    saved))