CHANGES 8.05 KB
Newer Older
1 2
Change log for hexer, the multi-view binary editor

3
1.0.5	2018/09/22
4
	- correct some typographical and grammatical errors
5
	- exit with status 0 if -h/--help is specified
6 7
	- output the usage message to the standard error stream if
	  an invalid command-line option is specified
8
	- add the -V/--version command-line option
9 10 11 12
	- add the -F/--features command-line option
	- move the terminal initialization a bit later in the processing
	  of the command-line options to avoid spurious output when
	  usage, version, or features information is requested
13 14 15 16
	- drop the commented-out code for testing and implementing
	  functions expected in a POSIX environment as warned in
	  version 1.0.0, namely strcmp(), strcasecmp(), memmove(),
	  strerror(), and the float.h header file
17

18
1.0.4	2018/03/24
19 20 21
	- allow hexer to be cross-built: if CC_FOR_BUILD is defined in
	  the build environment, use it as the command to build bin2c as
	  submitted by Helmut Grohne <helmut@subdivi.de>.
22 23
	- fix undefined behavior by shifting an unsigned, not a signed,
	  value the maximum number of bits to the left.
24

25 26 27
1.0.3	2016/10/16
	- correct a couple of grammatical nits in the README file.

28
1.0.2	2016/10/13
Peter Pentchev's avatar
Peter Pentchev committed
29 30
	- correct some more typographical errors reported by
	  Jakub Wilk <jwilk@debian.org>
31

32
1.0.1	2016/10/12
33 34
	- update the date in the manual page for the typographical
	  errors fixed in 1.0.0.
35
	- add the year 2016 to the copyright notices of the changed files
36

37
1.0.0	2016/10/12
38 39 40
	- most of the following portability fixes were prompted by
	  build failure reports on FreeBSD by
	  Anastasios Mageirias <anastasios@mageirias.com>
41
	- drop support for ancient compilers that do not support
42
	  the "const" keyword or do not provide the alloca() function
43 44
	- fix the build on systems that do not need or have alloca.h and
	  rename the NEED_ALLOCA_H configuration setting to HAVE_ALLOCA_H
45
	- fix an overzealous double const
46 47
	- add a Makefile rule for the compilation of C files for
	  make(1) implementations that do not pass CPPFLAGS.
48
	- clarify a README comment about the unpacked subdirectory
49
	- drop the HAVE_NCURSES configuration setting, the support for
Peter Pentchev's avatar
Peter Pentchev committed
50
	  changing the foreground and background color is autodetected
51
	- drop the bundled termlib implementation, require termcap support
52 53
	- drop the stubs for old-style termio support, the hexer code only
	  works with termios anyway
Peter Pentchev's avatar
Peter Pentchev committed
54
	- drop the config.* files and autogenerate config.h
55
	- fix the build of the myc command-line calculator
56 57 58
	- assume a POSIX environment and declare some of the configuration
	  settings as deprecated; no tests are done for them, and
	  the deactivated tests will be removed in a future Hexer release
59
	- correct some typographical and hyphenation errors
60

61
0.2.3	2015/12/10
62
	- build with large file support on Linux
63
	- clear the line after the cursor position on exit and suspend
Peter Pentchev's avatar
Peter Pentchev committed
64 65
	- fix some more typographical errors
	  (reported by Jakub Wilk <jwilk@debian.org>)
66

67
0.2.2	2015/12/10
68 69
	- reset the terminal color attributes on exit
	  (reported by Jakub Wilk <jwilk@debian.org>)
70 71
	- also reset the attributes on suspend (Ctrl-Z) and restore
	  them on resume
72

73
0.2.1	2015/12/10
Peter Pentchev's avatar
Peter Pentchev committed
74
	- fix some more typographical errors
75 76
	- abort on memory allocation failures (malloc(), realloc(),
	  strdup())
77

78
0.2.0	2015/12/09
79
	- fix a lot of C compiler warnings
80
	- provide a better vasprintf() simulation to fix a display bug
81 82
	- use sigemptyset() instead of a direct assignment to sigset_t
	  (reported by Daniel Schepler <dschepler@gmail.com>)
83
	- remove some unused functions
84
	- simplify exh_save_buffer(): it's only used on the whole file
85
	- declare some functions as printf-like
86
	- handle short reads/writes and read/write errors
87
	- bump the year on my copyright notice
88
	- fix a signed/unsigned char bug when reading the swapfile
89 90
	- merge early when marking screen lines for refreshing
	  (reported by Jonathan Neuschäfer <j.neuschaefer@gmx.net>)
91 92 93 94 95
	- let the editor use the HE_DEFAULT_PAGER value from defs.h as
	  a last-resort fallback (nothing in the environment, etc)
	  (reported by Jakub Wilk <jwilk@debian.org>)
	- allow the default pager value to be overridden at build time
	  (reported by Jakub Wilk <jwilk@debian.org>)
96

Peter Pentchev's avatar
Peter Pentchev committed
97
0.1.8	2014/09/11
98 99 100 101
	- fix a crash when inserting or replacing a half-byte
	  Thanks, Thibaut Girka <thib@sitedethib.com>
	- use CPPFLAGS and LDFLAGS as appropriate during the build
	- create the destination directories during the installation
102
	- bump the year of my copyright notice on files changed in 2014
103

Peter Pentchev's avatar
Peter Pentchev committed
104
0.1.7	2011/07/13
105 106 107
	- fix searching for characters with a code point above 127
	  Reported by: Michael Gold <mgold@ncf.ca> in Debian bug #633508
	- bump the year of my copyright notice on files changed in 2011
108

Peter Pentchev's avatar
Peter Pentchev committed
109
0.1.6	2010/12/29
110 111 112 113 114 115 116
	- fix some errors and warnings detected by cppcheck:
	  - bin2c.c, buffer.c, commands.c, hexer.c - file descriptor leaks
	  - calc.c - a buffer overflow with an overlong command line
	  - main.c - suppress a false positive about a global pointer
	  - regex.c - note that I've been aware of the negative array index
	    problem ever since I first looked at the hexer source code and
	    tried to build it with a raised compiler warning level :)
117
	- add a TODO list inspired by the cppcheck results
118
	- bump the year of my copyright notice on files changed in 2010
119
	- fix a "calcualtor" typo in comments in calc.c and exh.c
120

121
0.1.5	2009/09/04
122
	- taken over by Peter Pentchev <roam@ringlet.net>
123 124
	- remove the "bdir" and "ef" settings from the Vim modelines to
	  make them actually acceptable to today's Vim
125
	- remove most of the settings from the Vim modelines
126
	- add a config.posix file to reflect a modern POSIX-like system
127
	- bring config.linux up to date
128 129
	- add a HAVE_STRERROR definition to the config files and roll out
	  our own strerror() function if needed
130 131
	- clean up the header files:
	  - remove "extern" before the function prototypes
132 133 134 135
	  - declare all the hexer functions and variables used by
	    other modules
	  - add several header files so that all hexer functions and
	    variables are declared
136 137
	  - use ANSI prototypes for all functions
	  - let the prototypes for some functions catch up with reality
138 139 140
	- clean up the source files:
	  - remove the "extern" definitions for the standard C library
	    functions - just include the header files instead
141 142
	  - replace the "extern" definitions for hexer functions and
	    variables with the appropriate includes
143
	  - fix various C compiler warnings
144
	  - fix some function definitions and calls to match the prototypes
145 146 147
	  - convert all functions to ANSI C prototypes
	  - remove a couple of redundant declarations of functions and vars
	  - rename several variables to avoid collisions
148
	  - check the result status of various I/O functions
149 150 151
	- clean up the Makefile:
	  - allow the user to override most of the variables
	  - no need to ignore the result of "rm -f" :)
152
	  - use CFLAGS when building bin2c
153
	  - do not try to follow dependencies for termlib.c
154
	  - simplify the "install" target and honor DESTDIR if set
155
	- rename the KEY_* constants to HXKEY_* to avoid conflicts with
156
	  the curses header files
157 158
	- add an "hx_" prefix to the "lines", "columns", and
	  "insert_character" variables for the same reason
159
	- garbage-collect some unused functions
160 161 162
	- fix the manual page syntax:
	  - fix the comment markers
	  - mark the hyphens as such where needed
163
	- remove some hyphenation in the help text
Peter Pentchev's avatar
Peter Pentchev committed
164
	- switch the Makefile to use curses by default
165
	- link with the math library for pow(3) used in the calculator
166 167 168 169
	- rename the TERMCAP and TERMLIB Makefile variables to LTERMCAP
	  and LTERMLIB; the TERMCAP environment variable is actually
	  defined in some environments, and it is definitely not
	  a linker library specification!
170 171 172 173 174 175
	- fix a case of undefined behavior in tio.c: the v*printf()
	  routines may NOT be called a second time with the same
	  varargs list!  Add a HAVE_VASPRINTF definition and enable it
	  on Linux systems; it is also available on modern BSD's, but
	  the config.bsd file needs a lot of updating anyway.
	  Reported by: Michael Gold <mgold@ncf.ca> in Debian bug #540571
176 177
	- add a HAVE_MEMMOVE definition to the config files; buffer.c and
	  regex.c already test for it
178 179 180

0.1.4c
	- the last version released by Sascha Demetrio <demetrio@cs.uni-sb.de>