OVH Cloud OVH Cloud

le shell ne répond plus

15 réponses
Avatar
Le TeXnicien de Surface
bonjour à tous

le pb est le suivant :
lorsque je tente de lancer le shell avec M-x shell
j'obtiens dans un premier temps le message suivant :
byte-code: Wrong type argument: keymapp, 1

lorsque je refais exactement la même chose le message devient :
Loading shell...done
Loading comint...done
apply: Autoloading failed to define function make-comint-in-buffer

d'après ce que dit l'aide la fonction est définie dans le module comint mais
j'ai l'impression de ne pas le charger (je l'avais fait dans mon fichier de
configuration mais j'ai commenté et recompilé depuis).

Si quelqu'un avait un début de piste, j'en serais très reconnaissant.

Avec mes remerciements
--
Le TeXnicien de Surface

5 réponses

1 2
Avatar
Romain Francoise
Matthieu Moy writes:

Sinon, il y a aussi le mode ansi-term, mais on n'est pas obligé
d'aimer ... (moi, je suis fan, mais uniquement après customization
à mort).



Qu'est-ce que tu as customizé, au juste ?
Avatar
Matthieu Moy
Romain Francoise writes:

Matthieu Moy writes:

Sinon, il y a aussi le mode ansi-term, mais on n'est pas obligé
d'aimer ... (moi, je suis fan, mais uniquement après customization
à mort).



Qu'est-ce que tu as customizé, au juste ?



En fait, ansi-term mange la plupart de mes raccourcis claviers pour
les passer au processus qui s'exécute dedans. Sinon, il faut passer en
mode « line », mais du coup, on perd tout l'intérêt de la chose (par
exemple, j'ai plus la completion intelligente de zsh, ...).

Donc, j'ai redéfini pas mal de racourcis claviers pour avoir un truc
hybride entre le mode ansi-term et le mode shell. Je l'utilise avec
shell-toggle (enfin, une version patchée par moi, dispo sur mon site.
Je crois d'ailleurs que la version d'origine a disparu), en une touche
(F11), je bascule dans un shell, deuxième pression sur la même touche,
shell plein écran, et si je rappuie, je reviens à la configuration
d'origine. Avec M-F11, je bascule dans un shell, et Emacs insère un
"cd répertoire/du/buffer/courrant RET".

http://www-verimag.imag.fr/~moy/emacs/shell-toggle-patched.el


(defun moy-term-tab ()
(interactive)
;; The string "t"
(term-send-raw-string
(make-string 1 ?t)))

(defadvice term-char-mode (after term-char-mode-hook activate)
"Adds some keys to the map"
(define-key term-raw-map [S-prior] 'scroll-down)
(define-key term-raw-map [S-next] 'scroll-up)
; S-Tab just sends a tab.
(define-key term-raw-map (kbd "<S-tab>") 'moy-term-tab)
(define-key term-raw-map (kbd "<S-iso-lefttab>") 'moy-term-tab)
(define-key term-raw-map (kbd "M-x") 'execute-extended-command)
(define-key term-raw-map (kbd "C-u") 'universal-argument)
(define-key term-raw-map (kbd "M-:") 'eval-expression)
;; (define-key term-raw-map (kbd "C-x C-c") 'save-buffers-kill-emacs)
(define-key term-raw-map (kbd "C-h") nil)
(define-key term-raw-map (kbd "C-g") nil)
(define-key term-raw-map (kbd "ESC [") nil)
(define-key term-raw-escape-map (kbd "<f11>") 'moy-shell-toggle)
(define-key term-raw-map (kbd "<C-M-return>")
'moy-compilation-schedule-execute-in-ansi-term)
(define-key term-raw-map (kbd "<mouse-2>") '(lambda (c a)
(interactive "enP")
(mouse-set-point c)
(term-mouse-paste c
a)))
(define-key term-raw-map (kbd "C-") 'escreen-prefix)
(define-key term-raw-map (kbd "<M-left>")
(lambda () (interactive) (term-send-raw-string "b")))
(define-key term-raw-map (kbd "<M-right>")
(lambda () (interactive) (term-send-raw-string "f")))
)

;;(add-hook 'term-mode-hook 'set-key-to-bottom)

(setq ansi-term-color-vector [unspecified "black" "violetred1" "green3" "yellow3" "RoyalBlue" "magenta3" "cyan3" "white"])


--
Matthieu
Avatar
Romain Francoise
Matthieu Moy writes:

En fait, ansi-term mange la plupart de mes raccourcis claviers pour
les passer au processus qui s'exécute dedans. Sinon, il faut passer en
mode « line », mais du coup, on perd tout l'intérêt de la chose (par
exemple, j'ai plus la completion intelligente de zsh, ...).



En effet, c'est pour ça qu'il m'a toujours un peu rebuté...

Donc, j'ai redéfini pas mal de racourcis claviers pour avoir un truc
hybride entre le mode ansi-term et le mode shell.



Intéressant, merci pour ta conf.

Je l'utilise avec shell-toggle (enfin, une version patchée par
moi, dispo sur mon site. Je crois d'ailleurs que la version
d'origine a disparu), en une touche (F11), je bascule dans un
shell, deuxième pression sur la même touche, shell plein écran, et
si je rappuie, je reviens à la configuration d'origine. Avec
M-F11, je bascule dans un shell, et Emacs insère un "cd
répertoire/du/buffer/courrant RET".



Sympa. Moi j'ai à peu près la même chose, mais en mode Shell avec
fshell.el et des fonctions maison.

Si je trouve un moyen d'avoir l'équivalent de C-c C-o dans le mode
Term, je pense que je vais tenter de switcher. :)
Avatar
Matthieu Moy
Romain Francoise writes:

Si je trouve un moyen d'avoir l'équivalent de C-c C-o dans le mode
Term, je pense que je vais tenter de switcher. :)



Je connais pas d'équivalent, non.

--
Matthieu
Avatar
Romain Francoise
Matthieu Moy writes:

Je connais pas d'équivalent, non.



En fait il y a bien l'équivalent quand tu es mode 'line', mais il a
l'air buggé. Et il me faudrait ça en mode 'char'.
1 2