Manual: fix page up keys
[tig] / tig.c
diff --git a/tig.c b/tig.c
index cda8a71..5ed2bb1 100644 (file)
--- a/tig.c
+++ b/tig.c
@@ -770,6 +770,7 @@ static struct key key_table[] = {
        { "Down",       KEY_DOWN },
        { "Insert",     KEY_IC },
        { "Delete",     KEY_DC },
+       { "Hash",       '#' },
        { "Home",       KEY_HOME },
        { "End",        KEY_END },
        { "PageUp",     KEY_PPAGE },
@@ -946,8 +947,22 @@ option_set_command(int argc, char *argv[])
        }
 
        if (!strcmp(argv[0], "commit-encoding")) {
-               string_copy(opt_encoding, argv[2]);
-               return OK;
+               char *arg = argv[2];
+               int delimiter = *arg;
+               int i;
+
+               switch (delimiter) {
+               case '"':
+               case '\'':
+                       for (arg++, i = 0; arg[i]; i++)
+                               if (arg[i] == delimiter) {
+                                       arg[i] = 0;
+                                       break;
+                               }
+               default:
+                       string_copy(opt_encoding, arg);
+                       return OK;
+               }
        }
 
        config_msg = "Unknown variable name";
@@ -1032,7 +1047,7 @@ read_option(char *opt, int optlen, char *value, int valuelen)
 
        /* Check for comment markers, since read_properties() will
         * only ensure opt and value are split at first " \t". */
-       optlen = strcspn(opt, "#;");
+       optlen = strcspn(opt, "#");
        if (optlen == 0)
                return OK;
 
@@ -1042,7 +1057,7 @@ read_option(char *opt, int optlen, char *value, int valuelen)
 
        }  else {
                /* Look for comment endings in the value. */
-               int len = strcspn(value, "#;");
+               int len = strcspn(value, "#");
 
                if (len < valuelen) {
                        valuelen = len;