[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

EDB 1.27 available

From: Thien-Thi Nguyen
Subject: EDB 1.27 available
Date: Thu, 13 Jul 2006 10:39:00 +0200

release notes:

  this release is friendly enough to run on my primary emacs, where
  (= emacs-uptime (- machine-uptime 60sec)), since i can configure
  it with `--disable-badnames' and poke around w/ `edb-meta'.  other
  goodies are nice, too...

  sveltening continues; compared w/ EDB 1.26, we see that
  skram/sk4 has 487 (-8) records, skram/ 458 (+22).


README excerpt:

  This directory contains EDB, the Emacs Database.
  EDB was written by Michael Ernst <address@hidden>,
  and is being maintained by Thien-Thi Nguyen <address@hidden>.

NEWS excerpt:

  - 1.27 | 2006-07-13
    - Configuration bugfix: Emacs executable specification made consistent
        Configuration and build have different methods for specifying
        the Emacs executable -- these used to be not easily overridden.
        Now you can override them in both contexts similarly, by
        specifying the environment variable `EMACS'.  See README.
    - Installation bugfix: Remember to install all relevant files!
        Some files (db-lemacs.el, db-nosetf.el and db-oldnames.el)
        are now installed (and not just distributed).  This error was
        due to a regression in the makefile introduced in EDB 1.26.
    - Bugfix: Substitutions use literal text for replacement
        Some i/o operations temporarily replace difficult-to-manage text
        (like backslashes) w/ an easier-to-manage string.  These used to
        use `replace-match' without specifying that the replacement be
        literal, which caused an "Invalid use of `\\' in replacement
        text" error in some cases.  These have been fixed.
    - Bugfixes for edb-t-timedate.el
      - `edb-t-timedate1:format-date' renders "%yy" correctly
        This used to render years as modulo 1900, resulting in more than
        two characters, for year 2000 and later.  For example:
        (defun (demo Y M D)
          (let ((date (edb-t-timedate1:make-date Y M D)))
            (edb-t-timedate1:format-date "%yy" date)))
        before: (demo 2006 5 31) => "106"
           now: (demo 2006 5 31) => "06"
      - Specialized formatting functions use format consistent w/ name
        Certain functions edb-t-timedate1:format-date-FOO used to use
        formatting codes inconsistent w/ their names.  Here is a table
        showing the change and an example for each FOO, using SPC as a
        separator between components (actual default separators vary):
        FOO       before (example)        now (example)
        ddmmyy    %d %m %yy "3 5 06"      %dd %mm %yy "03 05 06"
        ddmmmyy   %d %mon %yy "3 May 06"  %dd %mon %yy "03 May 06"
        yyyymmdd  %year %m %d "2006 5 3"  %year %mm %dd "2006 05 03"
    - Bugfix: Last record no longer ignored for "inherent data"
        For controls with inherent data (specified with the `:data'
        control property), EDB used to silently ignore the last record
        (off-by-one error in the implementation).  Now, all records are
        read properly.  Also, the order of the records in memory is now
        maintained to be the same as the order in the control.
    - Bugfix: Emacs no longer queries about "safe" local variables
        Previously, `edb-EXPERIMENTAL-interact' used to cause Emacs 22
        to query about whether or not certain file-local variables are
        "safe".  Now, these internal details are properly hidden.
    - Bugfix: Database w/ inherent data can coexist w/ other databases
        Previously, a control file w/ inherent data could not be read in
        the presence of other databases due to a bug in the accounting
        internals; EDB would throw an error (wrong-type-arg: stringp).
        Now, these databases can coexist w/o this particular problem.
        For example:
        (require 'database)
        (dired "examples")
        (edb-EXPERIMENTAL-interact "arb-demo.edb" "arb-demo")
        (edb-EXPERIMENTAL-interact "forms-demo2-inherent.edb" nil)
    - Emacs 21.x compatibility fixes
      - No longer use three args with `defalias'
      - Define `insert-buffer-substring-no-properties' if necessary
    - Dropped items
      - Command: db-convert
        This was once documented in the info page as "rudimentary", but
        was otherwise unreferenced and unused both in EDB and elsewhere.
        Similar functionality may return in the future, after some of
        EDB 1.x's (excessive) dynamicism is properly reigned in.
      - Macro: deflocalvar
      - Function: define-displaytype-from-optstring
      - Function: define-one-char-enum-displaytype
      - Function: define-type-alias
        These were either unused, unimplemented (and throwing error if
        called), or made obsolete by internal changes.
      - Coordination with crypt++.el
        EDB no longer calls `crypt-insert-file-contents' from external
        package crypt++.el (if loaded).  Instead, you can enable Auto
        Compression mode, which is included with Emacs.
      - Items listed in advance notice from EDB 1.26 NEWS (see below)
    - Backward-incompatible change: format of :locals control more concise
        Previously, the :locals vector elements could be either a symbol
        or a pair (SYMBOL . INIT-VAL).  Now, the format for the latter
        variant is (SYMBOL INIT-FORM).  Also, INIT-FORM is now evaluated
        so you don't need to do that yourself.  For example:
        before:  :locals `[foo (ht . ,(make-hash-table)) bar]
        now:     :locals  [foo (ht (make-hash-table)) bar]
        In other words, the syntax resembles that of a `let' bindings
        block with square braces instead of parentheses on the outside.
    - Example databases writable
        The sooner you play with EDB (once it is built and loaded), the
        sooner you can report any bugs you find.  (Thanks!)
    - Mode lines say "Database" as part of the mode name
        -***-Database: machine-dbase   (Edit Abbrev 42/431)---All-
        -***- machine-dbase   (Database Edit Abbrev 42/431)---All-
        This is more informative (and looks nicer) in buffer listings.
    - Changes to edb-t-timedate.el
      - Some date formatting funcs now take optional arg SEPARATOR
        These funcs (w/ default separator):
          edb-t-timedate1:format-date-mmddyy   "/"
          edb-t-timedate1:format-date-yymmdd   "" (empty string)
          edb-t-timedate1:format-date-ddmmyy   "."
          edb-t-timedate1:format-date-ddmmmyy  " " (space)
          edb-t-timedate1:format-date-yyyymmdd "/"
        now take an optional second arg SEPARATOR which can be used to
        override the default listed above.  There is presently support
        for the (previously, and probably always to be, undocumented)
        vars named by appending "-separator" to the functions' names,
        but that support will be dropped for EDB 1.28.
        To convert code that uses the obsoleted vars, find fragments:
          (let ((FF-separator "*")) (FF date))
        and change them to look like:
          (FF date "*")
      - New formatting func: edb-t-timedate1:format-date-iso
      - New builtin displaytype: date-iso
        For example:
         (edb-t-timedate1:make-date 2006 7 3))
        => "2006-07-03"
        See examples/eicsw.edb for an example usage.
    - New func: db-set-field-help
    - New support for field-specific help in `db-field-help'
        You can now specify a field's help info (string or form that
        produces a string when evaluated) separately from that of the
        field's record type; it is no longer necessary to merge the help
        information in the record type.  Field-specific help is displayed
        first, followed by two newlines, followed by the record type's
    - New attribute :index-function for tagged file layout setup
        You can now specify `:index-function FUNC' as an attribute
        override for tagged file layout setup.  FUNC is called with one
        arg, the database object.  Relatedly, the manual now documents
        the restriction on using `db-after-read-hooks' (you can use
        :index-function, instead).
    - New support for writing data in a control with inherent data
        See (info "(./ Control properties reference")
        specifically entry `:data TEXT-BLOCK-SPEC'.  See also
        examples/forms-demo2-inherent.edb (a control file).
    - New configure option: --disable-badnames (see README)
    - New command: edb-1int-to-single
        This command helps you to migrate away from "internal file
        layout", support for which will be dropped in EDB 2.x, by
        translating that file into a functionally equivalent (more or
        less) "control with inherent data".  See info node by the same
        name in the EDB manual.
    - New command: edb-meta
        This command summarizes EDB state in a new buffer.  Since it
        exposes some internals, it is useful for debugging EDB and/or
        client programs, but probably not suited for casual users.  To
        try it out in place, build EDB and evaluate the forms:
          (load-file "lisp/edb-meta.elc")
        Once installed, `edb-meta' can be invoked automatically after
        EDB is loaded (i.e., it is autoloaded).
    - Advance notice for to-be-dropped items in EDB 1.28
        (internal)      database-recordfieldspec
        (internal)      database-recordfieldspec-type
        (internal)      database-set-recordfieldspec
        (spurious)      db-tagged-rrfr-hooks
        (spurious)      db-tagged-wrfr-before-hooks
        (spurious)      db-tagged-wrfr-after-hooks
        Actually "spurious" is kind of a pun: Similar facilities exist
        for customizing the reading/writing of tagged-format data, when
        you use control properties, so you SHOULD use them (ha ha).
        See examples/{eicsw,geneal}.edb.
    - Maintenance uses files from GNU Automake 1.9.6

cvs tag:


tarball, anoncvs instructions, etc, in dir:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]