about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libstd/rt/logging.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libstd/rt/logging.rs b/src/libstd/rt/logging.rs
index 3f169b511df..dfcf49734df 100644
--- a/src/libstd/rt/logging.rs
+++ b/src/libstd/rt/logging.rs
@@ -17,7 +17,7 @@ use io::stdio::StdWriter;
 use io::buffered::LineBufferedWriter;
 use rt::crate_map::{ModEntry, CrateMap, iter_crate_map, get_crate_map};
 use str::StrSlice;
-use vec::ImmutableVector;
+use vec::{ImmutableVector, MutableTotalOrdVector};
 #[cfg(test)] use cast::transmute;
 
 struct LogDirective {
@@ -141,7 +141,14 @@ fn update_log_settings(crate_map: &CrateMap, settings: ~str) {
     if settings.len() > 0 {
         if settings == ~"::help" || settings == ~"?" {
             rterrln!("\nCrate log map:\n");
-            iter_crate_map(crate_map, |entry| rterrln!(" {}", entry.name));
+
+            let mut entries = ~[];
+            iter_crate_map(crate_map, |entry| entries.push(entry.name.to_owned()));
+            entries.sort();
+
+            for name in entries.iter() {
+                rterrln!(" {}", *name);
+            }
             unsafe { exit(1); }
         }
         dirs = parse_logging_spec(settings);