diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 6a7d9ad66cb108a551a9532c3681f796beacf4ab..f69886cda328850f019c7a487a29c530ca76f606 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1098,7 +1098,6 @@ Vim 7.3:
 - Conceal feature: no update when moving to another window. (Dominique Pelle,
   2010 Jul 5)  Vince will look into it.
 Patches to possibly include:
-- Mac: console clipboard support. (Bjorn Winckler, 2010 Jul 12)
 - Win32: patch for better font scaling. (George Reilly, 2009 Mar 26) 
 - Patch for completion of ":find" arguments. (Nazri Ramliy, 2009 Feb 22, 26)
   8   For ":find" and ":sfind" expand files found in 'path'.
@@ -1154,10 +1153,6 @@ Needs some work:
 	You can already yank lines and use :@" to execute them.
 	Most of do_source() would not be used, need a new function.
 	It's easy when not doing breakpoints or profiling.
-Probably not now:
-- Use timestamps for undo, so that a version a certain time ago can be found
-  and info before some time/date can be flushed. 'undopersist' gives maximum
-  time to keep undo: "3h", "1d", "2w", "1y", etc.
 
 
 More patches:
@@ -3954,6 +3949,11 @@ Searching:
 Undo:
 9   After undo/redo, in the message show whether the buffer is modified or
     not.
+8   Use timestamps for undo, so that a version a certain time ago can be found
+    and info before some time/date can be flushed. 'undopersist' gives maximum
+    time to keep undo: "3h", "1d", "2w", "1y", etc.
+8   Search for pattern in undo tree, showing when it happened and the text
+    state, so that you can jump to it.
 8   Undo tree: visually show the tree somehow (Damian Conway)
     Show only the leaves, indicating how many changed from the branch and the
     timestamp?
@@ -3964,8 +3964,6 @@ Undo:
     was changed outside of Vim.
     Would require doing a diff between the buffer text and the file and
     storing the differences.
-8   Search for pattern in undo tree, showing when it happened and the text
-    state, so that you can jump to it.
 -   Make it possible to undo all the commands from a mapping, including a
     trailing unfinished command, e.g. for ":map K iX^[r".
 -   When accidentally hitting "R" instead of Ctrl-R, further Ctrl-R is not
diff --git a/src/ops.c b/src/ops.c
index 4eef6888817fc281a1e2b7e6bd25dedbd48d077f..5e0c99ff7adb98d56b8d6763609f62d00af4fbba 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -4155,7 +4155,8 @@ do_join(count, insert_space, save_undo)
     char_u	*cend;
     char_u	*newp;
     char_u	*spaces;	/* number of spaces inserte before a line */
-    int		endcurr1, endcurr2;
+    int		endcurr1 = NUL;
+    int		endcurr2 = NUL;
     int		currsize = 0;	/* size of the current line */
     int		sumsize = 0;	/* size of the long new line */
     linenr_T	t;
diff --git a/src/os_macosx.m b/src/os_macosx.m
index 7067df4b7435f9bc87b600720c756869bce1c5d8..dcde55174ead82cfd1351655be6d0aacd707d25a 100644
--- a/src/os_macosx.m
+++ b/src/os_macosx.m
@@ -686,7 +686,7 @@ clip_mch_request_selection(VimClipboard *cbd)
 	    n = [mstring replaceOccurrencesOfString:@"\x0d" withString:@"\x0a"
 					   options:0 range:range];
 	}
-	
+
 	/* Scan for newline character to decide whether the string should be
 	 * pasted line-wise or character-wise.
 	 */
@@ -734,7 +734,7 @@ clip_mch_set_selection(VimClipboard *cbd)
     cbd->owned = TRUE;
     clip_get_selection(cbd);
     cbd->owned = FALSE;
-    
+
     /* Get the text to put on the pasteboard. */
     long_u llen = 0; char_u *str = 0;
     int motion_type = clip_convert_selection(&str, &llen, cbd);
@@ -771,7 +771,7 @@ clip_mch_set_selection(VimClipboard *cbd)
 	[pb setPropertyList:plist forType:VimPboardType];
 
 	[pb setString:string forType:NSStringPboardType];
-	
+
 	[string release];
     }
 
diff --git a/src/proto.h b/src/proto.h
index 01db6895f4b679ae196bade3c0cec9e0e0a1fb15..c39f7f00b6bd6c1b756611a125d8aee6b7097533 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -277,6 +277,13 @@ extern char *vim_SelFile __ARGS((Widget toplevel, char *prompt, char *init_path,
 #ifdef MACOS_CONVERT
 # include "os_mac_conv.pro"
 #endif
+#if defined(MACOS_X_UNIX) && defined(FEAT_CLIPBOARD) && !defined(FEAT_GUI)
+/* functions in os_macosx.m */
+void clip_mch_lose_selection(VimClipboard *cbd);
+int clip_mch_own_selection(VimClipboard *cbd);
+void clip_mch_request_selection(VimClipboard *cbd);
+void clip_mch_set_selection(VimClipboard *cbd);
+#endif
 
 #ifdef __BORLANDC__
 # define _PROTO_H