Comments (6)
You sometimes talk about entries where I think you mean fields, because your example is also about fields. Anyway, the two commits you refer to is where I switched from storing individual entries as a hash table (in a larger hash table) to storing them as association lists (in a hash table). The former was always confusing me because it wasn't always clear in my head which hash table I was looking at... Using alists made that easier.
The cause of the problem, however, seems to be that when reading a .bib
file, Ebib pushes fields onto the alist that is going to make up the new entry, so that the list ends up in the reverse order from what it is in the .bib
file. I'll fix that, because you're right, the current behaviour is unpractical in certain circumstances.
I will also fix the way individual field values are stored/updated. It seems inefficient to call ebib-db-set-entry
in ebib-db-set-field-value
, especially given that it's fairly easy to modify the entry alist directly.
from ebib.
I made a change that should fix this issue, please test it and see if it works.
from ebib.
Yes, that works (except for bug #43). All those calls to append
are very costly, though.
Wouldn't it make more sense to e.g. always store entries in reverse, and only re-reverse them writing?
from ebib.
Sorry about the parenthesis. I pushed something without checking whether it works...
Anyway, I guess you're right about append. So I pushed another commit that reverts that change and uses reverse
on saving instead. It seems to work for me, let me know if you run into trouble again.
from ebib.
Still works, thanks :)
from ebib.
Whew. :-)
from ebib.
Related Issues (20)
- Symbol's function definition is void: object-intervals HOT 7
- Don't uniquify already unique keys HOT 3
- Completion fields customization HOT 2
- `ebib-add-keywords-to-entry` and `ebib-edit-current-field` do not generate the same list of completion candidates HOT 3
- ebib crashes on recursive crossref fields HOT 2
- How to add hidden fields? HOT 3
- C-x C-s in a notes buffer causes the position to be reset HOT 14
- Ebib 2.39.4 does not display my database anymore HOT 7
- Using ebib in conjunction with oscola or jura. How to add entry types to ebib. HOT 3
- `ebib--update-index-buffer` does not set location of current entry HOT 4
- `ebib--notes-buffer` still sets hook to call `ebib--maybe-update-entry-buffer` HOT 1
- Problems with adding keywords -- C-M-j does not finish HOT 4
- Have a "ebib-notes-display-note-symbol" function for checking presence of files associated with a biblatex entry HOT 4
- To have an indicator in the index of the reading state of an entry (and allow more reading states) HOT 2
- `ebib-import-file` file rename HOT 6
- ebib-import-file target directory HOT 4
- Org cite template during note creation (%C) is missing an @ HOT 2
- `ebib-index-default-sort` doesn't respect local setting? HOT 2
- Possible to call `after-save-hook` after writing database HOT 2
- Support of semantic scholar? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ebib.