Changeset 1683:f84adc4d0b0e

Show
Ignore:
Timestamp:
11/26/08 21:16:11 (6 weeks ago)
Author:
Tobias Billep <t.billep@…>
Message:

fixed communication with emacs

Location:
pida
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • pida/editors/emacs/emacs.py

    r1409 r1683  
    190190        listen_port = self._cb.bind() 
    191191        instance_id = 'pida-' + str(os.getpid()) 
    192         self._client = EmacsClient(instance_id) 
     192        self._client = EmacsClient(instance_id, self) 
    193193 
    194194        time.sleep(1) 
     
    282282    def goto_line(self, line): 
    283283        """Goto a line""" 
    284         self._client.goto_line(line + 1) 
     284        self._client.goto_line(line) 
    285285        self.grab_focus() 
    286286 
  • pida/resources/data/pida_emacs_init.el

    r1133 r1683  
    156156  (pida-disconnect)) 
    157157 
     158;; pida-goto-line 
     159;; 
     160;; called by pida:  goto-line  
     161(defun pida-goto-line (bufn line) 
     162  (set-buffer (get-file-buffer bufn)) 
     163  (goto-line line)) 
     164 
     165 
     166;; pida-save-buffer 
     167;;  
     168;; called by pida to save buffer 
     169(defun pida-save-buffer (buffn) 
     170  (set-buffer (get-file-buffer buffn)) 
     171  (save-buffer)) 
     172 
     173;; pida-save-buffer-as 
     174;;  
     175;; called by pida to save buffer as new file 
     176(defun pida-save-buffer (buffn filen) 
     177  (set-buffer (get-file-buffer buffn)) 
     178  (write-file filen)) 
     179 
     180;; pida-cut 
     181;;  
     182;; called by pida to cut region 
     183(defun pida-cut (buffn) 
     184  (set-buffer (get-file-buffer buffn)) 
     185  (kill-region (region-beginning) (region-end))) 
     186 
     187;; pida-copy 
     188;;  
     189;; called by pida to copy region  
     190(defun pida-copy (buffn) 
     191  (set-buffer (get-file-buffer buffn)) 
     192  (kill-ring-save (region-beginning) (region-end))) 
     193 
     194;; pida-save-buffer-as 
     195;;  
     196;; called by pida to paste  
     197(defun pida-paste (buffn) 
     198  (set-buffer (get-file-buffer buffn)) 
     199  (yank)) 
     200 
     201 
    158202(setq inhibit-splash-screen 1) 
  • pida/utils/emacs/emacscom.py

    r1409 r1683  
    88    extracts a request name and arguments, and then tries to invoke the matching 
    99    method on a EmacsCallback object (see editor/emacs/emacs.py). 
    10  
     10   
    1111    :copyright: 2005-2008 by The PIDA Project 
    1212    :license: GPL 2 or later (see README/COPYING/LICENSE) 
     
    3232    """ 
    3333     
    34     def __init__(self, instance_id): 
     34    def __init__(self, instance_id, svc): 
    3535        """Constructor.""" 
    3636        self._log = logging.getLogger('emacs') 
     
    3939        self._socket_path = _get_socket_path(self._instance_id) 
    4040        self._pending_commands = [] 
     41        self._svc = svc 
    4142 
    4243    def activate(self): 
     
    6465         
    6566    def save_buffer(self): 
    66         self._send('(save-buffer)') 
     67        self._send('(pida-save-buffer "%s")' % self._svc.current_document.filename) 
    6768 
    6869    def save_buffer_as(self, filename): 
    69         self._send('(write-file "%s"))' % filename) 
     70        self._send('(pida-save-buffer-as "%s" "%s"))' % (self._svc.current_document.filename, filename)) 
    7071 
    7172    def close_buffer(self, buffer): 
     
    7677 
    7778    def cut(self): 
    78         self._send('(kill-region (region-beginning) (region-end))') 
     79        self._send('(pida-cut "%s")' % self._svc.current_document.filename) 
    7980 
    8081    def copy(self): 
    81         self._send('(kill-ring-save (region-beginning) (region-end))') 
     82        self._send('(pida-copy "%s")' % self._svc.current_document.filename) 
    8283 
    8384    def paste(self): 
    84         self._send('(yank)') 
     85        self._send('(pida-paste "%s")' % self._svc.current_document.filename) 
    8586 
    8687    def goto_line(self, line): 
    87         self._send('(goto-line %s)' % line) 
     88        self._send('(pida-goto-line "%s" %s)' % (self._svc.current_document.filename, line)) 
    8889 
    8990    def revert_buffer(self):