help-emacs-windows
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [h-e-w] interactive "r" argument passing


From: T400
Subject: Re: [h-e-w] interactive "r" argument passing
Date: Sat, 18 May 2019 10:38:49 -0500
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1

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 <address@hidden> On Behalf Of Francis Wright
Sent: Saturday, 18 May 2019 9:57 am
To: T400 <address@hidden>; address@hidden
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.


From: help-emacs-windows <address@hidden> on behalf of T400 <address@hidden>
Sent: Saturday, May 18, 2019 6:03:46 AM
To: address@hidden
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-
>> address@hidden> On Behalf Of T400
>> Sent: Friday, 17 May 2019 6:01 pm
>> To: w32emacs <address@hidden>
>> 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
>>
>>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]