# HG changeset patch # User Michael Beyl # Date 1027430826 -7200 # Node ID 8fe441b49dbed3e3ffdf297865b47143237a66a5 # Parent d00cacc63c2eceab02747bda927f1cb2b95b3a9f removeEmphasis fixed diff -r d00cacc63c2e -r 8fe441b49dbe Text.st --- a/Text.st Tue Jul 23 14:41:20 2002 +0200 +++ b/Text.st Tue Jul 23 15:27:06 2002 +0200 @@ -436,51 +436,51 @@ "Created: 11.7.1996 / 09:49:58 / cg" ! -removeEmphasis:e1 from:e2 +removeEmphasis:emToRemove from:emp "remove an emphasis; if it was not in e1, do nothing" |ne idx| - e1 isNil ifTrue:[^ nil]. - e2 isNil ifTrue:[^ e1]. - e1 == e2 ifTrue:[^ nil]. + emToRemove isNil ifTrue:[^ emp]. + emp isNil ifTrue:[^ emp]. + emToRemove == emp ifTrue:[^ nil]. - e2 isSymbol ifTrue:[ - e1 isSymbol ifTrue:[^ e2]. - e1 isAssociation ifTrue:[ - e1 key == e2 ifTrue:[^ nil]. - ^ e2 + emp isSymbol ifTrue:[ + emToRemove isSymbol ifTrue:[^ emp]. "/ knowing they are not identical + emToRemove isAssociation ifTrue:[ + emToRemove key == emp ifTrue:[^ nil]. + ^ emp ]. - (e1 includes:e2) ifTrue:[^ nil]. - ^ e2 + (emToRemove includes:emp) ifTrue:[^ nil]. + ^ emp ]. - e2 isAssociation ifTrue:[ - e1 isSymbol ifTrue:[ - e2 key == e1 ifTrue:[^ nil]. - ^ e2 + emp isAssociation ifTrue:[ + emToRemove isSymbol ifTrue:[ + emp key == emToRemove ifTrue:[^ nil]. + ^ emp ]. - e1 isAssociation ifTrue:[ - e1 key == e2 key ifTrue:[^ nil]. - ^ e2 + emToRemove isAssociation ifTrue:[ + emToRemove key == emp key ifTrue:[^ nil]. + ^ emp ]. - (e1 includes:e2) ifTrue:[^ nil]. - ^ e2 + (emToRemove includes:emp) ifTrue:[^ nil]. + ^ emp ]. "/ e2 must be a collection - (e1 isSymbol - or:[e1 isAssociation]) ifTrue:[ - (e2 includes:e1) ifTrue:[ - ne := e2 copyWithout:e1. + (emToRemove isSymbol + or:[emToRemove isAssociation]) ifTrue:[ + (emp includes:emToRemove) ifTrue:[ + ne := emp copyWithout:emToRemove. ne size == 1 ifTrue:[^ ne at:1]. ne size == 0 ifTrue:[^ nil]. ^ ne ]. - idx := e2 findFirst:[:em | em isAssociation and:[em key == e1]]. + idx := emp findFirst:[:em | em isAssociation and:[em key == emToRemove]]. idx ~~ 0 ifTrue:[ - ^ e2 copyWithoutIndex:idx. + ^ emp copyWithoutIndex:idx. ]. - ^ e2 + ^ emp ]. "/ could use: @@ -489,8 +489,8 @@ "/ but we do it manually, to preserve the "/ order. (should create longer runs, while editing) - ne := e2. - e1 do:[:e | + ne := emp. + emToRemove do:[:e | (ne includes:e) ifTrue:[ ne := ne copyWithout:e ] @@ -1436,6 +1436,6 @@ !Text class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic2/Text.st,v 1.79 2002-07-23 12:41:20 cg Exp $' + ^ '$Header: /cvs/stx/stx/libbasic2/Text.st,v 1.80 2002-07-23 13:27:06 mb Exp $' ! ! Text initialize!