Re: interactive "r" argument passing

T400 <[email protected]> Sat, 18 May 2019 10:38:49 -0500
Newsgroups gmane.emacs.windows
Message-ID <[email protected]>
Thanks, again. The problem wasn't with the function but with a faulty 
defalias form, with which I called the function. Now I have (correctly):

(defalias 'sch 'save-sscratch)

I was losing the contents of *scratch* because  of unexpected shutdowns 
and because that buffer is not normally associated with any file. Maybe 
it would be a good idea to save the buffer to starscratch.txt on start 
up so that later it might be recovered if need be (with 
recover-this-file). Emacs dev would know how to make it do what I mean.


Ed

On 5/18/2019 06:54, Francis Wright wrote:
>
> Just to follow up on what I wrote below, the following version of your 
> function works fine for me (on Windows 10) and writes the file to my 
> default Documents folder:
>
> (defun save-sscratch (start end)
>
> "Append region in *scratch* to file scratch.txt."
>
> (interactive "r")
>
> (with-current-buffer "*scratch*"
>
> (write-region start end "c:/Users/fjw/Documents/scratch.txt" t)))
>
> I think your problem is the way you have specified the folder that you 
> want to write to.
>
> *From:*help-emacs-windows 
> <[email protected]> *On Behalf 
> Of *Francis Wright
> *Sent:* Saturday, 18 May 2019 9:57 am
> *To:* T400 <[email protected]>; [email protected]
> *Subject:* Re: [h-e-w] interactive "r" argument passing
>
> If this still doesn't work then I suggest you visit the file you want 
> to write to in Emacs and copy the full filename used by Emacs into 
> your function. I'll look at this more carefully later.
>
> Get Outlook for Android <https://aka.ms/ghei36>
>
> ------------------------------------------------------------------------
>
> *From:*help-emacs-windows 
> <[email protected] 
> <mailto:[email protected]>> on 
> behalf of T400 <[email protected] <mailto:[email protected]>>
> *Sent:* Saturday, May 18, 2019 6:03:46 AM
> *To:* [email protected] <mailto:[email protected]>
> *Subject:* Re: [h-e-w] interactive "r" argument passing
>
> Thanks, Francis. I tried escaped backslashes and slashes. After this
> didn't work either:
>
>
> (defun save-sscratch (start end) ;; M-x sch
> "Append region in *scratch* to file scratch.txt."
> (interactive "r")
> (with-current-buffer "*scratch*"
>     (write-region start end "c:/mydocu~1/scratch.txt" t)))
>
>
> I noticed that the in the alias def for sch the 'save-sscratch' function
> name was spelled wrong.
>
> ;-(
>
> Ed
>
> On 5/17/2019 12:18, Francis Wright wrote:
> > You need to double the backslashes or use forward slashes; either 
> should work. (And there should be no need to shorten filenames.)
> >
> > Francis
> >
> >> -----Original Message-----
> >> From: help-emacs-windows <help-emacs-windows-
> >> [email protected] 
> <mailto:[email protected]>> On Behalf Of T400
> >> Sent: Friday, 17 May 2019 6:01 pm
> >> To: w32emacs <[email protected] 
> <mailto:[email protected]>>
> >> Subject: [h-e-w] interactive "r" argument passing
> >>
> >> Dear w32 emacs gurus:
> >>
> >> Why does this function not work? I think that similar functions I 
> wrote long
> >> ago did work.:
> >>
> >>
> >> (defun save-sscratch (start end) ;; M-x sch alias
> >> "Append region in *scratch* to file scratch.txt"
> >> (interactive "r")
> >> (with-current-buffer "*scratch*"
> >>      (append-to-file start end "c:\mydocu~1\scratch.txt")))
> >>
> >> Do I need escaped backslashes? forward slashes?
> >>
> >>
> >> Thanks,
> >>
> >> Ed
> >>
> >>
>