Rework of Editor/defaulteditor, similar to Pager/defaultpager; new env vars.
[mmh] / sbr / context_read.c
index 1e795b0..5733d3f 100644 (file)
@@ -173,4 +173,26 @@ context_read(void)
                readconfig((struct node **) 0, ib, cp, 1);
                lkfclose(ib, ctxpath);
        }
+
+       /* Set editor */
+       if (!(cp = getenv("MMHEDITOR")) || !*cp) {
+               if (!(cp = context_find("editor")) || !*cp) {
+                       if (!(cp = getenv("VISUAL")) || !*cp) {
+                               if (!(cp = getenv("EDITOR")) || !*cp) {
+                                       cp = defaulteditor;
+                               }
+                       }
+               }
+       }
+       defaulteditor = cp;
+
+       /* Set pager */
+       if (!(cp = getenv("MMHPAGER")) || !*cp) {
+               if (!(cp = context_find("pager")) || !*cp) {
+                       if (!(cp = getenv("PAGER")) || !*cp) {
+                               cp = defaultpager;
+                       }
+               }
+       }
+       defaultpager = cp;
 }