gnu prolog vs. gnu emacs

 ( jani13 | 2009. május 5., kedd - 8:28 )

Üdv mindenkinek!

A topicot a hátha hasznos lesz még valakinek! felkiáltással nyitottam arról,

hogyan integrálható be a gnu-prolog a gnu-emacsba, azon esetben, ha mindkettő apt-get installal (vagy dpkg-t használva) lett felpakolva

UBUNTU-hardy synapticból felrakott GNU-emacs -be GNU -prolog integrálása

1. Keresd meg az emacs INIT-file-ját : /usr/share/emacs22/site-lisp/debian-start.elc (emacs22 helyett más gnu verziókkal is műxik - emacs22 helyet más van ott :-) )
_lényeg_: meg kell bütykölni a lisp-ben írt startup fájlját az emacs - szerkesztőnek

2. Másold a home könyvtáradba (ha kell,használj sudo-t)

3. emacs -f batch-byte-compile -batch &lt home könyvtárba másolt fájl &gt (ha kell,kiterjesztés nélküli névre is átnevezheted)

4. másold be az alábbi kódrészletetet. honlapról: http://bruda.ca/emacs-prolog/install.html
innen:

(autoload 'run-prolog "prolog" "Start a Prolog sub-process." t)
(autoload 'prolog-mode "prolog" "Major mode for editing Prolog programs." t)
(autoload 'mercury-mode "prolog" "Major mode for editing Mercury programs." t)
(setq prolog-system 'swi)
(setq auto-mode-alist (append '(("\\.pl$" . prolog-mode)
("\\.m$" . mercury-mode))
auto-mode-alist))

ahová a (setq prolog-system 'swi) sorba 'swi helyett 'gnu írandó.

5. az így módosított fájlt helyezd át az eredeti helyére,az eredeti nevével (nálam ez /usr/share/emacs22/site-lisp/debian-start.elc)

6. indítsd újra a gépedet;

7. ezután már csak explicite meg kell mondanod az emacsnek, hogy prolog (.pl kiterjesztésű) fájlt akarsz vele szerkeszteni

pl: emacs first.pl

8. Dőljhátra, és élvezd! :-)))

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ellenvélemény következik :)

Átemelve innen, az elindulási procedúra:

  1. Load the file debian-startup (.el or .elc) found in load-path (usually, /usr/share/emacs/site-lisp/debian-startup.el or /usr/share/emacs22/site-lisp/debian-startup.elc) and call the function debian-startup defined in this file. This function loads all files in /etc/emacs/site-start.d/ and /etc/emacs22/site-start.d/.
  2. Load site-start (.el or .elc) found in load-path.
  3. Load your init file .emacs, .emacs.el or ~/.emacs.d/init.el.
  4. Load a default init file default.el or default.elc.

Ebből a lényeges most az lenne, hogy ne turkálj bele sudoval olyasmibe amibe nem kell: minden emacs beállítást el lehet végezni a te saját .emacs.d könyvtáradon belül, úgy, hogy attól még az ubuntu defaultjai élnek (amíg nem írod felül).

Én inkább a következőt tenném:

  1. mkdir -p ~/.emacs.d/lisp/prolog ~/.emacs.d/konfigom
  2. prolog.el másolása ~/.emacs.d/lisp/prolog alá, byte-compile
  3. ~/.emacs.d/konfigom/monogram-prolog.el-be beleírni ezt:

    (add-to-list 'load-path "~/.emacs.d/lisp/prolog")

    (autoload 'run-prolog "prolog" "Start a Prolog sub-process." t)
    (autoload 'prolog-mode "prolog" "Major mode for editing Prolog programs." t)
    (autoload 'mercury-mode "prolog" "Major mode for editing Mercury programs." t)
    (setq prolog-system 'gnu)
    (setq auto-mode-alist (append '(("\\.pl$" . prolog-mode)
    ("\\.m$" . mercury-mode))
    auto-mode-alist))

    (provide 'monogram-prolog)

  4. ~/.emacs.d/init.el-be:

    (add-to-list 'load-path (expand-file-name "~/.emacs.d/konfigom"))
    (add-to-list 'load-path (expand-file-name "~/.emacs.d/lisp"))
    (require 'monogram-prolog)

Ahol monogram felcserélendő a sajátodra, vagy a júzeredre ha szerinted a másik gyakoribb. Az emacs lisp nem ismeri a névtereket (jelenleg, már agyalnak rajta egy ideje), így a saját módosításokat érdemes úgy intézni hogy ne ütközzön véletlenül.

Ez a rendszer nem az egyedül üdvözítő, találsz jobbakat is ha akarsz az EmacsWikin.

szerk: az újraindítást viszont tényleg nem tudom minek ajánlod, ez egy szövegszerkesztő. Kilépsz, elindítod újra, élnek a beállítások. ;)
szerk2: kimaradt két sor. És üdv a hupon.

Megnéztem Ubuntu alatt, hogy is néznek ki a dolgok.

A nagy helyzet az, hogy ezzel az egy paranccsal (ha még nincsenek telepítve):

sudo aptitude install gprolog prolog-el

Minden beállításra kerül. Ha ezután indítasz minden konfigurálás nélkül egy emacset, ismerni fogja a .m és a .prolog kiterjesztéseket (a .pl ütközik a perl sajátjával), és a gprolog-ot fogja használni.