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/