From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Schulte Subject: Re: [babel] VC-Log does not run correctly Date: Thu, 08 Sep 2011 09:04:48 -0600 Message-ID: <87sjo76p52.fsf@gmail.com> References: <80pqjbce60.fsf@somewhere.org> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([140.186.70.92]:55385) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R1gKz-0000qu-Hd for emacs-orgmode@gnu.org; Thu, 08 Sep 2011 11:16:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R1gKv-0007bO-TY for emacs-orgmode@gnu.org; Thu, 08 Sep 2011 11:16:21 -0400 Received: from mail-qw0-f43.google.com ([209.85.216.43]:56606) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R1gKv-0007bC-RB for emacs-orgmode@gnu.org; Thu, 08 Sep 2011 11:16:17 -0400 Received: by qwm42 with SMTP id 42so747529qwm.30 for ; Thu, 08 Sep 2011 08:16:16 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Sebastien Vauban Cc: emacs-orgmode@gnu.org Hi Seb, Off the top of my head I would recommend first running the vc-log code block interactively to see how it behaves, then possibly expanding the code block with C-c C-v v, copying the results to your scratch buffer, evaluating the resulting elisp with edebug (C-M-x with a prefix argument), which will then allow you to step through the code execution statement by statement. This should help to pinpoint the problem. Hope this helps -- Eric "Sebastien Vauban" writes: > #+TITLE: Last VC Log > #+AUTHOR: Seb Vauban > #+DATE: 2011-09-08 > #+LANGUAGE: en > #+OPTIONS: num:nil toc:nil > > * Abstract > > I'm trying to get, from the VC backend (currently SVN in my case), the name > and date of the last committer. Eventually, as well the last log message. > > Therefore, I try to use the =vc-log= function in the Library of Babel, copied > back in this buffer, for the sake of simplicity. > > When calling =C-c C-e b= on this buffer, I get asked by Emacs: > > "Buffer has a running process; kill it? (yes or no)" > > - If I don't say anything, the export process is just hanging in the blue... > > - If I say yes, the export process really begins, but there is no vc log > inserted where I expect it. > > - Exactly the same (as if I say yes) happens if I say no: export goes on, but > no vc log! > > What could go wrong here? > > * Org Source > > #+source: vc-log > #+headers: :var limit=-1 > #+headers: :var buf=(buffer-name (current-buffer)) > #+begin_src emacs-lisp :exports none > ;; Most of this code is copied from vc.el vc-print-log > (require 'vc) > (when (vc-find-backend-function > (vc-backend (buffer-file-name (get-buffer buf))) 'print-log) > (let ((limit -1) > (vc-fileset nil) > (backend nil) > (files nil)) > (with-current-buffer (get-buffer buf) > (setq vc-fileset (vc-deduce-fileset t)) ; FIXME: Why t? --Stef > (setq backend (car vc-fileset)) > (setq files (cadr vc-fileset))) > (with-temp-buffer > (let ((status (vc-call-backend > backend 'print-log files (current-buffer)))) > (when (and (processp status) ; Make sure status is a process > (= 0 (process-exit-status status))) ; which has not terminated > (while (not (eq 'exit (process-status status))) > (sit-for 1 t))) > (buffer-string))))) > #+end_src > > Last edited by XXX on XXX > > #+call: vc-log() > > * HTML Result > > #+begin_src html > Last VC Log > Org Source > > Last edited by XXX on XXX > > Working file: c:/home/sva/ecm.org > > Date: 2011-09-08 > > Author: Seb Vauban > Validate XHTML 1.0 > #+end_src > > As you can see, there is no vc log at all, well the header of the vc log > buffer: > > "Working file: c:/home/sva/ecm.org" > > * Messages buffer > > #+begin_src text > Export buffer: > Exporting... > Running svn status -v ecm.html in foreground... > Running svn status -v ecm.html...OK = 0 > Position saved to mark ring, go back with M-x org-mark-ring-goto. > (info) +-> Requiring `help-fns'... already loaded [6 times] > executing Emacs-Lisp code block (vc-log)... > > (buf (quote "ecm.org")) > > (limit (quote -1)) > > Running svn log -rHEAD:0 ecm.org in background... done > "Working file: c:/home/sva/ecm.org > " > (info) +-> Requiring `help-fns'... already loaded > executing Emacs-Lisp code block... > > (results (quote "Working file: c:/home/sva/ecm.org > ")) > > Code block evaluation complete. > org-babel-exp processing... > org-babel-exp processing... > Exporting... > Saving file c:/home/sva/ecm.html... > Wrote c:/home/sva/ecm.html > Running svn status -v ecm.html in foreground... > Running svn status -v ecm.html...OK = 0 > Exporting... done > #+end_src > > Any idea on how to help me going further with this? > > Best regards, > Seb -- Eric Schulte http://cs.unm.edu/~eschulte/