[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [BUG] Cannot tangle src block in capture buffer [9.7.6]
From: |
Derek Chen-Becker |
Subject: |
Re: [BUG] Cannot tangle src block in capture buffer [9.7.6] |
Date: |
Sun, 15 Dec 2024 20:26:44 -0700 |
On Mon, Aug 05, 2024 at 02:03:50PM +0000, Ihor Radchenko wrote:
> That's because capture buffer is an indirect buffer and indirect buffers
> are technically not associated with any file.
>
> We should probably fix handling indirect buffers across Org mode.
>
> Confirmed.
>
OK, after some debugging it looks like the primary culprit is the assignment of
source-file from buffer-file-name. A quick
patch seems to fix it, but I can definitely see a pattern here if org functions
are trying to get the filename of the current
buffer (I can submit an official patch if this looks right):
modified lisp/ob-tangle.el
@@ -269,7 +269,7 @@ matching a regular expression."
(or (cdr (assq :tangle (nth 2 (org-babel-get-src-block-info 'no-eval))))
(user-error "Point is not in a source code block"))))
path-collector
- (source-file buffer-file-name))
+ (source-file (buffer-file-name (buffer-base-buffer))))
(mapc ;; map over file-names
(lambda (by-fn)
(let ((file-name (car by-fn)))
There are 339 uses of buffer-file-name that I can find, but most are just bare
(buffer-file-name). Are there any other cases
besides indirect buffers that we would need to handle? Would it be worth
creating a new function "org-buffer-file-name" that
could properly handle indirect buffers and any other special cases, or is it
just a search and replace throughout?
Cheers,
Derek
--
+---------------------------------------------------------------+
| Derek Chen-Becker |
| http://chen-becker.org |
| |
| GPG Key available at https://keybase.io/dchenbecker and |
| https://pgp.mit.edu/pks/lookup?search=derek%40chen-becker.org |
| Fngrprnt: EB8A 6480 F0A3 C8EB C1E7 7F42 AFC5 AFEE 96E4 6ACC |
+---------------------------------------------------------------+
signature.asc
Description: PGP signature
- Re: [BUG] Cannot tangle src block in capture buffer [9.7.6],
Derek Chen-Becker <=