Change the behaviour when in `more' mode (less invoked as more):
* Treat search patterns as BREs only, per 1003.2 and XCU5. * Do not perform any special treatment when an unqoted * or @ is given as the first character of the search pattern. Addresses PR bin/8269 by Chris Demetriou.
This commit is contained in:
parent
a9beb821ed
commit
edafa96ea6
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: command.c,v 1.6 1999/04/06 05:57:35 mrg Exp $ */
|
/* $NetBSD: command.c,v 1.7 1999/09/03 22:07:05 kleink Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1984,1985,1989,1994,1995,1996,1999 Mark Nudelman
|
* Copyright (c) 1984,1985,1989,1994,1995,1996,1999 Mark Nudelman
|
||||||
@ -52,6 +52,7 @@ extern int ignore_eoi;
|
|||||||
extern int secure;
|
extern int secure;
|
||||||
extern int hshift;
|
extern int hshift;
|
||||||
extern int show_attn;
|
extern int show_attn;
|
||||||
|
extern int more_mode;
|
||||||
extern char *every_first_cmd;
|
extern char *every_first_cmd;
|
||||||
extern char *curr_altfilename;
|
extern char *curr_altfilename;
|
||||||
extern char version[];
|
extern char version[];
|
||||||
@ -346,8 +347,8 @@ mca_char(c)
|
|||||||
* Certain characters as the first char of
|
* Certain characters as the first char of
|
||||||
* the pattern have special meaning:
|
* the pattern have special meaning:
|
||||||
* ! Toggle the NO_MATCH flag
|
* ! Toggle the NO_MATCH flag
|
||||||
* * Toggle the PAST_EOF flag
|
* * Toggle the PAST_EOF flag (less extension)
|
||||||
* @ Toggle the FIRST_FILE flag
|
* @ Toggle the FIRST_FILE flag (less extension)
|
||||||
*/
|
*/
|
||||||
if (len_cmdbuf() > 0)
|
if (len_cmdbuf() > 0)
|
||||||
/*
|
/*
|
||||||
@ -358,12 +359,16 @@ mca_char(c)
|
|||||||
flag = 0;
|
flag = 0;
|
||||||
switch (c)
|
switch (c)
|
||||||
{
|
{
|
||||||
case CONTROL('E'): /* ignore END of file */
|
|
||||||
case '*':
|
case '*':
|
||||||
|
if (more_mode)
|
||||||
|
break;
|
||||||
|
case CONTROL('E'): /* ignore END of file */
|
||||||
flag = SRCH_PAST_EOF;
|
flag = SRCH_PAST_EOF;
|
||||||
break;
|
break;
|
||||||
case CONTROL('F'): /* FIRST file */
|
|
||||||
case '@':
|
case '@':
|
||||||
|
if (more_mode)
|
||||||
|
break;
|
||||||
|
case CONTROL('F'): /* FIRST file */
|
||||||
flag = SRCH_FIRST_FILE;
|
flag = SRCH_FIRST_FILE;
|
||||||
break;
|
break;
|
||||||
case CONTROL('K'): /* KEEP position */
|
case CONTROL('K'): /* KEEP position */
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: help.c,v 1.1.1.4 1999/04/06 05:30:34 mrg Exp $ */
|
/* $NetBSD: help.c,v 1.2 1999/09/03 22:07:06 kleink Exp $ */
|
||||||
|
|
||||||
/* This file was generated by mkhelp from less.hlp */
|
/* This file was generated by mkhelp from less.hlp */
|
||||||
#include "less.h"
|
#include "less.h"
|
||||||
@ -50,6 +50,7 @@ constant char helpdata[] = {
|
|||||||
' ',' ',' ',' ',' ',' ',' ',' ','^','F',' ','o','r',' ','@',' ',' ','S','t','a','r','t',' ','s','e','a','r','c','h',' ','a','t',' ','F','I','R','S','T',' ','f','i','l','e',' ','(','f','o','r',' ','/',')',' ','o','r',' ','l','a','s','t',' ','f','i','l','e',' ','(','f','o','r',' ','?',')','.','\n',
|
' ',' ',' ',' ',' ',' ',' ',' ','^','F',' ','o','r',' ','@',' ',' ','S','t','a','r','t',' ','s','e','a','r','c','h',' ','a','t',' ','F','I','R','S','T',' ','f','i','l','e',' ','(','f','o','r',' ','/',')',' ','o','r',' ','l','a','s','t',' ','f','i','l','e',' ','(','f','o','r',' ','?',')','.','\n',
|
||||||
' ',' ',' ',' ',' ',' ',' ',' ','^','K',' ',' ',' ',' ',' ',' ',' ','H','i','g','h','l','i','g','h','t',' ','m','a','t','c','h','e','s',',',' ','b','u','t',' ','d','o','n','\'','t',' ','m','o','v','e',' ','(','K','E','E','P',' ','p','o','s','i','t','i','o','n',')','.','\n',
|
' ',' ',' ',' ',' ',' ',' ',' ','^','K',' ',' ',' ',' ',' ',' ',' ','H','i','g','h','l','i','g','h','t',' ','m','a','t','c','h','e','s',',',' ','b','u','t',' ','d','o','n','\'','t',' ','m','o','v','e',' ','(','K','E','E','P',' ','p','o','s','i','t','i','o','n',')','.','\n',
|
||||||
' ',' ',' ',' ',' ',' ',' ',' ','^','R',' ',' ',' ',' ',' ',' ',' ','D','o','n','\'','t',' ','u','s','e',' ','R','E','G','U','L','A','R',' ','E','X','P','R','E','S','S','I','O','N','S','.','\n',
|
' ',' ',' ',' ',' ',' ',' ',' ','^','R',' ',' ',' ',' ',' ',' ',' ','D','o','n','\'','t',' ','u','s','e',' ','R','E','G','U','L','A','R',' ','E','X','P','R','E','S','S','I','O','N','S','.','\n',
|
||||||
|
' ',' ',' ',' ',' ',' ',' ',' ','*',' ','a','n','d',' ','@',' ','m','o','d','i','f','i','e','r','s',' ','a','r','e',' ','r','e','c','o','g','n','i','z','e','d',' ','i','n',' ','l','e','s','s',' ','m','o','d','e',' ','o','n','l','y','.','\n',
|
||||||
' ','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','\n',
|
' ','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','\n',
|
||||||
'\n',
|
'\n',
|
||||||
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','J','\b','J','U','\b','U','M','\b','M','P','\b','P','I','\b','I','N','\b','N','G','\b','G','\n',
|
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','J','\b','J','U','\b','U','M','\b','M','P','\b','P','I','\b','I','N','\b','N','G','\b','G','\n',
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.\" $NetBSD: less.1,v 1.8 1999/08/02 12:41:20 sommerfeld Exp $
|
.\" $NetBSD: less.1,v 1.9 1999/09/03 22:07:06 kleink Exp $
|
||||||
.\"
|
.\"
|
||||||
.TH LESS 1 "Version 335: 03 Apr 1999"
|
.TH LESS 1 "Version 335: 03 Apr 1999"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
@ -174,7 +174,8 @@ Same as single quote.
|
|||||||
.IP /pattern
|
.IP /pattern
|
||||||
Search forward in the file for the N-th line containing the pattern.
|
Search forward in the file for the N-th line containing the pattern.
|
||||||
N defaults to 1.
|
N defaults to 1.
|
||||||
The pattern is a regular expression, as recognized by
|
When invoked as less, the pattern is an extended regular expression.
|
||||||
|
Otherwise, the pattern is a basic regular expression, as recognized by
|
||||||
.I ed.
|
.I ed.
|
||||||
The search starts at the second line displayed
|
The search starts at the second line displayed
|
||||||
(but see the -a and -j options, which change this).
|
(but see the -a and -j options, which change this).
|
||||||
@ -190,11 +191,13 @@ Search multiple files.
|
|||||||
That is, if the search reaches the END of the current file
|
That is, if the search reaches the END of the current file
|
||||||
without finding a match,
|
without finding a match,
|
||||||
the search continues in the next file in the command line list.
|
the search continues in the next file in the command line list.
|
||||||
|
The * modifier is available when invoked as less only.
|
||||||
.IP "^F or @"
|
.IP "^F or @"
|
||||||
Begin the search at the first line of the FIRST file
|
Begin the search at the first line of the FIRST file
|
||||||
in the command line list,
|
in the command line list,
|
||||||
regardless of what is currently displayed on the screen
|
regardless of what is currently displayed on the screen
|
||||||
or the settings of the -a or -j options.
|
or the settings of the -a or -j options.
|
||||||
|
The @ modifier is available when invoked as less only.
|
||||||
.IP "^K"
|
.IP "^K"
|
||||||
Highlight any text which matches the pattern on the current screen,
|
Highlight any text which matches the pattern on the current screen,
|
||||||
but don't move to the first match (KEEP current position).
|
but don't move to the first match (KEEP current position).
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: search.c,v 1.3 1999/04/06 05:57:36 mrg Exp $ */
|
/* $NetBSD: search.c,v 1.4 1999/09/03 22:07:06 kleink Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1984,1985,1989,1994,1995,1996,1999 Mark Nudelman
|
* Copyright (c) 1984,1985,1989,1994,1995,1996,1999 Mark Nudelman
|
||||||
@ -40,7 +40,7 @@
|
|||||||
#if HAVE_POSIX_REGCOMP
|
#if HAVE_POSIX_REGCOMP
|
||||||
#include <regex.h>
|
#include <regex.h>
|
||||||
#ifdef REG_EXTENDED
|
#ifdef REG_EXTENDED
|
||||||
#define REGCOMP_FLAG REG_EXTENDED
|
#define REGCOMP_FLAG (more_mode ? 0 : REG_EXTENDED)
|
||||||
#else
|
#else
|
||||||
#define REGCOMP_FLAG 0
|
#define REGCOMP_FLAG 0
|
||||||
#endif
|
#endif
|
||||||
@ -81,6 +81,7 @@ extern int linenums;
|
|||||||
extern int sc_height;
|
extern int sc_height;
|
||||||
extern int jump_sline;
|
extern int jump_sline;
|
||||||
extern int bs_mode;
|
extern int bs_mode;
|
||||||
|
extern int more_mode;
|
||||||
extern POSITION start_attnpos;
|
extern POSITION start_attnpos;
|
||||||
extern POSITION end_attnpos;
|
extern POSITION end_attnpos;
|
||||||
#if HILITE_SEARCH
|
#if HILITE_SEARCH
|
||||||
|
Loading…
Reference in New Issue
Block a user