Mercurial > emacs
view etc/schema/dbdyntbl.rnc @ 97967:cc9bb337ef7c
Fix the expunge command so that the current message index is correct.
* pmail.el (pmail-expunge-counter): New variable
(pmail-set-attribute): Canonicalize the calling sequence to index, attribute, state.
(pmail-show-message, pmail-delete-message, pmail-undelete-previous-message,
pmail-delete-forward, pmail-mark-message): Use the new canonical calling sequence.
(pmail-only-expunge): Use the expunge counter to update the current message index.
(pmail-expunge-callback): Simplify. Just count the expunged messages with a lower
index than the current message index.
* pmaildesc.el (pmail-desc-get-previous): Fix an "off by one" issue.
(pmail-desc-set-attribute): Canonicalize the calling sequence to index, attribute, state.
* pmailout.el (pmail-output-body-to-file): Use the canonical calling sequence.
author | Paul Reilly <pmr@pajato.com> |
---|---|
date | Wed, 03 Sep 2008 15:33:38 +0000 |
parents | 07ace381dccd |
children |
line wrap: on
line source
# This is an alternative to dbsoextbl.rnc and dbcalstbl.rnc that # allows the table model to be selected dynamically based on the # definitions of cals.table.module and exchange.table.module. # # To use this, copy docbook.rnc to docbook-dyntbl.rnc replacing # "dbcalstbl.rnc" by "dbdyntbl.rnc". Then, you can override the # choice of table model by doing # # include "docbook-dyntbl.rnc" { # cals.table.model = IGNORE # exchange.table.model = INCLUDE # } INCLUDE = empty IGNORE = notAllowed cals.table.module = INCLUDE exchange.table.module = IGNORE # Add common attributes and the Label attribute to Table and # InformalTable. bodyatt = common.attrib, label.attrib, tables.role.attrib # Content model for Table. tbl.table.mdl = blockinfo?, formalobject.title.content, ndxterm.class*, textobject*, (graphic+ | mediaobject+ | tgroup+) table = cals.table | exchange.table cals.table = cals.table.module, grammar { # Reference CALS Table Model include "calstbl.rnc" { # Add label and role attributes to table and informaltable bodyatt = parent label.attrib # Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, # EntryTbl, and Entry (and InformalTable element). secur = parent common.attrib, parent tables.role.attrib tbl.table.mdl = parent tbl.table.mdl } } exchange.table = exchange.table.module, grammar { # Reference OASIS Exchange Table Model include "soextbl.rnc" { # Add common attributes and the Label attribute to Table and # InformalTable. bodyatt = parent bodyatt tbl.table.mdl = parent tbl.table.mdl } } tgroup = cals.tgroup | exchange.tgroup cals.tgroup = cals.table.module, grammar { # Reference CALS Table Model include "calstbl.rnc" { start = tgroup # Add label and role attributes to table and informaltable bodyatt = parent label.attrib # Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, # EntryTbl, and Entry (and InformalTable element). secur = parent common.attrib, parent tables.role.attrib # Allow either objects or inlines; beware of REs between elements. tbl.entry.mdl = parent para.char.mix | parent tabentry.mix } } exchange.tgroup = exchange.table.module, grammar { # Reference OASIS Exchange Table Model include "soextbl.rnc" { start = tgroup bodyatt = parent bodyatt # Add common attributes to TGroup, ColSpec, TBody, THead, Row, Entry tbl.tgroup.att = parent common.attrib tbl.colspec.att = parent common.attrib tbl.tbody.att = parent common.attrib tbl.thead.att = parent common.attrib tbl.row.att = parent common.attrib tbl.entry.att = parent common.attrib # Allow either objects or inlines; beware of REs between elements. tbl.entry.mdl = (parent para.char.mix | parent tabentry.mix)* } } tbl.table.att = cals.tbl.table.att | exchange.tbl.table.att cals.tbl.table.att = cals.table.module, grammar { include "calstbl.rnc" { start = tbl.table.att } } exchange.tbl.table.att = exchange.table.module, grammar { include "soextbl.rnc" { start = tbl.table.att } } common.table.attribs = bodyatt # end of table.module