[GAP Forum] Gap Emacs mode
Nikos Apostolakis
nikos.ap at gmail.com
Tue Nov 17 14:21:38 GMT 2009
On Tue, Nov 17, 2009 at 8:30 AM, <aker at gursey.gov.tr> wrote:
> Hello,
>
> Thanks for the code. I would definitely benefit from an emacs mode for GAP
> with more functionality.
>
> The code is not fully working, unfortunately. I think you have some other
> related code, which it is looking for.
>
> I have added your code to gap-mode.el.
> When I tried it, this is what happened:
>
> I have tried these command with these key bindings. The first and the last
> worked properly.
>
>> (define-key gap-mode-map "\C-c\C-s" 'nea-send-string-to-gap)
>> (define-key gap-mode-map "\C-c\C-l" 'nea-send-line-to-gap)
>> (define-key gap-mode-map "\C-c\C-r" 'nea-send-region-to-gap)
>> (define-key gap-mode-map "\C-c\C-f" 'nea-send-region-to-gap-as-file)
>> (define-key gap-mode-map "\C-ci" 'nea-ins-gap)
>
> For 2,3,4, I got the following error messages (with the same order).
>
Oops! Yeah, these functions have gone through several stages and
several names. I believe the following code is correct. Please check:
-- 8< -------- Begin Elisp Code
;; The name of the temp file should probably be randomly chosen.
;;; Haven't really used this command much.
(defun nea-send-region-to-gap-as-file (begin end)
"Have GAP read the contents of the region as a file."
(interactive "r")
(let ((temp-gap-file "/tmp/tmp.gap"))
(write-region begin end temp-gap-file)
(nea-send-string-to-gap (concat "Read(\"" temp-gap-file "\");\n"))))
(defun nea-send-region-to-gap (begin end &optional arg)
"Send region to gap."
(interactive "r\nP")
(let ((string (buffer-substring begin end)))
(save-window-excursion
(set-buffer "*gap*")
(goto-char (point-max))
(nea-send-string-to-gap string arg))))
(defun nea-send-line-to-gap (&optional arg)
"Send current line to GAP."
(interactive "P")
(nea-send-region-to-gap (line-beginning-position) (line-end-position) arg))
-- 8< -------- End Elisp Code
Hope it works correctly now,
Nikos
More information about the Forum
mailing list