2008-10-09 14 views
2

J'utilise ccl/openmcl sur Mac OS X. (dernières versions des deux). Lorsque l'invite Lisp est affiché, à l'aide des touches du curseur pour naviguer dans les résultats de la ligne en cours dans les codes d'échappement, plutôt que le mouvement, par exemple:Comment obtenir un programme terminal pour honorer les touches du curseur?

Welcome to Clozure Common Lisp Version 1.2-r9226-RC1 (DarwinX8664)!
? (^[[D

Ici, j'ai appuyé sur la touche (, puis sur la touche left cursor .

Lorsque j'exécute ccl/openmcl sur une boîte Debian Etch, le curseur se comporte comme prévu et déplace le point d'insertion vers la gauche.

Je suppose que c'est une sorte d'option de configuration de terminal?

Répondre

4

Si Clozure CL ne fournit pas native readline/editline/ou quelque support est configuré pour ne pas l'utiliser, vous pouvez l'exécuter avec rlwrap, par exemple:

rlwrap openmcl 

rlwrap peuvent être obtenues via MacPorts ou directement à partir de http://utopia.knoware.nl/~hlub/rlwrap/.

+0

Est-il probable que la construction de ccl pour debian soit configurée pour être reliée à readline, alors que celle pour Mac OS n'est pas? –

+0

Oui, je pense qu'il y a des problèmes de licence sur Mac OS tels que readline ne peut pas être inclus avec le système d'exploitation mais doit être installé par l'utilisateur. –

+0

Je pense que la pomme n'aime pas quelque chose GPL'd http://www.mrchucho.net/2007/11/06/leopard-readline-and-vi-bindings/ –

2

Je sais que je ne réponds pas à la question avec ceci, mais vous ne devriez pas passer beaucoup de temps directement en utilisant un repli Lisp. L'utilisation d'emacs et slime est une manière beaucoup plus commode d'interagir avec un lisp. Vous avez un inspecteur et un débogueur à portée de main, vous pouvez passer au code source des fonctions, etc.