Re: [O] Jumping from source block to Org block ...
aditya siram aditya.si...@gmail.com writes: I've included new versions of both patches with most of the changes you suggested. I guess you'll apply the longer one when you've been notified by the FSF? Once you receive your confirmation from the FSF please let Bastien or Carsten know, and they'll add you to the list of contributors at [1]. Then I'll apply this patch. Is this a one-time deal that covers future patches or do I have to do this with every patch that's over 15 lines long? This is a one time deal that covers not only future patches to Org-mode, but future patches to any part of Emacs. Thanks again, Thanks! -deech On Sat, Sep 14, 2013 at 10:53 AM, aditya siram aditya.si...@gmail.comwrote: Thanks for your feedback and your work on org-babel! Oops, the maintain-point was a hold-over and isn't actually used in the code. I'll remove it. I will incorporate your suggestions. However, regarding the cascading if statements, how would I use `cond` when the predicates are `and`ed and when I need different behavior in the else cases? On Sat, Sep 14, 2013 at 10:44 AM, Eric Schulte schulte.e...@gmail.comwrote: aditya siram aditya.si...@gmail.com writes: Attached is a patch that fixes a bug with jumping from source block back to the Org file. The problem is that the current detangling behavior does not take the :padlline flag into account. This stopped. Hopefully this is helpful to others ... -deech Hi deech, Please see the Org-mode contribution instructions at [1]. A patch of this length would require that you fill out the FSF copyright assignment paperwork before the patch could be applied. As for the content of the patch, my only question is why do you add an optional maintain-point argument to `org-babel-tangle-jump-to-org'? Is there ever a case when you would not want to maintain the point? Of much less importance I have a couple of stylistic notes about the code which are largely unrelated to its functionality and are included to make future changes easier to read and because I'm a cranky old lisp programmer. - you should indent the code s.t. no lines are longer than 79 characters - comments which float after code (e.g., ;; end of first delimiter) should only use 1 ; character - the series of if statements (if should-be-padded... if possibly-padded... if actually-padded...) would be more legible if written as a single `cond' form. Thanks for this change. It appears to pass all tests, so after the above have been addressed I'd be very happy to apply it. Thanks for contributing, this is much appreciated! If you have the time and inclination to include a test which fails without this patch applied that would be icing on the cake. Best, Footnotes: [1] http://orgmode.org/worg/org-contribute.html -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D Footnotes: [1] http://orgmode.org/worg/org-contribute.html -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D
Re: [O] Jumping from source block to Org block ...
aditya siram aditya.si...@gmail.com writes: Thanks for your feedback and your work on org-babel! I'm happy you're finding it useful. Oops, the maintain-point was a hold-over and isn't actually used in the code. I'll remove it. I will incorporate your suggestions. However, regarding the cascading if statements, how would I use `cond` when the predicates are `and`ed and when I need different behavior in the else cases? Maybe cascading if statements are the best thing here. Perhaps changing the order of the then/else branches could ensure the conditionals are still visible from the branches, but this is an exceedingly minor point. I guess any use of cond could easily get overly verbose. Please disregard this suggestion. Cheers, On Sat, Sep 14, 2013 at 10:44 AM, Eric Schulte schulte.e...@gmail.comwrote: aditya siram aditya.si...@gmail.com writes: Attached is a patch that fixes a bug with jumping from source block back to the Org file. The problem is that the current detangling behavior does not take the :padlline flag into account. This stopped. Hopefully this is helpful to others ... -deech Hi deech, Please see the Org-mode contribution instructions at [1]. A patch of this length would require that you fill out the FSF copyright assignment paperwork before the patch could be applied. As for the content of the patch, my only question is why do you add an optional maintain-point argument to `org-babel-tangle-jump-to-org'? Is there ever a case when you would not want to maintain the point? Of much less importance I have a couple of stylistic notes about the code which are largely unrelated to its functionality and are included to make future changes easier to read and because I'm a cranky old lisp programmer. - you should indent the code s.t. no lines are longer than 79 characters - comments which float after code (e.g., ;; end of first delimiter) should only use 1 ; character - the series of if statements (if should-be-padded... if possibly-padded... if actually-padded...) would be more legible if written as a single `cond' form. Thanks for this change. It appears to pass all tests, so after the above have been addressed I'd be very happy to apply it. Thanks for contributing, this is much appreciated! If you have the time and inclination to include a test which fails without this patch applied that would be icing on the cake. Best, Footnotes: [1] http://orgmode.org/worg/org-contribute.html -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D
Re: [O] Jumping from source block to Org block ...
aditya siram aditya.si...@gmail.com writes: Attached is a patch that fixes a bug with jumping from source block back to the Org file. The problem is that the current detangling behavior does not take the :padlline flag into account. This stopped. Hopefully this is helpful to others ... -deech Hi deech, Please see the Org-mode contribution instructions at [1]. A patch of this length would require that you fill out the FSF copyright assignment paperwork before the patch could be applied. As for the content of the patch, my only question is why do you add an optional maintain-point argument to `org-babel-tangle-jump-to-org'? Is there ever a case when you would not want to maintain the point? Of much less importance I have a couple of stylistic notes about the code which are largely unrelated to its functionality and are included to make future changes easier to read and because I'm a cranky old lisp programmer. - you should indent the code s.t. no lines are longer than 79 characters - comments which float after code (e.g., ;; end of first delimiter) should only use 1 ; character - the series of if statements (if should-be-padded... if possibly-padded... if actually-padded...) would be more legible if written as a single `cond' form. Thanks for this change. It appears to pass all tests, so after the above have been addressed I'd be very happy to apply it. Thanks for contributing, this is much appreciated! If you have the time and inclination to include a test which fails without this patch applied that would be icing on the cake. Best, Footnotes: [1] http://orgmode.org/worg/org-contribute.html -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D
Re: [O] Jumping from source block to Org block ...
Thanks for your feedback and your work on org-babel! Oops, the maintain-point was a hold-over and isn't actually used in the code. I'll remove it. I will incorporate your suggestions. However, regarding the cascading if statements, how would I use `cond` when the predicates are `and`ed and when I need different behavior in the else cases? On Sat, Sep 14, 2013 at 10:44 AM, Eric Schulte schulte.e...@gmail.comwrote: aditya siram aditya.si...@gmail.com writes: Attached is a patch that fixes a bug with jumping from source block back to the Org file. The problem is that the current detangling behavior does not take the :padlline flag into account. This stopped. Hopefully this is helpful to others ... -deech Hi deech, Please see the Org-mode contribution instructions at [1]. A patch of this length would require that you fill out the FSF copyright assignment paperwork before the patch could be applied. As for the content of the patch, my only question is why do you add an optional maintain-point argument to `org-babel-tangle-jump-to-org'? Is there ever a case when you would not want to maintain the point? Of much less importance I have a couple of stylistic notes about the code which are largely unrelated to its functionality and are included to make future changes easier to read and because I'm a cranky old lisp programmer. - you should indent the code s.t. no lines are longer than 79 characters - comments which float after code (e.g., ;; end of first delimiter) should only use 1 ; character - the series of if statements (if should-be-padded... if possibly-padded... if actually-padded...) would be more legible if written as a single `cond' form. Thanks for this change. It appears to pass all tests, so after the above have been addressed I'd be very happy to apply it. Thanks for contributing, this is much appreciated! If you have the time and inclination to include a test which fails without this patch applied that would be icing on the cake. Best, Footnotes: [1] http://orgmode.org/worg/org-contribute.html -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D
Re: [O] Jumping from source block to Org block ...
I've included new versions of both patches with most of the changes you suggested. I guess you'll apply the longer one when you've been notified by the FSF? Is this a one-time deal that covers future patches or do I have to do this with every patch that's over 15 lines long? Thanks! -deech On Sat, Sep 14, 2013 at 10:53 AM, aditya siram aditya.si...@gmail.comwrote: Thanks for your feedback and your work on org-babel! Oops, the maintain-point was a hold-over and isn't actually used in the code. I'll remove it. I will incorporate your suggestions. However, regarding the cascading if statements, how would I use `cond` when the predicates are `and`ed and when I need different behavior in the else cases? On Sat, Sep 14, 2013 at 10:44 AM, Eric Schulte schulte.e...@gmail.comwrote: aditya siram aditya.si...@gmail.com writes: Attached is a patch that fixes a bug with jumping from source block back to the Org file. The problem is that the current detangling behavior does not take the :padlline flag into account. This stopped. Hopefully this is helpful to others ... -deech Hi deech, Please see the Org-mode contribution instructions at [1]. A patch of this length would require that you fill out the FSF copyright assignment paperwork before the patch could be applied. As for the content of the patch, my only question is why do you add an optional maintain-point argument to `org-babel-tangle-jump-to-org'? Is there ever a case when you would not want to maintain the point? Of much less importance I have a couple of stylistic notes about the code which are largely unrelated to its functionality and are included to make future changes easier to read and because I'm a cranky old lisp programmer. - you should indent the code s.t. no lines are longer than 79 characters - comments which float after code (e.g., ;; end of first delimiter) should only use 1 ; character - the series of if statements (if should-be-padded... if possibly-padded... if actually-padded...) would be more legible if written as a single `cond' form. Thanks for this change. It appears to pass all tests, so after the above have been addressed I'd be very happy to apply it. Thanks for contributing, this is much appreciated! If you have the time and inclination to include a test which fails without this patch applied that would be icing on the cake. Best, Footnotes: [1] http://orgmode.org/worg/org-contribute.html -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D From 791a41a9cb97ae9a237b74c839a1fc2c0f4970db Mon Sep 17 00:00:00 2001 From: Aditya Siram aditya siram at gmail dot com Date: Sat, 14 Sep 2013 11:47:17 -0500 Subject: [PATCH 2/2] Detangling and jumping back now correctly compensate for padded chunks --- lisp/ob-tangle.el | 102 +++--- 1 file changed, 97 insertions(+), 5 deletions(-) diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el index 8141943..42fa31c 100644 --- a/lisp/ob-tangle.el +++ b/lisp/ob-tangle.el @@ -506,8 +506,8 @@ which enable the original code blocks to be found. Jump from a tangled code file to the related Org-mode file. (interactive) (let ((mid (point)) - start body-start end done -target-buffer target-char link path block-name body) + start body-start end done depadded-body +target-buffer offset target-char link path block-name body) (save-window-excursion (save-excursion (while (and (re-search-backward org-bracket-link-analytic-regexp nil t) @@ -526,7 +526,7 @@ which enable the original code blocks to be found. (setq end (point-at-bol (unless (and start ( start mid) ( mid end)) (error Not in tangled code)) -(setq body (org-babel-trim (buffer-substring start end +(setq body (buffer-substring start end))) (when (string-match :: path) (setq path (substring path 0 (match-beginning 0 (find-file path) (setq target-buffer (current-buffer)) @@ -537,12 +537,18 @@ which enable the original code blocks to be found. (org-babel-goto-named-src-block block-name)) ;; position at the beginning of the code block body (goto-char (org-babel-where-is-src-block-head)) + (let* ((pad-adjusted-values + (org-babel-detangle-adjust-for-padlines start mid body)) +(depadded-body (car pad-adjusted-values)) +(depadded-point (cdr pad-adjusted-values))) + (progn + (setq offset depadded-point) + (setq body depadded-body))) (forward-line 1) - ;; Use org-edit-special to isolate the code. (org-edit-special) ;; Then move forward the correct number of characters in the ;; code buffer. - (forward-char (- mid body-start)) + (forward-char offset) ;; And return to the Org-mode buffer with the point in the right ;; place.
[O] Jumping from source block to Org block ...
Attached is a patch that fixes a bug with jumping from source block back to the Org file. The problem is that the current detangling behavior does not take the :padlline flag into account. This stopped. Hopefully this is helpful to others ... -deech src_block_jump_fix.patch Description: Binary data