Commit Graph

399 Commits

Author SHA1 Message Date
tg 174b4c5a1d the 'delete' key does *not* act as Ctrl-D (EOT, cf. ascii(7)) 2006-08-02 14:02:55 +00:00
tg 58e5606710 bind xterm-xfree86 and wscons (NetBSD®) wsvt25/vt220 too 2006-08-02 14:00:19 +00:00
tg 52357a30be this is mksh R28 (beta)
I think of implementing multiline editing (bash-style) for R28 final,
but other than that, the new features already suffice for a new major
2006-08-02 13:34:03 +00:00
tg c96e31a707 implement a hack whereas you can now bind functions (and macros)
to keys with a trailing tilde (after prefix + control char); the
function is then invoked after prefices, control char and one more
character X are entered; if X is not a tilde, it is ungetc(3)d
2006-08-02 13:32:18 +00:00
tg bef8651936 * Build.sh: fix manpage generation defaults under Cygwin
* mksh.1: rework prompt ($PS1) section, simplify example,
  point to packaged dot.mkshrc example
* mksh.1: fix description of 'redraw' regarding redrawal
  of prompts longer than one screen line
* all: bump version/date
2006-08-02 11:50:30 +00:00
tg df54522223 * Build.sh: fix accidental CR-LF catastrophe
(yeah, that's what you get from developing with a
  16-bit MS-DOS(R) executable of your favourite text editor)
* lex.c, mksh.1: do not print the delimiting character for
  not-to-be-counted character sequences (i.e. ANSI escapes)
  in prompts any more, mostly because ASCII 01h is printable
  on both Interix and Cygwin and I'm lazy
  (this also fixes prompt width counting if a printable character
  such as 'x' is used as delimiting character)
* lex.c: through printing the prompt character by character,
  also print the delimited sequences if skipping, fixes some
  prompt redrawal not honouring colours stuff while not totally
  redrawing the entire prompt
2006-08-02 10:41:03 +00:00
tg c504a42ac1 (partial) sync with openbsd (and fix after them),
gives us a better wrapping prompt and a manpage wording cleanup
2006-08-01 14:09:20 +00:00
tg db107a9b05 bring back the 'version' editing command at "ESC ^V" like AT&T ksh93+r 2006-08-01 12:44:17 +00:00
tg 3a9ac3916a * add new book reference from #ksh (freenode) topic
* add another ksh book, referenced from amazon
* fix reference mdoc code
* add page count for the books
* fix old 10-digit ISBNs
* add new 13-digit ISBNs
* add myself as current maintainer/developer
* add miros-discuss eMail address for bug reports
* note that no book documents mksh
2006-07-27 14:45:30 +00:00
tg 80c579a758 dates 2006-07-23 14:35:44 +00:00
tg afcbdad1c5 simplify, rid use of .Mx macro (portability) and direct users to miros-disgust@ 2006-07-23 14:35:10 +00:00
tg 2ffaa5ac46 while mksh isn't designed to run as sh(1) it _can_ do it,
and in fact, Han Boetes even uses it as /bin/sh on CRUX GNU/Linux
2006-07-21 21:47:43 +00:00
tg d854fb1a8d fix date/version 2006-07-03 12:19:43 +00:00
tg 569cf64ff1 * process ~/.mksrc only if FTALKING (i.e. interactive shell)
From: hondza <miscreant@tiscali.cz>
* document that in the manual page myself
* add regression test for that myself
2006-06-21 19:27:35 +00:00
tg 8297ca20c8 * this is almost mksh R27, bump
* add the O'Reilly books as references
2006-05-10 19:30:33 +00:00
tg 7672b9b346 apply some fixes from OpenBSD and don't apply some others
but sync RCS IDs for easier future adaption:
* Simplify savefd() by removing the "noclose" flag and make noclose
  behavior the default. Almost all uses of savefd() are followed
  by an implicit or explicit close.
* fix typos
* might as well make ksh_getopt() match real getopt(), ie. get rid of that
  stupid EOF concept that was never true. adobriyan@gmail
* use SEEK_* for lseek()
* fix lint comments, no functional changes
* remove excessive optimization; from adobriyan@gmail
* only santa checks things twice; from adobriyan@gmail
* Interpret zero-filled numbers as decimal; PR 4213; from Alexey Dobriyan
2006-05-10 18:54:13 +00:00
tg e28549e4ff illustrate creative use of $PS1
requested by Jari Aalto
2006-05-08 12:12:36 +00:00
tg b0eb8f5b5e * check.t: add two mkshrc-tests (turn on, turn off)
* check.pl, check.t: add mkshrc-test whether "real" $HOME/.mkshrc interfers
* mksh.1: sync with reality: $ENV unset isn't needed, $ENV='' is enough
  to turn on ~/.mkshrc processing
2006-05-08 11:59:41 +00:00
tg c4ef5b801a New feature: read ~/.mkshrc during startup, after the profiles
have been read, for non-priviledgued shells only. If $ENV is
set, ~/.mkshrc is ignored (even if the file pointed to by $ENV
does not exist in the first place).
Feature requested by Jari Aalto for portable mksh because some
operating systems' vendors do not allow touching the profile.

Initial diff and manual page addition by Jari Aalto <jari.aalto@cante.net>
Code changes and manual page correctness by me.
2006-05-08 11:42:36 +00:00
tg 9e838e765c * convert most of the interna of edit.c to unsigned where it's
important for the signedness of the target, to enable using
  high-bit7 characters on the command line (eg. in UTF-8 locales)
* make emacs-usemeta and vi-show8 equivalent and document that
  in the manual page (i.e. beware if you're in a latin1 locale)
* do not reference SUSv3 (helps GNU groff), write \&" out instead
2006-02-16 11:48:32 +00:00
tg 3f2912d717 * update to mksh R26c
* there is no comma in front of "which" in English, I was taught
2006-01-30 12:37:24 +00:00
tg 94ee3b388a sync with OpenBSD: remove unused code and vars; name clash with libc
compiles under MirBSD
2006-01-29 20:04:54 +00:00
tg 7ca34b3b12 mirbsd 2006-01-27 10:59:30 +00:00
tg 18265d10f5 * add a few handy tricks (IFS, -r, -p and co-processes) to the description
of the 'read' builtin (it's not exactly where they belong, but hey, this
  man page is already better than the O'Reilly book)
* replace all | with \*(Ba
2006-01-27 10:58:36 +00:00
tg f38d8299f9 Change interpretation of '\"' in here documents with substitution
according to SUSv3 and other modern shells (POSIX allows both).
Idea for the patch (add another lex state) from OpenBSD, but the
implementation differs slightly (and is better in quality).

Also add two testcases (/bin/sh passes both, old mksh only one),
and document the change in the manual page. Sync RCS IDs with OBSD.
2005-11-22 18:36:20 +00:00
tg 1d6032acda merge OpenBSD (sort order) fix but don't document any kshrc,
we got rid of them some time ago
2005-11-22 18:09:18 +00:00
tg 2f9687c58a follow OpenBSD and add mknod as mksh builtin (mknod <file> p acts as mkfifo)
but write a good chunk of that code myself (better structured, better error
handling, more gotos, less function calls, int -> bool)

passes all tests on mirbsd; this will become mksh R25 once tested on other
supported OSes
2005-10-21 12:41:56 +00:00
tg c9dbe98906 we have a posix option? No sir. 2005-10-08 19:34:39 +00:00
tg 7ee8296628 our test(1) promises we can do string1 < string2, and
our /bin/test uses mksh... so we pee (literally) on
POSIX and don't accept < and > only for [[ ... ]] operator
2005-10-08 19:31:00 +00:00
tg 4bd3041986 $LINES is implemented
From Matthias Kilian via obsd
2005-10-07 18:36:19 +00:00
tg cf22cdbec5 revert -r1.18 here too 2005-09-11 14:47:27 +00:00
tg 6c5d08ea6f * add printf(1) as mksh(1) builtin on MirOS
(or, more general, all systems using Makefile
  instead of Build.sh)
* document this fact
2005-08-26 22:03:56 +00:00
tg c34c9d7542 * strip .Mx macro copy down to what's needed
* comment about \" vs " in here documents
2005-08-26 21:54:05 +00:00
tg 309b8d635f * make 64-bit clean on GNU/Linux by default
* clean up and remove some .Xr from the man page
* bump version
2005-08-21 13:02:17 +00:00
tg 0651ba008e ^V now is quote, not version, even in emacs mode. (From OpenBSD.)
Also, the "version" command got removed in its entirety.
Shaves off another global variable, even.
2005-08-02 12:35:27 +00:00
tg fb64668227 remove Korn's bizarre /dev/fd hack
(only affects Interix!)

Tests on /dev/fd are now officially unsupported in mksh too.
2005-07-06 00:02:06 +00:00
tg 76c700b3a6 get rid of $PGRP
get rid of special bourne-shell emulating mode
2005-07-04 12:34:24 +00:00
tg e392a30930 get rid of special "POSIX"ish mode 2005-07-04 12:27:28 +00:00
tg 3fb44287d4 mksh now does not look at $EDITOR and $VISUAL any more to determine
the editing mode; default is emacs (vi and gmacs off).
mksh also defaults to emacs-usemeta=OFF now.
2005-07-04 12:07:41 +00:00
tg bfc5b81602 mksh no longer looks at its own called name or $SHELL
to determine if it should be a restricted shell
2005-07-04 11:57:55 +00:00
tg 521da70fc8 * major revamp of build system
* whitespace cleanup; junk comment removal
* syndicate debian/copyright file from my port (shrinks sh.h)
* bump to R23
2005-06-08 21:51:22 +00:00
tg 5b6017fd0f add missing detail from IFS example
From PR4220/TAKAHASHI Tamotsu <[15]ttakah@lapis.plala.or.jp>
via OpenBSD
2005-06-08 10:59:41 +00:00
tg cdb2beb29b Interix defines RLIMIT_VMEM to RLIMIT_AS, no need for us to act (sigh) 2005-06-08 10:25:40 +00:00
tg 50b9b9181b use RLIMIT_AS if RLIMIT_VMEM is not available
they roughly equal each other anyway
2005-06-08 10:14:09 +00:00
tg cd54ef8f51 * fix emacs [ tabcompletion bug
XXX it's probably a bug in vi mode too, it just doesn't show
* bring manual page and reality into closer sync'd state
* sort ulimits
2005-05-25 23:31:08 +00:00
tg 77a65a5562 fix a manpage glitch 2005-05-25 14:15:40 +00:00
tg 7305a6db5e Disable tilde expansion after = (Debian PR #187839),
but only in POSIX mode
2005-05-25 10:01:24 +00:00
tg c72ac29991 let i=0xAFFE works in ksh88 (/bin/ksh on Solaris), octals are special to us 2005-05-23 13:44:13 +00:00
tg cd7b8bd79b Add mirbsdksh R21, which was developed in a temporary external CVS repo-
sitory whose ChangeLog follows. mksh R21 is licenced under the MirOS li-
cence, shown in "sh.h", and a two-clause UCB-style licence by Marc Espie
as shown in "alloc.c".

This executable is a fair bit smaller and shorter than our /bin/ksh that
it is designed to eventually replace (as /bin/sh hardlink), with the old
/bin/ksh to completely vanish. It is still in beta testing though, and I
don't think it will compile on other operating systems.

mksh R21 is a completely new port, bringing together the OpenBSD-current
/bin/ksh, the MirOS-current /bin/ksh and the older mksh R20 (which still
was portable, ocvs-based).
2005-05-23 03:06:10 +00:00