|--==> "JM" == Jeff Mincy <jeff(a)delphioutpost.com> writes:
JM> On Wed, 06 Mar 2002, youngs(a)xemacs.org wrote:
>And I think it would be better to "hide" these packages
completely,
>rather than just make them look like they're deleted. This wouldn't
>be too hard to do, just use the 'invisible' extent property.
JM> I tried using the invisible extent property.
JM> (if (eq (car (cdr disp)) 'invisible)
JM> (set-extent-property extent 'invisible t)
JM> ...)
JM> I got a blank line where each of the mule packages were.
JM> I got:
JM> edebug 1.14 An Emacs Lisp debugger.
JM> ediff 1.37 Interface over GNU patch.
JM> I don't particularly like blank line look, so then I figured out
JM> that the newline character at the end isn't in the extent.
JM> (setq e (progn
JM> (forward-line -1)
JM> (end-of-line)
JM> (forward-char-command 1) ;;<<<
JM> (point)))
JM> Ok, so no blank lines now. I don't think that change breaks anything.
Cool.
JM> Then doing
JM> (setq buffer-invisibility-spec (not buffer-invisibility-spec))
JM> Causes the boring invisible lines to become visible.
JM> Which is kind of cool. Maybe that can go on the 'b' key
Sounds good. Can it be made to toggle?
JM> +(defcustom pui-uninteresting-package-face 'italic
>This is fine. But it won't be needed if you make these
packages invisible.
JM> Well, now hold on there. I think you want both, a way to change the
JM> face and to make the package line invisible.
I don't think so.
JM> I think you also want this choice for the other package-face possibilities.
JM> In particular make packages that are up to date invisible. (Ie don't
JM> bug me about the things that I don't have to do)
No. Don't do this. People use 'pui-list-packages' to see which
packages they have installed. That would be pretty hard if every
package that they had that was up to date was invisible.
JM> +(defvar pui-uninteresting-packages
>This needs to be a 'defcustom' and it should probably
default to
>'nil'. Also the doc string needs to be expanded upon. The way I see
>it looking would be something like this (untested, may not be
>correct)...
JM> Yea, ok. I think you have an extra set of parens around the all
JM> mule choice.
Probably.
JM> version))
JM> (list " " pui-up-to-date-package-face)
JM> (list "*" pui-outdated-package-face)))
JM> - (list "-" pui-uninstalled-package-face))
JM> - ))
JM> + (list "-" (if (memq pkg-sym pui-uninteresting-packages)
JM> + pui-uninteresting-package-face
JM> + pui-uninstalled-package-face)))))
>
>Not needed if we're hiding instead of fontifying.
JM> The change here for pui-up-to-date-package-face depends on what your
JM> definition of boring is and where you want to plug this feature in at.
JM> My definition of boring is packages that are not installed and that I
JM> never want to install (ie mule). Packages that are installed, but out
JM> of date are by my definition *not* boring.
My definition of a boring package is any package that I decide that I
don't ever want to see in the *packages* buffer. Providing that
package *isn't* installed.
The code should check to see if it is an installed package and if it
is the package can't be boring.
JM> Intercepting at pui-package-symbol-char is an easy way to implement
JM> my particular definition, and also allows you to make up-to-date
JM> packages invisible.
The more I think about it, the more I'm convinced that this is *not*
good.
>Jeff, will you be able to submit a patch along these lines, or
should
>I put it on my todo list? The more I think about this idea, the more
>I like it. :-)
JM> I can probably handle it, but if you want to make some changes along
JM> the same line, feel free...
Great. Looking forward to seeing the patch. There's no rush so
please don't feel pressured. :-)
--
|---<Steve Youngs>---------------<GnuPG KeyID: 10D5C9C5>---|
| XEmacs - It's not just an editor. |
| It's a way of life. |
|------------------------------------<youngs(a)xemacs.org>---|