From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rainer M Krug Subject: Re: refine org-babel-tangle-jump-to-org? Date: Mon, 03 Jun 2013 11:32:10 +0200 Message-ID: <878v2rsfol.fsf@krugs.de> References: <87r4goy0uo.fsf@krugs.de> <87ehcoktsl.fsf@gmail.com> <87fvx3bnzl.fsf@krugs.de> <87wqqfjnmi.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35752) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UjR7p-0007SH-JU for emacs-orgmode@gnu.org; Mon, 03 Jun 2013 05:32:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UjR7i-0002Ua-Da for emacs-orgmode@gnu.org; Mon, 03 Jun 2013 05:32:25 -0400 Received: from mail-wg0-x22e.google.com ([2a00:1450:400c:c00::22e]:65045) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UjR7i-0002UL-4w for emacs-orgmode@gnu.org; Mon, 03 Jun 2013 05:32:18 -0400 Received: by mail-wg0-f46.google.com with SMTP id l18so2961373wgh.25 for ; Mon, 03 Jun 2013 02:32:17 -0700 (PDT) In-Reply-To: <87wqqfjnmi.fsf@gmail.com> (Eric Schulte's message of "Fri, 31 May 2013 09:16:21 -0400") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Eric Schulte Cc: emacs-orgmode@gnu.org --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Eric Schulte writes: > Rainer@krugs.de (Rainer M. Krug) writes: > >> Eric Schulte writes: >> >>> Rainer@krugs.de (Rainer M. Krug) writes: >>> >>>> Hi >>>> >>>> I am using org-babel-tangle-jump-to-org when debugging code written in >>>> org and tangled. I have some longisch code blocks and it is always >>>> irritating, as it only jumps to the codde block. Would it be possible = to >>>> extend the function, that it jumps to the line of the code? >>>> That would make this funktion much more user friendly. >>>> >>> >>> I've just pushed up a change which should make this change. I tested >>> this against the example.C file tangled from the attached Org-mode file. >> >> Thanks - works much better now. >> Very nice - it jumps even to the location in an indirect buffer - >> perfect. >> >> Without trying to be a perfectionist, it is in most cases between one >> and three lines off. >> >> Is this only in y case? If yes, please let me know and I can send you an >> org file privately. >> > > Please do send me a minimal example. In my simple tests it was landing > on the same character as in the source code file. > OK - here it is: ,---- | :BABEL: | #+PROPERTY: exports code | #+PROPERTY: comments yes | #+PROPERTY: padline yes | :END: | * newASM (./newASM.R) | :PROPERTIES: | :tangle: ./newASM.R | :END: | #+begin_src R | logList("############################################################= ##############") | logList("############################################################= ##############") | logList("####") | logList("#### Simulation object ASM created.") | logList("####") | logList("#### It has been undergone basic initialisation and will") | logList("#### be initialised for usage when simulated by running") | logList("####") | logList("#### > sim(ASM)") | logList("####") | logList("#### or manually, without simulating, by running") | logList("#### > ASM <- initialize(ASM)") | logList("####") | logList("############################################################= ##############") | logList("####") | logList( paste("#### GISDBASE : ", parms(ASM)$baseDir) ) | logList( paste("#### LOCATION : ", parms(ASM)$grassLocation) ) | logList( paste("#### MAPSET : ", parms(ASM)$grassMapset) ) | logList("####") | logList("############################################################= ##############") | logList("############################################################= ##############") | logEnd() | return(ASM) | } | #+end_src `---- where the tangled file looks as follow, including the empty lines at beginning and end: ,---- |=20 | ## [[file:~/tmp/jumpBack.org::*newASM%20(./newASM.R)][newASM\ \(\./newASM= \.R\):1]] |=20 | logList("################################################################= ##########") | logList("##############################################################= ############") | logList("####") | logList("#### Simulation object ASM created.") | logList("####") | logList("#### It has been undergone basic initialisation and will") | logList("#### be initialised for usage when simulated by running") | logList("####") | logList("#### > sim(ASM)") | logList("####") | logList("#### or manually, without simulating, by running") | logList("#### > ASM <- initialize(ASM)") | logList("####") | logList("##############################################################= ############") | logList("####") | logList( paste("#### GISDBASE : ", parms(ASM)$baseDir) ) | logList( paste("#### LOCATION : ", parms(ASM)$grassLocation) ) | logList( paste("#### MAPSET : ", parms(ASM)$grassMapset) ) | logList("####") | logList("##############################################################= ############") | logList("##############################################################= ############") | logEnd() | return(ASM) | } |=20 | ## newASM\ \(\./newASM\.R\):1 ends here |=20 `---- This one works, although the cursor is consistently two characters to the l= eft then where it should be. If I change ,---- | #+PROPERTY: padline yes `---- to ,---- | #+PROPERTY: padline no `---- the padlines are gone, ant the jumping back is completely off (from first r in return() it jumps to the third # in the last logList()). Hope this helps, Rainer >> >> It would be really nice, if it would be possible to put the cursor on >> the same line, preferably same character? But it is definitely usable >> like this for debugging. >> >>> >>> * example >>> :PROPERTIES: >>> :tangle: yes >>> :comments: link >>> :END: >>> >>> The required headers. >>> #+name: header >>> #+begin_src C >>> #include >>> #+end_src >>> >>> Here is the auxiliary function. >>> #+name: auxiliary >>> #+begin_src C >>> void aux(char* arg){ >>> printf("first argument: %s\n", arg); >>> } >>> #+end_src >>> >>> Here is the main function. >>> #+name: main >>> #+begin_src C >>> int main(int argc, char *argv[]) >>> { >>> aux(argv[1]); >>> return 0; >>> } >>> #+end_src >>> >>> >>> While implementing this change I did notice that this jumping >>> functionality only appears to work with linked code blocks,=20 >> >> linked code blocks? Do you mean the header argument :comments link or, >> as I use :comments yes? If I remember correctly, when you announced this >> function, you explicitly mentioned that :comments yes is required for it >> to work? >> > > I meant to type "named code blocks", but yes you want to use ":comments > link", as I use in that example. See the manual page for the comments > header argument for more details. > > Cheers, > >> >> >> Thanks a lot, >> >> Rainer >> >>>which should >>> I believe is a bug. >>> >>> Best, >>> >>>> >>>> Thanks, >>>> >>>> Rainer =2D-=20 Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,= UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax : +33 - (0)9 58 10 27 44 Fax (D): +49 - (0)3 21 21 25 22 44 email: Rainer@krugs.de Skype: RMkrug --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQEcBAEBAgAGBQJRrGKaAAoJENvXNx4PUvmCp/MIANc9DDB2VNg0Lg/zz3jm8Ltn 3Lv+ViAQMfHU2D4scdl/gTI64NXJpUQh3SaUkgoPWq9tCysDjC0VrX32jh5PvE0r A0ybLBU8c/icU2h8iXYEcQ6xBqoybkF+2o2TvFH3Qv6OhjNxtz0qwEKE1SqA21c4 hZ2RxLD9laddEoT2F7ncv4Rf0U3nu94aTyzVlhLBlkTJvamJQvaP+dg5p+E+9ZNy SzeSKka7TJdsQdEK68P/E/ZMG7yCFB9y9kJXwtnA5jIW3kduWaS6p5YA1Q3jaO/E Z9+BsSNtxqc7WOC+TQERFhvPwDw5VNEvPItEjIsW5nF/k8RMFrtCHXTbIkmJkFA= =xQ+s -----END PGP SIGNATURE----- --=-=-=--