#!/bin/bash -f
#
# Ask PceEmacs to edit files for me.  To use this package, make sure
# xpce-client is installed in your path and one XPCE process runs PceEmacs
# as a server.  One way to do that is to put the following in your X
# startup:
#
#	xterm -iconic -title 'PceEmacs server' -e xpce -g emacs_server
#
# Author: Jan Wielemaker
# Copying: GPL-2

usage()
{ echo "usage: `basename $0` file[:line]"
  exit 1
}

line=""

if [ -z "$HOST" ]; then HOST=`hostname`; fi

server="$HOME/.xpce_emacs_server.$HOST"
if [ ! -S "$server" ]; then
    server="$HOME/.xpce_emacs_server"
    if [ ! -S "$server" ]; then
	echo "No PceEmacs server"
	exec emacs "$*"
    fi
fi

file="$1"
case "$file" in
	"")	usage
		;;
	[~/]*)	;;
	*)	file=`pwd`/$file ;;
esac

case "$file" in
	*:[0-9]*)
		eval `echo $file | sed 's/\(.*\):\([0-9]*\)$/file=\1;line=\2/'`
		;;
esac

if [ "$line" = "" ]; then
	cmd="edit('$file')"
else
	cmd="edit('$file', $line)"
fi

xpce-client $server -bc "$cmd"

if [ $? = 2 ]; then exec emacs $*; fi
