all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Re: [Emacs-diffs] master 1fcc552: lisp/gnus/registry.el (registry-prune): Allow registry to reach full size before pruning
       [not found] ` <E1YYuUz-0005J8-GO@vcs.savannah.gnu.org>
@ 2015-03-20 14:35   ` Stefan Monnier
  2015-03-21  1:32     ` Eric Abrahamsen
  2015-04-18 10:51     ` Ted Zlatanov
  0 siblings, 2 replies; 7+ messages in thread
From: Stefan Monnier @ 2015-03-20 14:35 UTC (permalink / raw)
  To: emacs-devel; +Cc: Eric Abrahamsen

> +    (if (> size (oref db :max-size))

Why do people use the :initarg rather than the slot name?

   (oref db max-size)

works as well (actually better: it's implemented more efficiently).


        Stefan



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

* Re: [Emacs-diffs] master 1fcc552: lisp/gnus/registry.el (registry-prune): Allow registry to reach full size before pruning
  2015-03-20 14:35   ` [Emacs-diffs] master 1fcc552: lisp/gnus/registry.el (registry-prune): Allow registry to reach full size before pruning Stefan Monnier
@ 2015-03-21  1:32     ` Eric Abrahamsen
  2015-03-21  2:46       ` Stefan Monnier
  2015-04-18 10:51     ` Ted Zlatanov
  1 sibling, 1 reply; 7+ messages in thread
From: Eric Abrahamsen @ 2015-03-21  1:32 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>> +    (if (> size (oref db :max-size))
>
> Why do people use the :initarg rather than the slot name?
>
>    (oref db max-size)
>
> works as well (actually better: it's implemented more efficiently).

Because we didn't know any better! For some value of "us"...

I saw your recent patch to the registry files, but you only changed
*some* of the calls to oref/oset to use slot names. That was confusing.
I can change the rest of them over, if that's desirable.




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

* Re: [Emacs-diffs] master 1fcc552: lisp/gnus/registry.el (registry-prune): Allow registry to reach full size before pruning
  2015-03-21  1:32     ` Eric Abrahamsen
@ 2015-03-21  2:46       ` Stefan Monnier
  2015-03-21 14:12         ` Eric Abrahamsen
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2015-03-21  2:46 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: emacs-devel

> I saw your recent patch to the registry files, but you only changed
> *some* of the calls to oref/oset to use slot names. That was confusing.

I have a local change which signals an error when such an `oref' is
executed (but not when it's compiled).  So I only bump into some
of them.

> I can change the rest of them over, if that's desirable.

Yes, I hope you (or other people) can take it from there.


        Stefan



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

* Re: [Emacs-diffs] master 1fcc552: lisp/gnus/registry.el (registry-prune): Allow registry to reach full size before pruning
  2015-03-21  2:46       ` Stefan Monnier
@ 2015-03-21 14:12         ` Eric Abrahamsen
  0 siblings, 0 replies; 7+ messages in thread
From: Eric Abrahamsen @ 2015-03-21 14:12 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

>> I saw your recent patch to the registry files, but you only changed
>> *some* of the calls to oref/oset to use slot names. That was confusing.
>
> I have a local change which signals an error when such an `oref' is
> executed (but not when it's compiled).  So I only bump into some
> of them.
>
>> I can change the rest of them over, if that's desirable.
>
> Yes, I hope you (or other people) can take it from there.

Done!




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

* Re: [Emacs-diffs] master 1fcc552: lisp/gnus/registry.el (registry-prune): Allow registry to reach full size before pruning
  2015-03-20 14:35   ` [Emacs-diffs] master 1fcc552: lisp/gnus/registry.el (registry-prune): Allow registry to reach full size before pruning Stefan Monnier
  2015-03-21  1:32     ` Eric Abrahamsen
@ 2015-04-18 10:51     ` Ted Zlatanov
  2015-04-18 14:20       ` Stefan Monnier
  1 sibling, 1 reply; 7+ messages in thread
From: Ted Zlatanov @ 2015-04-18 10:51 UTC (permalink / raw)
  To: emacs-devel

On Fri, 20 Mar 2015 10:35:59 -0400 Stefan Monnier <monnier@IRO.UMontreal.CA> wrote: 

>> +    (if (> size (oref db :max-size))
SM> Why do people use the :initarg rather than the slot name?

SM>    (oref db max-size)

SM> works as well (actually better: it's implemented more efficiently).

I used it because I found it in a manual.  But I can't recall which
manual and when, it's been a while.  AND IT WORKED DAMMIT! :)

If initargs are to be avoided, maybe a compilation warning there would
be appropriate?[1]

Ted

[1] this is where you tell me one has been in place since 1992 :)




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

* Re: [Emacs-diffs] master 1fcc552: lisp/gnus/registry.el (registry-prune): Allow registry to reach full size before pruning
  2015-04-18 10:51     ` Ted Zlatanov
@ 2015-04-18 14:20       ` Stefan Monnier
  2015-04-18 14:34         ` Ted Zlatanov
  0 siblings, 1 reply; 7+ messages in thread
From: Stefan Monnier @ 2015-04-18 14:20 UTC (permalink / raw)
  To: emacs-devel

> If initargs are to be avoided, maybe a compilation warning there would
> be appropriate?[1]

Agreed.  I haven't implemented one yet, but it's crossed my mind, yes.
The main problem is that in (oref a b), the compiler has no idea what is
the possible class(es) of `a', so it can't look up that class to see if
`b' is an initarg.

What I'm thinking of doing is keeping track of all known slot names and
all known initarg names, and if `b' is an initarg name but not a slot
name, then emit the warning.  This should work OK in practice since
initargs tend to all be keywords, where slot names tend to all be
non-keyword symbols.


        Stefan



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

* Re: [Emacs-diffs] master 1fcc552: lisp/gnus/registry.el (registry-prune): Allow registry to reach full size before pruning
  2015-04-18 14:20       ` Stefan Monnier
@ 2015-04-18 14:34         ` Ted Zlatanov
  0 siblings, 0 replies; 7+ messages in thread
From: Ted Zlatanov @ 2015-04-18 14:34 UTC (permalink / raw)
  To: emacs-devel

On Sat, 18 Apr 2015 10:20:30 -0400 Stefan Monnier <monnier@IRO.UMontreal.CA> wrote: 

>> If initargs are to be avoided, maybe a compilation warning there would
>> be appropriate?[1]

SM> Agreed.  I haven't implemented one yet, but it's crossed my mind, yes.
SM> The main problem is that in (oref a b), the compiler has no idea what is
SM> the possible class(es) of `a', so it can't look up that class to see if
SM> `b' is an initarg.

SM> What I'm thinking of doing is keeping track of all known slot names and
SM> all known initarg names, and if `b' is an initarg name but not a slot
SM> name, then emit the warning.  This should work OK in practice since
SM> initargs tend to all be keywords, where slot names tend to all be
SM> non-keyword symbols.

That would work for me as a user, but I fear it will be pretty hard to
implement.

Ted




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

end of thread, other threads:[~2015-04-18 14:34 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20150320104953.20367.194@vcs.savannah.gnu.org>
     [not found] ` <E1YYuUz-0005J8-GO@vcs.savannah.gnu.org>
2015-03-20 14:35   ` [Emacs-diffs] master 1fcc552: lisp/gnus/registry.el (registry-prune): Allow registry to reach full size before pruning Stefan Monnier
2015-03-21  1:32     ` Eric Abrahamsen
2015-03-21  2:46       ` Stefan Monnier
2015-03-21 14:12         ` Eric Abrahamsen
2015-04-18 10:51     ` Ted Zlatanov
2015-04-18 14:20       ` Stefan Monnier
2015-04-18 14:34         ` Ted Zlatanov

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.