-
-
-
-
v14.9.0-pre1740eebd0 · ·
v14.9.0 ("Crow"), 201?-??-?? This is a major feature release. Preview 1, 2016-09-16: IMAP gone, better don't ^C during macros. Misses major components of the final release. I didn't know where S-mailx will truly end up with, but only knew i wanted to overcome the technical shortcomings, have a better user experience (regarding the software) and that i wanted to have, e.g., NNTP support. During development of this release it became clear that the general usage will be changed, backward incompatibly, and move towards sh(1)ell style command line usage, that is to say, we will turn over and will start parsing regular shell tokens, instead of comma-separated lists, OR space-separated lists or whatever, and will expand _any_ value content sh(1)ell-compatibly, instead of not at all in general and only \t and \n in some others etc. wysh set a='${TMPDIR}\t/' b="${TMPDIR}\t/" c=$'\${TMPDIR}\t/' echo a=$a b=$b c=$c a=${TMPDIR}\t/ b=/tmp\t/ c=/tmp / .. set a='${TMPDIR}\t/' b="${TMPDIR}\t/" c=$'\${TMPDIR}\t/' echo a=$a b=$b c=$c a=${TMPDIR}\t/ b=${TMPDIR}\t/ c=$\${TMPDIR}\t/ (But don't do that). All this is documented in COMMANDS#?. Today only new commands (like `bind', `customhdr' etc.), but also attachment selection, `remove' and `write' use this, others, like `set', can optionally support it with a new command prefix: `wysh'. Credits, in order of commit appearance: Antonio Radici, Aharon Robbins, Mike Frysinger, Predrag Punosevac, Michael Convey, Hariskar, Rudolf Sykora, Martin Neitzel, Gavin Troy, Salvatore Bonaccorso, Todd C. Miller, Sergey Matveev, Robert Elz, Mantas Mikulėnas, Respiranto, Jens Schleusener, Walter Alejandro Iglesias, Ralph Corderoy, Thomas Dickey, Afan, Justin Ellingwood, Ingo Schwarze, Viktor Szépe, Gaetan Bisson, Juan RP, William Yodlowsky, Hilko Bengen, Matthew Dillon, Colin Watson and Donald Mugnai. We welcome Antonio Radici, Mike Frysinger, Predrag Punosevac, Michael Convey, Rudolf Sykora, Todd C. Miller, Robert Elz, Jens Schleusener, Walter Alejandro Iglesias, Thomas Dickey, Afan, Justin Ellingwood, Viktor Szépe, Juan RP, Matthew Dillon, Colin Watson and Donald Mugnai in THANKS. Apologies: Sergey Matveev. Members of the Roff community which await progress. In the following numbers in [] reference a commit hash or a topic branch name. mdocmx(7) anchors are denoted by a number-sign #: typing "^A ANCHOR" while reading the man(1)ual in a capable less(1) will scroll to the manual's Point-Of-Interest, and pointing a web- browser to the "#ANCHOR" of the online manual will do so, too. Commits can be browsed by appending the commit hash to https://git.sdaoden.eu/cgit/s-nail.git/commit/?id= NOTES, ChangeLog (packager-affine) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * This release brings backward incompatibilities, especially for packagers and interactive use cases! + Anything which was WANT_xy before is now OPT_xy, and compiled-in paths and values, like PREFIX or PAGER, have gained a VAL_ prefix (thus VAL_PREFIX and VAL_PAGER). This is _not_ true for non-persistent or environmental values, e.g., DESTDIR, CC, etc, and also not for the overwritable program variables during configuration, e.g., $awk. + SENDMAIL -> VAL_MTA, SENDMAIL_PROGNAME -> VAL_MTA_ARGV0, MAILSPOOL -> VAL_MAIL. + The make system now needs config..build..install or all..install or tangerine (config..build..test..install). + The `build' phase can be parallelized by setting the MAILJOBS environment variable, e.g., "make MAILJOBS='-j 4' build". (Gaetan Bisson) + Set the new OPT_CROSS_BUILD to avoid feature runtime tests, only compile- and link-availability will be tested. (Juan RP) + VERBOSE is implemented straight, but must be given at configuration time in order to become honoured. (William Yodlowsky) + ADDCFLAGS / ADDLDFLAGS -> EXTRA_CFLAGS / EXTRA_LDFLAGS + The LD_LIBRARY_PATH etc. building processes will skip any path which contains the string "fakeroot". (Hilko Bengen) + We honour a set SOURCE_DATE_EPOCH environment variable. [df4954c] (reproducible-builds.org; Colin Watson) + Packagers should have received diffs against v14.8.10 packaging files. + These are upward compatible changes. - To support RFC 1524 a.k.a. .mailcap files (see below) many "trigger"-characters have been added for *pipe-TYPE/SUBTYPE*#?, which may (rarely) affect existing values. [topic/mimepipe.2] - *NAIL_{HEAD,TAIL}* have been obsoleted in favour of *message-inject-head*#? and *message-inject-tail*#?. [7064ef2] - *NAIL_HIST{FILE,SIZE}* have been obsoleted in favour of *history-file*#? and *history-size*#?. [4fde608] - -H#? and -L#? have been decoupled: it used to be -e#? -L#? instead! [5296040] - Colour support has been changed backward in- and upward (from user interface side) compatibly, manual section "Coloured display"#? [topic/colour.2, topic/termcap.2, topic/wysh]: o New commands: `colour'#? and `uncolour'#?. You can define context-sensitive, terminal-capability-sensitive settings, e.g.: if terminal && $features @= +colour colour iso view-header ft=bold,fg=magenta,bg=cyan colour 256 view-header ft=bold,fg=208,bg=230 subject,from colour mono view-header ft=bold colour mono view-header ft=bold,ft=reverse subject,from endif o The variable *colour-pager*#? defines whether colour and font attribute sequences should be generated when viewing something in $PAGER. o Set the variable *colour-disable*#? to turn colour off without affecting established settings. o It is deduced via termcap(5) (see below) whether the terminal supports colors, e.g., "s-nail -Stermcap=Co#256". o Support for 256-colour terminals. (Gavin Troy) - `source'#? series support shell pipes if the last character of the "filename" ends with a vertical bar |, e.g. [c1c1ee5] source 'gpg -qd ~/.s-nailrc-private.gpg |' - Shell pipes are also supported as targets for `move'#?, `copy'#? etc., e.g., [0d0c523] copy . '| cat; echo huhu' - Support for custom headers via the new `customhdr'#? and `uncustomhdr'#? commands. Because we don't have "scope-local" environments yet there temporarily is also *customhdr*#?, which can be covered by `localopts'#?. [topic/customhdr] (Sergey Matveev) o Support of *ORGANIZATION* has been dropped. o In compose mode `~e'#? supports _any_ header. - New -:#? command line option can be used to more easily select which startup files should be loaded. [5d52578] (Robert Elz) - `account's#? and *folder-hook*s#? now have `localopts'#? enabled by default. [3fd94e3] o Note: it is likely that in the future "scope-local" environments will be implemented, then also covering things like shortcuts etc., and some thing like a "global" prefix to extend a setting to the global namespace. (Think TeX.) - A first simple form of compose-mode hooks has been implemented: *on-compose-enter*#? and *on-compose-leave*#? can be set to macros which get invoked at appropriate times, with `localopts' enabled (which extend until the message is sent). [d6902e1,3fd1db4] (Jens Schleusener, Rudolf Sykora) - "The .netrc file"#? o gained support for comments. [abf2e5d] (Walter Alejandro Iglesias, Ralph Corderoy) o `netrc'#? now has a "load" subcommand. [30d0bb7] o the new *netrc-pipe* obsoletes OPT_AGENT and *agent-shell-lookup* and can be used to load an encrypted .netrc file, e.g.: wysh set netrc-lookup netrc-pipe='gpg -qd ~/.netrc.gpg' E.g., this is in usual .netrc syntax and thus possibly much nicer than saying "source 'gpg -qd ~/.credentials.gpg |'". - termcap(5) / terminfo(5) support has been changed backward in- and upward (from user interface side) compatibly, please read "On terminal control and line editor"#? [topic/termcap.2] o OPT_TERMCAP is by default enabled. The new, by default enabled, configuration option OPT_TERMCAP_VIA_TERMINFO can be used to (try to) use terminfo(5) instead. o The variable *termcap*#? can be used to freely define or override terminal capabilities, *termcap-disable*#? will disable interaction with the chosen library, leaving only *termcap* in charge. o The builtin command line editor has been rather completely rewritten to be the Mailx-Line-Editor (OPT_MLE, default yes), and supports wide glyphs (if possible), infinite line lengths (2 GB) and more. Tabulator expansion is no longer an option (but needs fnmatch(3)). o Optionally (OPT_KEY_BINDINGS, default yes) it has become possible to freely define key bindings for the MLE via the new `bind'#? and `unbind'#? commands. These key bindings can make use of termcap(5) and/or terminfo(5) names. The MLE will install a set of default bindings, more with OPT_TERMCAP: "bind*". o OPT_EDITLINE and OPT_READLINE support have been dropped. The new MLE should not miss anything. Does it? Tip: in an UTF-8 locale try "touch /tmp/hall{,öchen}" and then autocomplete that: once, then ^Q, and again. - `source'#? can be used in `call'ed#? macros. What sounds so innocent replaced an entire machinery and got rid of a brilliant idea of Kurt Shoens from the 70s, but which never worked with Nail/Heirloom extensions, namely macros, and in right order. Accompanying this -X#? can be used to define macros and run them etc. We're still not there, S-nail v15 -- then S-mailx! -- will change the entire codebase to use SystemV signal handling, instead of going the BSD way that is, like used here, both, very expensive due to the immense amount of signal managing systemcalls and insecure due to almost uncontrollable longjmp()s. This should work: s-nail -X'define x {' -Xversion -Xx -X'}' -X'call x' - Internal and environment variables are now explicitly _defined_ and _tracked_ after variable handling has been rewritten completely. [topic/okeys-attr.2] o Notes: + This means that, e.g., "password=NOT_SECRET s-nail" will **NOT** work no more, since *password*#? is an internal variable! + But if you do, e.g., "set TMPDIR=~/tmp", then this will also be reflected in the program environment (it is an environment variable) and thus affect child processes. + Therefore we no longer have `setenv' and `unsetenv'. + To integrate other (unkown) environment variables transparently into our variable management, the new command `environ'#? needs to be used, e.g., "environ set NEWVAR=valye" or "environ link EXISTINGVAR". o -u#? / *LOGNAME*#? (*USER*) handling has been redefined, and "-u USER" is now exactly the same as "-f %USER", and *LOGNAME* (and *USER*) is actively set to the active user. [d8f7cd7] (Afan) (*LOGNAME*#? is POSIX standardized and henceforth used and preferred over *USER*, which came from BSD. [e96baaa] (Todd C. Miller)) o *MAIL*#?, as the user's primary system mailbox, nows supports the usual file name expansions. [e337e00] - In the future (at least non-message-list) argument handling will be changed backward-incompatibly to be sh(1)ell compatible (and thus POSIX standardized). New commands use it already today (`bind'#?, `colour'#?, `customhdr'#?), some others (most importantly, `set'#?) can be forced via the new `wysh' command prefix, as in: [topic/wysh] wysh set message-inject-tail=$'\n--steffen' bind base $'\cA,\x61' 'echo control-A and small a' - We now actively manage *umask*: 0077 by default, but an empty string will use the setting that is active upon startup. Like any change to (known) environment variables this setting will also be inherited by any child process. [1bd8e48] (Walter Alejandro Iglesias) - Anything SENDMAIL / *sendmail*-ish has been renamed to *mta*, e.g., *mta*, *mta-arguments*, *mta-no-default-argument*, *mta-argv0*. The reason is that in v15 we won't even have *smtp*: it is just another form of MTA, and thus obsolete by itself. For now we support a hack that understands a file:// URL in *mta*, too, but that is the default if there is no protocol. E.g.: "set mta=smtp://a:b@xy.z" - The "spamd" spam interface is obsolete. I haven't tested it since my main machine died, it is error prone since it assumes internals of the spamassassin interface, and there never was a speed improvement against "spamc". (However it could react upon the current "is-spam" state of a message, which "spamc" doesn't allow.) [284db64] - Some commands, like `set'#?, `list'#?, `mlist'#? etc., now react upon the setting of *verbose*#? and *debug*#?. ChangeLog ^^^^^^^^^ - The manual has seen another major overhaul, all the variables are now documented in a single, sorted list, and many clarifications should have been added. [topic/manual.10] (Predrag Punosevac, Michael Convey, Hariskar, Rudolf Sykora, Respiranto, Thomas Dickey, Donald Mugnai) - *mime-counter-evidence* gained bit 4 (perform proper in-depth content inspection as necessary; set to 0xE for all bits). [topic/mimetype.2] (Aharon Robbins) - Maildir paths are now created recursively as necessary. [3c57c83] (Justin Ellingwood) - -M#? and -m#? options have been added to enforce a special send mode that will flag standard input / the given file with the specified / detected MIME 'Content-Type:'. This can be used to directly send, e.g., HTML log output. Note that before v15 this is a bit restricted: you are not free to do anything. [f1a775b] (Viktro Szépe, Ralph Corderoy) - Disallow symlinks on writable files (O_NOFOLLOW open(2)). [10990e4] (Matthew Dillon) - `retain'#?, `ignore'#? etc. now differentiate in between From (the From: header) and From_ (the MBOX ident). [c83e153] - `top'#? has been rewritten completely, `Top'#? is new. [1dc9bb6] - `features' has been dropped, `version'#? extended. [b9e4e61]
-
-
-
-
v14.8.10.arad1b2e2a · ·
v14.8.10 ("Anachalcos"), 2016-08-20 ----------------------------------- A cumulated bugfix release. And because v14.9 still takes time. Credits to trondd. Apologies to Sergey and those members of the Roff community which would like to see progress! S-nail will become S-mailx after v14.9, and all project resources will move to www.sdaoden.eu with v14.9; only the ML remains hosted at Sourceforge.net as of this writing. We thank Sourceforge.net for hosting this project so many years! git(1) shortlog ^^^^^^^^^^^^^^^ Yes, "quick and dirty" only for Anachalcos. 7f7bae1 Fix `z' (Tim) Fixes page-wise movement if the argument is greater than 9. 43ad441 THANKS: update mail address of Tim (trondd) 8b85b96 Fix compiler warning of [7f7bae1] (Fix `z' (Tim)) 6afff81 FIX possible intwrap caused delays (for mailboxes with size == 1) 530e81f FIX n_utf8_to_utf32() sequence length checks (since [558d8b8], 2015-03!) 78083c0 HTML filter: filter out some characters 407a705 Actively filter out U+00AD characters (Vincent Lefevre).. e5591f2 THANKS: Vincent Lefevre 5c458cc FIX MBOX append (since ever (nail 11.16, 2004-11-18])!).. This only fixes invalid non-empty MBOX mailboxes, so "FIX" is possibly a bit overstated. 75982b9 bidi_info_needed(): no variation selectors etc. -- CText, where are you! e65db06 FIX n_verr(): cannot reuse va_list.. Only for error messages > ~2 KB, which we usually don't produce. 23e8697 Fix *quote-fold* (on GNU/Linux iswspace() does not return boolean!) 98cf903 FIX: really_rewind() for pre POSIX Issue 7 Hardly affects anyone, i had to look into old v5 FreeBSD: maybe. 41250b1 FIX: no O_APPEND for .bz2/.xz/*file-hook-load*! Use lseek(2)!!.. This is the reason for this release, and applies to all C libraries which optimize fseek(3) and do not adjust the file descriptor via lseek(2) if the resulting offset is in the I/O buffer. It seems to enable me to say set file-hook-load-xz_pgp='gpg -d | xz -dc' \ file-hook-save-xz_pgp='xz -zc | gpg -e' on a GNU/Linux system without ending up with corrupted boxes, i.e., a complaining gpg(1) that says that says so. 224d858 popen.c:_file_save(): adjust partial [41250b1] cherry-pick 87c902a sendmp(): fix possible false insertion of colour reset seq.
-
v14.8.107206f107 · ·
v14.8.10 ("Anachalcos"), 2016-08-20 ----------------------------------- A cumulated bugfix release. And because v14.9 still takes time. Credits to trondd. Apologies to Sergey and those members of the Roff community which would like to see progress! S-nail will become S-mailx after v14.9, and all project resources will move to www.sdaoden.eu with v14.9; only the ML remains hosted at Sourceforge.net as of this writing. We thank Sourceforge.net for hosting this project so many years! git(1) shortlog ^^^^^^^^^^^^^^^ Yes, "quick and dirty" only for Anachalcos. 7f7bae1 Fix `z' (Tim) Fixes page-wise movement if the argument is greater than 9. 43ad441 THANKS: update mail address of Tim (trondd) 8b85b96 Fix compiler warning of [7f7bae1] (Fix `z' (Tim)) 6afff81 FIX possible intwrap caused delays (for mailboxes with size == 1) 530e81f FIX n_utf8_to_utf32() sequence length checks (since [558d8b8], 2015-03!) 78083c0 HTML filter: filter out some characters 407a705 Actively filter out U+00AD characters (Vincent Lefevre).. e5591f2 THANKS: Vincent Lefevre 5c458cc FIX MBOX append (since ever (nail 11.16, 2004-11-18])!).. This only fixes invalid non-empty MBOX mailboxes, so "FIX" is possibly a bit overstated. 75982b9 bidi_info_needed(): no variation selectors etc. -- CText, where are you! e65db06 FIX n_verr(): cannot reuse va_list.. Only for error messages > ~2 KB, which we usually don't produce. 23e8697 Fix *quote-fold* (on GNU/Linux iswspace() does not return boolean!) 98cf903 FIX: really_rewind() for pre POSIX Issue 7 Hardly affects anyone, i had to look into old v5 FreeBSD: maybe. 41250b1 FIX: no O_APPEND for .bz2/.xz/*file-hook-load*! Use lseek(2)!!.. This is the reason for this release, and applies to all C libraries which optimize fseek(3) and do not adjust the file descriptor via lseek(2) if the resulting offset is in the I/O buffer. It seems to enable me to say set file-hook-load-xz_pgp='gpg -d | xz -dc' \ file-hook-save-xz_pgp='xz -zc | gpg -e' on a GNU/Linux system without ending up with corrupted boxes, i.e., a complaining gpg(1) that says that says so. 224d858 popen.c:_file_save(): adjust partial [41250b1] cherry-pick 87c902a sendmp(): fix possible false insertion of colour reset seq.
-
-
v14.8.9.ar1856481b · ·
v14.8.9 ("Dung Beetle"), 2016-06-21 ----------------------------------- A cumulated bugfix release. Credits Ralph Corderoy. Apologies, Dirk-Wilhelm Peters. S-nail will become S-mailx after v14.9, and all project resources will move to www.sdaoden.eu with v14.9; only the ML remains hosted at Sourceforge.net as of this writing. We thank Sourceforge.net for hosting this project so many years! ChangeLog ^^^^^^^^^ - *signature* and tail injections now work correctly even in combination with -t. [d4237ac] (Dirk-Wilhelm Peters) - Fix faulty (by-one) buffer overflow calculation in the NCL line editor that could sometimes be seen when using ^W for backward deleting a word when using this at a freshly created rightmost columns. Bug was introduced in [d33bd89] (tty.c, NCL: reduce realloc counts, 2013-08-23). (Ralph Corderoy) git(1) shortlog ^^^^^^^^^^^^^^^ b0b974e mk-conf.sh: disable -b for tcc(1) [mob] a415c58 makefile:_update-release: symlinks do not work with lighttpd, use hard ones 2fefb1f collect(): fit ~? output in 25 lines (fixes [5dea8a4,4e61d5c] ;) 7c7c888 mime.types: oops, fix x-xz tbz->txz extension! c40c206 collect(): hint for `~.' if *ignoreeof* is set, not ".": needs *dot* d4237ac Fix *signature* / tail injection in conjunction with -t.. ef6a9c2 mk-conf.sh: pcc(1) as of CVS works without stack protectors! d5cec10 FIX HTML filter: swallow lone ampersands in parameters (SIGH!).. 08eb902 FIX: avoid duplicate output for HTML filter.. 524adf4 makeprint(): filter some iswprint()==true, but which really aren't.. 552b2b8 `set': fix quoting when printing all variables aa8df72 mk-conf.sh: fix DEVEL<->DEBUG interdependency; terminate printf(1) args f84b0cd mk-conf.sh: check for the needed environ(3) b5af710 mk-conf.sh: fix [f84b0cd]: NULL needs stdio.h fdcbf59 Again "improve" ~? listing ba29651 FIX: cntrlchar() was broken since [4e49924] from 2012-10-15!! 08ab13f tty.c, NCL fix possible off-by-one (Ralph Corderoy) 815e99f makefile:_update-release: rm TODO in [timeline] _shipout release_ ball
-
v14.8.9449b82ab · ·
v14.8.9 ("Dung Beetle"), 2016-06-21 ----------------------------------- A cumulated bugfix release. Credits Ralph Corderoy. Apologies, Dirk-Wilhelm Peters. S-nail will become S-mailx after v14.9, and all project resources will move to www.sdaoden.eu with v14.9; only the ML remains hosted at Sourceforge.net as of this writing. We thank Sourceforge.net for hosting this project so many years! ChangeLog ^^^^^^^^^ - *signature* and tail injections now work correctly even in combination with -t. [d4237ac] (Dirk-Wilhelm Peters) - Fix faulty (by-one) buffer overflow calculation in the NCL line editor that could sometimes be seen when using ^W for backward deleting a word when using this at a freshly created rightmost columns. Bug was introduced in [d33bd89] (tty.c, NCL: reduce realloc counts, 2013-08-23). (Ralph Corderoy) git(1) shortlog ^^^^^^^^^^^^^^^ b0b974e mk-conf.sh: disable -b for tcc(1) [mob] a415c58 makefile:_update-release: symlinks do not work with lighttpd, use hard ones 2fefb1f collect(): fit ~? output in 25 lines (fixes [5dea8a4,4e61d5c] ;) 7c7c888 mime.types: oops, fix x-xz tbz->txz extension! c40c206 collect(): hint for `~.' if *ignoreeof* is set, not ".": needs *dot* d4237ac Fix *signature* / tail injection in conjunction with -t.. ef6a9c2 mk-conf.sh: pcc(1) as of CVS works without stack protectors! d5cec10 FIX HTML filter: swallow lone ampersands in parameters (SIGH!).. 08eb902 FIX: avoid duplicate output for HTML filter.. 524adf4 makeprint(): filter some iswprint()==true, but which really aren't.. 552b2b8 `set': fix quoting when printing all variables aa8df72 mk-conf.sh: fix DEVEL<->DEBUG interdependency; terminate printf(1) args f84b0cd mk-conf.sh: check for the needed environ(3) b5af710 mk-conf.sh: fix [f84b0cd]: NULL needs stdio.h fdcbf59 Again "improve" ~? listing ba29651 FIX: cntrlchar() was broken since [4e49924] from 2012-10-15!! 08ab13f tty.c, NCL fix possible off-by-one (Ralph Corderoy) 815e99f makefile:_update-release: rm TODO in [timeline] _shipout release_ ball