[med-svn] r1527 - in trunk/packages/emboss/trunk/debian: . patches

charles-guest at alioth.debian.org charles-guest at alioth.debian.org
Fri Mar 7 02:18:13 UTC 2008


Author: charles-guest
Date: 2008-03-07 02:18:12 +0000 (Fri, 07 Mar 2008)
New Revision: 1527

Added:
   trunk/packages/emboss/trunk/debian/patches/patch-1-9
Removed:
   trunk/packages/emboss/trunk/debian/patches/patch-1-3
Modified:
   trunk/packages/emboss/trunk/debian/README.debian
   trunk/packages/emboss/trunk/debian/changelog
   trunk/packages/emboss/trunk/debian/patches/series
Log:
New upstream patch.

Modified: trunk/packages/emboss/trunk/debian/README.debian
===================================================================
--- trunk/packages/emboss/trunk/debian/README.debian	2008-03-07 01:15:29 UTC (rev 1526)
+++ trunk/packages/emboss/trunk/debian/README.debian	2008-03-07 02:18:12 UTC (rev 1527)
@@ -17,6 +17,15 @@
 scripts.
 
 
+tfm uses Debian's pager by default
+----------------------------------
+
+The `tfm' program will use /usr/bin/pager instead of /usr/bin/more by default.
+/usr/bin/pager is managed via the `update-alternatives' utility and can point
+to other pagers such as `less' and `most'. This can be overriden by using the
+PAGER environment variable, just as in default EMBOSS installations.
+
+
 EMBOSS Quick Guide relicenced
 -----------------------------
 
@@ -25,4 +34,4 @@
 'emboss'.
 
 
- -- Charles Plessy <charles-debian-nospam at plessy.org>  Wed, 10 Oct 2007 09:07:24 +0900
+ -- Charles Plessy <charles-debian-nospam at plessy.org>  Fri, 07 Mar 2008 10:23:12 +0900

Modified: trunk/packages/emboss/trunk/debian/changelog
===================================================================
--- trunk/packages/emboss/trunk/debian/changelog	2008-03-07 01:15:29 UTC (rev 1526)
+++ trunk/packages/emboss/trunk/debian/changelog	2008-03-07 02:18:12 UTC (rev 1527)
@@ -1,3 +1,13 @@
+emboss (5.0.0-6) UNRELEASED; urgency=low
+
+  * New bugfixes released upstream:
+    - Fixes failure on some databases if the PAGESIZE was set large
+      and the CACHESIZE was set small.
+    - Platform-independence modifications added.
+  * debian/README.Debian: described the change of default pager for tfm.
+
+ -- Charles Plessy <charles-debian-nospam at plessy.org>  Fri, 07 Mar 2008 10:15:31 +0900
+
 emboss (5.0.0-5) unstable; urgency=low
 
   * New bugfixes released upstream.

Deleted: trunk/packages/emboss/trunk/debian/patches/patch-1-3
===================================================================
--- trunk/packages/emboss/trunk/debian/patches/patch-1-3	2008-03-07 01:15:29 UTC (rev 1526)
+++ trunk/packages/emboss/trunk/debian/patches/patch-1-3	2008-03-07 02:18:12 UTC (rev 1527)
@@ -1,220 +0,0 @@
-This patch was downloaded from:
-ftp://emboss.open-bio.org/pub/EMBOSS/fixes/patches/patch-1-3.gz
-
-Explanations for the changes are pasted from:
-ftp://emboss.open-bio.org/pub/EMBOSS/fixes/README.fixes
-
-Fix 1. EMBOSS-5.0.0/emboss/psiphi.c
-
-27 Jul 2007: Fixes a problem with reading more recent CCF files.
-             Error traps cases where chains have no atom information.
-
-Fix 2. EMBOSS-5.0.0/ajax/ajindex.c
-
-9 Jan 2008: Fixes rare secondary index problem with input files over 2Gb.
-
-Fix 3. EMBOSS-5.0.0/nucleus/embindex.c
-
-18 Jan 2008: Order and fill fixes to sort out potential problems
-             with kw/de/tx indexes.
-
-Fix 4. EMBOSS-5.0.0/ajax/ajseqdb.c
-
-19 Feb 2008: Fixes changed ID format in GCG databases.
-             Fixes reading from PIR databases
-
-Fix 5. EMBOSS-5.0.0/ajax/ajseqtype.c
-
-19 Feb 2008: Fixes a problem with O in protein sequences for pyrrolysine.
-             Lower case o worked, but upper case O was excluded as a
-             gap character in early versions of PHYLIP. 'O' is no
-             longer a gap character in EMBOSS.
-
-Fix 6. EMBOSS-5.0.0/ajax/ajseqwrite.c
-
-19 Feb 2008: Fixes a problem in GENBANK output format for mulitple
-             lines of ACCESSION or KEYWORD records in an entry.
-
-Fix 7. EMBOSS-5.0.0/ajax/ajseqread.c
-
-19 Feb 2008: Fixes a problem in reading protein sequences from the
-             Staden "spin" interface. The partial EMBL/SwissProt
-             format was set to "nucleotide". All incomplete
-             EMBL/SwissProt entries are now tested for amino acid
-             characters and set to protein if any non-nucleotide
-             characters are found.
-
-
-Fix 8. EMBOSS-5.0.0/emboss/dbxfasta.c
-
-19 Feb 2008: Fixes tokens that are longer than the maximum length in
-             the resource definition.
-             For IDs issues a warning when any ID is truncated.
-
-diff -c -N --recursive EMBOSS-5.0.0old/ajax/ajindex.c EMBOSS-5.0.0/ajax/ajindex.c
-*** EMBOSS-5.0.0old/ajax/ajindex.c	2007-07-06 13:18:48.000000000 +0100
---- EMBOSS-5.0.0/ajax/ajindex.c	2008-01-19 13:05:35.000000000 +0000
-***************
-*** 2516,2522 ****
-  
-  static ajint btreeNumIdCompare(const void *a, const void *b)
-  {
-!     return (*(AjPBtNumId const *)a)->offset - (*(AjPBtNumId const *)b)->offset;
-  }
-  
-  
---- 2516,2529 ----
-  
-  static ajint btreeNumIdCompare(const void *a, const void *b)
-  {
-!   ajlong val;
-! 
-!     val = (*(AjPBtNumId const *)a)->offset - (*(AjPBtNumId const *)b)->offset;
-! 
-!     if(!val)
-!       return 0;
-! 
-!     return (val < 0L) ? -1 : 1;
-  }
-  
-  
-***************
-*** 11956,11963 ****
-  
-  static ajint btreeOffsetCompare(const void *a, const void *b)
-  {
-!     return (*(AjPBtId const *)a)->offset -
-! 		  (*(AjPBtId const *)b)->offset;
-  }
-  
-  
---- 11963,11976 ----
-  
-  static ajint btreeOffsetCompare(const void *a, const void *b)
-  {
-!   ajlong val;
-! 
-!     val = (*(AjPBtId const *)a)->offset - (*(AjPBtId const *)b)->offset;
-! 
-!     if(!val)
-!       return 0;
-! 
-!     return (val < 0L) ? -1 : 1;
-  }
-  
-  
-diff -c -N --recursive EMBOSS-5.0.0old/emboss/psiphi.c EMBOSS-5.0.0/emboss/psiphi.c
-*** EMBOSS-5.0.0old/emboss/psiphi.c	2007-07-06 13:15:29.000000000 +0100
---- EMBOSS-5.0.0/emboss/psiphi.c	2008-01-19 13:05:35.000000000 +0000
-***************
-*** 160,166 ****
-      finishres = ajAcdGetInt("finishresiduenumber");
-  
-      /* reserve memory for and read in structure */
-!     /* JISON */    pdb = ajPdbReadoldNew(pdbfile);
-      
-      /* check and set number of chain to be analysed */
-      highest = pdb->Nchn;
---- 160,166 ----
-      finishres = ajAcdGetInt("finishresiduenumber");
-  
-      /* reserve memory for and read in structure */
-!     /* JISON */    pdb = ajPdbReadNew(pdbfile,0);
-      
-      /* check and set number of chain to be analysed */
-      highest = pdb->Nchn;
-***************
-*** 440,445 ****
---- 440,448 ----
-      ajint lowestres = 0;
-  
-      AjPAtom inlist   = NULL;
-+ 
-+     if(!ajListGetLength(pdb->Chains[myindex]->Atoms))
-+ 	ajFatal("Chain %d has no atoms",myindex+1);
-      
-      /* read first atom in list into memory, but keep it on list */
-      ajListPeek(pdb->Chains[myindex]->Atoms,
-diff -c -N --recursive EMBOSS-5.0.0old/nucleus/embindex.c EMBOSS-5.0.0/nucleus/embindex.c
-*** EMBOSS-5.0.0old/nucleus/embindex.c	2007-07-06 13:15:00.000000000 +0100
---- EMBOSS-5.0.0/nucleus/embindex.c	2008-01-19 13:05:44.000000000 +0000
-***************
-*** 1196,1208 ****
-      entry->txorder = (entry->pagesize - 60) / ((entry->txlen + 1) + 12);
-      entry->txfill  = (entry->pagesize - 16) / (entry->txlen + 28);
-  
-!     entry->kwsecorder = (entry->pagesize - 60) / ((entry->idlen + 1) + 12);
-!     entry->desecorder = (entry->pagesize - 60) / ((entry->idlen + 1) + 12);
-!     entry->txsecorder = (entry->pagesize - 60) / ((entry->idlen + 1) + 12);
-! 
-!     entry->kwsecfill  = (entry->pagesize - 16) / (entry->idlen + 4);
-!     entry->desecfill  = (entry->pagesize - 16) / (entry->idlen + 4);
-!     entry->txsecfill  = (entry->pagesize - 16) / (entry->idlen + 4);
-  
-      entry->idsecorder = (entry->pagesize - 60) / 24;
-      entry->idsecfill  = (entry->pagesize - 60) / 20;
---- 1196,1208 ----
-      entry->txorder = (entry->pagesize - 60) / ((entry->txlen + 1) + 12);
-      entry->txfill  = (entry->pagesize - 16) / (entry->txlen + 28);
-  
-!     entry->kwsecorder = (entry->pagesize - 60) / ((entry->kwlen + 1) + 12);
-!     entry->desecorder = (entry->pagesize - 60) / ((entry->delen + 1) + 12);
-!     entry->txsecorder = (entry->pagesize - 60) / ((entry->txlen + 1) + 12);
-! 
-!     entry->kwsecfill  = (entry->pagesize - 16) / (entry->kwlen + 4);
-!     entry->desecfill  = (entry->pagesize - 16) / (entry->delen + 4);
-!     entry->txsecfill  = (entry->pagesize - 16) / (entry->txlen + 4);
-  
-      entry->idsecorder = (entry->pagesize - 60) / 24;
-      entry->idsecfill  = (entry->pagesize - 60) / 20;
-***************
-*** 1251,1257 ****
-  					     entry->cachesize,
-  					     entry->idsecorder, slevel,
-  					     entry->idsecfill, count,
-! 					     entry->kwlen);
-  	if(!entry->idcache)
-  	    ajFatal("Cannot open ID index");
-  	
---- 1251,1257 ----
-  					     entry->cachesize,
-  					     entry->idsecorder, slevel,
-  					     entry->idsecfill, count,
-! 					     entry->idlen);
-  	if(!entry->idcache)
-  	    ajFatal("Cannot open ID index");
-  	
-***************
-*** 1267,1273 ****
-  					     entry->cachesize,
-  					     entry->acsecorder, slevel,
-  					     entry->acsecfill, count,
-! 					     entry->kwlen);
-  	if(!entry->accache)
-  	    ajFatal("Cannot open ACC index");
-  
---- 1267,1273 ----
-  					     entry->cachesize,
-  					     entry->acsecorder, slevel,
-  					     entry->acsecfill, count,
-! 					     entry->aclen);
-  	if(!entry->accache)
-  	    ajFatal("Cannot open ACC index");
-  
-***************
-*** 1282,1288 ****
-  					     entry->cachesize,
-  					     entry->svsecorder, slevel,
-  					     entry->svsecfill, count,
-! 					     entry->kwlen);
-  	if(!entry->svcache)
-  	    ajFatal("Cannot open SV index");
-  
---- 1282,1288 ----
-  					     entry->cachesize,
-  					     entry->svsecorder, slevel,
-  					     entry->svsecfill, count,
-! 					     entry->svlen);
-  	if(!entry->svcache)
-  	    ajFatal("Cannot open SV index");
-  

Added: trunk/packages/emboss/trunk/debian/patches/patch-1-9
===================================================================
--- trunk/packages/emboss/trunk/debian/patches/patch-1-9	                        (rev 0)
+++ trunk/packages/emboss/trunk/debian/patches/patch-1-9	2008-03-07 02:18:12 UTC (rev 1527)
@@ -0,0 +1,2367 @@
+This patch was downloaded from:
+ftp://emboss.open-bio.org/pub/EMBOSS/fixes/patches/patch-1-3.gz
+
+Explanations for the changes are pasted from:
+ftp://emboss.open-bio.org/pub/EMBOSS/fixes/README.fixes
+
+Fix 1. EMBOSS-5.0.0/emboss/psiphi.c
+
+27 Jul 2007: Fixes a problem with reading more recent CCF files.
+             Error traps cases where chains have no atom information.
+
+Fix 2. EMBOSS-5.0.0/ajax/ajindex.c
+
+9 Jan 2008: Fixes rare secondary index problem with input files over 2Gb.
+
+Fix 3. EMBOSS-5.0.0/nucleus/embindex.c
+
+18 Jan 2008: Order and fill fixes to sort out potential problems
+             with kw/de/tx indexes.
+
+Fix 4. EMBOSS-5.0.0/ajax/ajseqdb.c
+
+19 Feb 2008: Fixes changed ID format in GCG databases.
+             Fixes reading from PIR databases
+
+Fix 5. EMBOSS-5.0.0/ajax/ajseqtype.c
+
+19 Feb 2008: Fixes a problem with O in protein sequences for pyrrolysine.
+             Lower case o worked, but upper case O was excluded as a
+             gap character in early versions of PHYLIP. 'O' is no
+             longer a gap character in EMBOSS.
+
+Fix 6. EMBOSS-5.0.0/ajax/ajseqwrite.c
+
+19 Feb 2008: Fixes a problem in GENBANK output format for mulitple
+             lines of ACCESSION or KEYWORD records in an entry.
+
+Fix 7. EMBOSS-5.0.0/ajax/ajseqread.c
+
+19 Feb 2008: Fixes a problem in reading protein sequences from the
+             Staden "spin" interface. The partial EMBL/SwissProt
+             format was set to "nucleotide". All incomplete
+             EMBL/SwissProt entries are now tested for amino acid
+             characters and set to protein if any non-nucleotide
+             characters are found.
+
+
+Fix 8. EMBOSS-5.0.0/emboss/dbxfasta.c
+
+19 Feb 2008: Fixes tokens that are longer than the maximum length in
+             the resource definition.
+             For IDs issues a warning when any ID is truncated.
+
+
+Fix 9. EMBOSS-5.0.0/nucleus/embindex.c
+       EMBOSS-5.0.0/ajax/ajindex.c
+       EMBOSS-5.0.0/ajax/ajindex.h
+
+6 Mar 2008: Fixes failure on some databases if the PAGESIZE was set large
+            and the CACHESIZE was set small. Platform-independence
+            modifications added.
+
+
+diff -c -N --recursive EMBOSS-5.0.0old/ajax/ajindex.c EMBOSS-5.0.0/ajax/ajindex.c
+*** EMBOSS-5.0.0old/ajax/ajindex.c	2007-07-06 13:18:48.000000000 +0100
+--- EMBOSS-5.0.0/ajax/ajindex.c	2008-03-06 10:15:13.000000000 +0000
+***************
+*** 1364,1370 ****
+      {
+  	id = bucket->Ids[i];
+  	len = BT_BUCKIDLEN(id->id);
+! 	if((lptr-buf+1)+len > cache->pagesize) /* overflow */
+  	{
+      	    ajDebug("WriteBucket: Overflow\n");
+  	    if(!overflow)		/* No overflow buckets yet */
+--- 1364,1370 ----
+      {
+  	id = bucket->Ids[i];
+  	len = BT_BUCKIDLEN(id->id);
+! 	if((lptr-buf+1) + (len+1+BT_DDOFFROFF) > cache->pagesize) /* overflow */
+  	{
+      	    ajDebug("WriteBucket: Overflow\n");
+  	    if(!overflow)		/* No overflow buckets yet */
+***************
+*** 1986,1991 ****
+--- 1986,1994 ----
+      ajlong blockno  = 0L;
+      ajlong rblockno = 0L;
+      ajlong lblockno = 0L;
++     ajlong ibn      = 0L;
++     
++ 
+      AjPStr mediankey  = NULL;
+      ajlong medianless = 0L;
+      ajlong mediangtr  = 0L;
+***************
+*** 2139,2148 ****
+      }
+  
+  
+!     ipage = rpage;
+      if(strcmp(key->Ptr,mediankey->Ptr)<0)
+! 	ipage = lpage;
+  
+      btreeInsertNonFull(cache,ipage,key,less,greater);
+  
+  
+--- 2142,2153 ----
+      }
+  
+  
+!     ibn = rblockno;
+      if(strcmp(key->Ptr,mediankey->Ptr)<0)
+! 	ibn = lblockno;
+  
++     ipage = ajBtreeCacheRead(cache,ibn);
++     
+      btreeInsertNonFull(cache,ipage,key,less,greater);
+  
+  
+***************
+*** 2516,2522 ****
+  
+  static ajint btreeNumIdCompare(const void *a, const void *b)
+  {
+!     return (*(AjPBtNumId const *)a)->offset - (*(AjPBtNumId const *)b)->offset;
+  }
+  
+  
+--- 2521,2534 ----
+  
+  static ajint btreeNumIdCompare(const void *a, const void *b)
+  {
+!   ajlong val;
+! 
+!     val = (*(AjPBtNumId const *)a)->offset - (*(AjPBtNumId const *)b)->offset;
+! 
+!     if(!val)
+!       return 0;
+! 
+!     return (val < 0L) ? -1 : 1;
+  }
+  
+  
+***************
+*** 9895,9901 ****
+  
+  /* @funcstatic btreeInsertKeySec *****************************************
+  **
+! ** Insert a secpndary key into a potentially full node
+  **
+  ** @param [u] cache [AjPBtcache] cache
+  ** @param [u] page [AjPBtpage] original page
+--- 9907,9913 ----
+  
+  /* @funcstatic btreeInsertKeySec *****************************************
+  **
+! ** Insert a secondary key into a potentially full node
+  **
+  ** @param [u] cache [AjPBtcache] cache
+  ** @param [u] page [AjPBtpage] original page
+***************
+*** 9936,9942 ****
+      ajlong blockno  = 0L;
+      ajlong rblockno = 0L;
+      ajlong lblockno = 0L;
+! 
+      AjPStr mediankey  = NULL;
+      ajlong medianless = 0L;
+      ajlong mediangtr  = 0L;
+--- 9948,9955 ----
+      ajlong blockno  = 0L;
+      ajlong rblockno = 0L;
+      ajlong lblockno = 0L;
+!     ajlong ibn      = 0L;
+!     
+      AjPStr mediankey  = NULL;
+      ajlong medianless = 0L;
+      ajlong mediangtr  = 0L;
+***************
+*** 10090,10099 ****
+      }
+  
+  
+!     ipage = rpage;
+      if(strcmp(key->Ptr,mediankey->Ptr)<0)
+! 	ipage = lpage;
+  
+      btreeInsertNonFullSec(cache,ipage,key,less,greater);
+  
+  
+--- 10103,10114 ----
+      }
+  
+  
+!     ibn = rblockno;
+      if(strcmp(key->Ptr,mediankey->Ptr)<0)
+! 	ibn = lblockno;
+  
++     ipage = ajBtreeCacheRead(cache,ibn);
++     
+      btreeInsertNonFullSec(cache,ipage,key,less,greater);
+  
+  
+***************
+*** 10258,10264 ****
+  	btreeWriteNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(!ppage->pageno)
+  	    ppage->dirty = BT_LOCK;
+  
+  	i = 0;
+--- 10273,10279 ----
+  	btreeWriteNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(ppage->pageno == cache->secrootblock)
+  	    ppage->dirty = BT_LOCK;
+  
+  	i = 0;
+***************
+*** 10355,10361 ****
+  	btreeWriteNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(!ppage->pageno)
+  	    ppage->dirty = BT_LOCK;
+  
+  	i = 0;
+--- 10370,10376 ----
+  	btreeWriteNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(ppage->pageno == cache->secrootblock)
+  	    ppage->dirty = BT_LOCK;
+  
+  	i = 0;
+***************
+*** 10668,10674 ****
+  	btreeWriteNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(!ppage->pageno)
+  	    ppage->dirty = BT_LOCK;
+  
+  	page = ajBtreeCacheRead(cache,pSarray[skeys]);
+--- 10683,10689 ----
+  	btreeWriteNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(ppage->pageno == cache->secrootblock)
+  	    ppage->dirty = BT_LOCK;
+  
+  	page = ajBtreeCacheRead(cache,pSarray[skeys]);
+***************
+*** 10726,10732 ****
+  	btreeWriteNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(!ppage->pageno)
+  	    ppage->dirty = BT_LOCK;
+  
+  	page = ajBtreeCacheRead(cache,pSarray[0]);
+--- 10741,10747 ----
+  	btreeWriteNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(ppage->pageno == cache->secrootblock)
+  	    ppage->dirty = BT_LOCK;
+  
+  	page = ajBtreeCacheRead(cache,pSarray[0]);
+***************
+*** 11956,11963 ****
+  
+  static ajint btreeOffsetCompare(const void *a, const void *b)
+  {
+!     return (*(AjPBtId const *)a)->offset -
+! 		  (*(AjPBtId const *)b)->offset;
+  }
+  
+  
+--- 11971,11984 ----
+  
+  static ajint btreeOffsetCompare(const void *a, const void *b)
+  {
+!   ajlong val;
+! 
+!     val = (*(AjPBtId const *)a)->offset - (*(AjPBtId const *)b)->offset;
+! 
+!     if(!val)
+!       return 0;
+! 
+!     return (val < 0L) ? -1 : 1;
+  }
+  
+  
+***************
+*** 13386,13391 ****
+--- 13407,13414 ----
+      ajlong blockno  = 0L;
+      ajlong rblockno = 0L;
+      ajlong lblockno = 0L;
++     ajlong ibn      = 0L;
++ 
+      AjPStr mediankey  = NULL;
+      ajlong medianless = 0L;
+      ajlong mediangtr  = 0L;
+***************
+*** 13534,13546 ****
+      }
+  
+  
+!     ipage = rpage;
+      if(strcmp(key->Ptr,mediankey->Ptr)<0)
+! 	ipage = lpage;
+  
+      lpage->dirty = BT_DIRTY;
+      rpage->dirty = BT_DIRTY;
+  
+      btreeInsertNonFull(cache,ipage,key,less,greater);
+  
+  
+--- 13557,13571 ----
+      }
+  
+  
+!     ibn = rblockno;
+      if(strcmp(key->Ptr,mediankey->Ptr)<0)
+! 	ibn = lblockno;
+  
+      lpage->dirty = BT_DIRTY;
+      rpage->dirty = BT_DIRTY;
+  
++     ipage = ajBtreeCacheRead(cache,ibn);
++     
+      btreeInsertNonFull(cache,ipage,key,less,greater);
+  
+  
+***************
+*** 15020,15025 ****
+--- 15045,15052 ----
+      ajlong blockno  = 0L;
+      ajlong rblockno = 0L;
+      ajlong lblockno = 0L;
++     ajlong ibn      = 0L;
++ 
+      ajlong mediankey  = 0L;
+      ajlong medianless = 0L;
+      ajlong mediangtr  = 0L;
+***************
+*** 15162,15173 ****
+      }
+  
+  
+!     ipage = rpage;
+      if(key < mediankey)
+! 	ipage = lpage;
+  
+      lpage->dirty = BT_DIRTY;
+      rpage->dirty = BT_DIRTY;
+      
+      btreeNumInsertNonFull(cache,ipage,key,less,greater);
+  
+--- 15189,15202 ----
+      }
+  
+  
+!     ibn = rblockno;
+      if(key < mediankey)
+! 	ibn = lblockno;
+  
+      lpage->dirty = BT_DIRTY;
+      rpage->dirty = BT_DIRTY;
++ 
++     ipage = ajBtreeCacheRead(cache,ibn);
+      
+      btreeNumInsertNonFull(cache,ipage,key,less,greater);
+  
+***************
+*** 15502,15508 ****
+  	btreeWriteNumNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNumNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNumNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(!ppage->pageno)
+  	    ppage->dirty = BT_LOCK;
+  
+  	page = ajBtreeCacheRead(cache,pSarray[skeys]);
+--- 15531,15537 ----
+  	btreeWriteNumNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNumNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNumNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(ppage->pageno == cache->secrootblock)
+  	    ppage->dirty = BT_LOCK;
+  
+  	page = ajBtreeCacheRead(cache,pSarray[skeys]);
+***************
+*** 15551,15557 ****
+  	btreeWriteNumNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNumNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNumNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(!ppage->pageno)
+  	    ppage->dirty = BT_LOCK;
+  
+  	page = ajBtreeCacheRead(cache,pSarray[0]);
+--- 15580,15586 ----
+  	btreeWriteNumNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNumNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNumNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(ppage->pageno == cache->secrootblock)
+  	    ppage->dirty = BT_LOCK;
+  
+  	page = ajBtreeCacheRead(cache,pSarray[0]);
+***************
+*** 15727,15733 ****
+  	btreeWriteNumNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNumNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNumNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(!ppage->pageno)
+  	    ppage->dirty = BT_LOCK;
+  
+  	i = 0;
+--- 15756,15762 ----
+  	btreeWriteNumNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNumNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNumNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(ppage->pageno == cache->secrootblock)
+  	    ppage->dirty = BT_LOCK;
+  
+  	i = 0;
+***************
+*** 15817,15823 ****
+  	btreeWriteNumNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNumNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNumNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(!ppage->pageno)
+  	    ppage->dirty = BT_LOCK;
+  
+  	i = 0;
+--- 15846,15852 ----
+  	btreeWriteNumNode(cache,spage,kSarray,pSarray,skeys);
+  	btreeWriteNumNode(cache,tpage,kTarray,pTarray,tkeys);
+  	btreeWriteNumNode(cache,ppage,kParray,pParray,pkeys);
+! 	if(ppage->pageno == cache->secrootblock)
+  	    ppage->dirty = BT_LOCK;
+  
+  	i = 0;
+diff -c -N --recursive EMBOSS-5.0.0old/ajax/ajindex.h EMBOSS-5.0.0/ajax/ajindex.h
+*** EMBOSS-5.0.0old/ajax/ajindex.h	2007-07-11 17:07:25.000000000 +0100
+--- EMBOSS-5.0.0/ajax/ajindex.h	2008-03-06 10:15:22.000000000 +0000
+***************
+*** 38,43 ****
+--- 38,103 ----
+  #define TX_EXTENSION "xtx"
+  
+  
++ /* Useful page filling values */
++ 
++ /*
++  *  Length of integers after the ID string in a primary bucket 
++  *  i.e. dbno + dups + offset + refoffset
++  */
++ #define BT_DDOFFROFF (sizeof(ajint) + sizeof(ajint) + sizeof(ajlong) +  \
++                       sizeof(ajlong))
++ 
++ /*
++  *  Preamble before key lengths in an internal node
++  * i.e. nodetype+blocknumber+nkeys+totlen+left+right+overflow+prev
++  */
++ #define BT_NODEPREAMBLE (sizeof(ajint) + sizeof(ajlong) + sizeof(ajint) + \
++     sizeof(ajint) + sizeof(ajlong) + sizeof(ajlong) + sizeof(ajlong) + \
++                          sizeof(ajlong))
++ 
++ /*
++  *  This is the length of extra pointer required in primary index
++  *  page space calculations i.e. the total space taken by
++  *  key/pointer pairs in an internal page is:
++  *  BT_PTRLEN + ((keylenmax + sizeof(long))*nkeys)
++  *  This is because there is one more pointer than the
++  *  value of 'order' in a B+ tree.
++  */
++ #define BT_PTRLEN sizeof(ajlong)
++ 
++ 
++ /*
++  *  Length of extra space, on top of a key string, taken up by a
++  *  key in an internal node. This is an ajint holding the length
++  *  of a string plus the length of a block pointer (ajlong)
++  */
++ #define BT_IDKEYEXTRA (sizeof(ajint) + sizeof(ajlong))
++ 
++ 
++ /*
++  *  Preamble before key lengths in an id bucket
++  *  i.e. nodetype+nentries+overflow
++  */
++ #define BT_BUCKPREAMBLE (sizeof(ajint) + sizeof(ajint) + sizeof(ajlong))
++ 
++ 
++ /*
++  *  Size of a key in a key length table block in an internal node or bucket
++  */
++ #define BT_KEYLENENTRY sizeof(ajint)
++ 
++ /*
++  *  Size of an offset key
++  */
++ #define BT_OFFKEYLEN sizeof(ajlong)
++ 
++ /*
++  *  Length of integers per entry in a num bucket 
++  *  i.e. dbno + offset + refoffset
++  */
++ #define BT_DOFFROFF (sizeof(ajint) + sizeof(ajlong) + sizeof(ajlong))
++     
++ 
+  
+  
+  /* @data AjPBtNode ***********************************************************
+diff -c -N --recursive EMBOSS-5.0.0old/ajax/ajseqdb.c EMBOSS-5.0.0/ajax/ajseqdb.c
+*** EMBOSS-5.0.0old/ajax/ajseqdb.c	2007-07-06 13:22:40.000000000 +0100
+--- EMBOSS-5.0.0/ajax/ajseqdb.c	2008-03-06 10:14:40.000000000 +0000
+***************
+*** 4314,4320 ****
+  
+      if(!seqRegGcgId)
+      {
+! 	seqRegGcgId =ajRegCompC("^>...([^ ]+) +([^ ]+) +([^ ]+) +([^ ]+) +([0-9]+)");
+  	seqRegGcgId2=ajRegCompC("^>[PF]1;([^ ]+)");
+      }
+  
+--- 4314,4320 ----
+  
+      if(!seqRegGcgId)
+      {
+! 	seqRegGcgId =ajRegCompC("^>...([^ ]+) +(Dummy Header|[^ ]+) +([^ ]+) +([^ ]+) +([0-9]+)");
+  	seqRegGcgId2=ajRegCompC("^>[PF]1;([^ ]+)");
+      }
+  
+***************
+*** 4352,4358 ****
+      else if(ajRegExec(seqRegGcgId2, line))
+      {
+  	ajStrAssignC(&gcgtype, "ASCII");
+! 	ajRegSubI(seqRegGcgId, 1, &tmpstr);
+  	ispir = ajTrue;
+      }
+      else
+--- 4352,4358 ----
+      else if(ajRegExec(seqRegGcgId2, line))
+      {
+  	ajStrAssignC(&gcgtype, "ASCII");
+! 	ajRegSubI(seqRegGcgId2, 1, &tmpstr);
+  	ispir = ajTrue;
+      }
+      else
+***************
+*** 5546,5552 ****
+  
+      if(!seqRegGcgId)
+      {
+! 	seqRegGcgId =ajRegCompC("^>...([^ ]+) +([^ ]+) +([^ ]+) +([^ ]+) +([0-9]+)");
+  	seqRegGcgId2=ajRegCompC("^>[PF]1;([^ ]+)");
+      }
+  
+--- 5546,5552 ----
+  
+      if(!seqRegGcgId)
+      {
+! 	seqRegGcgId =ajRegCompC("^>...([^ ]+) +(Dummy Header|[^ ]+) +([^ ]+) +([^ ]+) +([0-9]+)");
+  	seqRegGcgId2=ajRegCompC("^>[PF]1;([^ ]+)");
+      }
+  
+***************
+*** 5584,5590 ****
+      else if(ajRegExec(seqRegGcgId2, line))
+      {
+  	ajStrAssignC(&gcgtype, "ASCII");
+! 	ajRegSubI(seqRegGcgId, 1, &tmpstr);
+  	ispir = ajTrue;
+      }
+      else
+--- 5584,5590 ----
+      else if(ajRegExec(seqRegGcgId2, line))
+      {
+  	ajStrAssignC(&gcgtype, "ASCII");
+! 	ajRegSubI(seqRegGcgId2, 1, &tmpstr);
+  	ispir = ajTrue;
+      }
+      else
+diff -c -N --recursive EMBOSS-5.0.0old/ajax/ajseqread.c EMBOSS-5.0.0/ajax/ajseqread.c
+*** EMBOSS-5.0.0old/ajax/ajseqread.c	2007-07-11 13:09:51.000000000 +0100
+--- EMBOSS-5.0.0/ajax/ajseqread.c	2008-03-06 10:14:41.000000000 +0000
+***************
+*** 604,610 ****
+  /*     Feature  Gap,     ReadFunction, Multiset, Padding */
+    {"unknown",     "Unknown format",
+         AJFALSE, AJFALSE, AJTRUE,  AJTRUE,
+!        AJTRUE,  AJTRUE,  seqReadText, AJTRUE, 0},	/* alias for text */
+    {"gcg",         "GCG sequence format",
+         AJFALSE, AJTRUE,  AJTRUE,  AJTRUE,
+         AJFALSE, AJTRUE,  seqReadGcg, AJFALSE, 0}, /* do first, headers mislead */
+--- 604,610 ----
+  /*     Feature  Gap,     ReadFunction, Multiset, Padding */
+    {"unknown",     "Unknown format",
+         AJFALSE, AJFALSE, AJTRUE,  AJTRUE,
+!        AJTRUE,  AJTRUE,  seqReadText, AJFALSE, 0},	/* alias for text */
+    {"gcg",         "GCG sequence format",
+         AJFALSE, AJTRUE,  AJTRUE,  AJTRUE,
+         AJFALSE, AJTRUE,  seqReadGcg, AJFALSE, 0}, /* do first, headers mislead */
+***************
+*** 6637,6642 ****
+--- 6637,6643 ----
+      else		     /* test for a SwissProt/SpTrEMBL entry */
+      {
+  	if(ajStrFindC(seqReadLine, " PRT; ")>= 0  ||
++ 	   ajStrFindC(seqReadLine, " Unreviewed; ") >= 0 ||
+  	   ajStrFindC(seqReadLine, " Reviewed; ") >= 0 ||
+  	   ajStrFindC(seqReadLine, " Preliminary; ") >= 0 
+  	   )
+***************
+*** 6650,6656 ****
+  
+      ok = ajFileBuffGetStore(buff, &seqReadLine, seqin->Text, &thys->TextPtr);
+  
+!     while(ok && !ajStrPrefixC(seqReadLine, "SQ   "))
+      {
+  	bufflines++;
+  
+--- 6651,6657 ----
+  
+      ok = ajFileBuffGetStore(buff, &seqReadLine, seqin->Text, &thys->TextPtr);
+  
+!     while(ok && !ajStrPrefixC(seqReadLine, "SQ"))
+      {
+  	bufflines++;
+  
+***************
+*** 7028,7033 ****
+--- 7029,7045 ----
+  	}
+      }
+  
++     if(!ajSeqIsNuc(thys))
++     {
++         ajFileBuffReset(buff);
++         ajStrDel(&tmpstr);
++         ajStrDel(&token);
++         ajStrDel(&datestr);
++         ajStrDel(&relstr);
++         ajStrTokenDel(&handle);
++         return ajFalse;
++     }
++ 
+      ajSeqSetNuc(thys);
+  
+      ajFileBuffClear(buff, 0);
+***************
+*** 7830,7837 ****
+  
+      if(ajStrMatchC(typstr, "Protein"))
+        ajSeqSetProt(thys);
+!     else
+        ajSeqSetNuc(thys);
+  
+      ajFileBuffClear(buff, 0);
+  
+--- 7842,7851 ----
+  
+      if(ajStrMatchC(typstr, "Protein"))
+        ajSeqSetProt(thys);
+!     else if(ajSeqIsNuc(thys))
+        ajSeqSetNuc(thys);
++     else
++       ajSeqSetProt(thys);
+  
+      ajFileBuffClear(buff, 0);
+  
+diff -c -N --recursive EMBOSS-5.0.0old/ajax/ajseqtype.c EMBOSS-5.0.0/ajax/ajseqtype.c
+*** EMBOSS-5.0.0old/ajax/ajseqtype.c	2007-02-09 18:30:59.000000000 +0000
+--- EMBOSS-5.0.0/ajax/ajseqtype.c	2008-03-06 10:14:41.000000000 +0000
+***************
+*** 160,166 ****
+  ** - Phylip and some alignment output
+  ** ~ GCG for gaps at ends
+  ** * Staden for DNA but stop for protein (fix on input?)
+! ** O Phylip (fix on input?)
+  */
+  
+  
+--- 160,166 ----
+  ** - Phylip and some alignment output
+  ** ~ GCG for gaps at ends
+  ** * Staden for DNA but stop for protein (fix on input?)
+! ** O Phylip (fix on input?) - no longer possible: O is pyrrolysine in proteins
+  */
+  
+  
+***************
+*** 174,187 ****
+  char seqCharNuc[]       = "ACGTUBDHKMNRSVWXY?";
+  char seqCharNucPure[]   = "ACGTU";
+  char seqCharNucAmbig[]  = "BDHKMNRSVWXY?";
+! char seqCharGap[]       = ".~O-";	/* phylip uses O */
+  char seqCharNucDna[]    = "ACGTBDHKMNRSVWXY?";
+  char seqCharNucRna[]    = "ACGUBDHKMNRSVWXY?";
+! char seqCharGapany[]    = ".~O-";	/* phylip uses O */
+  char seqCharGapdash[]   = "-";
+  char seqCharGapdot[]    = ".";
+  char seqGap = '-';		/* the (only) EMBOSS gap character */
+! char seqCharGapTest[]   = " .~O-";   /* phylip uses O - don't forget space */
+  char seqCharPhylo[]       = "?";	/* phylip uses ? for unknown or gap */
+  
+  
+--- 174,187 ----
+  char seqCharNuc[]       = "ACGTUBDHKMNRSVWXY?";
+  char seqCharNucPure[]   = "ACGTU";
+  char seqCharNucAmbig[]  = "BDHKMNRSVWXY?";
+! char seqCharGap[]       = ".~-";	/* phylip uses O */
+  char seqCharNucDna[]    = "ACGTBDHKMNRSVWXY?";
+  char seqCharNucRna[]    = "ACGUBDHKMNRSVWXY?";
+! char seqCharGapany[]    = ".~-";	/* phylip uses O */
+  char seqCharGapdash[]   = "-";
+  char seqCharGapdot[]    = ".";
+  char seqGap = '-';		/* the (only) EMBOSS gap character */
+! char seqCharGapTest[]   = " .~-";   /* phylip uses O - don't forget space */
+  char seqCharPhylo[]       = "?";	/* phylip uses ? for unknown or gap */
+  
+  
+diff -c -N --recursive EMBOSS-5.0.0old/ajax/ajseqwrite.c EMBOSS-5.0.0/ajax/ajseqwrite.c
+*** EMBOSS-5.0.0old/ajax/ajseqwrite.c	2007-07-06 13:10:46.000000000 +0100
+--- EMBOSS-5.0.0/ajax/ajseqwrite.c	2008-03-06 10:14:42.000000000 +0000
+***************
+*** 2788,2805 ****
+  	{
+  	    if(ilen + ajStrGetLen(cur) > 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "AC   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  
+--- 2788,2805 ----
+  	{
+  	    if(ilen + ajStrGetLen(cur) > 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "AC   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  
+***************
+*** 2808,2814 ****
+  
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ";\n", cur);
+      }
+      
+      if(ajStrGetLen(outseq->Sv))
+--- 2808,2814 ----
+  
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ";\n");
+      }
+      
+      if(ajStrGetLen(outseq->Sv))
+***************
+*** 2827,2851 ****
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "KW   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n", cur);
+      }
+      
+      if(ajStrGetLen(outseq->Tax))
+--- 2827,2851 ----
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "KW   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n");
+      }
+      
+      if(ajStrGetLen(outseq->Tax))
+***************
+*** 2859,2883 ****
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "OC   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n", cur);
+      }
+      
+      if(seqoutUfoLocal(outseq))
+--- 2859,2883 ----
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "OC   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n");
+      }
+      
+      if(seqoutUfoLocal(outseq))
+***************
+*** 2973,2990 ****
+  	{
+  	    if(ilen + ajStrGetLen(cur) > 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "AC   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  
+--- 2973,2990 ----
+  	{
+  	    if(ilen + ajStrGetLen(cur) > 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "AC   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  
+***************
+*** 2993,2999 ****
+  
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ";\n", cur);
+      }
+      
+      if(ajStrGetLen(outseq->Sv))
+--- 2993,2999 ----
+  
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ";\n");
+      }
+      
+      if(ajStrGetLen(outseq->Sv))
+***************
+*** 3021,3045 ****
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "KW   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n", cur);
+      }
+      
+      if(ajStrGetLen(outseq->Tax))
+--- 3021,3045 ----
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "KW   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n");
+      }
+      
+      if(ajStrGetLen(outseq->Tax))
+***************
+*** 3053,3077 ****
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "OC   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n", cur);
+      }
+      
+      if(seqoutUfoLocal(outseq))
+--- 3053,3077 ----
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "OC   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n");
+      }
+      
+      if(seqoutUfoLocal(outseq))
+***************
+*** 3209,3215 ****
+  
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ";\nXX\n", cur);
+      }
+  
+      /* no SV line in the new format - see the ID line */
+--- 3209,3215 ----
+  
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ";\nXX\n");
+      }
+  
+      /* no SV line in the new format - see the ID line */
+***************
+*** 3237,3243 ****
+  			"DT   %D (Rel. %S, Last updated, Version %S)\n",
+  			outseq->Date->ModDate, outseq->Date->ModRel,
+  			outseq->Date->ModVer);
+!  	ajFmtPrintF(outseq->File, "XX\n", cur);
+     }
+  
+      if(ajStrGetLen(outseq->Desc))
+--- 3237,3243 ----
+  			"DT   %D (Rel. %S, Last updated, Version %S)\n",
+  			outseq->Date->ModDate, outseq->Date->ModRel,
+  			outseq->Date->ModVer);
+!  	ajFmtPrintF(outseq->File, "XX\n");
+     }
+  
+      if(ajStrGetLen(outseq->Desc))
+***************
+*** 3250,3256 ****
+  	    ajFmtPrintF(outseq->File, "DE   %S\n", tmpline);
+  	    tmpline = ajStrParseC(NULL, "\n");
+  	}
+! 	ajFmtPrintF(outseq->File, "XX\n", cur);
+      }
+  
+      if(ajListGetLength(outseq->Keylist))
+--- 3250,3256 ----
+  	    ajFmtPrintF(outseq->File, "DE   %S\n", tmpline);
+  	    tmpline = ajStrParseC(NULL, "\n");
+  	}
+! 	ajFmtPrintF(outseq->File, "XX\n");
+      }
+  
+      if(ajListGetLength(outseq->Keylist))
+***************
+*** 3261,3285 ****
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "KW   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\nXX\n", cur);
+      }
+      
+      if(ajStrGetLen(outseq->Tax))
+--- 3261,3285 ----
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "KW   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\nXX\n");
+      }
+      
+      if(ajStrGetLen(outseq->Tax))
+***************
+*** 3293,3317 ****
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "OC   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n", cur);
+      }
+      if(ajStrGetLen(outseq->Organelle))
+  	ajFmtPrintF(outseq->File, "OG   %S\n", outseq->Organelle);
+--- 3293,3317 ----
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "OC   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n");
+      }
+      if(ajStrGetLen(outseq->Organelle))
+  	ajFmtPrintF(outseq->File, "OG   %S\n", outseq->Organelle);
+***************
+*** 3319,3325 ****
+      if(ajStrGetLen(outseq->Tax) ||
+         ajStrGetLen(outseq->Organelle) ||
+         ajListGetLength(outseq->Taxlist) > 1)
+! 	ajFmtPrintF(outseq->File, "XX\n", cur);
+      
+      if(ajListGetLength(outseq->Reflist))
+      {
+--- 3319,3325 ----
+      if(ajStrGetLen(outseq->Tax) ||
+         ajStrGetLen(outseq->Organelle) ||
+         ajListGetLength(outseq->Taxlist) > 1)
+! 	ajFmtPrintF(outseq->File, "XX\n");
+      
+      if(ajListGetLength(outseq->Reflist))
+      {
+***************
+*** 3438,3444 ****
+  	    }
+  	}
+  	ajListIterDel(&it);
+! 	ajFmtPrintF(outseq->File, "XX\n", cur);
+      }
+  
+      if(ajListGetLength(outseq->Cmtlist))
+--- 3438,3444 ----
+  	    }
+  	}
+  	ajListIterDel(&it);
+! 	ajFmtPrintF(outseq->File, "XX\n");
+      }
+  
+      if(ajListGetLength(outseq->Cmtlist))
+***************
+*** 3457,3463 ****
+  		    ajFmtPrintF(outseq->File, "CC   %S\n", tmpline);
+  		tmpline = ajStrParseC(NULL, "\n");
+  	    }
+! 	    ajFmtPrintF(outseq->File, "XX\n", cur);
+  	}
+  	ajListIterDel(&it);
+      }
+--- 3457,3463 ----
+  		    ajFmtPrintF(outseq->File, "CC   %S\n", tmpline);
+  		tmpline = ajStrParseC(NULL, "\n");
+  	    }
+! 	    ajFmtPrintF(outseq->File, "XX\n");
+  	}
+  	ajListIterDel(&it);
+      }
+***************
+*** 3471,3477 ****
+  	if(!ajFeatWrite(outseq->Ftquery, outseq->Fttable))
+  	    ajWarn("seqWriteEmbl features output failed UFO: '%S'",
+  		   outseq->Ufo);
+! 	ajFmtPrintF(outseq->File, "XX\n", cur);
+      }
+      
+      ajSeqoutGetBasecount(outseq, b);
+--- 3471,3477 ----
+  	if(!ajFeatWrite(outseq->Ftquery, outseq->Fttable))
+  	    ajWarn("seqWriteEmbl features output failed UFO: '%S'",
+  		   outseq->Ufo);
+! 	ajFmtPrintF(outseq->File, "XX\n");
+      }
+      
+      ajSeqoutGetBasecount(outseq, b);
+***************
+*** 3541,3558 ****
+  	{
+  	    if(ilen + ajStrGetLen(cur) > 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "AC   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  
+--- 3541,3558 ----
+  	{
+  	    if(ilen + ajStrGetLen(cur) > 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "AC   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  
+***************
+*** 3562,3568 ****
+  	}
+  	
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ";\n", cur);
+      }
+      
+      if(ajStrGetLen(outseq->Desc))
+--- 3562,3568 ----
+  	}
+  	
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ";\n");
+      }
+      
+      if(ajStrGetLen(outseq->Desc))
+***************
+*** 3579,3596 ****
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "OC   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+--- 3579,3596 ----
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "OC   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+***************
+*** 3598,3604 ****
+  	}
+  	
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n", cur);
+      }
+      
+      if(ajListGetLength(outseq->Keylist))
+--- 3598,3604 ----
+  	}
+  	
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n");
+      }
+      
+      if(ajListGetLength(outseq->Keylist))
+***************
+*** 3609,3626 ****
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "KW   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+--- 3609,3626 ----
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "KW   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+***************
+*** 3628,3634 ****
+  	}
+  
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n", cur);
+      }
+      
+      if(seqoutUfoLocal(outseq))
+--- 3628,3634 ----
+  	}
+  
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n");
+      }
+      
+      if(seqoutUfoLocal(outseq))
+***************
+*** 3708,3725 ****
+  	{
+  	    if(ilen + ajStrGetLen(cur) > 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "AC   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  
+--- 3708,3725 ----
+  	{
+  	    if(ilen + ajStrGetLen(cur) > 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "AC   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  
+***************
+*** 3729,3735 ****
+  	}
+  	
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ";\n", cur);
+      }
+      
+      if(ajStrGetLen(outseq->Desc))
+--- 3729,3735 ----
+  	}
+  	
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ";\n");
+      }
+      
+      if(ajStrGetLen(outseq->Desc))
+***************
+*** 3746,3763 ****
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "OC   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+--- 3746,3763 ----
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "OC   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+***************
+*** 3765,3771 ****
+  	}
+  	
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n", cur);
+      }
+      
+      if(ajListGetLength(outseq->Keylist))
+--- 3765,3771 ----
+  	}
+  	
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n");
+      }
+      
+      if(ajListGetLength(outseq->Keylist))
+***************
+*** 3776,3793 ****
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n", cur);
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "KW   ", cur);
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+--- 3776,3793 ----
+  	{
+  	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n");
+  		ilen = 0;
+  	    }
+  
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "KW   ");
+  		ilen = 6;
+  	    }
+  	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ");
+  		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+***************
+*** 3795,3801 ****
+  	}
+  
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n", cur);
+      }
+      
+      if(seqoutUfoLocal(outseq))
+--- 3795,3801 ----
+  	}
+  
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n");
+      }
+      
+      if(seqoutUfoLocal(outseq))
+***************
+*** 3918,3940 ****
+  	it   = ajListIterNewread(outseq->Acclist);
+  	while((cur = (AjPStr) ajListIterGet(it)))
+  	{
+- 	    if(ilen + ajStrGetLen(cur) > 79)
+- 	    {
+- 		ajFmtPrintF(outseq->File, "\n", cur);
+- 		ilen = 0;
+- 	    }
+- 
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "ACCESSION   ", cur);
+! 		ilen = 12;
+  	    }
+! 	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, " ", cur);
+! 		ilen += 1;
+  	    }
+  
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  
+--- 3918,3937 ----
+  	it   = ajListIterNewread(outseq->Acclist);
+  	while((cur = (AjPStr) ajListIterGet(it)))
+  	{
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "ACCESSION  ");
+! 		ilen = 11;
+  	    }
+! 	    if(ilen + ajStrGetLen(cur) > 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, "\n           ");
+! 		ilen = 11;
+  	    }
+  
++             ajFmtPrintF(outseq->File, " ");
++             ilen += 1;
++ 
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  
+***************
+*** 3942,3948 ****
+  
+  	ajListIterDel(&it) ;
+  	if(ilen > 0)
+! 	    ajFmtPrintF(outseq->File, "\n", cur);
+      }
+      
+      if(ajStrGetLen(outseq->Sv))
+--- 3939,3945 ----
+  
+  	ajListIterDel(&it) ;
+  	if(ilen > 0)
+! 	    ajFmtPrintF(outseq->File, "\n");
+      }
+      
+      if(ajStrGetLen(outseq->Sv))
+***************
+*** 3960,3987 ****
+  	it = ajListIterNewread(outseq->Keylist);
+  	while((cur = (AjPStr) ajListIterGet(it)))
+  	{
+- 	    if(ilen+ajStrGetLen(cur) >= 79)
+- 	    {
+- 		ajFmtPrintF(outseq->File, ";\n", cur);
+- 		ilen = 0;
+- 	    }
+- 
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "KEYWORDS    ", cur);
+! 		ilen = 12;
+  	    }
+! 	    else
+  	    {
+! 		ajFmtPrintF(outseq->File, "; ", cur);
+! 		ilen += 2;
+  	    }
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n", cur);
+      }
+      
+      if(ajStrGetLen(outseq->Tax))
+--- 3957,3982 ----
+  	it = ajListIterNewread(outseq->Keylist);
+  	while((cur = (AjPStr) ajListIterGet(it)))
+  	{
+  	    if(ilen == 0)
+  	    {
+! 		ajFmtPrintF(outseq->File, "KEYWORDS   ");
+! 		ilen = 11;
+  	    }
+! 	    if(ilen+ajStrGetLen(cur) >= 79)
+  	    {
+! 		ajFmtPrintF(outseq->File, ";\n           ");
+! 		ilen = 11;
+  	    }
++ 
++             ajFmtPrintF(outseq->File, "; ");
++             ilen += 2;
++ 
+  	    ajFmtPrintF(outseq->File, "%S", cur);
+  	    ilen += ajStrGetLen(cur);
+  	}
+  
+  	ajListIterDel(&it) ;
+! 	ajFmtPrintF(outseq->File, ".\n");
+      }
+      
+      if(ajStrGetLen(outseq->Tax))
+***************
+*** 3997,4014 ****
+  	    {
+  		if(ilen+ajStrGetLen(cur) >= 79)
+  		{
+! 		    ajFmtPrintF(outseq->File, ";\n", cur);
+  		    ilen = 0;
+  		}
+  		
+  		if(ilen == 0)
+  		{
+! 		    ajFmtPrintF(outseq->File, "            ", cur);
+  		    ilen = 12;
+  		}
+  		else
+  		{
+! 		    ajFmtPrintF(outseq->File, "; ", cur);
+  		    ilen += 2;
+  		}
+  		ajFmtPrintF(outseq->File, "%S", cur);
+--- 3992,4009 ----
+  	    {
+  		if(ilen+ajStrGetLen(cur) >= 79)
+  		{
+! 		    ajFmtPrintF(outseq->File, ";\n");
+  		    ilen = 0;
+  		}
+  		
+  		if(ilen == 0)
+  		{
+! 		    ajFmtPrintF(outseq->File, "            ");
+  		    ilen = 12;
+  		}
+  		else
+  		{
+! 		    ajFmtPrintF(outseq->File, "; ");
+  		    ilen += 2;
+  		}
+  		ajFmtPrintF(outseq->File, "%S", cur);
+***************
+*** 4016,4022 ****
+  	    }
+  
+  	    ajListIterDel(&it) ;
+! 	    ajFmtPrintF(outseq->File, ".\n", cur);
+  	}
+      }
+  
+--- 4011,4017 ----
+  	    }
+  
+  	    ajListIterDel(&it) ;
+! 	    ajFmtPrintF(outseq->File, ".\n");
+  	}
+      }
+  
+diff -c -N --recursive EMBOSS-5.0.0old/emboss/dbxfasta.c EMBOSS-5.0.0/emboss/dbxfasta.c
+*** EMBOSS-5.0.0old/emboss/dbxfasta.c	2007-07-06 13:15:29.000000000 +0100
+--- EMBOSS-5.0.0/emboss/dbxfasta.c	2008-03-06 10:14:54.000000000 +0000
+***************
+*** 34,39 ****
+--- 34,41 ----
+  
+  static AjPRegexp dbxfasta_wrdexp = NULL;
+  
++ static ajuint maxidlen = 0;
++ static ajuint idtrunc  = 0;
+  
+  static AjBool dbxfasta_NextEntry(EmbPBtreeEntry entry, AjPFile inf,
+  				 AjPRegexp typeexp, ajint idtype);
+***************
+*** 187,193 ****
+      embBtreeDumpParameters(entry);
+      embBtreeCloseCaches(entry);
+      
+! 
+      embBtreeEntryDel(&entry);
+      ajStrDel(&tmpstr);
+      ajStrDel(&filename);
+--- 189,197 ----
+      embBtreeDumpParameters(entry);
+      embBtreeCloseCaches(entry);
+      
+!     if(maxidlen)
+!         ajUser("Resource idlen truncated %u IDs. Maximum ID length was %u.",
+!                idtrunc, maxidlen);
+      embBtreeEntryDel(&entry);
+      ajStrDel(&tmpstr);
+      ajStrDel(&filename);
+***************
+*** 431,442 ****
+  	return ajFalse;
+      }
+  
+      ajStrFmtLower(&entry->id);
+  
+      if(entry->do_accession && ajStrGetLen(ac))
+      {
+  	str = ajStrNew();
+! 	ajStrAssignS(&str,ac);
+  	ajListPush(entry->ac,(void *)str);
+      }
+  
+--- 435,461 ----
+  	return ajFalse;
+      }
+  
++     if(ajStrGetLen(entry->id) > entry->idlen)
++     {
++         if(ajStrGetLen(entry->id) > maxidlen)
++         {
++             ajWarn("id '%S' too long, truncating to idlen %d",
++                    entry->id, entry->idlen);
++             maxidlen = ajStrGetLen(entry->id);
++         }
++         idtrunc++;
++         ajStrKeepRange(&entry->id,0,entry->idlen-1);
++     }
++     
+      ajStrFmtLower(&entry->id);
+  
+      if(entry->do_accession && ajStrGetLen(ac))
+      {
+  	str = ajStrNew();
+!         if(ajStrGetLen(ac) > entry->aclen)
+!             ajStrAssignSubS(&str,ac,0,entry->aclen-1);
+!         else
+!             ajStrAssignS(&str,ac);
+  	ajListPush(entry->ac,(void *)str);
+      }
+  
+***************
+*** 444,456 ****
+  	ajStrAssignS(&sv,gi);
+  
+      if(entry->do_sv && ajStrGetLen(sv))
+      {
+  	str = ajStrNew();
+  	ajStrAssignS(&str,sv);
+  	ajListPush(entry->ac,(void *)str);
+      }
+!     
+      if(entry->do_description && ajStrGetLen(de))
+  	while(ajRegExec(dbxfasta_wrdexp,de))
+  	{
+  	    ajRegSubI(dbxfasta_wrdexp, 1, &tmpfd);
+--- 463,479 ----
+  	ajStrAssignS(&sv,gi);
+  
+      if(entry->do_sv && ajStrGetLen(sv))
++         embBtreeFastaDE(sv, entry->sv, entry->svlen);
++ /*
+      {
+  	str = ajStrNew();
+  	ajStrAssignS(&str,sv);
+  	ajListPush(entry->ac,(void *)str);
+      }
+! */    
+      if(entry->do_description && ajStrGetLen(de))
++         embBtreeFastaDE(de, entry->de, entry->delen);
++ /*
+  	while(ajRegExec(dbxfasta_wrdexp,de))
+  	{
+  	    ajRegSubI(dbxfasta_wrdexp, 1, &tmpfd);
+***************
+*** 459,465 ****
+  	    ajListPush(entry->de,(void *)str);
+  	    ajRegPost(dbxfasta_wrdexp, &de);
+  	}
+! 
+  
+      ajStrDel(&de);
+      ajStrDel(&ac);
+--- 482,488 ----
+  	    ajListPush(entry->de,(void *)str);
+  	    ajRegPost(dbxfasta_wrdexp, &de);
+  	}
+! */
+  
+      ajStrDel(&de);
+      ajStrDel(&ac);
+diff -c -N --recursive EMBOSS-5.0.0old/emboss/psiphi.c EMBOSS-5.0.0/emboss/psiphi.c
+*** EMBOSS-5.0.0old/emboss/psiphi.c	2007-07-06 13:15:29.000000000 +0100
+--- EMBOSS-5.0.0/emboss/psiphi.c	2008-03-06 10:14:15.000000000 +0000
+***************
+*** 160,166 ****
+      finishres = ajAcdGetInt("finishresiduenumber");
+  
+      /* reserve memory for and read in structure */
+!     /* JISON */    pdb = ajPdbReadoldNew(pdbfile);
+      
+      /* check and set number of chain to be analysed */
+      highest = pdb->Nchn;
+--- 160,166 ----
+      finishres = ajAcdGetInt("finishresiduenumber");
+  
+      /* reserve memory for and read in structure */
+!     /* JISON */    pdb = ajPdbReadNew(pdbfile,0);
+      
+      /* check and set number of chain to be analysed */
+      highest = pdb->Nchn;
+***************
+*** 440,445 ****
+--- 440,448 ----
+      ajint lowestres = 0;
+  
+      AjPAtom inlist   = NULL;
++ 
++     if(!ajListGetLength(pdb->Chains[myindex]->Atoms))
++ 	ajFatal("Chain %d has no atoms",myindex+1);
+      
+      /* read first atom in list into memory, but keep it on list */
+      ajListPeek(pdb->Chains[myindex]->Atoms,
+diff -c -N --recursive EMBOSS-5.0.0old/nucleus/embindex.c EMBOSS-5.0.0/nucleus/embindex.c
+*** EMBOSS-5.0.0old/nucleus/embindex.c	2007-07-06 13:15:00.000000000 +0100
+--- EMBOSS-5.0.0/nucleus/embindex.c	2008-03-06 10:19:18.000000000 +0000
+***************
+*** 1071,1222 ****
+  
+      resource = ajStrGetPtr(entry->dbrs);
+      if(!ajNamRsAttrValueC(resource,"type",&value))
+! 	ajFatal("Missing resource entry (%S) for indexing",entry->dbrs);
+      if(!ajStrMatchCaseC(value,"Index"))
+! 	ajFatal("Incorrect 'type' field for resource (%S)",entry->dbrs);
+  
+  
+  
+      if(!ajNamRsAttrValueC(resource,"idlen",&value))
+! 	entry->idlen = BTREE_DEF_IDLEN;
+      else
+      {
+! 	if(ajStrToUint(value,&n))
+! 	    entry->idlen = n;
+! 	else
+! 	{
+! 	    ajErr("Bad value for index resource 'idlen'");
+! 	    entry->idlen = BTREE_DEF_IDLEN;
+! 	}
+      }
+      
+      if(!ajNamRsAttrValueC(resource,"acclen",&value))
+! 	entry->aclen = BTREE_DEF_ACLEN;
+      else
+      {
+! 	if(ajStrToUint(value,&n))
+! 	    entry->aclen = n;
+! 	else
+! 	{
+! 	    ajErr("Bad value for index resource 'acclen'");
+! 	    entry->aclen = BTREE_DEF_ACLEN;
+! 	}
+      }
+  
+      if(!ajNamRsAttrValueC(resource,"svlen",&value))
+! 	entry->svlen = BTREE_DEF_SVLEN;
+      else
+      {
+! 	if(ajStrToUint(value,&n))
+! 	    entry->svlen = n;
+! 	else
+! 	{
+! 	    ajErr("Bad value for index resource 'svlen'");
+! 	    entry->svlen = BTREE_DEF_SVLEN;
+! 	}
+      }
+  
+      if(!ajNamRsAttrValueC(resource,"keylen",&value))
+! 	entry->kwlen = BTREE_DEF_KWLEN;
+      else
+      {
+! 	if(ajStrToUint(value,&n))
+! 	    entry->kwlen = n;
+! 	else
+! 	{
+! 	    ajErr("Bad value for index resource 'keylen'");
+! 	    entry->kwlen = BTREE_DEF_KWLEN;
+! 	}
+      }
+  
+      if(!ajNamRsAttrValueC(resource,"deslen",&value))
+! 	entry->delen = BTREE_DEF_DELEN;
+      else
+      {
+! 	if(ajStrToUint(value,&n))
+! 	    entry->delen = n;
+! 	else
+! 	{
+! 	    ajErr("Bad value for index resource 'deslen'");
+! 	    entry->delen = BTREE_DEF_DELEN;
+! 	}
+      }
+  
+      if(!ajNamRsAttrValueC(resource,"orglen",&value))
+! 	entry->txlen = BTREE_DEF_TXLEN;
+      else
+      {
+! 	if(ajStrToUint(value,&n))
+! 	    entry->txlen = n;
+! 	else
+! 	{
+! 	    ajErr("Bad value for index resource 'orglen'");
+! 	    entry->txlen = BTREE_DEF_TXLEN;
+! 	}
+      }
+  
+      if(!ajNamGetValueC("CACHESIZE",&value))
+! 	entry->cachesize = BTREE_DEF_CACHESIZE;
+      else
+      {
+! 	if(ajStrToUint(value,&n))
+! 	    entry->cachesize = n;
+! 	else
+! 	{
+! 	    ajErr("Bad value for environment variable 'CACHESIZE'");
+! 	    entry->cachesize = BTREE_DEF_CACHESIZE;
+! 	}
+      }
+  
+      if(!ajNamGetValueC("PAGESIZE",&value))
+! 	entry->pagesize = BTREE_DEF_PAGESIZE;
+      else
+      {
+! 	if(ajStrToUint(value,&n))
+! 	    entry->pagesize = n;
+! 	else
+! 	{
+! 	    ajErr("Bad value for environment variable 'PAGESIZE'");
+! 	    entry->pagesize = BTREE_DEF_PAGESIZE;
+! 	}
+      }
+  
+      
+!     entry->idorder = (entry->pagesize - 60) / ((entry->idlen + 1) + 12);
+!     entry->idfill  = (entry->pagesize - 16) / (entry->idlen + 28);
+!     entry->acorder = (entry->pagesize - 60) / ((entry->aclen + 1) + 12);
+!     entry->acfill  = (entry->pagesize - 16) / (entry->aclen + 28);
+!     entry->svorder = (entry->pagesize - 60) / ((entry->svlen + 1) + 12);
+!     entry->svfill  = (entry->pagesize - 16) / (entry->svlen + 28);
+! 
+!     entry->kworder = (entry->pagesize - 60) / ((entry->kwlen + 1) + 12);
+!     entry->kwfill  = (entry->pagesize - 16) / (entry->kwlen + 28);
+!     entry->deorder = (entry->pagesize - 60) / ((entry->delen + 1) + 12);
+!     entry->defill  = (entry->pagesize - 16) / (entry->delen + 28);
+!     entry->txorder = (entry->pagesize - 60) / ((entry->txlen + 1) + 12);
+!     entry->txfill  = (entry->pagesize - 16) / (entry->txlen + 28);
+! 
+!     entry->kwsecorder = (entry->pagesize - 60) / ((entry->idlen + 1) + 12);
+!     entry->desecorder = (entry->pagesize - 60) / ((entry->idlen + 1) + 12);
+!     entry->txsecorder = (entry->pagesize - 60) / ((entry->idlen + 1) + 12);
+! 
+!     entry->kwsecfill  = (entry->pagesize - 16) / (entry->idlen + 4);
+!     entry->desecfill  = (entry->pagesize - 16) / (entry->idlen + 4);
+!     entry->txsecfill  = (entry->pagesize - 16) / (entry->idlen + 4);
+  
+!     entry->idsecorder = (entry->pagesize - 60) / 24;
+!     entry->idsecfill  = (entry->pagesize - 60) / 20;
+  
+!     entry->acsecorder = (entry->pagesize - 60) / 24;
+!     entry->acsecfill  = (entry->pagesize - 60) / 20;
+  
+-     entry->svsecorder = (entry->pagesize - 60) / 24;
+-     entry->svsecfill  = (entry->pagesize - 60) / 20;
+-     
+      ajStrDel(&value);
+  
+      return;
+! } 
+  
+  
+  
+--- 1071,1278 ----
+  
+      resource = ajStrGetPtr(entry->dbrs);
+      if(!ajNamRsAttrValueC(resource,"type",&value))
+!         ajFatal("Missing resource entry (%S) for indexing",entry->dbrs);
+      if(!ajStrMatchCaseC(value,"Index"))
+!         ajFatal("Incorrect 'type' field for resource (%S)",entry->dbrs);
+  
+  
+  
+      if(!ajNamRsAttrValueC(resource,"idlen",&value))
+!         entry->idlen = BTREE_DEF_IDLEN;
+      else
+      {
+!         if(ajStrToUint(value,&n))
+!             entry->idlen = n;
+!         else
+!         {
+!             ajErr("Bad value for index resource 'idlen'");
+!             entry->idlen = BTREE_DEF_IDLEN;
+!         }
+      }
+      
+      if(!ajNamRsAttrValueC(resource,"acclen",&value))
+!         entry->aclen = BTREE_DEF_ACLEN;
+      else
+      {
+!         if(ajStrToUint(value,&n))
+!             entry->aclen = n;
+!         else
+!         {
+!             ajErr("Bad value for index resource 'acclen'");
+!             entry->aclen = BTREE_DEF_ACLEN;
+!         }
+      }
+  
+      if(!ajNamRsAttrValueC(resource,"svlen",&value))
+!         entry->svlen = BTREE_DEF_SVLEN;
+      else
+      {
+!         if(ajStrToUint(value,&n))
+!             entry->svlen = n;
+!         else
+!         {
+!             ajErr("Bad value for index resource 'svlen'");
+!             entry->svlen = BTREE_DEF_SVLEN;
+!         }
+      }
+  
+      if(!ajNamRsAttrValueC(resource,"keylen",&value))
+!         entry->kwlen = BTREE_DEF_KWLEN;
+      else
+      {
+!         if(ajStrToUint(value,&n))
+!             entry->kwlen = n;
+!         else
+!         {
+!             ajErr("Bad value for index resource 'keylen'");
+!             entry->kwlen = BTREE_DEF_KWLEN;
+!         }
+      }
+  
+      if(!ajNamRsAttrValueC(resource,"deslen",&value))
+!         entry->delen = BTREE_DEF_DELEN;
+      else
+      {
+!         if(ajStrToUint(value,&n))
+!             entry->delen = n;
+!         else
+!         {
+!             ajErr("Bad value for index resource 'deslen'");
+!             entry->delen = BTREE_DEF_DELEN;
+!         }
+      }
+  
+      if(!ajNamRsAttrValueC(resource,"orglen",&value))
+!         entry->txlen = BTREE_DEF_TXLEN;
+      else
+      {
+!         if(ajStrToUint(value,&n))
+!             entry->txlen = n;
+!         else
+!         {
+!             ajErr("Bad value for index resource 'orglen'");
+!             entry->txlen = BTREE_DEF_TXLEN;
+!         }
+      }
+  
+      if(!ajNamGetValueC("CACHESIZE",&value))
+!     {
+!         entry->cachesize = BTREE_DEF_CACHESIZE;
+!         ajUser("CACHESIZE defaults to %d", entry->cachesize);
+!     }
+      else
+      {
+!         if(ajStrToUint(value,&n))
+!         {
+!             entry->cachesize = n;
+!         }
+!         else
+!         {
+!             ajErr("Bad value for environment variable 'CACHESIZE'");
+!             entry->cachesize = BTREE_DEF_CACHESIZE;
+!         }
+      }
+  
+      if(!ajNamGetValueC("PAGESIZE",&value))
+!     {
+!         entry->pagesize = BTREE_DEF_PAGESIZE;
+!         ajUser("PAGESIZE defaults to %d", entry->pagesize);
+!     }
+      else
+      {
+!         if(ajStrToUint(value,&n))
+!         {
+!             entry->pagesize = n;
+!         }
+!         else
+!         {
+!             ajErr("Bad value for environment variable 'PAGESIZE'");
+!             entry->pagesize = BTREE_DEF_PAGESIZE;
+!         }
+      }
+  
+      
+!     entry->idorder = (entry->pagesize - (BT_NODEPREAMBLE + BT_PTRLEN)) /
+!         ((entry->idlen + 1) + BT_IDKEYEXTRA);
+  
+!     entry->idfill  = (entry->pagesize - BT_BUCKPREAMBLE) /
+!         ((entry->idlen + 1) + BT_KEYLENENTRY + BT_DDOFFROFF);
+  
+!     entry->acorder = (entry->pagesize - (BT_NODEPREAMBLE + BT_PTRLEN)) /
+!         ((entry->aclen + 1) + BT_IDKEYEXTRA);
+! 
+!     entry->acfill  = (entry->pagesize - BT_BUCKPREAMBLE) /
+!         ((entry->aclen + 1) + BT_KEYLENENTRY + BT_DDOFFROFF);
+! 
+!     entry->svorder = (entry->pagesize - (BT_NODEPREAMBLE + BT_PTRLEN)) /
+!         ((entry->svlen + 1) + BT_IDKEYEXTRA);
+! 
+!     entry->svfill  = (entry->pagesize - BT_BUCKPREAMBLE) /
+!         ((entry->svlen + 1) + BT_KEYLENENTRY + BT_DDOFFROFF);
+! 
+!     entry->kworder = (entry->pagesize - (BT_NODEPREAMBLE + BT_PTRLEN)) /
+!         ((entry->kwlen + 1) + BT_IDKEYEXTRA);
+! 
+!     entry->kwfill  = (entry->pagesize - BT_BUCKPREAMBLE) /
+!         ((entry->kwlen + 1) + BT_KEYLENENTRY + BT_DDOFFROFF);
+! 
+!     entry->deorder = (entry->pagesize - (BT_NODEPREAMBLE + BT_PTRLEN)) /
+!         ((entry->delen + 1) + BT_IDKEYEXTRA);
+! 
+!     entry->defill  = (entry->pagesize - BT_BUCKPREAMBLE) /
+!         ((entry->delen + 1) + BT_KEYLENENTRY + BT_DDOFFROFF);
+! 
+!     entry->txorder = (entry->pagesize - (BT_NODEPREAMBLE + BT_PTRLEN)) /
+!         ((entry->txlen + 1) + BT_IDKEYEXTRA);
+! 
+!     entry->txfill  = (entry->pagesize - BT_BUCKPREAMBLE) /
+!         ((entry->txlen + 1) + BT_KEYLENENTRY + BT_DDOFFROFF);
+! 
+!  
+!     entry->idsecorder = (entry->pagesize - (BT_NODEPREAMBLE + BT_PTRLEN)) /
+!         (BT_OFFKEYLEN + BT_IDKEYEXTRA);
+! 
+!     entry->acsecorder = (entry->pagesize - (BT_NODEPREAMBLE + BT_PTRLEN)) /
+!         (BT_OFFKEYLEN + BT_IDKEYEXTRA);
+! 
+!     entry->svsecorder = (entry->pagesize - (BT_NODEPREAMBLE + BT_PTRLEN)) /
+!         (BT_OFFKEYLEN + BT_IDKEYEXTRA);
+! 
+!  
+!     entry->idsecfill  = (entry->pagesize - BT_BUCKPREAMBLE) /
+!         BT_DOFFROFF;
+! 
+!     entry->acsecfill  = (entry->pagesize - BT_BUCKPREAMBLE) /
+!         BT_DOFFROFF;
+! 
+!     entry->svsecfill  = (entry->pagesize - BT_BUCKPREAMBLE) /
+!         BT_DOFFROFF;
+! 
+! 
+!     /*
+!      *  The secondary tree keys are the IDs of the entries containing
+!      *  the keywords
+!      */
+! 
+!     entry->kwsecorder = (entry->pagesize - (BT_NODEPREAMBLE + BT_PTRLEN)) /
+!         ((entry->idlen + 1) + BT_IDKEYEXTRA);
+!     entry->desecorder = (entry->pagesize - (BT_NODEPREAMBLE + BT_PTRLEN)) /
+!         ((entry->idlen + 1) + BT_IDKEYEXTRA);
+!     entry->txsecorder = (entry->pagesize - (BT_NODEPREAMBLE + BT_PTRLEN)) /
+!         ((entry->idlen + 1) + BT_IDKEYEXTRA);
+! 
+! 
+!     entry->kwsecfill  = (entry->pagesize - BT_BUCKPREAMBLE) /
+!         ((entry->idlen + 1) + BT_KEYLENENTRY);
+!     entry->desecfill  = (entry->pagesize - BT_BUCKPREAMBLE) /
+!         ((entry->idlen + 1) + BT_KEYLENENTRY);
+!     entry->txsecfill  = (entry->pagesize - BT_BUCKPREAMBLE) /
+!         ((entry->idlen + 1) + BT_KEYLENENTRY);
+  
+      ajStrDel(&value);
+  
+      return;
+! }
+  
+  
+  
+***************
+*** 1251,1257 ****
+  					     entry->cachesize,
+  					     entry->idsecorder, slevel,
+  					     entry->idsecfill, count,
+! 					     entry->kwlen);
+  	if(!entry->idcache)
+  	    ajFatal("Cannot open ID index");
+  	
+--- 1307,1313 ----
+  					     entry->cachesize,
+  					     entry->idsecorder, slevel,
+  					     entry->idsecfill, count,
+! 					     entry->idlen);
+  	if(!entry->idcache)
+  	    ajFatal("Cannot open ID index");
+  	
+***************
+*** 1267,1273 ****
+  					     entry->cachesize,
+  					     entry->acsecorder, slevel,
+  					     entry->acsecfill, count,
+! 					     entry->kwlen);
+  	if(!entry->accache)
+  	    ajFatal("Cannot open ACC index");
+  
+--- 1323,1329 ----
+  					     entry->cachesize,
+  					     entry->acsecorder, slevel,
+  					     entry->acsecfill, count,
+! 					     entry->aclen);
+  	if(!entry->accache)
+  	    ajFatal("Cannot open ACC index");
+  
+***************
+*** 1282,1288 ****
+  					     entry->cachesize,
+  					     entry->svsecorder, slevel,
+  					     entry->svsecfill, count,
+! 					     entry->kwlen);
+  	if(!entry->svcache)
+  	    ajFatal("Cannot open SV index");
+  
+--- 1338,1344 ----
+  					     entry->cachesize,
+  					     entry->svsecorder, slevel,
+  					     entry->svsecfill, count,
+! 					     entry->svlen);
+  	if(!entry->svcache)
+  	    ajFatal("Cannot open SV index");
+  

Modified: trunk/packages/emboss/trunk/debian/patches/series
===================================================================
--- trunk/packages/emboss/trunk/debian/patches/series	2008-03-07 01:15:29 UTC (rev 1526)
+++ trunk/packages/emboss/trunk/debian/patches/series	2008-03-07 02:18:12 UTC (rev 1527)
@@ -1,2 +1,2 @@
 using-pager-in-tfm.patch
-patch-1-3
+patch-1-9




More information about the debian-med-commit mailing list