>>>>> "Claudio" == Claudio Granatiero <claudiog@xxxxxxxxxxxxx> writes: Claudio> In particolare, esiste un modo per avere da qualche parte Claudio> (status line, prima riga, al limite in un menu Claudio> contestuale) il nome della funzione in cui si trova il Claudio> cursore? Una quasi-rapida ricerca mi ha portato su questa pagina, che mi sembra interessante, al momento vado di fretta, ma poi gli dò un'occhiata. http://www.cs.washington.edu/~voelker/ntemacs/discuss/emacs20-3-which-func-mode Claudio> Mi spiego meglio: mi trovo a dover analizzare Claudio> spesso sorgenti in C in cui certe funzioni occupano Claudio> alcune pagine. Saltarellando allegramente in giro con C-s Claudio> alla ricerca di variabili, mi piacerebbe capire subito Claudio> dove sono, senza dover andare alla ricerca della Claudio> definizione tre pagine più sopra... Per "gironzolare" nel codice può essere utile utilizzare TAGS C-h i emacs s tags Io, con Python ho usato anche oo-browser (che funzia anche per C++), un po' "strano", ma utile (per C liscio non saprei). Il supporto di outlining in (GNU) Emacs è purtroppo un po' "ridicolo", soprattutto perchè hanno fatto un casino bestiale con i nomi (qualcuno ci azzecca sempre con branches, subtrees, levels, body...) e per non aver messo i binding ovvi (il + e il - del tastierino). Per questo io lo uso meno di quanto dovrei (potrei). A suo tempo (Delphi sotto Windoze...andato...) mi ero organizzato come segue (snippet del .emacs - non ricordo un granché, outline-regexp definisce le parole chiave del primo (e unico) livello di nesting (in C-mode probabilmente basti l'indentazione), ma la cosa più utile sono i define-key che corrispondono a ciò che io trovo "naturale". Vedi se ti ci raccapezzi, altrimenti me li "ristudio" un po' per il C. bye, Luca ;;; Aggiungo i miei comandi, definiti come lambda function, all'hook ;;; che viene chiamato dal delphi-mode quando "parte". In realtà, ;;; nella documentazione, dice che l'hook viene chiamato se non nil, ;;; quindi forse dovrei testare se l'hook esiste e se non esiste ;;; ßostituirlo" con come la mia lamba altrimenti aggiungere la mia ;;; lamba a quello esistente (spererei che add-hook lo faccia da ;;; solo...) (add-hook 'delphi-mode-hook '(lambda () ;; Diciamo che lo voglio sempre... (outline-minor-mode 1) ;; Qui definisco i miei "tag"di sectioning... (set-variable 'outline-regexp "//\\|unit\\|interface\\|implementation\\|type\\|procedure\\|function") ;; Qui vorrei definire delle associazioni (locali al minor-mode) ;; per le quattro cose che servono (define-key outline-minor-mode-map [\C-kp-multiply] 'show-all) (define-key outline-minor-mode-map [\C-kp-divide] 'hide-body) (define-key outline-minor-mode-map [\C-kp-add] 'show-entry) (define-key outline-minor-mode-map [\C-kp-subtract] 'hide-entry) ) ) -- Per iscriversi (o disiscriversi), basta spedire un messaggio con SOGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx