Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support HISTCONTROL as in bash #761

Open
McDutchie opened this issue Jul 6, 2024 · 3 comments
Open

support HISTCONTROL as in bash #761

McDutchie opened this issue Jul 6, 2024 · 3 comments
Labels
1.1 Issue relevant to dev branch (v1.1.*) enhancement New feature or request

Comments

@McDutchie
Copy link

McDutchie commented Jul 6, 2024

In att#1500, @nsoci wrote:

Is it not an issue with KSHbut it will be nice if KSH support "ignore duplicates" .
Thank you

I agree it would be nice to have, and we can see if we can implement the other HISTCONTROL features as well. Since it's a whole new feature, it will be for ksh 93u+m/1.1 and up.

Citing from the bash manual page:

       HISTCONTROL
              A  colon-separated  list  of values controlling how commands are
              saved on the history list.   If  the  list  of  values  includes
              ignorespace,  lines  which  begin with a space character are not
              saved in the history list.  A value of ignoredups  causes  lines
              matching the previous history entry to not be saved.  A value of
              ignoreboth is shorthand for ignorespace and ignoredups.  A value
              of erasedups causes all previous lines matching the current line
              to be removed from the history list before that line  is  saved.
              Any  value  not in the above list is ignored.  If HISTCONTROL is
              unset, or does not include a valid value, all lines read by  the
              shell parser are saved on the history list, subject to the value
              of HISTIGNORE.  The second and subsequent lines of a  multi-line
              compound  command  are  not tested, and are added to the history
              regardless of the value of HISTCONTROL.
@McDutchie McDutchie added enhancement New feature or request 1.1 Issue relevant to dev branch (v1.1.*) labels Jul 6, 2024
@McDutchie
Copy link
Author

ksh's discipline function mechanism is well suited to this. We should define a put and get discipline in init.c that converts the assigned list of values to and from a simple options bitmask (stored in, let's say, sh.histcontrol). It will then be efficient to check for those options in history.c.

@nsoci
Copy link

nsoci commented Aug 4, 2024

It was update to 1.0.10 and history duplicates is not solved yet or I do not know hot to set up.
Thank you.

@McDutchie
Copy link
Author

McDutchie commented Aug 4, 2024

It's not yet implemented, sorry. I don't know when I'll have the time.

Also, again, when implemented, it will be in 93u+m/1.1 and up, it won't be in the 1.0 series as it's a whole new feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.1 Issue relevant to dev branch (v1.1.*) enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants