     if @select event, '.', 'text'
       [ type, name, text, meta, ] = event
       is_plain = no
-      for part in text.split /(&[^\s;]+?;?)/g
-        if ( is_plain = not is_plain )
+      for part in text.split /(&[^\s;]+(?:;|\s|$))/g
+        # /^&([a-z][-a-z0-9]*)#x[0-9a-f]+;$/
+        if ( is_plain = not is_plain ) or ( part.match MKNCR._xncr_matcher )?
           send [ type, name, part, ( @copy meta ), ] if part.length > 0
         else
           send [ '.', 'spurious-ampersand', part, ( @copy meta ), ]

    if @select event, '.', 'text'
      [ type, name, text, meta, ] = event
      is_plain = no
      for part in text.split /&([^\s#;]+);/g
        if ( is_plain = not is_plain )
          send [ type, name, part, ( @copy meta ), ] if part.length > 0
        else

@TYPOFIX                  = require './md-reader-typofix'
#...........................................................................................................
assign                    = Object.assign
MKNCR                     = require '../../mingkwai-ncr'


#-----------------------------------------------------------------------------------------------------------
