some additions for logging.
[ebib.git] / src / ChangeLog
blob808fa257cc5302f19bda4b1c8bdbf5838a21d089
1 2007-11-07  Joost Kremers  <joostkremers@yahoo.com>
3         * ebib.el (ebib-merge-bibtex-file): added final call to ebib-log,
4         to insert "\n\f\n".
5         (ebib-find-bibtex-entries): added "Line" to warning message.
6         (ebib-read-string): same.
7         (ebib-read-entry): same.
9 2007-11-07  Joost Kremers  <joostkremers@yahoo.com>
11         * ebib.el (ebib-log-error): new.
12         (ebib-create-buffers): added creating the log buffer.
13         (ebib-find-bibtex-entries): modified to use ebib-log.
14         (ebib-read-string): same.
15         (ebib-read-entry): same.
17 2007-11-06  Joost Kremers  <joostkremers@yahoo.com>
19         * ebib.el (ebib-customize): added doc string.
20         (ebib-log-buffer): new.
21         (ebib-log): new.
22         (ebib-load-bibtex-file): modified to use ebib-log.
23         (ebib-merge-bibtex-file): same.
25 2007-11-02  Joost Kremers  <joostkremers@yahoo.com>
27         * ebib.el (ebib-syntax-table): new.
28         (ebib-load-bibtex-file): modified to use with-syntax-table.
29         (ebib-merge-bibtex-file): same.
30         (ebib-import): same.
31         (ebib-store-multiline-text): check-parens removed.
33 2007-10-31  Joost Kremers  <joostkremers@yahoo.com>
35         * ebib.el (ebib-init): removed test whether ~/.ebibrc exists; use
36         second (optional) argument to load instead.
38 2007-10-29  Joost Kremers  <joostkremers@yahoo.com>
40         * ebib.el (ebib-marked-face): turned into a customisable option.
41         (ebib-fill-index-buffer): modified to use ebib-marked-face as a
42         face, rather than a variable.
43         (ebib-mark-entry): same.
45 2007-10-29  Joost Kremers  <joostkremers@yahoo.com>
47         * ebib.el (ebib-fill-index-buffer): changed mapcar to mapc
48         (prevents compiler warning). fix provided by Leo
49         <sdl.web at gmail.com>.
50         (ebib): added autoload cookie. suggested by Leo
51         <sdl.web at gmail.com>.
52         (ebib-mark-entry): fixed typo: '(face ,ebib-marked-face) to `(face
53         ,ebib-marked-face). fix provided by Leo <sdl.web at gmail.com>.
55 2007-10-22  Joost Kremers  <joostkremers@yahoo.com>
57         * ebib.el (ebib): modified to store the buffer from which ebib is
58         called in ebib-push-buffer, so that it becomes the default for
59         pushing entries. Thanks to Sinisa Pajevic for the suggestion.
61 2007-10-20  Joost Kremers  <joostkremers@yahoo.com>
63         * ebib.el (ebib-redisplay-current-field): modified. now redisplays
64         the entire entry buffer is the current field is crossref. (cutting
65         the value from the crossref field would leave the inherited field
66         values visible.)
67         (ebib-import): modified to use insert-buffer-substring, rather
68         than buffer-string and insert. this way, there is no need to
69         temporarily store the buffer contents in a variable.
70         (ebib-get-field-highlighted): modified so that it doesn't produce
71         an error if an entry contains a crossref to an entry that does not
72         exist.
73         (ebib-get-local-databases): variable bibfiles removed from the let.
75 2007-10-20  Joost Kremers  <joostkremers@yahoo.com>
77         * ebib.el (ebib-local-bibtex-filenames): renamed from
78         ebib-local-bibtex-filname. this is now a list of strings, rather
79         than a string. thanks to Sinisa Pajevic for pointing out that a
80         \bibliography command can contain more than one .bib file.
81         (ebib-extract-bibfiles): removed.
82         (ebib-get-local-databases): modified to return a list of database
83         filenames. also now uses insert-buffer-substring, rather than a
84         combination of buffer-string and insert.
85         (ebib-insert-bibtex-key): modified so that it can handle multiple
86         bibtex files. this reflects the change to
87         ebib-local-bibtex-filenames.
88         (ebib-entry-summary): same.
90 2007-10-19  Joost Kremers  <joostkremers@yahoo.com>
92         * ebib.el (ebib-push-entry-key): new. pushes the current entry
93         key, or the marked entry keys, to a buffer, using
94         ebib-insertion-strings. thanks to Sinisa Pajevic for suggesting
95         this feature.
96         (ebib-key "p"): changed to ebib-push-entry-key.
97         (ebib-key "r"): new. assigned to ebib-edit-preamble.
98         (ebib-prefixed-functions): ebib-push-entry-key added.
99         (ebib-push-buffer): new. holds the name of the last buffer to
100         which an entry was pushed, to present it as default in the next
101         push operation.
102         (ebib-insertion-strings): modified default value: 0 added.
104 2007-10-11  Joost Kremers  <joostkremers@yahoo.com>
106         * ebib.el (ebib-get-field-highlighted): modified so as to show
107         field values inherited from a cross-referenced entry.
108         (ebib-crossref-face): new.
109         (ebib-edit-crossref): modified to redisplay the entire entry
110         buffer, not just the current field.
112 2007-07-29  Joost Kremers  <joostkremers@yahoo.com>
114         * ebib.el (ebib-store-multiline-text): added a check to make sure
115         the text in the buffer doesn't contain unbalanced braces.
116         (ebib-filter-to-virtual-db): changed to give more feedback in the
117         minibuffer about what the user is doing.
119 2007-06-26  Joost Kremers  <joostkremers@yahoo.com>
121         * ebib.el (ebib-insert-bibtex-key): changed to show the cite
122         command that the user has selected through the prefix argument.
124 2007-04-26  Joost Kremers  <joostkremers@yahoo.com>
126         * ebib.el (ebib-standard-url-field): doc string modified.
128 2007-04-06  Joost Kremers  <joostkremers@yahoo.com>
130         * ebib.el (ebib-allow-identical-fields): new.
131         (ebib-find-bibtex-fields): modified so as to use
132         ebib-allow-identical-fields.
134 2007-03-30  Joost Kremers  <joostkremers@yahoo.com>
136         * ebib.el (ebib-url-regexp): bug fix: removed \l from default
137         value.
139 2007-03-29  Joost Kremers  <joostkremers@yahoo.com>
141         * ebib.el: Ebib 1.3.0 released.
143 2007-03-29  Joost Kremers  <joostkremers@yahoo.com>
145         * ebib.el (ebib-index-mode-map): added "u" key.
146         (ebib-url-field): new.
147         (ebib-url-regexp): new.
148         (ebib-browse-url): new.
149         (ebib-call-browser): new.
150         (ebib-entry-mode-map): added "u" key.
151         (ebib-browse-url-in-field): new.
152         (ebib-call-browser-command): new.
154 2007-03-28  Joost Kremers  <joostkremers@yahoo.com>
156         * ebib.el (raw-p): regexp "\".*?\" replaced with
157         "\"[^\"]*?\"". The dot doesn't match \n, so a multiline string
158         enclosed by double quotes was incorrectly recognised as a raw
159         string.
161 2007-03-27  Joost Kremers  <joostkremers@yahoo.com>
163         * ebib.el (ebib-export-entry): ebib-execute-when
164         removed. ebib-marked-p replaced with ebib-called-with-prefix.
165         (ebib-export-single-entry): added ebib-execute-when.
166         (ebib-export-marked-entries): same.
167         (ebib-prefix-map): new. (actually, this is ebib-semicolon-map
168         reintroduced under a new name.)
169         (ebib-index-mode-map): binding of the prefix key ";" changed to
170         ebib-prefix-map.
171         (ebib-key): modified so that if the user redefines a key in
172         ebib-index-mode-map, it checks whether the function is bound in
173         ebib-prefix-map as well, and if so, binds it to the same
174         key. Furthermore, if the user unbinds a key, it is unbound in
175         ebib-prefix-map as well.
176         (ebib-marked-p): removed.
177         (ebib-prefixed-functions): new.
178         (ebib-prefix-key): new.
179         (ebib-key): modified so that it unsets the current prefix key if
180         the user redefines the prefix key with mark-prefix.
181         (ebib-index-mode-map): key bindings no longer done in the defvar
182         definition, but at top level with ebib-key. Using ebib-key has the
183         advantage that ebib-prefix-map is automatically set up correctly
184         as well.
186 2007-03-26  Joost Kremers  <joostkremers@yahoo.com>
188         * ebib.el (ebib-called-with-prefix): new.
189         (ebib-marked-p): new.
190         (ebib-prefix-key): new.
191         (ebib-key): added clause for mark-prefix.
192         (ebib-delete-marked-entries): removed.
193         (ebib-delete-entry): modified to handle the prefix key.
194         (ebib-export-entry): modified to call either of two helper
195         functions, depending on whether it was called with or without
196         prefix key.
197         (ebib-export-single-entry): new. helper function for
198         ebib-export-entry.
199         (ebib-export-marked-entries): changed into helper function for
200         ebib-export-entry.
201         (ebib-print-database): removed.
202         (ebib-print-marked-entries): removed.
203         (ebib-semicolon-map): removed.
204         (ebib-index-mode-map): binding for L changed to
205         ebib-latex-entries, and binding for P changed to
206         ebib-print-entries.
207         (ebib-print-entries): made interactive and modified to handle
208         marked entries.
209         (ebib-latex-database): removed.
210         (ebib-latex-marked-entries): removed.
211         (ebib-latex-entries): made interactive and modified to handle
212         marked entries.
213         (ebib-mark-all): removed.
215 2007-03-25  Joost Kremers  <joostkremers@yahoo.com>
217         * ebib.el (ebib-remove-entry-from-db): modified so that a deleted
218         entry is also deleted from edb-marked-entries if it's there. This
219         avoids problems when the user deletes a marked entry, and also
220         when he renames the entry key of a marked entry.
221         (ebib-delete-marked-entries): no longer sets edb-marked-entries to
222         nil, as the entries are removed one by one by
223         ebib-remove-entry-from-db.
224         (ebib-edit-keyname): modified so that it marks the renamed entry
225         if it was marked before the renaming.
226         (ebib-unmark-all): renamed to ebib-mark-all.
227         (ebib-mark-all): modified so that it marks all entries if there
228         are no marked entries.
229         (ebib-mark-entry): real-db removed from ebib-execute-when.
230         (ebib-export-entry): modified to include the entry name in the
231         messages passed to ebib-export-to-db and ebib-export-to-file.
232         (ebib-export-string): same with string abbreviation.
234 2007-03-24  Joost Kremers  <joostkremers@yahoo.com>
236         * ebib.el (ebib-export-string): modified to make use of
237         ebib-export-to-db and ebib-export-to-file.
238         (ebib-export-all-strings): same.
239         (ebib-export-preamble): same.
240         (ebib-export-marked-entries): new.
241         (ebib-semicolon-map): new key "x" added.
242         (propertize): new.
243         (ebib-write-database): rewritten to stop XEmacs from
244         complaining. (See arch log for details.)
245         (ebib-export-to-file): modified documentation string, as it said
246         something about insert-fn that isn't correct.
247         (ebib-execute-helper): added marked-entries.
248         (ebib-delete-marked-entries): modified to use marked-entries.
249         (ebib-export-marked-entries): same.
250         (ebib-delete-marked-entries): added default clause to
251         ebib-execute-when.
252         (ebib-print-entries): new. contains most of the code of former
253         ebib-print-database.
254         (ebib-print-database): modified to use ebib-print-entries.
255         (ebib-print-marked-entries): new.
256         (define-prefix-command): new keys "P", "L" and "m".
257         (ebib-mark-entry): modified: no longer adds the text properties to
258         the entry key in the database, just in the index buffer.
259         (ebib-fill-index-buffer): modified so that it adds a highlight to
260         marked entries.
261         (ebib-latex-entries): new. contains most of the code of former
262         ebib-latex-database.
263         (ebib-latex-database): modified to use ebib-latex-entries.
264         (ebib-latex-marked-entries): new.
265         (ebib-unmark-all): new.
267 2007-03-23  Joost Kremers  <joostkremers@yahoo.com>
269         * ebib.el (ebib-export-to-db): new.
270         (ebib-export-to-file): new.
271         (ebib-export-entry): modified to make use of ebib-export-to-db and
272         ebib-export-to-file.
274 2007-03-20  Joost Kremers  <joostkremers@yahoo.com>
276         * ebib.el (ebib-edit-field): changed to unconditionally add braces
277         around the text the user enters. Formerly, this was done through
278         from-raw, which meant that if the user typed braces around the
279         text, these would disappear.
281 2007-03-19  Joost Kremers  <joostkremers@yahoo.com>
283         * ebib.el (add-to-listq): added a test for Emacs < 22.
284         (ebib-index-mode-map): removed 'ebib-index-mode-map argument to
285         make-keymap. Emacs officially doesn't even allow it, and in XEmacs
286         it's optional.
287         (ebib-entry-mode-map): same.
288         (ebib-strings-mode-map): same.
289         (ebib-help-mode-map): same.
290         (ebib-semicolon-map): new.
291         (ebib-index-mode-map): added ";" key.
292         (ebib-remove-entry-from-db): bug fix: would delete the key of the
293         current entry from the keys list, regardless of which entry was
294         actually deleted.
295         (ebib-semicolon-map): added "d" key.
296         (ebib-delete-marked-entries): new.
297         (ebib-entry-mode-map): bindings of C-x b and C-x k changed to
298         'undefined.
299         (disabled): removed. The predefined function undefined does the
300         same thing.
302 2007-03-13  Joost Kremers  <joostkremers@yahoo.com>
304         * ebib.el (ebib-filter-to-virtual-db): removed the check for the
305         `type' field. What was actually meant was the `type*' field, and
306         since this is not in ebib-unique-field-list anyway, the user isn't
307         able to filter on it.
309 2007-03-12  Joost Kremers  <joostkremers@yahoo.com>
311         * ebib.el (ebib-mark-entry): added again for the 1.3 branch.
313 2007-03-12  Joost Kremers  <joostkremers@yahoo.com>
315         * ebib.el: ebib 1.2.0 released.
317 2007-03-12  Joost Kremers  <joostkremers@yahoo.com>
319         * ebib.el (ebib-mark-entry): removed in preparation for release.
321 2007-03-12  Joost Kremers  <joostkremers@yahoo.com>
323         * ebib.el (ebib-print-database): bugfix: if ebib-print-tempfile is
324         set to "", which is its default value, the body of if-str would
325         not be executed.
326         (ebib-latex-database): same.
328 2007-03-10  Joost Kremers  <joostkremers@yahoo.com>
330         * ebib.el (ebib-latex-database): new.
331         (ebib-print-preamble): new.
332         (ebib-print-multiline): new.
333         (ebib-latex-preamble): new.
334         (ebib-print-tempfile): new.
335         (ebib-print-database): modified to use ebib-print-preamble,
336         ebib-print-multiline and ebib-print-tempfile.
337         (ebib-latex-database): added real-db to ebib-execute-when.
338         (ebib-timestamp-format): new.
339         (ebib-insert-entry): modified to use format-time-string and ebib-timestamp-format.
340         (ebib-format-entry): same.
341         (ebib-yank-field-contents): renamed from ebib-paste-field-contents.
343 2007-03-08  Joost Kremers  <joostkremers@yahoo.com>
345         * ebib.el (ebib-print-database): new.
347 2007-03-06  Joost Kremers  <joostkremers@yahoo.com>
349         * ebib.el (ebib-index-scroll-down): new. replaces ebib-entry-page-up.
350         (ebib-index-scroll-up): new. replaces ebib-entry-page-down.
351         (ebib-follow-crossref): new.
352         (ebib-index-mode-map): added "F" key.
354 2007-03-02  Joost Kremers  <joostkremers@yahoo.com>
356         * ebib.el (ebib-delete-entry): removed optional argument
357         entry-key, as it wasn't used at all.
359 2007-03-01  Joost Kremers  <joostkremers@yahoo.com>
361         * ebib.el (ebib-paste-field-contents): sets this-command to t if
362         called illegally. that way, a second consecutive call to this
363         function is also recognised as illegal.
365 2007-02-26  Joost Kremers  <joostkremers@yahoo.com>
367         * ebib.el (ebib-paste-field-contents): doc string slightly expanded.
369 2007-02-25  Joost Kremers  <joostkremers@yahoo.com>
371         * ebib.el (ebib-paste-field-contents): added test for crossref field.
372         (ebib-paste-field-contents): modified so that repeatedly calling
373         this command walks around the kill ring, just like C-y/M-y.
375 2007-02-23  Joost Kremers  <joostkremers@yahoo.com>
377         * ebib.el (ebib-move-to-field): bug fix: if the field being moved
378         to is type*, used to search for 'type', causing confusion with an
379         actual type field (e.g. in the entry type incollection.) now just
380         moves to (point-min).
381         (ebib-set-modified): bug fix: the modification flag of the index
382         buffer would be (re)set, regardless of whether it actually holds
383         the database whose modification flag is being (re)set.
385 2007-02-22  Joost Kremers  <joostkremers@yahoo.com>
387         * ebib.el (ebib-execute-when): changed so that it does not produce
388         a spurious and if the envs list of a form only contains one element.
390 2007-02-21  Joost Kremers  <joostkremers@yahoo.com>
392         * ebib.el (ebib-print-filter): changed the argument of interactive
393         from "p" to "P", to obtain the raw prefix argument.
394         (ebib-save-current-database): changed message to error.
395         (ebib-print-filter): added a default-clause to ebib-execute-when,
396         to produce a beep.
397         (ebib-prev-entry): same.
398         (ebib-next-entry): same.
399         (ebib-add-entry): same.
400         (ebib-goto-first-entry): same.
401         (ebib-goto-last-entry): same.
402         (ebib-edit-keyname): same.
403         (ebib-mark-entry): same.
404         (ebib-entry-page-up): same.
405         (ebib-entry-page-down): same.
406         (ebib-write-database): same.
407         (ebib-delete-entry): same.
408         (ebib-select-entry): same.
409         (ebib-export-entry): same.
410         (ebib-search): same.
411         (ebib-search-next): same.
412         (ebib-edit-strings): same.
413         (ebib-edit-preamble): same.
414         (ebib-export-preamble): same.
415         (ebib-virtual-db-and): same.
416         (ebib-virtual-db-or): same.
417         (ebib-virtual-db-not): same.
419 2007-02-20  Joost Kremers  <joostkremers@yahoo.com>
421         * ebib.el (ebib-filter-to-virtual-db): fixed a bug: the additional
422         fields weren't included in the collection.
423         (ebib-edit-field): spurious progn removed.
424         (ebib-execute-helper): wrapped in an eval-and-compile because
425         otherwise XEmacs complains that the symbol ebib-execute-helper's
426         value as function is void.
427         (safe-write-region): new. GNU Emacs has an optional argument to
428         write-region that can be used to make sure the user doesn't
429         inadvertently overwrite an already existing file. XEmacs does not
430         have this argument.
431         (ebib-write-database): modified to use safe-write-region.
432         (ebib-insertion-strings): changed the default value from nil to
433         '((1 . "\\cite{%s}")).
435 2007-02-19  Joost Kremers  <joostkremers@yahoo.com>
437         * ebib.el (ebib-index-mode-map): changed binding for
438         ebib-merge-bibtex-file from "m" to "M".
439         (ebib-index-mode-map): added binding "m" for ebib-mark-entry.
440         (ebib-mark-entry): new.
441         (ebib-marked-face): new. needed to accommodate xemacs. there must
442         be a better way to do this... Note that in xemacs, i know of no
443         better way than to use '(face highlight) for both the overlay
444         marking the current entry and to mark selected entries. that means
445         that you cannot tell if the current entry is selected or not. gnu
446         emacs has highlight and :inverse-video. (though the former may be
447         obsoleted at some point?)
448         (ebib-fill-index-buffer): changed to accommodate xemacs. (see
449         comment in the source.)
450         (ebib-index-buffer-help): updated.
451         (ebib-execute-when): new.
452         (ebib-execute-helper): new.
453         (when-entries): removed. its functionality is now covered by
454         ebib-execute-when.
455         (ebib-write-database): modified to use ebib-execute-when and if-str.
456         (ebib-export-entry): modified to use ebib-execute-when. also added
457         a check to make sure that the goal database is not virtual.
458         (ebib-export-preamble): same.
459         (ebib-export-all-strings): added a check to make sure the goal
460         database is not virtual.
461         (ebib-export-string): same.
462         (ebib-prev-entry): modified to use ebib-execute-when.
463         (ebib-next-entry): same.
464         (ebib-add-entry): same.
465         (ebib-close-database): same.
466         (ebib-goto-first-entry): same.
467         (ebib-goto-last-entry): same.
468         (ebib-edit-entry): same.
469         (ebib-edit-keyname): same.
470         (ebib-entry-page-up): same.
471         (ebib-entry-page-down): same.
472         (ebib-save-database): same.
473         (ebib-save-current-database): same.
474         (ebib-delete-entry): same.
475         (ebib-remove-key-from-buffer): same.
476         (ebib-select-entry): same.
477         (ebib-search): same.
478         (ebib-search-next): same.
479         (ebib-edit-strings): same.
480         (ebib-edit-preamble): same.
481         (ebib-next-database): same.
482         (ebib-prev-database): same.
483         (ebib-virtual-db-and): same.
484         (ebib-virtual-db-or): same.
485         (ebib-virtual-db-not): same.
486         (ebib-print-filter): same.
488 2007-02-19  Joost Kremers  <joostkremers@yahoo.com>
490         * ebib.el: ebib-1.1.4 released.
492 2007-02-19  Joost Kremers  <joostkremers@yahoo.com>
494         * ebib.el (ebib-filter-to-virtual-db): changed the collection to
495         contain strings rather than symbols, because xemacs requires that.
497 2007-02-18  Joost Kremers  <joostkremers@yahoo.com>
499         * ebib.el (add-to-listq): new. introduced mainly because xemacs
500         doesn't allow the fourth argument to add-to-list. (actually, i'm
501         not sure if emacs 21.4 supports it...)
503 2007-02-13  Joost Kremers  <joostkremers@yahoo.com>
505         * ebib.el (ebib-quit): set ebib-strings-highlight to nil.
507 2007-02-11  Joost Kremers  <joostkremers@yahoo.com>
509         * ebib.el (ebib-unique-field-list): new. used for TAB-completion
510         in ebib-filter-to-virtual-db.
511         (ebib-set-entry-types-hash): modified to set
512         ebib-unique-field-list.
513         (ebib-key): modified to keep the cond statement out of the
514         expansion.
515         (ebib-create-new-database): modified to take an optional database
516         argument: if supplied, returns a copy of that database.
517         (ebib-index-mode-map): added "&", "|", "~" and "V".
518         (ebib-virtual-db-and): new.
519         (ebib-virtual-db-or): new.
520         (ebib-virtual-db-not): new.
521         (ebib-filter-to-virtual-db): new.
522         (ebib-create-virtual-db): new.
523         (contains): new.
524         (ebib-run-filter): new.
525         (ebib-print-filter): new.
526         (ebib-write-database): modified to handle virtual databases.
527         (ebib-edit-entry): modified to exclude virtual databases.
528         (ebib-edit-keyname): same.
529         (ebib-save-current-database): same.
530         (ebib-save-database): same.
531         (ebib-merge-bibtex-file): same
532         (ebib-add-entry): same.
533         (ebib-delete-entry): same.
534         (ebib-export-entry): same.
535         (ebib-edit-strings): same.
536         (ebib-edit-preamble): same.
537         (ebib-export-preamble): same.
538         (ebib-import): same.
539         (ebib-fill-entry-buffer): modified so that it does not result in
540         an error if the current entry does not exist. This is needed in
541         case the user deletes an entry from a database that has a virtual
542         database that containe that entry.
543         (ebib-format-entry): put (eq key 'timestamp) first in the and
544         clause. no need to check timestamp and ebib-use-timestamp for any
545         other field.
546         (ebib-write-database): modified so that when a virtual database is
547         written to a file, it doesn't attempt to put an entry that is
548         still in a virtual database's keys-list but has been deleted in
549         the source database into the new database. (note: this is still
550         not the proper way to handle this. we need to find a clean way to
551         handle the consequences of an entry being deleted in a source
552         database.)
554 2007-02-10  Joost Kremers  <joostkremers@yahoo.com>
556         * ebib.el (when-entries): included a declare indent statement.
557         (with-buffer-writable): same.
558         (edb): added fields `name' and `virtual'.
559         (ebib-fill-index-buffer): modified to use edb-name.
560         (ebib-load-bibtex-file): same.
561         (ebib-write-database): same.
562         (ebib-search-in-entry): added optional field argument.
564 2007-02-04  Joost Kremers  <joostkremers@yahoo.com>
566         * ebib.el (ebib-goto-next-set): adapted to make use of
567         ebib-move-to-field.
568         (ebib-goto-prev-set): same.
569         (defentry): removed.
570         (ebib-preload): removed.
571         (ebib-additional-fields): removed.
572         (ebib-insert-entry): modified to insert a timestamp, depending on
573         the argument TIMESTAMP and on the setting of EBIB-USE-TIMESTAMP.
574         (ebib-add-entry): modified: it no longer adds a timestamp
575         itself (as it did after the change two days ago) but just requests
576         ebib-insert-entry to do so.
577         (ebib-read-entry): modified to request insertion of a timestamp.
578         (ebib-edit-keyname): modified so as to explicitly NOT insert a
579         timestamp.
580         (ebib-export-entry): modified so as to request insertion of a
581         timestamp, both when exporting to another database and to a file.
582         (ebib-find-bibtex-entries): modified: timestamp argument
583         added. This argument is simply passed on to ebib-read-entry.
584         (ebib-load-bibtex-file): modified so that no timestamp is inserted
585         into the entries read from file.
586         (ebib-import): modified to request insertion of a timestamp.
587         (ebib-format-entry): modified to insert a timestamp if required.
588         (ebib-export-entry): fixed a bug that kept ebib-export-filename
589         from being set.
590         (ebib-export-preamble): same.
592 2007-02-03  Joost Kremers  <joostkremers@yahoo.com>
594         * ebib.el (ebib-format-fields): modified to check if hidden fields
595         should be shown.
596         (ebib-init): added a line to make timestamp a hidden field.
597         (ebib-hide-hidden-fields): new.
598         (ebib-toggle-hidden): new.
599         (ebib-move-to-field): new.
600         (ebib-find-visible-field): new.
601         (ebib-prev-field): rewritten to make use of ebib-move-to-field.
602         (ebib-next-field): same.
603         (ebib-goto-first-field): same.
604         (ebib-goto-last-field): same.
606 2007-02-02  Joost Kremers  <joostkremers@yahoo.com>
608         * ebib.el (ebib-use-timestamp): new.
609         (ebib-add-entry): modified so that it adds a timestamp if
610         ebib-use-timestamp is set.
612 2007-01-23  Joost Kremers  <joostkremers@yahoo.com>
614         * ebib.el (ebib-keys-window-size): new.
615         (ebib): modified to use ebib-keys-window-size.
616         (ebib-entry-page-up): same.
617         (ebib-entry-page-down): same.
618         (ebib-customize): new.
619         (ebib-index-mode-map): added "C" key command.
621 2007-01-10  Joost Kremers  <joostkremers@yahoo.com>
623         * ebib.el (ebib): added :prefix tag to defgroup.
625 2006-12-17  Joost Kremers  <joostkremers@yahoo.com>
627         * ebib.el (ebib-export-preamble): bug (no message being given
628         after exporting the preamble) fixed.
630 2006-12-13  Joost Kremers  <joostkremers@yahoo.com>
632         * ebib.el: Ebib 0.28 released.
634 2006-12-12  Joost Kremers  <joostkremers@yahoo.com>
636         * ebib.el (ebib-edit-crossref): fixed a bug that caused
637         ebib-set-modified not to be executed.
638         (ebib-set-modified): fixed. save-excursion should not be part of
639         the body of UNLESS.
640         (ebib-quit): ebib-default-type no longer set to nil. (quiting and
641         restarting ebib would leave it set to nil.)
642         (ebib-save-xrefs-first): new.
643         (ebib-compare-xrefs): new.
644         (ebib-format-database): modified to put crossreferencing entries
645         first.
647 2006-11-13  Joost Kremers  <joostkremers@yahoo.com>
649         * ebib.el: Ebib 0.27 released.
651 2006-11-01  Joost Kremers  <joostkremers@yahoo.com>
653         * ebib.el (ebib-paste-field-contents): combined two nested if's
654         into one or'ed.
656 2006-10-30  Joost Kremers  <joostkremers@yahoo.com>
658         * ebib.el (ebib-format-database): added argument db.
659         (ebib-format-strings): added argument db.
660         (ebib-sort-order): new.
661         (ebib-entry<): new.
662         (ebib-get-sortstring): new.
663         (ebib-insertion-strings): changed to an alist, so that multiple
664         insertion strings can be defined.
665         (ebib-insert-bibtex-key): modified to use the new ebib-insertion-strings.
667 2006-10-24  Joost Kremers  <joostkremers@yahoo.com>
669         * ebib.el (ebib-insert-bibtex-key): changed to use a customisable
670         insertion string.
671         (ebib-insertion-string): new.
673 2006-10-23  Joost Kremers  <joostkremers@yahoo.com>
675         * ebib.el: Ebib 0.26 released.
676         
677 2006-10-23  Joost Kremers  <joostkremers@yahoo.com>
679         * ebib.el (ebib-set-entry-types-hash): new, to make customising
680         the entry types through the customisation buffer possible.
681         (defentry): modified, so that an entry defined with defentry is
682         also added to the list ebib-entry-types.
683         (ebib-additional-fields): renamed from ebib-ign-fields; modified
684         to check whether a field is already in the list before it is
685         added, so that it is not added twice when Ebib is closed and
686         restarted in the same Emacs session.
687         (ebib-find-bibtex-entries): added modify-syntax-entry, so that
688         users can type (e.g.) "o to create umlaut-o.
689         (ebib-format-database): use mapc on edb-keys-list rather than
690         maphash on edb-database, so that the entries are saved in
691         alphabetical order. (Following a suggestion of Thomas Schmitz.)
693 2006-10-14  Joost Kremers  <joostkremers@yahoo.com>
695         * ebib.el: added customisation group ebib.
697 2006-10-01  Joost Kremers  <joostkremers@yahoo.com>
699         * ebib.el (ebib-remove-key-from-buffer): added when-entries, to
700         get rid of an error message when the last entry is deleted.
701         (ebib-find-end-of-field): fixed a nasty bug that occurred when
702         reading a .bib-file with an entry in which the last field is raw
703         and is immediately followed by the closing brace. Thanks to Thomas
704         Schmitz for bringing this to my attention.
706 2006-09-14  Joost Kremers  <joostkremers@yahoo.com>
708         * ebib.el (ebib-ign-fields): code, uri and location removed.
710 2006-08-29  Joost Kremers  <joostkremers@yahoo.com>
712         * ebib.el (ebib-find-bibtex-entries): changed to return a list of
713         the number of entries and number of strings found, and a boolean
714         for whether a preamble was found.
715         (ebib-load-bibtex-file): adapted to accept the new return value of
716         ebib-find-bibtex-entries.
717         (ebib-merge-bibtex-file): same.
718         (ebib-import): added.
720 2006-08-28  Joost Kremers  <joostkremers@yahoo.com>
722         * ebib.el (ebib-import): added.
724 2006-08-25  Joost Kremers  <joostkremers@yahoo.com>
726         * ebib.el: rearranged some of the variable definitions, so that
727         the entry types can be defined in ebib.el rather than in .ebibrc.
728         (ebib-index-mode-map): put the key definitions back in.
729         (ebib-entry-mode-map): same.
730         (ebib-strings-mode-map): same.
732 2006-08-18  Joost Kremers  <joostkremers@yahoo.com>
734         * ebib.el (ebib): renamed the keys buffer to index buffer and the
735         fields buffer to entry buffer.
736         (ebib-key): new. to enable customisation of the command keys
737         through .ebibrc.
738         (ebib-index-mode-map): moved key definitions to .ebibrc.
739         (ebib-entry-mode-map): same.
740         (ebib-strings-mode-map): same.
742 2006-08-17  Joost Kremers  <joostkremers@yahoo.com>
744         * ebib.el (ebib-add-entry): rewrote to use ebib-insert-entry.
746 2006-08-15  Joost Kremers  <joostkremers@yahoo.com>
748         * ebib.el (ebib-delete-entry): split into three functions.
749         (ebib-remove-key-from-buffer): split off from ebib-delete-entry.
750         (ebib-remove-entry-from-db): split off from ebib-delete-entry.
751         (ebib-edit-keyname): new. because it partially does the same as
752         ebib-delete-entry, i split up the latter.
754 2006-08-13  Joost Kremers  <joostkremers@yahoo.com>
756         * ebib.el (ebib-edit-field): added special clause for the annote
757         field, so that the user is dropped into the multiline edit buffer.
759 2005-11-18  Joost Kremers  <joostkremers@yahoo.com>
761         * ebib.el (ebib-read-string): changed so that it does not store
762         the braces or quotes surrounding the string.
763         (ebib-match-quote-forward): added a check to make sure that when a
764         double quote is found at the search limit, this isn't mistakenly
765         taken as the matching quote if it is escaped by a backslash.
767 2005-11-17  Joost Kremers  <joostkremers@yahoo.com>
769         * ebib.el (ebib-fields-mode-map): bound C-x k to
770         ebib-quit-fields-buffer.
771         (ebib-strings-mode-map): bound C-x b to ebib-lower, and C-x k to
772         ebib-quit-strings-buffer.
773         
774 2005-11-05  Joost Kremers  <joostkremers@yahoo.com>
776         * ebib.el (ebib-load-bibtex-file): use file-readable-p instead of
777         file-exits-p.
779 2005-11-04  Joost Kremers  <joostkremers@yahoo.com>
781         * ebib.el (ebib-format-fields): new. formats the fields and calls
782         a function to output them.
783         (ebib-fill-fields-buffer): moved the actual formatting and
784         printing code to ebib-format-fields.
785         (ensure-extension): new. make sure a filename has a specific
786         extension.
787         (ebib-load-bibtex-file): changed to use ensure-extension.
788         (remove-from-string): changed to function.
789         (symbol-or-string): same.
790         (ebib-extract-bibfile): new. looks for a \bibliography command in
791         the current buffer and reads its filename.
792         (ebib-get-db-from-filename): new. retrieve a bibtex database based
793         on filename.
794         (ebib-get-local-database): new. finds a database to associate with
795         the LaTeX file in the current buffer.
796         (ebib-insert-bibtex-key): removed option to use a prefix
797         argument. instead uses ebib-get-local-database to select a
798         database to get the keys from.
799         (ebib-entry-summary): new. reads the key at point and displays its
800         entry in a *Help* buffer.
802 2005-11-03  Joost Kremers  <joostkremers@yahoo.com>
804         * ebib.el (ebib-prefix): changed to function.
805         (next-elem): same.
806         (prev-elem): same.
807         (ebib-get-obl-fields): same.
808         (ebib-get-opt-fields): same.
810 2005-11-02  Joost Kremers  <joostkremers@yahoo.com>
812         * ebib.el (when-entries): new. execute BODY when there is a
813         database open and it contains entries.
814         (ebib-prev-entry): test whether there are entries in the current
815         database.
816         (ebib-next-entry): same.
817         (ebib-prev-entry): test whether there are entries in the current
818         database.
819         (ebib-next-entry): same.
820         (ebib-goto-first-entry): same.
821         (ebib-goto-last-entry): same.
822         (ebib-edit-entry): same.
823         (ebib-entry-page-up): same.
824         (ebib-entry-page-down): same.
825         (ebib-delete-entry): same.
826         (ebib-select-entry): same.
827         (ebib-export-entry): same.
828         (ebib-search-next): same.
829         (ebib-edit-strings): test whether a database is open.
830         (ebib-edit-preamble): same.
831         (ebib-search): test whether there are entries in the current
832         database, and ask for search string inside the function, rather
833         than in (interactive).
834         (ebib-export-preamble): test whether a database is open.
835         (ebib-next-database): same.
836         (ebib-prev-database): same.
837         (disabled): new. does nothing except beep. used to disable C-x k
838         and C-x b in the fields and strings buffers.
840 2005-11-02  Steve Youngs  <steve@sxemacs.org>
842         * ebib.el (ebib-init): Don't do anything with `ebib-keys-mode-map'
843         here.
844         (ebib-initial-keys-map): Removed.
845         (ebib-full-keys-map): Removed.
846         (ebib-keys-mode-map): Merge them into here.
847         (ebib-load-bibtex-file): Don't do anything with
848         `ebib-keys-mode-map' here.
849         (ebib-close-database): Ditto.
850         (ebib-fill-keys-buffer): Ditto.
851         (ebib-switch-to-database-nth): Make it compatible with
852         GNU/Emacs. 
854 2005-11-02  Joost Kremers  <joostkremers@yahoo.com>
856         * ebib.el (ebib-keys-mode): added C-x k and C-x b redefinitions
857         to ebib-initial-keys-map.
858         (ebib-fields-mode): same.
859         (ebib-strings-mode): same.
860         (ebib-t): removed.
862 2005-11-02  Steve Youngs  <steve@sxemacs.org>
864         * ebib.el (ebib-init): Copy the "initial keys" keymap into
865         `ebib-keys-mode-map'.
866         (ebib-initial-keys-map): Define all the keys inside the variable
867         definition instead of at top level.
868         (ebib-full-keys-map): Ditto.  Also make this keymap's parent be
869         `ebib-initial-keys-map' to save on double defining some keys.
870         (ebib-switch-to-database-nth): New.  Convenience function for
871         switching between databases.
872         (ebib-fill-keys-buffer): Set the local keymap to `ebib-keys-mode-map'.
873         (ebib-load-bibtex-file): Copy the "full keys" keymap into
874         `ebib-keys-mode-map'.
875         (ebib-close-database): Copy the "initial keys" keymap into
876         `ebib-keys-mode-map' and reset the local map.
877         (ebib-fields-mode-map): Define the keys in the variable definition
878         instead of at top level.
879         (ebib-strings-mode-map): Ditto.
880         (ebib-help-mode-map): Ditto.