unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Any disadvantages of using put/get instead of defvar?
@ 2014-02-20 17:04 Oleh
  2014-02-20 22:24 ` Tassilo Horn
  0 siblings, 1 reply; 14+ messages in thread
From: Oleh @ 2014-02-20 17:04 UTC (permalink / raw)
  To: help-gnu-emacs

Hi all,

I've asked this question on stack overflow and it was suggested that I
ask it here as well.

The situation is that I have a function that uses one global variable.
It's for sure that no other function will want this variable.
In an effort to have all code in one place I want to move from:

    (defvar bar-foo 1)

    ;; bunch of other code

    (defun bar ()
      ;; use bar-foo here
      )

to:


    (defun bar ()
      (let ((foo (or (get 'bar 'foo) 1)))
        ;; use foo here
        ))

So the advantage is that I can move and rename the function
without worry that the function/variable coupling will break,
because now everything is inside one function.

I realize that the variable can still be accessed from outside, but
that doesn't matter much.

One disadvantage listed in the responses was that now the variable
can't be buffer-local any more.

Any other disadvantages to this method?

regards,
Oleh



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

end of thread, other threads:[~2014-02-21 14:41 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-20 17:04 Any disadvantages of using put/get instead of defvar? Oleh
2014-02-20 22:24 ` Tassilo Horn
2014-02-21  1:40   ` Stefan Monnier
2014-02-21 10:29     ` Nicolas Richard
2014-02-21 13:57       ` Stefan Monnier
2014-02-21 11:49     ` Tassilo Horn
2014-02-21 14:41       ` Stefan Monnier
2014-02-21  9:12   ` Oleh
2014-02-21  9:39     ` Tassilo Horn
2014-02-21  9:44       ` Oleh
2014-02-21  9:51       ` Andreas Röhler
2014-02-21  9:56         ` Sebastian Wiesner
2014-02-21 11:56         ` Tassilo Horn
     [not found]         ` <mailman.15678.1392983787.10748.help-gnu-emacs@gnu.org>
2014-02-21 13:45           ` Helmut Eller

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