Mercurial > hg > xemacs-beta
annotate lib-src/update-autoloads.sh @ 5649:d026b665014f
Actually obey POSIX rules in #'posix-string-match, don't ignore them.
src/ChangeLog addition:
2012-04-25 Aidan Kehoe <kehoea@parhasard.net>
* search.c (string_match_1): Actually use the POSIX argument here,
pass it to compile_pattern(). Thank you for the bug report, Ilya
Shlyakhter!
tests/ChangeLog addition:
2012-04-25 Aidan Kehoe <kehoea@parhasard.net>
* automated/regexp-tests.el: Check that #'posix-string-match
actually returns the longest match; thank you Ilya Shlyakhter in
jn1j8t$ujq$1@dough.gmane.org !
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Wed, 25 Apr 2012 20:25:33 +0100 |
| parents | 308d34e9f07d |
| children |
| rev | line source |
|---|---|
| 428 | 1 #!/bin/sh |
| 2 ### update-autoloads.sh --- update auto-autoloads.el as necessary | |
| 3 | |
| 4 # Author: Jamie Zawinski, Ben Wing, Martin Buchholz, Steve Baur | |
| 5 # Maintainer: Steve Baur | |
| 6 # Keywords: internal | |
| 7 | |
| 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 | 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 | 22 |
| 23 ### Commentary: | |
| 24 | |
| 25 ### Code: | |
| 26 | |
| 27 set -eu | |
| 28 | |
| 29 # This means we're running in a Sun workspace | |
| 30 test -d ../era-specific && cd ../editor | |
| 31 | |
| 32 # get to the right directory | |
| 33 test ! -d ./lisp -a -d ../lisp && cd .. | |
| 34 if test ! -d ./lisp ; then | |
| 35 echo $0: neither ./lisp/ nor ../lisp/ exist | |
| 36 exit 1 | |
| 37 fi | |
| 38 | |
| 39 test -z "$EMACS" && EMACS="./src/xemacs" | |
| 40 echo " (using $EMACS)" | |
| 41 | |
| 42 export EMACS | |
| 43 | |
| 44 EMACS_DIR=`cd \`dirname $EMACS\` && pwd`; | |
| 45 CANON_PWD=`pwd` | |
| 46 # Account for various system automounter configurations | |
| 47 if test -d "/net"; then | |
| 48 if test -d "/tmp_mnt/net"; then tdir="/tmp_mnt/net"; else tdir="/tmp_mnt"; fi | |
| 49 EMACS_DIR=`echo "$EMACS_DIR" | \ | |
| 50 sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"` | |
| 51 CANON_PWD=`echo "$CANON_PWD" | \ | |
| 52 sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"` | |
| 53 fi | |
| 54 REAL="$EMACS_DIR/`basename $EMACS`" | |
| 55 | |
| 56 echo "Rebuilding autoloads in $CANON_PWD" | |
| 57 echo " with $REAL..." | |
| 58 | |
| 59 #### echon really sucks! | |
| 60 if [ "`uname -r | sed 's/\(.\).*/\1/'`" -gt 4 ]; then | |
| 61 echon() | |
| 62 { | |
| 63 /bin/echo $* '\c' | |
| 64 } | |
| 65 else | |
| 66 echon() | |
| 67 { | |
| 68 echo -n $* | |
| 69 } | |
| 70 fi | |
| 71 | |
| 72 # Compute patterns to ignore when searching for files | |
| 73 # These directories don't have autoloads or are partially broken. | |
| 74 ignore_dirs="egg eos ilisp its locale mel mu sunpro term tooltalk" | |
| 75 | |
| 76 # Prepare for autoloading directories with directory-specific instructions | |
| 77 make_special_commands='' | |
| 78 make_special () { | |
| 79 dir="$1"; shift; | |
| 80 ignore_dirs="$ignore_dirs $dir" | |
| 81 make_special_commands="$make_special_commands \ | |
| 82 (cd \"lisp/$dir\" && ${MAKE:-make} EMACS=$REAL ${1+$*});" | |
| 83 } | |
| 84 | |
| 85 # Only use Mule XEmacs to build Mule-specific autoloads & custom-loads. | |
| 86 echon "Checking for Mule support..." | |
| 87 lisp_prog='(princ (featurep (quote mule)))' | |
| 88 mule_p="`$EMACS -batch -q -no-site-file -eval \"$lisp_prog\"`" | |
| 89 if test "$mule_p" = nil ; then | |
| 90 echo No | |
| 91 ignore_dirs="$ignore_dirs mule leim language skk" | |
| 92 else | |
| 93 echo Yes | |
| 94 fi | |
| 95 | |
| 96 ## AUCTeX is a Package now | |
| 97 # if test "$mule_p" = nil ; then | |
| 98 # make_special auctex autoloads | |
| 99 # else | |
| 100 # make_special auctex autoloads MULE_EL=tex-jp.elc | |
| 101 # fi | |
| 102 #make_special cc-mode autoloads | |
| 103 # EFS is now packaged | |
| 104 #make_special efs autoloads | |
| 105 #make_special eos autoloads # EOS doesn't have custom or autoloads | |
| 106 # Hyperbole is now packaged | |
| 107 # make_special hyperbole autoloads | |
| 108 # make_special ilisp autoloads | |
| 109 # oobr is now packaged | |
| 110 # make_special oobr HYPB_ELC='' autoloads | |
| 111 ## W3 is a package now | |
| 112 ##make_special w3 autoloads | |
| 113 | |
| 114 dirs= | |
| 115 for dir in lisp/*; do | |
| 116 if test -d $dir \ | |
| 117 -a $dir != lisp/CVS \ | |
| 118 -a $dir != lisp/SCCS; then | |
| 119 for ignore in $ignore_dirs; do | |
| 120 if test $dir = lisp/$ignore; then | |
| 121 continue 2 | |
| 122 fi | |
| 123 done | |
| 124 dirs="$dirs $dir" | |
| 125 fi | |
| 126 done | |
| 127 | |
| 128 $EMACS -batch -q -no-site-file -eval '(setq autoload-package-name "Standard")' \ | |
| 129 -l autoload -f batch-update-directory lisp | |
| 130 | |
| 131 # set -x | |
| 132 for dir in $dirs; do | |
| 133 $EMACS -batch -q -no-site-file -l autoload -f batch-update-directory $dir | |
| 134 done | |
| 135 | |
| 136 # eval "$make_special_commands" |
