6 <expand|tmdoc-title|Introduzione al linguaggio di estensione <name|Guile>>
8 Come <name|Emacs>, <apply|TeXmacs> supporta un linguaggio di estensione di
9 tipo <name|Lisp>, ovvero il dialetto <with|font shape|small-caps|Guile
10 Scheme> del progetto <with|font shape|small-caps|Gnome>. Per la
11 documentazione su <with|font shape|small-caps|Guile Scheme>, facciamo
15 \ \ \ http://www.gnu.org/software/guile/guile.html
18 <apply|scheme> ha il vantaggio che può essere esteso con tipi e routine
19 esterne del C e C++. Nel nostro caso, abbiamo esteso <apply|scheme> con
20 routine che si possono utilizzare per creare dei menu e delle combinazioni
21 di tasti personalizzati, e persino per scrivere delle proprie estensioni
24 Se si sono scaricati i file sorgenti di <apply|TeXmacs>, potrebbe essere
25 interessante dare un'occhiata ai file\
28 \ \ \ Guile/Glue/build-glue-basic.scm<format|next line>
29 \ \ Guile/Glue/build-glue-editor.scm<format|next line>
30 \ \ Guile/Glue/build-glue-server.scm
33 Questi tre file ``glue'' contengono le routine C++ che sono visibili in
34 <apply|scheme>. Qui di seguito, discuteremo alcune delle routine più
35 importanti. In futuro, scriveremo una guida di riferimento più completa
36 sull'argomento. Si possono comunque guardare i file scheme <verbatim|.scm>
37 nella directory <verbatim|$TEXMACS_PATH/progs>.
39 <apply|tmdoc-copyright|1998--2003|Joris van der Hoeven|Lucia
40 Gecchelin|Andrea Centomo>
42 <expand|tmdoc-license|Permission is granted to copy, distribute and/or
43 modify this document under the terms of the GNU Free Documentation License,
44 Version 1.1 or any later version published by the Free Software Foundation;
45 with no Invariant Sections, with no Front-Cover Texts, and with no
46 Back-Cover Texts. A copy of the license is included in the section entitled
47 "GNU Free Documentation License".>
52 <associate|paragraph width|150mm>
53 <associate|odd page margin|30mm>
54 <associate|shrinking factor|4>
55 <associate|page right margin|30mm>
56 <associate|page top margin|30mm>
57 <associate|reduction page right margin|25mm>
58 <associate|page type|a4>
59 <associate|reduction page bottom margin|15mm>
60 <associate|even page margin|30mm>
61 <associate|reduction page left margin|25mm>
62 <associate|page bottom margin|30mm>
63 <associate|reduction page top margin|15mm>
64 <associate|language|italian>