Commit Graph

621 Commits

Author SHA1 Message Date
christos
df86a66a1c handle systems without getpwent_r 2011-07-28 17:33:39 +00:00
joerg
4104b0e782 Sync compat defines to unbreak build.
XXX Do a proper config.h update from configure
2011-07-28 05:18:43 +00:00
christos
7da8639ecc whitespace 2011-07-28 03:52:19 +00:00
christos
02479cacb5 whitespace 2011-07-28 03:48:46 +00:00
christos
47b4c27f8c whitespace and comments 2011-07-28 03:44:36 +00:00
christos
d47f958456 Rename key to keymacro to avoid conflicts with term.h. The renaming of term
to terminal was again to avoid conflicts with term.h. term.h is a moving
namespace violation.
2011-07-28 01:56:26 +00:00
christos
8cf227343c - check and don't cast malloc return
- more wide function use
2011-07-28 01:08:58 +00:00
christos
98c7cbebbc term -> terminal
XXX: need to rename key_ too.
2011-07-28 01:05:20 +00:00
christos
78cb86e064 regen 2011-07-28 01:05:00 +00:00
christos
fd46b57ee4 avoid shadowed variable 2011-07-28 01:04:41 +00:00
christos
5fc21e9736 use vis.h from . 2011-07-28 00:54:26 +00:00
christos
b210596944 eliminate alloca for portability
portable getpw{nam,uid}
2011-07-28 00:50:23 +00:00
christos
82edb784c6 term -> terminal
eliminate MAXPATHLEN
2011-07-28 00:49:18 +00:00
christos
0c0f23399c - fix memory allocation botch in wide strings
- check mbstowcs return code
2011-07-28 00:48:21 +00:00
christos
e63c844a17 term -> terminal 2011-07-28 00:45:50 +00:00
christos
885062da0b more portability defines 2011-07-28 00:45:30 +00:00
christos
c2c011fc82 term -> terminal 2011-07-28 00:45:14 +00:00
christos
adb2121e55 term -> terminal
fix wide function confusion
2011-07-28 00:44:35 +00:00
christos
f375da6e14 include config.h for all c files. 2011-07-28 00:43:53 +00:00
christos
b723d6a65c include vis.h from dot. 2011-07-28 00:43:33 +00:00
christos
df2309ca73 fix confusion with wide functions. 2011-07-28 00:43:12 +00:00
christos
5bf2e3dbda fix narrow compilation 2011-07-27 13:18:20 +00:00
christos
32d7653d74 - don't leave cursor dangling on memory failure or after clearing the list
- compute the string length to be strvis'ed after the string is encoded
2011-07-27 02:23:29 +00:00
christos
c76d71fc1a fix buffer growing code. 2011-07-27 02:18:30 +00:00
christos
0da54e076e add history testing code. 2011-07-27 02:18:00 +00:00
christos
3021376b9c don't stop reading after empty lines from: Nirbhay Choubey 2011-07-26 21:03:17 +00:00
christos
047570cb9a make obvious what we are trying to do... 2011-07-09 23:54:39 +00:00
tron
f5c0fd2c7b Try to fix build of port where "char" is unsigned. 2011-07-09 16:04:34 +00:00
christos
c6c51b75eb Support other non-latin1 single byte character sets.
From: Alexander Barkov and Nirbhay Choubey at oracle dot com
2011-07-08 15:54:56 +00:00
mrg
0a0dd75b65 add some XXX'd -Wno-foo if HAVE_GCC >= 45.
XXX: someone should look at these.
2011-06-21 02:32:55 +00:00
mrg
493d341048 various build fixes for gcc 4.5. from chuq. XXX i'm not sure all of
these work properly wtf pointer aliasing, but there are no casts at
least...

the lib/libpuffs/puffs_priv.h is definately a real bug fix.

from chuq.
2011-06-20 09:11:16 +00:00
wiz
d489035474 Markup consistency, from YOMURA Masanori. Add serial comma. 2011-04-25 22:47:27 +00:00
bouyer
6d537d7313 Fix use-after-free. Discovered by running tests with MALLOC_OPTIONS=J
(should this be the default for tests ?), pointed out by njoly@
2011-03-20 12:36:14 +00:00
christos
c0ee155271 Fix argument for EL_EDITOR from Jess Thrysoee 2011-02-27 01:51:37 +00:00
joerg
9674b81ed9 Introduce __weakref_visible to handle the different required visibility
for weak references. GCC 4.2+ and Clang require static, older GCC wants
extern. Change __weak_reference to include sym. This requires changes
the existing users to not reuse the name of the symbol, but avoids
further differences between GCC 4.1 and GCC 4.2+/clang.
2011-02-22 05:45:05 +00:00
christos
01d6c84859 PR/44599: Steven Vernon: libedit acts as if no data read if editmode is turned
off because nread is uninitialized in the edit disabled case.
2011-02-18 20:53:05 +00:00
joerg
6f7bc0c1ed Deal with changes in the weak_reference semantic in GCC 4.2 and later. 2011-02-17 16:44:48 +00:00
christos
28ef40ccbd fix pasto 2011-01-28 03:41:52 +00:00
christos
b2ce31d086 don't turn on editing if stdout is not a tty. 2011-01-27 23:11:40 +00:00
christos
7350622ee8 off by one in fetching history data. From: Gerry Swislow 2011-01-16 03:05:51 +00:00
wiz
3d3c5d42cb Observe the following spelling:
- wide character (noun)
- wide-character (adjective)

Inspired by jmc@OpenBSD.
2010-12-16 17:42:25 +00:00
dholland
eb1ab8ee50 Improve previous to avoid changing the interface of an externally
exposed function. (But note that this function is neither documented
nor declared in any installed header file, and it probably should not
be externally exposed.) Related to PR 44183, closes PR 44186.
2010-12-06 00:05:38 +00:00
dholland
574c2fc5a2 add const, from PR 44183. 2010-12-02 04:42:46 +00:00
dholland
92417c82c1 Fix up bodgy code for printing completion matches; it used to sometimes
skip entries, print (null), run off the end of the array, or occasionally
receive SIGSEGV, and now will, hopefully at least, do none of that.

Based in part on the patch in PR 44183 from Sergio Acereda; I also
did some tidyup and fixed it to print top-to-bottom first like ls(1).
2010-12-02 04:35:17 +00:00
christos
a85c37d8d9 don't increment i twice in the loop. From Michael Byrnes 2010-11-15 21:24:31 +00:00
christos
9bc86f7706 PR/43998, PR/44021: In narrow history emulation, don't treat UTF-8 character
sets specially as far as history goes since we always need to do the conversion
from narrow [history] to wide [editline].
2010-11-04 13:53:12 +00:00
christos
f70a466a92 fix fd leak found by Igor Zinovik 2010-10-23 23:27:40 +00:00
christos
b354315033 unbreak readline history. 2010-09-16 20:08:51 +00:00
christos
7741aae941 setup a callback to be invoked on resize buffers so that readline can
reset rl_line_buffer which unfortunately some applications use it directly.
2010-08-28 15:44:59 +00:00
christos
6e1c968db3 provide rl_on_newline 2010-08-04 20:29:18 +00:00
christos
0ccb4e68f8 refresh only on SIGCONT not SIGWINCH from Edward Sheldrake 2010-07-21 18:18:52 +00:00
christos
c157529beb retry the read after sigwinch too, from Edward Sheldrake 2010-07-19 17:18:13 +00:00
christos
cbd798c94b tidy up memory allocation and don't unnecessarily print "./" before names. 2010-06-01 18:20:26 +00:00
christos
ca8b6091c1 Use the same hack for Solaris and MacOS/X. This is not right, we only really
support UTF-8, but it will get us going until this is fixed properly.
From Jess Thrysoee
2010-04-20 02:01:13 +00:00
christos
72c00e4a7a \033 is more portable than \e still. 2010-04-18 21:17:47 +00:00
christos
df810c5405 ffs needs strings.h 2010-04-18 21:17:22 +00:00
christos
d29e250074 shame on solaris that is the last OS not supporting $() 2010-04-18 21:17:05 +00:00
christos
839bac947e From Jess Thrysoee
- Fix wint_t to Int confusion
2010-04-15 00:57:33 +00:00
christos
5443e9b772 From Jess Thrysoee
- use nl_langinfo to test for UTF-8, because some locales are UTF-8 without
     reflecting it in their names.
2010-04-15 00:56:40 +00:00
christos
a5b37ffc65 From Jess Thrysoee
expose ct_enc_width()
2010-04-15 00:55:57 +00:00
christos
939651fa2b From Jess Thrysoee
- NARROW_HISTORY and IGNORE_EXTCHARS should not take effect if locale is UTF-8
- account for multi byte char length in
2010-04-15 00:52:48 +00:00
christos
b77d4fa5c5 From Jess Thrysoee: call setlocale so we can test UTF-8 2010-04-15 00:50:46 +00:00
christos
a9dd944f6b From Jess Thrysoee: add ifndef around def of _GNU_SOURCE 2010-04-15 00:50:03 +00:00
christos
f576147073 https://bugzilla.redhat.com/show_bug.cgi?id=575383
Handle EINTR properly.
2010-03-22 22:59:06 +00:00
roy
98eb889579 Userland now builds and uses terminfo instead of termcap.
OK: core@, jdc@
2010-02-03 15:34:37 +00:00
christos
6fbbcd94ce PR/42646: Joachim Kuebart: Shell crashes in libedit when window size changes
(SIGWINCH). Return NULL if el_gets() gets interrupted.
2010-01-20 01:15:52 +00:00
christos
654f9c04e7 Fix wrapper for EL_EDITOR, from Michael L. Hitch 2010-01-19 22:38:08 +00:00
christos
081c24c702 PR/42637: Joachim Kuebart: Shell tab completion crashes due to libedit stack
smashing
2010-01-18 19:17:42 +00:00
christos
139d3d5a3b - call the mapping function directly instead of el_wset().
- save the strings passed to the mapping function so that they don't get
  re-used. This leaks. To fix it properly we could either pass a flag to
  free particular entries before re-using, or allocate all of them.
  Allocating all of them wastes memory, allocating some of them makes
  the code more complex.
This fixes compatibility binding (shell tab completion for example)
2010-01-12 19:40:50 +00:00
christos
c9043bbf6e - in the argv conversion, handle NULL as NULL
- when printing tab/nl print them, don't handle them specially.
2010-01-12 19:37:18 +00:00
wiz
0d3270a169 Bump date for historyw -> history_w. 2010-01-03 19:05:26 +00:00
christos
73eda9fe27 rename historyw -> history_w for consistency.
add wide tst code and make it the default.
2010-01-03 18:27:10 +00:00
christos
4168f34493 expose the encode and decode string functions for the benefit of history
and readline.
2009-12-31 18:32:37 +00:00
christos
dc8498bec8 - Document and enable wide character support.
- Fix read function compatibility.
2009-12-31 15:58:26 +00:00
christos
0b9ae3fdf0 Fix wide build, test it, but don't turn it on yet. 2009-12-30 23:54:52 +00:00
christos
34e53048e6 Wide character support (UTF-8) from Johny Mattsson; currently disabled. 2009-12-30 22:37:40 +00:00
christos
8106943a02 reduce diff with tcsh 2009-12-28 22:15:36 +00:00
christos
b90e7198e7 improve on the listing display by printing only one character after the
filename not two, and no trailing blanks. I will revisit this when I write
the ls-F code.
2009-12-28 21:55:38 +00:00
christos
c8b67cd8d5 Reduce diff with tcsh's editor. No functional change intended. 2009-12-28 21:54:21 +00:00
christos
969676ec74 Fix bug where tab completion on the second or > line that caused listing
ended up corrupting the display by an extra space in the beginning. Reported
by Mac Chan.
2009-12-28 21:52:43 +00:00
christos
ea3813ed2f apply apple patches from:
http://opensource.apple.com/source/libedit/libedit-11/patches/
2009-09-07 21:24:33 +00:00
christos
461d0372fd delete defined(sun), it could be invaded in the user namespace. Suggested
by mrg@
2009-08-31 00:05:43 +00:00
christos
5aa87ec494 use __sun || sun instead of _SunOS, from Jess Thrysoee 2009-08-30 15:41:05 +00:00
christos
085c78fd1f Ignore comment lines in .editrc from Jess Thrysoee 2009-07-25 21:19:23 +00:00
christos
bafe66c2cc Only need path if we have issetugid... From Anon Ymous 2009-07-22 18:25:26 +00:00
christos
e304eddfd2 Don't depend on side effects inside an assert
From Michael Cook mcook at bbn dot com
2009-07-22 15:58:09 +00:00
christos
cfa16c6369 Fix memory leaks in error paths.
From Michael Cook mcook at bbn dot com
2009-07-22 15:57:40 +00:00
christos
83965485c1 Always initialize nread since it is an out param.
From Michael Cook mcook at bbn dot com
2009-07-22 15:57:00 +00:00
christos
17a17e3aeb Move filename to the scope it is being used.
From Michael Cook mcook at bbn dot com
2009-07-22 15:56:29 +00:00
christos
cfb4e5f917 Simplify the code. No functional change. 2009-07-17 12:28:27 +00:00
christos
e2d0108bb8 - off by one in the term.h case.
- make code more similar to tcsh (if we want to handle wide chars, this is
  needed; for now it is a no-op)
2009-07-17 12:27:57 +00:00
christos
59a88754a7 handle prompt_esc properly. 2009-07-17 12:26:26 +00:00
christos
537657ed45 Use the proper prompt printing function. 2009-07-17 12:25:52 +00:00
christos
8e714f4b6e add stdio.h since we are using FILE. From Grant Erickson 2009-07-09 19:02:04 +00:00
perry
eb247ff739 note that the return value of el_gets doesn't remain valid across
calls.
2009-07-05 21:55:24 +00:00
christos
287bd18049 decrement the number of levels after the loop (Julien Torres) 2009-06-09 13:04:33 +00:00
christos
e55354196b from Julien Torres, flip the order we pop in the macro array. 2009-06-08 15:10:53 +00:00
christos
189ce7898b always scroll when we advance past bottom. From Caleb Welton
cwelton at greenplum dot com
2009-05-19 21:45:14 +00:00
wiz
35cf287cb8 Punctuation nit. 2009-05-12 08:14:07 +00:00
christos
b627b61f7f restore binary compatibility by providing new prompt functions that take
an extra literal character.
2009-05-11 18:33:30 +00:00
christos
b203bfe74f PR/41230: -current: sh(1) endlessly looping in interactive
Fix proposed from Matthew Mondor
2009-04-16 19:39:37 +00:00
wiz
55a1b57943 Drop trailing whitespace. 2009-04-11 22:17:52 +00:00
joerg
dab0ac3098 Don't use .Xo/.Xc to work around ancient macro argument limit in groff. 2009-04-11 20:53:15 +00:00
joerg
22ce33e2aa Don't use .Xo/.Xc to avoid ancient macro argument limit. 2009-04-11 20:48:26 +00:00
christos
46db7d011d Fix off by one error reported by: Caleb Welton cwelton at greenplum dot com 2009-04-08 21:31:31 +00:00
wiz
3a9e7e68ee Readability improvement. Whitespace nits. 2009-04-01 08:58:47 +00:00
christos
097860c04e cast to size_t to avoid sign / unsigned comparison warning. 2009-03-31 21:33:17 +00:00
christos
e6ec3d065c implement RL_PROMPT_{START,END}_IGNORE 2009-03-31 17:53:03 +00:00
christos
c8754a5b44 Implement literal prompt sequences. Now someone can implement
RL_PROMPT_START_LITERAL/RL_PROMPT_END_LITERAL :-)
2009-03-31 17:38:27 +00:00
wiz
097d2fd1a6 -1 is not a defined value, it is just a value.
On the other hand, minuses need backslashes, otherwise they become hyphens.
2009-03-10 22:55:14 +00:00
christos
ae87843e53 make el_gets set the count to -1 on error to distinguish between EOF and
error.
2009-03-10 20:46:15 +00:00
joerg
997634fe14 Fix preamble to match order set out by mdoc(7). Discussed with wiz. 2009-03-09 19:24:26 +00:00
msaitoh
150e7551ec fix mis-evaluating whether a char is digit or not. 2009-02-27 04:18:45 +00:00
christos
07e886c39c remove VEOF test. the tty is in cooked mode when we are not editing and
the tty driver does the check for us.
2009-02-21 23:35:10 +00:00
christos
954af9bb67 more size_t stuff. 2009-02-21 23:31:56 +00:00
christos
41907725b6 use the VEOF character from the terminal, instead of hard-coding 4. 2009-02-21 23:31:29 +00:00
wiz
6c890a7983 Restore markup changes (probably accidentally) reverted in previous. 2009-02-21 07:58:58 +00:00
christos
c51877c3f4 back out all prompt changes. they are not needed. 2009-02-21 00:05:23 +00:00
cube
0931c75c7a Order of evaluation of arguments is undefined, so call va_arg() in an
explicit order.  Fixes a segfault with bc reported by Patrick Welche on
current-users.
2009-02-19 20:27:11 +00:00
christos
e8bbf84cd0 reset and redraw on sigcont. From Anon Ymous. 2009-02-19 15:20:22 +00:00
wiz
dfe59495b1 Fix wordo, use more markup. 2009-02-19 09:48:08 +00:00
christos
f072c3f1a4 bump version for prompt arg. 2009-02-19 01:18:24 +00:00
christos
963ecab70c document extra argument. 2009-02-19 01:18:02 +00:00
christos
ec70918ed3 SA_RESTART for all signals but SIGINT. From Anon Ymous. 2009-02-18 15:04:40 +00:00
christos
62dbbc55bc allow for a prompt argument. 2009-02-17 21:34:26 +00:00
christos
7939d24e16 fix sign compare issues. 2009-02-16 00:15:45 +00:00
christos
5c894153a3 pass lint on _LP64. 2009-02-15 21:55:23 +00:00
christos
d25b6758ed in order for read() to return EINTR we need to use sigaction, not signal,
otherwise SA_RESTART is set.
2009-02-15 21:25:01 +00:00
christos
6ed9cd5e69 don't restart on EINTR, instead return NULL immediately. From Anon Ymous 2009-02-15 21:24:13 +00:00
sketch
fc16547f5e More fixes for existing portability stuff. 2009-02-12 13:39:49 +00:00
sketch
2157800b5b SUNOS is spelt __SunOS. Add missing prototypes. 2009-02-06 20:08:13 +00:00
sketch
957effbd58 Needs errno.h 2009-02-06 19:53:23 +00:00
sketch
fe96b18c3f Plug memory leak, from MySQL. 2009-02-06 14:40:32 +00:00
sketch
5e72d51013 Portability fix. 2009-02-06 13:14:37 +00:00
sketch
fe3391bda5 de-__P() 2009-02-06 12:45:25 +00:00
christos
1dc5f9b89b match documentation in el_push 2009-02-05 19:15:44 +00:00
christos
d052ee7b7f add rl_set_prompt 2009-02-05 19:15:26 +00:00
apb
69a442fa50 Define HAVE_STRUCT_DIRENT_D_NAMLEN in config,h, and test it when
deciding whether to use entry->d_namlen or strlen(entry->d_name).
Addresses PR 40477 by Robert Millan.
2009-01-26 17:32:41 +00:00
lukem
c17aaf60c9 WARNS=4 2009-01-18 12:17:49 +00:00
lukem
a06595c27b fix -Wsign-compare issues 2009-01-18 12:14:16 +00:00
christos
2d18fd40a7 - insert a space after the recognized string if it was an exact match
- initialize properly the string used for completion.
From Alex Bligh alex at alex dot org dot uk
- Make char constants consistent
2009-01-11 15:00:23 +00:00
christos
46edb91e9f bump shared libraries. 2009-01-11 03:07:47 +00:00
aymeric
e56ab6501a have '$' include the last character in the line when embedded in a command.
This fixes c$, d$, y$, and so on in vi mode.
2008-09-30 08:37:42 +00:00
christos
872a7369cc Allow a single process to control multiple ttys (for pthreads using _REENTRANT)
using multiple EditLine objects. Mostly from Preston A. Elder.
2008-09-10 15:45:37 +00:00
christos
365dab42f3 handle EINTR in the termios operations, reported by the GHC folks 2008-07-30 13:00:46 +00:00
christos
df0a282e52 Don't bother with SIGSTOP it cannot be caught or ignored. From Jess Thrysoee 2008-07-12 15:27:14 +00:00
martin
11a6dbe728 Convert TNF licenses to new 2 clause variant 2008-04-30 13:10:46 +00:00
martin
3028e483e4 Convert to new 2 clause license 2008-04-29 06:53:00 +00:00
christos
4652e1fb8f bump minor. 2008-04-05 23:53:26 +00:00
christos
0cb4d42e16 add EL_REFRESH for the benefit of readline 2008-04-05 15:53:28 +00:00