emacs-devel
[Top][All Lists]
Advanced

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

Re: Special Event: Davin reveals his own personal additions to Emacs.


From: Stefan Monnier
Subject: Re: Special Event: Davin reveals his own personal additions to Emacs.
Date: Wed, 13 Jul 2022 21:47:55 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

> I use debugging checkpoints every second line
> so the following code cannot be written:
>
> (defun foo ()
>    (progn
>       (progn
>          (zip)
>          (message "&apple:1")
>          (zap)
>          (message "&apple:2")
>          (boo)
>          (message "&apple:3")
>          (bum)
>          (message "&apple:4"))))

I do use separate lines for closing parens every once in a while, don't
get me wrong.  It's just an exception rather than a rule.
[ Note also that inserting/removing such `message` needs to be different
  for the last element in any case because it determines the return
  value.  ]

>> importantly:
>> - should use `with-current-buffer`.
>
> is that instead of (set-buffer buf)?

If you compile the code, the byte-compiler will give you a warning
suggesting to replace with-current-buffer for save-excursion + set-buffer.

>> - should not `setq` on a global variable that doesn't have an appropriate
>>   namespace prefix.
>>
> Do you mean the following is not allowed:
>
> (setq apple 'banana)
>
> but the following code is allowed:
>
> (setq dmp-apple 'banana)

Neither are recommended without first declaring that global variable
(since that's what it is: a global variable).
And global declarations need to use a proper namespace prefix.
Otherwise you're at risk of stepping on someone else's toes/variables.


        Stefan




reply via email to

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