all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* org-mode git master. ox-latex export errors out due to a table
@ 2015-11-02 17:05 Kaushal Modi
  2015-11-02 17:53 ` Nick Dokos
  0 siblings, 1 reply; 14+ messages in thread
From: Kaushal Modi @ 2015-11-02 17:05 UTC (permalink / raw)
  To: emacs-org list

[-- Attachment #1: Type: text/plain, Size: 18769 bytes --]

Hi,

I updated my copy of org-mode from git master after about 2-3 weeks. The
ox-latex export used to work fine but now it is failing due to something in
the tables I have in my .org files.  If I comment out those tables, the
ox-latex export works fine. Else it errors out due to (void-function nil)
error.

Here is one of such tables. The below is a MWE which can reproduce the
error I am seeing. The error occurs when I do "C-c C-e l l"

===== MWE =====

* Severity
#+CAPTION: Macros for reporting messages of different severities
#+NAME: tab__uvm_reporting_macros
|----------+------------------------------------------+-------------------|
| Severity | Macro                                    | Default Verbosity |
|----------+------------------------------------------+-------------------|
| Info     | =`uvm_info("ID", "Message", UVM_MEDIUM)= | No default        |
| Warning  | =`uvm_warning("ID", "Message")=          | =UVM_NONE=        |
| Error    | =`uvm_error("ID", "Message")=            | =UVM_NONE=        |
| Fatal    | =`uvm_fatal("ID", "Message")= [fn:1]     | =UVM_NONE=        |
|----------+------------------------------------------+-------------------|


* Footnotes
[fn:1] Simulation is quit when this macro is called


===== Backtrace =====

Debugger entered--Lisp error: (void-function nil)
  nil(((paragraph (:begin 740 :end 785 :contents-begin 740 :contents-end
785 :post-blank 0 :post-affiliated 740 :parent (footnote-definition (:label
"fn:1" :begin 733 :end 785 :contents-begin 740 :contents-end 785
:post-blank 0 :post-affiliated 733 :parent (section (:begin 733 :end 785
:contents-begin 733 :contents-end 785 :post-blank 0 :post-affiliated 733
:parent (headline ... #5)) #3)) #1)) #("Simulation is quit when this macro
is called\n" 0 45 (:parent #1)))))
  #[257 "\303 \300\"\2050 \301 \301\242B\240\210\304 \211;\203 \305\306
#\202# \307 A@ \"\266\202\310=\2050 \302\311 \300\"!\207" [(:export-options
nil :input-buffer "ox-latex-table-export-error.org" :input-file
"/home/kmodi/sandbox/org/ox-latex-table-export-error.org" :latex-class
"article" :latex-class-options nil :latex-header nil :latex-header-extra
nil :description nil :keywords nil :subtitle nil
:latex-active-timestamp-format "\\textit{%s}" :latex-caption-above (table)
:latex-classes (("article" "\\documentclass[11pt]{article}"
("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" .
"\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}") ("\\subparagraph{%s}" .
"\\subparagraph*{%s}")) ("report" "\\documentclass[11pt]{report}"
("\\part{%s}" . "\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" .
"\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))
("book" "\\documentclass[11pt]{book}" ("\\part{%s}" . "\\part*{%s}")
("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}"))) :latex-default-figure-position "H"
:latex-default-table-environment "tabular" :latex-default-table-mode table
:latex-diary-timestamp-format "\\textit{%s}" :latex-footnote-separator
"\\textsuperscript{,}\\," :latex-format-drawer-function #[514 "\207" [] 3
"\n\n(fn _ CONTENTS)"] :latex-format-headline-function
org-latex-format-headline-default-function
:latex-format-inlinetask-function
org-latex-format-inlinetask-default-function :latex-hyperref-template
"\\hypersetup{\n pdfauthor={%a},\n pdftitle={%t},\n pdfkeywords={%k},\n
pdfsubject={%d},\n pdfcreator={%c}, \n pdflang={%L}}\n"
:latex-image-default-height "" :latex-image-default-option ""
:latex-image-default-width ".9\\linewidth" ...) (((footnote-reference
(:label "fn:1" :type standard :begin 610 :end 616 :contents-begin nil
:contents-end nil :post-blank 0 :parent (table-cell (:begin 579 :end 622
:contents-begin 580 :contents-end 616 :post-blank 0 :parent ...) (verbatim
...) #4))))) nil org-export-footnote-first-reference-p :type
get-text-property 0 plist-get standard org-export-get-footnote-definition]
7 "\n\n(fn REF)"]((footnote-reference (:label "fn:1" :type standard :begin
610 :end 616 :contents-begin nil :contents-end nil :post-blank 0 :parent
(table-cell (:begin 579 :end 622 :contents-begin 580 :contents-end 616
:post-blank 0 :parent (table-row (:type standard :begin 567 :end 643
:contents-begin 568 :contents-end 642 :post-blank 0 :post-affiliated 567
:parent (table (:begin 12 :end 719 :type org :tblfm nil :contents-begin 111
:contents-end 719 :value nil :post-blank 0 :post-affiliated 111 :caption
... :name "tab__uvm_reporting_macros" :parent ...) (table-row ...)
(table-row ... ... ... ...) (table-row ...) (table-row ... ... ... ...)
(table-row ... ... ... ...) (table-row ... ... ... ...) #4 (table-row
...))) (table-cell (:begin 568 :end 579 :contents-begin 569 :contents-end
574 :post-blank 0 :parent #4) #("Fatal" 0 5 (:parent #5))) #2 (table-cell
(:begin 622 :end 642 :contents-begin 623 :contents-end 633 :post-blank 0
:parent #4) (verbatim (:value "UVM_NONE" :begin 623 :end 633 :post-blank 0
:parent #5))))) (verbatim (:value "`uvm_fatal(\"ID\", \"Message\")" :begin
580 :end 610 :post-blank 1 :parent #2)) #0))))
  #[257 "\211\211:\204 \211;\205 \311\262 \202 \211@9\205 \211@\262
?\206\247 \301\203- \312\301\313\">\206\247 \211\2049 \314\310\242
\"\202\247 \211\315=\203] \314\310\242 \211:\204N \316\262 \202Y \211@9\203Y
\211AA\262 \"\202\247 \211\304>\203~ \300 !\211\203} \302\203v \317\320
\"\210\202} \307 \307\242B\240\210\210\306\321=\203\271 ;\204\271 \211
\236A\211\203\270 \211@\310\242 \211;\203\247 \322\323 #\266\202\202\257
\312 A@ \"\266\202!\210 A\266\202\202\216 \210\303\203P \306\321=\203P \211
>\203P \211\203O \211@\211@ A \211;\203\346 \322\323 #\266\202\202\356 \312
A@ \"\266\202\211\203F \235\203/ \235\203 \324 !\211\203 \211@\310\242
A!\210\310\242 @!\210 A\266\202\202 \210\202F \310\242 A!\210\310\242
@!\210\202F \235\203A \314\310\242\324 !\"\210\202F \310\242 !\210\266
A\266\202\202\314 \210\211\305>\206\247 \211:\204b \316\262 \202m \211@9\203m
\211AA\262 ?\206\247 \306\325=\203 \211 >?\206\247 \306\326=\203\214 \211
>\206\247 \314\310\242 \211:\204\233 \316\262 \202\246 \211@9\203\246
\211AA\262 \"\207" [#[257 "\303 \300\"\2050 \301 \301\242B\240\210\304
\211;\203 \305\306 #\202# \307 A@ \"\266\202\310=\2050 \302\311
\300\"!\207" [(:export-options nil :input-buffer "
ox-latex-table-export-error.org" :input-file "/home/kmodi/sandbox/org/
ox-latex-table-export-error.org" :latex-class "article"
:latex-class-options nil :latex-header nil :latex-header-extra nil
:description nil :keywords nil :subtitle nil :latex-active-timestamp-format
"\\textit{%s}" :latex-caption-above (table) :latex-classes (("article"
"\\documentclass[11pt]{article}" ("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}") ("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")) ("report"
"\\documentclass[11pt]{report}" ("\\part{%s}" . "\\part*{%s}")
("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}")) ("book" "\\documentclass[11pt]{book}"
("\\part{%s}" . "\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" .
"\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}")))
:latex-default-figure-position "H" :latex-default-table-environment
"tabular" :latex-default-table-mode table :latex-diary-timestamp-format
"\\textit{%s}" :latex-footnote-separator "\\textsuperscript{,}\\,"
:latex-format-drawer-function #[514 "\207" [] 3 "\n\n(fn _ CONTENTS)"]
:latex-format-headline-function org-latex-format-headline-default-function
:latex-format-inlinetask-function
org-latex-format-inlinetask-default-function :latex-hyperref-template
"\\hypersetup{\n pdfauthor={%a},\n pdftitle={%t},\n pdfkeywords={%k},\n
pdfsubject={%d},\n pdfcreator={%c}, \n pdflang={%L}}\n"
:latex-image-default-height "" :latex-image-default-option ""
:latex-image-default-width ".9\\linewidth" ...) (((footnote-reference
(:label "fn:1" :type standard :begin 610 :end 616 :contents-begin nil
:contents-end nil :post-blank 0 :parent ...)))) nil
org-export-footnote-first-reference-p :type get-text-property 0 plist-get
standard org-export-get-footnote-definition] 7 "\n\n(fn REF)"]
(:export-options nil :input-buffer "ox-latex-table-export-error.org"
:input-file "/home/kmodi/sandbox/org/ox-latex-table-export-error.org"
:latex-class "article" :latex-class-options nil :latex-header nil
:latex-header-extra nil :description nil :keywords nil :subtitle nil
:latex-active-timestamp-format "\\textit{%s}" :latex-caption-above (table)
:latex-classes (("article" "\\documentclass[11pt]{article}"
("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" .
"\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}") ("\\subparagraph{%s}" .
"\\subparagraph*{%s}")) ("report" "\\documentclass[11pt]{report}"
("\\part{%s}" . "\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" .
"\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))
("book" "\\documentclass[11pt]{book}" ("\\part{%s}" . "\\part*{%s}")
("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}"))) :latex-default-figure-position "H"
:latex-default-table-environment "tabular" :latex-default-table-mode table
:latex-diary-timestamp-format "\\textit{%s}" :latex-footnote-separator
"\\textsuperscript{,}\\," :latex-format-drawer-function #[514 "\207" [] 3
"\n\n(fn _ CONTENTS)"] :latex-format-headline-function
org-latex-format-headline-default-function
:latex-format-inlinetask-function
org-latex-format-inlinetask-default-function :latex-hyperref-template
"\\hypersetup{\n pdfauthor={%a},\n pdftitle={%t},\n pdfkeywords={%k},\n
pdfsubject={%d},\n pdfcreator={%c}, \n pdflang={%L}}\n"
:latex-image-default-height "" :latex-image-default-option ""
:latex-image-default-width ".9\\linewidth" ...) nil nil
(footnote-reference) nil objects (nil) (#0) plain-text plist-get
:ignore-list mapc org-data nil throw :--map-first-match objects
get-text-property 0 reverse greater-elements elements
org-element-secondary-value-alist org-element-all-elements
org-element--parsed-properties-alist org-element-dual-keywords
org-element-multiple-keywords org-element-greater-elements
org-element-all-objects] 11 "\n\n(fn --DATA)"]((footnote-reference (:label
"fn:1" :type standard :begin 610 :end 616 :contents-begin nil :contents-end
nil :post-blank 0 :parent (table-cell (:begin 579 :end 622 :contents-begin
580 :contents-end 616 :post-blank 0 :parent (table-row (:type standard
:begin 567 :end 643 :contents-begin 568 :contents-end 642 :post-blank 0
:post-affiliated 567 :parent (table (:begin 12 :end 719 :type org :tblfm
nil :contents-begin 111 :contents-end 719 :value nil :post-blank 0
:post-affiliated 111 :caption ... :name "tab__uvm_reporting_macros" :parent
...) (table-row ...) (table-row ... ... ... ...) (table-row ...) (table-row
... ... ... ...) (table-row ... ... ... ...) (table-row ... ... ... ...) #4
(table-row ...))) (table-cell (:begin 568 :end 579 :contents-begin 569
:contents-end 574 :post-blank 0 :parent #4) #("Fatal" 0 5 (:parent #5))) #2
(table-cell (:begin 622 :end 642 :contents-begin 623 :contents-end 633
:post-blank 0 :parent #4) (verbatim (:value "UVM_NONE" :begin 623 :end 633
:post-blank 0 :parent #5))))) (verbatim (:value "`uvm_fatal(\"ID\",
\"Message\")" :begin 580 :end 610 :post-blank 1 :parent #2)) #0))))
  mapc(#[257 "\211\211:\204 \211;\205 \311\262 \202 \211@9\205 \211@\262
?\206\247 \301\203- \312\301\313\">\206\247 \211\2049 \314\310\242
\"\202\247 \211\315=\203] \314\310\242 \211:\204N \316\262 \202Y \211@9\203Y
\211AA\262 \"\202\247 \211\304>\203~ \300 !\211\203} \302\203v \317\320
\"\210\202} \307 \307\242B\240\210\210\306\321=\203\271 ;\204\271 \211
\236A\211\203\270 \211@\310\242 \211;\203\247 \322\323 #\266\202\202\257
\312 A@ \"\266\202!\210 A\266\202\202\216 \210\303\203P \306\321=\203P \211
>\203P \211\203O \211@\211@ A \211;\203\346 \322\323 #\266\202\202\356 \312
A@ \"\266\202\211\203F \235\203/ \235\203 \324 !\211\203 \211@\310\242
A!\210\310\242 @!\210 A\266\202\202 \210\202F \310\242 A!\210\310\242
@!\210\202F \235\203A \314\310\242\324 !\"\210\202F \310\242 !\210\266
A\266\202\202\314 \210\211\305>\206\247 \211:\204b \316\262 \202m \211@9\203m
\211AA\262 ?\206\247 \306\325=\203 \211 >?\206\247 \306\326=\203\214 \211
>\206\247 \314\310\242 \211:\204\233 \316\262 \202\246 \211@9\203\246
\211AA\262 \"\207" [#[257 "\303 \300\"\2050 \301 \301\242B\240\210\304
\211;\203 \305\306 #\202# \307 A@ \"\266\202\310=\2050 \302\311
\300\"!\207" [(:export-options nil :input-buffer "
ox-latex-table-export-error.org" :input-file "/home/kmodi/sandbox/org/
ox-latex-table-export-error.org" :latex-class "article"
:latex-class-options nil :latex-header nil :latex-header-extra nil
:description nil :keywords nil :subtitle nil :latex-active-timestamp-format
"\\textit{%s}" :latex-caption-above (table) :latex-classes (("article"
"\\documentclass[11pt]{article}" ("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}") ("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")) ("report"
"\\documentclass[11pt]{report}" ("\\part{%s}" . "\\part*{%s}")
("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}")) ("book" "\\documentclass[11pt]{book}"
("\\part{%s}" . "\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" .
"\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}")))
:latex-default-figure-position "H" :latex-default-table-environment
"tabular" :latex-default-table-mode table :latex-diary-timestamp-format
"\\textit{%s}" :latex-footnote-separator "\\textsuperscript{,}\\,"
:latex-format-drawer-function #[514 "\207" [] 3 "\n\n(fn _ CONTENTS)"]
:latex-format-headline-function org-latex-format-headline-default-function
:latex-format-inlinetask-function
org-latex-format-inlinetask-default-function :latex-hyperref-template
"\\hypersetup{\n pdfauthor={%a},\n pdftitle={%t},\n pdfkeywords={%k},\n
pdfsubject={%d},\n pdfcreator={%c}, \n pdflang={%L}}\n"
:latex-image-default-height "" :latex-image-default-option ""
:latex-image-default-width ".9\\linewidth" ...) (((footnote-reference
(:label "fn:1" :type standard :begin 610 :end 616 :contents-begin nil
:contents-end nil :post-blank 0 :parent ...)))) nil
org-export-footnote-first-reference-p :type get-text-property 0 plist-get
standard org-export-get-footnote-definition] 7 "\n\n(fn REF)"]
(:export-options nil :input-buffer "ox-latex-table-export-error.org"
:input-file "/home/kmodi/sandbox/org/ox-latex-table-export-error.org"
:latex-class "article" :latex-class-options nil :latex-header nil
:latex-header-extra nil :description nil :keywords nil :subtitle nil
:latex-active-timestamp-format "\\textit{%s}" :latex-caption-above (table)
:latex-classes (("article" "\\documentclass[11pt]{article}"
("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" .
"\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}") ("\\subparagraph{%s}" .
"\\subparagraph*{%s}")) ("report" "\\documentclass[11pt]{report}"
("\\part{%s}" . "\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" .
"\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))
("book" "\\documentclass[11pt]{book}" ("\\part{%s}" . "\\part*{%s}")
("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" .
"\\subsubsection*{%s}"))) :latex-default-figure-position "H"
:latex-default-table-environment "tabular" :latex-default-table-mode table
:latex-diary-timestamp-format "\\textit{%s}" :latex-footnote-separator
"\\textsuperscript{,}\\," :latex-format-drawer-function #[514 "\207" [] 3
"\n\n(fn _ CONTENTS)"] :latex-format-headline-function
org-latex-format-headline-default-function
:latex-format-inlinetask-function
org-latex-format-inlinetask-default-function :latex-hyperref-template
"\\hypersetup{\n pdfauthor={%a},\n pdftitle={%t},\n pdfkeywords={%k},\n
pdfsubject={%d},\n pdfcreator={%c}, \n pdflang={%L}}\n"
:latex-image-default-height "" :latex-image-default-option ""
:latex-image-default-width ".9\\linewidth" ...) nil nil
(footnote-reference) nil objects (nil) (#0) plain-text plist-get
:ignore-list mapc org-data nil throw :--map-first-match objects
get-text-property 0 reverse greater-elements elements
org-element-secondary-value-alist org-element-all-elements
org-element--parsed-properties-alist org-element-dual-keywords
org-element-multiple-keywords org-element-greater-elements
org-element-all-objects] 11 "\n\n(fn --DATA)"] ((verbatim (:value
"`uvm_fatal(\"ID\", \"Message\")" :begin 580 :end 610 :post-blank 1 :parent
(table-cell (:begin 579 :end 622 :contents-begin 580 :contents-end 616
:post-blank 0 :parent (table-row (:type standard :begin 567 :end 643
:contents-begin 568 :contents-end 642 :post-blank 0 :post-affiliated 567
:parent (table ... ... ... ... ... ... ... #5 ...)) (table-cell (:begin 568
:end 579 :contents-begin 569 :contents-end 574 :post-blank 0 :parent #5)
#("Fatal" 0 5 ...)) #3 (table-cell (:begin 622 :end 642 :contents-begin 623
:contents-end 633 :post-blank 0 :parent #5) (verbatim ...)))) #1
(footnote-reference (:label "fn:1" :type standard :begin 610 :end 616
:contents-begin nil :contents-end nil :post-blank 0 :parent #3)))))
(footnote-reference (:label "fn:1" :type standard :begin 610 :end 616
:contents-begin nil :contents-end nil :post-blank 0 :parent (table-cell
(:begin 579 :end 622 :contents-begin 580 :contents-end 616 :post-blank 0
:parent (table-row (:type standard :begin 567 :end 643 :contents-begin 568
:contents-end 642 :post-blank 0 :post-affiliated 567 :parent (table ... ...
... ... ... ... ... #5 ...)) (table-cell (:begin 568 :end 579
:contents-begin 569 :contents-end 574 :post-blank 0 :parent #5) #("Fatal" 0
5 ...)) #3 (table-cell (:begin 622 :end 642 :contents-begin 623
:contents-end 633 :post-blank 0 :parent #5) (verbatim ...)))) (verbatim
(:value "`uvm_fatal(\"ID\", \"Message\")" :begin 580 :end 610 :post-blank 1
:parent #3)) #1)))))

--
Kaushal Modi

[-- Attachment #2: Type: text/html, Size: 22728 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-11-02 21:57 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-02 17:05 org-mode git master. ox-latex export errors out due to a table Kaushal Modi
2015-11-02 17:53 ` Nick Dokos
2015-11-02 18:06   ` Kaushal Modi
2015-11-02 18:10     ` Kaushal Modi
2015-11-02 18:19       ` Kaushal Modi
2015-11-02 18:34         ` Kaushal Modi
2015-11-02 18:57           ` Nick Dokos
2015-11-02 19:25             ` Nick Dokos
2015-11-02 19:40               ` Kaushal Modi
2015-11-02 20:01             ` Nicolas Goaziou
2015-11-02 21:56               ` Kaushal Modi
2015-11-02 18:38         ` Nick Dokos
2015-11-02 18:48           ` Kaushal Modi
2015-11-02 18:34     ` Nick Dokos

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.