auto merge of #10870 : ktt3ja/rust/issue-10865, r=alexcrichton

Fix #10865 and #10939.
auto merge of #10936 : cadencemarseille/rust/issue-10754-std-run-unwrap-on-None, r=alexcrichton

The problem was that std::run::Process::new() was unwrap()ing the result
of std::io::process::Process::new(), which returns None in the case
where the io_error condition is raised to signal failure to start the
process.

Have std::run::Process::new() similarly return an Option\<run::Process\>
to reflect the fact that a subprocess might have failed to start. Update
utility functions run::process_status() and run::process_output() to
return Option\<ProcessExit\> and Option\<ProcessOutput\>, respectively.

Various parts of librustc and librustpkg needed to be updated to reflect
these API changes.

closes #10754
auto merge of #10952 : huonw/rust/1ms-bench, r=cmr

This makes sure we always run benchmarks even if they are predicted to
take a long time, so that we have some non-zero time to display
(although the error bars may be huge for particularly slow benchmarks).

Fixes #9532.
Add "proc" as keyword to emacs mode
Remove tabs from configure script
Use clang instead of gcc on OS X 10.9

Apple replaced gcc with clang, but kept around a stub gcc to call
clang. This adds a check in `configure` to detect when gcc is
really clang, and switch to using clang in this situation.

Closes #10811.
librustpkg: don't clobber the crate attributes for the pkgid
auto merge of #10968 : MicahChalmer/rust/emacs-proc-keyword, r=metajack
std: fix spelling in docs.
std::rt: s/pausible/pausable/.
extra: fix spelling in docs.
Handle more cases in the heap lints
auto merge of #10932 : alexcrichton/rust/feature-update, r=cmr
auto merge of #10948 : cmr/rust/update_pkgid, r=metajack
auto merge of #10970 : erickt/rust/master, r=alexcrichton

This modifies the `configure` to set `CFG_ENABLE_CLANG=1` if `gcc` is actually `clang`. This is needed because OS X's clang enables warning on unused command line arguments. Our build system suppresses this by default, but when `CFG_ENABLE_CLANGE=0`, we do not. This causes one of the tests to fail. This patch changes rust to directly use clang, which fixes the build failure.

Closes #10811
std::vec: remove unnecessary count parameter on {bytes,
raw}::copy_memory.

Slices carry their length with them, so we can just use that
information.
std::vec::bytes: remove obsolete functions.

These are less useful versions of the comparison operators and TotalOrd
trait.
std::vec::raw: clean up docs.
std::vec: move pointless `raw::get` and `unsafe_get` functions.

This can easily be written as `(*v.unsafe_ref(i)).clone()`, or just
`*v.unsafe_ref(i)` for primitive types like `i32` (the common case).
Move std::{str,vec}::raw::set_len to an unsafe method on Owned{Vector,Str}.