[Top][All Lists]
[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
- Re: [Groff] Refer problem in 1.19.1 (Failed assertion),
Werner LEMBERG <=