annotate etc/emacs.bash @ 47000:005cc008b551

(redisplay_window): Do not `goto try_to_scroll' when we end up on a partially visible line; this reverts a specific part of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty display error which has been reported several times now. However it introduces the problem that changes was supposed to fix. See my comments in the source if you want to debug this further.
author Kim F. Storm <storm@cua.dk>
date Thu, 22 Aug 2002 16:52:56 +0000
parents e96ffe544684
children 23a1cea22d13
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
1 # This defines a bash command named `edit' which contacts/resumes an
Dave Love <fx@gnu.org>
parents:
diff changeset
2 # existing emacs or starts a new one if none exists.
Dave Love <fx@gnu.org>
parents:
diff changeset
3 #
Dave Love <fx@gnu.org>
parents:
diff changeset
4 # One way or another, any arguments are passed to emacs to specify files
Dave Love <fx@gnu.org>
parents:
diff changeset
5 # (provided you have loaded `resume.el').
Dave Love <fx@gnu.org>
parents:
diff changeset
6 #
Dave Love <fx@gnu.org>
parents:
diff changeset
7 # This function assumes the emacs program is named `emacs' and is somewhere
Dave Love <fx@gnu.org>
parents:
diff changeset
8 # in your load path. If either of these is not true, the most portable
Dave Love <fx@gnu.org>
parents:
diff changeset
9 # (and convenient) thing to do is to make an alias called emacs which
Dave Love <fx@gnu.org>
parents:
diff changeset
10 # refers to the real program, e.g.
Dave Love <fx@gnu.org>
parents:
diff changeset
11 #
Dave Love <fx@gnu.org>
parents:
diff changeset
12 # alias emacs=/usr/local/bin/gemacs
Dave Love <fx@gnu.org>
parents:
diff changeset
13 #
Dave Love <fx@gnu.org>
parents:
diff changeset
14 # Written by Noah Friedman.
Dave Love <fx@gnu.org>
parents:
diff changeset
15
Dave Love <fx@gnu.org>
parents:
diff changeset
16 function edit ()
Dave Love <fx@gnu.org>
parents:
diff changeset
17 {
Dave Love <fx@gnu.org>
parents:
diff changeset
18 local windowsys="${WINDOW_PARENT+sun}"
Dave Love <fx@gnu.org>
parents:
diff changeset
19
Dave Love <fx@gnu.org>
parents:
diff changeset
20 windowsys="${windowsys:-${DISPLAY+x}}"
Dave Love <fx@gnu.org>
parents:
diff changeset
21
Dave Love <fx@gnu.org>
parents:
diff changeset
22 if [ -n "${windowsys:+set}" ]; then
Dave Love <fx@gnu.org>
parents:
diff changeset
23 # Do not just test if these files are sockets. On some systems
Dave Love <fx@gnu.org>
parents:
diff changeset
24 # ordinary files or fifos are used instead. Just see if they exist.
Dave Love <fx@gnu.org>
parents:
diff changeset
25 if [ -e "${HOME}/.emacs_server" -o -e "/tmp/esrv${UID}-"* ]; then
Dave Love <fx@gnu.org>
parents:
diff changeset
26 emacsclient "$@"
Dave Love <fx@gnu.org>
parents:
diff changeset
27 return $?
Dave Love <fx@gnu.org>
parents:
diff changeset
28 else
Dave Love <fx@gnu.org>
parents:
diff changeset
29 echo "edit: starting emacs in background..." 1>&2
Dave Love <fx@gnu.org>
parents:
diff changeset
30 fi
Dave Love <fx@gnu.org>
parents:
diff changeset
31
Dave Love <fx@gnu.org>
parents:
diff changeset
32 case "${windowsys}" in
Dave Love <fx@gnu.org>
parents:
diff changeset
33 x ) (emacs "$@" &) ;;
Dave Love <fx@gnu.org>
parents:
diff changeset
34 sun ) (emacstool "$@" &) ;;
Dave Love <fx@gnu.org>
parents:
diff changeset
35 esac
Dave Love <fx@gnu.org>
parents:
diff changeset
36 else
Dave Love <fx@gnu.org>
parents:
diff changeset
37 if jobs %emacs 2> /dev/null ; then
Dave Love <fx@gnu.org>
parents:
diff changeset
38 echo "$(pwd)" "$@" >| ${HOME}/.emacs_args && fg %emacs
Dave Love <fx@gnu.org>
parents:
diff changeset
39 else
Dave Love <fx@gnu.org>
parents:
diff changeset
40 emacs "$@"
Dave Love <fx@gnu.org>
parents:
diff changeset
41 fi
Dave Love <fx@gnu.org>
parents:
diff changeset
42 fi
Dave Love <fx@gnu.org>
parents:
diff changeset
43 }
Dave Love <fx@gnu.org>
parents:
diff changeset
44
Dave Love <fx@gnu.org>
parents:
diff changeset
45