From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Bozhidar Batsov Newsgroups: gmane.emacs.devel Subject: Re: Finding packages to enable by default Date: Wed, 4 Dec 2013 18:08:57 +0200 Message-ID: References: <8761ra7uq3.fsf@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=047d7b41ccf86571b404ecb7a199 X-Trace: ger.gmane.org 1386173348 23615 80.91.229.3 (4 Dec 2013 16:09:08 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 4 Dec 2013 16:09:08 +0000 (UTC) Cc: emacs-devel , Stefan Monnier , Tom To: Andrew Hyatt Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 04 17:09:13 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VoF0h-0002Ou-Tf for ged-emacs-devel@m.gmane.org; Wed, 04 Dec 2013 17:09:12 +0100 Original-Received: from localhost ([::1]:49094 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoF0h-0000ps-70 for ged-emacs-devel@m.gmane.org; Wed, 04 Dec 2013 11:09:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52606) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoF0W-0000pd-Oj for emacs-devel@gnu.org; Wed, 04 Dec 2013 11:09:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VoF0V-00009w-0h for emacs-devel@gnu.org; Wed, 04 Dec 2013 11:09:00 -0500 Original-Received: from mail-oa0-x232.google.com ([2607:f8b0:4003:c02::232]:40130) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VoF0U-00009n-Pa for emacs-devel@gnu.org; Wed, 04 Dec 2013 11:08:58 -0500 Original-Received: by mail-oa0-f50.google.com with SMTP id n16so16856693oag.37 for ; Wed, 04 Dec 2013 08:08:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=6KlvIJm2HOUaphWa5S4cHZR1/wRXNaiC0prXM4NO81I=; b=prfJ9qXSwnjEQIP4YhyMb61W5GlAE2MOWGrjY3naED/9sVx+zOpdpIPRZokmpiePfK 141D+T6iIZBrPO9bPS9qz90QTkBgp7L+iKLIfp5CBipMUk08zS0T2FBH4RJQe9Mko1q1 c/LxYb9Cyvd1jwCjckppwUZpX4VLKw0/ha28Fcm8yvkd0jWmQsFNfTwcWR0ny2XlVt4K ucfvaBpNUxavKJcCCbIJQBQEgwlvWpKXpPIgHqiQfEwkDv7Nn/jeX3RLI5aVouQSfnji CfFPBTIoIMnniMQSoQ+Ja0INMbHlMMEHp5RcVtKgWtp2EXIsJqvcN4gb7mtMVSS97nfr Ncww== X-Received: by 10.60.138.136 with SMTP id qq8mr1958645oeb.59.1386173337790; Wed, 04 Dec 2013 08:08:57 -0800 (PST) Original-Received: by 10.76.130.103 with HTTP; Wed, 4 Dec 2013 08:08:57 -0800 (PST) In-Reply-To: X-Google-Sender-Auth: tE6aKnjfEBA6CGwCwdxgRI5koHc X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4003:c02::232 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:166082 Archived-At: --047d7b41ccf86571b404ecb7a199 Content-Type: text/plain; charset=UTF-8 On 4 December 2013 06:21, Andrew Hyatt 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 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 >> >> >> > --047d7b41ccf86571b404ecb7a199 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On 4 December 2013 06:21, Andrew Hyatt &= lt;ahyatt@gmail.com> wrote:


Based on my experien= ce 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
* rec= entf-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 a= re using them anyways. =C2=A0I guess we should avoid enabling by default pa= ckages that are known to be problematic in some situations (like linum and = which-function-mode) and packages that significantly alter the current defa= ult behaviour (like ido).

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

On Tue, Dec 3, 2013 at 11:09 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> I did some manual filtering as a test and here are some of the to= p 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. =C2=A0`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 reall= y
> 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. =C2=A0So 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 obsole= te 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. =C2=A0To 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<= br> > it gives some ideas for packages which could be enabled by default.
Indeed. =C2=A0But I think it can be a good starting point for discuss= ions
about individual packages.


=C2=A0 =C2=A0 =C2=A0 =C2=A0 Stefan




--047d7b41ccf86571b404ecb7a199--