Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Auctex en panne

36 réponses
Avatar
Lucas Levrel
Bonjour,

J'ai emacs 24.3 et j'ai compilé et installé auctex 11.88 il y a quelques
mois. Ça marchait impec. Dans mon .emacs j'ai mis au début :
---
; ne pas charger le default.el de Slitaz
(setq inhibit-default-init t)
(load "auctex.el" nil t t)
---

Je m'aperçois aujourd'hui que le tex-mode ne marche plus. Il y a eu une
mise à jour du paquet emacs de ma distrib il y a une quinzaine de jours,
ça vient peut-être de là, mais quoi qu'il en soit je cherche la cause du
problème pour le résoudre (ou faire un rapport de bug).

Lorsque je lance "emacs monfichier.tex", le fichier est chargé mais le
mode Tex n'est pas actif, et dans les Messages je lis :
File mode specification error: (file-error "Cannot open load file" "tex")

J'ajoute (setq debug-on-error t) à mon .emacs, je recommence et
j'obtiens la Backtrace suivante :
Debugger entered--Lisp error: (file-error "Cannot open load file" "tex")
tex-mode()
set-auto-mode-0(tex-mode nil)
set-auto-mode()
normal-mode(t)
after-find-file(nil t)
find-file-noselect-1(#<buffer CC2.tex> "couic/CC2.tex" nil nil "couic/CC2.tex" (657579 2052))
find-file-noselect("couic/CC2.tex" nil nil nil)
find-file("couic/CC2.tex")
command-line-1(("couic/CC2.tex"))
command-line()
normal-top-level()

Si je lance emacs sans argument, puis M-x tex-mode, j'obtiens :
Debugger entered--Lisp error: (file-error "Cannot open load file" "tex")
command-execute(tex-mode record)
execute-extended-command(nil "tex-mode")
call-interactively(execute-extended-command nil nil)

Comme je ne sais à peu près rien des mécanismes de démarrage et de
chargement des extensions, j'apprécierais beaucoup votre aide !


--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)

6 réponses

1 2 3 4
Avatar
Lucas Levrel
Le 16 décembre 2015, Lucas Levrel a écrit :

Je n'ai pas encore trouvé pourquoi site-start.d est dans le load-path.



Dans /usr/share/emacs/site-lisp j'ai le fichier subdirs.el :
(if (fboundp 'normal-top-level-add-subdirs-to-load-path)
(normal-top-level-add-subdirs-to-load-path))

--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
Avatar
Nicolas Richard
Jacques L'helgoualc'h <lhh+ writes:
Ce qui m'inquiète ici, c'est si $_tempdir_ n'est pas égal à $lispdir,
d'où peut-être une installation au mauvais endroit ?



Rien d'inquiétant, c'est seulement que je n'ai pas donné assez de
contexte. Voilà ce qu'on trouve dans configure.ac :

[ _tmpdir_="${lispdir}"
AC_FULL_EXPAND(_tmpdir_)

--
Nicolas
Avatar
Nicolas Richard
Lucas Levrel writes:
Si je vire site-start.el, le tex-mode démarre sans problème. Si je
comprends bien, Emacs irait effectivement chercher auctex.el dans
site-start.d/ parce qu'il est dans le load-path ? Mais alors pourquoi
cela ne marche-t-il pas avec "-l auctex" ?



Peut être "-l auctex" est-il lancé trop tôt par rapport à la mise en
place du load-path ? Mais...

Je n'ai pas encore trouvé pourquoi site-start.d est dans le load-path.



...je commence à m'y perdre un peu, donc je suis content que le problème
soit résolu ;)

--
Nicolas
Avatar
Jacques L'helgoualc'h
Le 16-12-2015, Nicolas Richard a écrit :
Jacques L'helgoualc'h <lhh+ writes:
Ce qui m'inquiète ici, c'est si $_tempdir_ n'est pas égal à $lispdir,
d'où peut-être une installation au mauvais endroit ?



Rien d'inquiétant, c'est seulement que je n'ai pas donné assez de
contexte. Voilà ce qu'on trouve dans configure.ac :

[ _tmpdir_="${lispdir}"
AC_FULL_EXPAND(_tmpdir_)




Ah, OK, merci.
--
JL
Avatar
Lucas Levrel
Le 16 décembre 2015, Lucas Levrel a écrit :

Le 16 décembre 2015, Lucas Levrel a écrit :

Je n'ai pas encore trouvé pourquoi site-start.d est dans le load-path.



Dans /usr/share/emacs/site-lisp j'ai le fichier subdirs.el :



C'est effectivement la réponse à la question, comme expliqué ici :
http://www.gnu.org/software/emacs/manual/html_node/elisp/Startup-Summary.html

La toute première chose que fait Emacs au démarrage est d'augmenter le
load-path par les sous-répertoires situés au même niveau que les scripts
subdirs.el .


Par ailleurs, chez Opensuse j'ai ça (entre autres) dans site-start.el :
(if (file-accessible-directory-p "/usr/share/emacs/site-lisp/site-start.d")
(let ((dir (directory-files "/usr/share/emacs/site-lisp/site-start.d/"
t "^[^/]*.el$")))
(while dir (load (car dir) nil t t) (setq dir (cdr dir)))))

Si je comprends bien, ça charge tous les fichiers *.el dans
/usr/share/emacs/site-lisp/site-start.d/, mais pas les *.elc (à moins
qu'Emacs ne le fasse automatiquement) ni les éventuels sous-répertoires de
site-start.d/ (à cause de [^/]*) ?


--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
Avatar
Benoit Izac
Bonjour,

Le 18/12/2015 à 11:12, Lucas Levrel a écrit dans le message
 :

Par ailleurs, chez Opensuse j'ai ça (entre autres) dans site-start.el :
(if (file-accessible-directory-p "/usr/share/emacs/site-lisp/site-start.d")
(let ((dir (directory-files "/usr/share/emacs/site-lisp/site-start.d/"
t "^[^/]*.el$")))
(while dir (load (car dir) nil t t) (setq dir (cdr dir)))))

Si je comprends bien, ça charge tous les fichiers *.el dans
/usr/share/emacs/site-lisp/site-start.d/, mais pas les *.elc (à moins
qu'Emacs ne le fasse automatiquement) ni les éventuels
sous-répertoires de site-start.d/ (à cause de [^/]*) ?



Je ne comprends pas pourquoi "[^/]*" plutôt qu'un ".+" vu que le nom de
fichier ne va jamais contenir "/" (c'est le séparateur). J'aurais plutôt
écrit "..el$".

Sinon tu as raison, ça ne fait pas les sous-répertoires ; pas à cause de
"[^/]*" mais parce que directory-file renvoie la liste des fichiers
comme le ferait un « ls -a ». Pour les .elc, je pense également que ça
ne les charge pas.

--
Benoit Izac
1 2 3 4