mutt_error ("No tagged messages are visible!");
mutt_error _("No tagged messages are visible!");
envelope_defaults (ENVELOPE *env, CONTEXT *ctx, HEADER *cur, int flags){  ENVELOPE *curenv = NULL;  LIST *tmp;  char buffer[STRING];  int i = 0, tag = 0;  if (!cur)  {    tag = 1;    for (i = 0; i < ctx->vcount; i++)      if (ctx->hdrs[ctx->v2r[i]]->tagged)      {	cur = ctx->hdrs[ctx->v2r[i]];	curenv = cur->env;	break;      }    if (!cur)    {      /* This could happen if the user tagged some messages and then did       * a limit such that none of the tagged message are visible.       */      mutt_error ("No tagged messages are visible!");      return (-1);    }  }  else    curenv = cur->env;  if (flags & SENDREPLY)  {    if (tag)    {      HEADER *h;      for (i = 0; i < ctx->vcount; i++)      {	h = ctx->hdrs[ctx->v2r[i]];	if (h->tagged && fetch_recips (env, h->env, flags) == -1)	  return -1;      }    }    else if (fetch_recips (env, curenv, flags) == -1)      return -1;    if ((flags & SENDLISTREPLY) && !env->to)    {      mutt_error ("No mailing lists found!");      return (-1);    }    if (! option (OPTMETOO))    {      /* the order is important here.  do the CC: first so that if the       * the user is the only recipient, it ends up on the TO: field       */      env->cc = remove_user (env->cc, (env->to == NULL));      env->to = remove_user (env->to, (env->cc == NULL));    }    /* the CC field can get cluttered, especially with lists */    env->to = mutt_remove_duplicates (env->to);    env->cc = mutt_remove_duplicates (env->cc);    env->cc = mutt_remove_xrefs (env->to, env->cc);    if (curenv->real_subj)    {      env->subject = safe_malloc (strlen (curenv->real_subj) + 5);      sprintf (env->subject, "Re: %s", curenv->real_subj);    }    else      env->subject = safe_strdup ("Re: your mail");    /* add the In-Reply-To field */    if (InReplyTo)    {      strfcpy (buffer, "In-Reply-To: ", sizeof (buffer));      mutt_make_string (buffer + 13, sizeof (buffer) - 13, InReplyTo, ctx, cur);      tmp = env->userhdrs;      while (tmp && tmp->next)	tmp = tmp->next;      if (tmp)      {	tmp->next = mutt_new_list ();	tmp = tmp->next;      }      else	tmp = env->userhdrs = mutt_new_list ();      tmp->data = safe_strdup (buffer);    }    if(tag)    {      HEADER *h;      LIST **p;      env->references = NULL;      p = &env->references;            for(i = 0; i < ctx->vcount; i++)      {	while(*p) p = &(*p)->next;	h = ctx->hdrs[ctx->v2r[i]];	if(h->tagged)	  *p = make_references(h->env);      }    }    else      env->references = make_references(curenv);  }  else if (flags & SENDFORWARD)  {    /* set the default subject for the message. */    mutt_make_string (buffer, sizeof (buffer), NONULL(ForwFmt), ctx, cur);    env->subject = safe_strdup (buffer);  }  return (0);}