Index: src/lemon/path.h
===================================================================
--- src/lemon/path.h	(revision 959)
+++ src/lemon/path.h	(revision 986)
@@ -112,6 +112,6 @@
     /// Starting point of the path.
     /// Returns INVALID if the path is empty.
-    GraphNode tail() const {
-      return empty() ? INVALID : gr->tail(edges[0]);
+    GraphNode source() const {
+      return empty() ? INVALID : gr->source(edges[0]);
     }
     /// \brief End point of the path.
@@ -119,6 +119,6 @@
     /// End point of the path.
     /// Returns INVALID if the path is empty.
-    GraphNode head() const {
-      return empty() ? INVALID : gr->head(edges[length()-1]);
+    GraphNode target() const {
+      return empty() ? INVALID : gr->target(edges[length()-1]);
     }
 
@@ -140,13 +140,13 @@
     }
 
-    /// \brief Returns node iterator pointing to the head node of the
+    /// \brief Returns node iterator pointing to the target node of the
     /// given edge iterator.
-    NodeIt head(const EdgeIt& e) const {
+    NodeIt target(const EdgeIt& e) const {
       return NodeIt(*this, e.idx+1);
     }
 
-    /// \brief Returns node iterator pointing to the tail node of the
+    /// \brief Returns node iterator pointing to the source node of the
     /// given edge iterator.
-    NodeIt tail(const EdgeIt& e) const {
+    NodeIt source(const EdgeIt& e) const {
       return NodeIt(*this, e.idx);
     }
@@ -231,7 +231,7 @@
       operator const GraphNode& () const {
 	if(idx >= p->length())
-	  return p->head();
+	  return p->target();
 	else if(idx >= 0)
-	  return p->gr->tail(p->edges[idx]);
+	  return p->gr->source(p->edges[idx]);
 	else
 	  return INVALID;
@@ -336,21 +336,21 @@
       }
 
-      GraphNode tail() const {
+      GraphNode source() const {
 	if( ! front.empty() )
-	  return P.gr->tail(front[front.size()-1]);
+	  return P.gr->source(front[front.size()-1]);
 	else if( ! P.empty() )
-	  return P.gr->tail(P.edges[0]);
+	  return P.gr->source(P.edges[0]);
 	else if( ! back.empty() )
-	  return P.gr->tail(back[0]);
+	  return P.gr->source(back[0]);
 	else
 	  return INVALID;
       }
-      GraphNode head() const {
+      GraphNode target() const {
 	if( ! back.empty() )
-	  return P.gr->head(back[back.size()-1]);
+	  return P.gr->target(back[back.size()-1]);
 	else if( ! P.empty() )
-	  return P.gr->head(P.edges[P.length()-1]);
+	  return P.gr->target(P.edges[P.length()-1]);
 	else if( ! front.empty() )
-	  return P.gr->head(front[0]);
+	  return P.gr->target(front[0]);
 	else
 	  return INVALID;
@@ -438,6 +438,6 @@
     /// Starting point of the path.
     /// Returns INVALID if the path is empty.
-    GraphNode tail() const {
-      return empty() ? INVALID : gr->tail(edges[0]);
+    GraphNode source() const {
+      return empty() ? INVALID : gr->source(edges[0]);
     }
     /// \brief End point of the path.
@@ -445,6 +445,6 @@
     /// End point of the path.
     /// Returns INVALID if the path is empty.
-    GraphNode head() const {
-      return empty() ? INVALID : gr->head(edges[length()-1]);
+    GraphNode target() const {
+      return empty() ? INVALID : gr->target(edges[length()-1]);
     }
 
@@ -478,13 +478,13 @@
     }
 
-    /// \brief Returns node iterator pointing to the head node of the
+    /// \brief Returns node iterator pointing to the target node of the
     /// given edge iterator.
-    NodeIt head(const EdgeIt& e) const {
+    NodeIt target(const EdgeIt& e) const {
       return NodeIt(*this, e.idx+1);
     }
 
-    /// \brief Returns node iterator pointing to the tail node of the
+    /// \brief Returns node iterator pointing to the source node of the
     /// given edge iterator.
-    NodeIt tail(const EdgeIt& e) const {
+    NodeIt source(const EdgeIt& e) const {
       return NodeIt(*this, e.idx);
     }
@@ -571,7 +571,7 @@
       operator const GraphNode& () const {
 	if(idx >= p->length())
-	  return p->head();
+	  return p->target();
 	else if(idx >= 0)
-	  return p->gr->tail(p->edges[idx]);
+	  return p->gr->source(p->edges[idx]);
 	else
 	  return INVALID;
@@ -677,21 +677,21 @@
       }
 
-      GraphNode tail() const {
+      GraphNode source() const {
 	if( ! front.empty() )
-	  return P.gr->tail(front[front.size()-1]);
+	  return P.gr->source(front[front.size()-1]);
 	else if( ! P.empty() )
-	  return P.gr->tail(P.edges[0]);
+	  return P.gr->source(P.edges[0]);
 	else if( ! back.empty() )
-	  return P.gr->tail(back[0]);
+	  return P.gr->source(back[0]);
 	else
 	  return INVALID;
       }
-      GraphNode head() const {
+      GraphNode target() const {
 	if( ! back.empty() )
-	  return P.gr->head(back[back.size()-1]);
+	  return P.gr->target(back[back.size()-1]);
 	else if( ! P.empty() )
-	  return P.gr->head(P.edges[P.length()-1]);
+	  return P.gr->target(P.edges[P.length()-1]);
 	else if( ! front.empty() )
-	  return P.gr->head(front[0]);
+	  return P.gr->target(front[0]);
 	else
 	  return INVALID;
