Re: [O] Jumping from source block to Org block ...

2013-09-15 Thread Eric Schulte
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 ...

2013-09-15 Thread Eric Schulte
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 ...

2013-09-14 Thread Eric Schulte
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 ...

2013-09-14 Thread aditya siram
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 ...

2013-09-14 Thread aditya siram
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 ...

2013-09-13 Thread aditya siram
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