Newsgroup: it.comp.macintosh
Titolo: [semi OT] python ed emacs

hola,
cosa devo fare per far colorare la sinstassi in emacs per files .py?
grazie, ciao
salvo
-- 
#!/usr/bin/python
print 'NeXT tip => /me == (~吧lvomi居 @ddress) - (Alfa kai Omega) \n'
# the NeXT MacOS is for /me

 non prendere pero' la
versione che ti consigliano loro perche' e' vecchia prendila dal sito su
sf.
-- 
Ciao
Fabio

 non lo hai scaricalo da qui
ciao Fabio,
infatti mi pare di ricordare che lo facesse, ma ora se carico un file
.py non lo fa più (con C++, perl ecc. lo fa ancora).
Ora cerco di fare come suggerisci, ma intanto il modulo di default ci
deve essere...
ciao,
salvo

 non lo hai scaricalo da qui
scaricato python-mode.el : dove lo devo mettere?
in .emacs mi ritrovo questo macello:
---
(setq load-path (cons "/Users/[username]" load-path))
 (setq auto-mode-alist (cons '("\\.py$" . python.mode) auto-mode-alist))
 (setq intepreter-mode-alist (cons '("python" . python-mode)
intrpreter-mode-alist))
; (autoload 'python-mode "python-mode" "Python edition mode." t)
---
come devono essere queste righe?
ciao,
grazie
Salvo

 wrote:

in effetti ...  io ce l'ho in /usr/local/share/emacs/site-lisp/ prova a
dare un occhio ad ogni modo usare quello aggiornato che trovi su sf non
gli fara' poi male
-- 
Ciao
Fabio

 
Il Lisp mi e' un po' ostico comunque io ho queste righe per il python
dentro al mio .emacs :
;;;Python Mode configuration
(setq auto-mode-alist
      (cons '("\\.py$" . python-mode) auto-mode-alist))
(setq interpreter-mode-alist
      (cons '("python" . python-mode)
            interpreter-mode-alist))
(autoload 'python-mode "python-mode" "Python editing mode." t)
;;; add these lines if you like color-based syntax highlighting
(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)
Copia e incolla e la cosa dovrebbe funzionare. il percorso che ti ho
dato sopra dovrebbe essere uno di quelli standard. Ad ogni modo per
verificare che ti trova python-mode quando sei dentro emacs digita
M-x load-library RET
python-mode
e vedi cosa ti dice. Nella versione Carbon M e' la mela.
-- 
Ciao
Fabio

 python-mode
mi dice Cannot open load file: RET
e quando carica i files .py:  File mode specification error: (file-error
"Cannot open load file" "python-mode"
anche se ho /usr/local/share/emacs/site-lisp/python-mode.el ora...
tra l'altro dopo che uso Emac carbon, emacs "Apple" (in Terminale) mi dà
anche l'errore: Error in init file: File error: "Cannot open load file",
"font-core"
in .emacs c'è anche:
 '(current-language-environment "Italian")
 '(global-font-lock-mode t nil (font-core))
 '(scroll-bar-mode (quote left))
 '(show-paren-mode t nil (paren))
 '(transient-mark-mode t))
e come path
(setq load-path (nconc load-path (list "/Users/[username]/elisp")))
è corretto?
ciao, grazie
salvo

 gli fara' poi male
ora l'ho messo là pure io, ed ho quello aggiornato di sf, infatti...
ciao,
salvo

 Hola in teoria il python-mode e' gia' installato di default comunque se
La versione da CVS lo ha e lo riconosce subito. La versione di sistema
di Mac OS X e` invece piu` datata.
-- 
 /\            ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
  //--\ | | \|  |   Integralista GNUslamico e fancazzista 
\/

 come devono essere queste righe?
Salvo lo username, cosi` come sono. L'ultima comunque e` commentata.
Ah, suggerimento.
Carica python-mode.el una volta che e` al suo posto e dai il comando
M-x byte-compile-file
in questo modo generi la versione in bytecode (.elc) piu` lesta.


 e vedi cosa ti dice. Nella versione Carbon M e' la mela.
Ni.
Puoi  scegliere  se  avere  la   Mela  o  alt  settando  la  variabile
mac-command-key-is-meta, nil se vuoi che alt sia meta, t altrimenti.
(set 'mac-command-key-is-meta t)
Se si usa mela come meta allora puo` convenire settare a nil anche
questa variabile:
(set 'mac-pass-command-to-system nil)
in modo che comandi come Meta-q mantengano il loro Emacs-significato.
Se  si desidera  invece mantenere  i comandi  con Meta  di Emacs  e il
comportamento  standar di Mela  allora le  variabili vanno  settate in
questo modo;
(set 'mac-command-key-is-meta nil)
(set 'mac-pass-command-to-system t)


 in questo modo generi la versione in bytecode (.elc) piu` lesta.
ottimo consiglio, subito attuato!
ciao,
salvo
-- 
print 'Grazie mille'
print 'Emacs for ever (...and also a bit of vi)'

 di Mac OS X e` invece piu` datata.
i problemi li avevo con la versione Carbon e la versione di Apple,
appunto, ma anche con la 21.3.50 di Fink.
Ora ok, tranne il fatto dell'errore che mi segnala la versione di Mac OS
per i fonts-core: che diavolo puņ essere?
ciao,
salvo

 (set 'mac-command-key-is-meta t)
ok in Carbon: 
ma si può settare anche per la versione del Terminale?
ciao,
salvo

 (setq load-path (nconc load-path (list "/Users/[username]/elisp")))
Se il tuo logname e` [username] si, altrimenti no :). Occhio che con
questa impostazione i file .el(c) di sistema hanno la precedenza su
quelli che hai messo in /Users/[username]/elisp.


 scrollbar a sinistra (puoi averla a destra se non ricordo male)
sì, ma a sinistra fa molto ...NeXT ;-)
:-)
ciao
-- 
salvo

 Macello del LISP ????????? Sant Ignucius tienimi tu :) :) :) :) :) :)
:-))
ritiro la parola macello, hi :)
e approfittando della tua gentilezza ti chiedo:
come lo imposto Mule per l'italiano?
Ho messo environment e description per european->italian, ma se con C-h
h visualizzo i messaggi di testo nelle varie lingue sotto i messaggi
vedo vari "quadratini": è questione di font o di set?
insomma, metto iso-latin-1, default, utf8, iso-latin-15 o cosa?
grazie, ciao
Salvo

 (set 'mac-pass-command-to-system t)
Questo e' utile a sapersi, ora mi sono abituato con mela pero' qualche
giorno provo a vedere di cambiare anche perche' cosi' lo unificherei con
l'emacs del terminale.
PS 
ma emacs da terminale puo' colorare la sintassi ? qui non lo fa.
-- 
Ciao
Fabio

 
A cosa serve la linea sopra ?
Grazie
-- 
Ciao
Fabio

 A cosa serve la linea sopra ?
global-font-lock-mode is an interactive compiled Lisp function in `font-core'.
It is bound to <menu-bar> <options> <toggle-global-lazy-font-lock-mode>.
(global-font-lock-mode &optional arg dummy)
Toggle Font-Lock mode in every buffer.
With prefix arg, turn Global-Font-Lock mode on if and only if arg is positive.
Font-Lock mode is actually not turned on in every buffer but only in those
in which `turn-on-font-lock-if-enabled' turns it on.
(Ottenuto con C-h f global-font-lock-mode)
Tradotto:
global-font-lock-mode e` una funzione interattiva [che puoi richiamare
con M-x nome-della-funzione compilata in `font-core'(**). E' assegnata
a <menu-bar> <options> <toggle-global-lazy-font-lock-mode>.
(global-font-lock-mode &optional arg dummy) [descrizione della sintassi
                                                di chiamata]
Attiva/disattiva il modo font-lock in ogni buffer.
Con un  argomento prefisso [dato prima  di attivare la  funzione o con
M-{numero} ocon C-u {valore}] attiva global-font-lock se e solo se arg
e` positivo [arg e` anche  il primo argomento della funzione]. Il modo
font-lock e`  attivato non in  ogni buffer ma  solo in quelli  per cui
`turn-on-font-lock-if-enabled' e` on.
Si puo` utilizzare in questo modo
(global-font-lock-mode t)
Ma nel caso  specifico questa linea deve essere  pure lei un argomento
della custom-set-variables
'(global-font-lock-mode t nil (font-core))
e non e` una chiamata a funzione  ma una lista (la forma e` la stessa)
che  non viene  elaborata  da  LISP prima  di  passarla alla  funzione
custom-set-variables per la  presenza del ' (quote) che  ha proprio il
compito di dire a LISP
"Non elaborare questa lista, passala cosi` come e`"


 per i fonts-core: che diavolo può essere?
Ho appena fatto un post nel thread su questa cosa...


 insomma, metto iso-latin-1, default, utf8, iso-latin-15 o cosa?
Devo ancora capirlo e cercare di farmi capire da Mitsuhara Yamamoto :)


 ma si può settare anche per la versione del Terminale?
No. Primo perche`  non sono definiti gli oggetti  LISP (che in realta`
sono codice C mappato in LISP) e secondo perche' nella versione Carbon
e` Emacs  a ricevere  gli eventi da  tastiera mentre nell'altra  e` il
terminale.


 ma emacs da terminale puo' colorare la sintassi ? qui non lo fa.
Si, attiva font-lock-mode in scratch e scrivi
((lambda (x) (list x x)) (lambda (x) (list x x)))
(vale il copia ed incolla). Poi premi C-j a fine riga. Avevi mai visto
un quine ?


 terminale.
grazie, ora mi č chiaro.
ciao,
salvo

 Devo ancora capirlo e cercare di farmi capire da Mitsuhara Yamamoto :)
LOL :)
se ci riesci dimmelo.
Sayonara!
-- 
sm

 Ho appena fatto un post nel thread su questa cosa...
ok, ora me lo leggo!
ciao,
salvo

 della funzione e premendo C-h f o <f1> f
penso di aver risolto mettendo in .emacs questa correzione:
'(global-font-lock-mode t (font-core))
ora non mi segnala più errore neppure il terminale.
Come dicevi, con "t" font-core è on?
ciao,
salvo

 un quine ?
Adesso con il font-lock funziona, un quine esattamente cos'e' ? ripete
la riga premendo C-j.
Visto che ti ho appena eletto mio guru di emacs avrei qualche altra
piccola curiosita':
 - come faccio a scorrere i menu da dentro il terminale ?
 - come faccio a fare in modo che C-y incolli cio' che ho copiato fuori
dal terminale ? Mela-v funziona regolarmente ma C-y no.
Grazie mille
-- 
Ciao
Fabio

 dal terminale ? Mela-v funziona regolarmente ma C-y no.
in effetti su Carbon e X11 č ok, ma su terminale non va, neppure con il
"menu"
ESC` e  p  (che corrisponde a C-y) non incolla nulla e dice che "kill
ring is empty"...
dunque? :)
-- 
salvo

 dal terminale ? Mela-v funziona regolarmente ma C-y no.
Eh...
A  differenza della versione  per X11  e quella  per Carbon,  non c'e`
"dialogo" tra il kill-ring (un round robin di clipboard) di Emacs e la
clipboard di  sistema. Quando c'e` questo dialogo  l'ultima entry nell
kill ring viene copiata nella clipboard di sistema e viceversa. Invece
col  terminale se  taglio con  i comandi  di Emacs  (C-w, M-w,  C-k et
simili) allora il paste lo fai con C-y, altrimenti devi usare il paste
del  terminale che  ad Emacs  parra`  una sequenza  di comandi  (anche
inserire una lettera e` in realta` un comando).


 Come dicevi, con "t" font-core è on?
font-core e`  un qualcosa interpretato dal  meccanismo di impostazione
dei  valori  selezionati con  customize,  che  e`  uno strato  che  ti
permette di selezionare  in modo interattivo i valori  da assegnare ad
alcune variabili (e non solo...)
Il riferimento era invece ad una funzione che in pratica discrimina i
buffer in cui si deve fare l'highlighting da quelli da tralasciare.


 alcune variabili (e non solo...)
ok, cercavo di capire perché qui ora funziona solo per aver tolto "nil"
dal .emacs :)
grazie, ciao
salvo

 
Grazie per le info
-- 
Ciao
Fabio

 dal .emacs :)
Probabilmente perche` quel parametro in piu` mette in crisi la funzione.
Bisognerebbe dare un'occhiata al codice.


 Bisognerebbe dare un'occhiata al codice.
ok, grazie.
Intanto io continuo ad usarlo senza nil, e cerco di capire se la
funzione ...funziona :)
salvo