From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?ISO-8859-1?Q?Andreas_R=F6hler?= Newsgroups: gmane.emacs.help Subject: Re: Evaluate current line in Python mode? Date: Sun, 29 Aug 2010 10:02:21 +0200 Message-ID: <4C7A140D.9080201@easy-emacs.de> References: <950559.18533.qm@web55007.mail.re4.yahoo.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1283069033 11245 80.91.229.12 (29 Aug 2010 08:03:53 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 29 Aug 2010 08:03:53 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Aug 29 10:03:52 2010 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Opcrn-0008J1-Is for geh-help-gnu-emacs@m.gmane.org; Sun, 29 Aug 2010 10:03:51 +0200 Original-Received: from localhost ([127.0.0.1]:42408 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Opcrm-0002oP-BE for geh-help-gnu-emacs@m.gmane.org; Sun, 29 Aug 2010 04:03:50 -0400 Original-Received: from [140.186.70.92] (port=44759 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Opcqy-0002oC-Rq for help-gnu-emacs@gnu.org; Sun, 29 Aug 2010 04:03:01 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Opcqx-0008G0-8M for help-gnu-emacs@gnu.org; Sun, 29 Aug 2010 04:03:00 -0400 Original-Received: from moutng.kundenserver.de ([212.227.126.186]:58988) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Opcqw-0008Fe-Pm for help-gnu-emacs@gnu.org; Sun, 29 Aug 2010 04:02:59 -0400 Original-Received: from [192.168.178.27] (brln-4dbc6c72.pool.mediaWays.net [77.188.108.114]) by mrelayeu.kundenserver.de (node=mrbap1) with ESMTP (Nemesis) id 0MYLIX-1OLBpW06Dp-00Uy5p; Sun, 29 Aug 2010 10:02:55 +0200 User-Agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.1.11) Gecko/20100711 Thunderbird/3.0.6 In-Reply-To: <950559.18533.qm@web55007.mail.re4.yahoo.com> X-Provags-ID: V02:K0:O8Yexef06NXwrAyjQHcwTgWD+BMhR1dWFaIeLeU39AQ oKW1Mq5z6KZdCvIQphfJ8EuL6hOAgrj4CQtS1GnGrOj9IrEg4G VhXyR1HxveJMA3r+z6exv4Ig6GIlangRUuXNxghd/v01EKT0kV Fmp5e3FH0Ao5zIFVKtKXwbNqZCpNXdhi0TdvbRrZe+uc1F2U7k slieoPlQSNCVFfaPcioCMoRLeSaZWy41oQRLGNKdIA= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:74824 Archived-At: Am 28.08.2010 21:45, schrieb Michael Hannon: > Greetings. I use Emacs for, among other things, running Python code and R > code. In both modes (Python and ESS "Emacs Speaks Statistics") there is a > function bound to the sequence: > > C-c C-n > > Both functions advance to the next line of code in the buffer, i.e., skipping > blank lines, comment lines, etc. > > In ESS mode the function bound to C-c C-n also (by default) sends the current > line to R for evaluation. I find this to be very convenient as a way to watch > calculations "evolve". > > It's possible to do something similar in Python mode by selecting the > current line and then sending the region (C-c C-r) to Python for evaluation, > but this is a bit cumbersome. > > Can anybody suggest a way to graft the ESS-mode behavior onto Python mode? Try this: (defun my-python-send-region (&optional beg end) (interactive) (let ((beg (cond (beg beg) ((region-active-p) (region-beginning)) (t (line-beginning-position)))) (end (cond (end end) ((region-active-p) (copy-marker (region-end))) (t (line-end-position))))) (python-send-region beg end))) HTH Comments welcome Andreas -- https://code.launchpad.net/~a-roehler/python-mode https://code.launchpad.net/s-x-emacs-werkstatt/ > I've appended the high-level descriptions of both functions. I understand > that the source code is available, and that I'm free to hack away to my > heart's content. I just don't have the skills at Emacs/Lisp required to do > such a thing in a finite amount of time. > > Thanks and best wishes, > > -- Mike > > > Python mode > =========== > > C-c C-n runs the command python-next-statement, which is an > interactive compiled Lisp function. > > It is bound to C-c C-n. > > (python-next-statement&optional COUNT) > > Go to start of next statement. > With argument COUNT, do it COUNT times. Stop at end of buffer. > Return count of statements left to move. > > ---------- > > ESS mode > ======== > > C-c C-n runs the command ess-eval-line-and-step, which is an > interactive compiled Lisp function in `ess-inf.el'. > > It is bound to C-c C-n, C-c C-e C-n, line& step>. > > (ess-eval-line-and-step&optional SIMPLE-NEXT EVEN-EMPTY INVISIBLY) > > Evaluate the current line visibly and step to the "next" line. > "next" = the next line with non-comment code _unless_ SIMPLE-NEXT is non-nil, > possibly via prefix arg. If 2nd arg EVEN-EMPTY [prefix as well], > also send empty lines. When the variable `ess-eval-empty' is non-nil > both SIMPLE-NEXT and EVEN-EMPTY are interpreted as true. > > > > >