* 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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.