Re: [Ebib-users] ebib under Windows
Brought to you by:
joostkremers
|
From: Joost K. <joo...@fa...> - 2006-10-02 12:57:33
|
On Sun, Sep 10, 2006 at 01:15:13PM -0400, Jos Elkink wrote:
> > > My .bib
> > > file is generated using another BibTex manager, JabRef, so it should
> > > be syntactically correct :). I also never get errors when using it.
> >
> > could you send me (part of) a bibtex file you're trying to load? send it
> > (g)zipped as an attachment, not as a text file, because i need to have
> > the exact file byte-for-byte. i'm beginning to have a nasty suspicion on
> > what the problem might be...
>
> I will send it right away in private email ...
ok, i got it. it turns out that the problem was not what i thought it was
(which makes me a little happier ;-) i tried loading your bib-file in ebib,
and got the same result: an error message stating "end of buffer" (i don't
know if you reported that) and apparently nothing is loaded. when i lowered
ebib and activated it again, i found that part of the file *had* been
loaded, however. it wasn't difficult to identify the entry where things go
wrong:
@ARTICLE{AntoniTorcini1998,
author = {Micka"el Antoni and Alessandro Torcini},
title = {Anomalous diffusion as a signature of a collapsing phase in two-dimensional self-gravitating systems},
journal = {Physical Review E},
year = {1998},
volume = {57},
pages = {6233-6236},
number = {6},
month = {JUN},
owner = {elkinkj},
}
and the exact problem is with the diarhesis in the name `Micka"el'. ebib
takes the character " to be the start of a string, and tries to find the
matching double quote that ends the string. since this is never found, an
"end of buffer" error message is produced.
there is a work-around and a solution for this. the work-around involves
writing \" rather than " in your bib-file. the solution would be to recode
ebib so that it knows about this way of writing accented characters.
the former may have disadvantages that i'm not aware of. the latter has one
big disadvantage: it's not straight-forward. in order to read a field
contents, ebib finds the opening { that marks the beginning of the field
contents, and then looks for the matching }: everything in between is
considered the field contents. in order to find the matching }, ebib uses
the function FORWARD-LIST, which is a standard elisp function. it is this
function that knows about strings and string delimiters, and that causes
the problem in your case.
i obviously cannot alter existing elisp functions. therefore, in order to
solve the issue, i'd have to write an alternative to FORWARD-LIST, and make
it smart enough to ignore accented characters written in this fashion. i do
have (still rather vague) plans to largely rewrite the code that loads
bibtex files. when i get to that, i'll certainly think about how i can get
this right, but right now, i suggest you use the work-around...
sorry that i can't offer a better solution right now, but at least we know
where the problem lies.
--
Joost Kremers
Life has its moments
|