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 |