3 * Correction of an error in the calculation of the size of the longest word.
4 * Corrects the calculation of the space taken by the first direct access
5 numbers when it is explicitly specified.
6 * Increase the size of the buffer to store the scancode to prevent it
8 * Make decoding the column or row number more robust in command line analysis.
9 * Prevents the introduction of colours outside the range supported by
12 * Add the -sb|-sbw|-show_blank_words option to help display all words
13 composed entirely of spaces.
14 * Allow selection intervals to have no start or end number.
15 * In column mode, words can now be aligned left/right or centred.
16 * When numbering is active, unnumbered words are now always filled in with
17 blanks in col/line/tab mode.
18 * The -start_pattern option has been extended so that all words matching
19 the pattern can be searched directly using the Next/previous keys,
20 without having to enter search mode.
21 * The order in which -C/-R elements appear on the command line is now
23 * In column mode, columns and/or rows can have their own colour
26 * Corrections and improvements to the manual.
27 * Removal of dead code.
28 * Addition of an FAQ entry on alignments.
29 * The memory consumption has been reduced.
34 * Correction of word selections with the mouse in long lines.
35 * Fixed support for the double-click mouse delay setting.
36 * Prevention of spurious commands being sent by the mouse paste function.
37 * Allowed compilation with old glibc versions.
39 * Redesign of the multiple selection mechanism with the possibility to undo.
40 * Improved initialization of mouse tracking modes.
42 * Corrections and improvements to the manual.
43 * Removal of dead code.
47 * Fix and improve the instant help (?) display.
48 * Fix and improve the substitution code.
49 * Fix and simplify the "End" key management code.
52 * Allows to shift the window's content horizontally without moving the cursor.
53 * Small adjustments in UTF-8 symbols and comments.
54 * Improve the documentation.
56 * Various code simplifications.
58 * Fix and improve the content of the integrated help system.
59 * Allow multiple instances of the "-limits" option.
61 * Improve memory management.
62 * Reduce the scope of some variables.
63 * Rework parts of the list code.
64 * Sync with github's ctxopt commit b943e6b.
65 * Switch to Mozilla Public License 2.0.
66 * Modify the URL to find the package maintainers.
67 * Fix a potential memory corruption.
70 * Fix configure.ac for autoconf >= 2.70.
71 * Fixed a bug in the bash example in the README.
72 * Synchronization with the commit 9ddac73 of ctxopt on github.
73 * Use the right format to print size_t values (C99).
74 * Add a missing break.
75 * Fix a potential segfault when allocating .ini paths.
76 * Fixed color and attribute parsing.
79 * Update to autoconf 2.71.
80 * Added "invisible" style attribute (n).
81 * Prevent smenu from running in the background.
82 * Catch and handle SIGPIPE signal.
85 * Various code simplifications.
86 * Removal of some unnecessary parameter.
87 * Removal of unnecessary code.
88 * Fixed typos in the README file.
91 * Prevent an attempt to free memory that has already been freed.
92 * Prevent memory leaks when requesting help.
93 * Correctly handle the order of invocation of -i/-e options.
94 * Apply a PR from h1z1 with a small correction.
95 * Fix the UTF-8 byte sequence generation from a given UCS-4 codepoint.
98 * Improve the documentation.
99 * Improve compatibility with some older compilers.
100 * Added the ability to set a global inactivity timeout.
101 * Improve the reliability of the code.
103 * Removed the generation of the SUSE specific specfile.
104 * Many typos have been corrected.
105 * Various code simplifications.
109 * A mismatch between signed and unsigned chars has been corrected.
110 * A fatal error in the direct access code has been corrected.
111 * A logic error that could cause a crash has been fixed.
113 * The user manual has been updated.
114 * An early substitution option -ES similar to -S has been added.
115 * Special levels are now considered when displaying searched words.
116 * An option to change the behaviour of the multi-selection mode has
118 * 4 more special levels (-6, -7, -8 and -9) are now available.
119 * The missing blink attribute has been added.
120 * The possibility to overload initial limits has been added.
121 * A new search session now starts from scratch by default.
122 * The integer checking function is now more reliable.
123 * A better code for validating UTF-8 byte sequences is now used.
124 * Tests have been added.
126 * A missing licence reminder in the usage.c file has been added.
127 * An example in the README file has been added.
128 * Error messages are now more consistent.
132 * The method to get the cursor location has been fixed and improved.
133 * A display problem when the title takes too many lines has been fixed.
134 * A failure when reopening /dev/tty is now fatal.
135 * Interesting signals are now trapped only when needed.
136 * The refresh mechanism when resizing the terminal has been fixed
138 * \U does not need too be escaped anymore.
140 * The -Q|-ignore_quotes option has been added to provide a way to
141 ignore quotes when splitting the input stream/file into words.
142 * The -!|-int|-int_string option has been added to define a string to
143 be displayed on stdout when ^C is entered during a smenu session.
144 * The usage text is now displayed in case of an error on the command
146 * The code to create include/exclude RE patterns has been simplified.
147 * smenu now mimics the Unix shell signal processing.
149 * The availability of str(n)dup is now checked at compile time.
150 * Tests for RE patterns/inv. character have bee added.
151 * The obsolete autogen.sh script has been removed.
152 * github's ctxopt commit f779fb8 is now used.
153 * The code is now a little more readable.
157 * The SIGINT handling has been fixed.
158 * The lvm_menu example is fixed.
159 * Some memory allocation issues have been corrected.
160 * The last example in the man page now works correctly.
161 * The manual has been cleaned and corrected.
162 * Missing headers has been added.
163 * The List management code has been corrected and improved.
164 * Invalid UTF-8 sequences entered using \u are now handled correctly.
165 * Unreachable code has been removed.
166 * As xwcscasecmp is missing in C99, a local version is now used.
167 * The search timeout now works correctly.
169 * Option management has been completely rewritten to use a new, more
170 flexible system called ctxopt (github.com/p-gen/ctxopt):
171 - Both short and long options can now be used.
172 - The validity of some option arguments can now be easily checked.
173 - A better and more precise help system can now be used.
175 * The horizontal and vertical scrolling symbols are now visually consistent.
176 * An updated version of autotools is now used.
177 * Wide mode is now allowed in column mode.
178 * Line delimiters can now be defined to break lines in tabulation mode.
179 * A set of UTF-8 characters can now be ignored as input.
180 * Substitution character for non-printable characters can now be changed.
181 * -N and -U options can now have multiple arguments.
182 * Fuzzy and substring searches now ignore leading and trailing blanks.
183 * Unicode codepoints can now be entered using the new \U notation.
184 * smenu has been optimized to support networks with high latency.
186 * A note in the README to thank the packagers has been added.
187 * The code has been adjusted to conform to C99.
188 * The code has been cleaned up in many places.
192 * An ending pattern search was not correctly highlighted
193 * An highlighting issue when hitting the HOME key during a search
194 in numbered mode has been fixed
195 * The PgUp/PgDn moves have been fixed and improved in the presence of
197 * The height of the windows when a message is present is now correctly
199 * The SIGINT signal handling is working properly now
200 * A vt100 terminal is assumed when the environment variable TERM
203 * The 'o' sub-option of the -D option has been enhanced
204 * The documentation has been improved and enhanced
205 * An example of a hierarchical menu interpreter has been added
206 * The message (title) appearance can now be changed with the -a option
207 * An empty line has been added after the message (title) for clarity
208 * The .spec file has been updated to support older SUSE/RH versions
209 * An issue opening /dev/tty is now clearly signaled
210 * The argument of the -n option is now optional and defaults to 0
212 * It is now possible to directly move the cursor to the start/end of
215 * The code has been split into several files
216 * The pull request #15 from sumbach/patch-1 has been merged
217 * The pull request #12 from jonnydubowsky/patch-1 has been merged
218 * More tests for the automatic regressions checking have been added
219 * UTF-8 string length processing has been optimized
220 * Help and usage messages are now printed on stdout
221 * A FAQ has been added
222 * Compiler warnings have been silenced
225 * Rework the search system (major change)
226 * Add a substring and a fuzzy (fzf inspired) search mode
227 * Enlighten the current search pattern in the matching words
228 * Remove the search mode timeout
229 * Introduce ENTER/ESC as a way to exit search mode
230 * Add the prefix/suffix affinity when searching
231 * Allow to tag/un-tag all the matching words
232 * add a -/ option to affect a search method to the / command
233 * Add 'T' and 'U' commands to tag/un-tag all the matching words
234 * Improve the direct access mechanism
235 * [-D] Add a 's' (start) sub-option
236 * [-D] Add a 'h' (head) sub-option
237 * Add a "full window" option value to -n
238 * Improve the test system and add tests
239 * Improve the documentation
240 * Update the README.rst file and mention the wiki on GitHub
241 * Fix an OpenBSD compatibility issue
242 * Fix and improve the color mechanism
243 * Fix the cursor display after an ESC hit
244 * Fix the tag attribute display
245 * Fix some compilation warnings
246 * Fix a missing message when the terminal is too small
247 * Fix a lot of other small and not-so-small bugs
250 * Add the first roll of an automated testing system
251 * Fix a FreeBSD compatibility issue
252 * Update the .spec file to create a '-test' RPM sub-package
253 * [-a] Add a missing setting for cursor_on_tag (ct)
254 * [-b] Fix a bug about non-printable characters
255 * [-V] Output the version tag on standard output
256 * [-D] Add a 'decorate' directive
257 * [-D] Handle multiple instances of the same directive
258 * Fix a logic error in the direct access code
259 * Fix an horizontal scrolling issue when going to the last word
260 * Clean up the allocated gutter array before leaving in case of error
261 * Understand some more terminfo sequences
262 * Fix the right margin and add a degraded method to display it
264 * Various other small bug fixes
266 Apr 08 18:32 UTC 2018 - p.gen.progs@gmail.com
269 * Fix the cursor restoration
270 * Fix a Solaris incompatibility
271 * Fix italic handling
272 * Fix the replacement of sub-expressions (-S,-I,-E)
273 * Fix a bug in the columns inclusion logic
274 * Fix the impossibility to use the letter 't' in search mode
275 * Fix possible display errors when the terminal is resized
276 * Make sure that the timers does not alter the redrawing of the window
277 * Add word numbering to allow direct access through their number (-N,-U,-F,-D)
279 * Allow the \u notation for UTF-8 characters in more places
280 * Improve the -T option and add the related -P option
281 * Add the -p for use with the -P and -T options
282 * The gutter option (-g) now accepts a parameter
283 * Adopt the NO_COLOR standard (http://no-color.org)
284 * Improve the navigation by understanding more keys and key combinations
285 * Understand CTRL+L to redraws the window in case of corruption
286 * Exit from search mode when a direction key is hit
287 * Adjust some values of timers
288 * Remove deprecated directives in -C and -L
289 * Various other small fixes and improvements
291 Jan 26 12:35 UTC 2018 - p.gen.progs@gmail.com
294 * Introduce the new \u notation for UTF-8 hex sequences
295 * Non-printable characters with an escape form are expanded
296 * Keep non selectable blank words to allow special effects
297 * Fix the wide option when in column or tabulation mode
298 * The last word is always the last of its line (-g)
299 * Improve message (-m) placement in centered mode
300 * Manage substitutions leading to empty strings
301 * Hopefully fix the placement of the scroll bar in all cases
302 * The gutter can now be displayed in column mode
303 * Various other small fixes
305 Jul 29 16:30:00 UTC 2017 - p.gen.progs@gmail.com
307 - Bump to version 0.9.10
308 * The words acquisition is rewritten and split in multiple phases
309 * Add the capacity to (de)select rows an columns containing regexes
310 * -i, -e, -C and -R can be used more than once and have a cumulative effect
311 * Bugfix: -s is able to jump to non selectable words
312 * Bugfix: The attributes are not overloaded when reading configuration files
313 * Bugfix: the right bar is too far right in some cases.
314 * Bugfix: the right shift indicator is omitted in some cases
315 * Add a -x|-X option to set a timeout in seconds
316 * Add a -f option to select an alternative configuration file
317 * Add a -a option to set the attributes of the displayed elements
318 * Add more controls in the selection parser
319 * smenu can now read words directly from a file given as parameter
320 * Rewrite the replace function used by -S/-I/-E with a more sed-like one
321 * Searches should always consider the visual aspect of words (-S/-I/-E)
323 Thu Dec 22 20:48:17 UTC 2016 - p.gen.progs@gmail.com
326 * New UTF8 validation routine
328 * Code cleanup and improvement
329 * Improved configuration process
330 * Add code to detect the host system at compile time
331 * Compilation is now possible on BSD system derivatives
332 * Bug fix: ignore EOF when a scancode contains an escape sequence.
333 * Fix the cursor appearance on tagged words
335 Sun Dec 11 20:00:20 UTC 2016 - p.gen.progs@gmail.com
338 * Change the cursor aspect when the selected word is tagged
339 * Add a small animated gif demo
340 * Fix a potential infinite loop
341 * Use custom fgetc/ungetc to be able to safely push back more than one byte
342 * Add libtinfo in the searched libraries an regenerate configure
343 * Manage conflicts between -C, -R, -c, -l, and -t
344 * Improve and fix the help line display
345 * Add a -T option to enable a tagging (multi-selections) mode
346 * Add the -? option to only display the synopsis
347 * Adjust the code so that it can be compiled with an ANSI compiler
348 * Put the searched line in the middle of the displayed window if possible
349 * Add a -k option to prevent trimming spaces
351 * When not in search mode, any key except '?' should quit the help mode
352 * Add a new example: yesno
353 * Fix an off-by-one error when using -c and -w together
354 * And many other minor changes and fixes
356 -------------------------------------------------------------------
357 Sun Mar 13 09:28:52 UTC 2016 - p.gen.progs@gmail.com
360 * Use the GNU autotools
361 * Fix a lot of small and not so small bugs
362 * Change the -s option semantic
363 * Improve help and man page
364 * Introduce some new options - see the man page for more
365 * Also rework some options - see the man page for more
366 * Add more configurable colors
367 * Add the notion of non-selectable words
368 * Add the notion of special words
369 * Add a (de)selection by rows and/or columns
370 * Interpret quotations in the input stream and ignore empty words
371 * Add an option to center the output window
372 * And many other minor changes
374 -------------------------------------------------------------------
375 Sun Aug 9 23:00:59 UTC 2015 - p.gen.progs@gmail.com
377 - Initial version - 0.9