mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
Expose --histreedit and --histverify options (re: 921bbcae)
This adds two long-form shell options that modify history expansion (-H/--histexpand). If --histreedit is on and a history expansion fails, the command line is reloaded into the next prompt's edit buffer, allowing corrections. If --histverify is on, the results of a history expansion are not immediately executed but instead loaded into the next prompt's edit buffer, allowing further changes. SH_HISTREEDIT and SH_HISTVERIFY were already handled all along in slowread() in io.c and via 'reedit' arguments to functions called there, but could not be turned on as they were only ever exposed as shopt options in the removed bash compatibility mode (in theory only, as it failed to compile). I had overlooked them until now. So, since the code is there, let's expose these options through the normal long options interface. They're working fine, and activating them actually makes history expansion tolerable to use. src/cmd/ksh93/data/options.c: - Make these options available as "histreedit" and "histverify". src/cmd/ksh93/data/builtins.c, src/cmd/ksh93/sh.1: - Document the "new" options. src/cmd/ksh93/include/defs.h: - Remove unused SH_HISTAPPEND and SH_HISTORY2 macros which were part of the removed bash compatibility code. Note that ksh does not need a histappend option as it never overwrites the history file (in the bash mode, this shopt option was a no-op).
This commit is contained in:
parent
2d4a787564
commit
a5700d3937
8 changed files with 47 additions and 11 deletions
|
|
@ -2,7 +2,7 @@
|
|||
* *
|
||||
* This software is part of the ast package *
|
||||
* Copyright (c) 1982-2012 AT&T Intellectual Property *
|
||||
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
|
||||
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
|
||||
* and is licensed under the *
|
||||
* Eclipse Public License, Version 1.0 *
|
||||
* by AT&T Intellectual Property *
|
||||
|
|
@ -21,8 +21,8 @@
|
|||
|
||||
#define SH_RELEASE_FORK "93u+m" /* only change if you develop a new ksh93 fork */
|
||||
#define SH_RELEASE_SVER "1.0.0-beta.2" /* semantic version number: https://semver.org */
|
||||
#define SH_RELEASE_DATE "2022-01-04" /* must be in this format for $((.sh.version)) */
|
||||
#define SH_RELEASE_CPYR "(c) 2020-2021 Contributors to ksh " SH_RELEASE_FORK
|
||||
#define SH_RELEASE_DATE "2022-01-12" /* must be in this format for $((.sh.version)) */
|
||||
#define SH_RELEASE_CPYR "(c) 2020-2022 Contributors to ksh " SH_RELEASE_FORK
|
||||
|
||||
/* Scripts sometimes field-split ${.sh.version}, so don't change amount of whitespace. */
|
||||
/* Arithmetic $((.sh.version)) uses the last 10 chars, so the date must be at the end. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue