Since this org-babel + tramp-cache incompatibility is very puzzling, I
continued researching it. The line that makes my Python block stop working
(i.e. outputting None instead of the "x" I asked with print "x') is this
one, found in tramp-cache.el:
(add-hook 'kill-buffer-hook 'tramp-flush-file-function)
Its code is:
(defun tramp-flush-file-function ()
"Flush all Tramp cache properties from `buffer-file-name'.
This is suppressed for temporary buffers."
(unless (string-match "^ \\*temp\\*" (or (buffer-name) ""))
(let ((bfn (if (stringp (buffer-file-name))
(buffer-file-name)
default-directory)))
(when (tramp-tramp-file-p bfn)
(with-parsed-tramp-file-name bfn nil
(tramp-flush-file-property v localname))))))
That "temporary buffer detector" is working correctly because org-babel
buffers have names like " *temp*-993012", which are correctly detected.
I'm afraid that the (string-match ...) will forget the last search, so later
(match-string) done by babel will be from the wrong search. Can this happen?
--
Daniel
On Fri, Jun 27, 2014 at 4:50 PM, Daniel Clemente <[email protected]> wrote:
> I confirm that with Debian's Emacs, org-babel works well after the
> (require 'tramp-cache):
> GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.12.2) of 2014-06-06
> on barber, modified by Debian
>
> But it fails with my compiled one from 2014-06-20.
>
> So is it because of tramp-cache or org-babel?
>
>
> On Fri, Jun 27, 2014 at 12:19 AM, Daniel Clemente <[email protected]>
> wrote:
>
>>
>> El Thu, 26 Jun 2014 12:36:47 -0400 Eric Schulte va escriure:
>> > > #+BEGIN_SRC python :results output
>> > > print "x"
>> > > #+END_SRC
>> > >
>> > > It prints:
>> > >
>> > > #+RESULTS:
>> > > : None
>> > >
>> > > I expected to see "x". This worked some days ago.
>> > >
>> >
>> > This works for me using the latest version of Org-mode with an Emacs
>> > launched by running "make vanilla" from the base of the Org-mode repo.
>> >
>> I didn't know "make vanilla". It worked fine from there, I don't know
>> why from "emacs -Q" it didn't.
>>
>> > Maybe the problem is in your configuration?
>>
>> Exactly, it is from my configuration, because after loading my full
>> configuration, I see the problem again and code highlighting suddenly
>> disappears.
>>
>> I identified the exact lines that cause org-babel to stop failing.
>> Bewonder:
>>
>> (autoload 'tramp "tramp" "Remotely access files." t)
>> (require 'tramp-cache)
>>
>> Yes! After C-x C-e on the first line, org-babel still works. After C-x
>> C-e on the second line, it doesn't work anymore.
>> There were some Tramp changes in latest Emacs, maybe they are bad. I'm
>> using: GNU Emacs 24.4.50.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw
>> scroll bars) of 2014-06-20 on la4
>>
>>
>> What a strange bug...
>>
>>
>