groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] Refer problem in 1.19.1 (Failed assertion)


From: Werner LEMBERG
Subject: Re: [Groff] Refer problem in 1.19.1 (Failed assertion)
Date: Sun, 09 May 2004 08:53:51 +0200 (CEST)

Stephen,


please see the bug report below.  It is caused by your change:

  2003-08-23  Stephen Gildea  <address@hidden>

    * src/preproc/ref/ref.cpp (reference::compute_sort_key): Always
    insert SORT_SEP.  With certain combinations of sort
    specifications, refer sorted entries in the wrong order.  In
    particular, entries with a missing field should be be sorted
    before all entries that have that field, before refer looks to the
    next field.

  --- ref.cpp   Thu Apr 19 16:01:56 2001
  +++ ref.cpp.orig      Mon Jan  5 23:40:06 2004
  @@ -420,8 +421,7 @@
     sort_fields += '\0';
     const char *sf = sort_fields.contents();
     while (*sf != '\0') {
  -    if (sf > sort_fields)
  -      sort_key += SORT_SEP;
  +    sort_key += SORT_SEP;
       char f = *sf++;
       int n = 1;
       if (*sf == '+') {

I must admit that my knowledge of refer is virtually zero.  Can you
fix it?  It would be great if this is corrected in 1.19.1 (which is
planned to appear on Wednesday).


    Werner


======================================================================


Since I upgraded to the current CVS version I have had problems with
the refer preprocessor -- it fails when I try to process my thesis,
which contains many references.  I have narrowed the problem down as
much as I can, but still get an error when processing the source file
below and the attached bibliography file.  Running the command

        refer Chapter.me

results in the error

        refer: Failed assertion at line 1076, file `label.y'.
        Aborted

I can make the error disappear by commenting out either of the fields
"label" or "sort" -- but of course not without getting the wrong
output.

It seems that the problem has to do with sorting multiple entries by
the same authors.  Does anyone have an idea what might be going on.

Best,
Christian Jensen

(I used the current CVS version (1.19.1) of refer.  The files (and my
thesis) can be processed without problems with version 1.18.1.)

.\"---- Chapter.me ----
.R1
no-default-database
database ./ref.bib
accumulate
reverse "A1"
abbreviate "AE"
label "(@|Q) ' ' (D.y%a*|D)"
bracket-label " (" ) ", "
sort "A+D1"
move-punctuation
.R2
.lp
This snippet of text demonstrates a problem with the refer
preprocessor in version 1.19.1 of groff.
References
.[
Streefkerk 1999 optimal
.]
Text
.[
Streefkerk 1999 new
.]
more text
.[
Streefkerk 1999 newer
.]
more text
.[
$LIST$
.]
.\"--- End ----

%A Streefkerk
%A Pols
%A Heuven
%D 1999
%T Towards finding new
%J JASA
%V 4
%P 12-14

%A Streefkerk
%A Pols
%A Heuven
%D 1999
%T Towards finding newer
%J JASA
%V 5
%P 16-18

%A Streefkerk
%A Pols
%A Heuven
%D 1999
%T Towards finding optimal
%J JASA
%V 6
%P 22-26

reply via email to

[Prev in Thread] Current Thread [Next in Thread]