:EDB (single) ;;; -*- emacs-lisp -*- ;; Copyright (C) 2005,2008 Thien-Thi Nguyen ;; ;; This file is part of EDB. ;; ;; EDB is free software; you can redistribute it and/or modify it under ;; the terms of the GNU General Public License as published by the Free ;; Software Foundation; either version 3, or (at your option) any later ;; version. ;; ;; EDB is distributed in the hope that it will be useful, but WITHOUT ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ;; for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with EDB; see the file COPYING. If not, write to the Free ;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ;; MA 02110-1301, USA. :name "Mike's Time & Place Database" :fields [place time purpose] :record-separator "\n\n" :read-record (defun arb-demo-read-record () (if (re-search-forward "Place:[ \t]*\\(.*\\)\nTime:[ \t]*\\(.*\\)\nPurpose:[ \t]*\\(.*\\)" nil t) (list 'place (match-string 1) 'time (match-string 2) 'purpose (match-string 3)) (error "This region didn't look like a record to me."))) :write-record (defun arb-demo-write-record (place time purpose) (insert "Place: " place "\nTime: " time "\nPurpose: " purpose)) :cruft [[nil "\n"] [nil nil]] :choose-display (defun arb-demo-select-format-from-data (place) (if (string= "Home" place) "home format" "non-home format")) :display (:name "home format") === Mike's Time & Home Database === Purpose: \purpose Time: \time ** This activity is at home. ** :EOTB :display (:name "non-home format") === Mike's Time & Place Database === Place: \place Time: \time Purpose: \purpose :EOTB ;;; arb-demo.edb ends here