annotate lispintro/mkinstalldirs @ 83525:b2e7507b55c6

Fix C-x 5 2 on the controlling tty; fix some possible crash conditions and a memory leak. * src/frame.c (make_terminal_frame): Don't create frames on a terminal that is being deleted. * src/xfns.c (Fx_create_frame, x_create_tip_frame): Ditto. * src/keyboard.c (tty_read_avail_input): Don't read from a terminal that is being deleted. * src/term.c (get_named_tty): Abort if tty name is NULL. Simplify accordingly. * src/term.c (Ftty_type): Return nil if terminal is not on a tty instead of throwing an error. Doc update. * src/term.c (init_tty): Set name before calling `get_named_tty'. * src/term.c (delete_tty): Let delete_terminal delete the frames. Plug memory leak caused by tty->name. Remove reference to `deleting_tty'. * src/term.c (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>: Doc update. * src/termhooks.h (terminal) <name>: Explain why identifying terminals by name is a bad idea. * src/terminal.c (delete_terminal): Doc update. * src/xterm.c (XTread_socket): Disable loop on all X displays. * src/xterm.c (x_delete_display): Doc update to reflect changes in delete_terminal. * src/xterm.c (x_delete_terminal): Don't set terminal->deleted and let delete_terminal delete the frames on the terminal. * src/xterm.h (x_display_info) <terminal>: Move member earlier in the struct. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-565
author Karoly Lorentey <lorentey@elte.hu>
date Sat, 20 May 2006 17:12:43 +0000
parents eb7e8d483840
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
41418
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
1 #! /bin/sh
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
2 # mkinstalldirs --- make directory hierarchy
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
3 # Author: Noah Friedman <friedman@prep.ai.mit.edu>
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
4 # Created: 1993-05-16
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
5 # Public domain
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
6
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
7 errstatus=0
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
8
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
9 for file
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
10 do
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
11 set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
12 shift
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
13
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
14 pathcomp=
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
15 for d
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
16 do
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
17 pathcomp="$pathcomp$d"
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
18 case "$pathcomp" in
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
19 -* ) pathcomp=./$pathcomp ;;
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
20 esac
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
21
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
22 if test ! -d "$pathcomp"; then
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
23 echo "mkdir $pathcomp" 1>&2
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
24
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
25 mkdir "$pathcomp" || lasterr=$?
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
26
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
27 if test ! -d "$pathcomp"; then
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
28 errstatus=$lasterr
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
29 fi
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
30 fi
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
31
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
32 pathcomp="$pathcomp/"
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
33 done
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
34 done
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
35
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
36 exit $errstatus
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
37
a8ee89e61d20 *** empty log message ***
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
38 # mkinstalldirs ends here