Commit Graph

23 Commits

Author SHA1 Message Date
bors
c1548991cf auto merge of #7160 : kballard/rust/terminfo-parm-i-fix, r=thestinger
My latest terminfo work introduced a bug in the handling of %i, which was noticed by @huonw after the PR was already merged in.

r? @thestinger
2013-06-16 05:33:59 -07:00
Huon Wilson
bbcff95ac5 remove unused imports 2013-06-16 12:20:12 +10:00
Kevin Ballard
9c4f9bb71b Fix terminfo::param %i op 2013-06-15 14:20:34 -07:00
bors
da42e6b7a0 auto merge of #7133 : kballard/rust/terminfo-parm, r=thestinger
Implement conditional support in terminfo, along with a few other related operators.

Fix implementation of non-commutative arithmetic operators.

Remove all known cases of task failure from `terminfo::parm::expand`, and change the method signature.

Fix some other miscellaneous issues.
2013-06-15 03:07:05 -07:00
Daniel Micay
585f5f7f79 add IteratorUtil to the prelude 2013-06-14 23:15:42 -04:00
Kevin Ballard
da4e614742 Fix line lengths in terminfo 2013-06-14 13:03:42 -07:00
Kevin Ballard
f31767df66 Implement terminfo param conditionals
Implement the %?, %t, %e, and %; operators. Also implement the %<, %=,
%> operators, without which conditionals aren't very useful.

Fix the order of parameters for the arithmetic operators.

Implement the missing %^ operator.
2013-06-14 12:37:54 -07:00
Kevin Ballard
6423548818 Fix a bunch of failure cases in terminfo
Replace all potentially-failing operations with Err returns and add
tests.

Remove the Char parameter type; characters are represented as Numbers.

Fix integer constants to work properly when there are multiple constants
in the same capability string.

Tweak loop to use iterators instead of indexing into cap.
2013-06-14 12:37:54 -07:00
Kevin Ballard
e990239a3a Don't require &mut [Param] with terminfo::parm::expand() 2013-06-14 12:37:53 -07:00
Kevin Ballard
c9e234a1ae Tweak terminfo::parm::expand function signature
Take a new struct Variables instead of two &mut [] vectors for static
and dynamic variables.
2013-06-14 12:37:53 -07:00
Kevin Ballard
9f9e505405 Tweak new terminfo logical operator support 2013-06-14 12:37:53 -07:00
Corey Richardson
821a962feb Various terminfo parameterization changes 2013-06-14 12:37:53 -07:00
Huon Wilson
9e60e2e297 std: convert str::replace to a method. 2013-06-12 12:21:04 +10:00
Huon Wilson
3ac00a9489 std: remove substr & str::count_*, methodise char_len, implement slice_chars.
The confusing mixture of byte index and character count meant that every
use of .substr was incorrect; replaced by slice_chars which only uses
character indices. The old behaviour of `.substr(start, n)` can be emulated
via `.slice_from(start).slice_chars(0, n)`.
2013-06-12 12:21:04 +10:00
Huon Wilson
efc71a8bdb std: unify the str -> [u8] functions as 3 methods: .as_bytes() and .as_bytes_with_null[_consume]().
The first acts on &str and is not nul-terminated, the last two act on strings
that are always null terminated (&'static str, ~str and @str).
2013-06-12 12:21:04 +10:00
Kevin Ballard
8f1edd5307 terminfo: Support more terminfo directory structures
OS X's terminfo uses the hex representation of the first character of
the terminal name as the directory name.

Ubuntu seems to use /lib/terminfo instead of /usr/share/terminfo, at
least on the one machine I have access to.
2013-06-10 15:52:10 -07:00
Huon Wilson
1e8982bdb2 std: replace str::each_split* with an iterator 2013-06-10 23:02:54 +10:00
Patrick Walton
8114d0e950 librustc: Disallow multiple patterns from appearing in a "let" declaration.
You can still initialize multiple variables at once with "let (x, y) = (1, 2)".
2013-06-04 21:45:42 -07:00
Corey Richardson
ae5f3de5f0 Ignore tests that cannot pass on buildbot 2013-06-03 16:05:46 -04:00
Corey Richardson
023861cbd1 test fixes 2013-06-01 13:24:58 -04:00
Corey Richardson
11f31b9684 Fix formatting for tidy 2013-05-31 20:02:56 -04:00
Corey Richardson
5311d59023 extra::term: better error handling and win32 compat 2013-05-31 20:02:49 -04:00
Corey Richardson
cf64324e19 extra::term overhaul 2013-05-31 20:02:49 -04:00