Commit Graph

423 Commits

Author SHA1 Message Date
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
christos
3bbc95f39d Add rl_forced_update_display() from Gerry Swislow 2008-04-04 21:18:34 +00:00
christos
5f3802ca6e patches from Axel Thimm 2007-08-12 07:41:51 +00:00
christos
07186f02e2 Fix tab/space confusion; from Stefan Farfeleder 2007-06-10 20:20:28 +00:00
tls
4147a3c54a Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry.  RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros.  Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default.  Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
2007-05-28 12:06:17 +00:00
christos
2d9dad6f00 Add rl_completion_matches, fix remove_history 2007-05-27 19:45:37 +00:00
christos
bd6c2075f1 Fix bug with multiple pending el_pushes. Reported by Julien Torres. 2007-03-01 21:41:45 +00:00
christos
754eed8af3 PR/35411: Matthew Wala: inconsistency in editline(3): rename "num" to the
appropriate parameter names.
2007-01-12 16:31:13 +00:00
wiz
77171fb3a0 Fix xref section. Whitespace cleanups.. 2006-12-18 00:03:43 +00:00
christos
3a1928de28 add EL_GETFP, and EL_SETFP. 2006-12-15 22:13:33 +00:00
freza
37b5672028 s/el->errfile/el->el_errfile/g in debug code, fixes MKDEBUGLIB build. 2006-11-25 17:54:38 +00:00
christos
3bf701820f bump minor. 2006-11-24 00:03:06 +00:00
christos
6b8a793080 - Add more readline functions, enough for gdb-6.5
- Make el_get varyadic, and implement EL_GETTC.
- XXX: the EL_SETTC api will change in the future.
2006-11-24 00:01:17 +00:00
christos
72301cb079 don't use alloca with ssp. 2006-11-09 16:58:38 +00:00
mrg
d257e1e9bd __weakref__ attribute can not be applied to anything when inside function
scope, so, move the extern of get_alias_text outside vi_alias().

fixes build problems with GCC 4.1-20061021.
2006-10-22 07:48:13 +00:00
christos
d9590bcae9 Fix memory leak found by valgrind (Julien Torres) 2006-09-28 13:52:51 +00:00
rpaulo
1399def216 Rename TEST/test.c to avoid problems when doing a cleandir on case-insensitive
file systems.
ok'ed christos.
2006-08-31 20:20:38 +00:00
christos
f1fff5b02e Change to a 3 clause copyright after permission of the holders. 2006-08-21 12:45:30 +00:00
christos
213f1e2476 PR/34062: Tanaka Akira: rl_deprep_term_function is NULL in libedit.
Default to rl_deprep_terminal as suggested; do the same for
rl_prep_term_function
2006-07-23 20:21:45 +00:00
christos
96473fa808 change __weak_extern to __weak_reference so that gcc4 works. 2006-05-18 17:54:19 +00:00
christos
5bba7270fa fix debugging printf format. 2006-04-09 01:36:51 +00:00
rtr
596eb336c9 remove if/free block checking known condition
coverity 2762 / run 11
2006-03-25 13:00:11 +00:00
christos
9363fb8b44 move declaration to header file. 2006-03-23 20:22:51 +00:00
christos
4baec30349 Coverity CID 2743: Not really a memory leak, but make it obvious that we
always free tmp.
2006-03-21 17:52:50 +00:00
christos
ec39c1a649 Fix compilation. 2006-03-18 19:23:14 +00:00
christos
5900226fad Lint comment. 2006-03-18 19:22:59 +00:00
christos
a46f31170d Coverity CID 1668: Plug memory leak. 2006-03-18 09:31:36 +00:00
christos
c66ab9a1d0 Coverity CID 1666: Plug memory leak. 2006-03-18 09:28:23 +00:00
christos
c5f39d86c2 Coverity CID 1667: Plug memory leak 2006-03-18 09:19:02 +00:00
christos
53c1263c37 Coverity CID 1662: Memory leak. 2006-03-18 09:15:57 +00:00
christos
87113ce74b Coverity CID 597: remove dead code. 2006-03-18 09:09:41 +00:00
christos
78f7dbe212 Coverity CID 1216: Prevent negative index use. 2006-03-18 09:07:05 +00:00
christos
62bb88223c Coverity CID 806: Prevent NULL deref 2006-03-18 09:02:08 +00:00
christos
230c3d4ed6 Print the actual eofc, instead of ^D\b\b.
Change internal character decoding to prevent buffer oveflows.
2006-03-06 21:11:56 +00:00
christos
0fd1bd6295 use the tty chars for reprint and eof instead of hard-coded ^R and ^D 2006-03-06 21:11:03 +00:00
christos
10f8fe2052 PR/32817: Magnus Svensson: write_history and read_history returncode is not
readline compatible.
2006-02-13 14:12:04 +00:00
christos
fd2c82a86e Partial rl_getc_function support from Jess Thrysoee. 2006-02-12 16:15:07 +00:00
christos
fff4889f5c Refresh bug reported by Julien Torres:
going from:
    activate -verbose
to:
    reset -activation
results in:
    reset -activationverbose"
instead of:
    reset -activation

This is because we choose to insert "reset -" before the current line,
and the delete "e -" and insert "ion" in the appropriate place. The
cleareol code did not handle this case properly; we now cleareol to
the maximum number of characters of the first difference, the second
difference and the difference in line length.
2005-11-09 22:11:10 +00:00
christos
41a71d9929 change tr '[a-z]' '[A-Z]' to tr '[:lower:]' '[:upper:]' so that POSIX systems
work properly regardless of environment variable settings.
2005-10-22 16:45:03 +00:00
wiz
59a1fe13eb Add el_get to SYNOPSIS. From jmc@openbsd. 2005-10-12 09:29:43 +00:00
wiz
416b7d49ec Fix double if (from Alexey E. Suslikov via jmc@openbsd).
While here, re-word both H_[GS]ETUNIQUE descriptions so they make
more sense. Bump date.
2005-09-09 22:32:56 +00:00
christos
af079a3097 PR/31012: Barry Naujok: libedit el_get with EL_EDITOR op does not work
Fixed as suggested.
2005-08-19 04:21:47 +00:00
christos
55ca57f0a2 Don't save the el->el_line.cursor over a cv_insert call and use it later
because it might change. From Stefan Farfedeler.
2005-08-10 12:46:24 +00:00
christos
fda9b4f722 Don't delete the current line in vi mode when typing 'yy'.
From Stefan Farfeleder.
2005-08-09 16:40:12 +00:00
christos
b779ac8673 Fix two more help iterators. Thanks Stefan Farfeleder! 2005-08-09 13:58:44 +00:00
christos
2ecb0fb73d Spelling mistakes and comment errors (from FreeBSD via Stefan Farfeleder; many
thanks)
2005-08-08 14:05:37 +00:00
christos
d8f117745d Don't add an extra { NULL, 0, NULL } element to the help array. Instead keep
it always the same size as the function array for consistency. Reported in
FreeBSD PR 82381, but fixed differently.
2005-08-08 14:04:49 +00:00
christos
76b5907b5f The previous commit removed too much and forgot to reset the history event
number. From Kouichirou Hiratsuka, many thanks!
2005-08-08 01:41:30 +00:00
christos
262f96a2f6 Fix reversed test; from Gerry Swislow 2005-08-03 13:41:38 +00:00
christos
68d7e34555 On a fatal error, we want to stop processing the macro buffers. 2005-08-02 12:11:14 +00:00
tron
4e72290930 Add missing second argument to another call of ch_reset(). 2005-08-02 10:20:33 +00:00
christos
0895008a17 Don't reset the macro strings each time we enter el_gets(), otherwise
el_push() is unusable programmatically.
2005-08-01 23:00:15 +00:00
christos
ee399edc73 Don't forget to initialize h_del; from Julien Torres. 2005-08-01 14:34:06 +00:00
wiz
6220c813a6 Drop trailing whitespace. 2005-07-14 15:02:37 +00:00
christos
45542456a5 PR/30747: David N. Williams: libedit is missing remove_history()
Added, please test.
2005-07-14 15:00:58 +00:00
christos
32bff6afc2 Fix memory leaks found by valgrind. From Julien Torres 2005-07-06 21:13:02 +00:00
christos
54e7bf907a make this useable from c++. 2005-06-12 06:58:21 +00:00
christos
19c38590ee PR/30500: Paul Shupak: Inconsistent definition of tilde_expand().
Provide a layer of indirection between the readline compatibility functions
and our internal implementation, so that we have the freedom to change the
function signature.
2005-06-11 18:18:59 +00:00
christos
3cfbfdb2ef Bug reported from Martin Dietze:
The place to change the completion_append_character is
    usually somewhere in the `rl_completion_entry_function'
    callback which is where one usually can distinguish between
    file- or dir-like entries to append a slash for dirs etc.

    This does no longer work since `fn_complete()' takes the
    `append_character' as argument before the callback is executed,
    so that changes to the variable `rl_completion_append_character'
    have in fact no effect for the current completion.

Fix by adding a function that returns the rl_completion_append_character,
when it gets passed in a filename in readline emulation.
2005-06-10 20:21:00 +00:00
christos
0320b64715 tilde expand should take a const argument. 2005-06-10 20:18:11 +00:00
lukem
ac636bd17a Don't use non-standard uint or u_int. 2005-06-01 11:37:52 +00:00
lukem
48753fbc85 Update for recent parse__escape() prototype change 2005-05-29 04:58:15 +00:00
christos
917b5f36b1 PR/25694: Luke Mewburn: Don't abuse unconstify'ing a string and writing to
it, because you'll core dump. Also remove extra const that gives pain to
the irix compiler.
2005-05-29 03:55:37 +00:00
lukem
beb8208a11 fix for WARNS=3 2005-05-28 12:03:22 +00:00
lukem
8e4107254f clean up build of "test" 2005-05-28 12:02:53 +00:00
lukem
d0117e1043 MAKEVERBOSE support 2005-05-28 11:55:30 +00:00
agc
305f170238 Use the correct type for the stored callback function 2005-05-27 14:01:46 +00:00
agc
26abf58dee Sync the alternative readline interface with reality:
+ the rl_callback_handler_install takes a pointer to a void function
  which has one char * argument (it's called that way in the readline
  emulation source, otherwise there's no way to pass the line buffer
  to the function which processes the line when EOL is encountered)

+ provide a prototype for that function signature and use it

Makes the callback readline interface work now.
2005-05-27 11:35:07 +00:00
christos
eda876c9d5 Libedit depends on libterm. From Patrick Welche 2005-05-18 22:36:20 +00:00
christos
33b0562908 Make completion_matches non-static since readline wants it. 2005-05-18 22:34:41 +00:00
christos
308097fac3 Make signal handler safe. From Michael Knudsen, many thanks. 2005-05-18 00:50:24 +00:00
lukem
78745cde09 Remove clause 3 from the UCB license. 2005-05-16 13:14:43 +00:00
christos
182beb15f2 PR/30215: Kouichirou Hiratsuka: /bin/sh dumps core with tabcomplete
Don't core-dump when trying to complete an empty line; instead assume ./
2005-05-12 15:48:40 +00:00
dsl
2e685ade80 Use getpwuid_r(getuid(), ...) to expand ~/....
Don't replace ~xyz with /home/xyz when expanding ~
2005-05-09 20:10:33 +00:00
dsl
6ddc453ece gdb directly calls filename_completion_function() 2005-05-07 16:28:32 +00:00
dsl
76a1f02b41 Make everything that uses makelist depend on Makefile - that way the
created files pick up new entries.
2005-05-07 16:22:59 +00:00
dsl
41a59814ed Separate out the filename completion functions from the readline() code.
Pass in loads of parameters instead of relying on shed-loads of global
variables to modify the behaviour.
The filename completion code can now be enabled by code that uses el_gets().
(eg /bin/sh)
2005-05-07 16:01:25 +00:00
matt
35f4d7fe23 Terminate the arglist with a NULL instead of 0. (Shuts up gcc4.x) 2005-04-25 01:06:03 +00:00
christos
b9b92f846c check for pwd != NULL, fix a missed getpwnam. 2005-04-19 03:29:18 +00:00
christos
a76abbed58 PR/29958: Peter Bex: add rl_variable_bind and rl_attempted_completion_over 2005-04-12 22:01:40 +00:00
christos
bf7832efc6 use getpwent_r 2005-04-02 06:28:10 +00:00
christos
35d638917d PR/29738: Rui Paulo: Incorrect tok_line and tok_str declarations. 2005-03-19 17:36:02 +00:00
christos
476e930172 Add missing define, needed for debugging (from Rob Rodgers) 2005-03-15 00:10:40 +00:00
christos
af62817ea3 Always update the position variables before the map function is called.
From Rob Rodgers, thanks!
2005-03-10 19:34:46 +00:00
christos
f96c72ee24 set UNBUFFERED again after you do the line callback so that the new line
gets refreshed.
2005-03-09 23:55:35 +00:00
christos
04a4f22437 Make sure we flush after we prepare when we are unbuffered otherwise the
prompt will not appear immediately.
2005-03-09 23:55:02 +00:00
christos
3bca82ec33 PR/26785: Jess Thrysoee: libedit - H_NEXT and H_PREV shifts cursor on failure 2004-11-27 18:31:45 +00:00
christos
defca69e1a Make EM_DELETE_PREV_CHAR behave like ED_DELETE_PREV_CHAR in incremental
search. From Gerry Swislow.
2004-11-04 01:16:03 +00:00
dsl
1793b7dd69 Use (unsigned char) cast to sanitise arguments to ctype functions. 2004-10-28 21:14:52 +00:00
dsl
d349cd6749 Fix a load of international alphabet problems with isxxx() and toupper()
Change isspace(*char_ptr) to isspace(*char_ptr & 0xff) so that the correct
piece of memory is looked at for the bit mask.
gcc optimises out the '& 0xff' (on i386 at least).
Fixes problems found by gcc when the splurious (int) cast is removed
from the #defines in ctype.h
2004-10-27 19:59:24 +00:00
christos
0d0ad08914 cut out the middle-man and use el_insertstr() directly. 2004-09-08 18:15:57 +00:00
christos
742c0a6b61 make rl_inhibit_completion visible. 2004-09-08 18:15:37 +00:00
christos
9b6268f92e make sure that we round up to 1K. 2004-08-24 12:41:06 +00:00
christos
848a98512e PR/26725: Sergey S. Kostyliov: Typo in libedit, possible buffer overflow in src/lib/libedit/history.c:history_save() 2004-08-20 12:54:05 +00:00
mycroft
6360c4b0f8 Delete-previous-char and delete-next-char without an argument are not supposed
to modify the yank buffer in Emacs.  Make it so.
2004-08-13 12:10:38 +00:00
christos
18c8edba4d PR/23486: Andreas Gustafsson: gdb no longer works with emacs
- make sure that we keep previous contents of the buffer in unbuffered mode.
- when turning editing on and off keep tty consistent.
2004-07-08 00:51:36 +00:00
christos
b6b34b8065 fix memory leak; thanks to Logan Gabriel 2004-05-22 23:21:28 +00:00
wiz
962fdd9cb4 Remove duplicate word, from jfb@openbsd via jmc@openbsd. 2004-04-15 08:13:29 +00:00
christos
ac4e17d0c7 Better fix for rl_prep_terminal() from Gerry Swislow. 2004-02-27 14:52:18 +00:00