unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Copying a list for insertion
@ 2022-10-21 14:16 Heime via Users list for the GNU Emacs text editor
  2022-10-21 14:35 ` Manuel Giraud
                   ` (2 more replies)
  0 siblings, 3 replies; 24+ messages in thread
From: Heime via Users list for the GNU Emacs text editor @ 2022-10-21 14:16 UTC (permalink / raw)
  To: Heime via Users list for the GNU Emacs text editor

I am printing a list named "cunex" in the messages buffer. I would also like to store what is printed so I can insert
the contents somewhere else, without having to go to the "*Messages*" buffer to copy it.

(message "%s" cunex)

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

* Re: Copying a list for insertion
  2022-10-21 14:16 Copying a list for insertion Heime via Users list for the GNU Emacs text editor
@ 2022-10-21 14:35 ` Manuel Giraud
  2022-10-21 15:03   ` Heime
  2022-10-21 15:46 ` Teemu Likonen
  2022-10-21 15:57 ` Jean Louis
  2 siblings, 1 reply; 24+ messages in thread
From: Manuel Giraud @ 2022-10-21 14:35 UTC (permalink / raw)
  To: Heime via Users list for the GNU Emacs text editor; +Cc: Heime

Maybe:
(insert (format "%s" cunex))

But it also depends on what you're trying to do.
-- 
Manuel Giraud



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

* Re: Copying a list for insertion
  2022-10-21 14:35 ` Manuel Giraud
@ 2022-10-21 15:03   ` Heime
  0 siblings, 0 replies; 24+ messages in thread
From: Heime @ 2022-10-21 15:03 UTC (permalink / raw)
  To: Manuel Giraud; +Cc: Heime via Users list for the GNU Emacs text editor

------- Original Message -------
On Friday, October 21st, 2022 at 2:35 PM, Manuel Giraud <manuel@ledu-giraud.fr> wrote:


> Maybe:
> (insert (format "%s" cunex))
> 
> But it also depends on what you're trying to do.
> --
> Manuel Giraud

I am not planning to actually insert it immediately, but keep in the copy ring, 
so I can insert it with a middle mouse click when appropriate.



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

* Re: Copying a list for insertion
  2022-10-21 14:16 Copying a list for insertion Heime via Users list for the GNU Emacs text editor
  2022-10-21 14:35 ` Manuel Giraud
@ 2022-10-21 15:46 ` Teemu Likonen
  2022-10-21 15:57 ` Jean Louis
  2 siblings, 0 replies; 24+ messages in thread
From: Teemu Likonen @ 2022-10-21 15:46 UTC (permalink / raw)
  To: Heime, Heime via Users list for the GNU Emacs text editor

[-- Attachment #1: Type: text/plain, Size: 534 bytes --]

* 2022-10-21 14:16:36+0000, Heime via Users list for the wrote:

> I am printing a list named "cunex" in the messages buffer. I would
> also like to store what is printed so I can insert the contents
> somewhere else, without having to go to the "*Messages*" buffer to
> copy it.
>
> (message "%s" cunex)

    (defvar my-store)
    (setq my-store (format "%S" cunex)) % or: "%s"
    (message "%s" cunex)


-- 
/// Teemu Likonen - .-.. https://www.iki.fi/tlikonen/
// OpenPGP: 6965F03973F0D4CA22B9410F0F2CAE0E07608462

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 251 bytes --]

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

* Re: Copying a list for insertion
  2022-10-21 14:16 Copying a list for insertion Heime via Users list for the GNU Emacs text editor
  2022-10-21 14:35 ` Manuel Giraud
  2022-10-21 15:46 ` Teemu Likonen
@ 2022-10-21 15:57 ` Jean Louis
  2022-10-21 16:12   ` Heime
  2 siblings, 1 reply; 24+ messages in thread
From: Jean Louis @ 2022-10-21 15:57 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor

* Heime via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org> [2022-10-21 17:18]:
> I am printing a list named "cunex" in the messages buffer. I would also like to store what is printed so I can insert
> the contents somewhere else, without having to go to the "*Messages*" buffer to copy it.
> 
> (message "%s" cunex)

I use this function:

(defun rcd-kill-new (kill)
  (cond ((stringp kill) (progn 
			  (kill-new kill)
			  (rcd-message "Killed: %s" kill)))
	 (t (rcd-message "😧 WARNING: Nothing to kill."))))

You may change `rcd-message' to message.

If you wish to kill the list, then you need to do something like:

(kill-new (prin1-to-string '(1 2 3 "My" "List" 10 20))) ⇒ t

Then you do C-y:

(1 2 3 "My" "List" 10 20)


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



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

* Re: Copying a list for insertion
  2022-10-21 15:57 ` Jean Louis
@ 2022-10-21 16:12   ` Heime
  2022-10-21 17:26     ` Heime
  2022-10-21 19:26     ` Heime
  0 siblings, 2 replies; 24+ messages in thread
From: Heime @ 2022-10-21 16:12 UTC (permalink / raw)
  To: Jean Louis; +Cc: Heime via Users list for the GNU Emacs text editor

------- Original Message -------
On Friday, October 21st, 2022 at 3:57 PM, Jean Louis <bugs@gnu.support> wrote:


> * Heime via Users list for the GNU Emacs text editor help-gnu-emacs@gnu.org [2022-10-21 17:18]:
> 
> > I am printing a list named "cunex" in the messages buffer. I would also like to store what is printed so I can insert
> > the contents somewhere else, without having to go to the "Messages" buffer to copy it.
> > 
> > (message "%s" cunex)
> 
> 
> I use this function:
> 
> (defun rcd-kill-new (kill)
> (cond ((stringp kill) (progn
> (kill-new kill)
> (rcd-message "Killed: %s" kill)))
> (t (rcd-message "😧 WARNING: Nothing to kill."))))
> 
> You may change `rcd-message' to message.
> 
> If you wish to kill the list, then you need to do something like:
> 
> (kill-new (prin1-to-string '(1 2 3 "My" "List" 10 20))) ⇒ t
> 
> Then you do C-y:
> 
> (1 2 3 "My" "List" 10 20)

Have done so, but doing M-w does not insert the string.



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

* Re: Copying a list for insertion
  2022-10-21 16:12   ` Heime
@ 2022-10-21 17:26     ` Heime
  2022-10-21 17:32       ` Jean Louis
  2022-10-21 19:26     ` Heime
  1 sibling, 1 reply; 24+ messages in thread
From: Heime @ 2022-10-21 17:26 UTC (permalink / raw)
  To: Jean Louis; +Cc: Heime via Users list for the GNU Emacs text editor

------- Original Message -------
On Friday, October 21st, 2022 at 4:12 PM, Heime <heimeborgia@protonmail.com> wrote:


> ------- Original Message -------
> On Friday, October 21st, 2022 at 3:57 PM, Jean Louis bugs@gnu.support wrote:
> 
> 
> 
> > * Heime via Users list for the GNU Emacs text editor help-gnu-emacs@gnu.org [2022-10-21 17:18]:
> > 
> > > I am printing a list named "cunex" in the messages buffer. I would also like to store what is printed so I can insert
> > > the contents somewhere else, without having to go to the "Messages" buffer to copy it.
> > > 
> > > (message "%s" cunex)
> > 
> > I use this function:
> > 
> > (defun rcd-kill-new (kill)
> > (cond ((stringp kill) (progn
> > (kill-new kill)
> > (rcd-message "Killed: %s" kill)))
> > (t (rcd-message "😧 WARNING: Nothing to kill."))))
> > 
> > You may change `rcd-message' to message.
> > 
> > If you wish to kill the list, then you need to do something like:
> > 
> > (kill-new (prin1-to-string '(1 2 3 "My" "List" 10 20))) ⇒ t
> > 
> > Then you do C-y:
> > 
> > (1 2 3 "My" "List" 10 20)
> 
> 
> Have done so, but doing M-w does not insert the string.

prin1-to-string inserts double quotes.  Because my list is composed of string
items only, I want to exclude tho double quotes on each list entry.








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

* Re: Copying a list for insertion
  2022-10-21 17:26     ` Heime
@ 2022-10-21 17:32       ` Jean Louis
  0 siblings, 0 replies; 24+ messages in thread
From: Jean Louis @ 2022-10-21 17:32 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor

* Heime <heimeborgia@protonmail.com> [2022-10-21 20:26]:
> > Have done so, but doing M-w does not insert the string.
> 
> prin1-to-string inserts double quotes.  Because my list is composed of string
> items only, I want to exclude tho double quotes on each list entry.

M-w is to kill, C-y is to yank

So you wish to have list like '("Hello" "There") and to get '(Hello
There)?

(kill-new (format "%s" '("Hello" "There")))

(Hello There)


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



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

* Re: Copying a list for insertion
  2022-10-21 16:12   ` Heime
  2022-10-21 17:26     ` Heime
@ 2022-10-21 19:26     ` Heime
  2022-10-21 20:32       ` Jean Louis
  2022-10-21 22:00       ` Heime
  1 sibling, 2 replies; 24+ messages in thread
From: Heime @ 2022-10-21 19:26 UTC (permalink / raw)
  To: Heime; +Cc: Jean Louis, Heime via Users list for the GNU Emacs text editor


------- Original Message -------
On Friday, October 21st, 2022 at 4:12 PM, Heime <heimeborgia@protonmail.com> wrote:


> ------- Original Message -------
> On Friday, October 21st, 2022 at 3:57 PM, Jean Louis bugs@gnu.support wrote:
> 
> 
> 
> > * Heime via Users list for the GNU Emacs text editor help-gnu-emacs@gnu.org [2022-10-21 17:18]:
> > 
> > > I am printing a list named "cunex" in the messages buffer. I would also like to store what is printed so I can insert
> > > the contents somewhere else, without having to go to the "Messages" buffer to copy it.
> > > 
> > > (message "%s" cunex)
> > 
> > I use this function:
> > 
> > (defun rcd-kill-new (kill)
> > (cond ((stringp kill) (progn
> > (kill-new kill)
> > (rcd-message "Killed: %s" kill)))
> > (t (rcd-message "😧 WARNING: Nothing to kill."))))
> > 
> > You may change `rcd-message' to message.
> > 
> > If you wish to kill the list, then you need to do something like:
> > 
> > (kill-new (prin1-to-string '(1 2 3 "My" "List" 10 20))) ⇒ t
> > 
> > Then you do C-y:
> > 
> > (1 2 3 "My" "List" 10 20)

Have wrongly assumed that "kill-new" would pass the string for use to 
"mouse-yank-primary".  Any idea how to pass the string for mouse yank
and keyboard yank with "M-w" ?






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

* Re: Copying a list for insertion
  2022-10-21 19:26     ` Heime
@ 2022-10-21 20:32       ` Jean Louis
  2022-10-21 22:00       ` Heime
  1 sibling, 0 replies; 24+ messages in thread
From: Jean Louis @ 2022-10-21 20:32 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor

* Heime <heimeborgia@protonmail.com> [2022-10-21 22:27]:
> Have wrongly assumed that "kill-new" would pass the string for use to 
> "mouse-yank-primary".  Any idea how to pass the string for mouse yank
> and keyboard yank with "M-w" ?

Enable select-enable-primary

Then using kill-new will make that.


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



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

* Re: Copying a list for insertion
  2022-10-21 19:26     ` Heime
  2022-10-21 20:32       ` Jean Louis
@ 2022-10-21 22:00       ` Heime
  2022-10-22  0:28         ` Jean Louis
  1 sibling, 1 reply; 24+ messages in thread
From: Heime @ 2022-10-21 22:00 UTC (permalink / raw)
  To: Heime; +Cc: Jean Louis, Heime via Users list for the GNU Emacs text editor

------- Original Message -------
On Friday, October 21st, 2022 at 7:26 PM, Heime <heimeborgia@protonmail.com> wrote:


> ------- Original Message -------
> On Friday, October 21st, 2022 at 4:12 PM, Heime heimeborgia@protonmail.com wrote:
> 
> 
> 
> > ------- Original Message -------
> > On Friday, October 21st, 2022 at 3:57 PM, Jean Louis bugs@gnu.support wrote:
> > 
> > > * Heime via Users list for the GNU Emacs text editor help-gnu-emacs@gnu.org [2022-10-21 17:18]:
> > > 
> > > > I am printing a list named "cunex" in the messages buffer. I would also like to store what is printed so I can insert
> > > > the contents somewhere else, without having to go to the "Messages" buffer to copy it.
> > > > 
> > > > (message "%s" cunex)
> > > 
> > > I use this function:
> > > 
> > > (defun rcd-kill-new (kill)
> > > (cond ((stringp kill) (progn
> > > (kill-new kill)
> > > (rcd-message "Killed: %s" kill)))
> > > (t (rcd-message "😧 WARNING: Nothing to kill."))))
> > > 
> > > You may change `rcd-message' to message.
> > > 
> > > If you wish to kill the list, then you need to do something like:
> > > 
> > > (kill-new (prin1-to-string '(1 2 3 "My" "List" 10 20))) ⇒ t
> > > 
> > > Then you do C-y:
> > > 
> > > (1 2 3 "My" "List" 10 20)

Any reason why you use "progn" in the "stringp" condition?



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

* Re: Copying a list for insertion
  2022-10-21 22:00       ` Heime
@ 2022-10-22  0:28         ` Jean Louis
  2022-10-22  0:48           ` Emanuel Berg
                             ` (2 more replies)
  0 siblings, 3 replies; 24+ messages in thread
From: Jean Louis @ 2022-10-22  0:28 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor

* Heime <heimeborgia@protonmail.com> [2022-10-22 02:06]:
> Any reason why you use "progn" in the "stringp" condition?

(defun rcd-kill-new (kill)
  (cond ((stringp kill) (progn 
			  (kill-new kill)
			  (rcd-message "Killed: %s" kill)))
	 (t (rcd-message "😧 WARNING: Nothing to kill."))))

I use it to enclose two functions in one body of functions as `cond'
does not allow me to use 2 functions for one condition without
enclosing.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



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

* Re: Copying a list for insertion
  2022-10-22  0:28         ` Jean Louis
@ 2022-10-22  0:48           ` Emanuel Berg
  2022-10-22 11:23             ` Jean Louis
  2022-10-22  1:02           ` Heime
  2022-10-22  1:04           ` Emanuel Berg
  2 siblings, 1 reply; 24+ messages in thread
From: Emanuel Berg @ 2022-10-22  0:48 UTC (permalink / raw)
  To: help-gnu-emacs

Jean Louis wrote:

>> Any reason why you use "progn" in the "stringp" condition?
>
> (defun rcd-kill-new (kill)
>   (cond ((stringp kill) (progn 
> 			  (kill-new kill)
> 			  (rcd-message "Killed: %s" kill)))
> 	 (t (rcd-message "😧 WARNING: Nothing to kill."))))
>
> I use it to enclose two functions in one body of functions
> as `cond' does not allow me to use 2 functions for one
> condition without enclosing.

(if (not (stringp str)) ... )

You can also do

  (let ((str (format "%s" data))) ...)

But as you know there is already `kill-new' ... `advice-add',
maybe that happens all the time tho so you don't want that?
I guess you'll find out. There is `advice-remove'.

-- 
underground experts united
https://dataswamp.org/~incal




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

* Re: Copying a list for insertion
  2022-10-22  0:28         ` Jean Louis
  2022-10-22  0:48           ` Emanuel Berg
@ 2022-10-22  1:02           ` Heime
  2022-10-22  1:20             ` Emanuel Berg
  2022-10-22  6:43             ` Jean Louis
  2022-10-22  1:04           ` Emanuel Berg
  2 siblings, 2 replies; 24+ messages in thread
From: Heime @ 2022-10-22  1:02 UTC (permalink / raw)
  To: Jean Louis; +Cc: Heime via Users list for the GNU Emacs text editor






Sent with Proton Mail secure email.

------- Original Message -------
On Saturday, October 22nd, 2022 at 12:28 AM, Jean Louis <bugs@gnu.support> wrote:


> * Heime heimeborgia@protonmail.com [2022-10-22 02:06]:
> 
> > Any reason why you use "progn" in the "stringp" condition?
> 
> 
> (defun rcd-kill-new (kill)
> (cond ((stringp kill) (progn
> (kill-new kill)
> (rcd-message "Killed: %s" kill)))
> (t (rcd-message "😧 WARNING: Nothing to kill."))))
> 
> I use it to enclose two functions in one body of functions as `cond'
> does not allow me to use 2 functions for one condition without
> enclosing.

"cond" allows multiple body-forms in one clause.  Thusly no need for "progn".





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

* Re: Copying a list for insertion
  2022-10-22  0:28         ` Jean Louis
  2022-10-22  0:48           ` Emanuel Berg
  2022-10-22  1:02           ` Heime
@ 2022-10-22  1:04           ` Emanuel Berg
  2022-10-22 11:34             ` Jean Louis
  2 siblings, 1 reply; 24+ messages in thread
From: Emanuel Berg @ 2022-10-22  1:04 UTC (permalink / raw)
  To: help-gnu-emacs

Jean Louis wrote:

> (defun rcd-kill-new (kill)
>   (cond ((stringp kill) (progn 
> 			  (kill-new kill)
> 			  (rcd-message "Killed: %s" kill)))
> 	 (t (rcd-message "😧 WARNING: Nothing to kill."))))

;; (advice-add    #'kill-new :after (lambda (&rest str) (message "%s" str)))
;; (advice-remove #'kill-new        (lambda (&rest str) (message "%s" str)))

But it doesn't make sense since you see it before you kill it
anyway ...

-- 
underground experts united
https://dataswamp.org/~incal




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

* Re: Copying a list for insertion
  2022-10-22  1:02           ` Heime
@ 2022-10-22  1:20             ` Emanuel Berg
  2022-10-22  6:43             ` Jean Louis
  1 sibling, 0 replies; 24+ messages in thread
From: Emanuel Berg @ 2022-10-22  1:20 UTC (permalink / raw)
  To: help-gnu-emacs

Heime wrote:

>> I use it to enclose two functions in one body of functions
>> as `cond' does not allow me to use 2 functions for one
>> condition without enclosing.
>
> "cond" allows multiple body-forms in one clause. Thusly no
> need for "progn".

Nor for `cond' ...

-- 
underground experts united
https://dataswamp.org/~incal




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

* Re: Copying a list for insertion
  2022-10-22  1:02           ` Heime
  2022-10-22  1:20             ` Emanuel Berg
@ 2022-10-22  6:43             ` Jean Louis
  2022-10-22  6:52               ` Heime
  2022-10-22  7:07               ` tomas
  1 sibling, 2 replies; 24+ messages in thread
From: Jean Louis @ 2022-10-22  6:43 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor

* Heime <heimeborgia@protonmail.com> [2022-10-22 04:03]:
> > * Heime heimeborgia@protonmail.com [2022-10-22 02:06]:
> > 
> > > Any reason why you use "progn" in the "stringp" condition?
> > 
> > 
> > (defun rcd-kill-new (kill)
> > (cond ((stringp kill) (progn
> > (kill-new kill)
> > (rcd-message "Killed: %s" kill)))
> > (t (rcd-message "😧 WARNING: Nothing to kill."))))
> > 
> > I use it to enclose two functions in one body of functions as `cond'
> > does not allow me to use 2 functions for one condition without
> > enclosing.
> 
> "cond" allows multiple body-forms in one clause.  Thusly no need for "progn".

Show me how please. I do not understand it.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



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

* Re: Copying a list for insertion
  2022-10-22  6:43             ` Jean Louis
@ 2022-10-22  6:52               ` Heime
  2022-10-22 10:09                 ` Jean Louis
  2022-10-22  7:07               ` tomas
  1 sibling, 1 reply; 24+ messages in thread
From: Heime @ 2022-10-22  6:52 UTC (permalink / raw)
  To: Jean Louis; +Cc: Heime via Users list for the GNU Emacs text editor

------- Original Message -------
On Saturday, October 22nd, 2022 at 6:43 AM, Jean Louis <bugs@gnu.support> wrote:


> * Heime heimeborgia@protonmail.com [2022-10-22 04:03]:
> 
> > > * Heime heimeborgia@protonmail.com [2022-10-22 02:06]:
> > > 
> > > > Any reason why you use "progn" in the "stringp" condition?
> > > 
> > > (defun rcd-kill-new (kill)
> > > (cond ((stringp kill) (progn
> > > (kill-new kill)
> > > (rcd-message "Killed: %s" kill)))
> > > (t (rcd-message "😧 WARNING: Nothing to kill."))))
> > > 
> > > I use it to enclose two functions in one body of functions as `cond'
> > > does not allow me to use 2 functions for one condition without
> > > enclosing.
> > 
> > "cond" allows multiple body-forms in one clause. Thusly no need for "progn".
> 
> 
> Show me how please. I do not understand it.

(defun rcd-kill-new (kill)

(cond ((stringp kill)

      (kill-new kill)
      (rcd-message "Killed: %s" kill))

(t (rcd-message "😧 WARNING: Nothing to kill."))))



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

* Re: Copying a list for insertion
  2022-10-22  6:43             ` Jean Louis
  2022-10-22  6:52               ` Heime
@ 2022-10-22  7:07               ` tomas
  1 sibling, 0 replies; 24+ messages in thread
From: tomas @ 2022-10-22  7:07 UTC (permalink / raw)
  To: help-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 749 bytes --]

On Sat, Oct 22, 2022 at 09:43:31AM +0300, Jean Louis wrote:
> * Heime <heimeborgia@protonmail.com> [2022-10-22 04:03]:

[...]

> > "cond" allows multiple body-forms in one clause.  Thusly no need for "progn".
> 
> Show me how please. I do not understand it.

Heime is right:

  (defun do-something (arg)
    (cond
     ((eq arg 'this)
      (message "yes, this")
      (message "did I say this?")
      (message "yes, I said"))
     ((eq arg 'that)
      (message "what was that?")
      (message "this example gets boring"))
     (t
      (message "what?"))))
  
  (do-something 'this)

Besides, the doco says that a clause returns its last espression's
value, so it does behave like many little progn.

Cheers
-- 
t

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

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

* Re: Copying a list for insertion
  2022-10-22  6:52               ` Heime
@ 2022-10-22 10:09                 ` Jean Louis
  0 siblings, 0 replies; 24+ messages in thread
From: Jean Louis @ 2022-10-22 10:09 UTC (permalink / raw)
  To: Heime; +Cc: Heime via Users list for the GNU Emacs text editor

* Heime <heimeborgia@protonmail.com> [2022-10-22 10:30]:
> > Show me how please. I do not understand it.

> (defun rcd-kill-new (kill)
> 
> (cond ((stringp kill)
> 
>       (kill-new kill)
>       (rcd-message "Killed: %s" kill))
> 
> (t (rcd-message "😧 WARNING: Nothing to kill."))))

I had no idea that it works that way, alright, thanks.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



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

* Re: Copying a list for insertion
  2022-10-22  0:48           ` Emanuel Berg
@ 2022-10-22 11:23             ` Jean Louis
  2022-10-24 20:58               ` Emanuel Berg
  0 siblings, 1 reply; 24+ messages in thread
From: Jean Louis @ 2022-10-22 11:23 UTC (permalink / raw)
  To: help-gnu-emacs

* Emanuel Berg <incal@dataswamp.org> [2022-10-22 14:08]:
> Jean Louis wrote:
> 
> >> Any reason why you use "progn" in the "stringp" condition?
> >
> > (defun rcd-kill-new (kill)
> >   (cond ((stringp kill) (progn 
> > 			  (kill-new kill)
> > 			  (rcd-message "Killed: %s" kill)))
> > 	 (t (rcd-message "😧 WARNING: Nothing to kill."))))
> >
> > I use it to enclose two functions in one body of functions
> > as `cond' does not allow me to use 2 functions for one
> > condition without enclosing.
> 
> (if (not (stringp str)) ... )

`cond' gives me better overview and I often expand conditions in
future. Long term, `cond' is more flexible then `if'.

> You can also do
> 
>   (let ((str (format "%s" data))) ...)
> 
> But as you know there is already `kill-new' ... `advice-add',
> maybe that happens all the time tho so you don't want that?
> I guess you'll find out. There is `advice-remove'.

Aha, well, I can't use `message' as it does not give me specific
control over my messages. By changing all occurences of `message' to
my specific messaging function, I can then decide what to do with
those messages, for example, I can see them in separate buffer. They
also go in main message buffer, but I like having my separate
buffer. Then I can also choose different buffers for different
purposes, having the actual on the fly log for messages that is
specific to some package or program.

My messaging buffer looks like this:

2022-10-22-14:07:02 RCD DB: updated table `usersdefaults', column `usersdefaults_numberoflatestentries', ID: 1
2022-10-22-14:07:04 Fetching list of people
2022-10-22-14:07:04 Total of 1000 people
2022-10-22-14:08:14 RCD DB: updated table `people', column `people_hyobjects1', ID: 363293

I could as well direct my messages to file for later examination. But
if they are all mixed in one main *Messages* buffer, that is not
enough useful.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



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

* Re: Copying a list for insertion
  2022-10-22  1:04           ` Emanuel Berg
@ 2022-10-22 11:34             ` Jean Louis
  2022-10-24 20:57               ` Emanuel Berg
  0 siblings, 1 reply; 24+ messages in thread
From: Jean Louis @ 2022-10-22 11:34 UTC (permalink / raw)
  To: help-gnu-emacs

* Emanuel Berg <incal@dataswamp.org> [2022-10-22 14:17]:
> Jean Louis wrote:
> 
> > (defun rcd-kill-new (kill)
> >   (cond ((stringp kill) (progn 
> > 			  (kill-new kill)
> > 			  (rcd-message "Killed: %s" kill)))
> > 	 (t (rcd-message "😧 WARNING: Nothing to kill."))))
> 
> ;; (advice-add    #'kill-new :after (lambda (&rest str) (message "%s" str)))
> ;; (advice-remove #'kill-new        (lambda (&rest str) (message "%s" str)))

WYMINWYS - What you mean is not what you see.

Purpose of my function `rcd-kill-new' is not to send message what was
killed, but in general to be able to intercept information and
eventually record it, track it, or generate statistics out of it,
which in turn gives information how to shorten workflows or which new
functions to make. Imagine many programming lines, without direct
`kill-new' function and much of killing activity. Inspection of what
was killed leads to improvements.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

In support of Richard M. Stallman
https://stallmansupport.org/



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

* Re: Copying a list for insertion
  2022-10-22 11:34             ` Jean Louis
@ 2022-10-24 20:57               ` Emanuel Berg
  0 siblings, 0 replies; 24+ messages in thread
From: Emanuel Berg @ 2022-10-24 20:57 UTC (permalink / raw)
  To: help-gnu-emacs

Jean Louis wrote:

> Inspection of what was killed leads to improvements.

Sure, "Look guys, this time it worked!"

-- 
underground experts united
https://dataswamp.org/~incal




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

* Re: Copying a list for insertion
  2022-10-22 11:23             ` Jean Louis
@ 2022-10-24 20:58               ` Emanuel Berg
  0 siblings, 0 replies; 24+ messages in thread
From: Emanuel Berg @ 2022-10-24 20:58 UTC (permalink / raw)
  To: help-gnu-emacs

Jean Louis wrote:

> Aha, well, I can't use `message' as it does not give me
> specific control over my messages.

The word on the street is that messaging is an underpowered
area of Emacs ...

-- 
underground experts united
https://dataswamp.org/~incal




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

end of thread, other threads:[~2022-10-24 20:58 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-21 14:16 Copying a list for insertion Heime via Users list for the GNU Emacs text editor
2022-10-21 14:35 ` Manuel Giraud
2022-10-21 15:03   ` Heime
2022-10-21 15:46 ` Teemu Likonen
2022-10-21 15:57 ` Jean Louis
2022-10-21 16:12   ` Heime
2022-10-21 17:26     ` Heime
2022-10-21 17:32       ` Jean Louis
2022-10-21 19:26     ` Heime
2022-10-21 20:32       ` Jean Louis
2022-10-21 22:00       ` Heime
2022-10-22  0:28         ` Jean Louis
2022-10-22  0:48           ` Emanuel Berg
2022-10-22 11:23             ` Jean Louis
2022-10-24 20:58               ` Emanuel Berg
2022-10-22  1:02           ` Heime
2022-10-22  1:20             ` Emanuel Berg
2022-10-22  6:43             ` Jean Louis
2022-10-22  6:52               ` Heime
2022-10-22 10:09                 ` Jean Louis
2022-10-22  7:07               ` tomas
2022-10-22  1:04           ` Emanuel Berg
2022-10-22 11:34             ` Jean Louis
2022-10-24 20:57               ` Emanuel Berg

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