diff --git a/doc/obsolete/parse_command b/doc/obsolete/parse_command
new file mode 100644
index 0000000..2039161
--- /dev/null
+++ b/doc/obsolete/parse_command
@@ -0,0 +1,72 @@
+int parse_command(string str, mixed source, string pattern, var1, var2 ...);
+
+Parses commands given in "str" against the pattern in "pattern" and
+returns 1 if it matches. "source" is either an object or an array of objects.
+This is essentially a 'hotted' sscanf and it has a similar syntax, although
+parse_command works on word basis where sscanf works on character basis.
+
+.ip str
+Given command
+.ip source
+Either an array holding the accessible objects, or
+an object from which to recurse and create
+the list of accessible objects, normally
+ob = environment(this_player()) .
+
+.ip pattern
+Parse pattern as list of words and formats:
+.nf
+		Syntax:
+			'word' 		obligatory text (One word)
+			[word]		optional text (One word)
+			/		Alternative marker
+			%o		Single item, object
+			%l		Single living object
+			%s		Any text (multiple words)
+			%w              Any word
+			%p		Preposition
+			%i		Any items
+			%d              Number 0- or tx(0-99)
+.fi
+Example string: " 'get' / 'take' %i " .
+Items as in %o and %i can on many forms, some examples:
+.nf
+			apple, two apples, twentyfirst apple
+			apples, all apples, all green apples, all green ones
+.fi
+
+.ip varN
+This is the list of result variables as in sscanf.
+One variable is needed for each %_.
+The return types of different %_ is:
+.nf
+	%o	Returns an object
+	%l	Returns an object
+	%s	Returns a string of words
+	%w      Returns a string of one word
+	%p	Can on entry hold a list of word in array
+		or an empty variable
+		Returns:
+		   if empty variable: a string
+		   if array: array[0]=matched word
+	%i	Returns a special array on the form:
+		[0] = (int) given numeric prefix
+		       =0: all or a pluralform given
+		       >0: numeral given: two, three, four...
+		       <0: order given: second, third ...
+		[1..n] (object) Objectpointers
+		       A list of the POSSIBLE objects that can match
+		       the given %i. No choosing of third or such.
+	%d      Returns a number
+.fi
+.lp
+Example:
+
+a=parse_command("take apple",environment(this_player()),
+	 " 'get' / 'take' %i ",items);
+
+HISTORY
+  LDMud 3.3.258 and LP "03.02.1@150" removed the compat-mode 
+  parse_command().
+
+29.10.2006 Zesstra
