lib.c (subst): Refer to the correct variable.
[runlisp] / lib.c
diff --git a/lib.c b/lib.c
index 4eadf70..dea6c09 100644 (file)
--- a/lib.c
+++ b/lib.c
@@ -1251,7 +1251,7 @@ void config_read_env(struct config *conf, struct config_section *sect)
  *
  * This only keeps track of the immutable parameters for the substitution
  * task: stuff which changes (flags, filtering state, cursor position) is
- *      maintained separately.
+ * maintained separately.
  */
 struct subst {
   struct config *config;               /* configuration state */
@@ -1336,8 +1336,9 @@ static void filter_string(const char *p, const char *l,
 
 /* Scan and resolve a `[SECT:]VAR' specifier at P.
  *
- * Return the address of the next character following the specifier.  L is a
- * limit on the region of the buffer that we should process; SB is the
+ * Return the address of the next character following the specifier; and set
+ * *VAR_OUT to point to the variable we found, or null if it's not there.  L
+ * is a limit on the region of the buffer that we should process; SB is the
  * substitution state which provides the home section if none is given
  * explicitly; FILE and LINE are the source location to blame for problems.
  */
@@ -1412,9 +1413,10 @@ static const char *subst(const char *p, const char *l,
     0,
     ESCAPE DELIM SUBST QUOT
 
-#undef COMMON
+#undef ESCAPE
+#undef SUBST
 #undef WORDSEP
-#undef SQUOT
+#undef QUOT
 #undef DELIM
   };
 
@@ -1455,12 +1457,12 @@ static const char *subst(const char *p, const char *l,
        * to it.
        */
 
-      /* If there's no next charact3er then we should be upset. */
+      /* If there's no next character then we should be upset. */
       p++; if (p >= l) lose("%s:%u: unfinished `\\' escape", file, line);
 
       if (!(f&SF_SKIP)) {
 
-       /* If this is a double quote or backslash then check DFLT to see if
+       /* If this is a double quote or backslash then check QFILT to see if
         * it needs escaping.
         */
        if (qfilt && (*p == '"' || *p == '\\'))
@@ -1587,13 +1589,13 @@ static const char *subst(const char *p, const char *l,
               * toothpick, so now we need Q + (Q + 1) = 2 Q + 1 toothpicks.
               *
               * Calculate this here rather than at each point toothpicks
-              * needs to be deployed.
+              * need to be deployed.
               */
 
              subqfilt = 2*subqfilt + 1;
 
            else if (t - p == 1 && *p == 'l')
-             /* `u' -- convert to uppercase.
+             /* `l' -- convert to lowercase.
               *
               * If a case conversion is already set, then that will override
               * whatever we do here, so don't bother.