emacs-devel
[Top][All Lists]
Advanced

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

Re: [Emacs-diffs] master 75d9a55: Fix bug 32543


From: Tino Calancha
Subject: Re: [Emacs-diffs] master 75d9a55: Fix bug 32543
Date: Wed, 19 Sep 2018 07:03:28 +0900 (JST)
User-agent: Alpine 2.20 (DEB 67 2015-01-07)



On Tue, 18 Sep 2018, Stefan Monnier wrote:

- why store this info in text-properties rather than in
  buffer-local variables?
I realized the buffer was already saved there with property
`occur-title'; I didn't wanted to scatter around related info.

Hmmm... do you happen to have some intuition about why the buffer was
saved in a text-property rather than in a buffer-local var?
It's a really odd choice (less efficient, more work for the coder, with
various side-problems like "on which char should I put it", etc...).
I think the favourite answer of my ex-boss fits well here:
For historical reasons.
[ Also, why is it saved under a name like `occur-title` rather
 than, say `occur-buffer`?  ]
Ditto.

+      (with-current-buffer buffer
+        (when (wholenump orig-line)
+          (goto-char 1)

I'd recommend `point-min` instead of 1 here.
OK.  I always remember the discussion at
https://lists.gnu.org/archive/html/emacs-devel/2009-08/msg00520.html
but I forgot which was the encouraged practice there: in these cases
I follow the 50% rule to reject 0% success ratio (I know, it brings
50% failure ratio: life is full of injustice).

I just always recommend `point-min`.  Hard-coded constants are always
weird in source code, whereas `point-min` clearly says what this
constant is (and in terms of efficiency, it's a wash, or `point-min`
might even be marginally more efficient).
I have a private library to autocomplete `point-min' (not just that!);
I just type
(pmin) <Super> a
and I get
(point-min)

During prototyping I sometimes write things like:
(goto-char 1)

I replace those `1' with `point-min' once I get
something ready.  I forgot this time.



reply via email to

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