$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: eric_at_[hidden]
Date: 2008-07-01 21:37:32
Author: eric_niebler
Date: 2008-07-01 21:37:32 EDT (Tue, 01 Jul 2008)
New Revision: 46979
URL: http://svn.boost.org/trac/boost/changeset/46979
Log:
Merged revisions 46978 via svnmerge from 
https://svn.boost.org/svn/boost/trunk
........
  r46978 | eric_niebler | 2008-07-01 18:20:23 -0700 (Tue, 01 Jul 2008) | 1 line
  
  allow fixed-width sub-expressions in keep()
........
Properties modified: 
   branches/release/   (props changed)
Text files modified: 
   branches/release/boost/xpressive/detail/static/width_of.hpp |     8 ++++----                                
   1 files changed, 4 insertions(+), 4 deletions(-)
Modified: branches/release/boost/xpressive/detail/static/width_of.hpp
==============================================================================
--- branches/release/boost/xpressive/detail/static/width_of.hpp	(original)
+++ branches/release/boost/xpressive/detail/static/width_of.hpp	2008-07-01 21:37:32 EDT (Tue, 01 Jul 2008)
@@ -171,10 +171,10 @@
     struct width_of<Expr, Char, keeper_tag>
       : unknown_width
     {
-        // If this assert fires, you put something that doesn't require backtracking
-        // in a keep(). In that case, the keep() is not necessary and you should just
-        // remove it.
-        BOOST_MPL_ASSERT_RELATION((width_of<typename Expr::proto_arg0::proto_base_expr, Char>::value), ==, unknown_width::value);
+        // TODO: keep() now has a second meaning: execute actions immediately.
+        // In that sense, it is perfectly reasonable to put a fixed-width
+        // sub-expression in a keep. Can fixed-width keep() sub-expressions
+        // use the simple_repeat_matcher?
     };
 
     template<typename Expr, typename Char>