emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* problem with command-line call to emacsclient
@ 2011-07-02  4:42 Herbert Sitz
  2011-07-02  9:57 ` Olaf Dietsche
  0 siblings, 1 reply; 3+ messages in thread
From: Herbert Sitz @ 2011-07-02  4:42 UTC (permalink / raw)
  To: emacs-orgmode

I'm making a call to an emacsclient and trying to figure out how to get the
buffer to unload at the end of the function I'm calling.  I know kill-buffer
isn't supposed to unload the buffer but I can't figure out what will.  I've
tried server-edit and server-kill-buffer in place of kill-buffer below and they
also haven't worked.  The buffer gets "pushed to the kill buffer", but remains
loaded.

The problem with having buffer remain loaded is when I redo the command-line
call after editing the org file outside of emacs it prompts user for whether to
reload changed file.  One option would be to simply disable that prompt, I
guess, but I'd rather be able to clear the buffer.

Here's the function I'm calling:
----------------------------------
(defun vimorg-export-publish (fname exp-function)
  (find-file fname)
  (funcall exp-function nil)
  (kill-buffer) )
---------------------------------

And here's sample command line that calls it.  Strange characters are because
it's on Windows system, but it works fine other than that the buffer is not
unloaded at end of vimorg-export-publish function:
-----------------------------
c:\users\herbert\emacsclientw.exe --eval ^"(vimorg-export-publish
\^"~/myorgfile.org\^" 'org-export-as-html-and-open )^"
------------------------------

Thanks for any tips.

-- Herb

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: problem with command-line call to emacsclient
  2011-07-02  4:42 problem with command-line call to emacsclient Herbert Sitz
@ 2011-07-02  9:57 ` Olaf Dietsche
  2011-07-02 15:32   ` Herbert Sitz
  0 siblings, 1 reply; 3+ messages in thread
From: Olaf Dietsche @ 2011-07-02  9:57 UTC (permalink / raw)
  To: Herbert Sitz; +Cc: emacs-orgmode

Herbert Sitz <hsitz@nwlink.com> writes:

> I'm making a call to an emacsclient and trying to figure out how to get the
> buffer to unload at the end of the function I'm calling.  I know kill-buffer
> isn't supposed to unload the buffer but I can't figure out what will.  I've
> tried server-edit and server-kill-buffer in place of kill-buffer below and they
> also haven't worked.  The buffer gets "pushed to the kill buffer", but remains
> loaded.
>
> The problem with having buffer remain loaded is when I redo the command-line
> call after editing the org file outside of emacs it prompts user for whether to
> reload changed file.  One option would be to simply disable that prompt, I
> guess, but I'd rather be able to clear the buffer.
>
> Here's the function I'm calling:
> ----------------------------------
> (defun vimorg-export-publish (fname exp-function)
>   (find-file fname)
>   (funcall exp-function nil)
>   (kill-buffer) )
> ---------------------------------

I tried this in *scratch* and it works fine:

(defun test-kill-buffer (fname)
  (find-file fname)
  (kill-buffer))
C-x C-e
(test-kill-buffer "/tmp/abc.txt")
C-x C-e

Repeat the steps and leave out the "(kill-buffer)" and the file
/tmp/abc.txt remains in emacs.

>
> And here's sample command line that calls it.  Strange characters are because
> it's on Windows system, but it works fine other than that the buffer is not
> unloaded at end of vimorg-export-publish function:
> -----------------------------
> c:\users\herbert\emacsclientw.exe --eval ^"(vimorg-export-publish
> \^"~/myorgfile.org\^" 'org-export-as-html-and-open )^"
> ------------------------------

So it must be something with (funcall exp-function) or exp-function,
which prevents unloading `fname'.

Maybe org-export-as-html-and-open changes buffers. So, I guess either a
save-excursion around (funcall ...) or:

(defun test-kill-buffer (fname exp-function)
  (let ((buf (find-file fname)))
    (funcall exp-function)
    (kill-buffer buf)))

(test-kill-buffer "/tmp/abc.txt" 'some-function-to-call)

will do the trick.

Regards, Olaf

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: problem with command-line call to emacsclient
  2011-07-02  9:57 ` Olaf Dietsche
@ 2011-07-02 15:32   ` Herbert Sitz
  0 siblings, 0 replies; 3+ messages in thread
From: Herbert Sitz @ 2011-07-02 15:32 UTC (permalink / raw)
  To: emacs-orgmode

> (defun test-kill-buffer (fname exp-function)
>   (let ((buf (find-file fname)))
>     (funcall exp-function)
>     (kill-buffer buf)))
> 
> (test-kill-buffer "/tmp/abc.txt" 'some-function-to-call)
> 
> will do the trick.
> 
> Regards, Olaf


Olaf -- 

Beauteous, thank you, that did indeed do the trick.  

-- Herb

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-07-02 15:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-02  4:42 problem with command-line call to emacsclient Herbert Sitz
2011-07-02  9:57 ` Olaf Dietsche
2011-07-02 15:32   ` Herbert Sitz

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).