variable bibfiles removed from ebib-get-local-databases
[ebib.git] / src / ChangeLog
blob6cee599a6e61631e578aeac5845e62587320de1c
1 2007-10-20  Joost Kremers  <joostkremers@yahoo.com>
3         * ebib.el (ebib-redisplay-current-field): modified. now redisplays
4         the entire entry buffer is the current field is crossref. (cutting
5         the value from the crossref field would leave the inherited field
6         values visible.)
7         (ebib-import): modified to use insert-buffer-substring, rather
8         than buffer-string and insert. this way, there is no need to
9         temporarily store the buffer contents in a variable.
10         (ebib-get-field-highlighted): modified so that it doesn't produce
11         an error if an entry contains a crossref to an entry that does not
12         exist.
13         (ebib-get-local-databases): variable bibfiles removed from the let.
15 2007-10-20  Joost Kremers  <joostkremers@yahoo.com>
17         * ebib.el (ebib-local-bibtex-filenames): renamed from
18         ebib-local-bibtex-filname. this is now a list of strings, rather
19         than a string. thanks to Sinisa Pajevic for pointing out that a
20         \bibliography command can contain more than one .bib file.
21         (ebib-extract-bibfiles): removed.
22         (ebib-get-local-databases): modified to return a list of database
23         filenames. also now uses insert-buffer-substring, rather than a
24         combination of buffer-string and insert.
25         (ebib-insert-bibtex-key): modified so that it can handle multiple
26         bibtex files. this reflects the change to
27         ebib-local-bibtex-filenames.
28         (ebib-entry-summary): same.
30 2007-10-19  Joost Kremers  <joostkremers@yahoo.com>
32         * ebib.el (ebib-push-entry-key): new. pushes the current entry
33         key, or the marked entry keys, to a buffer, using
34         ebib-insertion-strings. thanks to Sinisa Pajevic for suggesting
35         this feature.
36         (ebib-key "p"): changed to ebib-push-entry-key.
37         (ebib-key "r"): new. assigned to ebib-edit-preamble.
38         (ebib-prefixed-functions): ebib-push-entry-key added.
39         (ebib-push-buffer): new. holds the name of the last buffer to
40         which an entry was pushed, to present it as default in the next
41         push operation.
42         (ebib-insertion-strings): modified default value: 0 added.
44 2007-10-11  Joost Kremers  <joostkremers@yahoo.com>
46         * ebib.el (ebib-get-field-highlighted): modified so as to show
47         field values inherited from a cross-referenced entry.
48         (ebib-crossref-face): new.
49         (ebib-edit-crossref): modified to redisplay the entire entry
50         buffer, not just the current field.
52 2007-07-29  Joost Kremers  <joostkremers@yahoo.com>
54         * ebib.el (ebib-store-multiline-text): added a check to make sure
55         the text in the buffer doesn't contain unbalanced braces.
56         (ebib-filter-to-virtual-db): changed to give more feedback in the
57         minibuffer about what the user is doing.
59 2007-06-26  Joost Kremers  <joostkremers@yahoo.com>
61         * ebib.el (ebib-insert-bibtex-key): changed to show the cite
62         command that the user has selected through the prefix argument.
64 2007-04-26  Joost Kremers  <joostkremers@yahoo.com>
66         * ebib.el (ebib-standard-url-field): doc string modified.
68 2007-04-06  Joost Kremers  <joostkremers@yahoo.com>
70         * ebib.el (ebib-allow-identical-fields): new.
71         (ebib-find-bibtex-fields): modified so as to use
72         ebib-allow-identical-fields.
74 2007-03-30  Joost Kremers  <joostkremers@yahoo.com>
76         * ebib.el (ebib-url-regexp): bug fix: removed \l from default
77         value.
79 2007-03-29  Joost Kremers  <joostkremers@yahoo.com>
81         * ebib.el: Ebib 1.3.0 released.
83 2007-03-29  Joost Kremers  <joostkremers@yahoo.com>
85         * ebib.el (ebib-index-mode-map): added "u" key.
86         (ebib-url-field): new.
87         (ebib-url-regexp): new.
88         (ebib-browse-url): new.
89         (ebib-call-browser): new.
90         (ebib-entry-mode-map): added "u" key.
91         (ebib-browse-url-in-field): new.
92         (ebib-call-browser-command): new.
94 2007-03-28  Joost Kremers  <joostkremers@yahoo.com>
96         * ebib.el (raw-p): regexp "\".*?\" replaced with
97         "\"[^\"]*?\"". The dot doesn't match \n, so a multiline string
98         enclosed by double quotes was incorrectly recognised as a raw
99         string.
101 2007-03-27  Joost Kremers  <joostkremers@yahoo.com>
103         * ebib.el (ebib-export-entry): ebib-execute-when
104         removed. ebib-marked-p replaced with ebib-called-with-prefix.
105         (ebib-export-single-entry): added ebib-execute-when.
106         (ebib-export-marked-entries): same.
107         (ebib-prefix-map): new. (actually, this is ebib-semicolon-map
108         reintroduced under a new name.)
109         (ebib-index-mode-map): binding of the prefix key ";" changed to
110         ebib-prefix-map.
111         (ebib-key): modified so that if the user redefines a key in
112         ebib-index-mode-map, it checks whether the function is bound in
113         ebib-prefix-map as well, and if so, binds it to the same
114         key. Furthermore, if the user unbinds a key, it is unbound in
115         ebib-prefix-map as well.
116         (ebib-marked-p): removed.
117         (ebib-prefixed-functions): new.
118         (ebib-prefix-key): new.
119         (ebib-key): modified so that it unsets the current prefix key if
120         the user redefines the prefix key with mark-prefix.
121         (ebib-index-mode-map): key bindings no longer done in the defvar
122         definition, but at top level with ebib-key. Using ebib-key has the
123         advantage that ebib-prefix-map is automatically set up correctly
124         as well.
126 2007-03-26  Joost Kremers  <joostkremers@yahoo.com>
128         * ebib.el (ebib-called-with-prefix): new.
129         (ebib-marked-p): new.
130         (ebib-prefix-key): new.
131         (ebib-key): added clause for mark-prefix.
132         (ebib-delete-marked-entries): removed.
133         (ebib-delete-entry): modified to handle the prefix key.
134         (ebib-export-entry): modified to call either of two helper
135         functions, depending on whether it was called with or without
136         prefix key.
137         (ebib-export-single-entry): new. helper function for
138         ebib-export-entry.
139         (ebib-export-marked-entries): changed into helper function for
140         ebib-export-entry.
141         (ebib-print-database): removed.
142         (ebib-print-marked-entries): removed.
143         (ebib-semicolon-map): removed.
144         (ebib-index-mode-map): binding for L changed to
145         ebib-latex-entries, and binding for P changed to
146         ebib-print-entries.
147         (ebib-print-entries): made interactive and modified to handle
148         marked entries.
149         (ebib-latex-database): removed.
150         (ebib-latex-marked-entries): removed.
151         (ebib-latex-entries): made interactive and modified to handle
152         marked entries.
153         (ebib-mark-all): removed.
155 2007-03-25  Joost Kremers  <joostkremers@yahoo.com>
157         * ebib.el (ebib-remove-entry-from-db): modified so that a deleted
158         entry is also deleted from edb-marked-entries if it's there. This
159         avoids problems when the user deletes a marked entry, and also
160         when he renames the entry key of a marked entry.
161         (ebib-delete-marked-entries): no longer sets edb-marked-entries to
162         nil, as the entries are removed one by one by
163         ebib-remove-entry-from-db.
164         (ebib-edit-keyname): modified so that it marks the renamed entry
165         if it was marked before the renaming.
166         (ebib-unmark-all): renamed to ebib-mark-all.
167         (ebib-mark-all): modified so that it marks all entries if there
168         are no marked entries.
169         (ebib-mark-entry): real-db removed from ebib-execute-when.
170         (ebib-export-entry): modified to include the entry name in the
171         messages passed to ebib-export-to-db and ebib-export-to-file.
172         (ebib-export-string): same with string abbreviation.
174 2007-03-24  Joost Kremers  <joostkremers@yahoo.com>
176         * ebib.el (ebib-export-string): modified to make use of
177         ebib-export-to-db and ebib-export-to-file.
178         (ebib-export-all-strings): same.
179         (ebib-export-preamble): same.
180         (ebib-export-marked-entries): new.
181         (ebib-semicolon-map): new key "x" added.
182         (propertize): new.
183         (ebib-write-database): rewritten to stop XEmacs from
184         complaining. (See arch log for details.)
185         (ebib-export-to-file): modified documentation string, as it said
186         something about insert-fn that isn't correct.
187         (ebib-execute-helper): added marked-entries.
188         (ebib-delete-marked-entries): modified to use marked-entries.
189         (ebib-export-marked-entries): same.
190         (ebib-delete-marked-entries): added default clause to
191         ebib-execute-when.
192         (ebib-print-entries): new. contains most of the code of former
193         ebib-print-database.
194         (ebib-print-database): modified to use ebib-print-entries.
195         (ebib-print-marked-entries): new.
196         (define-prefix-command): new keys "P", "L" and "m".
197         (ebib-mark-entry): modified: no longer adds the text properties to
198         the entry key in the database, just in the index buffer.
199         (ebib-fill-index-buffer): modified so that it adds a highlight to
200         marked entries.
201         (ebib-latex-entries): new. contains most of the code of former
202         ebib-latex-database.
203         (ebib-latex-database): modified to use ebib-latex-entries.
204         (ebib-latex-marked-entries): new.
205         (ebib-unmark-all): new.
207 2007-03-23  Joost Kremers  <joostkremers@yahoo.com>
209         * ebib.el (ebib-export-to-db): new.
210         (ebib-export-to-file): new.
211         (ebib-export-entry): modified to make use of ebib-export-to-db and
212         ebib-export-to-file.
214 2007-03-20  Joost Kremers  <joostkremers@yahoo.com>
216         * ebib.el (ebib-edit-field): changed to unconditionally add braces
217         around the text the user enters. Formerly, this was done through
218         from-raw, which meant that if the user typed braces around the
219         text, these would disappear.
221 2007-03-19  Joost Kremers  <joostkremers@yahoo.com>
223         * ebib.el (add-to-listq): added a test for Emacs < 22.
224         (ebib-index-mode-map): removed 'ebib-index-mode-map argument to
225         make-keymap. Emacs officially doesn't even allow it, and in XEmacs
226         it's optional.
227         (ebib-entry-mode-map): same.
228         (ebib-strings-mode-map): same.
229         (ebib-help-mode-map): same.
230         (ebib-semicolon-map): new.
231         (ebib-index-mode-map): added ";" key.
232         (ebib-remove-entry-from-db): bug fix: would delete the key of the
233         current entry from the keys list, regardless of which entry was
234         actually deleted.
235         (ebib-semicolon-map): added "d" key.
236         (ebib-delete-marked-entries): new.
237         (ebib-entry-mode-map): bindings of C-x b and C-x k changed to
238         'undefined.
239         (disabled): removed. The predefined function undefined does the
240         same thing.
242 2007-03-13  Joost Kremers  <joostkremers@yahoo.com>
244         * ebib.el (ebib-filter-to-virtual-db): removed the check for the
245         `type' field. What was actually meant was the `type*' field, and
246         since this is not in ebib-unique-field-list anyway, the user isn't
247         able to filter on it.
249 2007-03-12  Joost Kremers  <joostkremers@yahoo.com>
251         * ebib.el (ebib-mark-entry): added again for the 1.3 branch.
253 2007-03-12  Joost Kremers  <joostkremers@yahoo.com>
255         * ebib.el: ebib 1.2.0 released.
257 2007-03-12  Joost Kremers  <joostkremers@yahoo.com>
259         * ebib.el (ebib-mark-entry): removed in preparation for release.
261 2007-03-12  Joost Kremers  <joostkremers@yahoo.com>
263         * ebib.el (ebib-print-database): bugfix: if ebib-print-tempfile is
264         set to "", which is its default value, the body of if-str would
265         not be executed.
266         (ebib-latex-database): same.
268 2007-03-10  Joost Kremers  <joostkremers@yahoo.com>
270         * ebib.el (ebib-latex-database): new.
271         (ebib-print-preamble): new.
272         (ebib-print-multiline): new.
273         (ebib-latex-preamble): new.
274         (ebib-print-tempfile): new.
275         (ebib-print-database): modified to use ebib-print-preamble,
276         ebib-print-multiline and ebib-print-tempfile.
277         (ebib-latex-database): added real-db to ebib-execute-when.
278         (ebib-timestamp-format): new.
279         (ebib-insert-entry): modified to use format-time-string and ebib-timestamp-format.
280         (ebib-format-entry): same.
281         (ebib-yank-field-contents): renamed from ebib-paste-field-contents.
283 2007-03-08  Joost Kremers  <joostkremers@yahoo.com>
285         * ebib.el (ebib-print-database): new.
287 2007-03-06  Joost Kremers  <joostkremers@yahoo.com>
289         * ebib.el (ebib-index-scroll-down): new. replaces ebib-entry-page-up.
290         (ebib-index-scroll-up): new. replaces ebib-entry-page-down.
291         (ebib-follow-crossref): new.
292         (ebib-index-mode-map): added "F" key.
294 2007-03-02  Joost Kremers  <joostkremers@yahoo.com>
296         * ebib.el (ebib-delete-entry): removed optional argument
297         entry-key, as it wasn't used at all.
299 2007-03-01  Joost Kremers  <joostkremers@yahoo.com>
301         * ebib.el (ebib-paste-field-contents): sets this-command to t if
302         called illegally. that way, a second consecutive call to this
303         function is also recognised as illegal.
305 2007-02-26  Joost Kremers  <joostkremers@yahoo.com>
307         * ebib.el (ebib-paste-field-contents): doc string slightly expanded.
309 2007-02-25  Joost Kremers  <joostkremers@yahoo.com>
311         * ebib.el (ebib-paste-field-contents): added test for crossref field.
312         (ebib-paste-field-contents): modified so that repeatedly calling
313         this command walks around the kill ring, just like C-y/M-y.
315 2007-02-23  Joost Kremers  <joostkremers@yahoo.com>
317         * ebib.el (ebib-move-to-field): bug fix: if the field being moved
318         to is type*, used to search for 'type', causing confusion with an
319         actual type field (e.g. in the entry type incollection.) now just
320         moves to (point-min).
321         (ebib-set-modified): bug fix: the modification flag of the index
322         buffer would be (re)set, regardless of whether it actually holds
323         the database whose modification flag is being (re)set.
325 2007-02-22  Joost Kremers  <joostkremers@yahoo.com>
327         * ebib.el (ebib-execute-when): changed so that it does not produce
328         a spurious and if the envs list of a form only contains one element.
330 2007-02-21  Joost Kremers  <joostkremers@yahoo.com>
332         * ebib.el (ebib-print-filter): changed the argument of interactive
333         from "p" to "P", to obtain the raw prefix argument.
334         (ebib-save-current-database): changed message to error.
335         (ebib-print-filter): added a default-clause to ebib-execute-when,
336         to produce a beep.
337         (ebib-prev-entry): same.
338         (ebib-next-entry): same.
339         (ebib-add-entry): same.
340         (ebib-goto-first-entry): same.
341         (ebib-goto-last-entry): same.
342         (ebib-edit-keyname): same.
343         (ebib-mark-entry): same.
344         (ebib-entry-page-up): same.
345         (ebib-entry-page-down): same.
346         (ebib-write-database): same.
347         (ebib-delete-entry): same.
348         (ebib-select-entry): same.
349         (ebib-export-entry): same.
350         (ebib-search): same.
351         (ebib-search-next): same.
352         (ebib-edit-strings): same.
353         (ebib-edit-preamble): same.
354         (ebib-export-preamble): same.
355         (ebib-virtual-db-and): same.
356         (ebib-virtual-db-or): same.
357         (ebib-virtual-db-not): same.
359 2007-02-20  Joost Kremers  <joostkremers@yahoo.com>
361         * ebib.el (ebib-filter-to-virtual-db): fixed a bug: the additional
362         fields weren't included in the collection.
363         (ebib-edit-field): spurious progn removed.
364         (ebib-execute-helper): wrapped in an eval-and-compile because
365         otherwise XEmacs complains that the symbol ebib-execute-helper's
366         value as function is void.
367         (safe-write-region): new. GNU Emacs has an optional argument to
368         write-region that can be used to make sure the user doesn't
369         inadvertently overwrite an already existing file. XEmacs does not
370         have this argument.
371         (ebib-write-database): modified to use safe-write-region.
372         (ebib-insertion-strings): changed the default value from nil to
373         '((1 . "\\cite{%s}")).
375 2007-02-19  Joost Kremers  <joostkremers@yahoo.com>
377         * ebib.el (ebib-index-mode-map): changed binding for
378         ebib-merge-bibtex-file from "m" to "M".
379         (ebib-index-mode-map): added binding "m" for ebib-mark-entry.
380         (ebib-mark-entry): new.
381         (ebib-marked-face): new. needed to accommodate xemacs. there must
382         be a better way to do this... Note that in xemacs, i know of no
383         better way than to use '(face highlight) for both the overlay
384         marking the current entry and to mark selected entries. that means
385         that you cannot tell if the current entry is selected or not. gnu
386         emacs has highlight and :inverse-video. (though the former may be
387         obsoleted at some point?)
388         (ebib-fill-index-buffer): changed to accommodate xemacs. (see
389         comment in the source.)
390         (ebib-index-buffer-help): updated.
391         (ebib-execute-when): new.
392         (ebib-execute-helper): new.
393         (when-entries): removed. its functionality is now covered by
394         ebib-execute-when.
395         (ebib-write-database): modified to use ebib-execute-when and if-str.
396         (ebib-export-entry): modified to use ebib-execute-when. also added
397         a check to make sure that the goal database is not virtual.
398         (ebib-export-preamble): same.
399         (ebib-export-all-strings): added a check to make sure the goal
400         database is not virtual.
401         (ebib-export-string): same.
402         (ebib-prev-entry): modified to use ebib-execute-when.
403         (ebib-next-entry): same.
404         (ebib-add-entry): same.
405         (ebib-close-database): same.
406         (ebib-goto-first-entry): same.
407         (ebib-goto-last-entry): same.
408         (ebib-edit-entry): same.
409         (ebib-edit-keyname): same.
410         (ebib-entry-page-up): same.
411         (ebib-entry-page-down): same.
412         (ebib-save-database): same.
413         (ebib-save-current-database): same.
414         (ebib-delete-entry): same.
415         (ebib-remove-key-from-buffer): same.
416         (ebib-select-entry): same.
417         (ebib-search): same.
418         (ebib-search-next): same.
419         (ebib-edit-strings): same.
420         (ebib-edit-preamble): same.
421         (ebib-next-database): same.
422         (ebib-prev-database): same.
423         (ebib-virtual-db-and): same.
424         (ebib-virtual-db-or): same.
425         (ebib-virtual-db-not): same.
426         (ebib-print-filter): same.
428 2007-02-19  Joost Kremers  <joostkremers@yahoo.com>
430         * ebib.el: ebib-1.1.4 released.
432 2007-02-19  Joost Kremers  <joostkremers@yahoo.com>
434         * ebib.el (ebib-filter-to-virtual-db): changed the collection to
435         contain strings rather than symbols, because xemacs requires that.
437 2007-02-18  Joost Kremers  <joostkremers@yahoo.com>
439         * ebib.el (add-to-listq): new. introduced mainly because xemacs
440         doesn't allow the fourth argument to add-to-list. (actually, i'm
441         not sure if emacs 21.4 supports it...)
443 2007-02-13  Joost Kremers  <joostkremers@yahoo.com>
445         * ebib.el (ebib-quit): set ebib-strings-highlight to nil.
447 2007-02-11  Joost Kremers  <joostkremers@yahoo.com>
449         * ebib.el (ebib-unique-field-list): new. used for TAB-completion
450         in ebib-filter-to-virtual-db.
451         (ebib-set-entry-types-hash): modified to set
452         ebib-unique-field-list.
453         (ebib-key): modified to keep the cond statement out of the
454         expansion.
455         (ebib-create-new-database): modified to take an optional database
456         argument: if supplied, returns a copy of that database.
457         (ebib-index-mode-map): added "&", "|", "~" and "V".
458         (ebib-virtual-db-and): new.
459         (ebib-virtual-db-or): new.
460         (ebib-virtual-db-not): new.
461         (ebib-filter-to-virtual-db): new.
462         (ebib-create-virtual-db): new.
463         (contains): new.
464         (ebib-run-filter): new.
465         (ebib-print-filter): new.
466         (ebib-write-database): modified to handle virtual databases.
467         (ebib-edit-entry): modified to exclude virtual databases.
468         (ebib-edit-keyname): same.
469         (ebib-save-current-database): same.
470         (ebib-save-database): same.
471         (ebib-merge-bibtex-file): same
472         (ebib-add-entry): same.
473         (ebib-delete-entry): same.
474         (ebib-export-entry): same.
475         (ebib-edit-strings): same.
476         (ebib-edit-preamble): same.
477         (ebib-export-preamble): same.
478         (ebib-import): same.
479         (ebib-fill-entry-buffer): modified so that it does not result in
480         an error if the current entry does not exist. This is needed in
481         case the user deletes an entry from a database that has a virtual
482         database that containe that entry.
483         (ebib-format-entry): put (eq key 'timestamp) first in the and
484         clause. no need to check timestamp and ebib-use-timestamp for any
485         other field.
486         (ebib-write-database): modified so that when a virtual database is
487         written to a file, it doesn't attempt to put an entry that is
488         still in a virtual database's keys-list but has been deleted in
489         the source database into the new database. (note: this is still
490         not the proper way to handle this. we need to find a clean way to
491         handle the consequences of an entry being deleted in a source
492         database.)
494 2007-02-10  Joost Kremers  <joostkremers@yahoo.com>
496         * ebib.el (when-entries): included a declare indent statement.
497         (with-buffer-writable): same.
498         (edb): added fields `name' and `virtual'.
499         (ebib-fill-index-buffer): modified to use edb-name.
500         (ebib-load-bibtex-file): same.
501         (ebib-write-database): same.
502         (ebib-search-in-entry): added optional field argument.
504 2007-02-04  Joost Kremers  <joostkremers@yahoo.com>
506         * ebib.el (ebib-goto-next-set): adapted to make use of
507         ebib-move-to-field.
508         (ebib-goto-prev-set): same.
509         (defentry): removed.
510         (ebib-preload): removed.
511         (ebib-additional-fields): removed.
512         (ebib-insert-entry): modified to insert a timestamp, depending on
513         the argument TIMESTAMP and on the setting of EBIB-USE-TIMESTAMP.
514         (ebib-add-entry): modified: it no longer adds a timestamp
515         itself (as it did after the change two days ago) but just requests
516         ebib-insert-entry to do so.
517         (ebib-read-entry): modified to request insertion of a timestamp.
518         (ebib-edit-keyname): modified so as to explicitly NOT insert a
519         timestamp.
520         (ebib-export-entry): modified so as to request insertion of a
521         timestamp, both when exporting to another database and to a file.
522         (ebib-find-bibtex-entries): modified: timestamp argument
523         added. This argument is simply passed on to ebib-read-entry.
524         (ebib-load-bibtex-file): modified so that no timestamp is inserted
525         into the entries read from file.
526         (ebib-import): modified to request insertion of a timestamp.
527         (ebib-format-entry): modified to insert a timestamp if required.
528         (ebib-export-entry): fixed a bug that kept ebib-export-filename
529         from being set.
530         (ebib-export-preamble): same.
532 2007-02-03  Joost Kremers  <joostkremers@yahoo.com>
534         * ebib.el (ebib-format-fields): modified to check if hidden fields
535         should be shown.
536         (ebib-init): added a line to make timestamp a hidden field.
537         (ebib-hide-hidden-fields): new.
538         (ebib-toggle-hidden): new.
539         (ebib-move-to-field): new.
540         (ebib-find-visible-field): new.
541         (ebib-prev-field): rewritten to make use of ebib-move-to-field.
542         (ebib-next-field): same.
543         (ebib-goto-first-field): same.
544         (ebib-goto-last-field): same.
546 2007-02-02  Joost Kremers  <joostkremers@yahoo.com>
548         * ebib.el (ebib-use-timestamp): new.
549         (ebib-add-entry): modified so that it adds a timestamp if
550         ebib-use-timestamp is set.
552 2007-01-23  Joost Kremers  <joostkremers@yahoo.com>
554         * ebib.el (ebib-keys-window-size): new.
555         (ebib): modified to use ebib-keys-window-size.
556         (ebib-entry-page-up): same.
557         (ebib-entry-page-down): same.
558         (ebib-customize): new.
559         (ebib-index-mode-map): added "C" key command.
561 2007-01-10  Joost Kremers  <joostkremers@yahoo.com>
563         * ebib.el (ebib): added :prefix tag to defgroup.
565 2006-12-17  Joost Kremers  <joostkremers@yahoo.com>
567         * ebib.el (ebib-export-preamble): bug (no message being given
568         after exporting the preamble) fixed.
570 2006-12-13  Joost Kremers  <joostkremers@yahoo.com>
572         * ebib.el: Ebib 0.28 released.
574 2006-12-12  Joost Kremers  <joostkremers@yahoo.com>
576         * ebib.el (ebib-edit-crossref): fixed a bug that caused
577         ebib-set-modified not to be executed.
578         (ebib-set-modified): fixed. save-excursion should not be part of
579         the body of UNLESS.
580         (ebib-quit): ebib-default-type no longer set to nil. (quiting and
581         restarting ebib would leave it set to nil.)
582         (ebib-save-xrefs-first): new.
583         (ebib-compare-xrefs): new.
584         (ebib-format-database): modified to put crossreferencing entries
585         first.
587 2006-11-13  Joost Kremers  <joostkremers@yahoo.com>
589         * ebib.el: Ebib 0.27 released.
591 2006-11-01  Joost Kremers  <joostkremers@yahoo.com>
593         * ebib.el (ebib-paste-field-contents): combined two nested if's
594         into one or'ed.
596 2006-10-30  Joost Kremers  <joostkremers@yahoo.com>
598         * ebib.el (ebib-format-database): added argument db.
599         (ebib-format-strings): added argument db.
600         (ebib-sort-order): new.
601         (ebib-entry<): new.
602         (ebib-get-sortstring): new.
603         (ebib-insertion-strings): changed to an alist, so that multiple
604         insertion strings can be defined.
605         (ebib-insert-bibtex-key): modified to use the new ebib-insertion-strings.
607 2006-10-24  Joost Kremers  <joostkremers@yahoo.com>
609         * ebib.el (ebib-insert-bibtex-key): changed to use a customisable
610         insertion string.
611         (ebib-insertion-string): new.
613 2006-10-23  Joost Kremers  <joostkremers@yahoo.com>
615         * ebib.el: Ebib 0.26 released.
616         
617 2006-10-23  Joost Kremers  <joostkremers@yahoo.com>
619         * ebib.el (ebib-set-entry-types-hash): new, to make customising
620         the entry types through the customisation buffer possible.
621         (defentry): modified, so that an entry defined with defentry is
622         also added to the list ebib-entry-types.
623         (ebib-additional-fields): renamed from ebib-ign-fields; modified
624         to check whether a field is already in the list before it is
625         added, so that it is not added twice when Ebib is closed and
626         restarted in the same Emacs session.
627         (ebib-find-bibtex-entries): added modify-syntax-entry, so that
628         users can type (e.g.) "o to create umlaut-o.
629         (ebib-format-database): use mapc on edb-keys-list rather than
630         maphash on edb-database, so that the entries are saved in
631         alphabetical order. (Following a suggestion of Thomas Schmitz.)
633 2006-10-14  Joost Kremers  <joostkremers@yahoo.com>
635         * ebib.el: added customisation group ebib.
637 2006-10-01  Joost Kremers  <joostkremers@yahoo.com>
639         * ebib.el (ebib-remove-key-from-buffer): added when-entries, to
640         get rid of an error message when the last entry is deleted.
641         (ebib-find-end-of-field): fixed a nasty bug that occurred when
642         reading a .bib-file with an entry in which the last field is raw
643         and is immediately followed by the closing brace. Thanks to Thomas
644         Schmitz for bringing this to my attention.
646 2006-09-14  Joost Kremers  <joostkremers@yahoo.com>
648         * ebib.el (ebib-ign-fields): code, uri and location removed.
650 2006-08-29  Joost Kremers  <joostkremers@yahoo.com>
652         * ebib.el (ebib-find-bibtex-entries): changed to return a list of
653         the number of entries and number of strings found, and a boolean
654         for whether a preamble was found.
655         (ebib-load-bibtex-file): adapted to accept the new return value of
656         ebib-find-bibtex-entries.
657         (ebib-merge-bibtex-file): same.
658         (ebib-import): added.
660 2006-08-28  Joost Kremers  <joostkremers@yahoo.com>
662         * ebib.el (ebib-import): added.
664 2006-08-25  Joost Kremers  <joostkremers@yahoo.com>
666         * ebib.el: rearranged some of the variable definitions, so that
667         the entry types can be defined in ebib.el rather than in .ebibrc.
668         (ebib-index-mode-map): put the key definitions back in.
669         (ebib-entry-mode-map): same.
670         (ebib-strings-mode-map): same.
672 2006-08-18  Joost Kremers  <joostkremers@yahoo.com>
674         * ebib.el (ebib): renamed the keys buffer to index buffer and the
675         fields buffer to entry buffer.
676         (ebib-key): new. to enable customisation of the command keys
677         through .ebibrc.
678         (ebib-index-mode-map): moved key definitions to .ebibrc.
679         (ebib-entry-mode-map): same.
680         (ebib-strings-mode-map): same.
682 2006-08-17  Joost Kremers  <joostkremers@yahoo.com>
684         * ebib.el (ebib-add-entry): rewrote to use ebib-insert-entry.
686 2006-08-15  Joost Kremers  <joostkremers@yahoo.com>
688         * ebib.el (ebib-delete-entry): split into three functions.
689         (ebib-remove-key-from-buffer): split off from ebib-delete-entry.
690         (ebib-remove-entry-from-db): split off from ebib-delete-entry.
691         (ebib-edit-keyname): new. because it partially does the same as
692         ebib-delete-entry, i split up the latter.
694 2006-08-13  Joost Kremers  <joostkremers@yahoo.com>
696         * ebib.el (ebib-edit-field): added special clause for the annote
697         field, so that the user is dropped into the multiline edit buffer.
699 2005-11-18  Joost Kremers  <joostkremers@yahoo.com>
701         * ebib.el (ebib-read-string): changed so that it does not store
702         the braces or quotes surrounding the string.
703         (ebib-match-quote-forward): added a check to make sure that when a
704         double quote is found at the search limit, this isn't mistakenly
705         taken as the matching quote if it is escaped by a backslash.
707 2005-11-17  Joost Kremers  <joostkremers@yahoo.com>
709         * ebib.el (ebib-fields-mode-map): bound C-x k to
710         ebib-quit-fields-buffer.
711         (ebib-strings-mode-map): bound C-x b to ebib-lower, and C-x k to
712         ebib-quit-strings-buffer.
713         
714 2005-11-05  Joost Kremers  <joostkremers@yahoo.com>
716         * ebib.el (ebib-load-bibtex-file): use file-readable-p instead of
717         file-exits-p.
719 2005-11-04  Joost Kremers  <joostkremers@yahoo.com>
721         * ebib.el (ebib-format-fields): new. formats the fields and calls
722         a function to output them.
723         (ebib-fill-fields-buffer): moved the actual formatting and
724         printing code to ebib-format-fields.
725         (ensure-extension): new. make sure a filename has a specific
726         extension.
727         (ebib-load-bibtex-file): changed to use ensure-extension.
728         (remove-from-string): changed to function.
729         (symbol-or-string): same.
730         (ebib-extract-bibfile): new. looks for a \bibliography command in
731         the current buffer and reads its filename.
732         (ebib-get-db-from-filename): new. retrieve a bibtex database based
733         on filename.
734         (ebib-get-local-database): new. finds a database to associate with
735         the LaTeX file in the current buffer.
736         (ebib-insert-bibtex-key): removed option to use a prefix
737         argument. instead uses ebib-get-local-database to select a
738         database to get the keys from.
739         (ebib-entry-summary): new. reads the key at point and displays its
740         entry in a *Help* buffer.
742 2005-11-03  Joost Kremers  <joostkremers@yahoo.com>
744         * ebib.el (ebib-prefix): changed to function.
745         (next-elem): same.
746         (prev-elem): same.
747         (ebib-get-obl-fields): same.
748         (ebib-get-opt-fields): same.
750 2005-11-02  Joost Kremers  <joostkremers@yahoo.com>
752         * ebib.el (when-entries): new. execute BODY when there is a
753         database open and it contains entries.
754         (ebib-prev-entry): test whether there are entries in the current
755         database.
756         (ebib-next-entry): same.
757         (ebib-prev-entry): test whether there are entries in the current
758         database.
759         (ebib-next-entry): same.
760         (ebib-goto-first-entry): same.
761         (ebib-goto-last-entry): same.
762         (ebib-edit-entry): same.
763         (ebib-entry-page-up): same.
764         (ebib-entry-page-down): same.
765         (ebib-delete-entry): same.
766         (ebib-select-entry): same.
767         (ebib-export-entry): same.
768         (ebib-search-next): same.
769         (ebib-edit-strings): test whether a database is open.
770         (ebib-edit-preamble): same.
771         (ebib-search): test whether there are entries in the current
772         database, and ask for search string inside the function, rather
773         than in (interactive).
774         (ebib-export-preamble): test whether a database is open.
775         (ebib-next-database): same.
776         (ebib-prev-database): same.
777         (disabled): new. does nothing except beep. used to disable C-x k
778         and C-x b in the fields and strings buffers.
780 2005-11-02  Steve Youngs  <steve@sxemacs.org>
782         * ebib.el (ebib-init): Don't do anything with `ebib-keys-mode-map'
783         here.
784         (ebib-initial-keys-map): Removed.
785         (ebib-full-keys-map): Removed.
786         (ebib-keys-mode-map): Merge them into here.
787         (ebib-load-bibtex-file): Don't do anything with
788         `ebib-keys-mode-map' here.
789         (ebib-close-database): Ditto.
790         (ebib-fill-keys-buffer): Ditto.
791         (ebib-switch-to-database-nth): Make it compatible with
792         GNU/Emacs. 
794 2005-11-02  Joost Kremers  <joostkremers@yahoo.com>
796         * ebib.el (ebib-keys-mode): added C-x k and C-x b redefinitions
797         to ebib-initial-keys-map.
798         (ebib-fields-mode): same.
799         (ebib-strings-mode): same.
800         (ebib-t): removed.
802 2005-11-02  Steve Youngs  <steve@sxemacs.org>
804         * ebib.el (ebib-init): Copy the "initial keys" keymap into
805         `ebib-keys-mode-map'.
806         (ebib-initial-keys-map): Define all the keys inside the variable
807         definition instead of at top level.
808         (ebib-full-keys-map): Ditto.  Also make this keymap's parent be
809         `ebib-initial-keys-map' to save on double defining some keys.
810         (ebib-switch-to-database-nth): New.  Convenience function for
811         switching between databases.
812         (ebib-fill-keys-buffer): Set the local keymap to `ebib-keys-mode-map'.
813         (ebib-load-bibtex-file): Copy the "full keys" keymap into
814         `ebib-keys-mode-map'.
815         (ebib-close-database): Copy the "initial keys" keymap into
816         `ebib-keys-mode-map' and reset the local map.
817         (ebib-fields-mode-map): Define the keys in the variable definition
818         instead of at top level.
819         (ebib-strings-mode-map): Ditto.
820         (ebib-help-mode-map): Ditto.