annotate lib-src/update-autoloads.sh @ 5781:0853e1ec8529

Use alloca_{rawbytes,ibytes} in #'copy-file, #'insert-file-contents-internal src/ChangeLog addition: 2014-01-20 Aidan Kehoe <kehoea@parhasard.net> * fileio.c (Fcopy_file, Finsert_file_contents_internal): Use alloca_{rawbytes,ibytes} here instead of the implicit alloca on the stack; doesn't change where the buffers are allocated for these two functions, but does mean that decisions about alloca vs. malloc based on buffer size are made in the same place (ultimately, the ALLOCA() macro).
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 20 Jan 2014 17:53:07 +0000
parents 308d34e9f07d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 #!/bin/sh
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 ### update-autoloads.sh --- update auto-autoloads.el as necessary
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 # Author: Jamie Zawinski, Ben Wing, Martin Buchholz, Steve Baur
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 # Maintainer: Steve Baur
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 # Keywords: internal
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 # This file is part of XEmacs.
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 428
diff changeset
9 #
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 428
diff changeset
10 # XEmacs is free software: you can redistribute it and/or modify it
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 428
diff changeset
11 # under the terms of the GNU General Public License as published by the
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 428
diff changeset
12 # Free Software Foundation, either version 3 of the License, or (at your
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 428
diff changeset
13 # option) any later version.
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 428
diff changeset
14 #
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 428
diff changeset
15 # XEmacs is distributed in the hope that it will be useful, but WITHOUT
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 428
diff changeset
16 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 428
diff changeset
17 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 428
diff changeset
18 # for more details.
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 428
diff changeset
19 #
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 # You should have received a copy of the GNU General Public License
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 428
diff changeset
21 # along with XEmacs. If not, see <http://www.gnu.org/licenses/>.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 ### Commentary:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 ### Code:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 set -eu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 # This means we're running in a Sun workspace
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 test -d ../era-specific && cd ../editor
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 # get to the right directory
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 test ! -d ./lisp -a -d ../lisp && cd ..
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 if test ! -d ./lisp ; then
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 echo $0: neither ./lisp/ nor ../lisp/ exist
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 exit 1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 test -z "$EMACS" && EMACS="./src/xemacs"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 echo " (using $EMACS)"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 export EMACS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 EMACS_DIR=`cd \`dirname $EMACS\` && pwd`;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 CANON_PWD=`pwd`
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 # Account for various system automounter configurations
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 if test -d "/net"; then
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 if test -d "/tmp_mnt/net"; then tdir="/tmp_mnt/net"; else tdir="/tmp_mnt"; fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 EMACS_DIR=`echo "$EMACS_DIR" | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 CANON_PWD=`echo "$CANON_PWD" | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 REAL="$EMACS_DIR/`basename $EMACS`"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 echo "Rebuilding autoloads in $CANON_PWD"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 echo " with $REAL..."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 #### echon really sucks!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 if [ "`uname -r | sed 's/\(.\).*/\1/'`" -gt 4 ]; then
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 echon()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 {
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 /bin/echo $* '\c'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 }
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 echon()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 {
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 echo -n $*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 }
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 # Compute patterns to ignore when searching for files
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 # These directories don't have autoloads or are partially broken.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 ignore_dirs="egg eos ilisp its locale mel mu sunpro term tooltalk"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 # Prepare for autoloading directories with directory-specific instructions
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 make_special_commands=''
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 make_special () {
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 dir="$1"; shift;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80 ignore_dirs="$ignore_dirs $dir"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 make_special_commands="$make_special_commands \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 (cd \"lisp/$dir\" && ${MAKE:-make} EMACS=$REAL ${1+$*});"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 }
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 # Only use Mule XEmacs to build Mule-specific autoloads & custom-loads.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86 echon "Checking for Mule support..."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87 lisp_prog='(princ (featurep (quote mule)))'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 mule_p="`$EMACS -batch -q -no-site-file -eval \"$lisp_prog\"`"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 if test "$mule_p" = nil ; then
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 echo No
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 ignore_dirs="$ignore_dirs mule leim language skk"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 echo Yes
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 ## AUCTeX is a Package now
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 # if test "$mule_p" = nil ; then
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 # make_special auctex autoloads
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 # else
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 # make_special auctex autoloads MULE_EL=tex-jp.elc
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 # fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 #make_special cc-mode autoloads
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 # EFS is now packaged
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 #make_special efs autoloads
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 #make_special eos autoloads # EOS doesn't have custom or autoloads
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 # Hyperbole is now packaged
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 # make_special hyperbole autoloads
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 # make_special ilisp autoloads
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 # oobr is now packaged
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 # make_special oobr HYPB_ELC='' autoloads
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 ## W3 is a package now
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 ##make_special w3 autoloads
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 dirs=
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 for dir in lisp/*; do
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 if test -d $dir \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 -a $dir != lisp/CVS \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 -a $dir != lisp/SCCS; then
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 for ignore in $ignore_dirs; do
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 if test $dir = lisp/$ignore; then
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 continue 2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 done
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 dirs="$dirs $dir"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 done
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 $EMACS -batch -q -no-site-file -eval '(setq autoload-package-name "Standard")' \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 -l autoload -f batch-update-directory lisp
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 # set -x
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 for dir in $dirs; do
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 $EMACS -batch -q -no-site-file -l autoload -f batch-update-directory $dir
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 done
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 # eval "$make_special_commands"