--- orig-OPS	Sat Dec 12 00:05:36 1998
+++ OPS	Wed Sep 27 18:32:01 2000
@@ -56,10 +56,11 @@
 OP_EDITOR_DELETE_CHAR "delete the char under the cursor"
 OP_EDITOR_EOL "jump to the end of the line"
 OP_EDITOR_FORWARD_CHAR "move the cursor one character to the right"
 OP_EDITOR_HISTORY_DOWN "scroll up through the history list"
 OP_EDITOR_HISTORY_UP "scroll up through the history list"
+OP_EDITOR_KILL_BOL "delete chars from cursor to beginning of line"
 OP_EDITOR_KILL_EOL "delete chars from cursor to end of line"
 OP_EDITOR_KILL_LINE "delete all chars on the line"
 OP_EDITOR_KILL_WORD "delete the word in front of the cursor"
 OP_EDITOR_QUOTE_CHAR "quote the next typed key"
 OP_ENTER_COMMAND "enter a muttrc command"
--- orig-OPS.PGP	Sat Dec 12 00:05:36 1998
+++ OPS.PGP	Wed Sep 27 18:32:01 2000
@@ -1,7 +1,9 @@
 OP_COMPOSE_ATTACH_KEY "attach a PGP public key"
 OP_COMPOSE_PGP_MENU "show PGP options"
+OP_COMPOSE_TOGGLE_SIGN "sign/don't sign current message"
+OP_COMPOSE_TOGGLE_ENCRYPT "encrypt/don't encrypt current message"
 OP_EXTRACT_KEYS "extract PGP public keys"
 OP_FORGET_PASSPHRASE "wipe PGP passphrase from memory"
 OP_MAIL_KEY "mail a PGP public key"
 OP_VERIFY_KEY "verify a PGP public key"
 OP_VIEW_ID "view the key's user id"
--- orig-compose.c	Thu Jan  6 03:55:03 2000
+++ compose.c	Mon May  8 23:36:08 2000
@@ -1059,10 +1059,22 @@
       case OP_COMPOSE_PGP_MENU:
 
 	msg->pgp = pgp_send_menu (msg->pgp, &menu->redraw);
 	break;
 
+      case OP_COMPOSE_TOGGLE_SIGN:
+
+	msg->pgp ^= PGPSIGN;
+	redraw_pgp_lines (msg->pgp);
+	break;
+
+      case OP_COMPOSE_TOGGLE_ENCRYPT:
+
+	msg->pgp ^= PGPENCRYPT;
+	redraw_pgp_lines (msg->pgp);
+	break;
+
       case OP_FORGET_PASSPHRASE:
 
 	mutt_forget_passphrase ();
 	break;
 
--- orig-curs_main.c	Sun Sep 17 22:38:11 2000
+++ curs_main.c	Sun Sep 17 23:23:26 2000
@@ -913,12 +913,10 @@
 	    break;
 	  }
 	  safe_free ((void **) &Context);
 	}
 
-	sleep (1); /* give a second to read the mailbox status */
-
 	mutt_folder_hook (buf);
 
 	if ((Context = mx_open_mailbox (buf, 
 					(option (OPTREADONLY) || op == OP_MAIN_CHANGE_FOLDER_READONLY) ?
 					M_READONLY : 0, NULL)) != NULL)
--- orig-enter.c	Thu Jan  6 03:55:05 2000
+++ enter.c	Fri Apr 28 17:54:37 2000
@@ -212,10 +212,32 @@
 	case OP_EDITOR_KILL_EOL:
 	  lastchar = curpos;
 	  if (!pass)
 	    clrtoeol ();
 	  break;
+	case OP_EDITOR_KILL_BOL:
+	  /* delete to begining of line */
+	  if (curpos != 0)
+	  {
+	    j = 0;
+	    while (curpos < lastchar)
+	      buf[j++] = buf[curpos++];
+	    lastchar = j;
+	    curpos = 0;
+	    /* update screen */
+	    if (!pass)
+	    {
+	      if (curpos < begin)
+	      {
+		begin = curpos - width / 2;
+		redraw = M_REDRAW_LINE;
+	      }
+	      else
+		redraw = M_REDRAW_EOL;
+	    }
+	  }
+	  break;
 	case OP_EDITOR_BACKWARD_CHAR:
 	  if (curpos == 0)
 	  {
 	    BEEP ();
 	  }
--- orig-functions.h	Thu Jan  6 03:55:05 2000
+++ functions.h	Thu Jan  6 03:55:05 2000
@@ -292,10 +292,12 @@
 
 #ifdef _PGPPATH
   { "attach-key",	OP_COMPOSE_ATTACH_KEY,		"\033k" },
   { "forget-passphrase",OP_FORGET_PASSPHRASE,		"\006"  },
   { "pgp-menu",		OP_COMPOSE_PGP_MENU,		"p" 	},
+  { "toggle-sign",	OP_COMPOSE_TOGGLE_SIGN,		NULL },
+  { "toggle-encrypt",	OP_COMPOSE_TOGGLE_ENCRYPT,	NULL },
 #endif
 
   { NULL,		0,				NULL }
 };
 
@@ -333,10 +335,11 @@
   { "backward-char",	OP_EDITOR_BACKWARD_CHAR,	"\002" },
   { "delete-char",	OP_EDITOR_DELETE_CHAR,		"\004" },
   { "eol",		OP_EDITOR_EOL,			"\005" },
   { "forward-char",	OP_EDITOR_FORWARD_CHAR,		"\006" },
   { "backspace",	OP_EDITOR_BACKSPACE,		"\010" },
+  { "kill-bol",		OP_EDITOR_KILL_EOL,		NULL },
   { "kill-eol",		OP_EDITOR_KILL_EOL,		"\013" },
   { "kill-line",	OP_EDITOR_KILL_LINE,		"\025" },
   { "quote-char",	OP_EDITOR_QUOTE_CHAR,		"\026" },
   { "kill-word",	OP_EDITOR_KILL_WORD,		"\027" },
   { "complete",		OP_EDITOR_COMPLETE,		"\t" },
--- orig-hdrline.c	Fri Sep 22 17:14:27 2000
+++ hdrline.c	Fri Sep 22 19:29:27 2000
@@ -349,11 +349,12 @@
 		len -= 2;
 	      }
 	      else
 		break; /* not enough space */
 	    }
-	    cp++;
+	    if(*cp)
+	      cp++;
 	  }
 	  else
 	  {
 	    *p++ = *cp++;
 	    len--;
@@ -389,11 +390,11 @@
 	if (do_locales)
 	  setlocale (LC_TIME, "C");
 
 	snprintf (fmt, sizeof (fmt), "%%%ss", prefix);
 	snprintf (dest, destlen, fmt, buf2);
-	if (len > 0 && op != 'd')
+	if (len > 0 && op != 'd' && op != 'D')
 	  src = cp + 1;
       }
       break;
 
     case 'f':
--- orig-init.c	Thu Jan  6 03:55:07 2000
+++ init.c	Sat Sep  9 03:41:40 2000
@@ -1758,32 +1758,10 @@
     Muttrc = safe_strdup (buffer);
   }
   FREE (&AliasFile);
   AliasFile = safe_strdup (NONULL(Muttrc));
 
-  /* Process the global rc file if it exists and the user hasn't explicity
-     requested not to via "-n".  */
-  if (!skip_sys_rc)
-  {
-    snprintf (buffer, sizeof(buffer), "%s/Muttrc-%s", SYSCONFDIR, MUTT_VERSION);
-    if (access (buffer, F_OK) == -1)
-      snprintf (buffer, sizeof(buffer), "%s/Muttrc", SYSCONFDIR);
-    if (access (buffer, F_OK) == -1)
-      snprintf (buffer, sizeof (buffer), "%s/Muttrc-%s", SHAREDIR, MUTT_VERSION);
-    if (access (buffer, F_OK) == -1)
-      snprintf (buffer, sizeof (buffer), "%s/Muttrc", SHAREDIR);
-    if (access (buffer, F_OK) != -1)
-    {
-      if (source_rc (buffer, &err) != 0)
-      {
-	fputs (err.data, stderr);
-	fputc ('\n', stderr);
-	need_pause = 1;
-      }
-    }
-  }
-
   /* Read the user's initialization file.  */
   if (access (Muttrc, F_OK) != -1)
   {
     if (!option (OPTNOCURSES))
       endwin ();
@@ -1798,10 +1776,32 @@
   {
     /* file specified by -F does not exist */
     snprintf (buffer, sizeof (buffer), "%s: %s", Muttrc, strerror (errno));
     mutt_endwin (buffer);
     exit (1);
+  }
+
+  /* Process the global rc file if it exists and the user hasn't explicity
+     requested not to via "-n" or "set skip_sys_rc".  */
+  if (!skip_sys_rc && !option(OPTSKIPSYSRC))
+  {
+    snprintf (buffer, sizeof(buffer), "%s/Muttrc-%s", SYSCONFDIR, MUTT_VERSION);
+    if (access (buffer, F_OK) == -1)
+      snprintf (buffer, sizeof(buffer), "%s/Muttrc", SYSCONFDIR);
+    if (access (buffer, F_OK) == -1)
+      snprintf (buffer, sizeof (buffer), "%s/Muttrc-%s", SHAREDIR, MUTT_VERSION);
+    if (access (buffer, F_OK) == -1)
+      snprintf (buffer, sizeof (buffer), "%s/Muttrc", SHAREDIR);
+    if (access (buffer, F_OK) != -1)
+    {
+      if (source_rc (buffer, &err) != 0)
+      {
+	fputs (err.data, stderr);
+	fputc ('\n', stderr);
+	need_pause = 1;
+      }
+    }
   }
 
   if (mutt_execute_commands (commands) != 0)
     need_pause = 1;
 
--- orig-init.h	Sat Sep  9 03:24:56 2000
+++ init.h	Sat Sep  9 03:30:39 2000
@@ -258,10 +258,11 @@
   { "sendmail_wait",	DT_NUM,  R_NONE, UL &SendmailWait, 0 },
   { "shell",		DT_PATH, R_NONE, UL &Shell, 0 },
   { "sig_dashes",	DT_BOOL, R_NONE, OPTSIGDASHES, 1 },
   { "signature",	DT_PATH, R_NONE, UL &Signature, UL "~/.signature" },
   { "simple_search",	DT_STR,	 R_NONE, UL &SimpleSearch, UL "~f %s | ~s %s" },
+  { "skip_sys_rc",	DT_BOOL, R_NONE, OPTSKIPSYSRC, 0 },
   { "smart_wrap",	DT_BOOL, R_PAGER, OPTWRAP, 1 },
   { "smileys",		DT_RX,	 R_PAGER, UL &Smileys, UL "(>From )|(:[-^]?[][)(><}{|/DP])" },
   { "sort",		DT_SORT, R_INDEX|R_RESORT, UL &Sort, SORT_DATE },
   { "sort_alias",	DT_SORT|DT_SORT_ALIAS,	R_NONE,	UL &SortAlias, SORT_ALIAS },
   { "sort_aux",		DT_SORT, R_INDEX|R_RESORT_BOTH, UL &SortAux, SORT_DATE },
--- orig-mutt.h	Sat Sep  9 03:30:02 2000
+++ mutt.h	Sat Sep  9 03:28:17 2000
@@ -331,10 +331,11 @@
   OPTREVNAME,
   OPTSAVEADDRESS,
   OPTSAVEEMPTY,
   OPTSAVENAME,
   OPTSIGDASHES,
+  OPTSKIPSYSRC,
   OPTSORTRE,
   OPTSTATUSONTOP,
   OPTSTRICTTHREADS,
   OPTSUSPEND,
   OPTTHOROUGHSRC,
--- orig-pager.c	Sat Sep  2 20:03:37 2000
+++ pager.c	Sat Sep  2 20:14:00 2000
@@ -723,11 +723,13 @@
       }
     }
   }
   else if (mutt_strncmp ("[-- ", buf, 4) == 0)
     lineInfo[n].type = MT_COLOR_ATTACHMENT;
-  else if (mutt_strcmp ("-- \n", buf) == 0 || mutt_strcmp ("-- \r\n", buf) == 0)
+  else if (mutt_strcmp ("-- \n", buf) == 0 || mutt_strcmp ("-- \r\n", buf) == 0
+    || mutt_strncmp("----------------------------------------", buf, 40) == 0
+    || mutt_strncmp("________________________________________", buf, 40) == 0)
   {
     i = n + 1;
 
     lineInfo[n].type = MT_COLOR_SIGNATURE;
     while (i < last && check_sig (buf, lineInfo, i - 1) == 0 &&
--- orig-send.c	Sun Sep 17 22:41:00 2000
+++ send.c	Sun Sep 17 23:21:25 2000
@@ -975,11 +975,12 @@
 
     if (option (OPTHDRS))
       process_user_recips (msg->env);
 
     if (! (flags & SENDMAILX) &&
-	! (option (OPTAUTOEDIT) && option (OPTEDITHDRS)) &&
+	! (option (OPTAUTOEDIT)) &&
+	! (option (OPTEDITHDRS)) &&
 	! ((flags & SENDREPLY) && option (OPTFASTREPLY)))
     {
       if (edit_envelope (msg->env) == -1)
 	goto cleanup;
     }
