Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Version 6 is released.HEADpw-6master | Kaz Kylheku | 2024-10-06 | 3 | -5/+18 |
| | |||||
* | bugfix: memory corruption due to sizeof (dstr) | Kaz Kylheku | 2024-10-06 | 1 | -2/+3 |
| | | | | | | | | | | | | | This was reportd by Jeremy Brubaker along with a working patch. I reworked it to a shorter fix. Jeremy is using GCC 13.3.1, Evidently, the sizeof a struct which has a flexible array member is not the same as the offsetof that member, which we are relying on. I have to research more into this because ISO C seems to require them to be the same. * pw.c (dstr_of, dsgrow): use offsetof (struct dsr, str) rather than sizeof (dstr) when displacing the string pointer back to the header, and when allocating the space. | ||||
* | ui fix: don't clear to end of screen. | Kaz Kylheku | 2023-08-03 | 1 | -1/+1 |
| | | | | | | | | | | * pw.c (clrline): use the [K sequence rather than the [J sequence so that we only clear this line, not to the rest of the screen. Clearing the rest of the screen trashes any scroll-protected status lines the user may have set up. Vim respects this, for instance. I have a setup like that now and noticed the issue that when I run pw, my status stuff disappears. | ||||
* | Version 5 is released.pw-5 | Kaz Kylheku | 2023-06-09 | 3 | -5/+14 |
| | |||||
* | Feature: highlight numbers of triggering lines. | Kaz Kylheku | 2023-06-09 | 2 | -10/+49 |
| | | | | | | | When a triggered snapshot is recorded, a flag is set in all the lines which matched the trigger patterns. Whenever highlighting is enabled, the line numbers of those lines are shown in inverse. | ||||
* | Feature: implement pass-through mode. | Kaz Kylheku | 2023-06-08 | 2 | -21/+82 |
| | | | | | | | | | | | | | | | | | | | | In pass-through mode, pw can be used in the middle of a pipeline, or redirected to a file or device. Then instead of discarding data, it copies from standard input to standard output. pw's implementation assumes that standard output is the terminal, and uses some functions that operate implicitly on standard output. To avoid changing all that code, dup2 calls are used to rearrange the file descriptors. The tty descriptor opened from /dev/tty is installed as standard output, and the original standard output (the device, file or pipe to which data is to be passed through) is tied to a dedicated stream held in the local variable out. Whenever out is not null, bytes are to be sent to it rather than discarded. In pass-through mode, though, standard output is not the terminal. | ||||
* | Version 4 is released.pw-4 | Kaz Kylheku | 2023-06-08 | 4 | -7/+13 |
| | |||||
* | Makefile: use shasum tool on MacOS. | Kaz Kylheku | 2023-06-08 | 1 | -1/+2 |
| | |||||
* | MacOS port. | Kaz Kylheku | 2023-06-08 | 4 | -2/+92 |
| | | | | | | | - The poll function is broken on Darwin (won't handle devices). We make a macpoll out of select and use that. - Makefile adds _D_DARWIN_C_SOURCE to CFLAGS. | ||||
* | If there is no SIGWINCH, don't define handler. | Kaz Kylheku | 2023-06-08 | 1 | -0/+2 |
| | |||||
* | Version 3 is released.pw-3 | Kaz Kylheku | 2023-03-10 | 5 | -11/+16 |
| | |||||
* | install: use -D to create needed directories. | Kaz Kylheku | 2023-03-08 | 1 | -2/+2 |
| | | | | | | For instance, the user might not have a /usr/local/man/man5, in which case install behaves like cp, treating man5 as the name of the file to create. | ||||
* | README: longer description; change videos. | Kaz Kylheku | 2023-02-24 | 1 | -6/+14 |
| | | | | Let's use the voiced /proc/interrupts video as the main demo. | ||||
* | Add LICENSE file. | Kaz Kylheku | 2022-07-04 | 2 | -0/+31 |
| | |||||
* | Fix some typos in README and manual page. | Paul A. Patience | 2022-07-04 | 2 | -3/+3 |
| | |||||
* | Add missing semicolon in Makefile install target. | Paul A. Patience | 2022-07-04 | 1 | -1/+1 |
| | |||||
* | bugfix: hokey long interval calculation. | Kaz Kylheku | 2022-06-16 | 1 | -1/+3 |
| | | | | | | | | | The intent is to have a clock which measures milliseconds and wraps around from 1000000000 (billion) back to zero, fitting into 32 bits. The now - lastttime calculation must be done modulo a billion. The difference could be negative because of the wrap; to ensure we get a positive residue, we add a billion. | ||||
* | Version 2 is released.pw-2 | Kaz Kylheku | 2022-06-15 | 3 | -5/+5 |
| | |||||
* | Typo in help text. | Kaz Kylheku | 2022-06-15 | 1 | -1/+1 |
| | |||||
* | Fix printf warning. | Kaz Kylheku | 2022-06-15 | 1 | -1/+1 |
| | |||||
* | Regression: command histories conflated. | Kaz Kylheku | 2022-06-15 | 2 | -5/+10 |
| | |||||
* | Start release notes, as a man page. | Kaz Kylheku | 2022-05-16 | 3 | -5/+59 |
| | |||||
* | Change :s to :sa. | Kaz Kylheku | 2022-05-16 | 2 | -4/+21 |
| | |||||
* | Unnecessary break after goto. | Kaz Kylheku | 2022-05-16 | 1 | -1/+0 |
| | |||||
* | Regression: empty : command is no-op. | Kaz Kylheku | 2022-05-16 | 1 | -3/+2 |
| | |||||
* | Version 1 is released.pw-1 | Kaz Kylheku | 2022-05-16 | 3 | -6/+18 |
| | |||||
* | Bugfix: save correct frequency and count variables. | Kaz Kylheku | 2022-05-15 | 1 | -4/+4 |
| | |||||
* | Fix regression: :E and :B commands not recognized. | Kaz Kylheku | 2022-05-15 | 2 | -3/+8 |
| | |||||
* | Remove superfluous string truncation. | Kaz Kylheku | 2022-05-14 | 1 | -2/+0 |
| | | | | drawstatus clips to the number of columns. | ||||
* | Tighten the command syntax. | Kaz Kylheku | 2022-05-13 | 2 | -14/+40 |
| | | | | | | | | | | Commands are now separated from their argument by exactly one space, which may only be omitted for an argument which does not begin with a letter. Thus :gfoo no longer pushes a regular expression foo onto the grep stack, but is the unrecognized command gfoo. The command :g foo specifies the regular expression " foo". | ||||
* | Remove stray clrline call from execute. | Kaz Kylheku | 2022-05-13 | 1 | -2/+0 |
| | |||||
* | When cmdbuf used for result, set cursor position to EOL. | Kaz Kylheku | 2022-05-13 | 1 | -8/+10 |
| | |||||
* | Much better editing. | Kaz Kylheku | 2022-05-13 | 3 | -25/+109 |
| | |||||
* | bugfix: snapshots not taken in background. | Kaz Kylheku | 2022-05-13 | 1 | -1/+1 |
| | |||||
* | New feature: highlight differences between snapshots. | Kaz Kylheku | 2022-05-13 | 2 | -13/+104 |
| | |||||
* | Preparation for diff-showing feature. | Kaz Kylheku | 2022-05-13 | 1 | -30/+44 |
| | |||||
* | drawline: move integer index pos, not line pointer. | Kaz Kylheku | 2022-05-13 | 1 | -7/+7 |
| | |||||
* | Expand tabs to spaces, with configurable tab size. | Kaz Kylheku | 2022-05-13 | 2 | -20/+64 |
| | |||||
* | Bugfix: getln doesn't substitute control chars. | Kaz Kylheku | 2022-05-13 | 1 | -1/+1 |
| | | | | | | The getln function is used for reading configuration; we don't want control characters in the configuration to be replaced with printable characters. | ||||
* | :p command resets any parameters not specified. | Kaz Kylheku | 2022-05-11 | 2 | -2/+5 |
| | |||||
* | Resizing: fix leaks, use-after-free. | Kaz Kylheku | 2022-05-09 | 1 | -14/+15 |
| | |||||
* | Add optional freeing code for leak debugging. | Kaz Kylheku | 2022-05-09 | 1 | -0/+18 |
| | |||||
* | Use resizebuf instead of realloc. | Kaz Kylheku | 2022-05-09 | 1 | -1/+1 |
| | |||||
* | Avoid unnecessary realloc in resizebuf. | Kaz Kylheku | 2022-05-09 | 1 | -4/+5 |
| | |||||
* | Use grclean instead of regfree and dsdrop. | Kaz Kylheku | 2022-05-09 | 1 | -3/+1 |
| | |||||
* | New :p command; :s saves display params too. | Kaz Kylheku | 2022-05-08 | 2 | -6/+23 |
| | |||||
* | Move decoding of -p params into function. | Kaz Kylheku | 2022-05-08 | 1 | -37/+46 |
| | |||||
* | Ctrl-G shows a few flags also, and -p restores them. | Kaz Kylheku | 2022-05-08 | 2 | -9/+30 |
| | |||||
* | New :s option to save the state. | Kaz Kylheku | 2022-05-08 | 2 | -0/+78 |
| | |||||
* | Implement -f option: commands from file. | Kaz Kylheku | 2022-05-08 | 2 | -2/+62 |
| |