From 16b60cf003cab3624c0b79acd9c5eedec6d1ed37 Mon Sep 17 00:00:00 2001
From: Florian Hartwig <florian.j.hartwig@gmail.com>
Date: Thu, 16 Apr 2015 15:13:47 +0200
Subject: [PATCH] Fix some broken links in the book

---
 src/doc/trpl/concurrency.md    | 4 ++--
 src/doc/trpl/error-handling.md | 2 +-
 src/doc/trpl/macros.md         | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/doc/trpl/concurrency.md b/src/doc/trpl/concurrency.md
index 159e04e9429..575dfc7417a 100644
--- a/src/doc/trpl/concurrency.md
+++ b/src/doc/trpl/concurrency.md
@@ -176,8 +176,8 @@ Here's the error:
                   ^~~~~~~~~~~~~
 ```
 
-You see, [`Mutex`](std/sync/struct.Mutex.html) has a
-[`lock`](http://doc.rust-lang.org/nightly/std/sync/struct.Mutex.html#method.lock)
+You see, [`Mutex`](../std/sync/struct.Mutex.html) has a
+[`lock`](../std/sync/struct.Mutex.html#method.lock)
 method which has this signature:
 
 ```ignore
diff --git a/src/doc/trpl/error-handling.md b/src/doc/trpl/error-handling.md
index 491f7b0c2a0..aaa43b33d3b 100644
--- a/src/doc/trpl/error-handling.md
+++ b/src/doc/trpl/error-handling.md
@@ -297,5 +297,5 @@ It's worth noting that you can only use `try!` from a function that returns a
 `Result`, which means that you cannot use `try!` inside of `main()`, because
 `main()` doesn't return anything.
 
-`try!` makes use of [`From<Error>`](../std/convert/trait.From.hml) to determine
+`try!` makes use of [`From<Error>`](../std/convert/trait.From.html) to determine
 what to return in the error case.
diff --git a/src/doc/trpl/macros.md b/src/doc/trpl/macros.md
index 6d21cb59383..713814d9147 100644
--- a/src/doc/trpl/macros.md
+++ b/src/doc/trpl/macros.md
@@ -33,7 +33,7 @@ mind.
 You may have seen the `vec!` macro, used to initialize a [vector][] with any
 number of elements.
 
-[vector]: arrays-vectors-and-slices.html
+[vector]: vectors.html
 
 ```rust
 let x: Vec<u32> = vec![1, 2, 3];