remove more obsolete options.
[apps/madmutt.git] / pager.c
diff --git a/pager.c b/pager.c
index cbdc8fa..348e679 100644 (file)
--- a/pager.c
+++ b/pager.c
 #include <lib-ui/enter.h>
 #include <lib-ui/menu.h>
 #include <lib-ui/sidebar.h>
+#include <lib-mx/mx.h>
 
 #include "mutt.h"
+#include "crypt.h"
 #include "alias.h"
 #include "keymap.h"
 #include "sort.h"
 #include "charset.h"
 #include "buffy.h"
 
-#include "mx.h"
-
 #include <imap/imap_private.h>
 
-#include <lib-crypt/crypt.h>
-
 #define ISHEADER(x) ((x) == MT_COLOR_HEADER || (x) == MT_COLOR_HDEFAULT)
 
-#define IsAttach(x) (x && (x)->bdy)
-#define IsRecvAttach(x) (x && (x)->bdy && (x)->fp)
-#define IsSendAttach(x) (x && (x)->bdy && !(x)->fp)
-#define IsMsgAttach(x) (x && (x)->fp && (x)->bdy && (x)->bdy->hdr)
-#define IsHeader(x) (x && (x)->hdr && !(x)->bdy)
-#define SW              (option(OPTMBOXPANE)?SidebarWidth:0)
-
-static const char *Not_available_in_this_menu =
-N_("Not available in this menu.");
-static const char *Mailbox_is_read_only = N_("Mailbox is read-only.");
-static const char *Function_not_permitted_in_attach_message_mode =
-N_("Function not permitted in attach-message mode.");
+#define IsAttach(x)      (x && (x)->bdy)
+#define IsRecvAttach(x)  (x && (x)->bdy && (x)->fp)
+#define IsSendAttach(x)  (x && (x)->bdy && !(x)->fp)
+#define IsMsgAttach(x)   (x && (x)->fp && (x)->bdy && (x)->bdy->hdr)
+#define IsHeader(x)      (x && (x)->hdr && !(x)->bdy)
+#define SW               (option(OPTMBOXPANE)?SidebarWidth:0)
 
 /* hack to return to position when returning from index to same message */
 static int TopLine = 0;
 static HEADER *OldHdr = NULL;
 
-#define CHECK_MODE(x)  if (!(x)) \
-                       { \
-                               mutt_flushinp (); \
-                               mutt_error _(Not_available_in_this_menu); \
-                               break; \
-                       }
-
-#define CHECK_READONLY if (Context->readonly) \
-                       { \
-                               mutt_flushinp (); \
-                               mutt_error _(Mailbox_is_read_only);     \
-                               break; \
-                       }
-
-#define CHECK_ATTACH if(option(OPTATTACHMSG)) \
-                    {\
-                       mutt_flushinp (); \
-                       mutt_error _(Function_not_permitted_in_attach_message_mode); \
-                       break; \
-                    }
+#define CHECK_MODE(x) \
+    if (!(x)) {                                         \
+        mutt_flushinp();                                \
+        mutt_error _("Not available in this menu.");    \
+        break;                                          \
+    }
+
+#define CHECK_READONLY \
+    if (Context->readonly) {                            \
+        mutt_flushinp();                                \
+        mutt_error _("Mailbox is read-only.");          \
+        break;                                          \
+    }
+
+#define CHECK_ATTACH \
+    if (option(OPTATTACHMSG)) {                         \
+        mutt_flushinp();                                \
+        mutt_error _("Function not permitted in attach-message mode."); \
+        break;                                          \
+    }
 
 struct q_class_t {
   int length;
@@ -121,37 +113,32 @@ static struct resize {
   int line;
   int SearchCompiled;
   int SearchBack;
-}     *Resize = NULL;
+} *Resize = NULL;
 #endif
 
 #define NumSigLines 4
 
-static int check_sig (const char *s, struct line_t *info, int n)
+static int check_sig(const char *s, struct line_t *info, int n)
 {
-  int count = 0;
+    int count = 0;
 
-  while (n > 0 && count <= NumSigLines) {
-    if (info[n].type != MT_COLOR_SIGNATURE)
-      break;
-    count++;
-    n--;
-  }
+    while (n > 0 && count <= NumSigLines) {
+        if (info[n].type != MT_COLOR_SIGNATURE)
+            break;
+        count++;
+        n--;
+    }
 
-  if (count == 0)
-    return (-1);
+    if (count == 0)
+        return -1;
 
-  if (count > NumSigLines) {
-    /* check for a blank line */
-    while (*s) {
-      if (!ISSPACE (*s))
-        return 0;
-      s++;
+    if (count > NumSigLines) {
+        /* check for a blank line */
+        s = skipspaces(s);
+        return *s ? -1 : 0;
     }
 
-    return (-1);
-  }
-
-  return (0);
+    return 0;
 }
 
 static void
@@ -174,9 +161,10 @@ resolve_color (struct line_t *lineInfo, int n, int cnt, int flags,
     }
     m = (lineInfo[n].syntax)[0].first;
     cnt += (lineInfo[n].syntax)[0].last;
-  }
-  else
+  } else {
     m = n;
+  }
+
   if (!(flags & M_SHOWCOLOR))
     def_color = ColorDefs[MT_COLOR_NORMAL];
   else if (lineInfo[m].type == MT_COLOR_HEADER)
@@ -209,8 +197,7 @@ resolve_color (struct line_t *lineInfo, int n, int cnt, int flags,
         color = (lineInfo[m].syntax)[i].color;
         break;
       }
-      /* don't break here, as cnt might be 
-       * in the next chunk as well */
+      /* don't break here, as cnt might be in the next chunk as well */
     }
   }
 
@@ -230,16 +217,13 @@ resolve_color (struct line_t *lineInfo, int n, int cnt, int flags,
 
   /* handle "special" bold & underlined characters */
   if (special || a->attr) {
-#ifdef HAVE_COLOR
     if ((a->attr & ANSI_COLOR)) {
       if (a->pair == -1)
         a->pair = mutt_alloc_color (a->fg, a->bg);
       color = a->pair;
       if (a->attr & ANSI_BOLD)
         color |= A_BOLD;
-    }
-    else
-#endif
+    } else
     if ((special & A_BOLD) || (a->attr & ANSI_BOLD)) {
       if (ColorDefs[MT_COLOR_BOLD] && !search)
         color = ColorDefs[MT_COLOR_BOLD];
@@ -274,7 +258,7 @@ static void append_line (struct line_t *lineInfo, int n, int cnt)
   int m;
 
   lineInfo[n + 1].type = lineInfo[n].type;
-  (lineInfo[n + 1].syntax)[0].color = (lineInfo[n].syntax)[0].color;
+  lineInfo[n + 1].syntax[0].color = lineInfo[n].syntax[0].color;
   lineInfo[n + 1].continuation = 1;
 
   /* find the real start of the line */
@@ -327,21 +311,15 @@ shift_class_colors (struct q_class_t *QuoteList, struct q_class_t *new_class,
   (*q_level)++;
 }
 
-static void cleanup_quote (struct q_class_t **QuoteList)
+static void cleanup_quote(struct q_class_t **QuoteList)
 {
-  struct q_class_t *ptr;
-
-  while (*QuoteList) {
-    if ((*QuoteList)->down)
-      cleanup_quote (&((*QuoteList)->down));
-    ptr = (*QuoteList)->next;
-    if ((*QuoteList)->prefix)
-      p_delete(&(*QuoteList)->prefix);
-    p_delete(QuoteList);
-    *QuoteList = ptr;
-  }
-
-  return;
+    while (*QuoteList) {
+        struct q_class_t *ptr = (*QuoteList)->next;
+        cleanup_quote(&(*QuoteList)->down);
+        p_delete(&(*QuoteList)->prefix);
+        p_delete(QuoteList);
+        *QuoteList = ptr;
+    }
 }
 
 static struct q_class_t *classify_quote (struct q_class_t **QuoteList,
@@ -415,8 +393,7 @@ static struct q_class_t *classify_quote (struct q_class_t **QuoteList,
            * go down after this point
            */
           q_list = tmp->next;
-        }
-        else {
+        } else {
           /* found another branch for which tmp is a shorter prefix */
 
           /* save the next sibling for later */
@@ -447,14 +424,12 @@ static struct q_class_t *classify_quote (struct q_class_t **QuoteList,
         /* we found a shorter prefix, so certain quotes have changed classes */
         *force_redraw = 1;
         continue;
-      }
-      else {
+      } else {
         /* shorter, but not a substring of the current class: try next */
         q_list = q_list->next;
         continue;
       }
-    }
-    else {
+    } else {
       /* case 2: try subclassing the current top level node */
 
       /* tmp != NULL means we already found a shorter prefix at case 1 */
@@ -512,8 +487,7 @@ static struct q_class_t *classify_quote (struct q_class_t **QuoteList,
 
                 /* next class to test */
                 q_list = tmp->next;
-              }
-              else {
+              } else {
                 /* found another branch for which tmp is a shorter prefix */
 
                 /* save the next sibling for later */
@@ -543,13 +517,11 @@ static struct q_class_t *classify_quote (struct q_class_t **QuoteList,
               /* we found a shorter prefix, so we need a redraw */
               *force_redraw = 1;
               continue;
-            }
-            else {
+            } else {
               q_list = q_list->next;
               continue;
             }
-          }
-          else {
+          } else {
             /* longer than the current prefix: try subclassing it */
             if (tmp == NULL
                 && m_strncmp(tail_qptr, (q_list->prefix) + offset,
@@ -563,8 +535,7 @@ static struct q_class_t *classify_quote (struct q_class_t **QuoteList,
               tail_qptr = (char *) qptr + offset;
 
               continue;
-            }
-            else {
+            } else {
               /* nope, try the next prefix */
               q_list = q_list->next;
               continue;
@@ -588,15 +559,13 @@ static struct q_class_t *classify_quote (struct q_class_t **QuoteList,
           new_class_color (tmp, q_level);
 
           return tmp;
-        }
-        else {
+        } else {
           if (lindex != -1)
             shift_class_colors (*QuoteList, tmp, lindex, q_level);
 
           return class;
         }
-      }
-      else {
+      } else {
         /* nope, try the next prefix */
         q_list = q_list->next;
         continue;
@@ -646,8 +615,7 @@ resolve_types (char *buf, char *rawbuf, struct line_t *lineInfo, int n, int last
     else if (n > 0 && (buf[0] == ' ' || buf[0] == '\t')) {
       lineInfo[n].type = lineInfo[n - 1].type;  /* wrapped line */
       (lineInfo[n].syntax)[0].color = (lineInfo[n - 1].syntax)[0].color;
-    }
-    else {
+    } else {
       lineInfo[n].type = MT_COLOR_HDEFAULT;
       color_line = ColorHdrList;
       while (color_line) {
@@ -662,19 +630,14 @@ resolve_types (char *buf, char *rawbuf, struct line_t *lineInfo, int n, int last
   }
   else if (m_strncmp("\033[0m", rawbuf, 4) == 0)       /* a little hack... */
     lineInfo[n].type = MT_COLOR_NORMAL;
-#if 0
-  else if (m_strncmp("[-- ", buf, 4) == 0)
-    lineInfo[n].type = MT_COLOR_ATTACHMENT;
-#else
   else if (check_attachment_marker ((char *) rawbuf) == 0)
     lineInfo[n].type = MT_COLOR_ATTACHMENT;
-#endif
   else if (m_strcmp("-- \n", buf) == 0
            || m_strcmp("-- \r\n", buf) == 0) {
     i = n + 1;
 
     lineInfo[n].type = MT_COLOR_SIGNATURE;
-    while (i < last && check_sig (buf, lineInfo, i - 1) == 0 &&
+    while (i < last && check_sig(buf, lineInfo, i - 1) == 0 &&
            (lineInfo[i].type == MT_COLOR_NORMAL ||
             lineInfo[i].type == MT_COLOR_QUOTED ||
             lineInfo[i].type == MT_COLOR_HEADER)) {
@@ -686,7 +649,7 @@ resolve_types (char *buf, char *rawbuf, struct line_t *lineInfo, int n, int last
       lineInfo[i++].type = MT_COLOR_SIGNATURE;
     }
   }
-  else if (check_sig (buf, lineInfo, n - 1) == 0)
+  else if (check_sig(buf, lineInfo, n - 1) == 0)
     lineInfo[n].type = MT_COLOR_SIGNATURE;
   else if (regexec ((regex_t *) QuoteRegexp.rx, buf, 1, pmatch, 0) == 0) {
     if (regexec ((regex_t *) Smileys.rx, buf, 1, smatch, 0) == 0) {
@@ -705,25 +668,24 @@ resolve_types (char *buf, char *rawbuf, struct line_t *lineInfo, int n, int last
                                                 pmatch[0].rm_so, force_redraw,
                                                 q_level);
           lineInfo[n].type = MT_COLOR_QUOTED;
-        }
-        else
+        } else {
           lineInfo[n].type = MT_COLOR_NORMAL;
+        }
 
         buf[smatch[0].rm_so] = c;
-      }
-      else
+      } else {
         lineInfo[n].type = MT_COLOR_NORMAL;
-    }
-    else {
+      }
+    else {
       if (q_classify && lineInfo[n].quote == NULL)
         lineInfo[n].quote = classify_quote (QuoteList, buf + pmatch[0].rm_so,
                                             pmatch[0].rm_eo - pmatch[0].rm_so,
                                             force_redraw, q_level);
       lineInfo[n].type = MT_COLOR_QUOTED;
     }
-  }
-  else
+  } else {
     lineInfo[n].type = MT_COLOR_NORMAL;
+  }
 
   /* body patterns */
   if (lineInfo[n].type == MT_COLOR_NORMAL ||
@@ -760,9 +722,9 @@ resolve_types (char *buf, char *rawbuf, struct line_t *lineInfo, int n, int last
             }
             found = 1;
             null_rx = 0;
-          }
-          else
+          } else {
             null_rx = 1;        /* empty regexp; don't add it, but keep looking */
+          }
         }
         color_line = color_line->next;
       }
@@ -770,24 +732,24 @@ resolve_types (char *buf, char *rawbuf, struct line_t *lineInfo, int n, int last
       if (null_rx)
         offset++;               /* avoid degenerate cases */
       else
-        offset = (lineInfo[n].syntax)[i].last;
+        offset = lineInfo[n].syntax[i].last;
     } while (found || null_rx);
   }
 }
 
-static int is_ansi (unsigned char *buf)
+static int is_ansi(unsigned char *buf)
 {
-  while (*buf && (isdigit (*buf) || *buf == ';'))
-    buf++;
-  return (*buf == 'm');
+    while (isdigit(*buf) || *buf == ';')
+        buf++;
+    return (*buf == 'm');
 }
 
-static int check_attachment_marker (char *p)
+static int check_attachment_marker(char *p)
 {
-  char *q = AttachmentMarker;
+    char *q = AttachmentMarker;
 
-  for (; *p == *q && *q && *p && *q != '\a' && *p != '\a'; p++, q++);
-  return (int) (*p - *q);
+    for (; *p == *q && *q && *p && *q != '\a' && *p != '\a'; p++, q++);
+    return (int)(*p - *q);
 }
 
 static int grok_ansi (unsigned char *buf, int pos, ansi_attr * a)
@@ -800,10 +762,8 @@ static int grok_ansi (unsigned char *buf, int pos, ansi_attr * a)
   /* Character Attributes */
   if (option (OPTALLOWANSI) && a != NULL && buf[x] == 'm') {
     if (pos == x) {
-#ifdef HAVE_COLOR
       if (a->pair != -1)
         mutt_free_color (a->fg, a->bg);
-#endif
       a->attr = ANSI_OFF;
       a->pair = -1;
     }
@@ -832,10 +792,8 @@ static int grok_ansi (unsigned char *buf, int pos, ansi_attr * a)
         pos += 2;
       }
       else if (buf[pos] == '3' && isdigit (buf[pos + 1])) {
-#ifdef HAVE_COLOR
         if (a->pair != -1)
           mutt_free_color (a->fg, a->bg);
-#endif
         a->pair = -1;
         a->attr |= ANSI_COLOR;
         if (buf[pos + 1] != '9')
@@ -843,17 +801,14 @@ static int grok_ansi (unsigned char *buf, int pos, ansi_attr * a)
         pos += 3;
       }
       else if (buf[pos] == '4' && isdigit (buf[pos + 1])) {
-#ifdef HAVE_COLOR
         if (a->pair != -1)
           mutt_free_color (a->fg, a->bg);
-#endif
         a->pair = -1;
         a->attr |= ANSI_COLOR;
         if (buf[pos + 1] != '9')
           a->bg = buf[pos + 1] - '0';
         pos += 3;
-      }
-      else {
+      } else {
         while (pos < x && buf[pos] != ';')
           pos++;
         pos++;
@@ -872,9 +827,9 @@ static int trim_incomplete_mbyte(unsigned char *buf, size_t len) {
   p_clear(&mbstate, 1);
   for (; len > 0; buf += k, len -= k) {
     k = mbrtowc (NULL, (char *) buf, len, &mbstate);
-    if (k == -2) 
-      break; 
-    else if (k == -1 || k == 0) 
+    if (k == -2)
+      break;
+    if (k == -1 || k == 0)
       k = 1;
   }
   *buf = '\0';
@@ -915,9 +870,9 @@ fill_buffer (FILE * f, off_t *last_pos, off_t offset, unsigned char *buf,
         else if (*(p + 1)) {    /* bold or overstrike */
           *(fmt - 1) = *(p + 1);
           p += 2;
-        }
-        else                    /* ^H */
+        } else {                  /* ^H */
           *fmt++ = *p++;
+        }
       }
       else if (*p == '\033' && *(p + 1) == '[' && is_ansi (p + 2)) {
         while (*p++ != 'm')     /* skip ANSI sequence */
@@ -927,9 +882,9 @@ fill_buffer (FILE * f, off_t *last_pos, off_t offset, unsigned char *buf,
                && check_attachment_marker ((char *) p) == 0) {
         while (*p++ != '\a')    /* skip pseudo-ANSI sequence */
           ;
-      }
-      else
+      } else {
         *fmt++ = *p++;
+      }
     }
     *fmt = 0;
   }
@@ -937,11 +892,9 @@ fill_buffer (FILE * f, off_t *last_pos, off_t offset, unsigned char *buf,
 }
 
 #ifdef USE_NNTP
-#include "mx.h"
-#include "nntp.h"
+#include <nntp/nntp.h>
 #endif
 
-
 static int format_line (struct line_t **lineInfo, int n, unsigned char *buf,
                         int flags, ansi_attr * pa, int cnt,
                         int *pspace, int *pvch, int *pcol, int *pspecial)
@@ -1015,8 +968,7 @@ static int format_line (struct line_t **lineInfo, int n, unsigned char *buf,
         else if (wc == '_' || wc1 == '_') {
           special |= A_UNDERLINE;
           wc = (wc1 == '_') ? wc : wc1;
-        }
-        else {
+        } else {
           /* special = 0; / * overstrike: nothing to do! */
           wc = wc1;
         }
@@ -1069,8 +1021,7 @@ static int format_line (struct line_t **lineInfo, int n, unsigned char *buf,
       col += 4;
       if (pa)
         printw ("\\%03o", wc);
-    }
-    else {
+    } else {
       if (col + 1 > wrap_cols)
         break;
       ++col;
@@ -1101,7 +1052,6 @@ static int format_line (struct line_t **lineInfo, int n, unsigned char *buf,
  *     0       normal exit, line was not displayed
  *     >0      normal exit, line was displayed
  */
-
 static int
 display_line (FILE * f, off_t *last_pos, struct line_t **lineInfo, int n,
               int *last, int *max, int flags, struct q_class_t **QuoteList,
@@ -1237,9 +1187,8 @@ display_line (FILE * f, off_t *last_pos, struct line_t **lineInfo, int n,
   }
 
   /* now chose a good place to break the line */
-  cnt =
-    format_line (lineInfo, n, buf, flags, 0, b_read, &ch, &vch, &col,
-                 &special);
+  cnt = format_line(lineInfo, n, buf, flags, 0, b_read, &ch, &vch, &col,
+                    &special);
   buf_ptr = buf + cnt;
 
   /* move the break point only if smart_wrap is set */
@@ -1256,9 +1205,9 @@ display_line (FILE * f, off_t *last_pos, struct line_t **lineInfo, int n,
           buf_ptr = buf + cnt;
         else
           cnt = ch + 1;
-      }
-      else
+      } else {
         buf_ptr = buf + cnt;    /* a very long word... */
+      }
     }
     if (!(flags & M_PAGER_NSKIP))
       /* skip leading blanks on the next line too */
@@ -1374,7 +1323,6 @@ static struct mapping_t PagerNewsHelpExtra[] = {
 #endif
 
 
-
 /* This pager is actually not so simple as it once was.  It now operates in
    two modes: one for viewing messages and the other for viewing help.  These
    can be distinguished by whether or not ``hdr'' is NULL.  The ``hdr'' arg
@@ -1385,8 +1333,8 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
 {
   static char searchbuf[STRING];
   char buffer[LONG_STRING];
-  char helpstr[SHORT_STRING * 2];
-  char tmphelp[SHORT_STRING * 2];
+  char helpstr[STRING * 2];
+  char tmphelp[STRING * 2];
   int maxLine, lastLine = 0;
   struct line_t *lineInfo;
   struct q_class_t *QuoteList = NULL;
@@ -1428,7 +1376,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
 
   if (stat (fname, &sb) != 0) {
     mutt_perror (fname);
-    fclose (fp);
+    m_fclose(&fp);
     return (-1);
   }
   unlink (fname);
@@ -1449,10 +1397,10 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
     (lineInfo[i].syntax)[0].first = (lineInfo[i].syntax)[0].last = -1;
   }
 
-  mutt_compile_help (helpstr, sizeof (helpstr), MENU_PAGER, PagerHelp);
+  mutt_compile_help (helpstr, sizeof(helpstr), MENU_PAGER, PagerHelp);
   if (IsHeader (extra)) {
     m_strcpy(tmphelp, sizeof(tmphelp), helpstr);
-    mutt_compile_help (buffer, sizeof (buffer), MENU_PAGER,
+    mutt_compile_help (buffer, sizeof(buffer), MENU_PAGER,
 #ifdef USE_NNTP
                        (Context
                         && (Context->magic == M_NNTP)) ? PagerNewsHelpExtra :
@@ -1462,8 +1410,8 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
   }
   if (!InHelp) {
     m_strcpy(tmphelp, sizeof(tmphelp), helpstr);
-    mutt_make_help (buffer, sizeof (buffer), _("Help"), MENU_PAGER, OP_HELP);
-    snprintf (helpstr, sizeof (helpstr), "%s %s", tmphelp, buffer);
+    mutt_make_help (buffer, sizeof(buffer), _("Help"), MENU_PAGER, OP_HELP);
+    snprintf (helpstr, sizeof(helpstr), "%s %s", tmphelp, buffer);
   }
 
   while (ch != -1) {
@@ -1491,8 +1439,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
         bodylen = helpoffset - bodyoffset;
         if (!option (OPTHELP))
           bodylen++;
-      }
-      else {
+      } else {
         helpoffset = 0;
         indexoffset = 1;
         statusoffset = LINES - 2;
@@ -1641,13 +1588,13 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
     }
 
     if (redraw & REDRAW_SIDEBAR)
-      sidebar_draw (MENU_PAGER);
+      sidebar_draw ();
 
     if ((redraw & REDRAW_INDEX) && pager_index) {
       /* redraw the pager_index indicator, because the
        * flags for this message might have changed. */
       menu_redraw_current (pager_index);
-      sidebar_draw (MENU_PAGER);
+      sidebar_draw ();
       /* print out the pager_index status bar */
       menu_status_line (buffer, sizeof (buffer), pager_index, NONULL (Status));
       move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), SW);
@@ -1659,7 +1606,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
     }
     /* if we're not using the index, update every time */
     if (index == 0)
-      sidebar_draw (MENU_PAGER);
+      sidebar_draw ();
 
     redraw = 0;
 
@@ -1679,9 +1626,9 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
       else
         topline = TopLine;
       continue;
-    }
-    else
+    } else {
       OldHdr = NULL;
+    }
 
     ch = km_dokey (MENU_PAGER);
     if (ch != -1)
@@ -1711,8 +1658,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
 
         ch = -1;
         rc = OP_REFORMAT_WINCH;
-      }
-      else {
+      } else {
         for (i = 0; i < maxLine; i++) {
           lineInfo[i].offset = 0;
           lineInfo[i].type = -1;
@@ -1722,8 +1668,8 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
           lineInfo[i].quote = NULL;
 
           p_realloc(&lineInfo[i].syntax, 1);
-          if (SearchCompiled && lineInfo[i].search)
-            p_delete(&(lineInfo[i].search));
+          if (SearchCompiled)
+            p_delete(&lineInfo[i].search);
         }
 
         lastLine = 0;
@@ -1758,8 +1704,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
       else if (option (OPTPAGERSTOP)) {
         /* emulate "less -q" and don't go on to the next message. */
         mutt_error _("Bottom of message is shown.");
-      }
-      else {
+      } else {
         /* end of the current message, so display the next message. */
         rc = OP_MAIN_NEXT_UNDELETED;
         ch = -1;
@@ -1816,8 +1761,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
       else if (option (OPTPAGERSTOP)) {
         /* emulate "less -q" and don't go on to the next message. */
         mutt_error _("Bottom of message is shown.");
-      }
-      else {
+      } else {
         /* end of the current message, so display the next message. */
         rc = OP_MAIN_NEXT_UNDELETED;
         ch = -1;
@@ -1872,7 +1816,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
                           M_CLEAR) != 0)
         break;
 
-      if (!strcmp (buffer, searchbuf)) {
+      if (!m_strcmp (buffer, searchbuf)) {
         if (SearchCompiled) {
           /* do an implicit search-next */
           if (ch == OP_SEARCH)
@@ -1898,8 +1842,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
       if (SearchCompiled) {
         regfree (&SearchRE);
         for (i = 0; i < lastLine; i++) {
-          if (lineInfo[i].search)
-            p_delete(&(lineInfo[i].search));
+          p_delete(&lineInfo[i].search);
           lineInfo[i].search_cnt = -1;
         }
       }
@@ -1912,8 +1855,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
         regfree (&SearchRE);
         for (i = 0; i < maxLine; i++) {
           /* cleanup */
-          if (lineInfo[i].search)
-            p_delete(&(lineInfo[i].search));
+          p_delete(&lineInfo[i].search);
           lineInfo[i].search_cnt = -1;
         }
         SearchFlag = 0;
@@ -2202,8 +2144,8 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
           lineInfo[i].quote = NULL;
 
           p_realloc(&(lineInfo[i].syntax), 1);
-          if (SearchCompiled && lineInfo[i].search)
-            p_delete(&(lineInfo[i].search));
+          if (SearchCompiled)
+            p_delete(&lineInfo[i].search);
         }
 
         if (SearchCompiled) {
@@ -2536,11 +2478,6 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
       redraw = REDRAW_FULL;
       break;
 
-
-    case OP_FORGET_PASSPHRASE:
-      crypt_forget_passphrase ();
-      break;
-
     case OP_EXTRACT_KEYS:
       CHECK_MODE (IsHeader (extra));
       crypt_extract_keys_from_messages (extra->hdr);
@@ -2553,7 +2490,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
     case OP_SIDEBAR_NEXT_NEW:
     case OP_SIDEBAR_PREV:
     case OP_SIDEBAR_PREV_NEW:
-      sidebar_scroll (ch, MENU_PAGER);
+      sidebar_scroll (ch);
       break;
     default:
       ch = -1;
@@ -2561,7 +2498,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
     }
   }
 
-  fclose (fp);
+  m_fclose(&fp);
   if (IsHeader (extra)) {
     Context->msgnotreadyet = -1;
     if (rc == -1)
@@ -2572,12 +2509,12 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra)
     }
   }
 
-  cleanup_quote (&QuoteList);
+  cleanup_quote(&QuoteList);
 
   for (i = 0; i < maxLine; i++) {
-    p_delete(&(lineInfo[i].syntax));
-    if (SearchCompiled && lineInfo[i].search)
-      p_delete(&(lineInfo[i].search));
+    p_delete(&lineInfo[i].syntax);
+    if (SearchCompiled)
+      p_delete(&lineInfo[i].search);
   }
   if (SearchCompiled) {
     regfree (&SearchRE);