=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/less/opttbl.c,v retrieving revision 1.1.1.3 retrieving revision 1.1.1.4 diff -u -r1.1.1.3 -r1.1.1.4 --- src/usr.bin/less/opttbl.c 2011/09/16 17:47:07 1.1.1.3 +++ src/usr.bin/less/opttbl.c 2014/04/25 13:33:49 1.1.1.4 @@ -1,11 +1,10 @@ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -29,6 +28,7 @@ public int quit_at_eof; /* Quit after hitting end of file twice */ public int quit_if_one_screen; /* Quit if EOF on first screen */ public int squeeze; /* Squeeze multiple blank lines into one */ +public int be_helpful; /* more(1) style -d */ public int tabstop; /* Tab settings */ public int back_scroll; /* Repaint screen on backwards movement */ public int forw_scroll; /* Repaint screen on forward movement */ @@ -53,6 +53,7 @@ public int quit_on_intr; /* Quit on interrupt */ public int follow_mode; /* F cmd Follows file desc or file name? */ public int oldbot; /* Old bottom of screen behavior {{REMOVE}} */ +public int opt_use_backslash; /* Use backslash escaping in option parsing */ #if HILITE_SEARCH public int hilite_search; /* Highlight matched search patterns? */ #endif @@ -62,6 +63,7 @@ /* * Long option names. */ +#if GNU_OPTIONS static struct optname a_optname = { "search-skip-screen", NULL }; static struct optname b_optname = { "buffers", NULL }; static struct optname B__optname = { "auto-buffers", NULL }; @@ -116,6 +118,65 @@ static struct optname keypad_optname = { "no-keypad", NULL }; static struct optname oldbot_optname = { "old-bot", NULL }; static struct optname follow_optname = { "follow-name", NULL }; +static struct optname use_backslash_optname = { "use-backslash", NULL }; +#else +static struct optname fake_optname = { "fake", NULL }; +#define a_optname fake_optname +#define b_optname fake_optname +#define B__optname fake_optname +#define c_optname fake_optname +#define d_optname fake_optname +#if MSDOS_COMPILER +#define D__optname fake_optname +#endif +#define e_optname fake_optname +#define f_optname fake_optname +#define F__optname fake_optname +#if HILITE_SEARCH +#define g_optname fake_optname +#endif +#define h_optname fake_optname +#define i_optname fake_optname +#define j_optname fake_optname +#define J__optname fake_optname +#if USERFILE +#define k_optname fake_optname +#endif +#define K__optname fake_optname +#define L__optname fake_optname +#define m_optname fake_optname +#define n_optname fake_optname +#if LOGFILE +#define o_optname fake_optname +#define O__optname fake_optname +#endif +#define p_optname fake_optname +#define P__optname fake_optname +#define q2_optname fake_optname +#define q_optname fake_optname +#define r_optname fake_optname +#define s_optname fake_optname +#define S__optname fake_optname +#if TAGS +#define t_optname fake_optname +#define T__optname fake_optname +#endif +#define u_optname fake_optname +#define V__optname fake_optname +#define w_optname fake_optname +#define x_optname fake_optname +#define X__optname fake_optname +#define y_optname fake_optname +#define z_optname fake_optname +#define quote_optname fake_optname +#define tilde_optname fake_optname +#define query_optname fake_optname +#define pound_optname fake_optname +#define keypad_optname fake_optname +#define oldbot_optname fake_optname +#define follow_optname fake_optname +#define use_backslash_optname fake_optname +#endif /* @@ -158,7 +219,7 @@ } }, { 'c', &c_optname, - TRIPLE, OPT_OFF, &top_scroll, NULL, + TRIPLE, OPT_ON, &top_scroll, NULL, { "Repaint by scrolling from bottom of screen", "Repaint by painting from top of screen", @@ -447,6 +508,14 @@ NULL } }, + { OLETTER_NONE, &use_backslash_optname, + BOOL, OPT_OFF, &opt_use_backslash, NULL, + { + "Use backslash escaping in command line parameters", + "Don't use backslash escaping in command line parameters", + NULL + } + }, { '\0', NULL, NOVAR, 0, NULL, NULL, { NULL, NULL, NULL } } }; @@ -467,6 +536,21 @@ for (o = option; o->oletter != '\0'; o++) { /* + * Replace less's -d option if invoked as more + */ + if (less_is_more && o->oletter == 'd') + { + o->onames = NULL; + o->otype = BOOL; + o->odefault = OPT_OFF; + o->ovar = &be_helpful; + o->ofunc = NULL; + o->odesc[0] = "Be less helpful in prompts"; + o->odesc[1] = "Be helpful in prompts"; + o->odesc[2] = NULL; + } + + /* * Set each variable to its default. */ if (o->ovar != NULL) @@ -511,6 +595,7 @@ return 0; } +#if GNU_OPTIONS /* * Find an option in the option table, given its option name. * p_optname is the (possibly partial) name to look for, and @@ -597,3 +682,4 @@ *p_oname = maxoname == NULL ? NULL : maxoname->oname; return (maxo); } +#endif