anchor.diff:    | _ -> js_fail "reduction rule" s
   
   type completion_context =
  -| CKSymbol
  +| CKCode
   | CKOption of bool (* #set-options (false) or #reset-options (true) *)
   | CKModuleOrNamespace of bool (* modules *) * bool (* namespaces *)
   
   let js_optional_completion_context k =
     match k with
  -  | None -> CKSymbol
  +  | None -> CKCode
     | Some k ->
       match js_str k with
  -    | "symbol" -> CKSymbol
  +    | "symbol" // Backwards compatibility
  +    | "code" -> CKCode
       | "set-options" -> CKOption false
       | "reset-options" -> CKOption true
       | "open" -> CKModuleOrNamespace (true, true)
  
positive.code:     | "include"
      | "module-alias" -> CKModuleOrNamespace (true, false)
      | _ ->
        js_fail "completion context (symbol, set-options, reset-options, \
  open, let-open, include, module-alias)" k
  
  type query' =
  
negative.code: 
  let run_autocomplete st search_term context =
    match context with
    | CKCode ->
      run_code_autocomplete st search_term
    | CKOption is_reset ->
      run_option_autocomplete st search_term is_reset
    | CKModuleOrNamespace (modules, namespaces) ->
  