diff --git a/compiler/globtype.pas b/compiler/globtype.pas
index 2d7f515d3f..73a9bf4bae 100644
--- a/compiler/globtype.pas
+++ b/compiler/globtype.pas
@@ -121,7 +121,7 @@ interface
          cs_fp_emulation,cs_extsyntax,cs_openstring,
          { support }
          cs_support_goto,cs_support_macro,
-         cs_support_c_operators,cs_static_keyword,
+         cs_support_c_operators,
          { generation }
          cs_profile,cs_debuginfo,cs_compilesystem,
          cs_lineinfo,cs_implicit_exceptions,
diff --git a/compiler/msg/errorct.msg b/compiler/msg/errorct.msg
index 3b06b660dd..b3c69f68f9 100644
--- a/compiler/msg/errorct.msg
+++ b/compiler/msg/errorct.msg
@@ -2282,7 +2282,6 @@ S*2Aas_assemblar utilitzant GNU AS
 **2So_Igual que -Mtp
 **2Sp_Igual que -Mgpc
 **2Ss_El nom del constructor ha de ser init (destructor = done)
-**2St_Permet la paraula clau -static- en els objectes
 **1s_No cridis l'assemblador ni l'enlla�ador
 **2sh_Genera la seq��ncia per enlla�ar a l'anfitri�
 **2st_Genera la seq��ncia per enlla�ar al dest�
diff --git a/compiler/msg/errord.msg b/compiler/msg/errord.msg
index 90d302986a..89918eb144 100644
--- a/compiler/msg/errord.msg
+++ b/compiler/msg/errord.msg
@@ -2888,7 +2888,6 @@ S*2Aas_Assembliere mit Hilfe von GNU AS
 **2So_Sei TP/BP 7.0 kompatibel (wie -Mtp)
 **2Sp_Sei gpc-kompatibel (wie -Mgpc)
 **2Ss_Konstruktor- und Destruktorname m�ssen "Init" und "Done" sein
-**2St_Erlaube Schl�sselwort static in Objekten
 **2Sx_Exception Schl�sselw�rter einschalten (Voreinstellung in Delphi/ObjFPC Moden)
 **1s_Rufe weder Assembler noch Linker auf (nur mit -a)
 **2sh_Erzeuge Script um auf dem Host zu linken
diff --git a/compiler/msg/errorda.msg b/compiler/msg/errorda.msg
index f878cc855b..2e66d7df04 100644
--- a/compiler/msg/errorda.msg
+++ b/compiler/msg/errorda.msg
@@ -2336,7 +2336,6 @@ option_help_pages=11025_[
 **2So_samme som -Mtp
 **2Sp_samme som -Mgpc
 **2Ss_constructor-navn skal være "init" (destructor-navn skal være "done")
-**2St_tillad nøgleordet static i objekter
 **1s_kør hverken assembler eller linker
 **2sh_generér script til linkning på værtscomputeren
 **2st_generér script til linkning på mål-computeren
diff --git a/compiler/msg/errordu.msg b/compiler/msg/errordu.msg
index 683a0ee6da..f3b09ce32c 100644
--- a/compiler/msg/errordu.msg
+++ b/compiler/msg/errordu.msg
@@ -2888,7 +2888,6 @@ S*2Aas_Assembliere mit Hilfe von GNU AS
 **2So_Sei TP/BP 7.0 kompatibel (wie -Mtp)
 **2Sp_Sei gpc-kompatibel (wie -Mgpc)
 **2Ss_Konstruktor- und Destruktorname müssen "Init" und "Done" sein
-**2St_Erlaube Schlüsselwort static in Objekten
 **2Sx_Exception Schlüsselwörter einschalten (Voreinstellung in Delphi/ObjFPC Moden)
 **1s_Rufe weder Assembler noch Linker auf (nur mit -a)
 **2sh_Erzeuge Script um auf dem Host zu linken
diff --git a/compiler/msg/errore.msg b/compiler/msg/errore.msg
index a6fbbacb67..83bf8bfc43 100644
--- a/compiler/msg/errore.msg
+++ b/compiler/msg/errore.msg
@@ -3011,7 +3011,6 @@ S*2Aas_Assemble using GNU AS
 **2Sm_Support macros like C (global)
 **2So_Same as -Mtp
 **2Ss_Constructor name must be init (destructor must be done)
-**2St_Allow static keyword in objects
 **2Sx_Enable exception keywords (default in Delphi/ObjFPC modes)
 **1s_Do not call assembler and linker
 **2sh_Generate script to link on host
diff --git a/compiler/msg/errores.msg b/compiler/msg/errores.msg
index ecdc7f4df3..f9d38dddb1 100644
--- a/compiler/msg/errores.msg
+++ b/compiler/msg/errores.msg
@@ -2300,7 +2300,6 @@ S*2Aas_ensamblar usando GNU AS
 **2So_igual que -Mtp
 **2Sp_igual que -Mgpc
 **2Ss_el nombre del constructor debe ser init (el destructor debe ser done)
-**2St_permitir la palabra reservada static en objetos
 **1s_no llamar al ensamblador ni enlazador
 **2sh_Generar script para enlazar en host
 **2st_Generar script para enlazar en destino
diff --git a/compiler/msg/errorf.msg b/compiler/msg/errorf.msg
index 5bf21eaf1c..5c9dbee077 100644
--- a/compiler/msg/errorf.msg
+++ b/compiler/msg/errorf.msg
@@ -1805,7 +1805,6 @@ option_help_pages=11025_[
 **2So_essaye d'�tre compatible avec TP/BP 7.0
 **2Sp_essaye d'�tre compatible avec GPC
 **2Ss_les constructeurs doivent s'appeler init (et les destructeurs done)
-**2St_autorise "static" dans les objects
 **1s_n'appelle pas l'assembleur ni le linker
 **1u<x>_rend le symbole <x> non d�fini
 **1U_options d'unit�s :
diff --git a/compiler/msg/errorfi.msg b/compiler/msg/errorfi.msg
index 952eda7c3c..9a66af9a14 100644
--- a/compiler/msg/errorfi.msg
+++ b/compiler/msg/errorfi.msg
@@ -2438,7 +2438,6 @@ S*2Aas_assembler avec GNU AS
 **2So_identique � -Mtp
 **2Sp_identique � -Mgpc
 **2Ss_les constructeurs doivent s'appeler init (et les destructeurs done)
-**2St_autorise "static" dans les objects
 **1s_n'appelle pas l'assembleur ni le linker
 **2sh_g�n�rer un script � lier sur l'h�te
 **2st_g�n�rer un script � lier sur la cible
diff --git a/compiler/msg/errorhe.msg b/compiler/msg/errorhe.msg
index 82ea97288f..56276ae65b 100644
--- a/compiler/msg/errorhe.msg
+++ b/compiler/msg/errorhe.msg
@@ -2604,7 +2604,6 @@ S*2Aas_
 **2Sm_���� ����� ����� �C (��������)
 **2So_��� � -Mtp
 **2Ss_�� ���� ���� ����� init (�� ���� ���� ����� done)
-**2St_���� ����� ���� ����������
 **2Sx_���� ����� ���� �exception (����� ���� ����� Delphi/ObjFPC)
 **1s_�� ���� ����� ������
 **2sh_��� ����� ������ �����
diff --git a/compiler/msg/errorheu.msg b/compiler/msg/errorheu.msg
index 3416ee88c0..d8b865d711 100644
--- a/compiler/msg/errorheu.msg
+++ b/compiler/msg/errorheu.msg
@@ -2604,7 +2604,6 @@ S*2Aas_אסוף עם GNU AS
 **2Sm_תמוך במקרו דומים לC (גלובליים)
 **2So_זהה ל -Mtp
 **2Ss_שם יוצר חייב להיות init (שם הורס חייב להיות done)
-**2St_אפשר מילות מפתח באובייקטים
 **2Sx_אפשר מילות מפתח לexception (ברירת מחדל במצבי Delphi/ObjFPC)
 **1s_אל תקרא למאסף והמקשר
 **2sh_צור תסריט לקישור במארח
diff --git a/compiler/msg/errorid.msg b/compiler/msg/errorid.msg
index bf522c5735..260412cd98 100644
--- a/compiler/msg/errorid.msg
+++ b/compiler/msg/errorid.msg
@@ -2620,7 +2620,6 @@ S*2Aas_Rangkai menggunakan GNU AS
 **2Sm_Dukung makro seperti C (global)
 **2So_Sama seperti -Mtp
 **2Ss_Nama konstruktor harus init (destruktor harus done)
-**2St_Ijinkan kata kunci static dalam obyek
 **2Sx_Hidupkan kata kunci exception (standar dalam mode Delphi/ObjFPC)
 **1s_Jangan panggil assembler dan linker
 **2sh_Hasilkan naskah untuk me-link pada host
diff --git a/compiler/msg/errorn.msg b/compiler/msg/errorn.msg
index 610f46710e..cf46e0f686 100644
--- a/compiler/msg/errorn.msg
+++ b/compiler/msg/errorn.msg
@@ -2288,7 +2288,6 @@ option_help_pages=11025_[
 **2So_Probeer TP/BP-7.0-compatibel te zijn
 **2Sp_Probeer GNU-Pascal-compatibel te zijn
 **2Ss_Constructor naam moet init zijn (destructor moet done zijn)
-**2St_Sta het sleutelwoord "static" toe in objecten
 **1s_Roep assembler en linker niet op (slechts met -a)
 **1sh_Genereer een script om op het hostplatform te linken
 **1sr_Voer geen registertoewijzing uit (optimalisaties worden uitgeschakeld)
diff --git a/compiler/msg/errorpl.msg b/compiler/msg/errorpl.msg
index 4f79484299..767d40d8eb 100644
--- a/compiler/msg/errorpl.msg
+++ b/compiler/msg/errorpl.msg
@@ -2307,7 +2307,6 @@ S*2Aas_asemblacja przy u
 **2So_to samo co -Mtp
 **2Sp_to samo co -Mgpc
 **2Ss_konstruktory musz� mie� nazw� init (destruktory - done)
-**2St_zezwalanie na s�owo kluczowe static w obiektach
 **1s_pomini�cie wywo�ania asemblera i linkera
 **2sh_generacja skryptu do linkowania na ho�cie
 **2st_generacja skryptu do linkowania na celu
diff --git a/compiler/msg/errorpli.msg b/compiler/msg/errorpli.msg
index 7d7b65a087..de77c73c7c 100644
--- a/compiler/msg/errorpli.msg
+++ b/compiler/msg/errorpli.msg
@@ -2307,7 +2307,6 @@ S*2Aas_asemblacja przy u
 **2So_to samo co -Mtp
 **2Sp_to samo co -Mgpc
 **2Ss_konstruktory musz� mie� nazw� init (destruktory - done)
-**2St_zezwalanie na s�owo kluczowe static w obiektach
 **1s_pomini�cie wywo�ania asemblera i linkera
 **2sh_generacja skryptu do linkowania na ho�cie
 **2st_generacja skryptu do linkowania na celu
diff --git a/compiler/msg/errorpt.msg b/compiler/msg/errorpt.msg
index b5ac391c64..067cb3cdd8 100644
--- a/compiler/msg/errorpt.msg
+++ b/compiler/msg/errorpt.msg
@@ -3002,7 +3002,6 @@ S*2Aas_Monta usando o GNU AS
 **2Sm_Suporta macros semelhantes C (global)
 **2So_Mesmo que -Mtp
 **2Ss_Nome construtor deve ser 'init' (destruidor deve ser 'done')
-**2St_Permite palavras-chave est�ticas em objetos
 **2Sx_Habilita palavras-chave exce��es (padr�o nos modos Delphi/ObjFPC)
 **1s_N�o chama o montador assembler e o vinculador
 **2sh_Gera roteiro para vincular no servidor
diff --git a/compiler/msg/errorptu.msg b/compiler/msg/errorptu.msg
index 8b067d2f75..162aacf41c 100644
--- a/compiler/msg/errorptu.msg
+++ b/compiler/msg/errorptu.msg
@@ -3002,7 +3002,6 @@ S*2Aas_Monta usando o GNU AS
 **2Sm_Suporta macros semelhantes C (global)
 **2So_Mesmo que -Mtp
 **2Ss_Nome construtor deve ser 'init' (destruidor deve ser 'done')
-**2St_Permite palavras-chave estáticas em objetos
 **2Sx_Habilita palavras-chave exceções (padrão nos modos Delphi/ObjFPC)
 **1s_Não chama o montador assembler e o vinculador
 **2sh_Gera roteiro para vincular no servidor
diff --git a/compiler/msg/errorr.msg b/compiler/msg/errorr.msg
index e57bde1016..e2c5d5a3c7 100644
--- a/compiler/msg/errorr.msg
+++ b/compiler/msg/errorr.msg
@@ -2721,7 +2721,6 @@ S*2Aas_
 **2Sm_�����p��� ���ப����� ��� � C (������쭮)
 **2So_�� ��, �� � -Mtp
 **2Ss_��� ��������� ������ ���� init (��� �������� ������ ���� done)
-**2St_�����p��� ���祢��� ᫮�� static � ��ꥪ��
 **2Sx_�����প� ���祢�� ᫮� �᪫�祭�� (�� 㬮�砭�� � ०���� Delphi/ObjFPC)
 **1s_�� ��뢠�� ��ᥬ���� � ��������騪
 **2sh_������� �ਯ� ��� ���������� �� ���
diff --git a/compiler/msg/errorru.msg b/compiler/msg/errorru.msg
index b2d096e805..2b4f4bd2b7 100644
--- a/compiler/msg/errorru.msg
+++ b/compiler/msg/errorru.msg
@@ -2721,7 +2721,6 @@ S*2Aas_Ассемблер GNU AS
 **2Sm_Поддеpжка макрокоманд как в C (глобально)
 **2So_То же, что и -Mtp
 **2Ss_Имя конструктора должно быть init (имя деструктора должно быть done)
-**2St_Поддеpжка ключевого слова static в объектах
 **2Sx_Поддержка ключевых слов исключений (по умолчанию в режимах Delphi/ObjFPC)
 **1s_Не вызывать ассемблер и компоновщик
 **2sh_Создать скрипт для компоновки на хосте
diff --git a/compiler/msg/errorues.msg b/compiler/msg/errorues.msg
index 9ff09f842a..5db19f4199 100644
--- a/compiler/msg/errorues.msg
+++ b/compiler/msg/errorues.msg
@@ -2294,7 +2294,6 @@ S*2Aas_ensamblar usando GNU AS
 **2So_igual que -Mtp
 **2Sp_igual que -Mgpc
 **2Ss_el nombre del constructor debe ser init (el destructor debe ser done)
-**2St_permitir la palabra reservada static en objetos
 **1s_no llamar al ensamblador ni enlazador
 **2sh_Generar script para enlazar en host
 **2st_Generar script para enlazar en destino
diff --git a/compiler/msgidx.inc b/compiler/msgidx.inc
index 419f46b16e..6ce53f1bb7 100644
--- a/compiler/msgidx.inc
+++ b/compiler/msgidx.inc
@@ -838,7 +838,7 @@ const
   option_info=11024;
   option_help_pages=11025;
 
-  MsgTxtSize = 55090;
+  MsgTxtSize = 55052;
 
   MsgIdxMax : array[1..20] of longint=(
     24,87,283,95,71,51,110,22,202,63,
diff --git a/compiler/msgtxt.inc b/compiler/msgtxt.inc
index 97cdeaec8c..260d104f41 100644
--- a/compiler/msgtxt.inc
+++ b/compiler/msgtxt.inc
@@ -1181,116 +1181,115 @@ const msgtxt : array[0..000229,1..240] of char=(
   '**2Sm_Support macros like C (global)'#010+
   '**2So_Same as -Mtp'#010+
   '**2Ss_Constructor name must be init (destructor must be done)'#010+
-  '**2St_Allow static keyword in objects'#010+
-  '**2Sx_Enable exception keywords (default in Delphi/ObjFPC',' modes)'#010+
-  '**1s_Do not call assembler and linker'#010+
+  '**2Sx_Enable exception keywords (default in Delphi/ObjFPC modes)'#010+
+  '**1s_Do not call assembler and',' linker'#010+
   '**2sh_Generate script to link on host'#010+
   '**2st_Generate script to link on target'#010+
   '**2sr_Skip register allocation phase (use with -alr)'#010+
   '**1T<x>_Target operating system:'#010+
-  '3*2Temx_OS/2 via EMX (includin','g EMX/RSX extender)'#010+
-  '3*2Tfreebsd_FreeBSD'#010+
+  '3*2Temx_OS/2 via EMX (including EMX/RSX extender)'#010+
+  '3*2Tfreebsd_FreeBS','D'#010+
   '3*2Tgo32v2_Version 2 of DJ Delorie DOS extender'#010+
   '3*2Tlinux_Linux'#010+
   '3*2Tnetbsd_NetBSD'#010+
   '3*2Tnetware_Novell Netware Module (clib)'#010+
   '3*2Tnetwlibc_Novell Netware Module (libc)'#010+
   '3*2Topenbsd_OpenBSD'#010+
-  '3*2Tos2_OS/2 / ','eComStation'#010+
+  '3*2Tos2_OS/2 / eComStation'#010+
   '3*2Tsunos_SunOS/Solaris'#010+
-  '3*2Tsymbian_Symbian OS'#010+
+  '3*','2Tsymbian_Symbian OS'#010+
   '3*2Twatcom_Watcom compatible DOS extender'#010+
   '3*2Twdosx_WDOSX DOS extender'#010+
   '3*2Twin32_Windows 32 Bit'#010+
   '3*2Twince_Windows CE'#010+
   '4*2Tlinux_Linux'#010+
   '6*2Tamiga_Commodore Amiga'#010+
-  '6*2Tatari_Atari ST/STe','/TT'#010+
+  '6*2Tatari_Atari ST/STe/TT'#010+
   '6*2Tlinux_Linux/m68k'#010+
-  '6*2Tmacos_Macintosh m68k (not supported)'#010+
+  '6*2Tmacos_Mac','intosh m68k (not supported)'#010+
   '6*2Tpalmos_PalmOS'#010+
   'A*2Tlinux_Linux'#010+
   'A*2Twince_Windows CE'#010+
   'P*2Tamiga_AmigaOS on PowerPC'#010+
   'P*2Tdarwin_Darwin and Mac OS X on PowerPC'#010+
   'P*2Tlinux_Linux on PowerPC'#010+
-  'P*2Tmacos_Mac OS (cla','ssic) on PowerPC'#010+
+  'P*2Tmacos_Mac OS (classic) on PowerPC'#010+
   'P*2Tmorphos_MorphOS'#010+
-  'S*2Tlinux_Linux'#010+
+  'S','*2Tlinux_Linux'#010+
   '**1u<x>_Undefines the symbol <x>'#010+
   '**1U_Unit options:'#010+
   '**2Un_Do not check where the unit name matches the file name'#010+
   '**2Ur_Generate release unit files (never automatically recompiled)'#010+
-  '**2Us_C','ompile a system unit'#010+
-  '**1v<x>_Be verbose. <x> is a combination of the following letters:'#010+
+  '**2Us_Compile a system unit'#010+
+  '**1v<x>_Be verbos','e. <x> is a combination of the following letters:'#010+
   '**2*_e : Show errors (default)       0 : Show nothing (except errors)'#010+
   '**2*_w : Show warnings               u : Show unit info'#010+
-  '**2*_n : Show notes       ','           t : Show tried/used files'#010+
-  '**2*_h : Show hints                  c : Show conditionals'#010+
+  '**2*_n : Show notes                  t : Show tried/used files'#010+
+  '*','*2*_h : Show hints                  c : Show conditionals'#010+
   '**2*_i : Show general info           d : Show debug info'#010+
   '**2*_l : Show linenumbers            r : Rhide/GCC compatibility mode'#010+
-  '**2*_s : Show tim','e stamps            q : Show message numbers'#010+
+  '**2*_s : Show time stamps            q : Show message n','umbers'#010+
   '**2*_a : Show everything             x : Executable info (Win32 only)'#010+
   '**2*_b : Write file names messages   p : Write tree.log with parse tre'+
   'e'#010+
-  '**2*_    with full path              v : Write fpcdeb','ug.txt with'#010+
-  '**2*_                                    lots of debugging info'#010+
+  '**2*_    with full path              v : Write fpcdebug.txt with'#010+
+  '**2*_                     ','               lots of debugging info'#010+
   '**2*_m<x>,<y> : Don'#039't show messages numbered <x> and <y>'#010+
   '3*1W<x>_Target-specific options (targets)'#010+
   'A*1W<x>_Target-specific options (targets)'#010+
-  'P*1W<x>_Target-specific',' options (targets)'#010+
-  'p*1W<x>_Target-specific options (targets)'#010+
+  'P*1W<x>_Target-specific options (targets)'#010+
+  'p*1W<x>_Target-spec','ific options (targets)'#010+
   '3*2Wb_Create a bundle instead of a library (Darwin)'#010+
   'P*2Wb_Create a bundle instead of a library (Darwin)'#010+
   'p*2Wb_Create a bundle instead of a library (Darwin)'#010+
-  '3*2WB_Create a relocata','ble image (Windows)'#010+
-  'A*2WB_Create a relocatable image (Windows, Symbian)'#010+
+  '3*2WB_Create a relocatable image (Windows)'#010+
+  'A*2WB_Create a rel','ocatable image (Windows, Symbian)'#010+
   '3*2WC_Specify console type application (EMX, OS/2, Windows)'#010+
   'A*2WC_Specify console type application (Windows)'#010+
   'P*2WC_Specify console type application (Classic Mac OS)'#010+
-  '3*2','WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+
+  '3*2WD_Use DEFFILE to export functions of ','DLL or EXE (Windows)'#010+
   'A*2WD_Use DEFFILE to export functions of DLL or EXE (Windows)'#010+
   '3*2We_Use external resources (Darwin)'#010+
   'P*2We_Use external resources (Darwin)'#010+
   'p*2We_Use external resources (Darwin)'#010+
-  '3*2WF','_Specify full-screen type application (EMX, OS/2)'#010+
+  '3*2WF_Specify full-screen type application ','(EMX, OS/2)'#010+
   '3*2WG_Specify graphic type application (EMX, OS/2, Windows)'#010+
   'A*2WG_Specify graphic type application (Windows)'#010+
   'P*2WG_Specify graphic type application (Classic Mac OS)'#010+
-  '3*2Wi_Use internal resour','ces (Darwin)'#010+
-  'P*2Wi_Use internal resources (Darwin)'#010+
+  '3*2Wi_Use internal resources (Darwin)'#010+
+  'P*2Wi_Use internal resour','ces (Darwin)'#010+
   'p*2Wi_Use internal resources (Darwin)'#010+
   '3*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+
   'A*2WN_Do not generate relocation code, needed for debugging (Windows)'#010+
-  '3*2WR_Gener','ate relocation code (Windows)'#010+
-  'A*2WR_Generate relocation code (Windows)'#010+
+  '3*2WR_Generate relocation code (Windows)'#010+
+  'A*2WR_Ge','nerate relocation code (Windows)'#010+
   'P*2WT_Specify MPW tool type application (Classic Mac OS)'#010+
   '3*2WX_Enable executable stack (Linux)'#010+
   'A*2WX_Enable executable stack (Linux)'#010+
-  'p*2WX_Enable executable stack (Linux',')'#010+
-  'P*2WX_Enable executable stack (Linux)'#010+
+  'p*2WX_Enable executable stack (Linux)'#010+
+  'P*2WX_Enable executable stack (Linux',')'#010+
   '**1X_Executable options:'#010+
   '**2Xc_Pass --shared/-dynamic to the linker (BeOS, Darwin, FreeBSD, Lin'+
   'ux)'#010+
   '**2Xd_Do not use standard library search path (needed for cross compil'+
   'e)'#010+
   '**2Xe_Use external linker'#010+
-  '**','2Xg_Create debuginfo in a separate file and add a debuglink sectio'+
+  '**2Xg_Create debuginfo in a separate fil','e and add a debuglink sectio'+
   'n to executable'#010+
   '**2XD_Try to link units dynamically      (defines FPC_LINK_DYNAMIC)'#010+
   '**2Xi_Use internal linker'#010+
   '**2Xm_Generate link map'#010+
-  '**2XM<x>_Set the name of the '#039'main'#039' prog','ram routine (default'+
-  ' is '#039'main'#039')'#010+
-  '**2XP<x>_Prepend the binutils names with the prefix <x>'#010+
+  '**2XM<x>_Set the name of the '#039'main'#039' program routine (default i'+
+  's '#039'main'#039')'#010+
+  '**2XP<','x>_Prepend the binutils names with the prefix <x>'#010+
   '**2Xr<x>_Set the linker'#039's rlink-path to <x> (needed for cross comp'+
   'ile, see the ld manual for more information) (BeOS, Linux)'#010+
-  '**2XR<x>_Prepend <x> to all',' linker search paths (BeOS, Darwin, FreeB'+
+  '**2XR<x>_Prepend <x> to all linker search paths (BeOS, Darwin, Fr','eeB'+
   'SD, Linux, Mac OS, Solaris)'#010+
   '**2Xs_Strip all symbols from executable'#010+
   '**2XS_Try to link units statically (default, defines FPC_LINK_STATIC)'#010+
-  '**2Xt_Link with static libraries (-static is passed to linker',')'#010+
-  '**2XX_Try to smartlink units             (defines FPC_LINK_SMART)'#010+
+  '**2Xt_Link with static libraries (-static is passed to linker)'#010+
+  '**2XX_Try to smartlink units        ','     (defines FPC_LINK_SMART)'#010+
   '**1*_'#010+
   '**1?_Show this help'#010+
   '**1h_Shows this help without waiting'
diff --git a/compiler/options.pas b/compiler/options.pas
index d5818d9040..30821556bb 100644
--- a/compiler/options.pas
+++ b/compiler/options.pas
@@ -1345,10 +1345,7 @@ begin
                          else
                            include(init_settings.globalswitches,cs_constructor_name);
                        't' :
-                         If UnsetBool(More, j) then
-                           exclude(init_settings.moduleswitches,cs_static_keyword)
-                         else
-                           include(init_settings.moduleswitches,cs_static_keyword);
+                         Message1(option_obsolete_switch,'-St');
                        'v' :
                          If UnsetBool(More, j) then
                            exclude(init_settings.globalswitches,cs_support_vectors)
@@ -1364,8 +1361,7 @@ begin
                            init_settings.globalswitches:=init_settings.globalswitches - [cs_constructor_name,cs_support_exceptions];
                            init_settings.localswitches:=init_settings.localswitches - [cs_do_assertion, cs_do_inline, cs_ansistrings];
                            init_settings.moduleswitches:=init_settings.moduleswitches - [cs_support_c_operators, cs_support_goto,
-                                                                     cs_support_macro,
-                                                                     cs_static_keyword];
+                                                                     cs_support_macro];
                          end;
                        else
                          IllegalPara(opt);
diff --git a/compiler/pdecsub.pas b/compiler/pdecsub.pas
index 8e211a9b5b..6ac0bcc69e 100644
--- a/compiler/pdecsub.pas
+++ b/compiler/pdecsub.pas
@@ -1400,12 +1400,9 @@ end;
 
 procedure pd_static(pd:tabstractprocdef);
 begin
-  if (cs_static_keyword in current_settings.moduleswitches) then
-    begin
-      if pd.typ=procdef then
-        include(tprocdef(pd).procsym.symoptions,sp_static);
-      include(pd.procoptions,po_staticmethod);
-    end;
+  if pd.typ=procdef then
+    include(tprocdef(pd).procsym.symoptions,sp_static);
+  include(pd.procoptions,po_staticmethod);
 end;
 
 procedure pd_override(pd:tabstractprocdef);
@@ -2228,10 +2225,6 @@ const
             exit;
          end;
 
-        { static needs a special treatment }
-        if (idtoken=_STATIC) and not (cs_static_keyword in current_settings.moduleswitches) then
-          exit;
-
         { check if method and directive not for object, like public.
           This needs to be checked also for procvars }
         if (pd_notobject in proc_direcdata[p].pd_flags) and
diff --git a/compiler/pdecvar.pas b/compiler/pdecvar.pas
index f54ee68b70..e29096b390 100644
--- a/compiler/pdecvar.pas
+++ b/compiler/pdecvar.pas
@@ -1463,8 +1463,7 @@ implementation
                handle_calling_convention(tprocvardef(hdef));
 
              { Check for STATIC directive }
-             if (vd_object in options) and
-                (cs_static_keyword in current_settings.moduleswitches) and
+             if (vd_object in options) and                
                 (try_to_consume(_STATIC)) then
                begin
                  { add static flag and staticvarsyms }
diff --git a/compiler/scandir.pas b/compiler/scandir.pas
index e632a03247..d52073feef 100644
--- a/compiler/scandir.pas
+++ b/compiler/scandir.pas
@@ -1036,11 +1036,6 @@ unit scandir;
         do_delphiswitch('W');
       end;
 
-    procedure dir_static;
-      begin
-        do_moduleswitch(cs_static_keyword);
-      end;
-
     procedure dir_stop;
       begin
         do_message(scan_f_user_defined);
@@ -1388,7 +1383,6 @@ unit scandir;
         AddDirective('SCREENNAME',directive_all, @dir_screenname);
         AddDirective('SMARTLINK',directive_all, @dir_smartlink);
         AddDirective('STACKFRAMES',directive_all, @dir_stackframes);
-        AddDirective('STATIC',directive_all, @dir_static);
         AddDirective('STOP',directive_all, @dir_stop);
 {$ifdef powerpc}
         AddDirective('SYSCALL',directive_all, @dir_syscall);
diff --git a/compiler/utils/fpc.cft b/compiler/utils/fpc.cft
index c8ad11918c..b35ebf86de 100644
--- a/compiler/utils/fpc.cft
+++ b/compiler/utils/fpc.cft
@@ -73,7 +73,6 @@
 #      -So        same as -Mtp
 #      -Sp        same as -Mgpc
 #      -Ss        constructor name must be init (destructor must be done)
-#      -St        allow static keyword in objects
 #
 # Allow goto, inline, C-operators, C-vars
 -Sgic
diff --git a/compiler/utils/fpccfg.inc b/compiler/utils/fpccfg.inc
index 37a89d076e..5efbe0c2a9 100644
--- a/compiler/utils/fpccfg.inc
+++ b/compiler/utils/fpccfg.inc
@@ -83,7 +83,6 @@ const DefaultConfig : array[0..25,1..240] of char=(
   '#      -Sp        same as -Mgpc'#013#010+
   '#      -Ss        constructor name must be init (','destructor must be '+
   'done)'#013#010+
-  '#      -St        allow static keyword in objects'#013#010+
   '#'#013#010+
   '# Allow goto, inline, C-operators, C-vars'#013#010+
   '-Sgic'#013#010+
@@ -92,9 +91,9 @@ const DefaultConfig : array[0..25,1..240] of char=(
   '# Code generation'#013#010+
   '# ---------------'#013#010+
   #013#010+
-  '# Uncomment the next line if you always want stat','ic/dynamic units by'+
-  ' default'#013#010+
-  '# (can be overruled with -CD, -CS at the commandline)'#013#010+
+  '# Uncomment the next line if you always want static/dynamic units by d'+
+  'efault'#013#010+
+  '# (can be overruled wi','th -CD, -CS at the commandline)'#013#010+
   '#-CS'#013#010+
   '#-CD'#013#010+
   #013#010+
@@ -106,21 +105,21 @@ const DefaultConfig : array[0..25,1..240] of char=(
   '#-Ci'#013#010+
   '#-Co'#013#010+
   '#-Cr'#013#010+
-  '#-C','t'#013#010+
+  '#-Ct'#013#010+
   #013#010+
   '# Optimizer switches for i386 compiler'#013#010+
-  '# -Os        generate smaller code'#013#010+
+  '# -Os ','       generate smaller code'#013#010+
   '# -O1        level 1 optimizations (quick optimizations)'#013#010+
   '# -O2        level 2 optimizations (-O1 + slower optimizations)'#013#010+
-  '# -O3        level 3 optimizations (','same as -O2u)'#013#010+
+  '# -O3        level 3 optimizations (same as -O2u)'#013#010+
   '# -Oa=N      set alignment to N'#013#010+
-  '# -OoX       switch on optimalization X. '#013#010+
+  '# -','OoX       switch on optimalization X. '#013#010+
   '# -OoNOX     switch off optimalization X.'#013#010+
   '#               X is one of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASMCS'+
   'E LOOPUNROLL'#013#010+
-  '# -OpCPU     set targe','t processor.'#013#010+
-  '#             CPU is one of 386, PENTIUM, PENTIUM2, PENTIUM3, PENTIUM4'+
-  ', PENTIUMM '#013#010+
+  '# -OpCPU     set target processor.'#013#010+
+  '#             CPU is one of 386, PENT','IUM, PENTIUM2, PENTIUM3, PENTIU'+
+  'M4, PENTIUMM '#013#010+
   #013#010+
   #013#010+
   '# -----------------------'#013#010+
@@ -129,32 +128,32 @@ const DefaultConfig : array[0..25,1..240] of char=(
   #013#010+
   '# Both slashes and backslashes are allowed in paths'#013#010+
   #013#010+
-  '#',' path to the messagefile, not necessary anymore but can be used to '+
+  '# path to the messagefile, not necessary anymore but',' can be used to '+
   'override'#013#010+
   '# the default language'#013#010+
   '#-Fr%basepath%/msg/errore.msg'#013#010+
   '#-Fr%basepath%/msg/errorn.msg'#013#010+
   '#-Fr%basepath%/msg/errores.msg'#013#010+
   '#-Fr%basepath%/msg/errord.msg'#013#010+
-  '#-Fr%basepath%','/msg/errorr.msg'#013#010+
+  '#-Fr%basepath%/msg/errorr.msg'#013#010+
   #013#010+
   '# path to the gcclib'#013#010+
-  '#-Fl%basepath%/lib'#013#010+
+  '#-Fl%basep','ath%/lib'#013#010+
   #013#010+
   '# searchpath for includefiles'#013#010+
   '#-Fi/pp/inc;/pp/rtl/inc'#013#010+
   #013#010+
   '# searchpath for includefiles'#013#010+
   '# release them only if you know what you do'#013#010+
-  '# because this could cause a rebuild of the',' runtime library'#013#010+
-  '# if you tell them compiler/ide to build the project (FK)'#013#010+
+  '# because this could cause a rebuild of the runtime library'#013#010+
+  '# if you tell them compiler/ide t','o build the project (FK)'#013#010+
   '#-Fi%basepath%/source/rtl/inc;%basepath%/source/rtl/i386'#013#010+
   #013#010+
   '# searchpath for objectfiles'#013#010+
   '#-Fo%basepath%/source/rtl/inc;%basepath%/source/rtl/i386'#013#010+
   #013#010+
-  '#IFDEF FPCAPA','CHE_1_13'#013#010+
-  '-Fu%basepath%/units/$FPCTARGET/httpd-1.3/'#013#010+
+  '#IFDEF FPCAPACHE_1_13'#013#010+
+  '-Fu%basepath%/units/$FPCTARGET/httpd-1.3/',#013#010+
   '#ELSE'#013#010+
   '#IFDEF FPCAPACHE_2_0'#013#010+
   '-Fu%basepath%/units/$FPCTARGET/httpd-2.0'#013#010+
@@ -163,9 +162,9 @@ const DefaultConfig : array[0..25,1..240] of char=(
   '#ENDIF'#013#010+
   '#ENDIF'#013#010+
   #013#010+
-  '# searchpath for units and other system dependent',' things'#013#010+
+  '# searchpath for units and other system dependent things'#013#010+
   '-Fu%basepath%/units/$FPCTARGET/'#013#010+
-  '-Fu%basepath%/units/$FPCTARGET/*'#013#010+
+  '-Fu%basep','ath%/units/$FPCTARGET/*'#013#010+
   '-Fu%basepath%/units/$FPCTARGET/rtl'#013#010+
   #013#010+
   '# searchpath for libraries'#013#010+
@@ -175,8 +174,8 @@ const DefaultConfig : array[0..25,1..240] of char=(
   '# searchpath for tools'#013#010+
   '-FD%basepath%/bin/$FPCTARGET'#013#010+
   #013#010+
-  '#',' binutils prefix for cross compiling'#013#010+
-  '#IFDEF FPC_CROSSCOMPILING'#013#010+
+  '# binutils prefix for cross compiling'#013#010+
+  '#IFDEF FPC_CR','OSSCOMPILING'#013#010+
   '  -XP$FPCTARGET-'#013#010+
   '#ENDIF'#013#010+
   #013#010+
@@ -188,13 +187,13 @@ const DefaultConfig : array[0..25,1..240] of char=(
   '# generate always debugging information for GDB (slows down the compil'+
   'ing'#013#010+
   '# process)'#013#010+
-  '#      -gc ','       generate checks for pointers'#013#010+
-  '#      -gd        use dbx'#013#010+
+  '#      -gc        generate checks for pointers'#013#010+
+  '#      -gd    ','    use dbx'#013#010+
   '#      -gg        use gsym'#013#010+
   '#      -gh        use heap trace unit (for memory leak debugging)'#013#010+
   '#      -gl        use line info unit to show more info for backtraces'#013+
   #010+
-  '#      -gv','        generates programs tracable with valgrind'#013#010+
+  '#      -gv        generates programs tracable with valgrind'#013#010,
   '#      -gw        generate dwarf debugging info'#013#010+
   '#'#013#010+
   '# Enable debuginfo and use the line info unit by default'#013#010+
@@ -203,12 +202,12 @@ const DefaultConfig : array[0..25,1..240] of char=(
   '# always pass an option to the linker'#013#010+
   '#-k-s'#013#010+
   #013#010+
-  '# Always strip debuginf','o from the executable'#013#010+
+  '# Always strip debuginfo from the executable'#013#010+
   '-Xs'#013#010+
   #013#010+
   #013#010+
   '# -------------'#013#010+
-  '# Miscellaneous'#013#010+
+  '# ','Miscellaneous'#013#010+
   '# -------------'#013#010+
   #013#010+
   '# Write always a nice FPC logo ;)'#013#010+
@@ -216,21 +215,22 @@ const DefaultConfig : array[0..25,1..240] of char=(
   #013#010+
   '# Verbosity'#013#010+
   '#      e : Show errors (default)       d : Show debug info'#013#010+
-  '#      w : Show warnings               u ',': Show unit info'#013#010+
-  '#      n : Show notes                  t : Show tried/used files'#013#010+
+  '#      w : Show warnings               u : Show unit info'#013#010+
+  '#      n : Show notes            ','      t : Show tried/used files'#013+
+  #010+
   '#      h : Show hints                  m : Show defined macros'#013#010+
   '#      i : Show general info           p : Show compiled procedures'#013+
   #010+
-  '#      l : Show linenum','bers            c : Show conditionals'#013#010+
-  '#      a : Show everything             0 : Show nothing (except errors'+
-  ')'#013#010+
+  '#      l : Show linenumbers            c : Show conditionals'#013#010+
+  '#      a : S','how everything             0 : Show nothing (except erro'+
+  'rs)'#013#010+
   '#      b : Show all procedure          r : Rhide/GCC compatibility mod'+
   'e'#013#010+
-  '#          declarations if an error    x : Executable i','nfo (Win32 on'+
-  'ly)'#013#010+
+  '#          declarations if an error    x : Executable info (Win32 only'+
+  ')'#013#010+
   '#          occurs'#013#010+
   '#'#013#010+
-  '# Display Info, Warnings, Notes and Hints'#013#010+
+  '# Display I','nfo, Warnings, Notes and Hints'#013#010+
   '-viwn'#013#010+
   '# If you don'#039't want so much verbosity use'#013#010+
   '#-vw'#013#010
diff --git a/compiler/utils/samplecfg b/compiler/utils/samplecfg
index 269bcc8c72..b3460ec792 100644
--- a/compiler/utils/samplecfg
+++ b/compiler/utils/samplecfg
@@ -323,7 +323,6 @@ $CPUCROSSIFDEF2
 #      -So        same as -Mtp
 #      -Sp        same as -Mgpc
 #      -Ss        constructor name must be init (destructor must be done)
-#      -St        allow static keyword in objects
 #      -Sx        enable exception keywords (default in Delphi/ObjFPC modes)
 #
 # Allow goto, inline, C-operators, C-vars
diff --git a/tests/tbs/tb0156.pp b/tests/tbs/tb0156.pp
index f8a11f14e1..56dcb96d8c 100644
--- a/tests/tbs/tb0156.pp
+++ b/tests/tbs/tb0156.pp
@@ -1,4 +1,4 @@
-{ %OPT=-St -Cr }
+{ %OPT=-Cr }
 
 { Old file: tbs0187.pp }
 { constructor in a WIth statement isn't called correct. (works at lest in the case stated)                    OK 0.99.11 (PM) }
diff --git a/tests/tbs/tb0181.pp b/tests/tbs/tb0181.pp
index 1ddc429616..8fab3e2226 100644
--- a/tests/tbs/tb0181.pp
+++ b/tests/tbs/tb0181.pp
@@ -1,5 +1,3 @@
-{ %OPT=-St }
-
 { Old file: tbs0214.pp }
 { bugs for static methods                               OK 0.99.11 (PM) }
 
diff --git a/tests/tbs/tb0182.pp b/tests/tbs/tb0182.pp
index 86b06993ce..1a62f3dea1 100644
--- a/tests/tbs/tb0182.pp
+++ b/tests/tbs/tb0182.pp
@@ -1,5 +1,3 @@
-{ %OPT=-St }
-
 { Old file: tbs0215.pp }
 { more bugss with static methods                        OK 0.99.11 (PM) }
 
diff --git a/tests/webtbf/tw2359.pp b/tests/webtbf/tw2359.pp
index 268c501650..e5f12d62bc 100644
--- a/tests/webtbf/tw2359.pp
+++ b/tests/webtbf/tw2359.pp
@@ -1,5 +1,4 @@
 { %FAIL }
-{ %OPT=-St }
 { Source provided for Free Pascal Bug Report 2359 }
 { Submitted by "Sergey Kosarevsky" on  2003-02-06 }
 { e-mail: netsurfer@au.ru }