Re: [O] [Babel] [PATCH] Customize regular expression to match noweb references

2012-01-28 Thread Sean O'Halpin
On Fri, Jan 27, 2012 at 11:05 PM, Eric Schulte eric.schu...@gmx.com wrote:
 Good idea,

 I've changed your implementation to rely on two new customization
 variables `org-babel-noweb-wrap-start' and `org-babel-noweb-wrap-end' as
 this provides more flexibility to the backend implementation to place
 constraints on the properties of the noweb names.

 In you're situation you will now want to set...
 (setq org-babel-noweb-wrap-start «
      org-babel-noweb-wrap-end   »)

 Thanks for the great idea,


Seems to work fine. Thanks for implementing it so quickly and thanks
for org-babel!

Regards,
Sean



Re: [O] [Babel] [PATCH] Customize regular expression to match noweb references

2012-01-27 Thread Eric Schulte
Good idea,

I've changed your implementation to rely on two new customization
variables `org-babel-noweb-wrap-start' and `org-babel-noweb-wrap-end' as
this provides more flexibility to the backend implementation to place
constraints on the properties of the noweb names.

In you're situation you will now want to set...
(setq org-babel-noweb-wrap-start «
  org-babel-noweb-wrap-end   »)

Thanks for the great idea,

Sean O'Halpin sean.ohal...@gmail.com writes:

 Hi,

 Here's a patch I'm using to change the default regular expression used
 to match noweb references.
 The default regular expression \\(.+?\\) conflicts with Ruby
 syntax and confuses syntax highlighting.
 I now set this to «\\(.+?\\)», i.e. using guillemots instead
 (AltGr-z and AltGr-x on my keyboard).

 Regards,
 Sean


 Customizable regular expression to match noweb references.
 ---
  lisp/ob-tangle.el |4 +++-
  lisp/ob.el|7 ++-
  2 files changed, 9 insertions(+), 2 deletions(-)

 diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el
 index d7c4d7e..4148774 100644
 --- a/lisp/ob-tangle.el
 +++ b/lisp/ob-tangle.el
 @@ -281,12 +281,14 @@ references.
(interactive)
(goto-char (point-min))
(while (or (re-search-forward \\[\\[file:.*\\]\\[.*\\]\\] nil t)
 - (re-search-forward [^[:space:]]* nil t))
 + (re-search-forward org-babel-noweb-regexp nil t))
  (delete-region (save-excursion (beginning-of-line 1) (point))
 (save-excursion (end-of-line 1) (forward-char 1) 
 (point)

  (defvar org-stored-links)
  (defvar org-bracket-link-regexp)
 +(defvar org-babel-noweb-regexp)
 +
  (defun org-babel-tangle-collect-blocks (optional language)
Collect source blocks in the current Org-mode file.
  Return an association list of source-code block specifications of
 diff --git a/lisp/ob.el b/lisp/ob.el
 index 47be708..bbd6209 100644
 --- a/lisp/ob.el
 +++ b/lisp/ob.el
 @@ -113,6 +113,11 @@ remove code block execution from the C-c C-c keybinding.
:group 'org-babel
:type 'boolean)

 +(defcustom org-babel-noweb-regexp \\(.+?\\)
 +  Regular expression to use to match noweb references.
 +  :group 'org-babel
 +  :type 'string)
 +
  (defcustom org-babel-results-keyword RESULTS
Keyword used to name results generated by code blocks.
  Should be either RESULTS or NAME however any capitalization may
 @@ -2159,7 +2164,7 @@ block but are passed literally to the 
 \example-block\.
(with-temp-buffer
  (insert body) (goto-char (point-min))
  (setq index (point))
 -(while (and (re-search-forward \\(.+?\\) nil t))
 +(while (and (re-search-forward org-babel-noweb-regexp nil t))
(save-match-data (setf source-name (match-string 1)))
(save-match-data (setq evaluate (string-match \(.*\) 
 source-name)))
(save-match-data

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/