                        A FAIRE (To do)
                        
La procédure TCL "num_a_faire" : sert à renuméroter les lignes.
(sélectionnez-la, puis choisissez menu "Extra/execute selection"
ou <Meta-L> ("L" pour "load selection").

Nota pour le nouveau lecteur : ne vous inquietez pas pour la taille de ce
fichier : elle n'a jamais cessé d'augmenter depuis la création de 
stead ! En fait il me sert surtout de pense-bête (average dummies :-)


NE PAS OUBLIER DE METTRE LA DOC A JOUR !

########################################################################
# CLEANUP GENERAL 
########################################################################

Nettoyer les globales :

stead-v0.47alpha:   frl ./bin  'global.*TE_.*_DIR.*set'

 global TE_LIB_DIR; set TE_LIB_DIR $stead(install)/lib
 global TE_TCL_DIR; set TE_TCL_DIR $stead(install)/lib/tcl
 global TE_TK_DIR;  set TE_TK_DIR  $stead(install)/lib/tk
 global TE_MODE_DIR; set TE_MODE_DIR $stead(install)/lib/modes
 global TE_SAMPLE_DIR; set TE_SAMPLE_DIR $stead(install)/doc/examples

    global TE_USER_DIR;       set TE_USER_DIR       $stead(userlib)
    global TE_USER_PREFS_DIR; set TE_USER_PREFS_DIR $stead(userlib)
    global TE_USER_TERC_FILE; set TE_USER_TERC_FILE $stead(rcfile)
    global TE_USER_TEPREFS_FILE; set TE_USER_TEPREFS_FILE $stead(userlib)/stead-prefs
    global TE_ABBREV_DIR;     set TE_ABBREV_DIR     $stead(userlib)


########################################################################
# BUG 
########################################################################


1 - bug de la selection sur double click
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Il y a parfois une unite de selection (i.e un caractere ou un mot
    suivant le simple/double click) qui n'est pas selectionnable)
    (difficile a reproduire, et comme c'est pas grave...) 
        
2 - Permettre d'imposer un mode a la emacs 
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Voir gestion d'une chaine du style -- mode asmTMS --
    Ou plus generalement rajouter des metacomment stead
    % commentaire LATEX  --STEAD_EVAL xxx --
    But : permettre de personnaliser l'environnement d'édition
    pour un fichier particulier
    (car exemple pour créer à la fois le mode html et tcl pour un 
    même fichier...)
     
3 - BUG assez urgent (separation des procedures de macro)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Separer les procedures du fichier ../lib/macros dans des fichiers 
    différents pour éviter qu'une redéfinition par un utilisateur soit 
    écrasée par l'autochargement d'une autre procédure...
    
    En attendant, la facon la plus propre et de forcer l'autochargement 
    avant de la redefinir (au niveau utilisateur dans le steadrc par 
    exemple

    auto_load   la_Proc_a_Remplacer
    proc   la_Proc_a_Remplacer  {.. ..} {
       # ton code
    }
    
4 - Gestion des tabulations
    ^^^^^^^^^^^^^^^^^^^^^^^
    Introduire une variable du style.
        set stead(tablist) {8 13 19 55}
    et une procedure du genre :
        proc txt_FillToNextTab $w ?-nocheckpoint? ?-col <colToFill ?

5 - gestion les moniteurs monochromes
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Prevoir systematiquement deux jeux de couleurs.

6 - gestion des sauvegarde
    ^^^^^^^^^^^^^^^^^^^^^^
    Voici une évolution envisagée pour les backup à la place des fichiers 
    xxx~ (mais toujours conditionnés par le préférence : 
    
        set EDITPREFS(saveoldfile) 1
    
    Dans le répertoire utilisateur ~/.tk/stead, on crée un nouveau répertoire
    ~/.tk/stead/oldEditedDir/ contenant :
    
    1 - les fichiers sauvegardés sous un nom de la forme :
         .cshrc281469907187924382
         
    2 - ainsi qu'un fichier d'historique contenant des lignes de la forme :
    
        <NomfichierSauvegardé>   <cheminAbsoluOriginal>  <tailleEnOctet> <date>
        .cshrc281469907187924382 <cheminAbsoluOriginal>  <tailleEnOctet> <date>

7 - URGENT : gérer la version précédente du fichier édité
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Sauvegarder la version précédente sous le nom ${FILENAME}%$N
    (parrametrer le nombre de version que l'on souhaite gérer : un par défaut.
    
8 - URGENT : bug si le répertoire d'ou a été lancé stead n'existe plus
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    stead se sert de [pwd] et  cd $originalDir pour revenir ou 
    répertoire temporairement quitter (mais qui n'existe plus !)
    solution possible :
    - traiter par catch
    - prévoir une procédure cd_original $originalDir qui retourne 
    au plus proche parent si $originalDir n'existe plus
    
9 - Raccourci MAJUSCULE-minuscule Firstmajuscule :
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Utiliser un raccourci à bascule pour commuter entre ces trois
    fonction avec UN SEUL raccourci clavier <Meta-k>
    
10 - FACILE : binding emacs :
    ^^^^^^^^^^^^^^^^^^^^^^^^
    Reserver le raccourci <Controle-L> (<Controle-l> ?) pour recolorier
    l'écran (en fonction des modes)
    
11 - NOUVEAU -  pas urgent (gestion MACRO) :
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    J'envisage du prévoir un répertoire  MACROS/ au niveau systeme et au
    niveau utilisateur.
    Par exemple par des sous menus hiérarchiques 
        "Extra/System Macro => ..." et 
        "Extra/User Macro => ..." 
    
12 - BUG écran monochrome :
    ^^^^^^^^^^^^^^^^^^^^^
    It doesnt work at all well on monochrome machines! Text becomes
    invisible when I go into buttons and things.

13 - BUG options de lancement :
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    refaire la gestion des options de lancement.
    -> Ignore les fichiers pairs de la ligne de commande : 
    > stead fichier1 fichier2 fichier3 ...
    - traiter 

14 - Refaire les procédures de remplacement globale :
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    "te:cmd:replace_all {}" et "te:cmd:replace_in_sel {}"
    dans le cas d'une recherche régulière.
    Passer éventuellement par une procédure de filtrage TCL
    
15 - BUG recherche dans remplacement régulière
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    impossible de remplacer \n par un <space> dans la sélection (seulement
    possible partout).

16 - BUG recherche dans recherche régulière ligne par ligne
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    impossible de recherche le caractere "." !!! "\." ne marche pas.
    (utiliser le recherche régulière globale en attendant la correction).

17 - BUG <Meta-e> (entrer la sélection) suivi de <Meta-g> (chercher en avant)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    commencer le recherche à la fin de la sélection, et non pas au début.

18 - BUG dans unix pipe
    ^^^^^^^^^^^^^^^^^^
    La sélection apres traitement est mal placée.
19 - 
    remplacement dans la selection rectangulaire :
    si les longueurs des chaines de recherche et remplacement sont differentes
    la selection originale n'est pas conservee => certaines chaines ne seront
    pas remplacees (car plus selectionnees)
    Solution : recuperer la selection rectangulai9re dans un widget texte 
    intermediaire et y appliquer un replace_all puis restituer la cahine
     (procedure te:cmd:replace_in_sel)

20 - O bug D facile, U normal
     Les 2 facons de deplacer le scrollbar ne marchent pas si la touche 
     CapsLock a ete enfoncee. ????????!!!!!

21 - O bug D assez difficile, U normal
     Necessite le traitement special de chaine de la forme ~oz<space>
     Si dans le browser file/open...
     si on fait ~ozanski<space> alors erreur :
     
     user "ozanski*" doesn't exist
         while executing
     "glob -nocomplain "${f}*""
         invoked from within
     "te:longest_match [glob -nocomplain "${f}*"]..."
         invoked from within
     "set expansion [te:longest_match [glob -nocomplain "${f}*"]]..."
         (procedure "te:expand_filename" line 2)
         invoked from within
     "te:expand_filename $f"
         invoked from within
     ".fs.file.e insert end [te:expand_filename $f]..."
         (command bound to event)
    Remède : ~ozanski/<space> fonctionne
    
22 - O bug D inconnue, U non urgent
     Warning si couleur inexistante sur la console ?
     no more color in colormap ??? -> il ne trouvait plus magenta pour la
     balance... 


###########################################################################
                   MODIFICATIONS DE FONCTIONNALITE
###########################################################################

23 - MODIF assez facile
     ^^^^^^^^^^^^^^^^^^
     Integrer proprementla procedure "rmt" 
     Avec les raccourci STEAD pour le widget stead

24 - MODIF FACILE
     ^^^^^^^^^^^^
     lors d'ine demande d'extention d'abbrev statique., il faut afficher
     un message du style "abbrev statique "POPO" non définie"

25 - Prévoir (si pas deja fait !) une procedure post-mode-read-hook
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     Pour modifier la fonte d'un menu spécifique créé par un mode.

26 - Recherche remplacement
     ^^^^^^^^^^^^^^^^^^^^^^
     Automatiser le choix de l'option "Regexp by line" dans la recherche 
     régulière :
     Si la chaine régulière commence par "^" ou se termine par "$", alors 
     passer AUTOMATIQUEMENT en mode line by line. (prévoir tout de même le 
     cas rarissime ou on ne le souhaiterarit pas !)
     
27 - BUG couleur et fonte
     ^^^^^^^^^^^^^^^^^^^^
     assurer le fonctionnement des couleurs (par un catch...) si les couleurs 
     n'existent pas.
     S'il y a un probleme de couleur (ou de fontes) : il faut se contenter 
     d'afficher une ligne d'information sous les menus (avec un beep 
     éventuellement pour dire que quelque chose n'a pas marché)
 
 22 - MODIF facile dans continuer la recherche :
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     "Rechercher encore" fait un beep s'il ne trouve pas, et propose de 
     recommencer au début (ou à la fin suivant recherche en avant ou en 
     arrière), mais en obligeant a clicker !
     IL FAUT DONC : 
         - le premier coup : beep et afficher un message (sous les menu)
         - le deuxieme coup : recherche de nouveau depuis le début (ou depuis
           la fin) du document 
     => qu'on on entend beep, il suffit de refaire une deuxième fois 
        rechercher encore par <Meta-g> ou <Meta-i>)

28 - MODIF facile de quelques menus
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     - éditer directement le steadrc SYSTEM, 
     - remonter dans le menu config les deux sous-sous-menus de validation
       de alias dyn. et stat.
  
29 - electricalias caracteres de separation :
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Définir une globale du style : 
        set alias(charSeparatorList) {\(\)\[\]\{\}\$}
    à utiliser pour construire les patternes alias(extractPattern1) and 
    alias(extractPattern2) pour l'extraction des alias 

    
30 - BUG alias dynamique :
    ^^^^^^^^^^^^^^^^^^^^^

  - l'attribut puis si on tape l'<Meta-Tab> => le "l'" est detruit
    mais pas étendu !!
    
  - S'arranger pour que les accents puisse faire partie des mots à étendre
    (éléphant n'est pas expansible :-()) 

31 - BUG comportement separateur (electricalias) :
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    - Modifier la proc separator {param} pour qu'elle RETOURNE une chaine
    au lieu de l'insérer directement (meilleur comportement avec les 
    electric_alias.
    - Créer une procédure insert_separator {w param} qui insere dans le widget
    w le résultat de la commande separator {param}
    
32 - Modif facile electricalias
     ^^^^^^^^^^^^^^^^^^^^^^^^^^
     Ne pas detruire les electricAlias quand on quitte un mode
     (mettre cette destruction en commentaire)
     Cela permet à l'utilisateur de se mettre ses quelques electricAlias 
     dans son steadrc (pour differents modes)

33 - electricalias (long terme)
     ou bien : accepter (){}{} comme separateur d'alias en plus des espaces
     ou bien : cherche la plus longue chaine en arriere pour expandre 
     l'alias

34 - O nouv.fonct, D tres facile, U assez urgent
     En vue de faciliter la definition des ElectricAlias pour les 
     differents modes, ou pour l'utilisateur,
     creer dans le menu CONFI/ABREVIATION/show available ElectricAlias
     dans un nouveau fichier temporaire clean ; est dans un format 
     facilement modifiablepar l'utilisateur.

35 - O modif. fonct. D assez difficile, U urgent ?
     fill (version preliminaire) au lieu de fmt (ou sécuriser fmt)
     - Si pas de sélection en cours : formatage du paragraphe en cours 
       (sens latex)
     - Si la sélection en cours appartient à l'éditeur stead : Formatage 
       de la sélection,

36 - O modif fonct. D facile, U urgent
     changer le nom des variables (colorAllfg ...) pour toute couleur
     rajouter les commentaires dans le fichier steadrc

37 - O modif. fonct. D facile, U urgent
     DISCUTER DE CE CHOIX
     ne pas rendre la main apres une balance (par alt-b)

38 - o modif fonct, D assez diificile, U urgent
    faire une option read only (variable globale) empechant le save sous 
    le meme nom

39 - O modif fonct, D assez difficile, U assez urgent
    Preferences utilisateur
    
    Définir une liste de tableaux contant toutes les globales nécessaire 
    (voir tkmail) : 
       te(), les préférences utilisateur te(color:textbg), te(font:...)
              te(mode:plain:commentcolor) ET te(mode:vhdl:commentcolor)
       ted() (= te_doc), 
       tesys() : bidouilles internes 
       ea() : electric alias
       
    Il me paraitrait interessant (voir important) que si l'utilisateur ne 
    souhaite QUE modifier la couleur du fond parmi les 10000 preferences
    possibles de STEAD, il y ait un moyen de ne pas sauvegarder dont SON 
    stead.pref TOUTES LES AUTRES preferences.
    Un tel procedé permettrait d'augmenter fortement les preferences possibles 
    de l'éditeur tout en allégeant fortement le fichier stead.pref, en le 
    rendant ainsi BEAUCOUP plus lisible.
    Exemple il pourrait y avoir DES TAS DE GLOBALES SUPPLEMENTAIRES du style :
    set TITLE_WINDOW "stead $INTERPRET_NAME %F %IS_MODIFIED"
    set TITLE_ICON "%IS_MODIFIED%F"
    qui n'apparaitrait pas dans le stead.prefs SAUF si l'utilisateur les a 
    modifier.
    UN MOYEN SIMPLE DE REALISER CA :
    sera de ne sauvegarder dont stead.pref que les variables qui different des 
    variables par defauts
    Un autre moyen pour supprimer le fichier stead.pref (devenu tres petit)
    serait de concentrer ces affectations dans une procedure dans steadrc :
    proc stead:user:preferences {} {
      # attention ne pas modifier les premeires et dernieres ligne de 
      # cette procedure, celle-ci étant susceptible d'etre generer 
      # automatiquement
      uplevel #0 {
        set te(text:hight) 48
        set te(text:width) 72
        set te(TITLE_ICON) "%IS_MODIFIED%F"
      }
    } # end stead:user:preferences

40 - O modif fonct, D assez facile, U assez Urgent
     pour la Template proc en TCL (et peut-etre dans les autres modes)
     si je veux transformer les lignes suivantes en procedure, je ne peux pas 
     utiliser le menu "proc" car il ME DETRUIT LA SELECTION :
     il faudrait qu'elle soit reinserée dans le coprs de la proc, 
     puis que le point d'insertion soit positionné  au niveau des parametres
     proc table-ascii {} {
       set table ""
       for {set i 1} {$i <= 255} {incr i} {
         set POPO [format "dec : %d  hex : %x oct %o ascii : {%c}" $i $i $i $i ]
         set table $table$POPO\n
       }
       # endfor
       return $table
     }
     # endproc table-ascii
     # ########################################################################
     REMARQUE : cette procedure serait peut-etre utile quelque part dans un menu 
     (extra) ; de meme qu'un menu pour rajouter un (ou plusieur) caractere 
     arbitraire.
     
41 - facile, normal
     mode latex : changer le file to process apres un save AS ...
     (vérifier avant que le fichier édité est le mème que le fichier à compiler)

42 - O modif.fonct, D tres facile, U normal
     inverser le nom du fichier et le numero de l'interpreteur

43 - O modif.fonct, D tres facile, U normal
    Trier les menus de Admin (déja fait pour certains)

44 - O modif. fonct. D assez facile, U normal
     sur return : virer l'indentation entre l'endroit ou on fait le return et
     le texte (ou le return suivant)

45 - O  modif fonct. D inconnue, U normal
    Serait il possible d'inclure les underscores dans la
    composition des mots pour les abbreviations dynamiques.

46 - O modif. fonct. mode LATEX D assez facile, U pas urgent
     mode latex : regler le probleme de benoit (seulement debut de ligne pour
     les sections)
     
47 - O modif fonction, D moyenne, U pas urgent
     utiliser tcolor (si c'est facile)

48 - O modif. fonct. mode D assez facile, U long terme
     pour benoit : selection multi-critere de navigation.
     
49 - O modif fonct, D difficile, U log terme

  suggestions long terme pour les electrique alias (:-) :
  au lieu de  :
  for (;;) {
    
  }/*endfor*/
  il faudrait que l'alias for puisse nous fournir :
  for (set i 1 ; $i <= 255 ; incr i) {
    BODY
  }/*endfor*/
  Et <Meta-tab> devrait sauter d'un champ à l'autre en SELECTIONNANT 
  le contenu du champ pour facilité son remplacement à la premiére frappe.


###########################################################################
                        NOUVELLES FONCTIONNALITES
###########################################################################

50 - Pour STEAD2.0
     multibuffer (menu window, edition du clipboard, ...) 

51 - O nouv.fonct, D facile, N non urgent
     S'inspirer de certaines bonne idées de l'éditeur tkedit 
     de Rainer Kowallik (Kowallik@ifh.de)
     - menu file/util => chmod +x, +w  ; CR/LF <-> LF ; CR <-> LF
     - menu file/export => DOS, MAC, ..
     - menu "popchar" (boutons + raccourcis... : ééèê + caracteres speciaux)
     - "mark position", "goto position" 
     - fonte type, fonte size"mark position", "goto position" 

52 - O nouv. fonct. D tres facile, U assez urgent
    "Edit tclindex" édition directe de tclindex (a la fin)  dans le
    menu admin (sous "edit stead"
    Cela permettrait de retrouver plus facilement une procedure et d'ouvrir 
    le bon fichier.

53 - O nouv. fonct. D tres facile, U assez urgent
     lire le tclindex de user_prefs_dir

54 - O nouv. fonct. D assez facile, U normal
     refaire des procédures de manipulation du cutbuffer à travers 
     des fichiers temporaires (proc te:cmd:cut_rect_sel ... du fichier
     tclLib/rect_sel.tcl)
     
55 - O nouv. fonct. D assez facile, U normal
     créer des "named cutBuffer" sauvegarder dans ~/.tk/stead/cutbuffer/

56 - O nouv. fonct. D facile, U normal
     créer une globale pour gérer le menu "Open Frenquently =>"
     à initialiser par défaut à ".cshrc, ..."

57 - O nouv. fonct. D moyenne, U normal
     créer le menu "Open recently =>" (info mémorisée dans le fichier
     ~/.tk/stead/stead.recently.log
     


58 - O nouv. fonct. D assez facile, U normal
     prevoir dans le menu config, un sous-menu taille...=>  9pt
                                                            10pt
                                                            11pt
                                                            12pt
                                                            14pt
59 - O nouv. fonct. D assez facile, U normal
     lorsqu'on applique un filtre sans selection : on l'applique au mot
     faire une procedure sélectionnant le mot precedent
     
60 - O nouv. fonct admin. D moyenne, U normal
    "search proc in tclindex files..."

    Ceci serait une extension de ton menu "search proc" :

    Si pas de sélection : te:promp{} (comme pour "Go To Line...")
    Si selection : fonctionnement comme Menu Tcl/search proc.

    DANS UN PREMIER TEMPS : tu peux bidouiller quelques chose qui 
    satisfasse a ce besoin rapidement
    
    PLUS TARD : cette fonctionnalité rentrera dans un cadre plus general
    utilisant des FILE_SETS

61 - O nouv. fonct. D moyenne, U normal
     mode C : compiler et ouvrir une fenêtre avec les résultat des erreurs

    
62 - O nouv. fonct. D moyenne, U normal
     user / "renumber selected lines"

63 - O nouv fonct , D inconnue, U normal
     NOUVELLE OPTION DE STEAD
     ------------------------
     Il sera probablement interessant de creer une option de STEAD du style :
     > stead -line 113 mode.help
     Celle-ci facilitera l'acces aux différentes sections de l'aide apres 
     fusion des fichiers d'aide.

     rajouter les fonctionnalites de beth (pipe, option read only 
     option -c commande , -f file to execute ...)
     

64 - O nouv. fonct. D assez difficile, U normal
     gerer caractere 8bits (azerty/qwerty) 
     
65 - O nouv. fonct. D difficile, U normal
     definir un "mot" (caracteres 8 bit,...)
     
66 - O nouv. fonc. D facile, U pas urgent
     colorer quelques instants (comme balance), la ligne trouvee pour 
     navigation dynamique
     
67 - O nouv fonct, D facile?, U pas urgent
    Je proposerais plutot un jeux de petits filtres.
    Menu "Extra / binary =>" :
        - insérer un caractere arbitraire :
          un prompt demande le(s) code(s) du (des) caractere(s) souhaités
          on entre x41, ou 0101, ou 65 ; et "A" est alors inséré.
        - lire le code du (des) caractères sélectionnés
          par exemple on sélectionne "Aø", on appelle le menu, et on recoit :
            "A" : decimal :  65  hexa : 41 octal 101 
            "ø" : decimal : 248  hexa : f8 octal 370 
        - convert sel to bin
          La chaine   : "ABCD"
          deviendrait : "41 42 43 44" 
          (les espaces sont faciles à virer APRES avec STEAD si on n'en veut pas)
        - convert sel to ascii
          La chaine   : "41 42 43 44" (AVEC OU SANS ESPACE)
          deviendrait : "ABCD" 
         
    Cela dépannerait de pas mal de problèmes !
     
    De menu il faut prévoir un menu (vide pour l'instant) agissant sur la 
    sélection Menu "Extra / convert =>" :
        - tab to space
        - Mac to ISO
        - ISO to Mac
        - DOS to ISO
        - ISO to MAC


68 - O nouv fonct - D facile - U pas urgent
    A la fin d'une compilation LaTeX, le fichier .log est edité, mais il n'y a 
    pas de scrollbar, on doit bouger le texte avec la touche centrale de la souris.
    Cela pose-t-il un probleme de rajouter une scrollbar ?

69 - O nouv fonct - D facile - U pas urgent
    Enfin, dans le menu LaTeX, pourrait-on rajouter 1 voire 2 lignes :
    d'abord une ligne ``BibTeX''
    ensuite, eventuellement, une ligne ``correcteur'' pour acceder au correcteur 
    orthographique de LaTeX. (mais ``correcteur'' ne tourne que sur les Sparc)

70 - O nouv. fonct. D assez facile, U pas urgent
     MENU FORMAT/UNDERLINE
     Nouveau menu, et nouvelle fonctionnalite dont le but est de souligner la
     selection.
     Par exemple pour souligner les titre conne ceux de ce mail.

71 - O nouv. fonct. D assez facile, U pas urgent
     open frequently : var glo avec listes des fichiers

72 - nouvelle. fonct. D : assez facile U : non urgent
      Prevoir l'apparition OPTIONNEL d'un bandeau de commandes sous les menus
      avec des couleurs (preferences differentes des menus.
      Les possibilités par defaut sont les suivantes ("facilement" remplacable 
      par l'utilisateur) :
      Save Quit Load PrSel Copy Cut Paste Undo Redo Find MAJ min ?
      Save
      Quit 
      Load... (ou plutot Open...?)
      Print... 
      Copy 
      Cut
      Paste 
      Undo 
      Redo (Ca permettra de faire connaitre cette commande)
      Find...
      CASE (mise en majuscule)
      case (mise en minuscule)
      ? (help)

73 - nouvelle. fonct. D : moyenne U : non urgent
     Creer le nouveau menu  "File/Open recently..." qui permet d'acceder
     directement aux N (10 ?) fichiers les plus recement ouverts (toute
     session confondue).
     Les noms absolus des fichiers en question doivent etre memorisés (d'une 
     manière unique meme si l'on ouvre 50 fois le meme fichier !) dans 
     un fichier utilisateur du style ~/.tk/stead/recently-opened-files.tcl
     sous une forme TCL :
       ...
       lapend RECENTLY-OPENED-FILES {/.../diam/THESE/annexes/annexe23.tex}
       ...
     Une procedure interne doit pouvoir filtrer certain fichiers ane pas
     memoriser (la prevoir meme si elle ne fait rien dans un premier temps) 
          
74 - O nouv. fonct. D moyenne, U pas urgent
    une memoire de marque <Meta-m> => cree une marque avec un nom  ;
    judicieux par defaut (le mot selectionné, ou un mot du style "Marque 1",
    et <Meta-shift-m> propose d'aller à une marque pré-enregistrer.

    Je pense que la spécif suivante est souhaitable :
    <Meta-m> : création d'une marque dont le nom proposé "est" la selection
               si pas de selection : le nom proposé est "1" par défaut
    <Meta-M) : présentation de la liste des marques préenregistrées avec
               proposition de la marque "1" par défaut.
    
    Ainsi <Meta-m><Return> mémorise la position courante dans la marque par defaut
    et <Meta-M><Return>  y retourne. 
    Les raccourcis <Control-m> et <Control-M> font la meme chose.
    
    Le nom de la marque par defaut pourra etre modifier au niveau de la listBox
    (pas avec un nouveau menu please).

75 - O nouv. fonct. D difficile, U pas urgent
     fonctionnalites de la scrollbar : deplacement rapide par le click a un 
     endroit (thuillot - commeau)

76 - O nouv. fonct.  D difficile, U non urgent
     creation de la sur couche type mxedit pour la gestion, modif, suppression 
     de menu
     Ce principe pourrais etre generalise a d'autres menu utilitaire
     te:addMenuWisiwig
     te:addMenuMultiSearch
     ou meme
     te:addMenuTcl
     te:addMenuLatex     
     Cela permettrait simplement de concerver le menu TCL alors qu'on est en 
     mode C...


77 - O nouv. fonct. D difficile, U pas urgent
     permettre la balance avec /* et  */ (et $ pour latex)
     generalisation de la balance a plusieur caracteres

78 - nouv. fonct., assez difficile, non urgent 
    a - indiquer apres un remplacement global *selection ou tout)
        le nombre de remplacement effectués,
    b - laisser le fichier clean si pas de remplacement effectué.

79 - O nouv. fonct. D inconnu, U long terme
     prevoir option "Fast" pour le browser
          
80 - O nouv fonct , D inconnue, U long terme
     multi-interpreteur (navigation entre les stead)
     pouvoir fermer tous les te a partir d'un seul 

81 - O nouv. fonct. D assez difficile, U long terme
     un mode RICHTEXT (avec menu format (gras, ...) taille (9pt,..)
     pour faire les fichiers d'aide
     
82 - O nouv. fonct. D difficile, U long terme
     faire un mode bin pour le binaire
     

###########################################################################
			          INTERNE
###########################################################################

83 - O interne, D moyenne, U urgent

  RENOMMER procedure jedit:...
  RENOMMER les variables globale d'une maniere arborescente pour
  que les globales concernant des fonctionnalité voisines soit voisine par 
  ordre alphabetique:
  
  color...
  FILEMODE -> MODE:qqchose  (comme MODE et MODE_LIST)...


84 - O interne. D assez facile, U pas urgent
     une pile (LIFO) de marquage, (surtout pour la programmation de l'editeur)
     et 
     faire une pile de mark (pushMark, popMark pour permettre a l'utilisateur
     de revenir a une position anterieure)

85 - O interne. D inconnue, U pas urgent
     faire une pile LIFO de binding
     permettrait de changer temporairement un binding et de pouvoir revenir 
     a la valeur precedence (== pile de script !) peut-etre dangereux

86 - O interne. D assez difficile, U pas urgent
     faire un pushvar/popvar
     utilise notamment pour la definition des macros :
     exemple : sauver un checkpoint
               inhiber le checkpointing
               faire une serie d'operations normalement undoables une a une
               (par exemple delete_left_word 14 fois !)
               restituer le checkpointing

###########################################################################
			        AIDE
###########################################################################

87 - O aide D tres facile, U asser urgent
    ecrire aussi des commentaires dans steadrc (faire un tableau 
    editprefs_doc quicontient ces commentaires)
     
88 - O aide D tres facile, U normal
     depuis le menu Help : pouvoir ouvrir des fichier d'exemple séparés, et 
     hyper-documentés :
     fichier de mode (verilog) et fichier steadrc
     
89 - O aide D facile, U normal
    Pour benoit R. : documenter la facon de creer un binding pour un menu 
    (ex latex file)
     
90 - O aide D facile, U normal
     faire une aide sur la fenetre d'edition (signification des informations
     des boutons et des menus ...) section supplementaire de la doc
     
91 - 0 aide, D facile, U normal
    AUTO-DOCUMENTATION des globales et procedures interssantes
    il est possible pour faciliter la CREATION et la MAINTENANCE
    de la DOCUMENTATION SUR LES VARIABLES GLOBALES de creer pour chaque variable 
    globale (celles interessantes pour l'utilisateur) une globale supplémentaire
    contenant sa propre description. 
    Exemple
    set FILENAME /sdfg/sdgf/dxg/dfh/fichier.tex
    set FILENAME::COM::FR {
    nom du fichier en cours d'édition ; peut etre non définie si...
    }
    set FILENAME::COM::US {
    name of ...
    }
    idem pour les procedures
    set TE:PROMPT::COM::FR {
    ...
    }

Ces affectations peuvent etre localisées dans une procedure separee de façon
à n'etre appelée QUE si necessaire (exemple menu "Show global", ou 
"autogenerate documentation...")...)

92 - O aide D assez facile, U normal
     te : documenter la facon d'autopositionner te en UNIX (fichier 
     .Xressources...) l'option pour la geometrie

93 - O doc maintenance D assez facile, U normal
     faire un fichier d'aide pour le protocole de modif d'amelioration de te
     et d'ajout dans le manuel... 
     => avoir TE en local pour tester


###########################################################################
			DIRECTIVES GLOBALES 
###########################################################################

94 - Finir les modes

 Finir les modes latex, C, TCL, VHDL, Verilog
 Créer le corps des autres fichiers de modes (pascal, fortran, html,
  shell, postscript, ...) avec un minimum de fonctionnalité
 Virer (ou déplacer dans un sous-répertoire "complements") les modes non 
  commencés (dont sh dont je ne vois pas l'interêt
 rajouter la fonctionnalité de création de nouveaux modes par l'utilisateur
  (en modifiant la façon dont les modes sont gérés dans l'éditeur)
  
95 - documenter en priorité

  (pour NOUS permettre de continuer les modes)
  les modes (utilisation, fonctionnement, personnalisation, création...)
  personnalisation de l'éditeur (exemple détaillé des possibilités 
  du steadrc)
  
96 - Modifier de la gestion des préférences

  voir si le systeme de gestion des preferences de stead peut etre modifier
  (simplifier), utiliser l'edtion des preference comme tkmail 2.0-alpha

97 - renommer et documenter les globales et procedures

 renommer et documenter les globales interessantes (voir mail recent)
  (creation d'une global supplementaire FILENAME:DOC:FR, ...)

 renommer et documenter les procédures interessantes

98 - revoir le doc totale dans sa globalité

 préparer un plan hiérachique,...
 Manuel de l'utilisateur (correspond a la doc en ligne)
 Manuel de maintenance pour utilisateur avancé (pas nécessairement en ligne)
 La doc TCL
 fusionner et rendre cohérente la doc en ligne

99 - faire mini doc en français ET en anglais avec le minimum :

    - rectangular selection is done by <Control-Button-3> (you can the 
      cut / copu or Paste into one stead windows)
      
    - you can edit the "Config/Edit sample user File..." and save 
      it in your ~/.tk/stead/steadrc file
      (for sample how to add/customse menu...)
      
    - you can also play with the file system for the simpler "Make" mode
      (edit the file "Make-mode.tcl" and custoom it in your ~/.tk/stead/
      directory)
      
    - just a usefull tcl command (menu "Extra/isuue TCL command...")
      then you can Replace All by typing the following:
      
      ra \r\n \n
      (replace PC end of line by unix end of lines)
      
      ra \n\n+ \n\n
      (replace 1 or more empty lines by only one empty line)
