listing=custom;
log=custom;
lowres=lores:auto/on/off;
- lpi=integer "x>0" "% must be greater than 0";
+ lpi=integer "x>0" "%s must be greater than 0";
menus=menus:standard/extended;
messages=messages:on/off/terminal/listing/both/none;
mexpand=mexp:on/off;
return 0;
if (set_pager)
free (set_pager);
- set_pager = xstrdup (ds_value (&tokstr));
+ set_pager = xstrdup (ds_c_str (&tokstr));
lex_get ();
}
return 1;
set_journaling = 0;
if (token == T_STRING)
{
- set_journal = xstrdup (ds_value (&tokstr));
+ set_journal = xstrdup (ds_c_str (&tokstr));
lex_get ();
}
return 1;
static char term_buffer[16384];
#endif
- /* Workable defaults before we determine the real terminal size. */
- set_viewwidth = 79;
- set_viewlength = 24;
-
-
+ set_viewwidth = -1;
+ set_viewlength = -1;
#if __DJGPP__ || __BORLANDC__
{
/* This code stolen from termcap.info, though modified. */
termtype = getenv ("TERM");
if (!termtype)
- msg (FE, _("Specify a terminal type with `setenv TERM <yourtype>'."));
+ msg (FE, _("Specify a terminal type with the TERM environment variable."));
success = tgetent (term_buffer, termtype);
if (success <= 0)
}
else
{
- set_viewlength = tgetnum ("li");
- set_viewwidth = tgetnum ("co") - 1;
+ /* NOTE: Do not rely upon tgetnum returning -1 if the value is
+ not available. It's supposed to do it, but not all platforms
+ do (eg Cygwin) .
+ */
+ if ( -1 != tgetnum("li"))
+ set_viewlength = tgetnum ("li");
+
+ if ( -1 != tgetnum("co"))
+ set_viewwidth = tgetnum ("co") - 1;
}
}
-#else
- {
- char *s;
+#endif /* HAVE_LIBTERMCAP */
/* Try the environment variables */
- s = getenv("COLUMNS");
- if ( s ) set_viewwidth = atoi(s);
+ if ( -1 == set_viewwidth )
+ {
+ char *s = getenv("COLUMNS");
+ if ( s ) set_viewwidth = atoi(s);
+ }
+
+ if ( -1 == set_viewwidth )
+ {
+ char *s = getenv("LINES");
+ if ( s ) set_viewlength = atoi(s);
+ }
- s = getenv("LINES");
- if ( s ) set_viewlength = atoi(s);
- }
-#endif /* !HAVE_LIBTERMCAP */
+
+ /* Last resort. Use hard coded values */
+ if ( 0 > set_viewwidth ) set_viewwidth = 79;
+ if ( 0 > set_viewlength ) set_viewlength = 24;
}
}
+static int global_algorithm = ENHANCED;
+static int cmd_algorithm = ENHANCED;
+static int *algorithm = &global_algorithm;
+
+static int syntax = ENHANCED;
+
+/* Set the algorithm option globally */
+void
+set_algorithm(int x)
+{
+ global_algorithm = x;
+}
+
+/* Set the algorithm option for this command only */
+void
+set_cmd_algorithm(int x)
+{
+ cmd_algorithm = x;
+ algorithm = &cmd_algorithm;
+}
+
+/* Unset the algorithm option for this command */
+void
+unset_cmd_algorithm(void)
+{
+ algorithm = &global_algorithm;
+}
+
+/* Return the current algorithm setting */
+int
+get_algorithm(void)
+{
+ return *algorithm;
+}
+
+/* Set the syntax option */
+void
+set_syntax(int x)
+{
+ syntax = x;
+}
+
+/* Get the current syntax setting */
+int
+get_syntax(void)
+{
+ return syntax;
+}
+
+
/*
Local Variables:
mode: c