
Index: ginac/clifford.cpp
===================================================================
RCS file: /home/cvs/GiNaC/ginac/clifford.cpp,v
retrieving revision 1.82
diff -r1.82 clifford.cpp
1114c1114
< 								S = S * e.op(j).subs(lst(ex_to<varidx>(*it) == ival, ex_to<varidx>(*it).toggle_variance() == ival), subs_options::no_pattern);
---
> 								S = S * e.op(j).subs(lst(ex_to<varidx>(*it) == ival), subs_options::no_pattern);
Index: ginac/idx.cpp
===================================================================
RCS file: /home/cvs/GiNaC/ginac/idx.cpp,v
retrieving revision 1.62
diff -r1.62 idx.cpp
508a509,519
> // Auxiliary comparison which does not mind the variance of indices 
> struct idx_is_less : public std::binary_function<ex, ex, bool> {
> 	bool operator() (const ex &lh, const ex &rh) const { 
> 		if (is_a<varidx>(lh))
> 			return (lh.compare(rh) < 0) &&
> 				(lh.compare(ex_to<varidx>(rh).toggle_variance()) < 0); 
> 		else
> 			return lh.compare(rh) < 0; 
> 	}
> };
> 
528c539
< 	shaker_sort(v.begin(), v.end(), ex_is_less(), ex_swap());
---
> 	shaker_sort(v.begin(), v.end(), idx_is_less(), ex_swap());
