Nico,

> I meant zero-width space, not non-breaking space. Note that it can be
> used in other places to escape special characters, e.g., verbatim
> markup.

ah.  how does one enter a zero-width space in emacs/org-mode?  also, i'm
curious about how it looks on the screen.  (for me, i'd want it to look,
on the screen, *very* obvious that *something* is there.)

i also apologize that the patch i sent before is incomplete -- i forgot
to modify a bit of "src_" processing; a new attempt is below.  (not sure
if that format is suitable.)

cheers, Greg
----
>From e0337aabb13fabcefbb0a9fd65e8d4c9bcd412ee Mon Sep 17 00:00:00 2001
From: Greg Minshall <minsh...@acm.org>
Date: Wed, 31 Jan 2018 20:38:35 +0530
Subject: [PATCH 1/2] use '#' as a "paste" character (for call_ and src_)

---
 lisp/org-element.el | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lisp/org-element.el b/lisp/org-element.el
index 5af2d6e..5fc3b2d 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -162,7 +162,7 @@ specially in `org-element--object-lex'.")
 		      "\\\\\\(?:[a-zA-Z[(]\\|\\\\[ \t]*$\\|_ +\\)"
 		      ;; Objects starting with raw text: inline Babel
 		      ;; source block, inline Babel call.
-		      "\\(?:call\\|src\\)_"))
+		      "#?\\(?:call\\|src\\)_"))
 		   "\\|")))
 
 (org-element--set-regexps)
@@ -2878,7 +2878,7 @@ Assume point is at the beginning of the babel call."
   (save-excursion
     (catch :no-object
       (when (let ((case-fold-search nil))
-	      (looking-at "call_\\([^ \t\n[(]+\\)[([]"))
+	      (looking-at "#?\\<call_\\([^ \t\n[(]+\\)[([]"))
 	(goto-char (match-end 1))
 	(let* ((begin (match-beginning 0))
 	       (call (match-string-no-properties 1))
@@ -4383,10 +4383,12 @@ to an appropriate container (e.g., a paragraph)."
 	  (let ((result (match-string 0)))
 	    (setq found
 		  (cond
-		   ((string-prefix-p "call_" result t)
+		   ((or (string-prefix-p "call_" result t)
+			(string-prefix-p "#call_" result t))
 		    (and (memq 'inline-babel-call restriction)
 			 (org-element-inline-babel-call-parser)))
-		   ((string-prefix-p "src_" result t)
+		   ((or (string-prefix-p "src_" result t)
+			(string-prefix-p "#src_" result t))
 		    (and (memq 'inline-src-block restriction)
 			 (org-element-inline-src-block-parser)))
 		   (t
-- 
2.7.4


>From b032d0860431ff29e7136145605d4f3d981d5301 Mon Sep 17 00:00:00 2001
From: Greg Minshall <minsh...@acm.org>
Date: Wed, 31 Jan 2018 22:53:06 +0530
Subject: [PATCH 2/2] oops, forgot (looking-at .*src_...)

---
 lisp/org-element.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org-element.el b/lisp/org-element.el
index 5fc3b2d..7f70f4a 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -2932,7 +2932,7 @@ Assume point is at the beginning of the inline src block."
   (save-excursion
     (catch :no-object
       (when (let ((case-fold-search nil))
-	      (looking-at "src_\\([^ \t\n[{]+\\)[{[]"))
+	      (looking-at "#?\\<src_\\([^ \t\n[{]+\\)[{[]"))
 	(goto-char (match-end 1))
 	(let ((begin (match-beginning 0))
 	      (language (match-string-no-properties 1))
-- 
2.7.4

Reply via email to