updated for version 7.0030
diff --git a/Filelist b/Filelist
index cf9c2d6..e82988a 100644
--- a/Filelist
+++ b/Filelist
@@ -342,17 +342,12 @@
 		README_amisrc.txt.info \
 		src.info \
 		src/INSTALLami.txt \
-		src/Make_agui.mak \
-		src/Make_aros.mak \
 		src/Make_dice.mak \
 		src/Make_manx.mak \
 		src/Make_morph.mak \
 		src/Make_sas.mak \
-		src/gui_amiga.c \
-		src/gui_amiga.h \
 		src/os_amiga.c \
 		src/os_amiga.h \
-		src/proto/gui_amiga.pro \
 		src/proto/os_amiga.pro \
 		src/testdir/Make_amiga.mak \
 		src/testdir/amiga.vim \
@@ -422,8 +417,6 @@
 		README_os390.txt \
 		src/Make_mint.mak \
 		src/Make_ro.mak \
-		src/gui_beos.cc \
-		src/gui_beos.h \
 		src/gui_riscos.c \
 		src/gui_riscos.h \
 		src/if_sniff.c \
@@ -436,9 +429,7 @@
 		src/os_mint.h \
 		src/os_riscos.c \
 		src/os_riscos.h \
-		src/proto/gui_beos.pro \
 		src/proto/gui_riscos.pro \
-		src/proto/os_beos.pro \
 		src/proto/os_riscos.pro \
 		src/os_vms_fix.com \
 		src/toolbar.phi \
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 43d5954..5402a2c 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Jan 03
+*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Jan 04
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -3524,11 +3524,13 @@
 
 :let &{option-name} = {expr1}			*:let-option* *:let-star*
 			Set option {option-name} to the result of the
-			expression {expr1}.  The value is always converted to
-			the type of the option.
+			expression {expr1}.  A String or Number value is
+			always converted to the type of the option.
 			For an option local to a window or buffer the effect
 			is just like using the |:set| command: both the local
 			value and the global value is changed.
+			Example: >
+				:let &path = &path . ',/usr/local/include'
 
 :let &l:{option-name} = {expr1}
 			Like above, but only set the local value of an option
@@ -3538,6 +3540,25 @@
 			Like above, but only set the global value of an option
 			(if there is one).  Works like |:setglobal|.
 
+:let [{name1}, {name2}, ...] = {expr1}			*:let-unpack*
+			{expr1} must evaluate to a List.  The first item in
+			the list is assigned to {name1}, the second item to
+			{name2}, etc.
+			The number of names must match the number of items in
+			the List.
+			Each name can be one of the items of the ":let"
+			command as mentioned above.
+			Example: >
+				:let [s, item] = GetItem(s)
+
+:let [{name}, ..., ; {lastname}] = {expr1}
+			Like above, but the List may have more items than
+			there are names.  A list of the remaining items is
+			assigned to {lastname}.  If there are no remaining
+			items {lastname} is set to an empty list.
+			Example: >
+				:let [a, b; rest] = ["aval", "bval", 3, 4]
+<
 							*E106*
 :let {var-name}	..	List the value of variable {var-name}.  Several
 			variable names may be given.
diff --git a/runtime/lang/menu_de_de.latin1.vim b/runtime/lang/menu_de_de.latin1.vim
index 15ecf53..f0ed55f 100644
--- a/runtime/lang/menu_de_de.latin1.vim
+++ b/runtime/lang/menu_de_de.latin1.vim
@@ -1,6 +1,6 @@
 " Menu Translations:	German / Deutsch
 " Maintainer:		Johannes Zellner <johannes@zellner.org>
-" Originally By:	Marcin Dalecki <dalecki@cs.net.pl>
+" Originally By:	Marcin Dalecki <martin@dalecki.de>
 " Last Change:	Sat, 20 Apr 2002 19:02:42 CEST
 " vim:set foldmethod=marker tabstop=8:
 
diff --git a/runtime/syntax/spec.vim b/runtime/syntax/spec.vim
index dcc9a54..cb2f304 100644
--- a/runtime/syntax/spec.vim
+++ b/runtime/syntax/spec.vim
@@ -3,7 +3,7 @@
 " Language:    SPEC: Build/install scripts for Linux RPM packages
 " Maintainer:  Donovan Rebbechi elflord@pegasus.rutgers.edu
 " URL:	       http://pegasus.rutgers.edu/~elflord/vim/syntax/spec.vim
-" Last Change: Fri Dec 3 11:54 EST 2004 Martin Dalecki
+" Last Change: Fri Dec 3 11:54 EST 2004 Marcin Dalecki
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
diff --git a/src/ex_eval.c b/src/ex_eval.c
index e2699bc..67f8b89 100644
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -1601,8 +1601,8 @@
 		if (cstack->cs_pending[cstack->cs_idx] == CSTP_RETURN)
 		{
 		    report_discard_pending(CSTP_RETURN,
-			    cstack->cs_retvar[cstack->cs_idx]);
-		    discard_pending_return(cstack->cs_retvar[cstack->cs_idx]);
+					   cstack->cs_rettv[cstack->cs_idx]);
+		    discard_pending_return(cstack->cs_rettv[cstack->cs_idx]);
 		}
 		if (pending == CSTP_ERROR && !did_emsg)
 		    pending |= (THROW_ON_ERROR) ? CSTP_THROW : 0;
@@ -1647,7 +1647,7 @@
     int		skip;
     int		rethrow = FALSE;
     int		pending = CSTP_NONE;
-    void	*retvar = NULL;
+    void	*rettv = NULL;
     struct condstack	*cstack = eap->cstack;
 
     if (cstack->cs_trylevel <= 0 || cstack->cs_idx < 0)
@@ -1746,7 +1746,7 @@
 	    pending = cstack->cs_pending[idx];
 	    cstack->cs_pending[idx] = CSTP_NONE;
 	    if (pending == CSTP_RETURN)
-		retvar = cstack->cs_retvar[idx];
+		rettv = cstack->cs_rettv[idx];
 	    else if (pending & CSTP_THROW)
 		current_exception = cstack->cs_exception[idx];
 	}
@@ -1769,7 +1769,7 @@
 	if (!skip)
 	{
 	    report_resume_pending(pending,
-		    (pending == CSTP_RETURN) ? retvar :
+		    (pending == CSTP_RETURN) ? rettv :
 		    (pending & CSTP_THROW) ? (void *)current_exception : NULL);
 	    switch (pending)
 	    {
@@ -1790,7 +1790,7 @@
 		    ex_break(eap);
 		    break;
 		case CSTP_RETURN:
-		    do_return(eap, FALSE, FALSE, retvar);
+		    do_return(eap, FALSE, FALSE, rettv);
 		    break;
 		case CSTP_FINISH:
 		    do_finish(eap, FALSE);
@@ -2023,8 +2023,8 @@
 
 		    case CSTP_RETURN:
 			report_discard_pending(CSTP_RETURN,
-				cstack->cs_retvar[idx]);
-			discard_pending_return(cstack->cs_retvar[idx]);
+						      cstack->cs_rettv[idx]);
+			discard_pending_return(cstack->cs_rettv[idx]);
 			cstack->cs_pending[idx] = CSTP_NONE;
 			break;
 
diff --git a/src/gui_gtk.c b/src/gui_gtk.c
index e97dc4f..e9e6d5b 100644
--- a/src/gui_gtk.c
+++ b/src/gui_gtk.c
@@ -10,7 +10,7 @@
 /*
  * Porting to GTK+ was done by:
  *
- * (C) 1998,1999,2000 by Marcin Dalecki <dalecki@evision.ag>
+ * (C) 1998,1999,2000 by Marcin Dalecki <martin@dalecki.de>
  *
  * With GREAT support and continuous encouragements by Andy Kahn and of
  * course Bram Moolenaar!
diff --git a/src/po/pl.po b/src/po/pl.po
index 303d334..7f4030d 100644
--- a/src/po/pl.po
+++ b/src/po/pl.po
@@ -2,7 +2,7 @@
 # Polish Translation for Vim
 #
 # updated 2001 for vim-6.0
-# FIRST AUTHOR Marcin Dalecki <dalecki@cyber.cs.net.pl>, 2000.
+# FIRST AUTHOR Marcin Dalecki <martin@dalecki.de>, 2000.
 # Mikolaj Machowski <mikmach@wp.pl>, 2004.
 #
 msgid ""
diff --git a/src/structs.h b/src/structs.h
index 5a76036..0eba71f 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -598,7 +598,7 @@
     char	cs_flags[CSTACK_LEN];	/* CSF_ flags */
     char	cs_pending[CSTACK_LEN];	/* CSTP_: what's pending in ":finally"*/
     union {
-	void   *cs_pend_rv[CSTACK_LEN];	/* returnval for pending return */
+	void   *cs_pend_rv[CSTACK_LEN];	/* return typeval for pending return */
 	void   *cs_pend_ex[CSTACK_LEN];	/* exception for pending throw */
     }		cs_pend;
     int		cs_line[CSTACK_LEN];	/* line number of ":while" line */
@@ -611,7 +611,7 @@
     char	cs_had_endwhile;	/* just found ":endwhile" */
     char	cs_had_finally;		/* just found ":finally" */
 };
-# define cs_retvar	cs_pend.cs_pend_rv
+# define cs_rettv	cs_pend.cs_pend_rv
 # define cs_exception	cs_pend.cs_pend_ex
 
 # define CSF_TRUE	1	/* condition was TRUE */
@@ -1827,10 +1827,6 @@
     HMENU	submenu_id;	    /* If this is submenu, add children here */
     HWND	tearoff_handle;	    /* hWnd of tearoff if created */
 #endif
-#if FEAT_GUI_BEOS
-    BMenuItem	*id;		    /* Id of menu item */
-    BMenu	*submenu_id;	    /* If this is submenu, add children here */
-#endif
 #ifdef FEAT_GUI_MAC
 /*  MenuHandle	id; */
 /*  short	index;	*/	    /* the item index within the father menu */
@@ -1840,17 +1836,6 @@
     MenuHandle	menu_handle;
     MenuHandle	submenu_handle;
 #endif
-#if defined(FEAT_GUI_AMIGA)
-				    /* only one of these will ever be set, but
-				     * they are used to allow the menu routine
-				     * to easily get a hold of the parent menu
-				     * pointer which is needed by all items to
-				     * form the chain correctly */
-    int		    id;		    /* unused by the amiga, but used in the
-				     * code kept for compatibility */
-    struct Menu	    *menuPtr;
-    struct MenuItem *menuItemPtr;
-#endif
 #ifdef RISCOS
     int		*id;		    /* Not used, but gui.c needs it */
     int		greyed_out;	    /* Flag */
diff --git a/src/version.c b/src/version.c
index f27f0ea..106ca74 100644
--- a/src/version.c
+++ b/src/version.c
@@ -848,9 +848,6 @@
     MSG_PUTS(_("with X11-Athena GUI."));
 #    endif
 #   else
-#    ifdef FEAT_GUI_BEOS
-    MSG_PUTS(_("with BeOS GUI."));
-#    else
 #     ifdef FEAT_GUI_PHOTON
     MSG_PUTS(_("with Photon GUI."));
 #     else
@@ -873,7 +870,6 @@
 #	 endif
 #	endif
 #      endif
-#     endif
 #    endif
 #   endif
 #  endif
diff --git a/src/version.h b/src/version.h
index c56ae49..d543509 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
 #define VIM_VERSION_NODOT	"vim70aa"
 #define VIM_VERSION_SHORT	"7.0aa"
 #define VIM_VERSION_MEDIUM	"7.0aa ALPHA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2004 Jan 3)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2004 Jan 3, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2004 Jan 4)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2004 Jan 4, compiled "