org-e-latex: Fix variable shadowing

* EXPERIMENTAL/org-e-latex.el (org-e-latex-table--format-string): Now
  accept three arguments.
(org-e-latex-table--align-string, org-e-latex-table): Distinguish
between the communication channel (INFO) and informations about
table (TABLE-INFO).
This commit is contained in:
Nicolas Goaziou 2012-01-22 22:00:44 +01:00
parent 711d2ef0e0
commit 32afb61b87
1 changed files with 12 additions and 11 deletions

View File

@ -1678,11 +1678,12 @@ contextual information."
;;;; Table
(defun org-e-latex-table--format-string (table info)
(defun org-e-latex-table--format-string (table table-info info)
"Return an appropriate format string for TABLE.
INFO is the plist containing format info about the table, as
returned by `org-export-table-format-info'.
TABLE-INFO is the plist containing format info about the table,
as returned by `org-export-table-format-info'. INFO is a plist
used as a communication channel.
The format string one placeholder for the body of the table."
(let* ((label (org-element-get-property :name table))
@ -1692,7 +1693,7 @@ The format string one placeholder for the body of the table."
(org-element-get-property :attr_latex table)
" "))
;; Determine alignment string.
(alignment (org-e-latex-table--align-string attr info))
(alignment (org-e-latex-table--align-string attr table-info))
;; Determine environment for the table: longtable, tabular...
(table-env (cond
((not attr) org-e-latex-default-table-environment)
@ -1748,20 +1749,20 @@ The format string one placeholder for the body of the table."
(concat (if org-e-latex-table-caption-above "" caption)
(format "\n\\end{%s}" float-env))))))))
(defun org-e-latex-table--align-string (attr info)
(defun org-e-latex-table--align-string (attr table-info)
"Return an appropriate LaTeX alignment string.
ATTR is a string containing table's LaTeX specific attributes.
INFO is the plist containing format info about the table, as
returned by `org-export-table-format-info'."
TABLE-INFO is the plist containing format info about the table,
as returned by `org-export-table-format-info'."
(or (and attr
(string-match "\\<align=\\(\\S-+\\)" attr)
(match-string 1 attr))
(let* ((align (copy-sequence (plist-get info :alignment)))
(colgroups (copy-sequence (plist-get info :column-groups)))
(let* ((align (copy-sequence (plist-get table-info :alignment)))
(colgroups (copy-sequence (plist-get table-info :column-groups)))
(cols (length align))
(separators (make-vector (1+ cols) "")))
;; Ignore the first column if it's special.
(when (plist-get info :special-column-p)
(when (plist-get table-info :special-column-p)
(aset align 0 "") (aset colgroups 0 nil))
(let ((col 0))
(mapc (lambda (el)
@ -1833,7 +1834,7 @@ CONTENTS is nil. INFO is a plist holding contextual information."
;; `org-element-parse-secondary-string' to expand any Org
;; object within. Eventually, flesh the format string out with
;; the table.
(format (org-e-latex-table--format-string table table-info)
(format (org-e-latex-table--format-string table table-info info)
(orgtbl-to-latex
(mapcar
(lambda (row)