code: function gli_window_buffer_put_special(win, special, flowbreak) {
      gli_window_buffer_deaccumulate(win);
  
      var conta = win.content;
      var arr = undefined;
      var obj;
  
      /* The next bit is a simplified version of the array-append code 
         from deaccumulate(). It's simpler because we have exactly one
         item to add. */
  
      if (conta.length == 0) {
          arr = [];
          obj = { content: arr, append: true };
          if (flowbreak)
              obj.flowbreak = true;
          conta.push(obj);
      }
      else {
          obj = conta[conta.length-1];
          if (flowbreak)
              obj.flowbreak = true;
          if (!obj.content) {
              arr = [];
              obj.content = arr;
          }
          else {
              arr = obj.content;
          }
      }
      
      if (arr !== undefined && special !== undefined) {
          arr.push(special);
      }
  }
docs: /* Add a special object onto a buffer window update. This resets the
  accumulator.