Uniquify keys
[ebib.git] / src / ChangeLog
blobc1c5e0df8bce52fb68f2a7a4999993c6aff1d06b
1 2009-09-08  Joost Kremers  <joostkremers@sourceforge.net>
3         * ebib.el (ebib-cur-entry-key): moved to a position earlier in the
4         file, because it was defined after it was first used.
6 2009-08-17  Joost Kremers  <joostkremers@yahoo.com>
8         * ebib.el (ebib-layout): changed possible values: use symbol
9         custom instead of an integer.
10         (ebib-width): new.
11         (ebib-multiline-major-mode): renamed from ebib-multiline-mode.
12         (ebib-cur-entry-hash): now set by ebib-fill-entry-buffer.
13         (ebib-fill-entry-buffer): now sets ebib-cur-entry-hash.
14         (ebib-setup-windows): now uses ebib-width.
15         (ebib-create-buffers): sets up ebib-multiline-edit-buffer with the
16         user-customizable major mode and with ebib-multiline-mode as minor
17         mode.
18         (ebib-key): changed to allow customising the key bindings in the
19         multiline edit buffer.
20         (ebib-index-mode-map): key bindings "C", "H", "r", "t" and "w",
21         removed; "P" reassigned to ebib-edit-preamble, "S" to
22         ebib-edit-strings; "h" added.
23         (ebib-index-menu): new.
24         (ebib-customize-entry-types): new.
25         (ebib-edit-entry): no longer sets ebib-cur-entry-hash.
26         (ebib-toggle-timestamp): new.
27         (ebib-toggle-xrefs-first): new.
28         (ebib-toggle-identical-fields): new.
29         (ebib-toggle-print-multiline): new.
30         (ebib-toggle-layout): new.
31         (ebib-print-entries): now checks if it's called from the menu,
32         then prints only marked entries, if there are any.
33         (ebib-latex-entries): same.
34         (ebib-push-bibtex-key): now checks if the command the user enters
35         has a backslash and only adds one if it doesn't.
36         (ebib-index-help): new.
37         (ebib-info): new.
38         (ebib-entry-mode-map): key bindings [return] and "h" added.
39         (ebib-delete-field-contents): added a confirmation.
40         (ebib-entry-help): new.
41         (ebib-strings-mode-map): key binding "h" added.
42         (ebib-strings-help): new.
43         (ebib-multiline-mode): renamed from ebib-multiline-edit-mode.
44         (ebib-multiline-menu): new.
45         (ebib-multiline-help): new.
46         (ebib-print-newpage): new.
47         (ebib-print-entries): now uses ebib-print-newpage.
48         (ebib-index-menu): updated: moved the print options to the print
49         menu; added option for ebib-print-newpage.
50         (ebib-toggle-print-newpage): new.
52 2009-08-15  Joost Kremers  <joostkremers@yahoo.com>
54         * ebib.el (ebib-multiline-edit-mode): changed into a minor mode
55         that provides key bindings for saving and leaving the multiline
56         edit buffer.
57         (ebib-key): modified to allow customising the second key in the
58         bindings in the multiline edit buffer.
60 2009-08-14  Joost Kremers  <joostkremers@yahoo.com>
62         * ebib.el (ebib-multiline-mode): new.
63         (ebib-create-buffers): changed to set the major mode of the
64         multiline edit buffer to the value of ebib-multiline-mode instead
65         of to ebib-multiline-edit-mode.
67 2009-07-13  Joost Kremers  <joostkremers@yahoo.com>
69         * ebib.el (ebib-search-crossref): new.
70         (ebib-entry-summary): modified to use with-help-window instead of
71         with-output-to-temp-buffer.
73 2009-07-12  Joost Kremers  <joostkremers@yahoo.com>
75         * ebib.el (ebib-push-bibtex-key): renamed from ebib-push-entry-key
76         in accordance with ebib-insert-bibtex-key.
77         (ebib-insertion-commands): new.
78         (ebib-insertion-strings): removed.
80 2008-08-01  Joost Kremers  <joostkremers@yahoo.com>
82         * ebib.el (ebib-entry-types-hash): removed.
83         (ebib-set-entry-types-hash): removed.
84         (ebib-set-unique-field-list): new.
85         (ebib-get-obl-fields): modified to use ebib-entry-types directly,
86         rather than the (now defunct) ebib-entry-types-hash.
87         (ebib-get-opt-fields): same.
88         (ebib-find-bibtex-entries): same.
89         (ebib-edit-entry-type): same.
91 2008-06-15  Joost Kremers  <joostkremers@yahoo.com>
93         * ebib.el (ebib-read-string): bug fix: ebib would choke on bibtex
94         entries that have a space after the entry type but before the
95         opening parenthesis/brace. bug reported and fix provided by Rupert
96         Swarbrick.
98 2008-05-31  Joost Kremers  <joostkremers@yahoo.com>
100         * ebib.el (ebib-index-window-size): "key buffer" in the doc string
101         changed to "index buffer".
103 2008-05-30  Joost Kremers  <joostkremers@yahoo.com>
105         * ebib.el (ebib-call-file-viewer): modified to use
106         file-name-extension. is probably a safer bet that what i used
107         before: (last1 (split-string file "\\.")).
109 2008-05-21  Joost Kremers  <joostkremers@yahoo.com>
111         * ebib.el (ebib-add-entry): bugfix: moved the code that creates
112         the hash table up, so that it appears before ebib-display-entry.
114 2008-04-21  Joost Kremers  <joostkremers@yahoo.com>
116         * ebib.el: fixed doc strings.
118 2008-04-20  Joost Kremers  <joostkremers@yahoo.com>
120         * ebib.el (ebib-entry-summary): modified: if the ebib buffers are
121         visible, instead of putting the output in a temp buffer, the
122         relevant entry is displayed in the ebib buffers.
123         (ebib) help mode removed.
124         (ebib-show-log): modified: in split-frame layout the window's
125         dedicated flag must be temporarily unset in order to switch to the
126         strings-buffer.
127         (ebib-quit-log-buffer): same.
128         (ebib-set-index-highlight): modified: move cursor to beginning of
129         line after setting the highlight.
130         (ebib-set-fields-highlight): same.
131         (ebib-set-strings-highlight): same.
132         (ebib-edit-entry): removed goto-char and switch-to-buffer.
133         (line-number-at-pos): this is called line-number in xemacs, so an
134         alias is defined.
135         (ebib-match-paren-forward): added "" to error, to keep xemacs from complaining.
136         (ebib-match-quote-forward): same.
137         (ebib-setup-windows): added delete-other-windows in full-frame layout.
138         (ebib-export-to-db): modified to use gensym.
139         (ebib-export-to-file): same.
141 2008-04-19  Joost Kremers  <joostkremers@yahoo.com>
143         * ebib.el (ebib-pre-ebib-window): new.
144         (ebib-setup-windows): added ebib-pre-ebib-window.
145         (ebib-quit): added ebib-pre-ebib-window.
146         (ebib-lower): modified to use ebib-pre-ebib-window.
147         (ebib-edit-entry-type): modified to use ebib-layout.
148         (ebib-edit-crossref): same.
149         (ebib-fill-entry-buffer): added skip-chars-forward: the cursor
150         usually appears directly after the field name.
151         (ebib-edit-crossref): modified to make the crossref field the
152         current field again.
153         (ebib-redisplay-current-field): same.
154         (ebib-temp-window): new.
155         (ebib-leave-multiline-edit): removed.
156         (ebib-leave-multiline-edit-buffer): new.
157         (ebib-quit-multiline-edit): new.
158         (ebib-cancel-multiline-edit): modified to use
159         ebib-leave-multiline-edit-buffer.
160         (ebib-edit-multiline-field): modified to use ebib-temp-window.
161         (ebib-edit-multiline-string): same.
162         (ebib-multiline-edit): modified: sets the buffer's modified flag
163         to nil.
164         (ebib-edit-strings): modified: in split-frame layout the window's
165         dedicated flag must be temporarily unset in order to switch to the
166         strings-buffer.
167         (ebib-quit-strings-buffer): same.
169 2008-04-19  Joost Kremers  <joostkremers@yahoo.com>
171         * ebib.el (ebib): added nil as second argument (norecord) to
172         select-window.
173         (ebib-setup-windows): modified. now uses ebib-layout to choose the
174         desired window layout.
175         (ebib-delete-window): removed. i really don't think we need this.
176         (ebib-lower): removed call to ebib-delete-windows.
177         (ebib-quit): modified: put all the kill-buffers into a mapc.
178         (ebib-select-other-window): removed.
179         (ebib-leave-ebib-windows): new. bound to "z" and "C-xb".
180         (ebib-lower): modified: now simply leaves the ebib buffers if
181         requested. rebound to "Z".
183 2008-04-18  Joost Kremers  <joostkremers@yahoo.com>
185         * ebib.el (ebib-search-next): changed $ in search string to space:
186         with ebib-index-display-fields, index entries now have a space
187         after the entry key.
188         (ebib-call-file-viewer): new.
189         (ebib-file-regexp): added a space to the regexp. (!)
190         (ebib-browse-url-in-field): changed the doc string.
191         (ebib-view-file-in-field): new.
192         (ebib-view-file-in-field): new. bound to 'f' in the entry buffer.
193         (ebib-file-associations): changed default value: paths removed
194         from the programs, as start-process searches the user's PATH.
196 2008-04-17  Joost Kremers  <joostkremers@yahoo.com>
198         * ebib.el (ebib-view-file): new. bound to 'f' in the index
199         buffer. (which means that 'f' is no longer bound to
200         ebib-print-filename.
202 2008-04-11  Joost Kremers  <joostkremers@yahoo.com>
204         * ebib.el (ebib-layout): new.
205         * ebib.el (ebib-add-entry): used ebib-display-entry to insert the
206         new entry in the buffer.
208 2008-04-11  Joost Kremers  <joostkremers@yahoo.com>
210         * ebib.el (ebib-add-entry): inserted a space in the format string
211         that puts the new entry key into the buffer. this way
212         ebib-set-index-highlight doesn't put the end of the highlight at
213         the next line.
215 2008-03-26  Morgan Veyret  <patzy@appart.kicks-ass.net>
217         * ebib.el (ebib): changed to check if ebib is visible
218         already. window setup moved to ebib-setup-windows.
219         (ebib-setup-windows): new.
220         (ebib-delete-windows): new.
221         (ebib-select-other-window): new. Bound to C-xb.
222         (ebib-quit-entry-buffer): use get-buffer-window to find the index
223         buffer.
224         (ebib-entry-summary): modified to direct output to *Ebib-entry*
225         buffer.
227 2008-03-26  Joost Kremers  <joostkremers@yahoo.com>
229         * ebib.el (ebib-index-mode): set truncate-lines to t, which works
230         better if ebib-index-dislay-fields is set.
231         (ebib-set-index-highlight): changed so that it highlights the
232         entire line if ebib-index-display-fields is set.
234 2008-03-25  Joost Kremers  <joostkremers@yahoo.com>
236         * ebib.el (ebib-additional-fields): added 'file' to the default
237         value.
238         (ebib-url-regexp): changed doc string.
239         (ebib-standard-file-field): new.
240         (ebib-file-associations): new.
241         (ebib-file-regexp): new.
242         (ebib-file-search-dirs): new.
244 2008-03-19  Joost Kremers  <joostkremers@yahoo.com>
246         * ebib.el (ebib-display-entry): added set-buffer.
248 2008-03-18  Joost Kremers  <joostkremers@yahoo.com>
250         * ebib.el (ebib-index-display-fields): new.
251         (ebib-display-entry): new.
252         (ebib-fill-index-buffer): modified so as to make use of
253         ebib-display-entry.
254         (ebib-edit-keyname): same.
255         (ebib-set-index-highlight): changed end-of-line into
256         skip-chars-forward because of ebib-index-display-fields.
257         (ebib-select-entry): same.
259 2007-11-15  Joost Kremers  <joostkremers@yahoo.com>
261         * ebib.el (ebib-syntax-table): modified the syntax classes for ()
262         and [] to punctuation character. Not that it really matters, though.
264 2007-11-10  Joost Kremers  <joostkremers@yahoo.com>
266         * ebib.el: removed empty lines after the first line of doc
267         strings. (this is apparently not an Emacs convention...)
268         (ebib-read-entry): changed warning message for duplicate entries.
269         (ebib-read-string): same.
271 2007-11-09  Joost Kremers  <joostkremers@yahoo.com>
273         * ebib.el (ebib-match-quote-forward): reworked a bit.
274         (ebib-show-log): new.
275         (ebib-index-mode-map): added "l" key, bound to ebib-show-log.
276         (ebib-log-mode-map): new.
277         (ebib-log-mode): new.
278         (ebib-quit-log-buffer): new.
279         (ebib-match-delim-forward): new.
280         (ebib-read-string): modified to use ebib-match-delim-forward.
281         (ebib-read-preamble): added a test to check for the result of
282         ebib-match-paren-forward.
283         (ebib-find-bibtex-entries): added test to check if
284         ebib-read-preamble returns non-nil.
285         (ebib-find-end-of-field): modified to use ebib-match-delim-forward.
286         (ebib-create-buffers): added initial message to the log buffer.
288 2007-11-08  Joost Kremers  <joostkremers@yahoo.com>
290         * ebib.el (ebib-lower): added bury-buffer command for ebib-log-buffer.
291         (ebib-quit): added kill-buffer commands for ebib-log-buffer and ebib-strings-buffer.
293 2007-11-07  Joost Kremers  <joostkremers@yahoo.com>
295         * ebib.el (ebib-merge-bibtex-file): added final call to ebib-log,
296         to insert "\n\f\n".
297         (ebib-find-bibtex-entries): added "Line" to warning message.
298         (ebib-read-string): same.
299         (ebib-read-entry): same.
300         (ebib-log): added save-excursion, so that the ebib log buffer is
301         only current during this function. also modified to no longer set
302         ebib-log-error to 0 unconditionally, instead checks if it's still
303         nil. also modified to use cond.
304         (ebib-match-brace-forward): new. this function handles braces {}
305         only.
306         (ebib-match-paren-forward): modified to handle parenthesis () and
307         braces {} differently.
308         (ebib-match-quote-forward): modified: logs an error when no
309         closing quote is found, and moves point to the char after the
310         opening quote.
312 2007-11-07  Joost Kremers  <joostkremers@yahoo.com>
314         * ebib.el (ebib-log-error): new.
315         (ebib-create-buffers): added creating the log buffer.
316         (ebib-find-bibtex-entries): modified to use ebib-log.
317         (ebib-read-string): same.
318         (ebib-read-entry): same.
320 2007-11-06  Joost Kremers  <joostkremers@yahoo.com>
322         * ebib.el (ebib-customize): added doc string.
323         (ebib-log-buffer): new.
324         (ebib-log): new.
325         (ebib-load-bibtex-file): modified to use ebib-log.
326         (ebib-merge-bibtex-file): same.
328 2007-11-02  Joost Kremers  <joostkremers@yahoo.com>
330         * ebib.el (ebib-syntax-table): new.
331         (ebib-load-bibtex-file): modified to use with-syntax-table.
332         (ebib-merge-bibtex-file): same.
333         (ebib-import): same.
334         (ebib-store-multiline-text): check-parens removed.
336 2007-10-31  Joost Kremers  <joostkremers@yahoo.com>
338         * ebib.el (ebib-init): removed test whether ~/.ebibrc exists; use
339         second (optional) argument to load instead.
341 2007-10-29  Joost Kremers  <joostkremers@yahoo.com>
343         * ebib.el (ebib-marked-face): turned into a customisable option.
344         (ebib-fill-index-buffer): modified to use ebib-marked-face as a
345         face, rather than a variable.
346         (ebib-mark-entry): same.
348 2007-10-29  Joost Kremers  <joostkremers@yahoo.com>
350         * ebib.el (ebib-fill-index-buffer): changed mapcar to mapc
351         (prevents compiler warning). fix provided by Leo
352         <sdl.web at gmail.com>.
353         (ebib): added autoload cookie. suggested by Leo
354         <sdl.web at gmail.com>.
355         (ebib-mark-entry): fixed typo: '(face ,ebib-marked-face) to `(face
356         ,ebib-marked-face). fix provided by Leo <sdl.web at gmail.com>.
358 2007-10-22  Joost Kremers  <joostkremers@yahoo.com>
360         * ebib.el (ebib): modified to store the buffer from which ebib is
361         called in ebib-push-buffer, so that it becomes the default for
362         pushing entries. Thanks to Sinisa Pajevic for the suggestion.
364 2007-10-20  Joost Kremers  <joostkremers@yahoo.com>
366         * ebib.el (ebib-redisplay-current-field): modified. now redisplays
367         the entire entry buffer is the current field is crossref. (cutting
368         the value from the crossref field would leave the inherited field
369         values visible.)
370         (ebib-import): modified to use insert-buffer-substring, rather
371         than buffer-string and insert. this way, there is no need to
372         temporarily store the buffer contents in a variable.
373         (ebib-get-field-highlighted): modified so that it doesn't produce
374         an error if an entry contains a crossref to an entry that does not
375         exist.
376         (ebib-get-local-databases): variable bibfiles removed from the let.
378 2007-10-20  Joost Kremers  <joostkremers@yahoo.com>
380         * ebib.el (ebib-local-bibtex-filenames): renamed from
381         ebib-local-bibtex-filname. this is now a list of strings, rather
382         than a string. thanks to Sinisa Pajevic for pointing out that a
383         \bibliography command can contain more than one .bib file.
384         (ebib-extract-bibfiles): removed.
385         (ebib-get-local-databases): modified to return a list of database
386         filenames. also now uses insert-buffer-substring, rather than a
387         combination of buffer-string and insert.
388         (ebib-insert-bibtex-key): modified so that it can handle multiple
389         bibtex files. this reflects the change to
390         ebib-local-bibtex-filenames.
391         (ebib-entry-summary): same.
393 2007-10-19  Joost Kremers  <joostkremers@yahoo.com>
395         * ebib.el (ebib-push-entry-key): new. pushes the current entry
396         key, or the marked entry keys, to a buffer, using
397         ebib-insertion-strings. thanks to Sinisa Pajevic for suggesting
398         this feature.
399         (ebib-key "p"): changed to ebib-push-entry-key.
400         (ebib-key "r"): new. assigned to ebib-edit-preamble.
401         (ebib-prefixed-functions): ebib-push-entry-key added.
402         (ebib-push-buffer): new. holds the name of the last buffer to
403         which an entry was pushed, to present it as default in the next
404         push operation.
405         (ebib-insertion-strings): modified default value: 0 added.
407 2007-10-11  Joost Kremers  <joostkremers@yahoo.com>
409         * ebib.el (ebib-get-field-highlighted): modified so as to show
410         field values inherited from a cross-referenced entry.
411         (ebib-crossref-face): new.
412         (ebib-edit-crossref): modified to redisplay the entire entry
413         buffer, not just the current field.
415 2007-07-29  Joost Kremers  <joostkremers@yahoo.com>
417         * ebib.el (ebib-store-multiline-text): added a check to make sure
418         the text in the buffer doesn't contain unbalanced braces.
419         (ebib-filter-to-virtual-db): changed to give more feedback in the
420         minibuffer about what the user is doing.
422 2007-06-26  Joost Kremers  <joostkremers@yahoo.com>
424         * ebib.el (ebib-insert-bibtex-key): changed to show the cite
425         command that the user has selected through the prefix argument.
427 2007-04-26  Joost Kremers  <joostkremers@yahoo.com>
429         * ebib.el (ebib-standard-url-field): doc string modified.
431 2007-04-06  Joost Kremers  <joostkremers@yahoo.com>
433         * ebib.el (ebib-allow-identical-fields): new.
434         (ebib-find-bibtex-fields): modified so as to use
435         ebib-allow-identical-fields.
437 2007-03-30  Joost Kremers  <joostkremers@yahoo.com>
439         * ebib.el (ebib-url-regexp): bug fix: removed \l from default
440         value.
442 2007-03-29  Joost Kremers  <joostkremers@yahoo.com>
444         * ebib.el: Ebib 1.3.0 released.
446 2007-03-29  Joost Kremers  <joostkremers@yahoo.com>
448         * ebib.el (ebib-index-mode-map): added "u" key.
449         (ebib-url-field): new.
450         (ebib-url-regexp): new.
451         (ebib-browse-url): new.
452         (ebib-call-browser): new.
453         (ebib-entry-mode-map): added "u" key.
454         (ebib-browse-url-in-field): new.
455         (ebib-call-browser-command): new.
457 2007-03-28  Joost Kremers  <joostkremers@yahoo.com>
459         * ebib.el (raw-p): regexp "\".*?\" replaced with
460         "\"[^\"]*?\"". The dot doesn't match \n, so a multiline string
461         enclosed by double quotes was incorrectly recognised as a raw
462         string.
464 2007-03-27  Joost Kremers  <joostkremers@yahoo.com>
466         * ebib.el (ebib-export-entry): ebib-execute-when
467         removed. ebib-marked-p replaced with ebib-called-with-prefix.
468         (ebib-export-single-entry): added ebib-execute-when.
469         (ebib-export-marked-entries): same.
470         (ebib-prefix-map): new. (actually, this is ebib-semicolon-map
471         reintroduced under a new name.)
472         (ebib-index-mode-map): binding of the prefix key ";" changed to
473         ebib-prefix-map.
474         (ebib-key): modified so that if the user redefines a key in
475         ebib-index-mode-map, it checks whether the function is bound in
476         ebib-prefix-map as well, and if so, binds it to the same
477         key. Furthermore, if the user unbinds a key, it is unbound in
478         ebib-prefix-map as well.
479         (ebib-marked-p): removed.
480         (ebib-prefixed-functions): new.
481         (ebib-prefix-key): new.
482         (ebib-key): modified so that it unsets the current prefix key if
483         the user redefines the prefix key with mark-prefix.
484         (ebib-index-mode-map): key bindings no longer done in the defvar
485         definition, but at top level with ebib-key. Using ebib-key has the
486         advantage that ebib-prefix-map is automatically set up correctly
487         as well.
489 2007-03-26  Joost Kremers  <joostkremers@yahoo.com>
491         * ebib.el (ebib-called-with-prefix): new.
492         (ebib-marked-p): new.
493         (ebib-prefix-key): new.
494         (ebib-key): added clause for mark-prefix.
495         (ebib-delete-marked-entries): removed.
496         (ebib-delete-entry): modified to handle the prefix key.
497         (ebib-export-entry): modified to call either of two helper
498         functions, depending on whether it was called with or without
499         prefix key.
500         (ebib-export-single-entry): new. helper function for
501         ebib-export-entry.
502         (ebib-export-marked-entries): changed into helper function for
503         ebib-export-entry.
504         (ebib-print-database): removed.
505         (ebib-print-marked-entries): removed.
506         (ebib-semicolon-map): removed.
507         (ebib-index-mode-map): binding for L changed to
508         ebib-latex-entries, and binding for P changed to
509         ebib-print-entries.
510         (ebib-print-entries): made interactive and modified to handle
511         marked entries.
512         (ebib-latex-database): removed.
513         (ebib-latex-marked-entries): removed.
514         (ebib-latex-entries): made interactive and modified to handle
515         marked entries.
516         (ebib-mark-all): removed.
518 2007-03-25  Joost Kremers  <joostkremers@yahoo.com>
520         * ebib.el (ebib-remove-entry-from-db): modified so that a deleted
521         entry is also deleted from edb-marked-entries if it's there. This
522         avoids problems when the user deletes a marked entry, and also
523         when he renames the entry key of a marked entry.
524         (ebib-delete-marked-entries): no longer sets edb-marked-entries to
525         nil, as the entries are removed one by one by
526         ebib-remove-entry-from-db.
527         (ebib-edit-keyname): modified so that it marks the renamed entry
528         if it was marked before the renaming.
529         (ebib-unmark-all): renamed to ebib-mark-all.
530         (ebib-mark-all): modified so that it marks all entries if there
531         are no marked entries.
532         (ebib-mark-entry): real-db removed from ebib-execute-when.
533         (ebib-export-entry): modified to include the entry name in the
534         messages passed to ebib-export-to-db and ebib-export-to-file.
535         (ebib-export-string): same with string abbreviation.
537 2007-03-24  Joost Kremers  <joostkremers@yahoo.com>
539         * ebib.el (ebib-export-string): modified to make use of
540         ebib-export-to-db and ebib-export-to-file.
541         (ebib-export-all-strings): same.
542         (ebib-export-preamble): same.
543         (ebib-export-marked-entries): new.
544         (ebib-semicolon-map): new key "x" added.
545         (propertize): new.
546         (ebib-write-database): rewritten to stop XEmacs from
547         complaining. (See arch log for details.)
548         (ebib-export-to-file): modified documentation string, as it said
549         something about insert-fn that isn't correct.
550         (ebib-execute-helper): added marked-entries.
551         (ebib-delete-marked-entries): modified to use marked-entries.
552         (ebib-export-marked-entries): same.
553         (ebib-delete-marked-entries): added default clause to
554         ebib-execute-when.
555         (ebib-print-entries): new. contains most of the code of former
556         ebib-print-database.
557         (ebib-print-database): modified to use ebib-print-entries.
558         (ebib-print-marked-entries): new.
559         (define-prefix-command): new keys "P", "L" and "m".
560         (ebib-mark-entry): modified: no longer adds the text properties to
561         the entry key in the database, just in the index buffer.
562         (ebib-fill-index-buffer): modified so that it adds a highlight to
563         marked entries.
564         (ebib-latex-entries): new. contains most of the code of former
565         ebib-latex-database.
566         (ebib-latex-database): modified to use ebib-latex-entries.
567         (ebib-latex-marked-entries): new.
568         (ebib-unmark-all): new.
570 2007-03-23  Joost Kremers  <joostkremers@yahoo.com>
572         * ebib.el (ebib-export-to-db): new.
573         (ebib-export-to-file): new.
574         (ebib-export-entry): modified to make use of ebib-export-to-db and
575         ebib-export-to-file.
577 2007-03-20  Joost Kremers  <joostkremers@yahoo.com>
579         * ebib.el (ebib-edit-field): changed to unconditionally add braces
580         around the text the user enters. Formerly, this was done through
581         from-raw, which meant that if the user typed braces around the
582         text, these would disappear.
584 2007-03-19  Joost Kremers  <joostkremers@yahoo.com>
586         * ebib.el (add-to-listq): added a test for Emacs < 22.
587         (ebib-index-mode-map): removed 'ebib-index-mode-map argument to
588         make-keymap. Emacs officially doesn't even allow it, and in XEmacs
589         it's optional.
590         (ebib-entry-mode-map): same.
591         (ebib-strings-mode-map): same.
592         (ebib-help-mode-map): same.
593         (ebib-semicolon-map): new.
594         (ebib-index-mode-map): added ";" key.
595         (ebib-remove-entry-from-db): bug fix: would delete the key of the
596         current entry from the keys list, regardless of which entry was
597         actually deleted.
598         (ebib-semicolon-map): added "d" key.
599         (ebib-delete-marked-entries): new.
600         (ebib-entry-mode-map): bindings of C-x b and C-x k changed to
601         'undefined.
602         (disabled): removed. The predefined function undefined does the
603         same thing.
605 2007-03-13  Joost Kremers  <joostkremers@yahoo.com>
607         * ebib.el (ebib-filter-to-virtual-db): removed the check for the
608         `type' field. What was actually meant was the `type*' field, and
609         since this is not in ebib-unique-field-list anyway, the user isn't
610         able to filter on it.
612 2007-03-12  Joost Kremers  <joostkremers@yahoo.com>
614         * ebib.el (ebib-mark-entry): added again for the 1.3 branch.
616 2007-03-12  Joost Kremers  <joostkremers@yahoo.com>
618         * ebib.el: ebib 1.2.0 released.
620 2007-03-12  Joost Kremers  <joostkremers@yahoo.com>
622         * ebib.el (ebib-mark-entry): removed in preparation for release.
624 2007-03-12  Joost Kremers  <joostkremers@yahoo.com>
626         * ebib.el (ebib-print-database): bugfix: if ebib-print-tempfile is
627         set to "", which is its default value, the body of if-str would
628         not be executed.
629         (ebib-latex-database): same.
631 2007-03-10  Joost Kremers  <joostkremers@yahoo.com>
633         * ebib.el (ebib-latex-database): new.
634         (ebib-print-preamble): new.
635         (ebib-print-multiline): new.
636         (ebib-latex-preamble): new.
637         (ebib-print-tempfile): new.
638         (ebib-print-database): modified to use ebib-print-preamble,
639         ebib-print-multiline and ebib-print-tempfile.
640         (ebib-latex-database): added real-db to ebib-execute-when.
641         (ebib-timestamp-format): new.
642         (ebib-insert-entry): modified to use format-time-string and ebib-timestamp-format.
643         (ebib-format-entry): same.
644         (ebib-yank-field-contents): renamed from ebib-paste-field-contents.
646 2007-03-08  Joost Kremers  <joostkremers@yahoo.com>
648         * ebib.el (ebib-print-database): new.
650 2007-03-06  Joost Kremers  <joostkremers@yahoo.com>
652         * ebib.el (ebib-index-scroll-down): new. replaces ebib-entry-page-up.
653         (ebib-index-scroll-up): new. replaces ebib-entry-page-down.
654         (ebib-follow-crossref): new.
655         (ebib-index-mode-map): added "F" key.
657 2007-03-02  Joost Kremers  <joostkremers@yahoo.com>
659         * ebib.el (ebib-delete-entry): removed optional argument
660         entry-key, as it wasn't used at all.
662 2007-03-01  Joost Kremers  <joostkremers@yahoo.com>
664         * ebib.el (ebib-paste-field-contents): sets this-command to t if
665         called illegally. that way, a second consecutive call to this
666         function is also recognised as illegal.
668 2007-02-26  Joost Kremers  <joostkremers@yahoo.com>
670         * ebib.el (ebib-paste-field-contents): doc string slightly expanded.
672 2007-02-25  Joost Kremers  <joostkremers@yahoo.com>
674         * ebib.el (ebib-paste-field-contents): added test for crossref field.
675         (ebib-paste-field-contents): modified so that repeatedly calling
676         this command walks around the kill ring, just like C-y/M-y.
678 2007-02-23  Joost Kremers  <joostkremers@yahoo.com>
680         * ebib.el (ebib-move-to-field): bug fix: if the field being moved
681         to is type*, used to search for 'type', causing confusion with an
682         actual type field (e.g. in the entry type incollection.) now just
683         moves to (point-min).
684         (ebib-set-modified): bug fix: the modification flag of the index
685         buffer would be (re)set, regardless of whether it actually holds
686         the database whose modification flag is being (re)set.
688 2007-02-22  Joost Kremers  <joostkremers@yahoo.com>
690         * ebib.el (ebib-execute-when): changed so that it does not produce
691         a spurious and if the envs list of a form only contains one element.
693 2007-02-21  Joost Kremers  <joostkremers@yahoo.com>
695         * ebib.el (ebib-print-filter): changed the argument of interactive
696         from "p" to "P", to obtain the raw prefix argument.
697         (ebib-save-current-database): changed message to error.
698         (ebib-print-filter): added a default-clause to ebib-execute-when,
699         to produce a beep.
700         (ebib-prev-entry): same.
701         (ebib-next-entry): same.
702         (ebib-add-entry): same.
703         (ebib-goto-first-entry): same.
704         (ebib-goto-last-entry): same.
705         (ebib-edit-keyname): same.
706         (ebib-mark-entry): same.
707         (ebib-entry-page-up): same.
708         (ebib-entry-page-down): same.
709         (ebib-write-database): same.
710         (ebib-delete-entry): same.
711         (ebib-select-entry): same.
712         (ebib-export-entry): same.
713         (ebib-search): same.
714         (ebib-search-next): same.
715         (ebib-edit-strings): same.
716         (ebib-edit-preamble): same.
717         (ebib-export-preamble): same.
718         (ebib-virtual-db-and): same.
719         (ebib-virtual-db-or): same.
720         (ebib-virtual-db-not): same.
722 2007-02-20  Joost Kremers  <joostkremers@yahoo.com>
724         * ebib.el (ebib-filter-to-virtual-db): fixed a bug: the additional
725         fields weren't included in the collection.
726         (ebib-edit-field): spurious progn removed.
727         (ebib-execute-helper): wrapped in an eval-and-compile because
728         otherwise XEmacs complains that the symbol ebib-execute-helper's
729         value as function is void.
730         (safe-write-region): new. GNU Emacs has an optional argument to
731         write-region that can be used to make sure the user doesn't
732         inadvertently overwrite an already existing file. XEmacs does not
733         have this argument.
734         (ebib-write-database): modified to use safe-write-region.
735         (ebib-insertion-strings): changed the default value from nil to
736         '((1 . "\\cite{%s}")).
738 2007-02-19  Joost Kremers  <joostkremers@yahoo.com>
740         * ebib.el (ebib-index-mode-map): changed binding for
741         ebib-merge-bibtex-file from "m" to "M".
742         (ebib-index-mode-map): added binding "m" for ebib-mark-entry.
743         (ebib-mark-entry): new.
744         (ebib-marked-face): new. needed to accommodate xemacs. there must
745         be a better way to do this... Note that in xemacs, i know of no
746         better way than to use '(face highlight) for both the overlay
747         marking the current entry and to mark selected entries. that means
748         that you cannot tell if the current entry is selected or not. gnu
749         emacs has highlight and :inverse-video. (though the former may be
750         obsoleted at some point?)
751         (ebib-fill-index-buffer): changed to accommodate xemacs. (see
752         comment in the source.)
753         (ebib-index-buffer-help): updated.
754         (ebib-execute-when): new.
755         (ebib-execute-helper): new.
756         (when-entries): removed. its functionality is now covered by
757         ebib-execute-when.
758         (ebib-write-database): modified to use ebib-execute-when and if-str.
759         (ebib-export-entry): modified to use ebib-execute-when. also added
760         a check to make sure that the goal database is not virtual.
761         (ebib-export-preamble): same.
762         (ebib-export-all-strings): added a check to make sure the goal
763         database is not virtual.
764         (ebib-export-string): same.
765         (ebib-prev-entry): modified to use ebib-execute-when.
766         (ebib-next-entry): same.
767         (ebib-add-entry): same.
768         (ebib-close-database): same.
769         (ebib-goto-first-entry): same.
770         (ebib-goto-last-entry): same.
771         (ebib-edit-entry): same.
772         (ebib-edit-keyname): same.
773         (ebib-entry-page-up): same.
774         (ebib-entry-page-down): same.
775         (ebib-save-database): same.
776         (ebib-save-current-database): same.
777         (ebib-delete-entry): same.
778         (ebib-remove-key-from-buffer): same.
779         (ebib-select-entry): same.
780         (ebib-search): same.
781         (ebib-search-next): same.
782         (ebib-edit-strings): same.
783         (ebib-edit-preamble): same.
784         (ebib-next-database): same.
785         (ebib-prev-database): same.
786         (ebib-virtual-db-and): same.
787         (ebib-virtual-db-or): same.
788         (ebib-virtual-db-not): same.
789         (ebib-print-filter): same.
791 2007-02-19  Joost Kremers  <joostkremers@yahoo.com>
793         * ebib.el: ebib-1.1.4 released.
795 2007-02-19  Joost Kremers  <joostkremers@yahoo.com>
797         * ebib.el (ebib-filter-to-virtual-db): changed the collection to
798         contain strings rather than symbols, because xemacs requires that.
800 2007-02-18  Joost Kremers  <joostkremers@yahoo.com>
802         * ebib.el (add-to-listq): new. introduced mainly because xemacs
803         doesn't allow the fourth argument to add-to-list. (actually, i'm
804         not sure if emacs 21.4 supports it...)
806 2007-02-13  Joost Kremers  <joostkremers@yahoo.com>
808         * ebib.el (ebib-quit): set ebib-strings-highlight to nil.
810 2007-02-11  Joost Kremers  <joostkremers@yahoo.com>
812         * ebib.el (ebib-unique-field-list): new. used for TAB-completion
813         in ebib-filter-to-virtual-db.
814         (ebib-set-entry-types-hash): modified to set
815         ebib-unique-field-list.
816         (ebib-key): modified to keep the cond statement out of the
817         expansion.
818         (ebib-create-new-database): modified to take an optional database
819         argument: if supplied, returns a copy of that database.
820         (ebib-index-mode-map): added "&", "|", "~" and "V".
821         (ebib-virtual-db-and): new.
822         (ebib-virtual-db-or): new.
823         (ebib-virtual-db-not): new.
824         (ebib-filter-to-virtual-db): new.
825         (ebib-create-virtual-db): new.
826         (contains): new.
827         (ebib-run-filter): new.
828         (ebib-print-filter): new.
829         (ebib-write-database): modified to handle virtual databases.
830         (ebib-edit-entry): modified to exclude virtual databases.
831         (ebib-edit-keyname): same.
832         (ebib-save-current-database): same.
833         (ebib-save-database): same.
834         (ebib-merge-bibtex-file): same
835         (ebib-add-entry): same.
836         (ebib-delete-entry): same.
837         (ebib-export-entry): same.
838         (ebib-edit-strings): same.
839         (ebib-edit-preamble): same.
840         (ebib-export-preamble): same.
841         (ebib-import): same.
842         (ebib-fill-entry-buffer): modified so that it does not result in
843         an error if the current entry does not exist. This is needed in
844         case the user deletes an entry from a database that has a virtual
845         database that containe that entry.
846         (ebib-format-entry): put (eq key 'timestamp) first in the and
847         clause. no need to check timestamp and ebib-use-timestamp for any
848         other field.
849         (ebib-write-database): modified so that when a virtual database is
850         written to a file, it doesn't attempt to put an entry that is
851         still in a virtual database's keys-list but has been deleted in
852         the source database into the new database. (note: this is still
853         not the proper way to handle this. we need to find a clean way to
854         handle the consequences of an entry being deleted in a source
855         database.)
857 2007-02-10  Joost Kremers  <joostkremers@yahoo.com>
859         * ebib.el (when-entries): included a declare indent statement.
860         (with-buffer-writable): same.
861         (edb): added fields `name' and `virtual'.
862         (ebib-fill-index-buffer): modified to use edb-name.
863         (ebib-load-bibtex-file): same.
864         (ebib-write-database): same.
865         (ebib-search-in-entry): added optional field argument.
867 2007-02-04  Joost Kremers  <joostkremers@yahoo.com>
869         * ebib.el (ebib-goto-next-set): adapted to make use of
870         ebib-move-to-field.
871         (ebib-goto-prev-set): same.
872         (defentry): removed.
873         (ebib-preload): removed.
874         (ebib-additional-fields): removed.
875         (ebib-insert-entry): modified to insert a timestamp, depending on
876         the argument TIMESTAMP and on the setting of EBIB-USE-TIMESTAMP.
877         (ebib-add-entry): modified: it no longer adds a timestamp
878         itself (as it did after the change two days ago) but just requests
879         ebib-insert-entry to do so.
880         (ebib-read-entry): modified to request insertion of a timestamp.
881         (ebib-edit-keyname): modified so as to explicitly NOT insert a
882         timestamp.
883         (ebib-export-entry): modified so as to request insertion of a
884         timestamp, both when exporting to another database and to a file.
885         (ebib-find-bibtex-entries): modified: timestamp argument
886         added. This argument is simply passed on to ebib-read-entry.
887         (ebib-load-bibtex-file): modified so that no timestamp is inserted
888         into the entries read from file.
889         (ebib-import): modified to request insertion of a timestamp.
890         (ebib-format-entry): modified to insert a timestamp if required.
891         (ebib-export-entry): fixed a bug that kept ebib-export-filename
892         from being set.
893         (ebib-export-preamble): same.
895 2007-02-03  Joost Kremers  <joostkremers@yahoo.com>
897         * ebib.el (ebib-format-fields): modified to check if hidden fields
898         should be shown.
899         (ebib-init): added a line to make timestamp a hidden field.
900         (ebib-hide-hidden-fields): new.
901         (ebib-toggle-hidden): new.
902         (ebib-move-to-field): new.
903         (ebib-find-visible-field): new.
904         (ebib-prev-field): rewritten to make use of ebib-move-to-field.
905         (ebib-next-field): same.
906         (ebib-goto-first-field): same.
907         (ebib-goto-last-field): same.
909 2007-02-02  Joost Kremers  <joostkremers@yahoo.com>
911         * ebib.el (ebib-use-timestamp): new.
912         (ebib-add-entry): modified so that it adds a timestamp if
913         ebib-use-timestamp is set.
915 2007-01-23  Joost Kremers  <joostkremers@yahoo.com>
917         * ebib.el (ebib-keys-window-size): new.
918         (ebib): modified to use ebib-keys-window-size.
919         (ebib-entry-page-up): same.
920         (ebib-entry-page-down): same.
921         (ebib-customize): new.
922         (ebib-index-mode-map): added "C" key command.
924 2007-01-10  Joost Kremers  <joostkremers@yahoo.com>
926         * ebib.el (ebib): added :prefix tag to defgroup.
928 2006-12-17  Joost Kremers  <joostkremers@yahoo.com>
930         * ebib.el (ebib-export-preamble): bug (no message being given
931         after exporting the preamble) fixed.
933 2006-12-13  Joost Kremers  <joostkremers@yahoo.com>
935         * ebib.el: Ebib 0.28 released.
937 2006-12-12  Joost Kremers  <joostkremers@yahoo.com>
939         * ebib.el (ebib-edit-crossref): fixed a bug that caused
940         ebib-set-modified not to be executed.
941         (ebib-set-modified): fixed. save-excursion should not be part of
942         the body of UNLESS.
943         (ebib-quit): ebib-default-type no longer set to nil. (quiting and
944         restarting ebib would leave it set to nil.)
945         (ebib-save-xrefs-first): new.
946         (ebib-compare-xrefs): new.
947         (ebib-format-database): modified to put crossreferencing entries
948         first.
950 2006-11-13  Joost Kremers  <joostkremers@yahoo.com>
952         * ebib.el: Ebib 0.27 released.
954 2006-11-01  Joost Kremers  <joostkremers@yahoo.com>
956         * ebib.el (ebib-paste-field-contents): combined two nested if's
957         into one or'ed.
959 2006-10-30  Joost Kremers  <joostkremers@yahoo.com>
961         * ebib.el (ebib-format-database): added argument db.
962         (ebib-format-strings): added argument db.
963         (ebib-sort-order): new.
964         (ebib-entry<): new.
965         (ebib-get-sortstring): new.
966         (ebib-insertion-strings): changed to an alist, so that multiple
967         insertion strings can be defined.
968         (ebib-insert-bibtex-key): modified to use the new ebib-insertion-strings.
970 2006-10-24  Joost Kremers  <joostkremers@yahoo.com>
972         * ebib.el (ebib-insert-bibtex-key): changed to use a customisable
973         insertion string.
974         (ebib-insertion-string): new.
976 2006-10-23  Joost Kremers  <joostkremers@yahoo.com>
978         * ebib.el: Ebib 0.26 released.
979         
980 2006-10-23  Joost Kremers  <joostkremers@yahoo.com>
982         * ebib.el (ebib-set-entry-types-hash): new, to make customising
983         the entry types through the customisation buffer possible.
984         (defentry): modified, so that an entry defined with defentry is
985         also added to the list ebib-entry-types.
986         (ebib-additional-fields): renamed from ebib-ign-fields; modified
987         to check whether a field is already in the list before it is
988         added, so that it is not added twice when Ebib is closed and
989         restarted in the same Emacs session.
990         (ebib-find-bibtex-entries): added modify-syntax-entry, so that
991         users can type (e.g.) "o to create umlaut-o.
992         (ebib-format-database): use mapc on edb-keys-list rather than
993         maphash on edb-database, so that the entries are saved in
994         alphabetical order. (Following a suggestion of Thomas Schmitz.)
996 2006-10-14  Joost Kremers  <joostkremers@yahoo.com>
998         * ebib.el: added customisation group ebib.
1000 2006-10-01  Joost Kremers  <joostkremers@yahoo.com>
1002         * ebib.el (ebib-remove-key-from-buffer): added when-entries, to
1003         get rid of an error message when the last entry is deleted.
1004         (ebib-find-end-of-field): fixed a nasty bug that occurred when
1005         reading a .bib-file with an entry in which the last field is raw
1006         and is immediately followed by the closing brace. Thanks to Thomas
1007         Schmitz for bringing this to my attention.
1009 2006-09-14  Joost Kremers  <joostkremers@yahoo.com>
1011         * ebib.el (ebib-ign-fields): code, uri and location removed.
1013 2006-08-29  Joost Kremers  <joostkremers@yahoo.com>
1015         * ebib.el (ebib-find-bibtex-entries): changed to return a list of
1016         the number of entries and number of strings found, and a boolean
1017         for whether a preamble was found.
1018         (ebib-load-bibtex-file): adapted to accept the new return value of
1019         ebib-find-bibtex-entries.
1020         (ebib-merge-bibtex-file): same.
1021         (ebib-import): added.
1023 2006-08-28  Joost Kremers  <joostkremers@yahoo.com>
1025         * ebib.el (ebib-import): added.
1027 2006-08-25  Joost Kremers  <joostkremers@yahoo.com>
1029         * ebib.el: rearranged some of the variable definitions, so that
1030         the entry types can be defined in ebib.el rather than in .ebibrc.
1031         (ebib-index-mode-map): put the key definitions back in.
1032         (ebib-entry-mode-map): same.
1033         (ebib-strings-mode-map): same.
1035 2006-08-18  Joost Kremers  <joostkremers@yahoo.com>
1037         * ebib.el (ebib): renamed the keys buffer to index buffer and the
1038         fields buffer to entry buffer.
1039         (ebib-key): new. to enable customisation of the command keys
1040         through .ebibrc.
1041         (ebib-index-mode-map): moved key definitions to .ebibrc.
1042         (ebib-entry-mode-map): same.
1043         (ebib-strings-mode-map): same.
1045 2006-08-17  Joost Kremers  <joostkremers@yahoo.com>
1047         * ebib.el (ebib-add-entry): rewrote to use ebib-insert-entry.
1049 2006-08-15  Joost Kremers  <joostkremers@yahoo.com>
1051         * ebib.el (ebib-delete-entry): split into three functions.
1052         (ebib-remove-key-from-buffer): split off from ebib-delete-entry.
1053         (ebib-remove-entry-from-db): split off from ebib-delete-entry.
1054         (ebib-edit-keyname): new. because it partially does the same as
1055         ebib-delete-entry, i split up the latter.
1057 2006-08-13  Joost Kremers  <joostkremers@yahoo.com>
1059         * ebib.el (ebib-edit-field): added special clause for the annote
1060         field, so that the user is dropped into the multiline edit buffer.
1062 2005-11-18  Joost Kremers  <joostkremers@yahoo.com>
1064         * ebib.el (ebib-read-string): changed so that it does not store
1065         the braces or quotes surrounding the string.
1066         (ebib-match-quote-forward): added a check to make sure that when a
1067         double quote is found at the search limit, this isn't mistakenly
1068         taken as the matching quote if it is escaped by a backslash.
1070 2005-11-17  Joost Kremers  <joostkremers@yahoo.com>
1072         * ebib.el (ebib-fields-mode-map): bound C-x k to
1073         ebib-quit-fields-buffer.
1074         (ebib-strings-mode-map): bound C-x b to ebib-lower, and C-x k to
1075         ebib-quit-strings-buffer.
1076         
1077 2005-11-05  Joost Kremers  <joostkremers@yahoo.com>
1079         * ebib.el (ebib-load-bibtex-file): use file-readable-p instead of
1080         file-exits-p.
1082 2005-11-04  Joost Kremers  <joostkremers@yahoo.com>
1084         * ebib.el (ebib-format-fields): new. formats the fields and calls
1085         a function to output them.
1086         (ebib-fill-fields-buffer): moved the actual formatting and
1087         printing code to ebib-format-fields.
1088         (ensure-extension): new. make sure a filename has a specific
1089         extension.
1090         (ebib-load-bibtex-file): changed to use ensure-extension.
1091         (remove-from-string): changed to function.
1092         (symbol-or-string): same.
1093         (ebib-extract-bibfile): new. looks for a \bibliography command in
1094         the current buffer and reads its filename.
1095         (ebib-get-db-from-filename): new. retrieve a bibtex database based
1096         on filename.
1097         (ebib-get-local-database): new. finds a database to associate with
1098         the LaTeX file in the current buffer.
1099         (ebib-insert-bibtex-key): removed option to use a prefix
1100         argument. instead uses ebib-get-local-database to select a
1101         database to get the keys from.
1102         (ebib-entry-summary): new. reads the key at point and displays its
1103         entry in a *Help* buffer.
1105 2005-11-03  Joost Kremers  <joostkremers@yahoo.com>
1107         * ebib.el (ebib-prefix): changed to function.
1108         (next-elem): same.
1109         (prev-elem): same.
1110         (ebib-get-obl-fields): same.
1111         (ebib-get-opt-fields): same.
1113 2005-11-02  Joost Kremers  <joostkremers@yahoo.com>
1115         * ebib.el (when-entries): new. execute BODY when there is a
1116         database open and it contains entries.
1117         (ebib-prev-entry): test whether there are entries in the current
1118         database.
1119         (ebib-next-entry): same.
1120         (ebib-prev-entry): test whether there are entries in the current
1121         database.
1122         (ebib-next-entry): same.
1123         (ebib-goto-first-entry): same.
1124         (ebib-goto-last-entry): same.
1125         (ebib-edit-entry): same.
1126         (ebib-entry-page-up): same.
1127         (ebib-entry-page-down): same.
1128         (ebib-delete-entry): same.
1129         (ebib-select-entry): same.
1130         (ebib-export-entry): same.
1131         (ebib-search-next): same.
1132         (ebib-edit-strings): test whether a database is open.
1133         (ebib-edit-preamble): same.
1134         (ebib-search): test whether there are entries in the current
1135         database, and ask for search string inside the function, rather
1136         than in (interactive).
1137         (ebib-export-preamble): test whether a database is open.
1138         (ebib-next-database): same.
1139         (ebib-prev-database): same.
1140         (disabled): new. does nothing except beep. used to disable C-x k
1141         and C-x b in the fields and strings buffers.
1143 2005-11-02  Steve Youngs  <steve@sxemacs.org>
1145         * ebib.el (ebib-init): Don't do anything with `ebib-keys-mode-map'
1146         here.
1147         (ebib-initial-keys-map): Removed.
1148         (ebib-full-keys-map): Removed.
1149         (ebib-keys-mode-map): Merge them into here.
1150         (ebib-load-bibtex-file): Don't do anything with
1151         `ebib-keys-mode-map' here.
1152         (ebib-close-database): Ditto.
1153         (ebib-fill-keys-buffer): Ditto.
1154         (ebib-switch-to-database-nth): Make it compatible with
1155         GNU/Emacs. 
1157 2005-11-02  Joost Kremers  <joostkremers@yahoo.com>
1159         * ebib.el (ebib-keys-mode): added C-x k and C-x b redefinitions
1160         to ebib-initial-keys-map.
1161         (ebib-fields-mode): same.
1162         (ebib-strings-mode): same.
1163         (ebib-t): removed.
1165 2005-11-02  Steve Youngs  <steve@sxemacs.org>
1167         * ebib.el (ebib-init): Copy the "initial keys" keymap into
1168         `ebib-keys-mode-map'.
1169         (ebib-initial-keys-map): Define all the keys inside the variable
1170         definition instead of at top level.
1171         (ebib-full-keys-map): Ditto.  Also make this keymap's parent be
1172         `ebib-initial-keys-map' to save on double defining some keys.
1173         (ebib-switch-to-database-nth): New.  Convenience function for
1174         switching between databases.
1175         (ebib-fill-keys-buffer): Set the local keymap to `ebib-keys-mode-map'.
1176         (ebib-load-bibtex-file): Copy the "full keys" keymap into
1177         `ebib-keys-mode-map'.
1178         (ebib-close-database): Copy the "initial keys" keymap into
1179         `ebib-keys-mode-map' and reset the local map.
1180         (ebib-fields-mode-map): Define the keys in the variable definition
1181         instead of at top level.
1182         (ebib-strings-mode-map): Ditto.
1183         (ebib-help-mode-map): Ditto.