all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [BUG] "args out of range" on link heading completion [9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)]
@ 2021-10-20  8:36 Carlos Pita
  0 siblings, 0 replies; 10+ messages in thread
From: Carlos Pita @ 2021-10-20  8:36 UTC (permalink / raw)
  To: emacs-orgmode

Hi,

when I try to autocomplete a heading inside a link I get:

    completion--some: Args out of range: #("*hea" 0 1 (fontified t
    help-echo "LINK: *head" htmlize-link (:uri "*head") rear-nonsticky
    (mouse-face highlight keymap invisible intangible help-echo
    org-linked-text htmlize-link) face org-link ...) 1 2 (fontified t
    help-echo "LINK: *head" htmlize-link (:uri "*head") rear-nonsticky
    (mouse-face highlight keymap invisible intangible help-echo
    org-linked-text htmlize-link) face org-link ...) 2 3 (fontified t
    help-echo "LINK: *head" htmlize-link (:uri "*head") rear-nonsticky
    (mouse-face highlight keymap invisible intangible help-echo
    org-linked-text htmlize-link) face org-link ...) 3 4 (fontified t
    help-echo "LINK: *head" htmlize-link (:uri "*head") rear-nonsticky
    (mouse-face highlight keymap invisible intangible help-echo
    org-linked-text htmlize-link) face org-link ...)), 0, 5


To reproduce:

1. Create org file with a heading:

* heading

2. Start typing a link to that heading and press <M-TAB> to autocomplete:

[[*head<M-TAB>]]

Best regards,
Carlos

---

Emacs  : GNU Emacs 28.0.60 (build 3, x86_64-apple-darwin20.6.0, NS appkit-2022.60 Version 11.6 (Build 20G165))
 of 2021-10-18
Package: Org mode version 9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)

current state:
==============
(setq
 org-link-elisp-confirm-function 'yes-or-no-p
 org-directory "~/Documents"
 org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn ENTRY)"]
 org-babel-after-execute-hook '(org-redisplay-inline-images)
 org-agenda-files '("/tmp/test.org")
 org-export-before-parsing-hook '(org-attach-expand-links)
 org-default-notes-file "~/Documents/inbox.org"
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines
                  org-optimize-window-after-visibility-change)
 org-font-lock-set-keywords-hook '(doom-themes-enable-org-fontification)
 org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-all append local] 5]
                 #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5]
                 org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-confirm-shell-link-function 'yes-or-no-p
 outline-isearch-open-invisible-function 'outline-isearch-open-invisible
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer doom-modeline-set-org-src-modeline)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-todo-keywords '((sequence "TODO" "NEXT" "|" "DONE"))
 org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate)
 org-preview-latex-default-process 'dvisvgm
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)
 org-link-shell-confirm-function 'yes-or-no-p
 org-babel-pre-tangle-hook '(save-buffer)
 org-agenda-loop-over-headlines-in-active-region nil
 org-occur-hook '(org-first-headline-recenter)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-link-parameters '(("attachment" :follow org-attach-follow :complete org-attach-complete-link) ("id" :follow org-id-open)
                       ("eww" :follow org-eww-open :store org-eww-store-link) ("rmail" :follow org-rmail-open :store org-rmail-store-link)
                       ("mhe" :follow org-mhe-open :store org-mhe-store-link)
                       ("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export)
                       ("info" :follow org-info-open :export org-info-export :store org-info-store-link)
                       ("gnus" :follow org-gnus-open :store org-gnus-store-link)
                       ("docview" :follow org-docview-open :export org-docview-export :store org-docview-store-link)
                       ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link)
                       ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link)
                       ("w3m" :store org-w3m-store-link) ("doi" :follow org-link-doi-open :export org-link-doi-export) ("file+sys")
                       ("file+emacs") ("shell" :follow org-link--open-shell)
                       ("news" :follow #[514 "\301\300\302Q\"\207" ["news" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("mailto" :follow #[514 "\301\300\302Q\"\207" ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("https" :follow #[514 "\301\300\302Q\"\207" ["https" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("http" :follow #[514 "\301\300\302Q\"\207" ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("ftp" :follow #[514 "\301\300\302Q\"\207" ["ftp" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("help" :follow org-link--open-help :store org-link--store-help) ("file" :complete org-link-complete-file)
                       ("elisp" :follow org-link--open-elisp))
 org-metaup-hook '(org-babel-load-in-session-maybe)
 )


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

* [BUG] "args out of range" on link heading completion [9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)]
@ 2021-10-20 23:09 Carlos Pita
  2021-10-21  3:50 ` Greg Minshall
  0 siblings, 1 reply; 10+ messages in thread
From: Carlos Pita @ 2021-10-20 23:09 UTC (permalink / raw)
  To: emacs-orgmode

Hi,

when I try to autocomplete a heading inside a link I get:

    completion--some: Args out of range: #("*hea" 0 1 (fontified t
    help-echo "LINK: *head" htmlize-link (:uri "*head") rear-nonsticky
    (mouse-face highlight keymap invisible intangible help-echo
    org-linked-text htmlize-link) face org-link ...) 1 2 (fontified t
    help-echo "LINK: *head" htmlize-link (:uri "*head") rear-nonsticky
    (mouse-face highlight keymap invisible intangible help-echo
    org-linked-text htmlize-link) face org-link ...) 2 3 (fontified t
    help-echo "LINK: *head" htmlize-link (:uri "*head") rear-nonsticky
    (mouse-face highlight keymap invisible intangible help-echo
    org-linked-text htmlize-link) face org-link ...) 3 4 (fontified t
    help-echo "LINK: *head" htmlize-link (:uri "*head") rear-nonsticky
    (mouse-face highlight keymap invisible intangible help-echo
    org-linked-text htmlize-link) face org-link ...)), 0, 5


To reproduce:

1. Create org file with a heading:

* heading

2. Start typing a link to that heading and press <M-TAB> to autocomplete:

[[*head<M-TAB>]]

Best regards,
Carlos

---

Emacs  : GNU Emacs 28.0.60 (build 3, x86_64-apple-darwin20.6.0, NS
appkit-2022.60 Version 11.6 (Build 20G165))
 of 2021-10-18
Package: Org mode version 9.5 (9.5-gd361c7 @
/Users/carlos/.emacs.d/straight/build/org/)

current state:
==============
(setq
 org-link-elisp-confirm-function 'yes-or-no-p
 org-directory "~/Documents"
 org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3
"\n\n(fn ENTRY)"]
 org-babel-after-execute-hook '(org-redisplay-inline-images)
 org-agenda-files '("/tmp/test.org")
 org-export-before-parsing-hook '(org-attach-expand-links)
 org-default-notes-file "~/Documents/inbox.org"
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-cycle-hook '(org-cycle-hide-archived-subtrees
org-cycle-hide-drawers org-cycle-show-empty-lines
                  org-optimize-window-after-visibility-change)
 org-font-lock-set-keywords-hook '(doom-themes-enable-org-fontification)
 org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook
change-major-mode-hook org-show-all append local] 5]
                 #[0 "\300\301\302\303\304$\207" [add-hook
change-major-mode-hook org-babel-show-result-all append local] 5]
                 org-babel-result-hide-spec org-babel-hide-all-hashes)
 org-confirm-shell-link-function 'yes-or-no-p
 outline-isearch-open-invisible-function 'outline-isearch-open-invisible
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-src-mode-hook '(org-src-babel-configure-edit-buffer
org-src-mode-configure-edit-buffer doom-modeline-set-org-src-modeline)
 org-confirm-elisp-link-function 'yes-or-no-p
 org-todo-keywords '((sequence "TODO" "NEXT" "|" "DONE"))
 org-speed-command-hook '(org-speed-command-activate
org-babel-speed-command-activate)
 org-preview-latex-default-process 'dvisvgm
 org-tab-first-hook '(org-babel-hide-result-toggle-maybe
org-babel-header-arg-expand)
 org-link-shell-confirm-function 'yes-or-no-p
 org-babel-pre-tangle-hook '(save-buffer)
 org-agenda-loop-over-headlines-in-active-region nil
 org-occur-hook '(org-first-headline-recenter)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-link-parameters '(("attachment" :follow org-attach-follow
:complete org-attach-complete-link) ("id" :follow org-id-open)
                       ("eww" :follow org-eww-open :store
org-eww-store-link) ("rmail" :follow org-rmail-open :store
org-rmail-store-link)
                       ("mhe" :follow org-mhe-open :store org-mhe-store-link)
                       ("irc" :follow org-irc-visit :store
org-irc-store-link :export org-irc-export)
                       ("info" :follow org-info-open :export
org-info-export :store org-info-store-link)
                       ("gnus" :follow org-gnus-open :store org-gnus-store-link)
                       ("docview" :follow org-docview-open :export
org-docview-export :store org-docview-store-link)
                       ("bibtex" :follow org-bibtex-open :store
org-bibtex-store-link)
                       ("bbdb" :follow org-bbdb-open :export
org-bbdb-export :complete org-bbdb-complete-link :store
org-bbdb-store-link)
                       ("w3m" :store org-w3m-store-link) ("doi"
:follow org-link-doi-open :export org-link-doi-export) ("file+sys")
                       ("file+emacs") ("shell" :follow org-link--open-shell)
                       ("news" :follow #[514 "\301\300\302Q\"\207"
["news" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("mailto" :follow #[514 "\301\300\302Q\"\207"
["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("https" :follow #[514 "\301\300\302Q\"\207"
["https" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("http" :follow #[514 "\301\300\302Q\"\207"
["http" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("ftp" :follow #[514 "\301\300\302Q\"\207"
["ftp" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("help" :follow org-link--open-help :store
org-link--store-help) ("file" :complete org-link-complete-file)
                       ("elisp" :follow org-link--open-elisp))
 org-metaup-hook '(org-babel-load-in-session-maybe)
 )


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

* Re: [BUG] "args out of range" on link heading completion [9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)]
  2021-10-20 23:09 [BUG] "args out of range" on link heading completion [9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)] Carlos Pita
@ 2021-10-21  3:50 ` Greg Minshall
  2021-10-21  4:07   ` Carlos Pita
  0 siblings, 1 reply; 10+ messages in thread
From: Greg Minshall @ 2021-10-21  3:50 UTC (permalink / raw)
  To: Carlos Pita; +Cc: emacs-orgmode

Carlos,

fwiw, using

: emacs -Q -L ~/.emacs.d/straight/build/org foo.org

on my system, i don't seem to be able to recreate this problem.

cheers, Greg

ps -- the org-version was
: Org mode version 9.5 (9.5-gdc154f @ /home/minshall/.emacs.d/straight/build/org/)


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

* Re: [BUG] "args out of range" on link heading completion [9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)]
  2021-10-21  3:50 ` Greg Minshall
@ 2021-10-21  4:07   ` Carlos Pita
  2021-10-21  4:45     ` Ihor Radchenko
  2021-10-21 15:22     ` Greg Minshall
  0 siblings, 2 replies; 10+ messages in thread
From: Carlos Pita @ 2021-10-21  4:07 UTC (permalink / raw)
  To: Greg Minshall; +Cc: emacs-orgmode

Hi Greg,

> fwiw, using
>
> : emacs -Q -L ~/.emacs.d/straight/build/org foo.org

It's exactly the same. To be more precise, this is what I did:

1. open -na emacs --args -Q -L ~/.emacs.d/straight/build/org foo.org

2. C-x C-f /tmp/test.org (a new file)

3. Type "* heading" in the first line

4. Type "[[]]" in the second line

5. Go into the brackets an type "*head"

6. Press <M-TAB> or C-M-i.

This is the message I get:

    completion--some: Args out of range: #("*hea" 0 1 (fontified t
    help-echo "LINK: *head" htmlize-link (:uri "*head") rear-nonsticky
    (mouse-face highlight keymap invisible intangible help-echo
    org-linked-text htmlize-link) face org-link ...) 1 2 (fontified t
    help-echo "LINK: *head" htmlize-link (:uri "*head") rear-nonsticky
    (mouse-face highlight keymap invisible intangible help-echo
    org-linked-text htmlize-link) face org-link ...) 2 3 (fontified t
    help-echo "LINK: *head" htmlize-link (:uri "*head") rear-nonsticky
    (mouse-face highlight keymap invisible intangible help-echo
    org-linked-text htmlize-link) face org-link ...) 3 4 (fontified t
    help-echo "LINK: *head" htmlize-link (:uri "*head") rear-nonsticky
    (mouse-face highlight keymap invisible intangible help-echo
    org-linked-text htmlize-link) face org-link ...)),

Interestingly enough the message includes the string "*hea" as well as
the string "*head".

If you can't still reproduce it let me know and I will debug the issue.

> ps -- the org-version was
> : Org mode version 9.5 (9.5-gdc154f @
> /home/minshall/.emacs.d/straight/build/org/)

What are these? Seemingly not git revisions. Can I checkout that version
somehow? If not, pass me your git revision and I will rerun my recipe
there.

Best regards,
Carlos


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

* Re: [BUG] "args out of range" on link heading completion [9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)]
  2021-10-21  4:07   ` Carlos Pita
@ 2021-10-21  4:45     ` Ihor Radchenko
  2021-10-22  4:14       ` Carlos Pita
  2021-10-21 15:22     ` Greg Minshall
  1 sibling, 1 reply; 10+ messages in thread
From: Ihor Radchenko @ 2021-10-21  4:45 UTC (permalink / raw)
  To: Carlos Pita; +Cc: Greg Minshall, emacs-orgmode

Carlos Pita <carlosjosepita2@gmail.com> writes:

> If you can't still reproduce it let me know and I will debug the issue.

I can reproduce on latest main.

Confirmed.

Best,
Ihor


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

* Re: [BUG] "args out of range" on link heading completion [9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)]
  2021-10-21  4:07   ` Carlos Pita
  2021-10-21  4:45     ` Ihor Radchenko
@ 2021-10-21 15:22     ` Greg Minshall
  1 sibling, 0 replies; 10+ messages in thread
From: Greg Minshall @ 2021-10-21 15:22 UTC (permalink / raw)
  To: Carlos Pita; +Cc: emacs-orgmode

Carlos,

> > ps -- the org-version was
> > : Org mode version 9.5 (9.5-gdc154f @
> > /home/minshall/.emacs.d/straight/build/org/)

> What are these? Seemingly not git revisions. Can I checkout that
> version somehow? If not, pass me your git revision and I will rerun my
> recipe there.

my belief (fwiw) is that the "9.5" is the major release, and the
"dc154f" (after the "9.5-g") is the first 6 characters of the git commit
i happened to be running).

i see that Ihor has reproduced your problem.

cheers, Greg


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

* Re: [BUG] "args out of range" on link heading completion [9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)]
  2021-10-21  4:45     ` Ihor Radchenko
@ 2021-10-22  4:14       ` Carlos Pita
  2021-10-22  8:08         ` Carlos Pita
                           ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Carlos Pita @ 2021-10-22  4:14 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Greg Minshall, emacs-orgmode

Hi Igor,

I believe the problem is in:

    (defun pcomplete/org-mode/searchhead ()
       ...
          ;; When completing a bracketed link, i.e., "[[*", argument
          ;; starts at the star, so remove this character.
          (substring pcomplete-stub 1))))  <-- trailing ]] not removed!

Changing the last line to (substring pcomplete-stub 1 -2) fixes it in my
example. I don't know if one is supposed to do [[*prefix<c-a-p>]] or
[[*prefix<c-a-p> as is implied by the code, but better to support both,
specially considering electric pairs, don't you think?

Best regards,
Carlos


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

* Re: [BUG] "args out of range" on link heading completion [9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)]
  2021-10-22  4:14       ` Carlos Pita
@ 2021-10-22  8:08         ` Carlos Pita
  2021-12-11  8:00         ` Ihor Radchenko
  2022-10-07  7:52         ` Ihor Radchenko
  2 siblings, 0 replies; 10+ messages in thread
From: Carlos Pita @ 2021-10-22  8:08 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Greg Minshall, emacs-orgmode

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

>
> !Changing the last line to (substring pcomplete-stub 1 -2) fixes it in my
> example. I don't know if one is supposed to do [[*prefix<c-a-p>]] or
> [[*prefix<c-a-p> as is implied by the code, but better to support both,
> specially considering electric pairs, don't you think?
>

Indeed, the right limit should be the position of the point.

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

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

* Re: [BUG] "args out of range" on link heading completion [9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)]
  2021-10-22  4:14       ` Carlos Pita
  2021-10-22  8:08         ` Carlos Pita
@ 2021-12-11  8:00         ` Ihor Radchenko
  2022-10-07  7:52         ` Ihor Radchenko
  2 siblings, 0 replies; 10+ messages in thread
From: Ihor Radchenko @ 2021-12-11  8:00 UTC (permalink / raw)
  To: Carlos Pita; +Cc: Greg Minshall, emacs-orgmode

Carlos Pita <carlosjosepita2@gmail.com> writes:

> Hi Igor,
>
> I believe the problem is in:
>
>     (defun pcomplete/org-mode/searchhead ()
>        ...
>           ;; When completing a bracketed link, i.e., "[[*", argument
>           ;; starts at the star, so remove this character.
>           (substring pcomplete-stub 1))))  <-- trailing ]] not removed!
>
> Changing the last line to (substring pcomplete-stub 1 -2) fixes it in my
> example. I don't know if one is supposed to do [[*prefix<c-a-p>]] or
> [[*prefix<c-a-p> as is implied by the code, but better to support both,
> specially considering electric pairs, don't you think?

I agree that the error is thrown there. However, there is nothing wrong
in the pcomplete/org-mode/searchhead. It is pcomplete that is passing
something strange to our completion backend.

Maybe you can try to send it as Emacs bug?

Best,
Ihor



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

* Re: [BUG] "args out of range" on link heading completion [9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)]
  2021-10-22  4:14       ` Carlos Pita
  2021-10-22  8:08         ` Carlos Pita
  2021-12-11  8:00         ` Ihor Radchenko
@ 2022-10-07  7:52         ` Ihor Radchenko
  2 siblings, 0 replies; 10+ messages in thread
From: Ihor Radchenko @ 2022-10-07  7:52 UTC (permalink / raw)
  To: Carlos Pita; +Cc: Greg Minshall, emacs-orgmode

Carlos Pita <carlosjosepita2@gmail.com> writes:

> I believe the problem is in:
>
>     (defun pcomplete/org-mode/searchhead ()
>        ...
>           ;; When completing a bracketed link, i.e., "[[*", argument
>           ;; starts at the star, so remove this character.
>           (substring pcomplete-stub 1))))  <-- trailing ]] not removed!
>
> Changing the last line to (substring pcomplete-stub 1 -2) fixes it in my
> example. I don't know if one is supposed to do [[*prefix<c-a-p>]] or
> [[*prefix<c-a-p> as is implied by the code, but better to support both,
> specially considering electric pairs, don't you think?

And finally fixed on main using a different approach.
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=1a62cd94cfc92c3ce6eadb2ffc1d6a18e8caee86

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

Fixed.


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

end of thread, other threads:[~2022-10-07  7:52 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-20 23:09 [BUG] "args out of range" on link heading completion [9.5 (9.5-gd361c7 @ /Users/carlos/.emacs.d/straight/build/org/)] Carlos Pita
2021-10-21  3:50 ` Greg Minshall
2021-10-21  4:07   ` Carlos Pita
2021-10-21  4:45     ` Ihor Radchenko
2021-10-22  4:14       ` Carlos Pita
2021-10-22  8:08         ` Carlos Pita
2021-12-11  8:00         ` Ihor Radchenko
2022-10-07  7:52         ` Ihor Radchenko
2021-10-21 15:22     ` Greg Minshall
  -- strict thread matches above, loose matches on Subject: below --
2021-10-20  8:36 Carlos Pita

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.