emacs-devel
[Top][All Lists]
Advanced

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

Re: Finding packages to enable by default


From: Bozhidar Batsov
Subject: Re: Finding packages to enable by default
Date: Wed, 4 Dec 2013 18:08:57 +0200

On 4 December 2013 06:21, Andrew Hyatt <address@hidden> wrote:
This isn't the more scientific package usage measurements found elsewhere in this thread, but I asked on the Google+ Emacs community, and got a list of the following packages people thought should be enabled by default:

cua-mode
cua-selection-mode
column-number-mode
delete-selection-mode
desktop-save-mode
dired-x
global-linnum-mode
global-subword-mode
ido-mode
icomplete-mode
iswitchb-mode
recentf-mode
savehist-mode
saveplace
show-paren-mode
size-indication-mode
uniquify
which-function-mode
winner-mode

There's more, but the rest are variable settings, keybindings and misc functions that are useful. You can find all of it at https://plus.google.com/+AndrewHyatt/posts/RTguQsNobjg (may not work without _javascript_).



Based on my experience maintaining Prelude and perusing other popular configs (ESK, Emacs Live, etc) I'd say the following are good candidates:

* column-number-mode
* delete-selection-mode
* recentf-mode
* savehist-mode
* saveplace
* size-indication-mode
* show-paren-mode
* dired-x
* uniquify (which is already enabled anyways)

All of those are not particularly intrusive and it seems a lot of Emacs users are using them anyways.  I guess we should avoid enabling by default packages that are known to be problematic in some situations (like linum and which-function-mode) and packages that significantly alter the current default behaviour (like ido).

I also think we should consider replacing dabbrev-expand with hippie-expand (just rebind `M-/`).
 

On Tue, Dec 3, 2013 at 11:09 PM, Stefan Monnier <address@hidden> wrote:
> I did some manual filtering as a test and here are some of the top packages
> which remained:

> (ido . 137)
> (uniquify . 136)
> (imenu . 114)
> (eldoc . 113)
> (ispell . 107)
> (flyspell . 91)
> (recentf . 90)
> (saveplace . 77)
> (yasnippet . 75)
> (windmove . 70)
> (auto-complete . 66)
> (delsel . 64)
> (paredit . 49)
> (iswitchb . 46)
> (savehist . 43)
> (linum . 38)
> (icomplete . 34)
> (winner . 34)
> (hippie-exp . 32)
> (ibuffer . 29)
> ...

Great, thanks.  `uniquify' is now enabled by default.
`ido' is rather problematic because it's a very different interface with
incompatible key-bindings and it is not a superset of the current
default completion UI.

> Ido is at the top (iswitchb is also here) and ido/isiwtchb would really
> make a much better first impression for new users than the default
> very barebone buffer switching.

Iswitchb is marked obsolete in the trunk: you can get the same
functionality with icomplete-mode.  So you can increase the count of
`icomplete-mode' for all users who have enabled iswitchb without
enabling icomplete-mode.

The plan for "ido by default" is rather to slowly make ido obsolete by
adding the corresponding functionality either in the default completion
UI or in icomplete-mode.
An alternative is to try and re-implement it on top of the current
completion UI.  To a large extent, it boils down to the same.

> Of course, this package measurement should be repeated with
> representative data, but even with the data acquired from bug reports
> it gives some ideas for packages which could be enabled by default.

Indeed.  But I think it can be a good starting point for discussions
about individual packages.


        Stefan





reply via email to

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