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 <n142...@gmail.com> 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 <n142...@gmail.com>
> 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...
>>
>>
>

Reply via email to