                        A FAIRE (To do)
                        
La procdure TCL "num_a_faire" : sert  renumroter les lignes.
(slectionnez-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 cration de 
stead ! En fait il me sert surtout de pense-bte (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 crer  la fois le mode html et tcl pour un 
    mme fichier...)
     
3 - BUG assez urgent (separation des procedures de macro)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Separer les procedures du fichier ../lib/macros dans des fichiers 
    diffrents pour viter qu'une redfinition par un utilisateur soit 
    crase par l'autochargement d'une autre procdure...
    
    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 envisage pour les backup  la place des fichiers 
    xxx~ (mais toujours conditionns par le prfrence : 
    
        set EDITPREFS(saveoldfile) 1
    
    Dans le rpertoire utilisateur ~/.tk/stead, on cre un nouveau rpertoire
    ~/.tk/stead/oldEditedDir/ contenant :
    
    1 - les fichiers sauvegards 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 : grer la version prcdente du fichier dit
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Sauvegarder la version prcdente sous le nom ${FILENAME}%$N
    (parrametrer le nombre de version que l'on souhaite grer : un par dfaut.
    
8 - URGENT : bug si le rpertoire d'ou a t lanc stead n'existe plus
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    stead se sert de [pwd] et  cd $originalDir pour revenir ou 
    rpertoire temporairement quitter (mais qui n'existe plus !)
    solution possible :
    - traiter par catch
    - prvoir une procdure 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 prvoir un rpertoire  MACROS/ au niveau systeme et au
    niveau utilisateur.
    Par exemple par des sous menus hirarchiques 
        "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 procdures de remplacement globale :
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    "te:cmd:replace_all {}" et "te:cmd:replace_in_sel {}"
    dans le cas d'une recherche rgulire.
    Passer ventuellement par une procdure de filtrage TCL
    
15 - BUG recherche dans remplacement rgulire
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    impossible de remplacer \n par un <space> dans la slection (seulement
    possible partout).

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

17 - BUG <Meta-e> (entrer la slection) suivi de <Meta-g> (chercher en avant)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    commencer le recherche  la fin de la slection, et non pas au dbut.

18 - BUG dans unix pipe
    ^^^^^^^^^^^^^^^^^^
    La slection apres traitement est mal place.
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)
    Remde : ~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 dfinie"

25 - Prvoir (si pas deja fait !) une procedure post-mode-read-hook
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     Pour modifier la fonte d'un menu spcifique cr par un mode.

26 - Recherche remplacement
     ^^^^^^^^^^^^^^^^^^^^^^
     Automatiser le choix de l'option "Regexp by line" dans la recherche 
     rgulire :
     Si la chaine rgulire commence par "^" ou se termine par "$", alors 
     passer AUTOMATIQUEMENT en mode line by line. (prvoir tout de mme 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 dbut (ou  la fin suivant recherche en avant ou en 
     arrire), 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 dbut (ou depuis
           la fin) du document 
     => qu'on on entend beep, il suffit de refaire une deuxime 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 :
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Dfinir 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
    (lphant n'est pas expansible :-()) 

31 - BUG comportement separateur (electricalias) :
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    - Modifier la proc separator {param} pour qu'elle RETOURNE une chaine
    au lieu de l'insrer directement (meilleur comportement avec les 
    electric_alias.
    - Crer une procdure insert_separator {w param} qui insere dans le widget
    w le rsultat 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 scuriser fmt)
     - Si pas de slection en cours : formatage du paragraphe en cours 
       (sens latex)
     - Si la slection en cours appartient  l'diteur stead : Formatage 
       de la slection,

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
    
    Dfinir une liste de tableaux contant toutes les globales ncessaire 
    (voir tkmail) : 
       te(), les prfrences 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 allgeant 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 reinsere 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 ...
     (vrifier avant que le fichier dit est le mme 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 (dja 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 premire 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 ides 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 procdures 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
     crer des "named cutBuffer" sauvegarder dans ~/.tk/stead/cutbuffer/

56 - O nouv. fonct. D facile, U normal
     crer une globale pour grer le menu "Open Frenquently =>"
      initialiser par dfaut  ".cshrc, ..."

57 - O nouv. fonct. D moyenne, U normal
     crer le menu "Open recently =>" (info mmorise 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 slectionnant 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 slection : 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 fentre avec les rsultat 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 diffrentes 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 =>" :
        - insrer un caractere arbitraire :
          un prompt demande le(s) code(s) du (des) caractere(s) souhaits
          on entre x41, ou 0101, ou 65 ; et "A" est alors insr.
        - lire le code du (des) caractres slectionns
          par exemple on slectionne "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 dpannerait de pas mal de problmes !
     
    De menu il faut prvoir un menu (vide pour l'instant) agissant sur la 
    slection 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 possibilits 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 memoriss (d'une 
     manire 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 spcif suivante est souhaitable :
    <Meta-m> : cration d'une marque dont le nom propos "est" la selection
               si pas de selection : le nom propos est "1" par dfaut
    <Meta-M) : prsentation de la liste des marques prenregistres avec
               proposition de la marque "1" par dfaut.
    
    Ainsi <Meta-m><Return> mmorise 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 effectus,
    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 spars, et 
     hyper-documents :
     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 supplmentaire
    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 dfinie si...
    }
    set FILENAME::COM::US {
    name of ...
    }
    idem pour les procedures
    set TE:PROMPT::COM::FR {
    ...
    }

Ces affectations peuvent etre localises dans une procedure separee de faon
 n'etre appele 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
 Crer le corps des autres fichiers de modes (pascal, fortran, html,
  shell, postscript, ...) avec un minimum de fonctionnalit
 Virer (ou dplacer dans un sous-rpertoire "complements") les modes non 
  commencs (dont sh dont je ne vois pas l'intert
 rajouter la fonctionnalit de cration de nouveaux modes par l'utilisateur
  (en modifiant la faon dont les modes sont grs dans l'diteur)
  
95 - documenter en priorit

  (pour NOUS permettre de continuer les modes)
  les modes (utilisation, fonctionnement, personnalisation, cration...)
  personnalisation de l'diteur (exemple dtaill des possibilits 
  du steadrc)
  
96 - Modifier de la gestion des prfrences

  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 procdures interessantes

98 - revoir le doc totale dans sa globalit

 prparer un plan hirachique,...
 Manuel de l'utilisateur (correspond a la doc en ligne)
 Manuel de maintenance pour utilisateur avanc (pas ncessairement en ligne)
 La doc TCL
 fusionner et rendre cohrente la doc en ligne

99 - faire mini doc en franais 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)
