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

Default editor/pager



We've been round this several times, with lots of discussion, but I
think it's time to do it again and hopefully get resolution.

1. Requirements:

1.1. Users of programs like man and trn and so forth should get the
     best editor or pager available by default.

1.2. All applications which invoke editors and pagers should be properly
     affected by EDITOR and PAGER.

1.3. vipw and vigr should invoke vi by default, if available and
     EDITOR is not set.

2. Observations:

2.1. Almost all programs obey EDITOR and PAGER already - we just need
     a sensible compiled-in default.

2.2. Programs which do not obey EDITOR and PAGER can be fixed, or if
     this is hard they can be pointed at script(s) which do obey these
     variables.

2.3. We do not want to try to set EDITOR and PAGER conditionally in
     /etc/profile &c., both because the user's environment doesn't
     want to be cluttered and because this is hard to do for all
     shells.

3. Conclusions:

3.1. From 1.3 and 1.1 we can see that we need versions of vipw and
     vigr which call the best editor if available, rather than
     defaulting to vi.

3.2. From 2.1 and 2.3 we can see that we need new pathnames which can
     be compiled into programs as the best editor and pager.

4. Proposals:

4.1. There should be /usr/bin/editor and /usr/bin/pager, managed using
     update-alternatives, with some appropriate centrally-specified
     priorities.

4.2. there should be editpw and editgr which set EDITOR to
     editor if it is not already set and then call vipw or
     vigr.

4.3. vipw and vigr should call EDITOR or vi (from the PATH); if
     vi is not available they should prompt or fail, and suggest
     editpw or editgr.

4.4. There should be scripts /usr/share/sensible-editor and
     /usr/share/sensible-pager which invoke EDITOR or PAGER, or
     editor or pager if the environment variables are not set.

5. Implementation - phase 1, provision:

5.1. At least emacs, ae and nvi need to be changed so that they
     use update-alternatives to provide editor, and at least less
     and util-linux (containing more) need to provide pager.

5.2. base-files should be made to contain /usr/share/sensible/editor
     and /usr/share/sensible-pager.

6. Implementation - phase 2, use:

6.1. editpw and editgr need to be added to the passwd package,
     and vipw and vigr changed to use vi unless EDITOR is set.

6.2. All other programs which have ae as a default editor for when
     EDITOR is unset or more as a default pager for when PAGER is
     unset need to be changed to use editor or pager.

6.3. All programs which do not honour EDITOR or PAGER should be
     changed to call sensible-editor and sensible-pager.

Ian.


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: