Index: doc/theses/jiada_liang_MMath/CEnum.tex
===================================================================
--- doc/theses/jiada_liang_MMath/CEnum.tex	(revision 2514d3d7ef96e399511360e31eade8b765af57fa)
+++ doc/theses/jiada_liang_MMath/CEnum.tex	(revision 9464369822b752daa3680a739289ebb9f7b7665a)
@@ -1,8 +1,8 @@
 \chapter{C Enumeration in \CFA}
 
-\CFA supports legacy C enumeration using the same syntax for backwards compatibility. 
+\CFA supports legacy C enumeration using the same syntax for backwards compatibility.
 A C-style enumeration in \CFA is called a \newterm{C Enum}.
 The semantics of the C Enum is mostly consistent with C with some restrictions.
-The following sections detail all of my new contributions to C Enums.
+The following sections detail all of my new contributions to enumerations in C.
 
 
@@ -56,5 +56,5 @@
 rgb = @RGB.@Blue;
 \end{cfa}
-% feature unimplemented
+% with feature unimplemented
 It is possible to toggle back to unscoped using the \CFA @with@ auto-qualification clause/statement (see also \CC \lstinline[language=c++]{using enum} in Section~\ref{s:C++RelatedWork}).
 \begin{cfa}
@@ -65,4 +65,13 @@
 \end{cfa}
 As in Section~\ref{s:EnumeratorVisibility}, opening multiple scoped enumerations in a @with@ can result in duplicate enumeration names, but \CFA implicit type resolution and explicit qualification/casting handle this localized scenario.
+
+A partially implemented extension to enumerator scoping is providing a combination of scoped and unscoped enumerators, using individual denotations, where @'^'@ means unscoped.
+\begin{cfa}
+enum E1 { @!@A, @^@B, C };
+enum E2 @!@ { @!@A, @^@B, C };
+\end{cfa}
+For @E1@, @A@ is scoped; @B@ and @C@ are unscoped.
+For @E2@, @A@ and @C@ are scoped; @B@ is unscoped.
+Finding a use case is important to justify completing this extension.
 
 
@@ -76,12 +85,12 @@
 enum Fish { Shark, Salmon, Whale };
 
-int i = Robin;							$\C{// allow, implicitly converts to 1}$ 
-enum Bird @bird = 1;@					$\C{// disallow }$ 
-enum Bird @bird = Shark;@				$\C{// disallow }$ 
+int i = Robin;							$\C{// allow, implicitly converts to 1}$
+enum Bird @bird = 1;@					$\C{// disallow }$
+enum Bird @bird = Shark;@				$\C{// disallow }$
 \end{cfa}
 It is now up to the programmer to insert an explicit cast to force the assignment.
 \begin{cfa}
 enum Bird bird = @(Bird)@1;
-enum Bird bird = @(Bird)@Shark 
+enum Bird bird = @(Bird)@Shark
 \end{cfa}
 
