diff --git a/GNUmakefile b/GNUmakefile
index 367819ecccbfeb2e4e277e7053e9c31f2206774a..477233548389aa319df7c20cc80a009f1675970c 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -258,7 +258,7 @@ doc_py:
 	@echo "docs written into: '$(BLENDER_DIR)/doc/python_api/sphinx-out/contents.html'"
 
 doc_doxy:
-	cd doc/doxygen; doxygen 
+	cd doc/doxygen; doxygen Doxyfile
 	@echo "docs written into: '$(BLENDER_DIR)/doc/doxygen/html/index.html'"
 
 doc_dna:
diff --git a/doc/doxygen/Doxyfile b/doc/doxygen/Doxyfile
index e8fb065e7a4ee422f9820471711efdaff9326298..8444ea780e214dea6c52e903f445ba5eca6d82bc 100644
--- a/doc/doxygen/Doxyfile
+++ b/doc/doxygen/Doxyfile
@@ -31,7 +31,7 @@ PROJECT_NAME           = Blender
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = "V2.59"
+PROJECT_NUMBER         = "V2.6x"
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer
@@ -648,7 +648,7 @@ RECURSIVE              = YES
 # excluded from the INPUT source files. This way you can easily exclude a 
 # subdirectory from a directory tree whose root is specified with the INPUT tag.
 
-EXCLUDE                = ../../source/gameengine/PyDoc
+EXCLUDE                = ../../build_files, ../../release
 
 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
 # directories that are symbolic links (a Unix file system feature) are excluded 
@@ -662,7 +662,7 @@ EXCLUDE_SYMLINKS       = NO
 # against the file with absolute path, so to exclude all test directories 
 # for example use the pattern */test/*
 
-EXCLUDE_PATTERNS       = .svn
+EXCLUDE_PATTERNS       = .svn .git *.py
 
 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
 # (namespaces, classes, functions, etc.) that should be excluded from the 
diff --git a/doc/doxygen/doxygen.source b/doc/doxygen/doxygen.source
index cc3a2b14a924f121c59a89ec2638e4ab2cf7a69c..f27a5a878076b1db161237d5bea18596d3bd9d23 100644
--- a/doc/doxygen/doxygen.source
+++ b/doc/doxygen/doxygen.source
@@ -8,14 +8,14 @@
 /** \defgroup render Rendering
  *  \ingroup blender
  */
-/** \defgroup meshedit Mesh Editing */
+/** \defgroup bmesh BMesh
+ *  \ingroup blender
+ */
 /** \defgroup texture Texturing */
 /** \defgroup compositor Compositing */
 
-/** \defgroup scripts Scripting */
-
 /** \defgroup python Python
- *  \ingroup blender scripts
+ *  \ingroup blender
  */
 
 /** \defgroup pygen Python Generic
@@ -332,7 +332,7 @@
  *  \ingroup imbuf
  */
 
-/** \defgorup imbdds DDS
+/** \defgroup imbdds DDS
  *  \ingroup imbuf
  */
 
diff --git a/source/blender/avi/AVI_avi.h b/source/blender/avi/AVI_avi.h
index 00c6863f75c55262f5eac9f14c94d10bc5f71b1a..a579bf7dfec3b61d4ed3f29d85157cdfa775fa9c 100644
--- a/source/blender/avi/AVI_avi.h
+++ b/source/blender/avi/AVI_avi.h
@@ -249,7 +249,7 @@ AviError AVI_open_compress (char *name, AviMovie *movie, int streams, ...);
 AviError AVI_close_compress (AviMovie *movie);
 
 /**
- * Choose a compression option for <movie>. Possible options are
+ * Choose a compression option for \<movie\>. Possible options are
  * AVI_OPTION_TYPE_MAIN, AVI_OPTION_TYPE_STRH, AVI_OPTION_TYPE_STRF
  */
 AviError AVI_set_compress_option (AviMovie *movie,
@@ -272,7 +272,7 @@ AviError AVI_set_compress_option (AviMovie *movie,
 #define AVI_OPTION_TYPE_STRF 2
 
 /**
- * Direct the streams <avist_type> to <movie>. Redirect <stream_num>
+ * Direct the streams \<avist_type\> to \<movie\>. Redirect \<stream_num\>
  * streams.
  */
 int AVI_get_stream (AviMovie *movie, int avist_type, int stream_num);
diff --git a/source/blender/blenkernel/BKE_idcode.h b/source/blender/blenkernel/BKE_idcode.h
index 2188bed1bf76a9fcb958cd2c605d9e2330fb8775..d8e77abc989bfd6928d8010ebfadc910d1390e8e 100644
--- a/source/blender/blenkernel/BKE_idcode.h
+++ b/source/blender/blenkernel/BKE_idcode.h
@@ -77,7 +77,7 @@ int BKE_idcode_is_valid(int code);
 /**
  * Return an ID code and steps the index forward 1.
  *
- * @param index, start as 0.
+ * @param index start as 0.
  * @return the code, 0 when all codes have been returned.
  */
 int BKE_idcode_iter_step(int *index);
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index 4b312e44ba3441a63ed996058c78a78c262025e9..ce87a2e6efc7dee04f6da7079bccd96763213c3e 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -165,7 +165,7 @@ typedef struct bNodeType {
 	/// Create a template from an existing node.
 	struct bNodeTemplate (*templatefunc)(struct bNode *);
 	/** If a node can be made from the template in the given node tree.
-	 * \example Node groups can not be created inside their own node tree.
+	 * \note Node groups can not be created inside their own node tree.
 	 */
 	int (*validfunc)(struct bNodeTree *ntree, struct bNodeTemplate *ntemp);
 	
diff --git a/source/blender/blenkernel/BKE_tracking.h b/source/blender/blenkernel/BKE_tracking.h
index 689376afa553b0812c8e2bc8c3944a83e42e7146..f1daa5d63b37f895aa413394df1b321c6fc26639 100644
--- a/source/blender/blenkernel/BKE_tracking.h
+++ b/source/blender/blenkernel/BKE_tracking.h
@@ -27,7 +27,7 @@
 #ifndef __BKE_TRACKING_H__
 #define __BKE_TRACKING_H__
 
-/** \file BKE_trackingp.h
+/** \file BKE_tracking.h
  *  \ingroup bke
  *  \author Sergey Sharybin
  */
diff --git a/source/blender/blenlib/intern/md5.c b/source/blender/blenlib/intern/md5.c
index 25582a5f75036e83d24e828c02ada5d519b36f56..a521d0e523b88ec76875cedaddf2147374cc2e24 100644
--- a/source/blender/blenlib/intern/md5.c
+++ b/source/blender/blenlib/intern/md5.c
@@ -1,6 +1,7 @@
-/** \file blender/imbuf/intern/md5.c
+/** \file blender/blenlib/intern/md5.c
  *  \ingroup imbuf
  */
+
 /* md5.c - Functions to compute MD5 message digest of files or memory blocks
    according to the definition of MD5 in RFC 1321 from April 1992.
    Copyright (C) 1995 Software Foundation, Inc.
diff --git a/source/blender/blenlib/intern/path_util.c b/source/blender/blenlib/intern/path_util.c
index e79490b29fd4ba8ef89a19b02e57ecf10b54bfb0..18f7767c3036e31dc8fb8612101e3647b8fd71e3 100644
--- a/source/blender/blenlib/intern/path_util.c
+++ b/source/blender/blenlib/intern/path_util.c
@@ -1855,6 +1855,7 @@ const char *BLI_program_dir(void)
 * Also make sure the temp dir has a trailing slash
 *
 * @param fullname The full path to the temp directory
+* @param maxlen The size of the fullname buffer
 * @param userdir Directory specified in user preferences 
 */
 static void BLI_where_is_temp(char *fullname, const size_t maxlen, char *userdir)
diff --git a/source/blender/blenlib/intern/string_utf8.c b/source/blender/blenlib/intern/string_utf8.c
index 89136f270e20db1eeb272a371f07412d6b95f07b..cf865b5686d0b80776e1e788d5847d4f83465f96 100644
--- a/source/blender/blenlib/intern/string_utf8.c
+++ b/source/blender/blenlib/intern/string_utf8.c
@@ -345,7 +345,7 @@ int BLI_str_utf8_size(const char *p)
 /* was g_utf8_get_char */
 /**
  * BLI_str_utf8_as_unicode:
- * @p: a pointer to Unicode character encoded as UTF-8
+ * @p a pointer to Unicode character encoded as UTF-8
  *
  * Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
  * If @p does not point to a valid UTF-8 encoded character, results are
@@ -432,10 +432,10 @@ unsigned int BLI_str_utf8_as_unicode_step(const char *p, size_t *index)
 /* was g_unichar_to_utf8 */
 /**
  * BLI_str_utf8_from_unicode:
- * @c: a Unicode character code
- * @outbuf: output buffer, must have at least 6 bytes of space.
+ * @c a Unicode character code
+ * @param outbuf output buffer, must have at least 6 bytes of space.
  *       If %NULL, the length will be computed and returned
- *       and nothing will be written to @outbuf.
+ *       and nothing will be written to outbuf.
  *
  * Converts a single character to UTF-8.
  *
@@ -488,11 +488,11 @@ size_t BLI_str_utf8_from_unicode(unsigned int c, char *outbuf)
 /**
  * BLI_str_find_prev_char_utf8:
  * @str: pointer to the beginning of a UTF-8 encoded string
- * @p: pointer to some position within @str
+ * @p pointer to some position within @str
  *
  * Given a position @p with a UTF-8 encoded string @str, find the start
- * of the previous UTF-8 character starting before @p. Returns %NULL if no
- * UTF-8 characters are present in @str before @p.
+ * of the previous UTF-8 character starting before. @p Returns %NULL if no
+ * UTF-8 characters are present in @str before @p
  *
  * @p does not have to be at the beginning of a UTF-8 character. No check
  * is made to see if the character found is actually valid other than
@@ -513,11 +513,11 @@ char * BLI_str_find_prev_char_utf8(const char *str, const char *p)
 /* was g_utf8_find_next_char */
 /**
  * BLI_str_find_next_char_utf8:
- * @p: a pointer to a position within a UTF-8 encoded string
- * @end: a pointer to the byte following the end of the string,
+ * @p a pointer to a position within a UTF-8 encoded string
+ * @end a pointer to the byte following the end of the string,
  * or %NULL to indicate that the string is nul-terminated.
  *
- * Finds the start of the next UTF-8 character in the string after @p.
+ * Finds the start of the next UTF-8 character in the string after @p
  *
  * @p does not have to be at the beginning of a UTF-8 character. No check
  * is made to see if the character found is actually valid other than
@@ -545,9 +545,9 @@ char *BLI_str_find_next_char_utf8(const char *p, const char *end)
 /* was g_utf8_prev_char */
 /**
  * BLI_str_prev_char_utf8:
- * @p: a pointer to a position within a UTF-8 encoded string
+ * @p a pointer to a position within a UTF-8 encoded string
  *
- * Finds the previous UTF-8 character in the string before @p.
+ * Finds the previous UTF-8 character in the string before @p
  *
  * @p does not have to be at the beginning of a UTF-8 character. No check
  * is made to see if the character found is actually valid other than
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index d6beab4de21ca98f548ac5fb2eac890d2a0d8690..d5ed3096c7956180a9111f6c9c728fc8e4d015f5 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -285,7 +285,8 @@ static void mywrite( WriteData *wd, void *adr, int len)
 /**
  * BeGiN initializer for mywrite
  * @param file File descriptor
- * @param write_flags Write parameters
+ * @param compare Previous memory file (can be NULL).
+ * @param current The current memory file (can be NULL).
  * @warning Talks to other functions with global parameters
  */
 static WriteData *bgnwrite(int file, MemFile *compare, MemFile *current)
diff --git a/source/blender/bmesh/bmesh.h b/source/blender/bmesh/bmesh.h
index 1b15e5497a88f8996f246caf4bcf525b4246d235..a7caf02f02f4b3b5c42bdee07491d1818197d24a 100644
--- a/source/blender/bmesh/bmesh.h
+++ b/source/blender/bmesh/bmesh.h
@@ -25,6 +25,160 @@
 
 /** \file blender/bmesh/bmesh.h
  *  \ingroup bmesh
+ *
+ * \addtogroup bmesh BMesh
+ *
+ * \brief BMesh is a non-manifold boundary representation designed to replace the current, limited EditMesh structure,
+ * solving many of the design limitations and maintenance issues of EditMesh.
+ *
+ *
+ * \section bm_structure The Structure
+ *
+ * BMesh stores topology in four main element structures:
+ *
+ * - Faces - BMFace
+ * - Loops - BMLoop, (stores per-face-vertex data, UV's, vertex-colors, etc)
+ * - Edges - BMEdge
+ * - Verts - BMVert
+ *
+ *
+ * \subsection bm_header_flags Header Flags
+ * Each element (vertex/edge/face/loop) in a mesh has an associated bit-field called "header flags".
+ *
+ * BMHeader flags should <b>never</b> be read or written to by bmesh operators (see Operators below).
+ *
+ * Access to header flags is done with BM_elem_flag_*() functions.
+ *
+ *
+ * \subsection bm_faces Faces
+ *
+ * Faces in BMesh are stored as a circular linked list of loops. Loops store per-face-vertex data
+ * (amongst other things outlined later in this document), and define the face boundary.
+ *
+ *
+ * \subsection bm_loop The Loop
+ *
+ * Loops define the boundary loop of a face. Each loop logically corresponds to an edge,
+ * which is defined by the loop and next loop's vertices.
+ *
+ * Loops store several handy pointers:
+ *
+ * - BMLoop#v - pointer to the vertex associated with this loop.
+ * - BMLoop#e - pointer to the edge associated with this loop.
+ * - BMLoop#f - pointer to the face associated with this loop.
+ *
+ *
+ * \subsection bm_two_side_face 2-Sided Faces
+ *
+ * There are some situations where you need 2-sided faces (e.g. a face of two vertices).
+ * This is supported by BMesh, but note that such faces should only be used as intermediary steps,
+ * and should not end up in the final mesh.
+ *
+ *
+ * \subsection bm_edges_and_verts Edges and Vertices
+ *
+ * Edges and Vertices in BMesh are much like their counterparts in EditMesh,
+ * except for some members private to the BMesh api.
+ *
+ * \note There can be more then one edge between two vertices in bmesh,
+ * though the rest of blender (e.g. DerivedMesh, CDDM, CCGSubSurf, etc) does not support this.
+ *
+ *
+ * \subsection bm_queries Queries
+ *
+ * The following topological queries are available:
+ *
+ * - Edges/Faces/Loops around a vertex.
+ * - Faces around an edge.
+ * - Loops around an edge.
+ *
+ * These are accessible through the iterator api, which is covered later in this document
+ *
+ * See source/blender/bmesh/bmesh_queries.h for more misc. queries.
+ *
+ *
+ * \section bm_api The BMesh API
+ *
+ * One of the goals of the BMesh API is to make it easy and natural to produce highly maintainable code.
+ * Code duplication, etc are avoided where possible.
+ *
+ *
+ * \subsection bm_iter_api Iterator API
+ *
+ * Most topological queries in BMesh go through an iterator API (see Queries above).
+ * These are defined in bmesh_iterators.h.  If you can, please use the #BM_ITER macro in bmesh_iterators.h
+ *
+ *
+ * \subsection bm_walker_api Walker API
+ *
+ * Topological queries that require a stack (e.g. recursive queries) go through the Walker API,
+ * which is defined in bmesh_walkers.h. Currently the "walkers" are hard-coded into the API,
+ * though a mechanism for plugging in new walkers needs to be added at some point.
+ *
+ * Most topological queries should go through these two APIs;
+ * there are additional functions you can use for topological iteration, but their meant for internal bmesh code.
+ *
+ * Note that the walker API supports delimiter flags, to allow the caller to flag elements not to walk past.
+ *
+ *
+ * \subsection bm_ops Operators
+ *
+ * Operators are an integral part of BMesh. Unlike regular blender operators,
+ * BMesh operators <b>bmo's</b> are designed to be nested (e.g. call other operators).
+ *
+ * Each operator has a number of input/output "slots" which are used to pass settings & data into/out of the operator
+ * (and allows for chaining operators together).
+ *
+ * These slots are identified by name, using strings.
+ *
+ * Access to slots is done with BMO_slot_*() functions.
+ *
+ *
+ * \subsection bm_tool_flags Tool Flags
+ *
+ * The BMesh API provides a set of flags for faces, edges and vertices, which are private to an operator.
+ * These flags may be used by the client operator code as needed
+ * (a common example is flagging elements for use in another operator).
+ * Each call to an operator allocates it's own set of tool flags when it's executed,
+ * avoiding flag conflicts between operators.
+ *
+ * These flags should not be confused with header flags, which are used to store persistent flags
+ * (e.g. selection, hide status, etc).
+ *
+ * Access to tool flags is done with BMO_elem_flag_*() functions.
+ *
+ * \warning Operators are never allowed to read or write to header flags.
+ * They act entirely on the data inside their input slots.
+ * For example an operator should not check the selected state of an element,
+ * there are some exceptions to this - some operators check of a face is smooth.
+ *
+ *
+ * \subsection bm_slot_types Slot Types
+ *
+ * The following slot types are available:
+ *
+ * - integer - #BMO_OP_SLOT_INT
+ * - boolean - #BMO_OP_SLOT_BOOL
+ * - float   - #BMO_OP_SLOT_FLT
+ * - pointer - #BMO_OP_SLOT_PNT
+ * - element buffer - #BMO_OP_SLOT_ELEMENT_BUF - a list of verts/edges/faces
+ * - map     - BMO_OP_SLOT_MAPPING - simple hash map
+ *
+ *
+ * \subsection bm_slot_iter Slot Iterators
+ *
+ * Access to element buffers or maps must go through the slot iterator api, defined in bmesh_operators.h.
+ * Use #BMO_ITER where ever possible.
+ *
+ *
+ * \subsection bm_elem_buf Element Buffers
+ *
+ * The element buffer slot type is used to feed elements (verts/edges/faces) to operators.
+ * Internally they are stored as pointer arrays (which happily has not caused any problems so far).
+ * Many operators take in a buffer of elements, process it,
+ * then spit out a new one; this allows operators to be chained together.
+ *
+ * \note Element buffers may have elements of different types within the same buffer (this is supported by the API.
  */
 
 #ifdef __cplusplus
@@ -38,29 +192,6 @@ extern "C" {
 
 #include "bmesh_class.h"
 
-/*
- * short introduction:
- *
- * the bmesh structure is a boundary representation, supporting non-manifold
- * locally modifiable topology. the API is designed to allow clean, maintainable
- * code, that never (or almost never) directly inspects the underlying structure.
- *
- * The API includes iterators, including many useful topological iterators;
- * walkers, which walk over a mesh, without the risk of hitting the recursion
- * limit; operators, which are logical, reusable mesh modules; topological
- * modification functions (like split face, join faces, etc), which are used for
- * topological manipulations; and some (not yet finished) geometric utility
- * functions.
- *
- * some definitions:
- *
- * tool flags: private flags for tools.  each operator has it's own private
- *             tool flag "layer", which it can use to flag elements.
- *             tool flags are also used by various other parts of the api.
- * header flags: stores persistent flags, such as selection state, hide state,
- *               etc.  be careful of touching these.
- */
-
 /*forward declarations*/
 struct Mesh;
 
@@ -79,32 +210,37 @@ struct Mesh;
 */
 
 /* BMHeader->htype (char) */
-#define BM_VERT 	1
-#define BM_EDGE 	2
-#define BM_LOOP 	4
-#define BM_FACE 	8
-#define BM_ALL		(BM_VERT | BM_EDGE | BM_LOOP | BM_FACE)
+enum {
+	BM_VERT = 1,
+	BM_EDGE = 2,
+	BM_LOOP = 4,
+	BM_FACE = 8
+};
+
+#define BM_ALL (BM_VERT | BM_EDGE | BM_LOOP | BM_FACE)
 
 /* BMHeader->hflag (char) */
-#define BM_ELEM_SELECT	(1 << 0)
-#define BM_ELEM_HIDDEN	(1 << 1)
-#define BM_ELEM_SEAM	(1 << 2)
-#define BM_ELEM_SMOOTH	(1 << 3) /* used for faces and edges, note from the user POV,
+enum {
+	BM_ELEM_SELECT  = (1 << 0),
+	BM_ELEM_HIDDEN  = (1 << 1),
+	BM_ELEM_SEAM    = (1 << 2),
+	BM_ELEM_SMOOTH  = (1 << 3), /* used for faces and edges, note from the user POV,
                                   * this is a sharp edge when disabled */
 
-#define BM_ELEM_TAG     (1 << 4) /* internal flag, used for ensuring correct normals
-                                  * during multires interpolation, and any other time
-                                  * when temp tagging is handy.
-                                  * always assume dirty & clear before use. */
+	BM_ELEM_TAG     = (1 << 4), /* internal flag, used for ensuring correct normals
+                                 * during multires interpolation, and any other time
+                                 * when temp tagging is handy.
+                                 * always assume dirty & clear before use. */
 
-/* we have 3 spare flags which is awesome but since we're limited to 8
- * only add new flags with care! - campbell */
-/* #define BM_ELEM_SPARE	 (1 << 5) */
-/* #define BM_ELEM_SPARE	 (1 << 6) */
+	/* we have 2 spare flags which is awesome but since we're limited to 8
+	 * only add new flags with care! - campbell */
+	/* BM_ELEM_SPARE  = (1 << 5), */
+	/* BM_ELEM_SPARE  = (1 << 6), */
 
-#define BM_ELEM_INTERNAL_TAG (1 << 7) /* for low level internal API tagging,
-                                       * since tools may want to tag verts and
-                                       * not have functions clobber them */
+	BM_ELEM_INTERNAL_TAG = (1 << 7) /* for low level internal API tagging,
+                                     * since tools may want to tag verts and
+                                     * not have functions clobber them */
+};
 
 /* Mesh Level Ops */
 extern int bm_mesh_allocsize_default[4];
diff --git a/source/blender/bmesh/bmesh_class.h b/source/blender/bmesh/bmesh_class.h
index 87607f4d9e86c480d2229cb88bceb732bde40c21..f071e00211c9f885e8ecf98ac153af7b3a8ae974 100644
--- a/source/blender/bmesh/bmesh_class.h
+++ b/source/blender/bmesh/bmesh_class.h
@@ -188,9 +188,4 @@ typedef struct BMesh {
 	int opflag; /* current operator flag */
 } BMesh;
 
-#define BM_VERT		1
-#define BM_EDGE		2
-#define BM_LOOP		4
-#define BM_FACE		8
-
 #endif /* __BMESH_CLASS_H__ */
diff --git a/source/blender/bmesh/intern/bmesh_mods.c b/source/blender/bmesh/intern/bmesh_mods.c
index eb3a7f63c36d0a61268db052d3ca46e7f507bd05..37fee478b9ccb25c7d8554034bb20d6a38612fb7 100644
--- a/source/blender/bmesh/intern/bmesh_mods.c
+++ b/source/blender/bmesh/intern/bmesh_mods.c
@@ -375,7 +375,8 @@ BMFace *BM_face_split(BMesh *bm, BMFace *f, BMVert *v1, BMVert *v2, BMLoop **nl,
  * @param fac The factor along the edge
  * @param join_faces When true the faces around the vertex will be joined
  * otherwise collapse the vertex by merging the 2 edges this vert touches into one.
- *  @returns The New Edge
+ * @param kill_degenerate_faces Removes faces with less than 3 verts after collapsing.
+ * @returns The New Edge
  */
 
 BMEdge *BM_vert_collapse_faces(BMesh *bm, BMEdge *ke, BMVert *kv, float fac,
diff --git a/source/blender/bmesh/intern/bmesh_structure.h b/source/blender/bmesh/intern/bmesh_structure.h
index 75dbbb9bca6b055720922798192bedcdbcc98532..a4fa2a0168fef45dadc2107cb1bb278c59c893d7 100644
--- a/source/blender/bmesh/intern/bmesh_structure.h
+++ b/source/blender/bmesh/intern/bmesh_structure.h
@@ -55,8 +55,8 @@ BMEdge *bmesh_disk_faceedge_find_next(BMEdge *e, BMVert *v);
 /* RADIAL CYCLE MANAGMENT */
 void    bmesh_radial_append(BMEdge *e, BMLoop *l);
 void    bmesh_radial_loop_remove(BMLoop *l, BMEdge *e);
-int     bmesh_radial_face_find(BMEdge *e, BMFace *f);
 BMLoop *bmesh_radial_loop_next(BMLoop *l);
+int     bmesh_radial_face_find(BMEdge *e, BMFace *f);
 int     bmesh_radial_facevert_count(BMLoop *l, BMVert *v);
 BMLoop *bmesh_radial_faceloop_find_first(BMLoop *l, BMVert *v);
 BMLoop *bmesh_radial_faceloop_find_next(BMLoop *l, BMVert *v);
diff --git a/source/blender/collada/ExtraHandler.h b/source/blender/collada/ExtraHandler.h
index eb7d32bf91b3e7a0176ecd7736383ac06259c95b..68656dfc6908612d511958f70a2610fd7de90a82 100644
--- a/source/blender/collada/ExtraHandler.h
+++ b/source/blender/collada/ExtraHandler.h
@@ -35,7 +35,7 @@
 #include "DocumentImporter.h"
 #include "AnimationImporter.h"
 
-/** \brief Handler class for <extra> data, through which different
+/** \brief Handler class for \<extra\> data, through which different
  * profiles can be handled
  */
 class ExtraHandler : public COLLADASaxFWL::IExtraDataCallbackHandler
diff --git a/source/blender/collada/ExtraTags.h b/source/blender/collada/ExtraTags.h
index 1655ff00677c9cba31f96eca0287e58940355842..f8d12e6288a8d751f829e674aaf34345a831dbc4 100644
--- a/source/blender/collada/ExtraTags.h
+++ b/source/blender/collada/ExtraTags.h
@@ -28,7 +28,7 @@
 #include <map>
 #include <vector>
 
-/** \brief Class for saving <extra> tags for a specific UniqueId.
+/** \brief Class for saving \<extra\> tags for a specific UniqueId.
  */
 class ExtraTags
 {
diff --git a/source/blender/editors/include/BIF_glutil.h b/source/blender/editors/include/BIF_glutil.h
index b1114eba141882cb481e52788c771b36451cc31b..0f8c70977be94664bc05e10cdf8516bdaf2ff93e 100644
--- a/source/blender/editors/include/BIF_glutil.h
+++ b/source/blender/editors/include/BIF_glutil.h
@@ -97,7 +97,7 @@ float glaGetOneFloat		(int param);
 	 * should be coordinates of a point known to be within the current
 	 * view frustum.
 	 * @attention This routine should be used when the distance of @a x 
-	 * and @y away from the known good point is small (ie. for small icons
+	 * and @a y away from the known good point is small (ie. for small icons
 	 * and for bitmap characters), when drawing large+zoomed images it is
 	 * possible for overflow to occur, the glaDrawPixelsSafe routine should
 	 * be used instead.
diff --git a/source/blender/editors/space_clip/clip_toolbar.c b/source/blender/editors/space_clip/clip_toolbar.c
index 941c12df4aa51bc9e9f0cd460824476a837f61b5..d90f429a206baadbec564a0a99ba4efb2f37b45b 100644
--- a/source/blender/editors/space_clip/clip_toolbar.c
+++ b/source/blender/editors/space_clip/clip_toolbar.c
@@ -25,7 +25,7 @@
  * ***** END GPL LICENSE BLOCK *****
  */
 
-/** \file blender/editors/space_clip/clip_header.c
+/** \file blender/editors/space_clip/clip_toolbar.c
  *  \ingroup spclip
  */
 
diff --git a/source/blender/editors/space_node/node_templates.c b/source/blender/editors/space_node/node_templates.c
index 8d82dd3fb53d951a3200e740487b424d88d0fc0a..24fb55be38ed108ccb4072560fbfba985464c109 100644
--- a/source/blender/editors/space_node/node_templates.c
+++ b/source/blender/editors/space_node/node_templates.c
@@ -20,7 +20,7 @@
  * ***** END GPL LICENSE BLOCK *****
  */
 
-/** \file blender/editors/interface/interface_node.c
+/** \file blender/editors/space_node/node_templates.c
  *  \ingroup edinterface
  */
 
diff --git a/source/blender/editors/uvedit/uvedit_smart_stitch.c b/source/blender/editors/uvedit/uvedit_smart_stitch.c
index 5211e64f6fbb87cfa81fbead04dfa3708572a538..1fc1a0c705377bf5e37c12cf799c8a3d167bd6e3 100644
--- a/source/blender/editors/uvedit/uvedit_smart_stitch.c
+++ b/source/blender/editors/uvedit/uvedit_smart_stitch.c
@@ -25,7 +25,7 @@
  * ***** END GPL LICENSE BLOCK *****
  */
 
-/** \file blender/editors/uvedit/uvedit_stitch.c
+/** \file blender/editors/uvedit/uvedit_smart_stitch.c
  *  \ingroup eduv
  */
 
diff --git a/source/blender/imbuf/intern/IMB_metadata.h b/source/blender/imbuf/intern/IMB_metadata.h
index 9b3a8004c749579229c0c4ea576110b8650957cb..3ae1015d6af266a8e863e9f87c5b0dae8b032b67 100644
--- a/source/blender/imbuf/intern/IMB_metadata.h
+++ b/source/blender/imbuf/intern/IMB_metadata.h
@@ -71,7 +71,7 @@ int IMB_metadata_get_field(struct ImBuf* img, const char* key, char* value, int
  *  @param value - the data to be written to the field. zero terminated string
  *  @return    - 1 (true) if ImageInfo present, 0 (false) otherwise
  */
-int IMB_metadata_add_field(struct ImBuf* img, const char* key, const char* field);
+int IMB_metadata_add_field(struct ImBuf* img, const char* key, const char* value);
 
 /** delete the key/field par in the ImMetaData struct.
  * @param img - the ImBuf that contains the image data
diff --git a/source/blender/imbuf/intern/metadata.c b/source/blender/imbuf/intern/metadata.c
index e6b6e9aa238d63449e6a9bba3a2be2b41173015c..2b6fed59004846559501aec5e6fbe182d103c308 100644
--- a/source/blender/imbuf/intern/metadata.c
+++ b/source/blender/imbuf/intern/metadata.c
@@ -84,7 +84,7 @@ int IMB_metadata_get_field(struct ImBuf* img, const char* key, char* field, int
 	return retval;
 }
 
-int IMB_metadata_add_field(struct ImBuf* img, const char* key, const char* field)
+int IMB_metadata_add_field(struct ImBuf* img, const char* key, const char* value)
 {
 	ImMetaData *info;
 	ImMetaData *last;
@@ -106,7 +106,7 @@ int IMB_metadata_add_field(struct ImBuf* img, const char* key, const char* field
 		last->next = info;
 	}
 	info->key = BLI_strdup(key);
-	info->value = BLI_strdup(field);
+	info->value = BLI_strdup(value);
 	return 1;
 }