changeset 703:2fae45239fb3

updated for version 7.0212
author vimboss
date Thu, 02 Mar 2006 22:49:12 +0000
parents 8a99b25de218
children bd6d9515adbf
files runtime/doc/eval.txt runtime/doc/options.txt runtime/doc/tags runtime/doc/vim-fr.UTF-8.1 src/auto/configure src/configure.in src/edit.c src/proto/spell.pro src/testdir/test58.ok src/version.h
diffstat 10 files changed, 791 insertions(+), 114 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2006 Feb 28
+*eval.txt*      For Vim version 7.0aa.  Last change: 2006 Mar 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1521,7 +1521,9 @@ count( {list}, {expr} [, {start} [, {ic}
 				Number	 count how many {expr} are in {list}
 cscope_connection( [{num} , {dbpath} [, {prepend}]])
 				Number	checks existence of cscope connection
-cursor( {lnum}, {col})		Number	position cursor at {lnum}, {col}
+cursor( {lnum}, {col} [, {coladd}])
+				Number	move cursor to {lnum}, {col}, {coladd}
+cursor( {list})			Number	move cursor to position in {list}
 deepcopy( {expr})		any	make a full copy of {expr}
 delete( {fname})		Number	delete file {fname}
 did_filetype()			Number	TRUE if FileType autocommand event used
@@ -1568,6 +1570,7 @@ getftype( {fname})		String	description o
 getline( {lnum})		String	line {lnum} of current buffer
 getline( {lnum}, {end})		List	lines {lnum} to {end} of current buffer
 getloclist({nr})		List	list of location list items
+getpos( {expr})			List	position of cursor, mark, etc.
 getqflist()			List	list of quickfix items
 getreg( [{regname} [, 1]])	String	contents of register
 getregtype( [{regname}])	String	type of register
@@ -1929,6 +1932,8 @@ col({expr})	The result is a Number, whic
 			    number of characters in the cursor line plus one)
 		    'x	    position of mark x (if the mark is not set, 0 is
 			    returned)
+		To get the line number use |col()|.  To get both use
+		|getpos()|.
 		For the screen column position use |virtcol()|.
 		Note that only marks in the current file can be used.
 		Examples: >
@@ -2068,9 +2073,14 @@ cscope_connection([{num} , {dbpath} [, {
 		cscope_connection(4, "out", "local")			0
 		cscope_connection(4, "cscope.out", "/usr/local")	1
 <
-cursor({lnum}, {col})					*cursor()*
+cursor({lnum}, {col} [, {off}])				*cursor()*
+cursor({list})
 		Positions the cursor at the column {col} in the line {lnum}.
 		The first column is one.
+		When there is one argument {list} this is used as a |List|
+		with two or three items {lnum}, {col} and {off}.  This is
+		useful to move the cursor to a position obtained with
+		|getpos()|.
 		Does not change the jumplist.
 		If {lnum} is greater than the number of lines in the buffer,
 		the cursor will be positioned at the last line in the buffer.
@@ -2079,6 +2089,9 @@ cursor({lnum}, {col})					*cursor()*
 		the cursor will be positioned at the last character in the
 		line.
 		If {col} is zero, the cursor will stay in the current column.
+		When 'virtualedit' is used {off} specifies the offset in
+		screen columns from the start of the character.  E.g., a
+		position within a Tab or after the last character.
 
 
 deepcopy({expr}[, {noref}])				*deepcopy()* *E698*
@@ -3229,6 +3242,8 @@ line({expr})	The result is a Number, whi
 		    w0	    first line visible in current window
 		    w$	    last line visible in current window
 		Note that only marks in the current file can be used.
+		To get the column number use |col()|.  To get both use
+		|getpos()|.
 		Examples: >
 			line(".")		line number of the cursor
 			line("'t")		line number of mark t
@@ -3372,7 +3387,10 @@ match({expr}, {pat}[, {start}[, {count}]
 			:echo match("testing", "t", 2)
 <		result is "3".
 		For a String, if {start} > 0 then it is like the string starts
-		{start} bytes later, thus "^" will match there.
+		{start} bytes later, thus "^" will match at {start}.  Except
+		when {count} is given, then it's like matches before the
+		{start} byte are ignored (this is a bit complicated to keep it
+		backwards compatible).
 		For a String, if {start} < 0, it will be set to 0.  For a list
 		the index is counted from the end.
 		If {start} is out of range ({start} > strlen({expr}) for a
@@ -3383,6 +3401,8 @@ match({expr}, {pat}[, {start}[, {count}]
 		character further.  Thus this example results in 1: >
 			echo match("testing", "..", 0, 2)
 <		In a |List| the search continues in the next item.
+		Note that when {count} is added the way {start} works changes,
+		see above.
 
 		See |pattern| for the patterns that are accepted.
 		The 'ignorecase' option is used to set the ignore-caseness of
@@ -3489,6 +3509,19 @@ nr2char({expr})						*nr2char()*
 		characters.  nr2char(0) is a real NUL and terminates the
 		string, thus results in an empty string.
 
+							*getpos()*
+getpos({expr})	The result is a |List| with three numbers: [lnum, col, off].
+		This is the file position given with {expr}.  For the accepted
+		positions see |line()|.
+		The "off" number is zero, unless 'virtualedit' is used.  Then
+		it is the offset in screen columns from the start of the
+		character.  E.g., a position within a Tab or after the last
+		character.
+		This can be used to save and restore the cursor position: >
+			let save_cursor = getpos(".")
+			MoveTheCursorAround
+			call cursor(save_cursor)
+
 prevnonblank({lnum})					*prevnonblank()*
 		Return the line number of the first line at or above {lnum}
 		that is not blank.  Example: >
@@ -4616,6 +4649,10 @@ virtcol({expr})						*virtcol()*
 		For the use of {expr} see |col()|.  Additionally you can use
 		[lnum, col]: a |List| with the line and column number.  When
 		"lnum" or "col" is out of range then virtcol() returns zero.
+		When 'virtualedit' is used it can be [lnum, col, off], where
+		"off" is the offset in screen columns from the start of the
+		character.  E.g., a position within a Tab or after the last
+		character.
 		For the byte position use |col()|.
 		When Virtual editing is active in the current mode, a position
 		beyond the end of the line can be returned. |'virtualedit'|
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0aa.  Last change: 2006 Mar 01
+*options.txt*	For Vim version 7.0aa.  Last change: 2006 Mar 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1576,6 +1576,7 @@ A jump table for the options with a shor
 	u	scan the unloaded buffers that are in the buffer list
 	U	scan the buffers that are not in the buffer list
 	k	scan the files given with the 'dictionary' option
+	kspell  use the currently active spell checking |spell|
 	k{dict}	scan the file {dict}.  Several "k" flags can be given,
 		patterns are valid too.  For example: >
 			:set cpt=k/usr/dict/*,k~/spanish
@@ -2085,6 +2086,8 @@ A jump table for the options with a shor
 	contain a list of words.  This can be one word per line, or several
 	words per line, separated by non-keyword characters (white space is
 	preferred).  Maximum line length is 510 bytes.
+	When this option is empty, or an entry "spell" is present, spell
+	checking is enabled the currently active spelling is used. |spell|
 	To include a comma in a file name precede it with a backslash.  Spaces
 	after a comma are ignored, otherwise spaces are included in the file
 	name.  See |option-backslash| about using backslashes.
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5349,6 +5349,7 @@ getftime()	eval.txt	/*getftime()*
 getftype()	eval.txt	/*getftype()*
 getline()	eval.txt	/*getline()*
 getloclist()	eval.txt	/*getloclist()*
+getpos()	eval.txt	/*getpos()*
 getqflist()	eval.txt	/*getqflist()*
 getreg()	eval.txt	/*getreg()*
 getregtype()	eval.txt	/*getregtype()*
@@ -5475,7 +5476,6 @@ hebrew	hebrew.txt	/*hebrew*
 hebrew.txt	hebrew.txt	/*hebrew.txt*
 help	various.txt	/*help*
 help-context	help.txt	/*help-context*
-help-tags	tags	1
 help-translated	various.txt	/*help-translated*
 help-xterm-window	various.txt	/*help-xterm-window*
 help.txt	help.txt	/*help.txt*
--- a/runtime/doc/vim-fr.UTF-8.1
+++ b/runtime/doc/vim-fr.UTF-8.1
@@ -0,0 +1,574 @@
+.\" Traduction Lundi 7 août 2000 par Richard Hitier
+.\" (richard.hitier@dial.oleane.com)
+.\" Mise à jour de la traduction par David Blanchet
+.\" (david.blanchet@free.fr) 2005-01-17
+.\"
+.TH VIM 1 "22 Février 2002"
+.SH NOM
+vim \- Vi IMproved, éditeur de texte pour programmeurs
+.SH SYNOPSIS
+.br
+.B vim
+[options] [fichier ...]
+.br
+.B vim
+[options] \-
+.br
+.B vim
+[options] \-t marqueur
+.br
+.B vim
+[options] \-q [fichiererreurs]
+.PP
+.br
+.B ex
+.br
+.B view
+.br
+.B gvim
+.B gview
+.B evim
+.B eview
+.br
+.B rvim
+.B rview
+.B rgvim
+.B rgview
+.SH DESCRIPTION
+.B Vim
+est un éditeur de texte proposant une compatibilité ascendante
+avec Vi. Il permet d'éditer n'importe quel type de texte brut.
+Il est particulièrement adapté pour l'édition des programmes.
+.PP
+Il comporte de nombreuses améliorations par rapport à Vi : annulation sur
+plusieurs niveaux, fenêtres et tampons multiples, coloration syntaxique,
+édition en ligne de commande, complètement des noms de fichiers, aide en
+ligne, sélection visuelle, etc.
+Voir ":help vi_diff.txt" pour un résumé des différences entre 
+.B Vim
+et Vi.
+.PP
+Pendant l'exécution de
+.B Vim
+\, une aide abondante est accessible au travers du système d'aide
+en ligne, grâce à la commande ":help".
+Voir la section AIDE EN LIGNE plus bas.
+.PP
+Le plus souvent
+.B Vim
+est démarré pour éditer un unique fichier avec la commande
+.PP
+	vim fichier
+.PP
+Plus généralement,
+.B Vim
+est lancé avec :
+.PP
+	vim [options] [listefichiers]
+.PP
+Si la listefichiers est omise, l'éditeur démarre avec un tampon vide.
+Autrement, l'une des quatre méthodes suivantes vous permettra de choisir
+un ou plusieurs fichiers à éditer.
+.TP 12
+fichier ...
+Une liste de noms de fichiers.
+Le premier sera le fichier courant et sera lu dans le tampon.
+Le curseur sera placé sur la première ligne du tampon.
+Vous pouvez passer aux autres fichiers avec la commande ":next".
+Pour éditer un fichier débutant par un tiret, faites précéder la
+liste de fichiers par "\-\-".
+.TP
+\-
+Le fichier à éditer est lu sur l'entrée standard (stdin). Les commandes sont
+lues depuis stderr, qui devrait être un terminal.
+.TP
+\-t {marqueur}
+Le fichier à éditer et la position initiale du curseur dépendent
+d'un "marqueur", qui est une sorte d'étiquette.
+{marqueur} est recherché dans le fichier des marqueurs, le fichier correspondant
+devient le fichier courant et la commande associée est exécutée.
+Principalement utile pour les programmes en C ; dans ce cas, {marqueur}
+peut être le nom d'une fonction.
+Au final, le fichier contenant cette fonction devient le fichier
+courant et le curseur est placé au début de la fonction.
+Voir ":help tag\-commands".
+.TP
+\-q [fichiererreurs]
+Démarre en mode Mise-au-point (QuickFix).
+Le fichier [fichiererreurs] est lu et la première erreur est affichée.
+Si [fichiererreurs] est omis, le nom du fichier est lu dans 
+l'option 'errorfile' ("AztecC.Err" par défaut sur Amiga, "errors.err" sur les
+autres systèmes).
+La commande ":cn" permet de sauter aux erreurs suivantes.
+Voir ":help quickfix".
+.PP
+.B Vim
+se comporte différemment selon le nom de la commande (l'exécutable peut
+cependant être le même fichier).
+.TP 10
+vim
+La façon "normale", le comportement par défaut.
+.TP
+ex
+Démarre en mode Ex.
+La commande ":vi" permet de passer en mode Normal.
+Ce mode est également accessible avec l'argument "\-e".
+.TP
+view
+Démarre en mode Lecture-Seule. Vous êtes protégé de l'écriture accidentelle
+des fichiers. Ce mode est également accessible avec l'argument "\-R".
+.TP
+gvim gview
+La version graphique.
+Ouvre une nouvelle fenêtre.
+Également accessible avec l'argument "\-g".
+.TP
+evim eview
+La version graphique en mode Débutant (easy).
+Ouvre une nouvelle fenêtre.
+Également accessible avec l'argument "\-y".
+.TP
+rvim rview rgvim rgview
+Comme ci-dessus, mais avec des restrictions. Il vous sera impossible de
+lancer des commandes du shell, ou de suspendre
+.B Vim.
+Également accessible avec l'argument "\-Z".
+.SH OPTIONS
+Les options peuvent être spécifiées dans n'importe quel ordre,
+avant ou après les noms de fichiers. Les options sans arguments
+peuvent être combinées après un unique tiret.
+.TP 12
++[num]
+Place le curseur sur la ligne "num" dans le premier fichier.
+Si "num" est omis, le curseur sera placé sur la dernière ligne.
+.TP
++/{motif}
+Place le curseur sur la première occurence de {motif} dans le premier fichier.
+Voir ":help search\-pattern" pour connaître les motifs de recherches
+disponibles.
+.TP
++{commande}
+.TP
+\-c {commande}
+Exécute {commande} après la lecture du premier fichier.
+{commande} est interprétée comme une commande Ex.
+Si la {commande} contient des espaces, elle doit être entourée
+de doubles-apostrophes (cela dépend du shell utilisé).
+Exemple: Vim "+set si" main.c
+.br
+Note : vous pouvez utiliser jusqu'à 10 commandes "+" ou "\-c".
+.TP
+\-S {fichier}
+Source {fichier} après la lecture du premier fichier.
+C'est équivalent à \-c "source {fichier}".
+{fichier} ne peut pas débuter par un '\-'.
+Si {fichier} est omis, "Session.vim" est utilisé (cela ne fonctionne que si
+\-S est le dernier argument).
+.TP
+\-\-cmd {commande}
+Comme "\-c", mais la commande est exécutée juste avant de traiter les fichiers
+vimrc.
+Vous pouvez utiliser jusqu'à 10 de ces commandes, indépendamment des
+commandes "\-c".
+.TP
+\-A
+Si
+.B Vim
+a été compilé avec le support de la fonctionnalité ARABIC pour l'édition de
+fichiers de droite à gauche et les claviers arabes, cette option lance
+.B Vim
+en mode Arabe, c.-à-d. que l'option 'arabic' est activée.
+Sinon, un message d'erreur est émis et
+.B Vim
+quitte.
+.TP
+\-b
+Mode Binaire.
+Active plusieurs options pour permettre l'édition
+d'un fichier binaire ou exécutable.
+.TP
+\-C
+Compatible. Active l'option 'compatible'.
+.B Vim
+se comportera alors quasiment comme Vi, même s'il existe un fichier .vimrc.
+.TP
+\-d
+Démarre en mode Diff.
+Deux ou trois noms de fichiers doivent être spécifiés.
+.B Vim
+ouvrira alors tous les fichiers et affichera leurs différences.
+Fonctionne comme vimdiff(1).
+.TP
+\-d {périph}
+Ouvre {périph} pour l'utiliser comme terminal.
+Uniquement sur Amiga.
+Exemple:
+"\-d con:20/30/600/150".
+.TP
+\-D
+Debogage. Passe en mode Débogage lors de l'exécution de la première commande
+d'un script.
+.TP
+\-e
+Démarre
+.B Vim
+en mode Ex, comme si l'exécutable s'appelait "ex".
+.TP
+\-E
+Démarre
+.B Vim
+en mode Ex amélioré, comme si l'exécutable "exim" avait été invoqué.
+.TP
+\-f
+Premier-plan (Foreground). Pour la version graphique,
+.B Vim
+ne forke pas et ne se détache pas du shell dans lequel il a été invoqué.
+Sur Amiga,
+.B Vim
+n'est pas relancé pour ouvrir une nouvelle fenêtre.
+Cette option est utile quand
+.B Vim
+est exécuté par un programme qui attend la fin de la session d'édition
+(par exemple mail).
+Sur Amiga, les commandes ":sh" et ":!" ne fonctionneront pas.
+.TP
+\-\-nofork
+Premier-plan (Foreground). Pour la version graphique,
+.B Vim
+ne forkera pas et ne se détachera pas du shell dans lequel il a été lancé.
+.TP
+\-F
+Si
+.B Vim
+a été compilé avec le support de la fonctionnalité FKMAP pour l'édition de
+fichiers de droite à gauche et les claviers farsi, cette option lance
+.B Vim
+en mode Farsi, c.-à-d. avec les options 'fkmap' et 'rightleft' activées.
+Sinon, un message d'erreur est émis et
+.B Vim
+quitte.
+.TP
+\-g
+Si
+.B Vim
+a été compilé avec le support de l'IHM graphique, cette option active
+l'IHM graphique. Si le support n'a pas été compilé, un message d'erreur
+est émis et
+.B Vim
+quitte.
+.TP
+\-h
+Donne une aide succinte sur les arguments et les options de la ligne de
+commande. Après cela, 
+.B Vim
+quitte.
+.TP
+\-H
+Si
+.B Vim
+a été compilé avec le support de la fonctionnalité RIGHTLEFT pour l'édition de
+fichiers de droite à gauche et les claviers hébreu, cette option lance
+.B Vim
+en mode Hebreu, c.-à-d. avec les options 'hkmap' et 'rightleft' activées.
+Sinon, un message d'erreur est émis et
+.B Vim
+quitte.
+.TP
+\-i {viminfo}
+Lorsque l'utilisation d'un fichier viminfo est activée, cette option indique
+le nom de fichier à utiliser à la place de "~/.viminfo" par défaut.
+Il est possible d'empêcher l'utilisation d'un fichier ".viminfo", en
+spécifiant le nom de fichier "NONE".
+.TP
+\-L
+Comme \-r.
+.TP
+\-l
+Mode Lisp.
+Active les options 'lisp' et 'showmatch'.
+.TP
+\-m
+Empêche la modification des fichiers.
+Désactive l'option 'write'.
+Vous pouvez toujours modifier le tampon, mais il vous sera impossible
+d'écrire le fichier.
+.TP
+\-M
+N'autorise aucune modification. les options 'modifiable' et 'write' sont
+desactivées, de sorte que les changements ne sont pas autorisés et que les
+fichiers ne peuvent pas être écrits. Note : ces options peuvent être activées
+pour autoriser les modifications.
+.TP
+\-N
+Mode Non-compatible. Désactive l'option 'compatible'.
+Cela améliorera le comportement de
+.B Vim
+\, mais il sera moins conforme à celui de Vi, même s'il n'existe aucun
+fichier ".vimrc".
+.TP
+\-n
+N'utilise pas de fichier d'échange (swapfile).
+Le recouvrement après un plantage sera impossible.
+Utile pour éditer un fichier sur un support très lent (disquette par ex.).
+Également activable avec ":set uc=0".
+Il est possible de l'annuler avec ":set uc=200".
+.TP
+\-nb
+Devient un serveur d'édition pour NetBeans. Consulter la documentation à ce
+sujet pour davantage de détails.
+.TP
+\-o[N]
+Ouvre N fenêtres les unes au-dessus des autres.
+Quand N est omis, ouvre une fenêtre pour chaque fichier.
+.TP
+\-O[N]
+Ouvre N fenêtres côte à côte.
+Quand N est omis, ouvre une fenêtre pour chaque fichier fichier.
+.TP
+\-R
+Mode Lecture-Seule.
+Active l'option 'readonly'.
+Vous pouvez toujours éditer le tampon, mais il vous sera impossible de
+d'écraser accidentellement un fichier.
+Si vous voulez écraser un fichier, ajoutez un point d'exclamation à la commande
+Ex, comme dans ":w!".
+L'option \-R impose l'option \-n (voir ci-dessus).
+L'option 'readonly' peut être désactivée avec ":set noro".
+Voir ":help 'readonly'".
+.TP
+\-r
+Donne la liste des fichiers d'échange, avec des informations pour les utiliser
+à des fins de recouvrement.
+.TP
+\-r {file}
+Mode Recouvrement.
+Utilise le fichier d'échange pour récouvrer d'une session d'édition plantée.
+Le fichier d'échange est un fichier avec le même nom que le fichier texte,
+suivi du suffixe ".swp".
+Voir ":help recovery".
+.TP
+\-s
+Mode Silencieux. Disponible uniquement quand
+.B Vim
+est lancé en tant que "ex" ou quand l'option "\-e" a été spécifiée avant
+l'option "\-s".
+.TP
+\-s {scriptEntrée}
+Lit le fichier de script {scriptEntrée}.
+Les caractères du fichier sont interprétés comme si vous les tapiez.
+La commande ":source! {scriptEntrée}" donne le même résultat.
+Si la fin du fichier est atteinte avant que l'éditeur quitte, les caractères
+suivants sont lus depuis le clavier.
+.TP
+\-T {terminal}
+Indique à
+.B Vim
+le nom du terminal utilisé.
+Cela n'est requis que lorsque la détection automatique échoue.
+Le {terminal} devrait être connu de
+.B Vim
+(intégré) ou défini dans le fichier termcap ou terminfo.
+.TP
+\-u {vimrc}
+Utilise les commandes du fichier {vimrc} pour les initialisations.
+Toutes les autres initialisations sont omises.
+À utiliser pour éditer un type de fichiers particulier.
+Cela permet aussi d'omettre toute initialisation en spécifiant le nom de
+fichier "NONE".
+Voir ":help initialization" dans Vim pour davantage de détails.
+.TP
+\-U {gvimrc}
+Utilise les commandes du fichier {gvimrc} pour l'initialisation de l'IHM
+graphique.
+Toutes les autres initialisations graphiques sont omises.
+Cela permet aussi d'omettre toute initialisation graphique en spécifiant le nom
+de fichier "NONE".
+Voir ":help gui\-init" dans Vim pour davantage de détails.
+.TP
+\-V[N]
+Mode Verbeux.
+Donne des messages à propos des fichiers sourcés, ainsi que sur la lecture
+et les écritures dans le fichier viminfo. le nombre optionnel N précise la
+valeur de l'option 'verbose' (10 par défaut).
+.TP
+\-v
+Démarre
+.B Vim
+en mode Vi, comme si l'exécutable s'appelait "vi". Cela n'a d'effet que si
+l'exécutable invoqué est "ex".
+.TP
+\-w {scriptSortie}
+Tous les caractères que vous tapez sont enregistrés dans le fichier
+{scriptSortie}, jusqu'à ce que vous quittiez
+.B Vim.
+C'est utile quand vous voulez créer un fichier de script à utiliser avec
+"vim \-s" ou ":source!".
+Si le fichier {scriptSortie} existe, les caractères sont ajoutés à la fin.
+.TP
+\-W {scriptSortie}
+Comme \-w, mais un fichier existant sera écrasé.
+.TP
+\-x
+Chiffre les fichiers lors de l'écriture. Une clé de chiffrement sera demandée.
+.TP
+\-X
+Ne se connecte pas au serveur X. Accélère le temps de démarrage dans un
+terminal, mais le titre de la fenêtre et le presse-papier seront inaccessibles.
+.TP
+\-y
+Démarre
+.B Vim
+en mode Débutant (easy), comme si l'exécutable s'appelait "evim" ou "eview".
+Donne à
+.B Vim
+un comportement plus proche des éditeurs « cliquez-tapez ».
+.TP
+\-Z
+Mode restreint. Fonctionne comme si l'exécutable commençait par la lettre 'r'.
+.TP
+\-\-
+Délimite la fin des options.
+Les arguments qui suivent seront considérés comme des noms de fichiers.
+Cela permet d'éditer des fichier débutant par un '\-'.
+.TP
+\-\-echo\-wid
+IHM graphique GTK uniquement : retourne la Window ID sur stdout.
+.TP
+\-\-help
+Donne un message d'aide et quitte, comme "\-h".
+.TP
+\-\-literal
+Prend les arguments de noms de fichiers littéralement, sans étendre les
+jokers. N'a aucun effet sur Unix, où le shell étend les jokers.
+.TP
+\-\-noplugin
+Ne charge pas les greffons. Implicite avec \-u NONE.
+.TP
+\-\-remote
+Se connecte à un serveur Vim et lui fait éditer les fichiers spécifiés dans
+le reste des arguments. Si aucun serveur n'est trouvé, un avertissement est
+émis et les fichiers sont édités dans le Vim courant.
+.TP
+\-\-remote\-expr {expr}
+Se connecte à un serveur Vim, y évalue {expr} et affiche le résultat sur la
+sortie standard (stdout).
+.TP
+\-\-remote\-send {touches}
+Se connecte à un serveur Vim et y envoie {touches}.
+.TP
+\-\-remote\-silent
+Comme \-\-remote, mais sans émettre d'avertissement si aucun serveur n'est
+trouvé.
+.TP
+\-\-remote\-wait
+Comme \-\-remote, mais Vim ne quitte pas tant que le fichier est en cours
+d'édition.
+.TP
+\-\-remote\-wait\-silent
+Comme \-\-remote\-wait, mais sans émettre d'avertissement si aucun serveur n'est
+trouvé.
+.TP
+\-\-serverlist
+Donne la liste des noms de tous les serveurs Vim disponibles.
+.TP
+\-\-servername {nom}
+Utilise {nom} pour le nom de serveur. Ce nom est donné au Vim courant, à moins
+qu'il ne soit utilisé avec un argument \-\-remote. Dans ce cas, il s'agit du nom
+du serveur auquel se connecter.
+.TP
+\-\-socketid {id}
+IHM graphique GTK+ uniquement : utilise le mécanisme GtkPlug pour faire
+fonctionner gvim dans une autre fenêtre.
+.TP
+\-\-version
+Affiche les informations sur la version puis quitte.
+.SH AIDE EN LIGNE
+Taper ":help" dans
+.B Vim
+pour commencer.
+Taper ":help sujet" pour obtenir de l'aide sur un sujet précis.
+Par exemple : ":help ZZ" pour consulter l'aide sur la commande "ZZ".
+Utiliser <Tab> et CTRL\-D pour compléter les sujets (":help
+cmdline\-completion").
+Des marqueurs sont inclus dans l'aide et vous permettent de sauter d'un endroit
+à un autre (comme des liens hypertextes, voir ":help").
+L'ensemble des fichiers de la documentation peut être consulté de cette
+façon, par exemple ":help syntax.txt".
+.SH FICHIERS
+.TP 15
+/usr/local/lib/vim/doc/*.txt
+Les fichiers de la documentation de
+.B Vim.
+Utiliser ":help doc\-file\-list" pour obtenir la liste complète.
+.TP
+/usr/local/lib/vim/doc/tags
+Le fichier des marqueurs utilisé pour trouver les informations dans les
+fichiers de la documentation.
+.TP
+/usr/local/lib/vim/syntax/syntax.vim
+Initialisation de la syntaxe pour l'ensemble du système.
+.TP
+/usr/local/lib/vim/syntax/*.vim
+Fichiers de syntaxe pour différents langages.
+.TP
+/usr/local/lib/vim/vimrc
+Initialisation de
+.B Vim
+pour l'ensemble du système.
+.TP
+/usr/local/lib/vim/gvimrc
+Initialisation de gvim pour l'ensemble du système.
+.TP
+/usr/local/lib/vim/optwin.vim
+Script utilisé pour la commande ":options", une manière pratique de consulter
+et de modifier les options.
+.TP
+/usr/local/lib/vim/menu.vim
+Initialisation des menus de gvim pour l'ensemble du système.
+.TP
+/usr/local/lib/vim/bugreport.vim
+Script pour générer un rapport de bogue. Voir ":help bugs".
+.TP
+/usr/local/lib/vim/filetype.vim
+Script pour détecter le type d'un fichier d'après son nom.
+Voir ":help 'filetype'".
+.TP
+/usr/local/lib/vim/scripts.vim
+Script pour détecter le type d'un fichier d'après son contenu.
+Voir ":help 'filetype'".
+.TP
+/usr/local/lib/vim/*.ps
+Fichiers utilisés pour l'impression PostScript.
+.PP
+Pour disposer d'informations récentes, consulter le site Internet de VIM :
+.br
+<URL:http://www.vim.org/>
+.SH VOIR AUSSI
+vimtutor(1)
+.SH AUTEUR
+La majeure partie de
+.B Vim
+a été écrite par Bram Moolenaar, avec l'aide de nombreux autres contributeurs.
+Voir ":help credits" dans
+.B Vim.
+.br
+.B Vim
+est basé sur Stevie, réalisé par Tim Thompson,
+Tony Andrews et G.R. (Fred) Walter.
+Toutefois, pratiquement rien du code original ne subsiste.
+.SH BOGUES
+Probablement.
+Voir ":help todo" pour consulter la liste des problèmes connus.
+.PP
+NOTE : Remarquez que bon nombre de points, qui pourraient être considérés comme
+des bugs par certains, sont en fait dus à une reproduction trop fidèle
+du comportement de Vi. Et si vous pensez que d'autres points sont des
+bugs "parce que Vi le fait différemment", vous devriez jeter un oeil
+attentif au fichier vi_diff.txt (ou taper ":help vi_diff.txt" dans Vim).
+Regardez aussi les options 'compatible' et 'coptions'.
+.SH TRADUCTION
+Cette page de manuel a été traduite par Richard Hitier.
+<richard.hitier@dial.oleane.com> 2000-08-07.
+.br
+Cette page de manuel a été mise à jour par David Blanchet.
+<david.blanchet@free.fr> 2005-01-17.
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -3399,9 +3399,6 @@ fi
     CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-Oz/'`
   fi
 
-  CPPFLAGS="$CPPFLAGS $MAC_OSX_ARCH"
-  LDFLAGS="$LDFLAGS $MAC_OSX_ARCH"
-
 else
   echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6
--- a/src/configure.in
+++ b/src/configure.in
@@ -171,9 +171,6 @@ if test "`(uname) 2>/dev/null`" = Darwin
     CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-Oz/'`
   fi
 
-  CPPFLAGS="$CPPFLAGS $MAC_OSX_ARCH"
-  LDFLAGS="$LDFLAGS $MAC_OSX_ARCH"
-
 else
   AC_MSG_RESULT(no)
 fi
--- a/src/edit.c
+++ b/src/edit.c
@@ -131,6 +131,7 @@ static void ins_compl_del_pum __ARGS((vo
 static int  pum_wanted __ARGS((void));
 static int  pum_two_or_more __ARGS((void));
 static void ins_compl_dictionaries __ARGS((char_u *dict, char_u *pat, int flags, int thesaurus));
+static void ins_compl_files __ARGS((int count, char_u **files, int thesaurus, int flags, regmatch_T *regmatch, char_u *buf, int *dir));
 static char_u *find_line_end __ARGS((char_u *ptr));
 static void ins_compl_free __ARGS((void));
 static void ins_compl_clear __ARGS((void));
@@ -1906,7 +1907,8 @@ ins_ctrl_x()
 has_compl_option(dict_opt)
     int	    dict_opt;
 {
-    if (dict_opt ? (*curbuf->b_p_dict == NUL && *p_dict == NUL)
+    if (dict_opt ? (*curbuf->b_p_dict == NUL && *p_dict == NUL
+							&& !curwin->w_p_spell)
 		 : (*curbuf->b_p_tsr == NUL && *p_tsr == NUL))
     {
 	ctrl_x_mode = 0;
@@ -2504,28 +2506,42 @@ ins_compl_show_pum()
 #define DICT_EXACT	(2)	/* "dict" is the exact name of a file */
 
 /*
- * Add any identifiers that match the given pattern to the list of
- * completions.
+ * Add any identifiers that match the given pattern in the list of dictionary
+ * files "dict_start" to the list of completions.
  */
     static void
-ins_compl_dictionaries(dict, pat, flags, thesaurus)
-    char_u	*dict;
+ins_compl_dictionaries(dict_start, pat, flags, thesaurus)
+    char_u	*dict_start;
     char_u	*pat;
     int		flags;		/* DICT_FIRST and/or DICT_EXACT */
-    int		thesaurus;
-{
+    int		thesaurus;	/* Thesaurus completion */
+{
+    char_u	*dict = dict_start;
     char_u	*ptr;
     char_u	*buf;
-    FILE	*fp;
     regmatch_T	regmatch;
-    int		add_r;
     char_u	**files;
     int		count;
     int		i;
     int		save_p_scs;
     int		dir = compl_direction;
 
+    if (*dict == NUL)
+    {
+#ifdef FEAT_SYN_HL
+	/* When 'dictionary' is empty and spell checking is enabled use
+	 * "spell". */
+	if (!thesaurus && curwin->w_p_spell)
+	    dict = (char_u *)"spell";
+	else
+#endif
+	    return;
+    }
+
     buf = alloc(LSIZE);
+    if (buf == NULL)
+	return;
+
     /* If 'infercase' is set, don't use 'smartcase' here */
     save_p_scs = p_scs;
     if (curbuf->b_p_inf)
@@ -2545,12 +2561,15 @@ ins_compl_dictionaries(dict, pat, flags,
 	vim_free(ptr);
     }
     else
+    {
 	regmatch.regprog = vim_regcomp(pat, p_magic ? RE_MAGIC : 0);
+	if (regmatch.regprog == NULL)
+	    goto theend;
+    }
 
     /* ignore case depends on 'ignorecase', 'smartcase' and "pat" */
     regmatch.rm_ic = ignorecase(pat);
-    while (buf != NULL && regmatch.regprog != NULL && *dict != NUL
-					    && !got_int && !compl_interrupted)
+    while (*dict != NUL && !got_int && !compl_interrupted)
     {
 	/* copy one dictionary file name into buf */
 	if (flags == DICT_EXACT)
@@ -2564,106 +2583,141 @@ ins_compl_dictionaries(dict, pat, flags,
 	     * backticks (for security, the 'dict' option may have been set in
 	     * a modeline). */
 	    copy_option_part(&dict, buf, LSIZE, ",");
-	    if (vim_strchr(buf, '`') != NULL
+	    if (!thesaurus && STRCMP(buf, "spell") == 0)
+		count = -1;
+	    else if (vim_strchr(buf, '`') != NULL
 		    || expand_wildcards(1, &buf, &count, &files,
 						     EW_FILE|EW_SILENT) != OK)
 		count = 0;
 	}
 
-	for (i = 0; i < count && !got_int && !compl_interrupted; i++)
-	{
-	    fp = mch_fopen((char *)files[i], "r");  /* open dictionary file */
+	if (count == -1)
+	{
+	    /* Skip "\<" in the pattern, we don't use it as a RE. */
+	    if (pat[0] == '\\' && pat[1] == '<')
+		ptr = pat + 2;
+	    else
+		ptr = pat;
+	    spell_dump_compl(curbuf, ptr, regmatch.rm_ic, &dir, 0);
+	}
+	else
+	{
+	    ins_compl_files(count, files, thesaurus, flags,
+							&regmatch, buf, &dir);
 	    if (flags != DICT_EXACT)
-	    {
-		vim_snprintf((char *)IObuff, IOSIZE,
-			      _("Scanning dictionary: %s"), (char *)files[i]);
-		msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R));
-	    }
-
-	    if (fp != NULL)
-	    {
-		/*
-		 * Read dictionary file line by line.
-		 * Check each line for a match.
-		 */
-		while (!got_int && !compl_interrupted
-						&& !vim_fgets(buf, LSIZE, fp))
-		{
-		    ptr = buf;
-		    while (vim_regexec(&regmatch, buf, (colnr_T)(ptr - buf)))
-		    {
-			ptr = regmatch.startp[0];
-			if (ctrl_x_mode == CTRL_X_WHOLE_LINE)
-			    ptr = find_line_end(ptr);
-			else
-			    ptr = find_word_end(ptr);
-			add_r = ins_compl_add_infercase(regmatch.startp[0],
-					      (int)(ptr - regmatch.startp[0]),
-					      p_ic, files[i], dir, 0);
-			if (thesaurus)
-			{
-			    char_u *wstart;
-
-			    /*
-			     * Add the other matches on the line
-			     */
-			    while (!got_int)
-			    {
-				/* Find start of the next word.  Skip white
-				 * space and punctuation. */
-				ptr = find_word_start(ptr);
-				if (*ptr == NUL || *ptr == NL)
-				    break;
-				wstart = ptr;
-
-				/* Find end of the word and add it. */
-#ifdef FEAT_MBYTE
-				if (has_mbyte)
-				    /* Japanese words may have characters in
-				     * different classes, only separate words
-				     * with single-byte non-word characters. */
-				    while (*ptr != NUL)
-				    {
-					int l = (*mb_ptr2len)(ptr);
-
-					if (l < 2 && !vim_iswordc(*ptr))
-					    break;
-					ptr += l;
-				    }
-				else
-#endif
-				    ptr = find_word_end(ptr);
-				add_r = ins_compl_add_infercase(wstart,
-					(int)(ptr - wstart),
-					p_ic, files[i], dir, 0);
-			    }
-			}
-			if (add_r == OK)
-			    /* if dir was BACKWARD then honor it just once */
-			    dir = FORWARD;
-			else if (add_r == FAIL)
-			    break;
-			/* avoid expensive call to vim_regexec() when at end
-			 * of line */
-			if (*ptr == '\n' || got_int)
-			    break;
-		    }
-		    line_breakcheck();
-		    ins_compl_check_keys(50);
-		}
-		fclose(fp);
-	    }
-	}
-	if (flags != DICT_EXACT)
-	    FreeWild(count, files);
-	if (flags)
+		FreeWild(count, files);
+	}
+	if (flags != 0)
 	    break;
     }
+
+theend:
     p_scs = save_p_scs;
     vim_free(regmatch.regprog);
     vim_free(buf);
 }
 
+    static void
+ins_compl_files(count, files, thesaurus, flags, regmatch, buf, dir)
+    int		count;
+    char_u	**files;
+    int		thesaurus;
+    int		flags;
+    regmatch_T	*regmatch;
+    char_u	*buf;
+    int		*dir;
+{
+    char_u	*ptr;
+    int		i;
+    FILE	*fp;
+    int		add_r;
+
+    for (i = 0; i < count && !got_int && !compl_interrupted; i++)
+    {
+	fp = mch_fopen((char *)files[i], "r");  /* open dictionary file */
+	if (flags != DICT_EXACT)
+	{
+	    vim_snprintf((char *)IObuff, IOSIZE,
+			      _("Scanning dictionary: %s"), (char *)files[i]);
+	    msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R));
+	}
+
+	if (fp != NULL)
+	{
+	    /*
+	     * Read dictionary file line by line.
+	     * Check each line for a match.
+	     */
+	    while (!got_int && !compl_interrupted
+					    && !vim_fgets(buf, LSIZE, fp))
+	    {
+		ptr = buf;
+		while (vim_regexec(regmatch, buf, (colnr_T)(ptr - buf)))
+		{
+		    ptr = regmatch->startp[0];
+		    if (ctrl_x_mode == CTRL_X_WHOLE_LINE)
+			ptr = find_line_end(ptr);
+		    else
+			ptr = find_word_end(ptr);
+		    add_r = ins_compl_add_infercase(regmatch->startp[0],
+					  (int)(ptr - regmatch->startp[0]),
+					  p_ic, files[i], *dir, 0);
+		    if (thesaurus)
+		    {
+			char_u *wstart;
+
+			/*
+			 * Add the other matches on the line
+			 */
+			while (!got_int)
+			{
+			    /* Find start of the next word.  Skip white
+			     * space and punctuation. */
+			    ptr = find_word_start(ptr);
+			    if (*ptr == NUL || *ptr == NL)
+				break;
+			    wstart = ptr;
+
+			    /* Find end of the word and add it. */
+#ifdef FEAT_MBYTE
+			    if (has_mbyte)
+				/* Japanese words may have characters in
+				 * different classes, only separate words
+				 * with single-byte non-word characters. */
+				while (*ptr != NUL)
+				{
+				    int l = (*mb_ptr2len)(ptr);
+
+				    if (l < 2 && !vim_iswordc(*ptr))
+					break;
+				    ptr += l;
+				}
+			    else
+#endif
+				ptr = find_word_end(ptr);
+			    add_r = ins_compl_add_infercase(wstart,
+				    (int)(ptr - wstart),
+				    p_ic, files[i], *dir, 0);
+			}
+		    }
+		    if (add_r == OK)
+			/* if dir was BACKWARD then honor it just once */
+			*dir = FORWARD;
+		    else if (add_r == FAIL)
+			break;
+		    /* avoid expensive call to vim_regexec() when at end
+		     * of line */
+		    if (*ptr == '\n' || got_int)
+			break;
+		}
+		line_breakcheck();
+		ins_compl_check_keys(50);
+	    }
+	    fclose(fp);
+	}
+    }
+}
+
 /*
  * Find the start of the next word.
  * Returns a pointer to the first char of the word.  Also stops at a NUL.
@@ -3444,7 +3498,7 @@ ins_compl_get_exp(ini)
 	case CTRL_X_DICTIONARY:
 	case CTRL_X_THESAURUS:
 	    ins_compl_dictionaries(
-		    dict ? dict
+		    dict != NULL ? dict
 			 : (type == CTRL_X_THESAURUS
 			     ? (*curbuf->b_p_tsr == NUL
 				 ? p_tsr
@@ -3453,7 +3507,8 @@ ins_compl_get_exp(ini)
 				 ? p_dict
 				 : curbuf->b_p_dict)),
 			    compl_pattern,
-				 dict ? dict_f : 0, type == CTRL_X_THESAURUS);
+				 dict != NULL ? dict_f
+					       : 0, type == CTRL_X_THESAURUS);
 	    dict = NULL;
 	    break;
 
--- a/src/proto/spell.pro
+++ b/src/proto/spell.pro
@@ -17,6 +17,7 @@ void ex_spellrepall __ARGS((exarg_T *eap
 void spell_suggest_list __ARGS((garray_T *gap, char_u *word, int maxcount, int need_cap, int interactive));
 char_u *eval_soundfold __ARGS((char_u *word));
 void ex_spelldump __ARGS((exarg_T *eap));
+void spell_dump_compl __ARGS((buf_T *buf, char_u *pat, int ic, int *dir, int dumpflags_arg));
 char_u *spell_to_word_end __ARGS((char_u *start, buf_T *buf));
 int spell_word_start __ARGS((int startcol));
 void spell_expand_check_cap __ARGS((colnr_T col));
--- a/src/testdir/test58.ok
+++ b/src/testdir/test58.ok
@@ -256,3 +256,16 @@ taillead
 ['tail lead', 'tail']
 leadprobar
 ['leadprebar', 'lead prebar', 'leadbar']
+
+test 8-8
+# file: Xtest.latin1.spl
+bar
+faabar
+foo
+-------
+bad
+['bar', 'foo']
+foobar
+['faabar', 'foo bar', 'bar']
+barfoo
+['bar foo', 'bar', 'foo']
--- 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 (2006 Mar 1)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 1, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 2)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 2, compiled "