ox: Small fix to cell width caching mechanism

* lisp/ox.el (org-export-table-cell-width): Be sure to use cache even
  when stored value is nil.
This commit is contained in:
Nicolas Goaziou 2013-05-20 11:33:11 +02:00
parent aafb2d2b46
commit 4daf9d60d9
1 changed files with 20 additions and 20 deletions

View File

@ -4481,9 +4481,9 @@ same column as TABLE-CELL, or nil."
(plist-put info :table-cell-width-cache
(make-hash-table :test 'equal)))
:table-cell-width-cache)))
(key (cons table column)))
(or (let ((cached (gethash key cache 'no-result)))
(and (not (eq cached 'no-result)) cached))
(key (cons table column))
(value (gethash key cache 'no-result)))
(if (not (eq value 'no-result)) value
(let (cookie-width)
(dolist (row (org-element-contents table)
(puthash key cookie-width cache))
@ -4492,8 +4492,8 @@ same column as TABLE-CELL, or nil."
(let* ((value (org-element-contents
(elt (org-element-contents row) column)))
(cookie (car value)))
;; The following checks avoid expanding unnecessarily the
;; cell with `org-export-data'
;; The following checks avoid expanding unnecessarily
;; the cell with `org-export-data'.
(when (and value
(not (cdr value))
(stringp cookie)