J'ai installé A + et mis en place XEmacs dans Debian, en utilisant les paquets aplus-fsf-dev et aplus-fsf-el; XEmacs a été installé en tant que dépendance.A + et Emacs (mais * pas * XEmacs)
J'ai vérifié le site A + (http://www.aplusdev.org/), et il semble n'y avoir rien à propos de l'exécution de A + sur Emacs (et pas XEmacs).
Est-ce que quelqu'un sait s'il existe des fichiers Elisp quelque part pour configurer A + sur un Emacs simple (FSF)?
Merci! PS: Les fichiers elisp pour XEmacs ne fonctionnent donc pas sur Emacs. J'ai essayé de les convertir, mais je devais aller plus loin et plus loin dans le code, alors j'ai abandonné.
PS2: Dans Emacs, quand je (require « aplus), voici ce que je reçois:
Debugger entered--Lisp error: (wrong-type-argument arrayp (super 97))
define-key((keymap) (super 97) a-self-insert)
(let ((key ...) (apl ...)) (define-key a-minor-map (append a-modifier-list ...) (quote a-self-insert)) (define-key a-minor-map (vector ... key) (quote a-self-insert)) (aset a-key-string (char-to-int key) apl))
a-insert-map((97 . 193))
mapcar(a-insert-map ((97 . 193) (98 . 194) (99 . 195) (100 . 196) (101 . 197) (102 . 95) (103 . 199) (104 . 200) (105 . 201) (106 . 202) (107 . 39) (108 . 204) (109 . 124) (110 . 206) (111 . 207) (112 . 42) (113 . 63) (114 . 210) (115 . 211) (116 . 126) (117 . 213) (118 . 214) (119 . 215) (120 . 216) (121 . 217) (122 . 218) (49 . 161) (50 . 162) (51 . 60) (52 . 164) (53 . 61) (54 . 166) (55 . 62) (56 . 168) (57 . 169) (48 . 94) (45 . 171) (61 . 223) (92 . 220) (96 . 254) (44 . 172) (91 . 251) (93 . 253) (59 . 219) (39 . 221) (46 . 220) (47 . 175) (33 . 224) (64 . 230) (35 . 231) ...))
eval-buffer(#<buffer *load*<3>> nil "/usr/share/emacs/site-lisp/aplus-fsf-el/keyb.el" nil t) ; Reading at buffer position 3754
load-with-code-conversion("/usr/share/emacs/site-lisp/aplus-fsf-el/keyb.el" "/usr/share/emacs/site-lisp/aplus-fsf-el/keyb.el" nil t)
require(keyb)
eval-buffer(#<buffer *load*<2>> nil "/usr/share/emacs/site-lisp/aplus-fsf-el/xa.el" nil t) ; Reading at buffer position 16
load-with-code-conversion("/usr/share/emacs/site-lisp/aplus-fsf-el/xa.el" "/usr/share/emacs/site-lisp/aplus-fsf-el/xa.el" nil t)
load("xa" nil t)
(if aplus-setup-global-bindings (load "xa" nil t))
eval-buffer(#<buffer *load*> nil "/usr/share/emacs/site-lisp/aplus-fsf-el/aplus.el" nil t) ; Reading at buffer position 1373
load-with-code-conversion("/usr/share/emacs/site-lisp/aplus-fsf-el/aplus.el" "/usr/share/emacs/site-lisp/aplus-fsf-el/aplus.el" nil t)
require(aplus)
eval((require (quote aplus)))
eval-last-sexp-1(nil)
eval-last-sexp(nil)
call-interactively(eval-last-sexp nil nil)
En effet, dans keyb.el, il y a cette fonction:
(defun a-insert-map (akeydef)
(let ((key (car akeydef))
(apl (cdr akeydef)))
(define-key a-minor-map (append a-modifier-list (list key)) 'a-self-insert)
(define-key a-minor-map (vector '(control c) key) 'a-self-insert)
(aset a-key-string (char-to-int key) apl)))
J'ai modifié append à vconcat, puis j'ai une erreur sur la dernière ligne de cette fonction, car Emacs n'a pas de fonction char-to-int. J'ai supprimé l'appel de la fonction et remplacé par l'argument ("key") lui-même, puisque je comprends qu'Emacs traitera déjà ce caractère comme un nombre.
Puis Il y avait d'autres erreurs pas si évidentes dans d'autres fonctions; la plupart d'entre eux traitent avec define-key et keymaps.
Je suppose qu'Emacs et XEmacs traitent différemment les keymaps?
Avez-vous essayé de l'utiliser sur Emacs? Si oui, quels étaient les échecs? Ils ne sont pas si différents. –
Oui, j'ai essayé ... (Voir le P.S. Je viens d'ajouter à la question) – Jay
Vous pourriez obtenir plus de kilométrage si vous signalez les problèmes que vous avez rencontrés et obtenez de l'aide pour ces choses spécifiques. On dirait que ce n'est actuellement que la 2ème question taguée [a +]. –