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: ,---- | | ## [[file:~/tmp/jumpBack.org::*newASM%20(./newASM.R)][newASM\ \(\./newASM\.R\):1]] | | 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) | } | | ## newASM\ \(\./newASM\.R\):1 ends here | `---- This one works, although the cursor is consistently two characters to the left 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, >> >> 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 -- 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