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 > >> > >> >