summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2007-03-30 18:46:32 +0000
committerUlrich Müller <ulm@gentoo.org>2007-03-30 18:46:32 +0000
commit4feb353816d8fe6b48bfd22f814072e4ed8aa47b (patch)
treec0d9b8bc9088608a69fc75086859b2f6f9493251
parentSpelling corrections in man page; copyright notice added. (diff)
downloademacs-tools-4feb353816d8fe6b48bfd22f814072e4ed8aa47b.tar.gz
emacs-tools-4feb353816d8fe6b48bfd22f814072e4ed8aa47b.tar.bz2
emacs-tools-4feb353816d8fe6b48bfd22f814072e4ed8aa47b.zip
Desktop and icon files moved to emacs-desktop.emacs-desktop-0.1
svn path=/emacs-extra/emacs-desktop/; revision=197
-rw-r--r--ChangeLog65
-rw-r--r--emacs.eselect226
-rw-r--r--emacs.eselect.568
3 files changed, 2 insertions, 357 deletions
diff --git a/ChangeLog b/ChangeLog
index 9b1318d..1a5a4a4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,63 +1,2 @@
-Version 0.1 (15 Mar 2007)
- based on Vi's eselect module
- has actions:
- show: currently used implementation
- set: set a specific version to be symlinked from
- /usr/bin/emacs
- update: set the highest version automatically
- list: list available implementations
- automatically symlink all needed executables
- automatically symlink man pages
- automatically set correct INFOPATH
- 16 Mar 2007
- Remove man symlinks with all possible compress extensions.
- Honour ${ROOT} in set_man_symlinks.
- Don't test for -z ${extension} since the empty string
- is a legal value (meaning no compression).
- We don't have "providers" but versions.
- Create symlinks for existing binaries only.
- Added gfdl to MANPAGELIST.
- Use MANPAGELIST instead of BINARYLIST for manpage removal.
- 17 Mar 2007
- do_update() now updates to the newest available version.
- Cleanup env.d file in do_update().
-Version 0.2 (18 Mar 2007)
- 18 Mar 2007
- If Emacs was not found, link {c,e}tags to XEmacs versions.
- Suffix changed from ".emacs-${SLOT}" to "-emacs-${SLOT}".
- Removal of man page symlinks in remove_symlinks() simplified.
- 19 Mar 2007
- Use emacs-${SLOT} instead of emacs-emacs-${SLOT} as symlink target.
- Test if Info directory exists.
-Version 0.3 (19 Mar 2007)
- Make linking to XEmacs auxiliary programs really work.
- 21 Mar 2007
- Some cleanup.
- Set Type=Application only in desktop file.
- Added two alternative icons (not used yet):
- emacs_48.png is from etc/images/icons of the Emacs sources,
- gnured_48.png is based on an image taken from
- http://www.ee.ryerson.ca/~elf/emacs/logo/ and scaled down.
- 22 Mar 2207
- Handling of compression extensions made more robust.
-Version 0.4 (22 Mar 2007)
- Added some comments to emacs.eselect.
- 23 Mar 2007
- MimeType and TryExec keys added to emacs.desktop.
- Desktop file for emacsclient.
-Version 0.5 (24 Mar 2007)
- Removed -n option in emacsclient.desktop.
- 27 Mar 2007
- Call env.eselect to update the environment from env.d files.
- Brought do_set and do_update more in line.
- Check for root in do_set and do_update.
- env.eselect seems to be buggy; use env-update instead.
- Redundant remove_symlinks removed.
-Version 0.6 (28 Mar 2007)
- 28 Mar 2007
- Undo previous change.
- Added man page.
-Version 0.7 (29 Mar 2007)
- Svn keywords activated.
- Fixed typo and capitalised "Emacs" where appropriate.
- Added copyright notice.
+Version 0.1 (30 Mar 2007)
+ Split off from eselect-emacs.
diff --git a/emacs.eselect b/emacs.eselect
deleted file mode 100644
index 084461e..0000000
--- a/emacs.eselect
+++ /dev/null
@@ -1,226 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# DOCUMENTATION
-# Following actions possible
-# * show do_show()
-# * list do_list()
-# * set do_set()
-# * update do_update()
-#
-# Behaviour:
-# do_show():
-# Checks if /usr/bin/emacs is a link and if the target exists,
-# if yes, it outputs the currently linked Emacs version.
-# If it is no symlink, the user is told so, the same if there is
-# no /usr/bin/emacs or the target does not exist.
-# do_list():
-# do_set():
-# do_update():
-
-DESCRIPTION="Manage /usr/bin/emacs implementations"
-MAINTAINER="emacs@gentoo.org"
-SVN_DATE='$Date$'
-VERSION=$(svn_date_to_version "${SVN_DATE}" )
-
-BINARYLIST="emacsclient etags ctags b2m ebrowse rcs-checkin grep-changelog"
-MANPAGELIST="emacs emacsclient etags ctags gfdl"
-
-# Return the list of available Emacs binaries
-find_targets() {
- local j
- for j in ${ROOT}/usr/bin/emacs-[0-9]*; do
- [[ -f ${j} ]] && basename ${j}
- done
-}
-
-remove_infopath() {
- rm -f ${ROOT}/etc/env.d/50emacs
-}
-
-# Define INFOPATH environment variable in env file
-set_infopath() {
- [[ -d ${ROOT}/usr/share/info/${1} ]] || return 1
- echo "INFOPATH=/usr/share/info/${1}" >${ROOT}/etc/env.d/50emacs
-}
-
-# Remove existing symlinks to binaries, man pages, and the env file
-remove_symlinks() {
- local f
- rm -f "${ROOT}"/usr/bin/emacs
- for f in ${BINARYLIST}; do
- rm -f "${ROOT}"/usr/bin/${f}
- done
- for f in ${MANPAGELIST}; do
- rm -f "${ROOT}"/usr/share/man/man1/${f}.1*
- done
- remove_infopath
-}
-
-# Set symlinks to binaries in /usr/bin
-set_bin_symlinks() {
- local target=${1} f
- for f in ${BINARYLIST}; do
- # set symlink only if target binary actually exists
- if [[ -f "${ROOT}/usr/bin/${f}-${target}" ]]; then
- ln -s "${f}-${target}" "${ROOT}/usr/bin/${f}" ||
- die "Couldn't set ${f}-${target} /usr/bin/${f} symlink"
- fi
- done
-}
-
-# Set symlinks to man pages
-set_man_symlinks() {
- local target=${1} extension f i
- for f in ${MANPAGELIST}; do
- for i in ${ROOT}/usr/share/man/man1/${f}-${target}.1*; do
- if [[ -f ${i} ]]; then
- # target file exists; determine compress extension
- extension=${i##*/${f}-${target}.1}
- ln -s "${f}-${target}.1${extension}" \
- "${ROOT}/usr/share/man/man1/${f}.1${extension}"
- fi
- done
- done
-}
-
-# Set symlinks to binaries and man pages, update info path
-set_symlinks() {
- local target="${1}" targets
- # target may be specified by its name or its index
- if is_number "${target}" && [[ ${target} -ge 1 ]]; then
- # numeric index, find the target's name
- targets=( $(find_targets) )
- target=${targets[$(( ${target} - 1 ))]}
- fi
-
- # is the target valid, i.e. does an Emacs binary with this name exist?
- [[ -f "${ROOT}/usr/bin/${target}" ]] \
- || die -q "Target \"${1}\" doesn't appear to be valid!"
-
- echo "Switching to ${target}..."
- remove_symlinks
- # the main /usr/bin/emacs symlink is only set for Emacs binaries
- # (but not for other providers of auxiliary programs, e.g., XEmacs)
- if [[ ${target} == emacs-* ]]; then
- ln -s "${target}" "${ROOT}/usr/bin/emacs" \
- || die "Couldn't set ${target} /usr/bin/emacs symlink"
- fi
- set_bin_symlinks "${target}"
- set_man_symlinks "${target}"
- set_infopath "${target}"
-
- # update /etc/profile.env from /etc/env.d files
- #do_action env update >/dev/null
- env-update --no-ldconfig
-
- return 0
-}
-
-### show action ###
-
-describe_show() {
- echo "Show the current target of the Emacs symlink"
-}
-
-do_show() {
- [[ -z "${@}" ]] || die -q "Too many parameters"
-
- write_list_start "Current target of symlink:"
- if [[ -L "${ROOT}/usr/bin/emacs" && \
- -e $(canonicalise "${ROOT}/usr/bin/emacs") ]]; then
- write_kv_list_entry \
- "$(basename $(canonicalise ${ROOT}/usr/bin/emacs) )" ""
- elif [[ -e "${ROOT}/usr/bin/emacs" ]]; then
- write_kv_list_entry \
- "(not a symlink or target of symlink does not exist)" ""
- else
- write_kv_list_entry "(unset)" ""
- fi
-}
-
-### list action ###
-
-describe_list() {
- echo "List available Emacs symlink targets"
-}
-
-do_list() {
- [[ -z "${@}" ]] || die -q "Too many parameters"
-
- local i targets
- targets=( $(find_targets) )
-
- if [[ -n ${targets[@]} ]]; then
- for (( i = 0; i < ${#targets[@]}; i = i + 1 )); do
- [[ ${targets[${i}]} = \
- $(basename $(canonicalise ${ROOT}/usr/bin/emacs) ) ]] &&
- targets[${i}]="${targets[${i}]} $(highlight '*')"
- done
- write_list_start "Available Emacs symlink targets:"
- write_numbered_list "${targets[@]}"
- else
- write_kv_list_entry "(none found)" ""
- fi
-}
-
-### set action ###
-
-describe_set() {
- echo "Set a new Emacs symlink"
-}
-
-describe_set_options() {
- echo "target : Target name or number (from 'list' action)"
-}
-
-describe_set_parameters() {
- echo "<target>"
-}
-
-do_set() {
- [[ -z "${1}" ]] && die -q "You didn't tell me what to set the symlink to"
- [[ -n "${2}" ]] && die -q "Too many parameters"
- [[ -w "${ROOT}/usr/bin" ]] || die -q "You need to be root!"
-
- if [[ -L "${ROOT}/usr/bin/emacs" ]]; then
- remove_symlinks || die -q "Couldn't remove existing symlink"
- elif [[ -e "${ROOT}/usr/bin/emacs" ]]; then
- die -q "Sorry, ${ROOT}/usr/bin/emacs confuses me"
- fi
-
- set_symlinks "${1}" || die -q "Couldn't set a new symlink"
-}
-
-### update action ###
-
-describe_update() {
- echo "Automatically update the Emacs symlink"
-}
-
-describe_update_options() {
- echo "--if-unset : Do not override existing implementation"
-}
-
-do_update() {
- [[ -z "${1}" || ( -z "${2}" && "${1}" == "--if-unset" ) ]] ||
- die -q "Usage error"
- [[ -w "${ROOT}/usr/bin" ]] || die -q "You need to be root!"
-
- if [[ -L "${ROOT}/usr/bin/emacs" ]]; then
- [[ ${1} == "--if-unset" \
- && -e "$(canonicalise ${ROOT}/usr/bin/emacs)" ]] && return
- remove_symlinks || die -q "Couldn't remove existing symlink"
- elif [[ -e "${ROOT}/usr/bin/emacs" ]]; then
- die -q "Sorry, ${ROOT}/usr/bin/emacs confuses me"
- fi
-
- local targets=( $(find_targets) )
- if [[ ${#targets[@]} -gt 0 ]]; then
- set_symlinks ${#targets[@]} || die -q "Couldn't set a new symlink"
- elif [[ -f "${ROOT}/usr/bin/xemacs" ]]; then
- # no Emacs target found - link ctags, etags etc. to XEmacs versions
- set_symlinks xemacs
- fi
-}
diff --git a/emacs.eselect.5 b/emacs.eselect.5
deleted file mode 100644
index 2755015..0000000
--- a/emacs.eselect.5
+++ /dev/null
@@ -1,68 +0,0 @@
-.\" Copyright 1999-2007 Gentoo Foundation
-.\" Distributed under the terms of the GNU General Public License v2
-.\" $Id$
-.\"
-.TH "ESELECT" "5" "March 2007" "Gentoo Linux" "eselect"
-.SH "NAME"
-emacs.eselect \- The Emacs management module for Gentoo's eselect
-.SH "SYNOPSIS"
-\fBeselect emacs\fR [\fBhelp\fR|\fBusage\fR]
-.br
-\fBeselect emacs list\fR
-.br
-\fBeselect emacs set\fR \fItarget\fR
-.br
-\fBeselect emacs show\fR
-.br
-\fBeselect emacs update\fR [\fI--if-unset\fR]
-.SH "DESCRIPTION"
-\fBeselect\fR is Gentoo's configuration and management tool. It features
-modules that care for the individual administrative tasks.
-.SH "ACTION: LIST"
-\fBeselect emacs list\fR
-.br
-List all installed Emacs versions.
-
-# eselect emacs list
-.br
-Available Emacs symlink targets:
-.br
- [1] emacs-18
- [2] emacs-21 *
- [3] emacs-22
-.SH "ACTION: SET"
-\fBeselect emacs set\fR \fItarget\fR
-.br
-Activates the selected Emacs version. \fItarget\fR can be either an
-identification number given by \fBeselect emacs list\fR or the name of
-one installed version.
-
-# eselect emacs set 3
-.br
-Switching to emacs-22...
-.SH "ACTION: SHOW"
-\fBeselect emacs show\fR [\fItarget\fR]
-.br
-Prints the currently activated Emacs version.
-
-# eselect emacs show
-.br
-Current target of symlink:
-.br
-emacs-22
-.SH "ACTION: UPDATE"
-\fBeselect emacs update\fR [\fI--if-unset\fR]
-.br
-Update the emacs symlink to the last available version. If option
-[\fI--if-unset\fR] is given, an existing implementation is not
-overridden.
-
-# eselect emacs update
-.br
-Switching to emacs-22...
-.SH "AUTHORS"
-Christian Faulhammer <opfer@gentoo.org>
-.br
-Ulrich Mueller <ulm@kph.uni-mainz.de>
-.SH "REVISION"
-$Id$