Excellent, Hans. Many thanks!
Alan

On Fri, Feb 24, 2017 at 5:21 AM, Hans Hagen <pragma@wxs.nl> wrote:
On 2/23/2017 10:41 PM, Alan Bowen wrote:
In my larger document (approx 600 pages, over 1000 references)
problematic entries like \cite[{{A, B, and C}}] did not display at all,
though the document did process without claims of stack errors etc.
Curiously,
\goto{A, B, and C}[{{A, B, and C}}]
does work as expected.

i'll upload a beta that support this:

\setupinteraction[state=start]

\starttext

\startchapter[reference={{A, B, and C}},title={Foo}]

    \in{IN}[name{A, B, and C}]

    \in{IN}[name(A, B, and C)]

\stopchapter

you need to be aware of the fact that references have some kind of syntax and are parsed (so that we only need one system for every kind of referencing); most make only sense for \goto but parsing happens anyway for \in and \at so i hooked name() into it, similar to [page(123)] we can have [name(abc)] now

Hans


Alan

On Thu, Feb 23, 2017 at 4:12 PM, Alan Bowen <bowenalan03@gmail.com
<mailto:bowenalan03@gmail.com>> wrote:

    Thanks, Hans! That does work nicely.

    On Thu, Feb 23, 2017 at 3:42 PM, Hans Hagen <pragma@wxs.nl
    <mailto:pragma@wxs.nl>> wrote:

        On 2/22/2017 6:21 PM, Alan Bowen wrote:

            Here is the file that I have been working with:

            \installlanguage[packed][en]
            \setuplanguage[packed][spacing=packed]
            \startsetups[tightspace]
              \spaceskip 0.5\interwordspace plus .5\interwordstretch minus
            \interwordshrink
            \stopsetups

            \def\dostartbibitem[#1]{\startBibItem[title={#1},reference={#1}]}
            \def\startbibitem{\dosingleempty\dostartbibitem}
            \def\stopbibitem{\stopBibItem}

            \definedescription[BibItem][
            width=broad,
            margin=1.5pc,
            indenting={no},
            indentnext=no,
            alternative=hanging,
            hang=1,
            headcommand=\gobbleoneargument,
            align=right,
            before={\directsetup{tightspace}\bgroup\language[packed]},
            after={\egroup},
            ]

            \definereferenceformat [cite]  [type=title,left={},right={}]
            \definereferenceformat [bibpage]   [type=page]

            \starttext

            \startbibitem[A, B, and C]\stopbibitem % TEST by commenting
            these
            %\startbibitem[A{,} B{,} and C]\stopbibitem% lines out

            \startbibitem[ABC]\stopbibitem
            \startbibitem[A]\stopbibitem
            \startbibitem[B]\stopbibitem
            \startbibitem[C]\stopbibitem

            * \cite[A, B, and C] \qquad{\red output should  be: A{,}
            B{,} and C}

            **\cite[ABC] \qquad{\red output should be: ABC}

            ***\cite[A], \cite[B], \cite[C]  \qquad{\red output should
            be: A, B, C}

            ****\cite[A]\cite[B]\cite[C] \qquad{\red output should be: ABC}

            \stoptext


        references can be a comma separated list, so

        A, B, and C

        is actually three tags:  "A" "B" "and C"

        so, you run into parsing problems, so how to deal with:

        [A, B, and C]

        maybe:

        [{A, B, and C}]

        alas, in comma separated list the first level of {} is removed
        but we can cheat:

        [{{A, B, and C}}]

        works with \cite [{{A, B, and C}}]

        Hans


        -----------------------------------------------------------------
                                                  Hans Hagen | PRAGMA ADE
                      Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
               tel: 038 477 53 69 | www.pragma-ade.nl
        <http://www.pragma-ade.nl> | www.pragma-pod.nl
        <http://www.pragma-pod.nl>
        -----------------------------------------------------------------
        ___________________________________________________________________________________
        If your question is of interest to others as well, please add an
        entry to the Wiki!

        maillist : ntg-context@ntg.nl <mailto:ntg-context@ntg.nl> /
        http://www.ntg.nl/mailman/listinfo/ntg-context
        <http://www.ntg.nl/mailman/listinfo/ntg-context>
        webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
        archive  : https://bitbucket.org/phg/context-mirror/commits/
        <https://bitbucket.org/phg/context-mirror/commits/>
        wiki     : http://contextgarden.net
        ___________________________________________________________________________________





___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________



--

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________