aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2010-11-25 12:56:41 +0900
committerKenichi Handa2010-11-25 12:56:41 +0900
commite957f9ae90f3cab1584c06877cbff075d52a6a9a (patch)
treed19aea6f4c6a3e369604ab8bc97be6d419073b0c
parentb84ae584330c940010bc543fd925eddeb13fd9e2 (diff)
parent33aeea0eb66921329fde41e14cfda2565c6bad6d (diff)
downloademacs-e957f9ae90f3cab1584c06877cbff075d52a6a9a.tar.gz
emacs-e957f9ae90f3cab1584c06877cbff075d52a6a9a.zip
merge emacs-23
-rw-r--r--.dir-locals.el5
-rw-r--r--ChangeLog20
-rw-r--r--README2
-rw-r--r--admin/notes/bugtracker39
-rwxr-xr-xconfigure523
-rw-r--r--configure.in65
-rw-r--r--doc/emacs/ChangeLog30
-rw-r--r--doc/emacs/emacs.texi7
-rw-r--r--doc/emacs/macos.texi89
-rw-r--r--doc/emacs/maintaining.texi360
-rw-r--r--doc/emacs/msdog.texi12
-rw-r--r--doc/emacs/vc1-xtra.texi6
-rw-r--r--doc/lispref/ChangeLog50
-rw-r--r--doc/lispref/book-spine.texinfo2
-rw-r--r--doc/lispref/customize.texi2
-rw-r--r--doc/lispref/display.texi8
-rw-r--r--doc/lispref/elisp.texi2
-rw-r--r--doc/lispref/functions.texi2
-rw-r--r--doc/lispref/help.texi2
-rw-r--r--doc/lispref/loading.texi10
-rw-r--r--doc/lispref/maps.texi12
-rw-r--r--doc/lispref/nonascii.texi7
-rw-r--r--doc/lispref/numbers.texi8
-rw-r--r--doc/lispref/objects.texi1
-rw-r--r--doc/lispref/strings.texi63
-rw-r--r--doc/lispref/symbols.texi2
-rw-r--r--doc/lispref/text.texi47
-rw-r--r--doc/lispref/variables.texi18
-rw-r--r--doc/lispref/vol1.texi2
-rw-r--r--doc/lispref/vol2.texi2
-rw-r--r--doc/man/emacs.12
-rw-r--r--doc/misc/ChangeLog29
-rw-r--r--doc/misc/calc.texi2
-rw-r--r--doc/misc/cc-mode.texi11
-rw-r--r--doc/misc/edt.texi21
-rw-r--r--doc/misc/faq.texi2
-rw-r--r--doc/misc/gnus.texi6
-rw-r--r--doc/misc/mh-e.texi10
-rw-r--r--doc/misc/nxml-mode.texi59
-rw-r--r--doc/misc/trampver.texi2
-rw-r--r--etc/AUTHORS252
-rw-r--r--etc/ChangeLog12
-rw-r--r--etc/DISTRIB62
-rw-r--r--etc/HELLO1
-rw-r--r--etc/MH-E-NEWS8
-rw-r--r--etc/NEWS69
-rw-r--r--etc/NEWS.1-172
-rw-r--r--etc/PROBLEMS19
-rw-r--r--lib-src/ChangeLog5
-rw-r--r--lib-src/emacsclient.c3
-rw-r--r--lib-src/makefile.w32-in2
-rw-r--r--lisp/ChangeLog731
-rw-r--r--lisp/ChangeLog.124
-rw-r--r--lisp/ChangeLog.138
-rw-r--r--lisp/ChangeLog.94
-rw-r--r--lisp/Makefile.in1
-rw-r--r--lisp/add-log.el4
-rw-r--r--lisp/calendar/calendar.el13
-rw-r--r--lisp/cedet/ChangeLog8
-rw-r--r--lisp/cedet/mode-local.el27
-rw-r--r--lisp/cedet/semantic/analyze/debug.el44
-rw-r--r--lisp/cedet/semantic/symref/list.el148
-rw-r--r--lisp/comint.el4
-rw-r--r--lisp/diff-mode.el4
-rw-r--r--lisp/emacs-lisp/autoload.el10
-rw-r--r--lisp/emacs-lisp/bytecomp.el17
-rw-r--r--lisp/emacs-lisp/smie.el1546
-rw-r--r--lisp/erc/ChangeLog7
-rw-r--r--lisp/erc/erc-backend.el51
-rw-r--r--lisp/files.el6
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/gnus/ChangeLog.23
-rw-r--r--lisp/gnus/pop3.el21
-rw-r--r--lisp/international/mule-cmds.el3
-rw-r--r--lisp/ldefs-boot.el1681
-rw-r--r--lisp/locate.el17
-rw-r--r--lisp/log-edit.el261
-rw-r--r--lisp/log-view.el1
-rw-r--r--lisp/lpr.el18
-rw-r--r--lisp/ls-lisp.el74
-rw-r--r--lisp/menu-bar.el5
-rw-r--r--lisp/minibuffer.el13
-rw-r--r--lisp/mouse-sel.el7
-rw-r--r--lisp/mouse.el3
-rw-r--r--lisp/net/tramp-fish.el2
-rw-r--r--lisp/net/tramp.el114
-rw-r--r--lisp/net/trampver.el4
-rw-r--r--lisp/novice.el11
-rw-r--r--lisp/org/ChangeLog6
-rw-r--r--lisp/org/org-exp.el8
-rw-r--r--lisp/play/fortune.el43
-rw-r--r--lisp/play/gomoku.el9
-rw-r--r--lisp/play/landmark.el5
-rw-r--r--lisp/printing.el12
-rw-r--r--lisp/progmodes/dcl-mode.el2
-rw-r--r--lisp/progmodes/python.el164
-rw-r--r--lisp/progmodes/sql.el3
-rw-r--r--lisp/progmodes/tcl.el10
-rw-r--r--lisp/progmodes/verilog-mode.el2543
-rw-r--r--lisp/progmodes/which-func.el8
-rw-r--r--lisp/select.el6
-rw-r--r--lisp/server.el28
-rw-r--r--lisp/simple.el21
-rw-r--r--lisp/speedbar.el13
-rw-r--r--lisp/subr.el3
-rw-r--r--lisp/textmodes/bibtex.el35
-rw-r--r--lisp/textmodes/picture.el32
-rw-r--r--lisp/vc-arch.el3
-rw-r--r--lisp/vc-bzr.el101
-rw-r--r--lisp/vc-dir.el27
-rw-r--r--lisp/vc-dispatcher.el62
-rw-r--r--lisp/vc-git.el58
-rw-r--r--lisp/vc-hg.el101
-rw-r--r--lisp/vc-hooks.el21
-rw-r--r--lisp/vc-mtn.el14
-rw-r--r--lisp/vc.el382
-rw-r--r--lisp/version.el2
-rw-r--r--lisp/wid-edit.el8
-rw-r--r--lisp/woman.el2
-rw-r--r--nextstep/Cocoa/Emacs.base/Contents/Info.plist4
-rw-r--r--nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings4
-rw-r--r--nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop2
-rw-r--r--nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist4
-rw-r--r--nt/INSTALL6
-rw-r--r--nt/emacs.rc8
-rw-r--r--nt/emacsclient.rc8
-rw-r--r--oldXMenu/ChangeLog6
-rw-r--r--oldXMenu/XDelAssoc.c1
-rw-r--r--oldXMenu/XMakeAssoc.c1
-rw-r--r--src/ChangeLog149
-rw-r--r--src/Makefile.in3
-rw-r--r--src/alloc.c11
-rw-r--r--src/atimer.c6
-rw-r--r--src/config.in28
-rw-r--r--src/dbusbind.c12
-rw-r--r--src/dispextern.h4
-rw-r--r--src/dispnew.c24
-rw-r--r--src/editfns.c4
-rw-r--r--src/font.c37
-rw-r--r--src/frame.c27
-rw-r--r--src/gtkutil.c30
-rw-r--r--src/image.c11
-rw-r--r--src/keyboard.c56
-rw-r--r--src/lread.c4
-rw-r--r--src/m/amdx86-64.h17
-rw-r--r--src/m/ibms390x.h12
-rw-r--r--src/process.c85
-rw-r--r--src/process.h4
-rw-r--r--src/w32.c6
-rw-r--r--src/xdisp.c14
-rw-r--r--src/xfns.c41
-rw-r--r--src/xsettings.c2
-rw-r--r--src/xterm.c70
-rw-r--r--src/xterm.h4
154 files changed, 7779 insertions, 3515 deletions
diff --git a/.dir-locals.el b/.dir-locals.el
index 1d934e8e66f..9b907570663 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -1,9 +1,12 @@
1((nil . ((tab-width . 8) 1((nil . ((tab-width . 8)
2 (fill-column . 70))) 2 (fill-column . 70)))
3 (c-mode . ((c-file-style . "GNU"))) 3 (c-mode . ((c-file-style . "GNU")))
4 ;; You must set bugtracker_debbugs_url in your bazaar.conf for this to work.
5 ;; See admin/notes/bugtracker.
6 (log-edit-mode . ((log-edit-rewrite-fixes
7 " (bug#\\([0-9]+\\))" . "debbugs:\\1")))
4 (change-log-mode . ((add-log-time-zone-rule . t) 8 (change-log-mode . ((add-log-time-zone-rule . t)
5 (fill-column . 74) 9 (fill-column . 74)
6 (bug-reference-url-format . "http://debbugs.gnu.org/%s") 10 (bug-reference-url-format . "http://debbugs.gnu.org/%s")
7 (mode . bug-reference)))) 11 (mode . bug-reference))))
8 12
9;; arch-tag: fb93c160-e9fe-4184-aad1-e4f5daa11cbd
diff --git a/ChangeLog b/ChangeLog
index 1c32435237a..a6b47ed9415 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
12010-11-13 Dan Nicolaescu <dann@ics.uci.edu>
2
3 Fix alloca definition when using gcc on non-gnu systems.
4 * configure.in: Use the code sequence indicated by "info autoconf"
5 for alloca (bug#6170).
6
72010-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
8
9 * .dir-locals.el (log-edit-mode): Set log-edit-rewrite-fixes.
10
112010-11-04 Michael Albinus <michael.albinus@gmx.de>
12
13 * configure.in: Don't write a warning for D-Bus anymore.
14
152010-11-03 Glenn Morris <rgm@gnu.org>
16
17 * configure.in (CRT_DIR): New output variable.
18 (--with-crt-dir): New option. (Bug#5655)
19 (HAVE_LIB64_DIR): Remove.
20
12010-10-12 Glenn Morris <rgm@gnu.org> 212010-10-12 Glenn Morris <rgm@gnu.org>
2 22
3 * BUGS, INSTALL.BZR, README: Updates. 23 * BUGS, INSTALL.BZR, README: Updates.
diff --git a/README b/README
index 088db57f301..4090e099331 100644
--- a/README
+++ b/README
@@ -3,7 +3,7 @@ Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
3See the end of the file for license conditions. 3See the end of the file for license conditions.
4 4
5 5
6This directory tree holds version 23.2.50 of GNU Emacs, the extensible, 6This directory tree holds version 23.2.90 of GNU Emacs, the extensible,
7customizable, self-documenting real-time display editor. 7customizable, self-documenting real-time display editor.
8 8
9The file INSTALL in this directory says how to build and install GNU 9The file INSTALL in this directory says how to build and install GNU
diff --git a/admin/notes/bugtracker b/admin/notes/bugtracker
index 5936eead85a..ca71214cdcc 100644
--- a/admin/notes/bugtracker
+++ b/admin/notes/bugtracker
@@ -449,16 +449,41 @@ http://lists.gnu.org/archive/html/emacs-devel/2009-11/msg00440.html
449 449
450** Bazaar stuff 450** Bazaar stuff
451 451
452*** You can use `bzr commit --fixes emacs:123' to mark that a commit fixes 452*** You can use `bzr commit --fixes debbugs:123' to mark that a commit fixes
453Emacs bug 123. You will first need to add a line to your bazaar.conf: 453Emacs bug 123. You will first need to add a line to one of your
454configuration files, ~/.bazaar/bazaar.conf or ~/.bazaar/locations.conf:
454 455
455bugtracker_emacs_url = http://debbugs.gnu.org/{id} 456bugtracker_debbugs_url = http://debbugs.gnu.org/{id}
457
458Here "{id}" is a literal string, a placeholder that will be replaced
459by the bug number you specify after `--fixes debbugs:' in the bzr
460command line (123 in the example above).
461
462In the bazaar.conf file, this setting should go into the [DEFAULTS]
463section.
464
465In the locations.conf file, it should go into the branch-specific
466configuration section for the branch where you want this to be in
467effect. For example, if you want this to be in effect for the branch
468located at `/home/projects/emacs/trunk', you need to have this in your
469~/.bazaar/locations.conf file:
470
471[/home/projects/emacs/trunk]
472bugtracker_debbugs_url = http://debbugs.gnu.org/{id}
473
474If you want to use this in all Emacs branches whose common parent is
475`/home/projects/emacs', put the setting in the [/home/projects/emacs]
476section. See "bzr help configuration" for more information about
477the *.conf files, their location and formats. See "bzr help bugs" for
478more information about the bugtracker_debbugs_url setting.
479
480See also log-edit-rewrite-fixes in .dir-locals.el.
456 481
457Note that all this does is add some metadata to the commit, it doesn't 482Note that all this does is add some metadata to the commit, it doesn't
458actually mark the bug as closed in the tracker. There seems to be no 483actually mark the bug as closed in the tracker. You can see this
459way to see this "metadata" with `bzr log', which is rather poor, but 484information with `bzr log', and it will show up as a link in a recent
460it will show up as a link in a recent loggerhead installation, or with 485loggerhead installation, or with some of the graphical frontends to
461some of the graphical frontends to bzr log. 486`bzr log'.
462 487
463** Gnus-specific voodoo 488** Gnus-specific voodoo
464 489
diff --git a/configure b/configure
index a9c31fdad99..d1e5addcb75 100755
--- a/configure
+++ b/configure
@@ -1,11 +1,11 @@
1#! /bin/sh 1#! /bin/sh
2# Guess values for system-dependent variables and create Makefiles. 2# Guess values for system-dependent variables and create Makefiles.
3# Generated by GNU Autoconf 2.67 for emacs 23.2.50. 3# Generated by GNU Autoconf 2.65 for emacs 23.2.90.
4# 4#
5# 5#
6# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 6# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
7# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software 7# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
8# Foundation, Inc. 8# Inc.
9# 9#
10# 10#
11# This configure script is free software; the Free Software Foundation 11# This configure script is free software; the Free Software Foundation
@@ -316,7 +316,7 @@ $as_echo X"$as_dir" |
316 test -d "$as_dir" && break 316 test -d "$as_dir" && break
317 done 317 done
318 test -z "$as_dirs" || eval "mkdir $as_dirs" 318 test -z "$as_dirs" || eval "mkdir $as_dirs"
319 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" 319 } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
320 320
321 321
322} # as_fn_mkdir_p 322} # as_fn_mkdir_p
@@ -356,19 +356,19 @@ else
356fi # as_fn_arith 356fi # as_fn_arith
357 357
358 358
359# as_fn_error STATUS ERROR [LINENO LOG_FD] 359# as_fn_error ERROR [LINENO LOG_FD]
360# ---------------------------------------- 360# ---------------------------------
361# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are 361# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
362# provided, also output the error to LOG_FD, referencing LINENO. Then exit the 362# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
363# script with STATUS, using 1 if that was 0. 363# script with status $?, using 1 if that was 0.
364as_fn_error () 364as_fn_error ()
365{ 365{
366 as_status=$1; test $as_status -eq 0 && as_status=1 366 as_status=$?; test $as_status -eq 0 && as_status=1
367 if test "$4"; then 367 if test "$3"; then
368 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 368 as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
369 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 369 $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
370 fi 370 fi
371 $as_echo "$as_me: error: $2" >&2 371 $as_echo "$as_me: error: $1" >&2
372 as_fn_exit $as_status 372 as_fn_exit $as_status
373} # as_fn_error 373} # as_fn_error
374 374
@@ -530,7 +530,7 @@ test -n "$DJDIR" || exec 7<&0 </dev/null
530exec 6>&1 530exec 6>&1
531 531
532# Name of the host. 532# Name of the host.
533# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, 533# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
534# so uname gets run too. 534# so uname gets run too.
535ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` 535ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
536 536
@@ -549,8 +549,8 @@ MAKEFLAGS=
549# Identity of this package. 549# Identity of this package.
550PACKAGE_NAME='emacs' 550PACKAGE_NAME='emacs'
551PACKAGE_TARNAME='emacs' 551PACKAGE_TARNAME='emacs'
552PACKAGE_VERSION='23.2.50' 552PACKAGE_VERSION='23.2.90'
553PACKAGE_STRING='emacs 23.2.50' 553PACKAGE_STRING='emacs 23.2.90'
554PACKAGE_BUGREPORT='' 554PACKAGE_BUGREPORT=''
555PACKAGE_URL='' 555PACKAGE_URL=''
556 556
@@ -660,6 +660,7 @@ ALSA_LIBS
660ALSA_CFLAGS 660ALSA_CFLAGS
661PKG_CONFIG 661PKG_CONFIG
662LIBSOUND 662LIBSOUND
663CRT_DIR
663MAKEINFO 664MAKEINFO
664GZIP_PROG 665GZIP_PROG
665INSTALL_INFO 666INSTALL_INFO
@@ -755,6 +756,7 @@ with_makeinfo
755with_gtk 756with_gtk
756with_gcc 757with_gcc
757with_pkg_config_prog 758with_pkg_config_prog
759with_crt_dir
758with_gnustep_conf 760with_gnustep_conf
759enable_ns_self_contained 761enable_ns_self_contained
760enable_asserts 762enable_asserts
@@ -838,9 +840,8 @@ do
838 fi 840 fi
839 841
840 case $ac_option in 842 case $ac_option in
841 *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; 843 *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
842 *=) ac_optarg= ;; 844 *) ac_optarg=yes ;;
843 *) ac_optarg=yes ;;
844 esac 845 esac
845 846
846 # Accept the important Cygnus configure options, so we can diagnose typos. 847 # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -885,7 +886,7 @@ do
885 ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` 886 ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
886 # Reject names that are not valid shell variable names. 887 # Reject names that are not valid shell variable names.
887 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && 888 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
888 as_fn_error $? "invalid feature name: $ac_useropt" 889 as_fn_error "invalid feature name: $ac_useropt"
889 ac_useropt_orig=$ac_useropt 890 ac_useropt_orig=$ac_useropt
890 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` 891 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
891 case $ac_user_opts in 892 case $ac_user_opts in
@@ -911,7 +912,7 @@ do
911 ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` 912 ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
912 # Reject names that are not valid shell variable names. 913 # Reject names that are not valid shell variable names.
913 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && 914 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
914 as_fn_error $? "invalid feature name: $ac_useropt" 915 as_fn_error "invalid feature name: $ac_useropt"
915 ac_useropt_orig=$ac_useropt 916 ac_useropt_orig=$ac_useropt
916 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` 917 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
917 case $ac_user_opts in 918 case $ac_user_opts in
@@ -1115,7 +1116,7 @@ do
1115 ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` 1116 ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
1116 # Reject names that are not valid shell variable names. 1117 # Reject names that are not valid shell variable names.
1117 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && 1118 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1118 as_fn_error $? "invalid package name: $ac_useropt" 1119 as_fn_error "invalid package name: $ac_useropt"
1119 ac_useropt_orig=$ac_useropt 1120 ac_useropt_orig=$ac_useropt
1120 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` 1121 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1121 case $ac_user_opts in 1122 case $ac_user_opts in
@@ -1131,7 +1132,7 @@ do
1131 ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` 1132 ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
1132 # Reject names that are not valid shell variable names. 1133 # Reject names that are not valid shell variable names.
1133 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && 1134 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1134 as_fn_error $? "invalid package name: $ac_useropt" 1135 as_fn_error "invalid package name: $ac_useropt"
1135 ac_useropt_orig=$ac_useropt 1136 ac_useropt_orig=$ac_useropt
1136 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` 1137 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1137 case $ac_user_opts in 1138 case $ac_user_opts in
@@ -1161,8 +1162,8 @@ do
1161 | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) 1162 | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
1162 x_libraries=$ac_optarg ;; 1163 x_libraries=$ac_optarg ;;
1163 1164
1164 -*) as_fn_error $? "unrecognized option: \`$ac_option' 1165 -*) as_fn_error "unrecognized option: \`$ac_option'
1165Try \`$0 --help' for more information" 1166Try \`$0 --help' for more information."
1166 ;; 1167 ;;
1167 1168
1168 *=*) 1169 *=*)
@@ -1170,7 +1171,7 @@ Try \`$0 --help' for more information"
1170 # Reject names that are not valid shell variable names. 1171 # Reject names that are not valid shell variable names.
1171 case $ac_envvar in #( 1172 case $ac_envvar in #(
1172 '' | [0-9]* | *[!_$as_cr_alnum]* ) 1173 '' | [0-9]* | *[!_$as_cr_alnum]* )
1173 as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; 1174 as_fn_error "invalid variable name: \`$ac_envvar'" ;;
1174 esac 1175 esac
1175 eval $ac_envvar=\$ac_optarg 1176 eval $ac_envvar=\$ac_optarg
1176 export $ac_envvar ;; 1177 export $ac_envvar ;;
@@ -1188,13 +1189,13 @@ done
1188 1189
1189if test -n "$ac_prev"; then 1190if test -n "$ac_prev"; then
1190 ac_option=--`echo $ac_prev | sed 's/_/-/g'` 1191 ac_option=--`echo $ac_prev | sed 's/_/-/g'`
1191 as_fn_error $? "missing argument to $ac_option" 1192 as_fn_error "missing argument to $ac_option"
1192fi 1193fi
1193 1194
1194if test -n "$ac_unrecognized_opts"; then 1195if test -n "$ac_unrecognized_opts"; then
1195 case $enable_option_checking in 1196 case $enable_option_checking in
1196 no) ;; 1197 no) ;;
1197 fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; 1198 fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
1198 *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; 1199 *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
1199 esac 1200 esac
1200fi 1201fi
@@ -1217,7 +1218,7 @@ do
1217 [\\/$]* | ?:[\\/]* ) continue;; 1218 [\\/$]* | ?:[\\/]* ) continue;;
1218 NONE | '' ) case $ac_var in *prefix ) continue;; esac;; 1219 NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
1219 esac 1220 esac
1220 as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" 1221 as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
1221done 1222done
1222 1223
1223# There might be people who depend on the old broken behavior: `$host' 1224# There might be people who depend on the old broken behavior: `$host'
@@ -1231,8 +1232,8 @@ target=$target_alias
1231if test "x$host_alias" != x; then 1232if test "x$host_alias" != x; then
1232 if test "x$build_alias" = x; then 1233 if test "x$build_alias" = x; then
1233 cross_compiling=maybe 1234 cross_compiling=maybe
1234 $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. 1235 $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
1235 If a cross compiler is detected then cross compile mode will be used" >&2 1236 If a cross compiler is detected then cross compile mode will be used." >&2
1236 elif test "x$build_alias" != "x$host_alias"; then 1237 elif test "x$build_alias" != "x$host_alias"; then
1237 cross_compiling=yes 1238 cross_compiling=yes
1238 fi 1239 fi
@@ -1247,9 +1248,9 @@ test "$silent" = yes && exec 6>/dev/null
1247ac_pwd=`pwd` && test -n "$ac_pwd" && 1248ac_pwd=`pwd` && test -n "$ac_pwd" &&
1248ac_ls_di=`ls -di .` && 1249ac_ls_di=`ls -di .` &&
1249ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || 1250ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
1250 as_fn_error $? "working directory cannot be determined" 1251 as_fn_error "working directory cannot be determined"
1251test "X$ac_ls_di" = "X$ac_pwd_ls_di" || 1252test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
1252 as_fn_error $? "pwd does not report name of working directory" 1253 as_fn_error "pwd does not report name of working directory"
1253 1254
1254 1255
1255# Find the source files, if location was not specified. 1256# Find the source files, if location was not specified.
@@ -1288,11 +1289,11 @@ else
1288fi 1289fi
1289if test ! -r "$srcdir/$ac_unique_file"; then 1290if test ! -r "$srcdir/$ac_unique_file"; then
1290 test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." 1291 test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
1291 as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" 1292 as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
1292fi 1293fi
1293ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" 1294ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
1294ac_abs_confdir=`( 1295ac_abs_confdir=`(
1295 cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" 1296 cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
1296 pwd)` 1297 pwd)`
1297# When building in place, set srcdir=. 1298# When building in place, set srcdir=.
1298if test "$ac_abs_confdir" = "$ac_pwd"; then 1299if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1318,7 +1319,7 @@ if test "$ac_init_help" = "long"; then
1318 # Omit some internal or obsolete options to make the list less imposing. 1319 # Omit some internal or obsolete options to make the list less imposing.
1319 # This message is too long to be a string in the A/UX 3.1 sh. 1320 # This message is too long to be a string in the A/UX 3.1 sh.
1320 cat <<_ACEOF 1321 cat <<_ACEOF
1321\`configure' configures emacs 23.2.50 to adapt to many kinds of systems. 1322\`configure' configures emacs 23.2.90 to adapt to many kinds of systems.
1322 1323
1323Usage: $0 [OPTION]... [VAR=VALUE]... 1324Usage: $0 [OPTION]... [VAR=VALUE]...
1324 1325
@@ -1332,7 +1333,7 @@ Configuration:
1332 --help=short display options specific to this package 1333 --help=short display options specific to this package
1333 --help=recursive display the short help of all the included packages 1334 --help=recursive display the short help of all the included packages
1334 -V, --version display version information and exit 1335 -V, --version display version information and exit
1335 -q, --quiet, --silent do not print \`checking ...' messages 1336 -q, --quiet, --silent do not print \`checking...' messages
1336 --cache-file=FILE cache test results in FILE [disabled] 1337 --cache-file=FILE cache test results in FILE [disabled]
1337 -C, --config-cache alias for \`--cache-file=config.cache' 1338 -C, --config-cache alias for \`--cache-file=config.cache'
1338 -n, --no-create do not create output files 1339 -n, --no-create do not create output files
@@ -1392,7 +1393,7 @@ fi
1392 1393
1393if test -n "$ac_init_help"; then 1394if test -n "$ac_init_help"; then
1394 case $ac_init_help in 1395 case $ac_init_help in
1395 short | recursive ) echo "Configuration of emacs 23.2.50:";; 1396 short | recursive ) echo "Configuration of emacs 23.2.90:";;
1396 esac 1397 esac
1397 cat <<\_ACEOF 1398 cat <<\_ACEOF
1398 1399
@@ -1454,6 +1455,8 @@ Optional Packages:
1454 1455
1455 --with-pkg-config-prog=PATH 1456 --with-pkg-config-prog=PATH
1456 path to pkg-config for finding GTK and librsvg 1457 path to pkg-config for finding GTK and librsvg
1458 --with-crt-dir=DIR directory containing crtn.o etc. This option is only
1459 used on x86-64 and s390x GNU/Linux architectures.
1457 --with-gnustep-conf=PATH 1460 --with-gnustep-conf=PATH
1458 path to GNUstep.conf; default $GNUSTEP_CONFIG_FILE, 1461 path to GNUstep.conf; default $GNUSTEP_CONFIG_FILE,
1459 or /etc/GNUstep/GNUstep.conf 1462 or /etc/GNUstep/GNUstep.conf
@@ -1536,10 +1539,10 @@ fi
1536test -n "$ac_init_help" && exit $ac_status 1539test -n "$ac_init_help" && exit $ac_status
1537if $ac_init_version; then 1540if $ac_init_version; then
1538 cat <<\_ACEOF 1541 cat <<\_ACEOF
1539emacs configure 23.2.50 1542emacs configure 23.2.90
1540generated by GNU Autoconf 2.67 1543generated by GNU Autoconf 2.65
1541 1544
1542Copyright (C) 2010 Free Software Foundation, Inc. 1545Copyright (C) 2009 Free Software Foundation, Inc.
1543This configure script is free software; the Free Software Foundation 1546This configure script is free software; the Free Software Foundation
1544gives unlimited permission to copy, distribute and modify it. 1547gives unlimited permission to copy, distribute and modify it.
1545_ACEOF 1548_ACEOF
@@ -1655,7 +1658,7 @@ $as_echo "$ac_try_echo"; } >&5
1655 mv -f conftest.er1 conftest.err 1658 mv -f conftest.er1 conftest.err
1656 fi 1659 fi
1657 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1660 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1658 test $ac_status = 0; } > conftest.i && { 1661 test $ac_status = 0; } >/dev/null && {
1659 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || 1662 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
1660 test ! -s conftest.err 1663 test ! -s conftest.err
1661 }; then : 1664 }; then :
@@ -1679,10 +1682,10 @@ fi
1679ac_fn_c_check_header_mongrel () 1682ac_fn_c_check_header_mongrel ()
1680{ 1683{
1681 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1684 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1682 if eval "test \"\${$3+set}\"" = set; then : 1685 if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
1683 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 1686 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1684$as_echo_n "checking for $2... " >&6; } 1687$as_echo_n "checking for $2... " >&6; }
1685if eval "test \"\${$3+set}\"" = set; then : 1688if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
1686 $as_echo_n "(cached) " >&6 1689 $as_echo_n "(cached) " >&6
1687fi 1690fi
1688eval ac_res=\$$3 1691eval ac_res=\$$3
@@ -1718,7 +1721,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
1718else 1721else
1719 ac_header_preproc=no 1722 ac_header_preproc=no
1720fi 1723fi
1721rm -f conftest.err conftest.i conftest.$ac_ext 1724rm -f conftest.err conftest.$ac_ext
1722{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 1725{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
1723$as_echo "$ac_header_preproc" >&6; } 1726$as_echo "$ac_header_preproc" >&6; }
1724 1727
@@ -1745,7 +1748,7 @@ $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
1745esac 1748esac
1746 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 1749 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1747$as_echo_n "checking for $2... " >&6; } 1750$as_echo_n "checking for $2... " >&6; }
1748if eval "test \"\${$3+set}\"" = set; then : 1751if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
1749 $as_echo_n "(cached) " >&6 1752 $as_echo_n "(cached) " >&6
1750else 1753else
1751 eval "$3=\$ac_header_compiler" 1754 eval "$3=\$ac_header_compiler"
@@ -1809,7 +1812,7 @@ ac_fn_c_check_header_compile ()
1809 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1812 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1810 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 1813 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1811$as_echo_n "checking for $2... " >&6; } 1814$as_echo_n "checking for $2... " >&6; }
1812if eval "test \"\${$3+set}\"" = set; then : 1815if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
1813 $as_echo_n "(cached) " >&6 1816 $as_echo_n "(cached) " >&6
1814else 1817else
1815 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1818 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1839,7 +1842,7 @@ ac_fn_c_check_header_preproc ()
1839 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1842 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1840 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 1843 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1841$as_echo_n "checking for $2... " >&6; } 1844$as_echo_n "checking for $2... " >&6; }
1842if eval "test \"\${$3+set}\"" = set; then : 1845if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
1843 $as_echo_n "(cached) " >&6 1846 $as_echo_n "(cached) " >&6
1844else 1847else
1845 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1848 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1851,7 +1854,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
1851else 1854else
1852 eval "$3=no" 1855 eval "$3=no"
1853fi 1856fi
1854rm -f conftest.err conftest.i conftest.$ac_ext 1857rm -f conftest.err conftest.$ac_ext
1855fi 1858fi
1856eval ac_res=\$$3 1859eval ac_res=\$$3
1857 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 1860 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
@@ -1860,18 +1863,15 @@ $as_echo "$ac_res" >&6; }
1860 1863
1861} # ac_fn_c_check_header_preproc 1864} # ac_fn_c_check_header_preproc
1862 1865
1863# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES 1866# ac_fn_c_check_decl LINENO SYMBOL VAR
1864# --------------------------------------------- 1867# ------------------------------------
1865# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR 1868# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
1866# accordingly.
1867ac_fn_c_check_decl () 1869ac_fn_c_check_decl ()
1868{ 1870{
1869 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1871 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1870 as_decl_name=`echo $2|sed 's/ *(.*//'` 1872 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5
1871 as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` 1873$as_echo_n "checking whether $2 is declared... " >&6; }
1872 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 1874if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
1873$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
1874if eval "test \"\${$3+set}\"" = set; then :
1875 $as_echo_n "(cached) " >&6 1875 $as_echo_n "(cached) " >&6
1876else 1876else
1877 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1877 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1880,12 +1880,8 @@ $4
1880int 1880int
1881main () 1881main ()
1882{ 1882{
1883#ifndef $as_decl_name 1883#ifndef $2
1884#ifdef __cplusplus 1884 (void) $2;
1885 (void) $as_decl_use;
1886#else
1887 (void) $as_decl_name;
1888#endif
1889#endif 1885#endif
1890 1886
1891 ; 1887 ;
@@ -1915,7 +1911,7 @@ ac_fn_c_check_member ()
1915 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1911 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1916 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 1912 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
1917$as_echo_n "checking for $2.$3... " >&6; } 1913$as_echo_n "checking for $2.$3... " >&6; }
1918if eval "test \"\${$4+set}\"" = set; then : 1914if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
1919 $as_echo_n "(cached) " >&6 1915 $as_echo_n "(cached) " >&6
1920else 1916else
1921 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1917 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1971,7 +1967,7 @@ ac_fn_c_check_func ()
1971 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 1967 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1972 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 1968 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1973$as_echo_n "checking for $2... " >&6; } 1969$as_echo_n "checking for $2... " >&6; }
1974if eval "test \"\${$3+set}\"" = set; then : 1970if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
1975 $as_echo_n "(cached) " >&6 1971 $as_echo_n "(cached) " >&6
1976else 1972else
1977 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1973 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2039,7 +2035,7 @@ ac_fn_c_check_type ()
2039 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 2035 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2040 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 2036 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
2041$as_echo_n "checking for $2... " >&6; } 2037$as_echo_n "checking for $2... " >&6; }
2042if eval "test \"\${$3+set}\"" = set; then : 2038if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
2043 $as_echo_n "(cached) " >&6 2039 $as_echo_n "(cached) " >&6
2044else 2040else
2045 eval "$3=no" 2041 eval "$3=no"
@@ -2087,8 +2083,8 @@ cat >config.log <<_ACEOF
2087This file contains any messages produced by compilers while 2083This file contains any messages produced by compilers while
2088running configure, to aid debugging if configure makes a mistake. 2084running configure, to aid debugging if configure makes a mistake.
2089 2085
2090It was created by emacs $as_me 23.2.50, which was 2086It was created by emacs $as_me 23.2.90, which was
2091generated by GNU Autoconf 2.67. Invocation command line was 2087generated by GNU Autoconf 2.65. Invocation command line was
2092 2088
2093 $ $0 $@ 2089 $ $0 $@
2094 2090
@@ -2198,9 +2194,11 @@ trap 'exit_status=$?
2198 { 2194 {
2199 echo 2195 echo
2200 2196
2201 $as_echo "## ---------------- ## 2197 cat <<\_ASBOX
2198## ---------------- ##
2202## Cache variables. ## 2199## Cache variables. ##
2203## ---------------- ##" 2200## ---------------- ##
2201_ASBOX
2204 echo 2202 echo
2205 # The following way of writing the cache mishandles newlines in values, 2203 # The following way of writing the cache mishandles newlines in values,
2206( 2204(
@@ -2234,9 +2232,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
2234) 2232)
2235 echo 2233 echo
2236 2234
2237 $as_echo "## ----------------- ## 2235 cat <<\_ASBOX
2236## ----------------- ##
2238## Output variables. ## 2237## Output variables. ##
2239## ----------------- ##" 2238## ----------------- ##
2239_ASBOX
2240 echo 2240 echo
2241 for ac_var in $ac_subst_vars 2241 for ac_var in $ac_subst_vars
2242 do 2242 do
@@ -2249,9 +2249,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
2249 echo 2249 echo
2250 2250
2251 if test -n "$ac_subst_files"; then 2251 if test -n "$ac_subst_files"; then
2252 $as_echo "## ------------------- ## 2252 cat <<\_ASBOX
2253## ------------------- ##
2253## File substitutions. ## 2254## File substitutions. ##
2254## ------------------- ##" 2255## ------------------- ##
2256_ASBOX
2255 echo 2257 echo
2256 for ac_var in $ac_subst_files 2258 for ac_var in $ac_subst_files
2257 do 2259 do
@@ -2265,9 +2267,11 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
2265 fi 2267 fi
2266 2268
2267 if test -s confdefs.h; then 2269 if test -s confdefs.h; then
2268 $as_echo "## ----------- ## 2270 cat <<\_ASBOX
2271## ----------- ##
2269## confdefs.h. ## 2272## confdefs.h. ##
2270## ----------- ##" 2273## ----------- ##
2274_ASBOX
2271 echo 2275 echo
2272 cat confdefs.h 2276 cat confdefs.h
2273 echo 2277 echo
@@ -2322,12 +2326,7 @@ _ACEOF
2322ac_site_file1=NONE 2326ac_site_file1=NONE
2323ac_site_file2=NONE 2327ac_site_file2=NONE
2324if test -n "$CONFIG_SITE"; then 2328if test -n "$CONFIG_SITE"; then
2325 # We do not want a PATH search for config.site. 2329 ac_site_file1=$CONFIG_SITE
2326 case $CONFIG_SITE in #((
2327 -*) ac_site_file1=./$CONFIG_SITE;;
2328 */*) ac_site_file1=$CONFIG_SITE;;
2329 *) ac_site_file1=./$CONFIG_SITE;;
2330 esac
2331elif test "x$prefix" != xNONE; then 2330elif test "x$prefix" != xNONE; then
2332 ac_site_file1=$prefix/share/config.site 2331 ac_site_file1=$prefix/share/config.site
2333 ac_site_file2=$prefix/etc/config.site 2332 ac_site_file2=$prefix/etc/config.site
@@ -2342,11 +2341,7 @@ do
2342 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 2341 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
2343$as_echo "$as_me: loading site script $ac_site_file" >&6;} 2342$as_echo "$as_me: loading site script $ac_site_file" >&6;}
2344 sed 's/^/| /' "$ac_site_file" >&5 2343 sed 's/^/| /' "$ac_site_file" >&5
2345 . "$ac_site_file" \ 2344 . "$ac_site_file"
2346 || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2347$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2348as_fn_error $? "failed to load site script $ac_site_file
2349See \`config.log' for more details" "$LINENO" 5; }
2350 fi 2345 fi
2351done 2346done
2352 2347
@@ -2427,7 +2422,7 @@ if $ac_cache_corrupted; then
2427$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 2422$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2428 { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 2423 { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
2429$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} 2424$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
2430 as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 2425 as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
2431fi 2426fi
2432## -------------------- ## 2427## -------------------- ##
2433## Main body of script. ## 2428## Main body of script. ##
@@ -2561,7 +2556,7 @@ if test "${with_x_toolkit+set}" = set; then :
2561 m | mo | mot | moti | motif ) val=motif ;; 2556 m | mo | mot | moti | motif ) val=motif ;;
2562 g | gt | gtk ) val=gtk ;; 2557 g | gt | gtk ) val=gtk ;;
2563 * ) 2558 * )
2564as_fn_error $? "\`--with-x-toolkit=$withval' is invalid; 2559as_fn_error "\`--with-x-toolkit=$withval' is invalid;
2565this option's value should be \`yes', \`no', \`lucid', \`athena', \`motif' or \`gtk'. 2560this option's value should be \`yes', \`no', \`lucid', \`athena', \`motif' or \`gtk'.
2566\`yes' and \`gtk' are synonyms. \`athena' and \`lucid' are synonyms." "$LINENO" 5 2561\`yes' and \`gtk' are synonyms. \`athena' and \`lucid' are synonyms." "$LINENO" 5
2567 ;; 2562 ;;
@@ -2717,7 +2712,7 @@ fi
2717 2712
2718# Check whether --with-gtk was given. 2713# Check whether --with-gtk was given.
2719if test "${with_gtk+set}" = set; then : 2714if test "${with_gtk+set}" = set; then :
2720 withval=$with_gtk; as_fn_error $? "--with-gtk has been removed. Use --with-x-toolkit to 2715 withval=$with_gtk; as_fn_error "--with-gtk has been removed. Use --with-x-toolkit to
2721specify a toolkit." "$LINENO" 5 2716specify a toolkit." "$LINENO" 5
2722fi 2717fi
2723 2718
@@ -2725,7 +2720,7 @@ fi
2725 2720
2726# Check whether --with-gcc was given. 2721# Check whether --with-gcc was given.
2727if test "${with_gcc+set}" = set; then : 2722if test "${with_gcc+set}" = set; then :
2728 withval=$with_gcc; as_fn_error $? "--with-gcc has been removed. Set the \`CC' environment 2723 withval=$with_gcc; as_fn_error "--with-gcc has been removed. Set the \`CC' environment
2729variable to specify a compiler." "$LINENO" 5 2724variable to specify a compiler." "$LINENO" 5
2730fi 2725fi
2731 2726
@@ -2742,6 +2737,15 @@ if test "X${with_pkg_config_prog}" != X; then
2742 fi 2737 fi
2743fi 2738fi
2744 2739
2740CRT_DIR=
2741
2742# Check whether --with-crt-dir was given.
2743if test "${with_crt_dir+set}" = set; then :
2744 withval=$with_crt_dir;
2745fi
2746
2747CRT_DIR="${with_crt_dir}"
2748
2745 2749
2746# Check whether --with-gnustep-conf was given. 2750# Check whether --with-gnustep-conf was given.
2747if test "${with_gnustep_conf+set}" = set; then : 2751if test "${with_gnustep_conf+set}" = set; then :
@@ -2822,7 +2826,7 @@ do
2822 stringfreelist) ac_gc_check_string_free_list=1 ;; 2826 stringfreelist) ac_gc_check_string_free_list=1 ;;
2823 xmallocoverrun) ac_xmalloc_overrun=1 ;; 2827 xmallocoverrun) ac_xmalloc_overrun=1 ;;
2824 conslist) ac_gc_check_cons_list=1 ;; 2828 conslist) ac_gc_check_cons_list=1 ;;
2825 *) as_fn_error $? "unknown check category $check" "$LINENO" 5 ;; 2829 *) as_fn_error "unknown check category $check" "$LINENO" 5 ;;
2826 esac 2830 esac
2827done 2831done
2828IFS="$ac_save_IFS" 2832IFS="$ac_save_IFS"
@@ -2927,22 +2931,16 @@ fi
2927 2931
2928ac_aux_dir= 2932ac_aux_dir=
2929for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do 2933for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
2930 if test -f "$ac_dir/install-sh"; then 2934 for ac_t in install-sh install.sh shtool; do
2931 ac_aux_dir=$ac_dir 2935 if test -f "$ac_dir/$ac_t"; then
2932 ac_install_sh="$ac_aux_dir/install-sh -c" 2936 ac_aux_dir=$ac_dir
2933 break 2937 ac_install_sh="$ac_aux_dir/$ac_t -c"
2934 elif test -f "$ac_dir/install.sh"; then 2938 break 2
2935 ac_aux_dir=$ac_dir 2939 fi
2936 ac_install_sh="$ac_aux_dir/install.sh -c" 2940 done
2937 break
2938 elif test -f "$ac_dir/shtool"; then
2939 ac_aux_dir=$ac_dir
2940 ac_install_sh="$ac_aux_dir/shtool install -c"
2941 break
2942 fi
2943done 2941done
2944if test -z "$ac_aux_dir"; then 2942if test -z "$ac_aux_dir"; then
2945 as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 2943 as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
2946fi 2944fi
2947 2945
2948# These three variables are undocumented and unsupported, 2946# These three variables are undocumented and unsupported,
@@ -2956,7 +2954,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
2956 2954
2957# Make sure we can run config.sub. 2955# Make sure we can run config.sub.
2958$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || 2956$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
2959 as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 2957 as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
2960 2958
2961{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 2959{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
2962$as_echo_n "checking build system type... " >&6; } 2960$as_echo_n "checking build system type... " >&6; }
@@ -2967,16 +2965,16 @@ else
2967test "x$ac_build_alias" = x && 2965test "x$ac_build_alias" = x &&
2968 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` 2966 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
2969test "x$ac_build_alias" = x && 2967test "x$ac_build_alias" = x &&
2970 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 2968 as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
2971ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || 2969ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
2972 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 2970 as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
2973 2971
2974fi 2972fi
2975{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 2973{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
2976$as_echo "$ac_cv_build" >&6; } 2974$as_echo "$ac_cv_build" >&6; }
2977case $ac_cv_build in 2975case $ac_cv_build in
2978*-*-*) ;; 2976*-*-*) ;;
2979*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; 2977*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
2980esac 2978esac
2981build=$ac_cv_build 2979build=$ac_cv_build
2982ac_save_IFS=$IFS; IFS='-' 2980ac_save_IFS=$IFS; IFS='-'
@@ -3001,7 +2999,7 @@ else
3001 ac_cv_host=$ac_cv_build 2999 ac_cv_host=$ac_cv_build
3002else 3000else
3003 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || 3001 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
3004 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 3002 as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
3005fi 3003fi
3006 3004
3007fi 3005fi
@@ -3009,7 +3007,7 @@ fi
3009$as_echo "$ac_cv_host" >&6; } 3007$as_echo "$ac_cv_host" >&6; }
3010case $ac_cv_host in 3008case $ac_cv_host in
3011*-*-*) ;; 3009*-*-*) ;;
3012*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; 3010*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
3013esac 3011esac
3014host=$ac_cv_host 3012host=$ac_cv_host
3015ac_save_IFS=$IFS; IFS='-' 3013ac_save_IFS=$IFS; IFS='-'
@@ -3355,7 +3353,7 @@ fi
3355 3353
3356 3354
3357if test $unported = yes; then 3355if test $unported = yes; then
3358 as_fn_error $? "Emacs hasn't been ported to \`${canonical}' systems. 3356 as_fn_error "Emacs hasn't been ported to \`${canonical}' systems.
3359Check \`etc/MACHINES' for recognized configuration names." "$LINENO" 5 3357Check \`etc/MACHINES' for recognized configuration names." "$LINENO" 5
3360fi 3358fi
3361 3359
@@ -3669,8 +3667,8 @@ fi
3669 3667
3670test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 3668test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3671$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 3669$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3672as_fn_error $? "no acceptable C compiler found in \$PATH 3670as_fn_error "no acceptable C compiler found in \$PATH
3673See \`config.log' for more details" "$LINENO" 5; } 3671See \`config.log' for more details." "$LINENO" 5; }
3674 3672
3675# Provide some information about the compiler. 3673# Provide some information about the compiler.
3676$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 3674$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3784,8 +3782,9 @@ sed 's/^/| /' conftest.$ac_ext >&5
3784 3782
3785{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 3783{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3786$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 3784$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3787as_fn_error 77 "C compiler cannot create executables 3785{ as_fn_set_status 77
3788See \`config.log' for more details" "$LINENO" 5; } 3786as_fn_error "C compiler cannot create executables
3787See \`config.log' for more details." "$LINENO" 5; }; }
3789else 3788else
3790 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 3789 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
3791$as_echo "yes" >&6; } 3790$as_echo "yes" >&6; }
@@ -3827,8 +3826,8 @@ done
3827else 3826else
3828 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 3827 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3829$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 3828$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3830as_fn_error $? "cannot compute suffix of executables: cannot compile and link 3829as_fn_error "cannot compute suffix of executables: cannot compile and link
3831See \`config.log' for more details" "$LINENO" 5; } 3830See \`config.log' for more details." "$LINENO" 5; }
3832fi 3831fi
3833rm -f conftest conftest$ac_cv_exeext 3832rm -f conftest conftest$ac_cv_exeext
3834{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 3833{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -3885,9 +3884,9 @@ $as_echo "$ac_try_echo"; } >&5
3885 else 3884 else
3886 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 3885 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3887$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 3886$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3888as_fn_error $? "cannot run C compiled programs. 3887as_fn_error "cannot run C compiled programs.
3889If you meant to cross compile, use \`--host'. 3888If you meant to cross compile, use \`--host'.
3890See \`config.log' for more details" "$LINENO" 5; } 3889See \`config.log' for more details." "$LINENO" 5; }
3891 fi 3890 fi
3892 fi 3891 fi
3893fi 3892fi
@@ -3938,8 +3937,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
3938 3937
3939{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 3938{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3940$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 3939$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3941as_fn_error $? "cannot compute suffix of object files: cannot compile 3940as_fn_error "cannot compute suffix of object files: cannot compile
3942See \`config.log' for more details" "$LINENO" 5; } 3941See \`config.log' for more details." "$LINENO" 5; }
3943fi 3942fi
3944rm -f conftest.$ac_cv_objext conftest.$ac_ext 3943rm -f conftest.$ac_cv_objext conftest.$ac_ext
3945fi 3944fi
@@ -4275,7 +4274,7 @@ else
4275 # Broken: fails on valid input. 4274 # Broken: fails on valid input.
4276continue 4275continue
4277fi 4276fi
4278rm -f conftest.err conftest.i conftest.$ac_ext 4277rm -f conftest.err conftest.$ac_ext
4279 4278
4280 # OK, works on sane cases. Now check whether nonexistent headers 4279 # OK, works on sane cases. Now check whether nonexistent headers
4281 # can be detected and how. 4280 # can be detected and how.
@@ -4291,11 +4290,11 @@ else
4291ac_preproc_ok=: 4290ac_preproc_ok=:
4292break 4291break
4293fi 4292fi
4294rm -f conftest.err conftest.i conftest.$ac_ext 4293rm -f conftest.err conftest.$ac_ext
4295 4294
4296done 4295done
4297# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 4296# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4298rm -f conftest.i conftest.err conftest.$ac_ext 4297rm -f conftest.err conftest.$ac_ext
4299if $ac_preproc_ok; then : 4298if $ac_preproc_ok; then :
4300 break 4299 break
4301fi 4300fi
@@ -4334,7 +4333,7 @@ else
4334 # Broken: fails on valid input. 4333 # Broken: fails on valid input.
4335continue 4334continue
4336fi 4335fi
4337rm -f conftest.err conftest.i conftest.$ac_ext 4336rm -f conftest.err conftest.$ac_ext
4338 4337
4339 # OK, works on sane cases. Now check whether nonexistent headers 4338 # OK, works on sane cases. Now check whether nonexistent headers
4340 # can be detected and how. 4339 # can be detected and how.
@@ -4350,18 +4349,18 @@ else
4350ac_preproc_ok=: 4349ac_preproc_ok=:
4351break 4350break
4352fi 4351fi
4353rm -f conftest.err conftest.i conftest.$ac_ext 4352rm -f conftest.err conftest.$ac_ext
4354 4353
4355done 4354done
4356# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 4355# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4357rm -f conftest.i conftest.err conftest.$ac_ext 4356rm -f conftest.err conftest.$ac_ext
4358if $ac_preproc_ok; then : 4357if $ac_preproc_ok; then :
4359 4358
4360else 4359else
4361 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 4360 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
4362$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 4361$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
4363as_fn_error $? "C preprocessor \"$CPP\" fails sanity check 4362as_fn_error "C preprocessor \"$CPP\" fails sanity check
4364See \`config.log' for more details" "$LINENO" 5; } 4363See \`config.log' for more details." "$LINENO" 5; }
4365fi 4364fi
4366 4365
4367ac_ext=c 4366ac_ext=c
@@ -4422,7 +4421,7 @@ esac
4422 done 4421 done
4423IFS=$as_save_IFS 4422IFS=$as_save_IFS
4424 if test -z "$ac_cv_path_GREP"; then 4423 if test -z "$ac_cv_path_GREP"; then
4425 as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 4424 as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
4426 fi 4425 fi
4427else 4426else
4428 ac_cv_path_GREP=$GREP 4427 ac_cv_path_GREP=$GREP
@@ -4488,7 +4487,7 @@ esac
4488 done 4487 done
4489IFS=$as_save_IFS 4488IFS=$as_save_IFS
4490 if test -z "$ac_cv_path_EGREP"; then 4489 if test -z "$ac_cv_path_EGREP"; then
4491 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 4490 as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
4492 fi 4491 fi
4493else 4492else
4494 ac_cv_path_EGREP=$EGREP 4493 ac_cv_path_EGREP=$EGREP
@@ -4620,7 +4619,8 @@ do :
4620 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` 4619 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
4621ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default 4620ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
4622" 4621"
4623if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : 4622eval as_val=\$$as_ac_Header
4623 if test "x$as_val" = x""yes; then :
4624 cat >>confdefs.h <<_ACEOF 4624 cat >>confdefs.h <<_ACEOF
4625#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 4625#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
4626_ACEOF 4626_ACEOF
@@ -4809,7 +4809,7 @@ else
4809 # Broken: fails on valid input. 4809 # Broken: fails on valid input.
4810continue 4810continue
4811fi 4811fi
4812rm -f conftest.err conftest.i conftest.$ac_ext 4812rm -f conftest.err conftest.$ac_ext
4813 4813
4814 # OK, works on sane cases. Now check whether nonexistent headers 4814 # OK, works on sane cases. Now check whether nonexistent headers
4815 # can be detected and how. 4815 # can be detected and how.
@@ -4825,11 +4825,11 @@ else
4825ac_preproc_ok=: 4825ac_preproc_ok=:
4826break 4826break
4827fi 4827fi
4828rm -f conftest.err conftest.i conftest.$ac_ext 4828rm -f conftest.err conftest.$ac_ext
4829 4829
4830done 4830done
4831# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 4831# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4832rm -f conftest.i conftest.err conftest.$ac_ext 4832rm -f conftest.err conftest.$ac_ext
4833if $ac_preproc_ok; then : 4833if $ac_preproc_ok; then :
4834 break 4834 break
4835fi 4835fi
@@ -4868,7 +4868,7 @@ else
4868 # Broken: fails on valid input. 4868 # Broken: fails on valid input.
4869continue 4869continue
4870fi 4870fi
4871rm -f conftest.err conftest.i conftest.$ac_ext 4871rm -f conftest.err conftest.$ac_ext
4872 4872
4873 # OK, works on sane cases. Now check whether nonexistent headers 4873 # OK, works on sane cases. Now check whether nonexistent headers
4874 # can be detected and how. 4874 # can be detected and how.
@@ -4884,18 +4884,18 @@ else
4884ac_preproc_ok=: 4884ac_preproc_ok=:
4885break 4885break
4886fi 4886fi
4887rm -f conftest.err conftest.i conftest.$ac_ext 4887rm -f conftest.err conftest.$ac_ext
4888 4888
4889done 4889done
4890# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 4890# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4891rm -f conftest.i conftest.err conftest.$ac_ext 4891rm -f conftest.err conftest.$ac_ext
4892if $ac_preproc_ok; then : 4892if $ac_preproc_ok; then :
4893 4893
4894else 4894else
4895 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 4895 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
4896$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 4896$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
4897as_fn_error $? "C preprocessor \"$CPP\" fails sanity check 4897as_fn_error "C preprocessor \"$CPP\" fails sanity check
4898See \`config.log' for more details" "$LINENO" 5; } 4898See \`config.log' for more details." "$LINENO" 5; }
4899fi 4899fi
4900 4900
4901ac_ext=c 4901ac_ext=c
@@ -5314,7 +5314,7 @@ if test "$MAKEINFO" = "no"; then
5314 if test "x${with_makeinfo}" = "xno"; then 5314 if test "x${with_makeinfo}" = "xno"; then
5315 MAKEINFO=off 5315 MAKEINFO=off
5316 elif ! test -e $srcdir/info/emacs; then 5316 elif ! test -e $srcdir/info/emacs; then
5317 as_fn_error $? "You do not seem to have makeinfo >= 4.6, and your 5317 as_fn_error "You do not seem to have makeinfo >= 4.6, and your
5318source tree does not seem to have pre-built manuals in the \`info' directory. 5318source tree does not seem to have pre-built manuals in the \`info' directory.
5319Either install a suitable version of makeinfo, or re-run configure 5319Either install a suitable version of makeinfo, or re-run configure
5320with the \`--without-makeinfo' option to build without the manuals. " "$LINENO" 5 5320with the \`--without-makeinfo' option to build without the manuals. " "$LINENO" 5
@@ -5705,19 +5705,28 @@ rm -rf conftest*
5705fi 5705fi
5706 5706
5707 5707
5708 5708## Note: at present CRT_DIR is only used for amdx86-64 and ibms390x.
5709### The standard library on x86-64 and s390x GNU/Linux distributions can 5709## Other machine types hard-code the location in src/[ms]/*.h.
5710### be located in either /usr/lib64 or /usr/lib.
5711### In some rare cases, /usr/lib64 exists but does not contain the
5712### relevant files (bug#1287). Hence test for crtn.o.
5713case "${canonical}" in 5710case "${canonical}" in
5714 x86_64-*-linux-gnu* | s390x-*-linux-gnu* ) 5711 x86_64-*-linux-gnu* | s390x-*-linux-gnu* )
5715 if test -e /usr/lib64/crtn.o; then 5712 ## On x86-64 and s390x GNU/Linux distributions, the standard library
5716 5713 ## can be in a variety of places. We only try /usr/lib64 and /usr/lib.
5717$as_echo "#define HAVE_LIB64_DIR 1" >>confdefs.h 5714 ## For anything else (eg /usr/lib32), it is up the user to specify
5715 ## the location (bug#5655).
5716 ## Test for crtn.o, not just the directory, because sometimes the
5717 ## directory exists but does not have the relevant files (bug#1287).
5718 ## If user specified a crt-dir, use that unconditionally.
5719 if test "X$CRT_DIR" = "X"; then
5720 CRT_DIR=/usr/lib
5721 test -e /usr/lib64/crtn.o && CRT_DIR=/usr/lib64
5722 fi
5718 5723
5719fi 5724 test -e $CRT_DIR/crtn.o || test -e $CRT_DIR/crt0.o || \
5725 as_fn_error "crt*.o not found. Use --with-crt-dir to specify the location." "$LINENO" 5
5726 ;;
5720esac 5727esac
5728test "X$CRT_DIR" = "X" && CRT_DIR=/usr/lib
5729
5721 5730
5722 5731
5723 5732
@@ -5728,7 +5737,8 @@ if test "${with_sound}" != "no"; then
5728do : 5737do :
5729 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` 5738 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
5730ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" 5739ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
5731if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : 5740eval as_val=\$$as_ac_Header
5741 if test "x$as_val" = x""yes; then :
5732 cat >>confdefs.h <<_ACEOF 5742 cat >>confdefs.h <<_ACEOF
5733#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 5743#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
5734_ACEOF 5744_ACEOF
@@ -5919,7 +5929,7 @@ else
5919fi 5929fi
5920rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 5930rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
5921 if test "$emacs_alsa_subdir" != yes; then 5931 if test "$emacs_alsa_subdir" != yes; then
5922 as_fn_error $? "pkg-config found alsa, but it does not compile. See config.log for error messages." "$LINENO" 5 5932 as_fn_error "pkg-config found alsa, but it does not compile. See config.log for error messages." "$LINENO" 5
5923 fi 5933 fi
5924 ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE" 5934 ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE"
5925 fi 5935 fi
@@ -5943,7 +5953,8 @@ for ac_header in sys/select.h sys/timeb.h sys/time.h unistd.h utime.h \
5943do : 5953do :
5944 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` 5954 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
5945ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" 5955ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
5946if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : 5956eval as_val=\$$as_ac_Header
5957 if test "x$as_val" = x""yes; then :
5947 cat >>confdefs.h <<_ACEOF 5958 cat >>confdefs.h <<_ACEOF
5948#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 5959#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
5949_ACEOF 5960_ACEOF
@@ -6785,7 +6796,7 @@ fi
6785$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } 6796$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
6786set x ${MAKE-make} 6797set x ${MAKE-make}
6787ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` 6798ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
6788if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : 6799if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
6789 $as_echo_n "(cached) " >&6 6800 $as_echo_n "(cached) " >&6
6790else 6801else
6791 cat >conftest.make <<\_ACEOF 6802 cat >conftest.make <<\_ACEOF
@@ -6793,7 +6804,7 @@ SHELL = /bin/sh
6793all: 6804all:
6794 @echo '@@@%%%=$(MAKE)=@@@%%%' 6805 @echo '@@@%%%=$(MAKE)=@@@%%%'
6795_ACEOF 6806_ACEOF
6796# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. 6807# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
6797case `${MAKE-make} -f conftest.make 2>/dev/null` in 6808case `${MAKE-make} -f conftest.make 2>/dev/null` in
6798 *@@@%%%=?*=@@@%%%*) 6809 *@@@%%%=?*=@@@%%%*)
6799 eval ac_cv_prog_make_${ac_make}_set=yes;; 6810 eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -6918,7 +6929,7 @@ if test "x$with_x" = xno; then
6918 have_x=disabled 6929 have_x=disabled
6919else 6930else
6920 case $x_includes,$x_libraries in #( 6931 case $x_includes,$x_libraries in #(
6921 *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #( 6932 *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #(
6922 *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : 6933 *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
6923 $as_echo_n "(cached) " >&6 6934 $as_echo_n "(cached) " >&6
6924else 6935else
@@ -6936,7 +6947,7 @@ libdir:
6936 @echo libdir='${LIBDIR}' 6947 @echo libdir='${LIBDIR}'
6937_ACEOF 6948_ACEOF
6938 if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then 6949 if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
6939 # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. 6950 # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
6940 for ac_var in incroot usrlibdir libdir; do 6951 for ac_var in incroot usrlibdir libdir; do
6941 eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" 6952 eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
6942 done 6953 done
@@ -7022,7 +7033,7 @@ else
7022 fi 7033 fi
7023done 7034done
7024fi 7035fi
7025rm -f conftest.err conftest.i conftest.$ac_ext 7036rm -f conftest.err conftest.$ac_ext
7026fi # $ac_x_includes = no 7037fi # $ac_x_includes = no
7027 7038
7028if test "$ac_x_libraries" = no; then 7039if test "$ac_x_libraries" = no; then
@@ -7192,7 +7203,7 @@ if test "${with_ns}" != no; then
7192if test "x$ac_cv_header_AppKit_AppKit_h" = x""yes; then : 7203if test "x$ac_cv_header_AppKit_AppKit_h" = x""yes; then :
7193 HAVE_NS=yes 7204 HAVE_NS=yes
7194else 7205else
7195 as_fn_error $? "\`--with-ns' was specified, but the include 7206 as_fn_error "\`--with-ns' was specified, but the include
7196 files are missing or cannot be compiled." "$LINENO" 5 7207 files are missing or cannot be compiled." "$LINENO" 5
7197fi 7208fi
7198 7209
@@ -7294,7 +7305,7 @@ fi
7294 if test "$HAVE_XSERVER" = true || 7305 if test "$HAVE_XSERVER" = true ||
7295 test -n "$DISPLAY" || 7306 test -n "$DISPLAY" ||
7296 test "`echo /usr/lib/libX11.*`" != "/usr/lib/libX11.*"; then 7307 test "`echo /usr/lib/libX11.*`" != "/usr/lib/libX11.*"; then
7297 as_fn_error $? "You seem to be running X, but no X development libraries 7308 as_fn_error "You seem to be running X, but no X development libraries
7298were found. You should install the relevant development files for X 7309were found. You should install the relevant development files for X
7299and for the toolkit you want, such as Gtk+, Lesstif or Motif. Also make 7310and for the toolkit you want, such as Gtk+, Lesstif or Motif. Also make
7300sure you have development files for image handling, i.e. 7311sure you have development files for image handling, i.e.
@@ -7386,7 +7397,8 @@ do :
7386 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` 7397 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
7387ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default 7398ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
7388" 7399"
7389if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : 7400eval as_val=\$$as_ac_Header
7401 if test "x$as_val" = x""yes; then :
7390 cat >>confdefs.h <<_ACEOF 7402 cat >>confdefs.h <<_ACEOF
7391#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 7403#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
7392_ACEOF 7404_ACEOF
@@ -7492,7 +7504,6 @@ int
7492main () 7504main ()
7493{ 7505{
7494 char *data, *data2, *data3; 7506 char *data, *data2, *data3;
7495 const char *cdata2;
7496 int i, pagesize; 7507 int i, pagesize;
7497 int fd, fd2; 7508 int fd, fd2;
7498 7509
@@ -7517,10 +7528,10 @@ main ()
7517 fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); 7528 fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
7518 if (fd2 < 0) 7529 if (fd2 < 0)
7519 return 4; 7530 return 4;
7520 cdata2 = ""; 7531 data2 = "";
7521 if (write (fd2, cdata2, 1) != 1) 7532 if (write (fd2, data2, 1) != 1)
7522 return 5; 7533 return 5;
7523 data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); 7534 data2 = mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
7524 if (data2 == MAP_FAILED) 7535 if (data2 == MAP_FAILED)
7525 return 6; 7536 return 6;
7526 for (i = 0; i < pagesize; ++i) 7537 for (i = 0; i < pagesize; ++i)
@@ -7877,7 +7888,8 @@ XScreenNumberOfScreen XSetWMProtocols
7877do : 7888do :
7878 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` 7889 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
7879ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" 7890ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
7880if eval test \"x\$"$as_ac_var"\" = x"yes"; then : 7891eval as_val=\$$as_ac_var
7892 if test "x$as_val" = x""yes; then :
7881 cat >>confdefs.h <<_ACEOF 7893 cat >>confdefs.h <<_ACEOF
7882#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 7894#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
7883_ACEOF 7895_ACEOF
@@ -8146,7 +8158,7 @@ $as_echo "no" >&6; }
8146 fi 8158 fi
8147 8159
8148 if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then 8160 if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then
8149 as_fn_error $? "$GTK_PKG_ERRORS" "$LINENO" 5 8161 as_fn_error "$GTK_PKG_ERRORS" "$LINENO" 5
8150 fi 8162 fi
8151fi 8163fi
8152 8164
@@ -8172,7 +8184,7 @@ done
8172 8184
8173 if test "${GTK_COMPILES}" != "yes"; then 8185 if test "${GTK_COMPILES}" != "yes"; then
8174 if test "$USE_X_TOOLKIT" != "maybe"; then 8186 if test "$USE_X_TOOLKIT" != "maybe"; then
8175 as_fn_error $? "Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?" "$LINENO" 5; 8187 as_fn_error "Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?" "$LINENO" 5;
8176 fi 8188 fi
8177 else 8189 else
8178 HAVE_GTK=yes 8190 HAVE_GTK=yes
@@ -8564,6 +8576,17 @@ $as_echo "no" >&6; }
8564 8576
8565$as_echo "#define HAVE_GCONF 1" >>confdefs.h 8577$as_echo "#define HAVE_GCONF 1" >>confdefs.h
8566 8578
8579 for ac_func in g_type_init
8580do :
8581 ac_fn_c_check_func "$LINENO" "g_type_init" "ac_cv_func_g_type_init"
8582if test "x$ac_cv_func_g_type_init" = x""yes; then :
8583 cat >>confdefs.h <<_ACEOF
8584#define HAVE_G_TYPE_INIT 1
8585_ACEOF
8586
8587fi
8588done
8589
8567 fi 8590 fi
8568fi 8591fi
8569 8592
@@ -8643,7 +8666,7 @@ fi
8643$as_echo "yes; using Lucid toolkit" >&6; } 8666$as_echo "yes; using Lucid toolkit" >&6; }
8644 USE_X_TOOLKIT=LUCID 8667 USE_X_TOOLKIT=LUCID
8645 elif test x"${USE_X_TOOLKIT}" = xLUCID; then 8668 elif test x"${USE_X_TOOLKIT}" = xLUCID; then
8646 as_fn_error $? "Lucid toolkit requires X11/Xaw include files" "$LINENO" 5 8669 as_fn_error "Lucid toolkit requires X11/Xaw include files" "$LINENO" 5
8647 else 8670 else
8648 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no; do not use toolkit by default" >&5 8671 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no; do not use toolkit by default" >&5
8649$as_echo "no; do not use toolkit by default" >&6; } 8672$as_echo "no; do not use toolkit by default" >&6; }
@@ -9803,7 +9826,8 @@ if test "${HAVE_X11}" = "yes"; then
9803do : 9826do :
9804 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` 9827 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
9805ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" 9828ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
9806if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : 9829eval as_val=\$$as_ac_Header
9830 if test "x$as_val" = x""yes; then :
9807 cat >>confdefs.h <<_ACEOF 9831 cat >>confdefs.h <<_ACEOF
9808#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 9832#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
9809_ACEOF 9833_ACEOF
@@ -10054,7 +10078,7 @@ if test "${HAVE_X11}" = "yes"; then
10054 MISSING="$MISSING libtiff" && WITH_NO="$WITH_NO --with-tiff=no" 10078 MISSING="$MISSING libtiff" && WITH_NO="$WITH_NO --with-tiff=no"
10055 10079
10056 if test "X${MISSING}" != X; then 10080 if test "X${MISSING}" != X; then
10057 as_fn_error $? "The following required libraries were not found: 10081 as_fn_error "The following required libraries were not found:
10058 $MISSING 10082 $MISSING
10059Maybe some development libraries/packages are missing? 10083Maybe some development libraries/packages are missing?
10060If you don't want to link with them give 10084If you don't want to link with them give
@@ -10376,7 +10400,8 @@ if test $ac_cv_os_cray = yes; then
10376 for ac_func in _getb67 GETB67 getb67; do 10400 for ac_func in _getb67 GETB67 getb67; do
10377 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` 10401 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
10378ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" 10402ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
10379if eval test \"x\$"$as_ac_var"\" = x"yes"; then : 10403eval as_val=\$$as_ac_var
10404 if test "x$as_val" = x""yes; then :
10380 10405
10381cat >>confdefs.h <<_ACEOF 10406cat >>confdefs.h <<_ACEOF
10382#define CRAY_STACKSEG_END $ac_func 10407#define CRAY_STACKSEG_END $ac_func
@@ -10440,7 +10465,7 @@ fi
10440 10465
10441 10466
10442if test x"$ac_cv_func_alloca_works" != xyes; then 10467if test x"$ac_cv_func_alloca_works" != xyes; then
10443 as_fn_error $? "a system implementation of alloca is required " "$LINENO" 5 10468 as_fn_error "a system implementation of alloca is required " "$LINENO" 5
10444fi 10469fi
10445 10470
10446# fmod, logb, and frexp are found in -lm on most systems. 10471# fmod, logb, and frexp are found in -lm on most systems.
@@ -10627,7 +10652,7 @@ fi
10627 10652
10628 10653
10629 if test $ac_cv_prog_liblockfile = yes; then 10654 if test $ac_cv_prog_liblockfile = yes; then
10630 as_fn_error $? "Shared liblockfile found but can't link against it. 10655 as_fn_error "Shared liblockfile found but can't link against it.
10631This probably means that movemail could lose mail. 10656This probably means that movemail could lose mail.
10632There may be a \`development' package to install containing liblockfile." "$LINENO" 5 10657There may be a \`development' package to install containing liblockfile." "$LINENO" 5
10633 else : 10658 else :
@@ -10670,7 +10695,8 @@ cfmakeraw cfsetspeed
10670do : 10695do :
10671 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` 10696 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
10672ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" 10697ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
10673if eval test \"x\$"$as_ac_var"\" = x"yes"; then : 10698eval as_val=\$$as_ac_var
10699 if test "x$as_val" = x""yes; then :
10674 cat >>confdefs.h <<_ACEOF 10700 cat >>confdefs.h <<_ACEOF
10675#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 10701#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
10676_ACEOF 10702_ACEOF
@@ -10701,7 +10727,8 @@ done
10701do : 10727do :
10702 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` 10728 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
10703ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" 10729ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
10704if eval test \"x\$"$as_ac_var"\" = x"yes"; then : 10730eval as_val=\$$as_ac_var
10731 if test "x$as_val" = x""yes; then :
10705 cat >>confdefs.h <<_ACEOF 10732 cat >>confdefs.h <<_ACEOF
10706#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 10733#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
10707_ACEOF 10734_ACEOF
@@ -10753,8 +10780,8 @@ static time_t time_t_max;
10753static time_t time_t_min; 10780static time_t time_t_min;
10754 10781
10755/* Values we'll use to set the TZ environment variable. */ 10782/* Values we'll use to set the TZ environment variable. */
10756static const char *tz_strings[] = { 10783static char *tz_strings[] = {
10757 (const char *) 0, "TZ=GMT0", "TZ=JST-9", 10784 (char *) 0, "TZ=GMT0", "TZ=JST-9",
10758 "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" 10785 "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"
10759}; 10786};
10760#define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) 10787#define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
@@ -10771,7 +10798,7 @@ spring_forward_gap ()
10771 instead of "TZ=America/Vancouver" in order to detect the bug even 10798 instead of "TZ=America/Vancouver" in order to detect the bug even
10772 on systems that don't support the Olson extension, or don't have the 10799 on systems that don't support the Olson extension, or don't have the
10773 full zoneinfo tables installed. */ 10800 full zoneinfo tables installed. */
10774 putenv ((char*) "TZ=PST8PDT,M4.1.0,M10.5.0"); 10801 putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
10775 10802
10776 tm.tm_year = 98; 10803 tm.tm_year = 98;
10777 tm.tm_mon = 3; 10804 tm.tm_mon = 3;
@@ -10784,14 +10811,16 @@ spring_forward_gap ()
10784} 10811}
10785 10812
10786static int 10813static int
10787mktime_test1 (time_t now) 10814mktime_test1 (now)
10815 time_t now;
10788{ 10816{
10789 struct tm *lt; 10817 struct tm *lt;
10790 return ! (lt = localtime (&now)) || mktime (lt) == now; 10818 return ! (lt = localtime (&now)) || mktime (lt) == now;
10791} 10819}
10792 10820
10793static int 10821static int
10794mktime_test (time_t now) 10822mktime_test (now)
10823 time_t now;
10795{ 10824{
10796 return (mktime_test1 (now) 10825 return (mktime_test1 (now)
10797 && mktime_test1 ((time_t) (time_t_max - now)) 10826 && mktime_test1 ((time_t) (time_t_max - now))
@@ -10815,7 +10844,8 @@ irix_6_4_bug ()
10815} 10844}
10816 10845
10817static int 10846static int
10818bigtime_test (int j) 10847bigtime_test (j)
10848 int j;
10819{ 10849{
10820 struct tm tm; 10850 struct tm tm;
10821 time_t now; 10851 time_t now;
@@ -10859,7 +10889,7 @@ year_2050_test ()
10859 instead of "TZ=America/Vancouver" in order to detect the bug even 10889 instead of "TZ=America/Vancouver" in order to detect the bug even
10860 on systems that don't support the Olson extension, or don't have the 10890 on systems that don't support the Olson extension, or don't have the
10861 full zoneinfo tables installed. */ 10891 full zoneinfo tables installed. */
10862 putenv ((char*) "TZ=PST8PDT,M4.1.0,M10.5.0"); 10892 putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
10863 10893
10864 t = mktime (&tm); 10894 t = mktime (&tm);
10865 10895
@@ -10894,7 +10924,7 @@ main ()
10894 for (i = 0; i < N_STRINGS; i++) 10924 for (i = 0; i < N_STRINGS; i++)
10895 { 10925 {
10896 if (tz_strings[i]) 10926 if (tz_strings[i])
10897 putenv ((char*) tz_strings[i]); 10927 putenv (tz_strings[i]);
10898 10928
10899 for (t = 0; t <= time_t_max - delta; t += delta) 10929 for (t = 0; t <= time_t_max - delta; t += delta)
10900 if (! mktime_test (t)) 10930 if (! mktime_test (t))
@@ -10946,7 +10976,7 @@ ac_have_func=no # yes means we've found a way to get the load average.
10946 10976
10947# Make sure getloadavg.c is where it belongs, at configure-time. 10977# Make sure getloadavg.c is where it belongs, at configure-time.
10948test -f "$srcdir/$ac_config_libobj_dir/getloadavg.c" || 10978test -f "$srcdir/$ac_config_libobj_dir/getloadavg.c" ||
10949 as_fn_error $? "$srcdir/$ac_config_libobj_dir/getloadavg.c is missing" "$LINENO" 5 10979 as_fn_error "$srcdir/$ac_config_libobj_dir/getloadavg.c is missing" "$LINENO" 5
10950 10980
10951ac_save_LIBS=$LIBS 10981ac_save_LIBS=$LIBS
10952 10982
@@ -12777,7 +12807,8 @@ for ac_func in fork vfork
12777do : 12807do :
12778 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` 12808 as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
12779ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" 12809ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
12780if eval test \"x\$"$as_ac_var"\" = x"yes"; then : 12810eval as_val=\$$as_ac_var
12811 if test "x$as_val" = x""yes; then :
12781 cat >>confdefs.h <<_ACEOF 12812 cat >>confdefs.h <<_ACEOF
12782#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 12813#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
12783_ACEOF 12814_ACEOF
@@ -13151,14 +13182,14 @@ if test "x$GCC" = xyes \
13151 && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \ 13182 && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \
13152 && test x"`echo $CFLAGS | grep '\-O[23]'`" != x \ 13183 && test x"`echo $CFLAGS | grep '\-O[23]'`" != x \
13153 && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then 13184 && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then
13154 as_fn_error $? "GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." "$LINENO" 5 13185 as_fn_error "GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." "$LINENO" 5
13155fi 13186fi
13156 13187
13157#### Find out which version of Emacs this is. 13188#### Find out which version of Emacs this is.
13158version=`grep 'defconst[ ]*emacs-version' ${srcdir}/lisp/version.el \ 13189version=`grep 'defconst[ ]*emacs-version' ${srcdir}/lisp/version.el \
13159 | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'` 13190 | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`
13160if test x"${version}" = x; then 13191if test x"${version}" = x; then
13161 as_fn_error $? "can't find current emacs version in \`${srcdir}/lisp/version.el'." "$LINENO" 5 13192 as_fn_error "can't find current emacs version in \`${srcdir}/lisp/version.el'." "$LINENO" 5
13162fi 13193fi
13163if test x"${version}" != x"$PACKAGE_VERSION"; then 13194if test x"${version}" != x"$PACKAGE_VERSION"; then
13164 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: version mismatch between \`${srcdir}/configure.in' and \`${srcdir}/lisp/version.el'." >&5 13195 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: version mismatch between \`${srcdir}/configure.in' and \`${srcdir}/lisp/version.el'." >&5
@@ -13367,11 +13398,6 @@ to run if these resources are not installed."
13367 echo 13398 echo
13368fi 13399fi
13369 13400
13370if test "$HAVE_DBUS" = yes && test "${opsys}" != "gnu-linux"; then
13371 echo "D-Bus integration has been tested for GNU/Linux only."
13372 echo
13373fi
13374
13375 13401
13376# Remove any trailing slashes in these variables. 13402# Remove any trailing slashes in these variables.
13377test "${prefix}" != NONE && 13403test "${prefix}" != NONE &&
@@ -13494,7 +13520,6 @@ DEFS=-DHAVE_CONFIG_H
13494 13520
13495ac_libobjs= 13521ac_libobjs=
13496ac_ltlibobjs= 13522ac_ltlibobjs=
13497U=
13498for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue 13523for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
13499 # 1. Remove the extension, and $U if already installed. 13524 # 1. Remove the extension, and $U if already installed.
13500 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' 13525 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -13656,19 +13681,19 @@ export LANGUAGE
13656(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 13681(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
13657 13682
13658 13683
13659# as_fn_error STATUS ERROR [LINENO LOG_FD] 13684# as_fn_error ERROR [LINENO LOG_FD]
13660# ---------------------------------------- 13685# ---------------------------------
13661# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are 13686# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
13662# provided, also output the error to LOG_FD, referencing LINENO. Then exit the 13687# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
13663# script with STATUS, using 1 if that was 0. 13688# script with status $?, using 1 if that was 0.
13664as_fn_error () 13689as_fn_error ()
13665{ 13690{
13666 as_status=$1; test $as_status -eq 0 && as_status=1 13691 as_status=$?; test $as_status -eq 0 && as_status=1
13667 if test "$4"; then 13692 if test "$3"; then
13668 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 13693 as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
13669 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 13694 $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
13670 fi 13695 fi
13671 $as_echo "$as_me: error: $2" >&2 13696 $as_echo "$as_me: error: $1" >&2
13672 as_fn_exit $as_status 13697 as_fn_exit $as_status
13673} # as_fn_error 13698} # as_fn_error
13674 13699
@@ -13864,7 +13889,7 @@ $as_echo X"$as_dir" |
13864 test -d "$as_dir" && break 13889 test -d "$as_dir" && break
13865 done 13890 done
13866 test -z "$as_dirs" || eval "mkdir $as_dirs" 13891 test -z "$as_dirs" || eval "mkdir $as_dirs"
13867 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" 13892 } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
13868 13893
13869 13894
13870} # as_fn_mkdir_p 13895} # as_fn_mkdir_p
@@ -13917,8 +13942,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
13917# report actual input values of CONFIG_FILES etc. instead of their 13942# report actual input values of CONFIG_FILES etc. instead of their
13918# values after options handling. 13943# values after options handling.
13919ac_log=" 13944ac_log="
13920This file was extended by emacs $as_me 23.2.50, which was 13945This file was extended by emacs $as_me 23.2.90, which was
13921generated by GNU Autoconf 2.67. Invocation command line was 13946generated by GNU Autoconf 2.65. Invocation command line was
13922 13947
13923 CONFIG_FILES = $CONFIG_FILES 13948 CONFIG_FILES = $CONFIG_FILES
13924 CONFIG_HEADERS = $CONFIG_HEADERS 13949 CONFIG_HEADERS = $CONFIG_HEADERS
@@ -13983,11 +14008,11 @@ _ACEOF
13983cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 14008cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
13984ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" 14009ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
13985ac_cs_version="\\ 14010ac_cs_version="\\
13986emacs config.status 23.2.50 14011emacs config.status 23.2.90
13987configured by $0, generated by GNU Autoconf 2.67, 14012configured by $0, generated by GNU Autoconf 2.65,
13988 with options \\"\$ac_cs_config\\" 14013 with options \\"\$ac_cs_config\\"
13989 14014
13990Copyright (C) 2010 Free Software Foundation, Inc. 14015Copyright (C) 2009 Free Software Foundation, Inc.
13991This config.status script is free software; the Free Software Foundation 14016This config.status script is free software; the Free Software Foundation
13992gives unlimited permission to copy, distribute and modify it." 14017gives unlimited permission to copy, distribute and modify it."
13993 14018
@@ -14003,16 +14028,11 @@ ac_need_defaults=:
14003while test $# != 0 14028while test $# != 0
14004do 14029do
14005 case $1 in 14030 case $1 in
14006 --*=?*) 14031 --*=*)
14007 ac_option=`expr "X$1" : 'X\([^=]*\)='` 14032 ac_option=`expr "X$1" : 'X\([^=]*\)='`
14008 ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` 14033 ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
14009 ac_shift=: 14034 ac_shift=:
14010 ;; 14035 ;;
14011 --*=)
14012 ac_option=`expr "X$1" : 'X\([^=]*\)='`
14013 ac_optarg=
14014 ac_shift=:
14015 ;;
14016 *) 14036 *)
14017 ac_option=$1 14037 ac_option=$1
14018 ac_optarg=$2 14038 ac_optarg=$2
@@ -14034,7 +14054,6 @@ do
14034 $ac_shift 14054 $ac_shift
14035 case $ac_optarg in 14055 case $ac_optarg in
14036 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; 14056 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
14037 '') as_fn_error $? "missing file argument" ;;
14038 esac 14057 esac
14039 as_fn_append CONFIG_FILES " '$ac_optarg'" 14058 as_fn_append CONFIG_FILES " '$ac_optarg'"
14040 ac_need_defaults=false;; 14059 ac_need_defaults=false;;
@@ -14047,7 +14066,7 @@ do
14047 ac_need_defaults=false;; 14066 ac_need_defaults=false;;
14048 --he | --h) 14067 --he | --h)
14049 # Conflict between --help and --header 14068 # Conflict between --help and --header
14050 as_fn_error $? "ambiguous option: \`$1' 14069 as_fn_error "ambiguous option: \`$1'
14051Try \`$0 --help' for more information.";; 14070Try \`$0 --help' for more information.";;
14052 --help | --hel | -h ) 14071 --help | --hel | -h )
14053 $as_echo "$ac_cs_usage"; exit ;; 14072 $as_echo "$ac_cs_usage"; exit ;;
@@ -14056,7 +14075,7 @@ Try \`$0 --help' for more information.";;
14056 ac_cs_silent=: ;; 14075 ac_cs_silent=: ;;
14057 14076
14058 # This is an error. 14077 # This is an error.
14059 -*) as_fn_error $? "unrecognized option: \`$1' 14078 -*) as_fn_error "unrecognized option: \`$1'
14060Try \`$0 --help' for more information." ;; 14079Try \`$0 --help' for more information." ;;
14061 14080
14062 *) as_fn_append ac_config_targets " $1" 14081 *) as_fn_append ac_config_targets " $1"
@@ -14124,7 +14143,7 @@ do
14124 "leim/Makefile") CONFIG_FILES="$CONFIG_FILES leim/Makefile" ;; 14143 "leim/Makefile") CONFIG_FILES="$CONFIG_FILES leim/Makefile" ;;
14125 "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; 14144 "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
14126 14145
14127 *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; 14146 *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
14128 esac 14147 esac
14129done 14148done
14130 14149
@@ -14162,7 +14181,7 @@ $debug ||
14162{ 14181{
14163 tmp=./conf$$-$RANDOM 14182 tmp=./conf$$-$RANDOM
14164 (umask 077 && mkdir "$tmp") 14183 (umask 077 && mkdir "$tmp")
14165} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 14184} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
14166 14185
14167# Set up the scripts for CONFIG_FILES section. 14186# Set up the scripts for CONFIG_FILES section.
14168# No need to generate them if there are no CONFIG_FILES. 14187# No need to generate them if there are no CONFIG_FILES.
@@ -14179,7 +14198,7 @@ if test "x$ac_cr" = x; then
14179fi 14198fi
14180ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` 14199ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
14181if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then 14200if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
14182 ac_cs_awk_cr='\\r' 14201 ac_cs_awk_cr='\r'
14183else 14202else
14184 ac_cs_awk_cr=$ac_cr 14203 ac_cs_awk_cr=$ac_cr
14185fi 14204fi
@@ -14193,18 +14212,18 @@ _ACEOF
14193 echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && 14212 echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
14194 echo "_ACEOF" 14213 echo "_ACEOF"
14195} >conf$$subs.sh || 14214} >conf$$subs.sh ||
14196 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 14215 as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
14197ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` 14216ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
14198ac_delim='%!_!# ' 14217ac_delim='%!_!# '
14199for ac_last_try in false false false false false :; do 14218for ac_last_try in false false false false false :; do
14200 . ./conf$$subs.sh || 14219 . ./conf$$subs.sh ||
14201 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 14220 as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
14202 14221
14203 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` 14222 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
14204 if test $ac_delim_n = $ac_delim_num; then 14223 if test $ac_delim_n = $ac_delim_num; then
14205 break 14224 break
14206 elif $ac_last_try; then 14225 elif $ac_last_try; then
14207 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 14226 as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
14208 else 14227 else
14209 ac_delim="$ac_delim!$ac_delim _$ac_delim!! " 14228 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
14210 fi 14229 fi
@@ -14293,28 +14312,20 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
14293else 14312else
14294 cat 14313 cat
14295fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ 14314fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
14296 || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 14315 || as_fn_error "could not setup config files machinery" "$LINENO" 5
14297_ACEOF 14316_ACEOF
14298 14317
14299# VPATH may cause trouble with some makes, so we remove sole $(srcdir), 14318# VPATH may cause trouble with some makes, so we remove $(srcdir),
14300# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and 14319# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
14301# trailing colons and then remove the whole line if VPATH becomes empty 14320# trailing colons and then remove the whole line if VPATH becomes empty
14302# (actually we leave an empty line to preserve line numbers). 14321# (actually we leave an empty line to preserve line numbers).
14303if test "x$srcdir" = x.; then 14322if test "x$srcdir" = x.; then
14304 ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ 14323 ac_vpsub='/^[ ]*VPATH[ ]*=/{
14305h 14324s/:*\$(srcdir):*/:/
14306s/// 14325s/:*\${srcdir}:*/:/
14307s/^/:/ 14326s/:*@srcdir@:*/:/
14308s/[ ]*$/:/ 14327s/^\([^=]*=[ ]*\):*/\1/
14309s/:\$(srcdir):/:/g
14310s/:\${srcdir}:/:/g
14311s/:@srcdir@:/:/g
14312s/^:*//
14313s/:*$// 14328s/:*$//
14314x
14315s/\(=[ ]*\).*/\1/
14316G
14317s/\n//
14318s/^[^=]*=[ ]*$// 14329s/^[^=]*=[ ]*$//
14319}' 14330}'
14320fi 14331fi
@@ -14342,7 +14353,7 @@ for ac_last_try in false false :; do
14342 if test -z "$ac_t"; then 14353 if test -z "$ac_t"; then
14343 break 14354 break
14344 elif $ac_last_try; then 14355 elif $ac_last_try; then
14345 as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 14356 as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
14346 else 14357 else
14347 ac_delim="$ac_delim!$ac_delim _$ac_delim!! " 14358 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
14348 fi 14359 fi
@@ -14427,7 +14438,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
14427_ACAWK 14438_ACAWK
14428_ACEOF 14439_ACEOF
14429cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 14440cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
14430 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 14441 as_fn_error "could not setup config headers machinery" "$LINENO" 5
14431fi # test -n "$CONFIG_HEADERS" 14442fi # test -n "$CONFIG_HEADERS"
14432 14443
14433 14444
@@ -14440,7 +14451,7 @@ do
14440 esac 14451 esac
14441 case $ac_mode$ac_tag in 14452 case $ac_mode$ac_tag in
14442 :[FHL]*:*);; 14453 :[FHL]*:*);;
14443 :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; 14454 :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
14444 :[FH]-) ac_tag=-:-;; 14455 :[FH]-) ac_tag=-:-;;
14445 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; 14456 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
14446 esac 14457 esac
@@ -14468,7 +14479,7 @@ do
14468 [\\/$]*) false;; 14479 [\\/$]*) false;;
14469 *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; 14480 *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
14470 esac || 14481 esac ||
14471 as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; 14482 as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
14472 esac 14483 esac
14473 case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac 14484 case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
14474 as_fn_append ac_file_inputs " '$ac_f'" 14485 as_fn_append ac_file_inputs " '$ac_f'"
@@ -14495,7 +14506,7 @@ $as_echo "$as_me: creating $ac_file" >&6;}
14495 14506
14496 case $ac_tag in 14507 case $ac_tag in
14497 *:-:* | *:-) cat >"$tmp/stdin" \ 14508 *:-:* | *:-) cat >"$tmp/stdin" \
14498 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; 14509 || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
14499 esac 14510 esac
14500 ;; 14511 ;;
14501 esac 14512 esac
@@ -14626,22 +14637,22 @@ s&@INSTALL@&$ac_INSTALL&;t t
14626$ac_datarootdir_hack 14637$ac_datarootdir_hack
14627" 14638"
14628eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ 14639eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
14629 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 14640 || as_fn_error "could not create $ac_file" "$LINENO" 5
14630 14641
14631test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && 14642test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
14632 { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && 14643 { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
14633 { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && 14644 { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
14634 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' 14645 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
14635which seems to be undefined. Please make sure it is defined" >&5 14646which seems to be undefined. Please make sure it is defined." >&5
14636$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' 14647$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
14637which seems to be undefined. Please make sure it is defined" >&2;} 14648which seems to be undefined. Please make sure it is defined." >&2;}
14638 14649
14639 rm -f "$tmp/stdin" 14650 rm -f "$tmp/stdin"
14640 case $ac_file in 14651 case $ac_file in
14641 -) cat "$tmp/out" && rm -f "$tmp/out";; 14652 -) cat "$tmp/out" && rm -f "$tmp/out";;
14642 *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; 14653 *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
14643 esac \ 14654 esac \
14644 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 14655 || as_fn_error "could not create $ac_file" "$LINENO" 5
14645 ;; 14656 ;;
14646 :H) 14657 :H)
14647 # 14658 #
@@ -14652,19 +14663,19 @@ which seems to be undefined. Please make sure it is defined" >&2;}
14652 $as_echo "/* $configure_input */" \ 14663 $as_echo "/* $configure_input */" \
14653 && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" 14664 && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
14654 } >"$tmp/config.h" \ 14665 } >"$tmp/config.h" \
14655 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 14666 || as_fn_error "could not create $ac_file" "$LINENO" 5
14656 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then 14667 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
14657 { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 14668 { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
14658$as_echo "$as_me: $ac_file is unchanged" >&6;} 14669$as_echo "$as_me: $ac_file is unchanged" >&6;}
14659 else 14670 else
14660 rm -f "$ac_file" 14671 rm -f "$ac_file"
14661 mv "$tmp/config.h" "$ac_file" \ 14672 mv "$tmp/config.h" "$ac_file" \
14662 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 14673 || as_fn_error "could not create $ac_file" "$LINENO" 5
14663 fi 14674 fi
14664 else 14675 else
14665 $as_echo "/* $configure_input */" \ 14676 $as_echo "/* $configure_input */" \
14666 && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ 14677 && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
14667 || as_fn_error $? "could not create -" "$LINENO" 5 14678 || as_fn_error "could not create -" "$LINENO" 5
14668 fi 14679 fi
14669 ;; 14680 ;;
14670 14681
@@ -14744,7 +14755,7 @@ _ACEOF
14744ac_clean_files=$ac_clean_files_save 14755ac_clean_files=$ac_clean_files_save
14745 14756
14746test $ac_write_fail = 0 || 14757test $ac_write_fail = 0 ||
14747 as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 14758 as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
14748 14759
14749 14760
14750# configure is writing to config.log, and then calls config.status. 14761# configure is writing to config.log, and then calls config.status.
@@ -14765,7 +14776,7 @@ if test "$no_create" != yes; then
14765 exec 5>>config.log 14776 exec 5>>config.log
14766 # Use ||, not &&, to avoid exiting from the if with $? = 1, which 14777 # Use ||, not &&, to avoid exiting from the if with $? = 1, which
14767 # would make configure fail if this is the last instruction. 14778 # would make configure fail if this is the last instruction.
14768 $ac_cs_success || as_fn_exit 1 14779 $ac_cs_success || as_fn_exit $?
14769fi 14780fi
14770if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then 14781if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
14771 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 14782 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff --git a/configure.in b/configure.in
index 304f6ab2f91..ac42e7cfde1 100644
--- a/configure.in
+++ b/configure.in
@@ -22,7 +22,7 @@ dnl You should have received a copy of the GNU General Public License
22dnl along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. 22dnl along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
23 23
24AC_PREREQ(2.62) 24AC_PREREQ(2.62)
25AC_INIT(emacs, 23.2.50) 25AC_INIT(emacs, 23.2.90)
26AC_CONFIG_HEADER(src/config.h:src/config.in) 26AC_CONFIG_HEADER(src/config.h:src/config.in)
27AC_CONFIG_SRCDIR(src/lisp.h) 27AC_CONFIG_SRCDIR(src/lisp.h)
28 28
@@ -169,6 +169,12 @@ if test "X${with_pkg_config_prog}" != X; then
169 fi 169 fi
170fi 170fi
171 171
172CRT_DIR=
173AC_ARG_WITH([crt-dir],dnl
174[AS_HELP_STRING([--with-crt-dir=DIR],[directory containing crtn.o etc.
175This option is only used on x86-64 and s390x GNU/Linux architectures.])])
176CRT_DIR="${with_crt_dir}"
177
172AC_ARG_WITH([gnustep-conf],dnl 178AC_ARG_WITH([gnustep-conf],dnl
173[AS_HELP_STRING([--with-gnustep-conf=PATH],[path to GNUstep.conf; default $GNUSTEP_CONFIG_FILE, or /etc/GNUstep/GNUstep.conf])]) 179[AS_HELP_STRING([--with-gnustep-conf=PATH],[path to GNUstep.conf; default $GNUSTEP_CONFIG_FILE, or /etc/GNUstep/GNUstep.conf])])
174test "X${with_gnustep_conf}" != X && test "${with_gnustep_conf}" != yes && \ 180test "X${with_gnustep_conf}" != X && test "${with_gnustep_conf}" != yes && \
@@ -996,18 +1002,28 @@ AC_CONFIG_LIBOBJ_DIR(src)
996dnl Do this early because it can frob feature test macros for Unix-98 &c. 1002dnl Do this early because it can frob feature test macros for Unix-98 &c.
997AC_SYS_LARGEFILE 1003AC_SYS_LARGEFILE
998 1004
999 1005## Note: at present CRT_DIR is only used for amdx86-64 and ibms390x.
1000### The standard library on x86-64 and s390x GNU/Linux distributions can 1006## Other machine types hard-code the location in src/[ms]/*.h.
1001### be located in either /usr/lib64 or /usr/lib.
1002### In some rare cases, /usr/lib64 exists but does not contain the
1003### relevant files (bug#1287). Hence test for crtn.o.
1004case "${canonical}" in 1007case "${canonical}" in
1005 x86_64-*-linux-gnu* | s390x-*-linux-gnu* ) 1008 x86_64-*-linux-gnu* | s390x-*-linux-gnu* )
1006 if test -e /usr/lib64/crtn.o; then 1009 ## On x86-64 and s390x GNU/Linux distributions, the standard library
1007 AC_DEFINE(HAVE_LIB64_DIR, 1, 1010 ## can be in a variety of places. We only try /usr/lib64 and /usr/lib.
1008 [Define to 1 if the directory /usr/lib64 exists.]) 1011 ## For anything else (eg /usr/lib32), it is up the user to specify
1009fi 1012 ## the location (bug#5655).
1013 ## Test for crtn.o, not just the directory, because sometimes the
1014 ## directory exists but does not have the relevant files (bug#1287).
1015 ## If user specified a crt-dir, use that unconditionally.
1016 if test "X$CRT_DIR" = "X"; then
1017 CRT_DIR=/usr/lib
1018 test -e /usr/lib64/crtn.o && CRT_DIR=/usr/lib64
1019 fi
1020
1021 test -e $CRT_DIR/crtn.o || test -e $CRT_DIR/crt0.o || \
1022 AC_MSG_ERROR([crt*.o not found. Use --with-crt-dir to specify the location.])
1023 ;;
1010esac 1024esac
1025test "X$CRT_DIR" = "X" && CRT_DIR=/usr/lib
1026AC_SUBST(CRT_DIR)
1011 1027
1012dnl This function defintion taken from Gnome 2.0 1028dnl This function defintion taken from Gnome 2.0
1013dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) 1029dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
@@ -1760,6 +1776,8 @@ if test "${HAVE_X11}" = "yes" && test "${with_gconf}" = "yes"; then
1760 PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.13, HAVE_GCONF=yes, HAVE_GCONF=no) 1776 PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.13, HAVE_GCONF=yes, HAVE_GCONF=no)
1761 if test "$HAVE_GCONF" = yes; then 1777 if test "$HAVE_GCONF" = yes; then
1762 AC_DEFINE(HAVE_GCONF, 1, [Define to 1 if using GConf.]) 1778 AC_DEFINE(HAVE_GCONF, 1, [Define to 1 if using GConf.])
1779 dnl Newer GConf doesn't link with g_objects, so this is not defined.
1780 AC_CHECK_FUNCS([g_type_init])
1763 fi 1781 fi
1764fi 1782fi
1765 1783
@@ -2911,15 +2929,19 @@ extern char *getenv ();
2911#ifdef HAVE_STDLIB_H 2929#ifdef HAVE_STDLIB_H
2912#include <stdlib.h> 2930#include <stdlib.h>
2913#endif 2931#endif
2914#ifndef __GNUC__ 2932#ifdef HAVE_ALLOCA_H
2915# ifdef HAVE_ALLOCA_H 2933# include <alloca.h>
2916# include <alloca.h> 2934#elif defined __GNUC__
2917# else /* AIX files deal with #pragma. */ 2935# define alloca __builtin_alloca
2918# ifndef alloca /* predefined by HP cc +Olibcalls */ 2936#elif defined _AIX
2919char *alloca (); 2937# define alloca __alloca
2920# endif 2938#else
2921# endif /* HAVE_ALLOCA_H */ 2939# include <stddef.h>
2922#endif /* __GNUC__ */ 2940# ifdef __cplusplus
2941extern "C"
2942# endif
2943void *alloca (size_t);
2944#endif
2923#ifndef HAVE_SIZE_T 2945#ifndef HAVE_SIZE_T
2924typedef unsigned size_t; 2946typedef unsigned size_t;
2925#endif 2947#endif
@@ -3054,11 +3076,6 @@ to run if these resources are not installed."
3054 echo 3076 echo
3055fi 3077fi
3056 3078
3057if test "$HAVE_DBUS" = yes && test "${opsys}" != "gnu-linux"; then
3058 echo "D-Bus integration has been tested for GNU/Linux only."
3059 echo
3060fi
3061
3062 3079
3063# Remove any trailing slashes in these variables. 3080# Remove any trailing slashes in these variables.
3064[test "${prefix}" != NONE && 3081[test "${prefix}" != NONE &&
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index b5a5c700688..91cabc40c9d 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,33 @@
12010-11-23 Bob Rogers <rogers-emacs@rgrjr.dyndns.org>
2
3 * maintaining.texi (VC With A Locking VCS, VC Directory Commands):
4 * vc1-xtra.texi (Customizing VC, General VC Options): Small fixes.
5
62010-11-21 Chong Yidong <cyd@stupidchicken.com>
7
8 * maintaining.texi (Version Control Systems): Fix repeated sentence.
9 Suggested by Štěpán Němec.
10
112010-11-20 Chong Yidong <cyd@stupidchicken.com>
12
13 * maintaining.texi (Version Control): Say "commit", not "check in".
14 (Version Control Systems): Simplify descriptions.
15 (VCS Merging, VCS Changesets, VCS Repositories): New nodes, split from
16 VCS Concepts.
17 (VC Mode Line): Update example.
18 (Old Revisions): Document revert-buffer for vc-diff.
19 (Log Buffer): Promote to a subsection. Document header lines.
20
21 * macos.texi (Mac / GNUstep Basics): Document
22 ns-right-alternate-modifier.
23
24 * emacs.texi (Top): Update node listing.
25
262010-11-06 Eli Zaretskii <eliz@gnu.org>
27
28 * msdog.texi (Windows HOME): Add information regarding startup
29 directory when invoking Emacs from a desktop shortcut. (bug#7300)
30
12010-09-14 Glenn Morris <rgm@gnu.org> 312010-09-14 Glenn Morris <rgm@gnu.org>
2 32
3 * cal-xtra.texi (Fancy Diary Display): Emphasize that sort should be 33 * cal-xtra.texi (Fancy Diary Display): Emphasize that sort should be
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 50a7dcc1b5b..91ce399d4c1 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -5,7 +5,7 @@
5 5
6@c The edition number appears in several places in this file 6@c The edition number appears in several places in this file
7@set EDITION Sixteenth 7@set EDITION Sixteenth
8@set EMACSVER 23.2.50 8@set EMACSVER 23.2.90
9 9
10@copying 10@copying
11This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@* 11This is the @value{EDITION} edition of the @cite{GNU Emacs Manual},@*
@@ -770,6 +770,7 @@ Version Control
770* Introduction to VC:: How version control works in general. 770* Introduction to VC:: How version control works in general.
771* VC Mode Line:: How the mode line shows version control status. 771* VC Mode Line:: How the mode line shows version control status.
772* Basic VC Editing:: How to edit a file under version control. 772* Basic VC Editing:: How to edit a file under version control.
773* Log Buffer:: Features available in log entry buffers.
773* Old Revisions:: Examining and comparing old versions. 774* Old Revisions:: Examining and comparing old versions.
774* Secondary VC Commands:: The commands used a little less frequently. 775* Secondary VC Commands:: The commands used a little less frequently.
775* VC Directory Mode:: Listing files managed by version control. 776* VC Directory Mode:: Listing files managed by version control.
@@ -784,6 +785,9 @@ Introduction to Version Control
784* Why Version Control?:: Understanding the problems it addresses. 785* Why Version Control?:: Understanding the problems it addresses.
785* Version Control Systems:: Supported version control back-end systems. 786* Version Control Systems:: Supported version control back-end systems.
786* VCS Concepts:: Words and concepts related to version control. 787* VCS Concepts:: Words and concepts related to version control.
788* VCS Merging:: How file conflicts are handled.
789* VCS Changesets:: Changesets in version control.
790* VCS Repositories:: Where version control repositories are stored.
787* Types of Log File:: The VCS log in contrast to the ChangeLog. 791* Types of Log File:: The VCS log in contrast to the ChangeLog.
788 792
789Basic Editing under Version Control 793Basic Editing under Version Control
@@ -791,7 +795,6 @@ Basic Editing under Version Control
791* VC With A Merging VCS:: Without locking: default mode for CVS. 795* VC With A Merging VCS:: Without locking: default mode for CVS.
792* VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS. 796* VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS.
793* Advanced C-x v v:: Advanced features available with a prefix argument. 797* Advanced C-x v v:: Advanced features available with a prefix argument.
794* Log Buffer:: Features available in log entry buffers.
795 798
796The Secondary Commands of VC 799The Secondary Commands of VC
797 800
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi
index 6fa5666ba6f..044a722a07a 100644
--- a/doc/emacs/macos.texi
+++ b/doc/emacs/macos.texi
@@ -8,23 +8,22 @@
8@cindex Macintosh 8@cindex Macintosh
9@cindex GNUstep 9@cindex GNUstep
10 10
11 This section briefly describes the peculiarities of using Emacs built with 11 This section describes the peculiarities of using Emacs built with
12the GNUstep libraries on GNU/Linux or other operating systems, or on Mac OS X 12the GNUstep libraries on GNU/Linux or other operating systems, or on
13with native window system support. For Mac OS X, Emacs can be built either 13Mac OS X with native window system support. On Mac OS X, Emacs can be
14without window system support, with X11, or with the Cocoa interface. This 14built either without window system support, with X11, or with the
15section only applies to the Cocoa build. Emacs 23 does not support Mac OS 15Cocoa interface; this section only applies to the Cocoa build. Emacs
16Classic. 16does not support earlier versions of Mac OS.
17 17
18 Emacs, when built on Mac OS X, uses the Cocoa application interface. For 18 For various historical and technical reasons, Emacs uses the term
19various historical and technical reasons, Emacs uses the term @samp{Nextstep} 19@samp{Nextstep} internally, instead of ``Cocoa'' or ``Mac OS X''; for
20internally, instead of ``Cocoa'' or ``Mac OS X''; for instance, most of the 20instance, most of the commands and variables described in this section
21commands and variables described in the following sections begin with 21begin with @samp{ns-}, which is short for @samp{Nextstep}. NeXTstep
22@samp{ns-}, which is short for @samp{Nextstep}. NeXTstep was an application 22was an application interface released by NeXT Inc during the 1980s, of
23interface released by NeXT Inc during the 1980s, of which Cocoa is a direct 23which Cocoa is a direct descendant. Apart from Cocoa, there is
24descendant. Apart from Cocoa, there is another NeXTstep-style system: 24another NeXTstep-style system: GNUstep, which is free software. As of
25GNUstep, which is free software. As of this writing, the GNUstep support is 25this writing, the GNUstep support is alpha status (@pxref{GNUstep
26alpha status (@pxref{GNUstep Support}), but we hope to improve it in the 26Support}), but we hope to improve it in the future.
27future.
28 27
29@menu 28@menu
30* Mac / GNUstep Basics:: Basic Emacs usage under GNUstep or Mac OS. 29* Mac / GNUstep Basics:: Basic Emacs usage under GNUstep or Mac OS.
@@ -37,19 +36,24 @@ future.
37@section Basic Emacs usage under Mac OS and GNUstep 36@section Basic Emacs usage under Mac OS and GNUstep
38 37
39 By default, the @key{alt} and @key{option} keys are the same as 38 By default, the @key{alt} and @key{option} keys are the same as
40@key{Meta} when running under Mac OS. The Mac @key{Cmd} key is the 39@key{Meta}. The Mac @key{Cmd} key is the same as @key{Super}, and
41same as @key{Super}, and Emacs provides a set of keybindings using 40Emacs provides a set of keybindings using this modifier key that mimic
42this modifier key that mimic other Mac / GNUstep applications (@pxref{Mac / 41other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You
43GNUstep Events}). You can change these bindings in the usual way (@pxref{Key 42can change these bindings in the usual way (@pxref{Key Bindings}).
44Bindings}). 43
45 44 The variable @code{ns-right-alternate-modifier} controls the
46 The standard Mac / GNUstep font and color panels are accessible via Lisp commands. 45behavior of the right @key{alt} and @key{option} keys. These keys
47 To use the color panel, drag from it to an Emacs frame to change the 46behave like the left-hand keys if the value is @code{left} (the
48foreground color of the face at that position (if the @key{shift} key 47default). A value of @code{control}, @code{meta}, @code{alt},
49is held down, it changes the background color instead). To discard the 48@code{super}, or @code{hyper} makes them behave like the corresponding
50settings, create a new frame and close the altered one. 49modifier keys; a value of @code{none} tells Emacs to ignore them.
51@c [unclear if the following holds.] 50
52@c To finalize the settings for either color or font, choose @samp{Save Options} in the @samp{Options} menu. 51 The standard Mac / GNUstep font and color panels are accessible via
52Lisp commands. To use the color panel, drag from it to an Emacs frame
53to change the foreground color of the face at that position (if the
54@key{shift} key is held down, it changes the background color
55instead). To discard the settings, create a new frame and close the
56altered one.
53 57
54 @key{S-Mouse-1} (i.e., clicking the left mouse button 58 @key{S-Mouse-1} (i.e., clicking the left mouse button
55while holding down the @key{Shift} key) adjusts the region to the 59while holding down the @key{Shift} key) adjusts the region to the
@@ -58,7 +62,7 @@ it does not pop up a menu for changing the default face, as
58@key{S-Mouse-1} normally does (@pxref{Temporary Face Changes}). This 62@key{S-Mouse-1} normally does (@pxref{Temporary Face Changes}). This
59change makes Emacs behave more like other Mac / GNUstep applications. 63change makes Emacs behave more like other Mac / GNUstep applications.
60 64
61 When you open or save files using the menus, or using the 65 When you open or save files using the menus, or using the
62@key{Cmd-o} and @key{Cmd-S} bindings, Emacs uses graphical file 66@key{Cmd-o} and @key{Cmd-S} bindings, Emacs uses graphical file
63dialogs to read file names. However, if you use the regular Emacs key 67dialogs to read file names. However, if you use the regular Emacs key
64sequences, such as @key{C-x C-f}, Emacs uses the minibuffer to read 68sequences, such as @key{C-x C-f}, Emacs uses the minibuffer to read
@@ -110,7 +114,7 @@ dragging will alter the foreground color. Shift dragging will alter the
110background color. 114background color.
111 115
112@c To make the changes permanent select the "Save Options" 116@c To make the changes permanent select the "Save Options"
113@c item in the "Options" menu, or run @code{menu-bar-options-save}. 117@c item in the "Options" menu, or run @code{menu-bar-options-save}.
114 118
115Useful in this context is the listing of all faces obtained by @key{M-x} 119Useful in this context is the listing of all faces obtained by @key{M-x}
116@code{list-faces-display}. 120@code{list-faces-display}.
@@ -193,7 +197,7 @@ font are stored in the variables @code{ns-input-font} and
193@code{ns-input-fontsize}, respectively. 197@code{ns-input-fontsize}, respectively.
194 198
195@item ns-power-off 199@item ns-power-off
196This event occurs when the user logs out and Emacs is still running, or when 200This event occurs when the user logs out and Emacs is still running, or when
197`Quit Emacs' is chosen from the application menu. 201`Quit Emacs' is chosen from the application menu.
198The default behavior is to save all file-visiting buffers. 202The default behavior is to save all file-visiting buffers.
199@end table 203@end table
@@ -208,26 +212,9 @@ and return the result as a string. You can also use the Lisp function
208services and receive the results back. Note that you may need to 212services and receive the results back. Note that you may need to
209restart Emacs to access newly-available services. 213restart Emacs to access newly-available services.
210 214
211
212@node GNUstep Support, , Mac / GNUstep Events, Mac OS / GNUstep 215@node GNUstep Support, , Mac / GNUstep Events, Mac OS / GNUstep
213@section GNUstep Support 216@section GNUstep Support
214 217
215Emacs can be built and run under GNUstep, however there are still some 218Emacs can be built and run under GNUstep, but there are still some
216issues to be addressed. Interested developers should contact 219issues to be addressed. Interested developers should contact
217@email{emacs-devel@@gnu.org}. 220@email{emacs-devel@@gnu.org}.
218
219@c Presumably no longer relevant since CANNOT_DUMP removed 2009-05-06:
220@ignore
221In particular, it may be necessary to run @samp{make bootstrap} with a
222plain X configuration, then @samp{make clean} and @samp{./configure
223--with-ns} followed by @samp{make install}.
224
225Currently CANNOT_DUMP is automatically enabled in GNUstep configurations,
226because the unex file(s) for GNUstep, mainly @samp{unexelf.c}, have not been
227updated yet with the ``zone'' code in and related to @samp{unexmacosx.c}.
228@end ignore
229
230
231@ignore
232 arch-tag: a822c2ab-4273-4997-927e-c153bb71dcf6
233@end ignore
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index f5a93ec60e7..a2240330a9d 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -24,20 +24,20 @@ programs.
24@section Version Control 24@section Version Control
25@cindex version control 25@cindex version control
26 26
27 A @dfn{version control system} is a package that can record multiple 27 A @dfn{version control system} is a program that can record multiple
28versions of a source file, storing information such as the creation 28versions of a source file, storing information such as the creation
29time of each version, who created it, and a description of what was 29time of each version, who made it, and a description of what was
30changed in that version. 30changed.
31 31
32 The Emacs version control interface is called VC. Its commands work 32 The Emacs version control interface is called @dfn{VC}. VC commands
33with several different version control systems; currently, it supports 33work with several different version control systems; currently, it
34GNU Arch, Bazaar, CVS, Git, Mercurial, Monotone, RCS, SCCS/CSSC, and 34supports GNU Arch, Bazaar, CVS, Git, Mercurial, Monotone, RCS,
35Subversion. Of these, the GNU project distributes CVS, GNU Arch, RCS, 35SCCS/CSSC, and Subversion. Of these, the GNU project distributes CVS,
36and Bazaar. 36Arch, RCS, and Bazaar.
37 37
38 VC is enabled automatically whenever you visit a file that is 38 VC is enabled automatically whenever you visit a file governed by a
39governed by a version control system. To disable VC entirely, set the 39version control system. To disable VC entirely, set the customizable
40customizable variable @code{vc-handled-backends} to @code{nil} 40variable @code{vc-handled-backends} to @code{nil}
41@iftex 41@iftex
42(@pxref{Customizing VC,,,emacs-xtra, Specialized Emacs Features}). 42(@pxref{Customizing VC,,,emacs-xtra, Specialized Emacs Features}).
43@end iftex 43@end iftex
@@ -49,6 +49,7 @@ customizable variable @code{vc-handled-backends} to @code{nil}
49* Introduction to VC:: How version control works in general. 49* Introduction to VC:: How version control works in general.
50* VC Mode Line:: How the mode line shows version control status. 50* VC Mode Line:: How the mode line shows version control status.
51* Basic VC Editing:: How to edit a file under version control. 51* Basic VC Editing:: How to edit a file under version control.
52* Log Buffer:: Features available in log entry buffers.
52* Old Revisions:: Examining and comparing old versions. 53* Old Revisions:: Examining and comparing old versions.
53* Secondary VC Commands:: The commands used a little less frequently. 54* Secondary VC Commands:: The commands used a little less frequently.
54* VC Directory Mode:: Listing files managed by version control. 55* VC Directory Mode:: Listing files managed by version control.
@@ -65,12 +66,13 @@ customizable variable @code{vc-handled-backends} to @code{nil}
65@subsection Introduction to Version Control 66@subsection Introduction to Version Control
66 67
67 VC allows you to use a version control system from within Emacs, 68 VC allows you to use a version control system from within Emacs,
68integrating the version control operations smoothly with editing. 69integrating the version control operations smoothly with editing. It
69Though VC cannot completely bridge the gaps between version control 70provides a uniform interface for common operations in many version
70systems with widely differing capabilities, it does provide a uniform 71control operations.
71interface to many version control operations. Regardless of which 72
72version control system is in use, you will be able to do basic 73 Some uncommon or intricate version control operations, such as
73operations in much the same way. 74altering repository settings, are not supported in VC. You should
75perform such tasks outside Emacs, e.g. via the command line.
74 76
75 This section provides a general overview of version control, and 77 This section provides a general overview of version control, and
76describes the version control systems that VC supports. You can skip 78describes the version control systems that VC supports. You can skip
@@ -81,6 +83,9 @@ you want to use.
81* Why Version Control?:: Understanding the problems it addresses. 83* Why Version Control?:: Understanding the problems it addresses.
82* Version Control Systems:: Supported version control back-end systems. 84* Version Control Systems:: Supported version control back-end systems.
83* VCS Concepts:: Words and concepts related to version control. 85* VCS Concepts:: Words and concepts related to version control.
86* VCS Merging:: How file conflicts are handled.
87* VCS Changesets:: How changes are grouped.
88* VCS Repositories:: Where version control repositories are stored.
84* Types of Log File:: The VCS log in contrast to the ChangeLog. 89* Types of Log File:: The VCS log in contrast to the ChangeLog.
85@end menu 90@end menu
86 91
@@ -112,8 +117,8 @@ vitally important form of communication among developers.
112@subsubsection Supported Version Control Systems 117@subsubsection Supported Version Control Systems
113 118
114@cindex back end (version control) 119@cindex back end (version control)
115 VC currently works with many different version control systems or 120 VC currently works with many different version control systems,
116@dfn{back ends}: 121which it refers to as @dfn{back ends}:
117 122
118@itemize @bullet 123@itemize @bullet
119 124
@@ -134,73 +139,60 @@ control system.
134@cindex RCS 139@cindex RCS
135@item 140@item
136RCS is the free version control system around which VC was initially 141RCS is the free version control system around which VC was initially
137built. Almost everything you can do with RCS can be done through VC. 142built. It is relatively primitive: it cannot be used over the
138However, you cannot use RCS over the network, and it only works at the 143network, and works at the level of individual files. Almost
139level of individual files rather than projects. 144everything you can do with RCS can be done through VC.
140 145
141@cindex CVS 146@cindex CVS
142@item 147@item
143CVS is the free version control system that was, until recently (circa 148CVS is the free version control system that was, until recently (circa
1442008), used by the majority of free software projects. Nowadays, it 1492008), used by the majority of free software projects. Nowadays, it
145is slowly being superseded by newer systems. CVS allows concurrent 150is slowly being superseded by newer systems. CVS allows concurrent
146multi-user development either locally or over the network. It lacks 151multi-user development either locally or over the network. Unlike
147support for atomic commits or file moving/renaming. VC supports all 152newer systems, it lacks support for atomic commits and file
148basic editing operations under CVS. For some less common tasks, you 153moving/renaming. VC supports all basic editing operations under CVS.
149still need to call CVS from the command line. Note also that before
150using CVS you must set up a repository, which is a subject too complex
151to treat here.
152 154
153@cindex SVN 155@cindex SVN
154@cindex Subversion 156@cindex Subversion
155@item 157@item
156Subversion (SVN) is a free version control system designed to be 158Subversion (SVN) is a free version control system designed to be
157similar to CVS but without its problems. It supports atomic commits 159similar to CVS but without its problems (e.g., it supports atomic
158of filesets, and versioning of directories, symbolic links, meta-data, 160commits of filesets, and versioning of directories, symbolic links,
159renames, copies, and deletes. 161meta-data, renames, copies, and deletes).
160 162
161@cindex GNU Arch 163@cindex GNU Arch
162@cindex Arch 164@cindex Arch
163@item 165@item
164GNU Arch is a version control system designed for distributed work. 166GNU Arch is one of the earliest @dfn{distributed} version control
165It differs in many ways from older systems like CVS and RCS. It 167systems (the other being Monotone). @xref{VCS Concepts}, for a
166provides different methods for interoperating between users, support 168description of distributed version control systems. It is no longer
167for offline operations, and good branching and merging features. It 169under active development, and has been deprecated in favor of Bazaar.
168also supports atomic commits of filesets and file moving/renaming. VC
169does not support all operations provided by GNU Arch, so you must
170sometimes invoke it from the command line.
171 170
172@cindex git 171@cindex git
173@item 172@item
174Git is a distributed version control system invented by Linus Torvalds to support 173Git is a distributed version control system originally invented by
175development of Linux (his kernel). It supports atomic commits of filesets and 174Linus Torvalds to support development of Linux (his kernel). VC
176file moving/renaming. One significant feature of git is that it 175supports many common git operations, but others, such as repository
177largely abolishes the notion of a single centralized repository; 176syncing, must be done from the command line.
178instead, each working copy of a git project is its own repository and
179coordination is done through repository-sync operations. VC supports
180most git operations, with the exception of news merges and repository
181syncing; these must be done from the command line.
182 177
183@cindex hg 178@cindex hg
184@cindex Mercurial 179@cindex Mercurial
185@item 180@item
186Mercurial (hg) is a distributed version control system broadly 181Mercurial (hg) is a distributed version control system broadly
187resembling GNU Arch and git, with atomic fileset commits and file 182resembling git. VC supports most Mercurial commands, with the
188moving/renaming. Like git, it is fully decentralized. VC supports 183exception of repository sync operations.
189most Mercurial commands, with the exception of repository sync
190operations; this needs to be done from the command line.
191 184
192@cindex bzr 185@cindex bzr
193@cindex Bazaar 186@cindex Bazaar
194@item 187@item
195Bazaar (bzr) is a distributed version control system that supports both 188Bazaar (bzr) is a distributed version control system that supports
196repository-based and distributed versioning, with atomic fileset 189both repository-based and distributed versioning. VC supports most
197commits and file moving/renaming. VC supports most basic editing 190basic editing operations under Bazaar.
198operations under Bazaar.
199@end itemize 191@end itemize
200 192
201 Previous versions of VC supported a version control system known as 193 Previous versions of VC supported a version control system known as
202Meta-CVS. This support has been dropped because of limited interest 194Meta-CVS. This support was dropped due to limited interest from users
203from users and developers. 195and developers.
204 196
205@node VCS Concepts 197@node VCS Concepts
206@subsubsection Concepts of Version Control 198@subsubsection Concepts of Version Control
@@ -216,11 +208,11 @@ as @dfn{log entries} that describe the changes made to each file.
216 208
217@cindex work file 209@cindex work file
218@cindex checking out files 210@cindex checking out files
219 A file @dfn{checked out} of a repository is called the @dfn{work 211 The copy of a version-controlled file that you actually edit is
220file}. You edit the work file and make changes in it, as you would 212called the @dfn{work file}. You can change each work file as you
221with an ordinary file. After you are done with a set of changes, you 213would an ordinary file. After you are done with a set of changes, you
222@dfn{check in} or @dfn{commit} the file; this records the changes in 214@dfn{commit} (or @dfn{check in}) the changes; this records the changes
223the repository, along with a log entry for those changes. 215in the repository, along with a descriptive log entry.
224 216
225@cindex revision 217@cindex revision
226@cindex revision ID 218@cindex revision ID
@@ -231,12 +223,15 @@ on the version control system; in the simplest case, it is just an
231integer. 223integer.
232 224
233 To go beyond these basic concepts, you will need to understand three 225 To go beyond these basic concepts, you will need to understand three
234aspects in which version control systems differ. 226aspects in which version control systems differ. As explained in the
235They can be locking-based or merging-based; they can be file-based or 227next three sections, they can be lock-based or merge-based; file-based
236changeset-based; and they can be centralized or decentralized. VC 228or changeset-based; and centralized or decentralized. VC handles all
237handles all these modes of operation, but it cannot hide the differences. 229these modes of operation, but it cannot hide the differences.
238 230
231@node VCS Merging
232@subsubsection Merge-based vs lock-based Version Control
239@cindex locking versus merging 233@cindex locking versus merging
234
240 A version control system typically has some mechanism to coordinate 235 A version control system typically has some mechanism to coordinate
241between users who want to change the same file. There are two ways to 236between users who want to change the same file. There are two ways to
242do this: merging and locking. 237do this: merging and locking.
@@ -244,8 +239,7 @@ do this: merging and locking.
244 In a version control system that uses merging, each user may check 239 In a version control system that uses merging, each user may check
245out and modify a work file at any time. The system lets you 240out and modify a work file at any time. The system lets you
246@dfn{merge} your work file, which may contain changes that have not 241@dfn{merge} your work file, which may contain changes that have not
247been checked in, with the latest changes that others have checked into 242been committed, with the latest changes that others have committed.
248the repository.
249 243
250 Older version control systems use a @dfn{locking} scheme instead. 244 Older version control systems use a @dfn{locking} scheme instead.
251Here, work files are normally read-only. To edit a file, you ask the 245Here, work files are normally read-only. To edit a file, you ask the
@@ -253,7 +247,7 @@ version control system to make it writable for you by @dfn{locking}
253it; only one user can lock a given file at any given time. This 247it; only one user can lock a given file at any given time. This
254procedure is analogous to, but different from, the locking that Emacs 248procedure is analogous to, but different from, the locking that Emacs
255uses to detect simultaneous editing of ordinary files 249uses to detect simultaneous editing of ordinary files
256(@pxref{Interlocking}). When you check in your changes, that unlocks 250(@pxref{Interlocking}). When you commit your changes, that unlocks
257the file, and the work file becomes read-only again. Other users may 251the file, and the work file becomes read-only again. Other users may
258then lock the file to make their own changes. 252then lock the file to make their own changes.
259 253
@@ -261,8 +255,8 @@ then lock the file to make their own changes.
261users try to modify the same file at the same time. Locking systems 255users try to modify the same file at the same time. Locking systems
262have @dfn{lock conflicts}; a user may try to check a file out and be 256have @dfn{lock conflicts}; a user may try to check a file out and be
263unable to because it is locked. In merging systems, @dfn{merge 257unable to because it is locked. In merging systems, @dfn{merge
264conflicts} happen when you check in a change to a file that conflicts 258conflicts} happen when you commit a change to a file that conflicts
265with a change checked in by someone else after your checkout. Both 259with a change committed by someone else after your checkout. Both
266kinds of conflict have to be resolved by human judgment and 260kinds of conflict have to be resolved by human judgment and
267communication. Experience has shown that merging is superior to 261communication. Experience has shown that merging is superior to
268locking, both in convenience to developers and in minimizing the 262locking, both in convenience to developers and in minimizing the
@@ -275,27 +269,33 @@ Distributed version control systems, such as GNU Arch, git, and
275Mercurial, are exclusively merging-based. 269Mercurial, are exclusively merging-based.
276 270
277 VC mode supports both locking and merging version control. The 271 VC mode supports both locking and merging version control. The
278terms ``checkin'' and ``checkout'' come from locking-based version 272terms ``commit'' and ``update'' are used in newer version control
279control systems; newer version control systems have slightly different 273systems; older lock-based systems use the terms ``check in'' and
280operations usually called ``commit'' and ``update'', but VC hides the 274``check out''. VC hides the differences between them as much as
281differences between them as much as possible. 275possible.
276
277@node VCS Changesets
278@subsubsection Changeset-based vs File-based Version Control
282 279
283@cindex files versus changesets. 280@cindex changesets
284 On SCCS, RCS, CVS, and other early version control systems, version 281 On SCCS, RCS, CVS, and other early version control systems, version
285control operations are @dfn{file-based}: each file has its own comment 282control operations are @dfn{file-based}: each file has its own comment
286and revision history separate from that of all other files in the 283and revision history separate from that of all other files. Newer
287system. Later systems, beginning with Subversion, are 284systems, beginning with Subversion, are @dfn{changeset-based}: a
288@dfn{changeset-based}: a checkin may include changes to several files, 285checkin may include changes to several files, and the entire set of
289and the entire set of changes is treated as a unit by the system. Any 286changes is handled as a unit. Any comment associated with the change
290comment associated with the change does not belong to a single file, 287does not belong to a single file, but to the changeset itself.
291but to the changeset itself.
292 288
293 Changeset-based version control is more flexible and powerful than 289 Changeset-based version control is more flexible and powerful than
294file-based version control; usually, when a change to multiple files 290file-based version control; usually, when a change to multiple files
295has to be reversed, it's good to be able to easily identify and remove 291has to be reversed, it's good to be able to easily identify and remove
296all of it. 292all of it.
297 293
298@cindex centralized vs. decentralized version control 294@node VCS Repositories
295@subsubsection Decentralized vs Centralized Repositories
296
297@cindex centralized version control
298@cindex decentralized version control
299 Early version control systems were designed around a 299 Early version control systems were designed around a
300@dfn{centralized} model in which each project has only one repository 300@dfn{centralized} model in which each project has only one repository
301used by all developers. SCCS, RCS, CVS, and Subversion share this 301used by all developers. SCCS, RCS, CVS, and Subversion share this
@@ -306,14 +306,12 @@ point for reliability and efficiency.
306control, later implemented in git, Mercurial, and Bazaar. A project 306control, later implemented in git, Mercurial, and Bazaar. A project
307may have several different repositories, and these systems support a 307may have several different repositories, and these systems support a
308sort of super-merge between repositories that tries to reconcile their 308sort of super-merge between repositories that tries to reconcile their
309change histories. At the limit, each developer has his/her own 309change histories. In effect, there is one repository for each
310repository, and repository merges replace checkin/commit operations. 310developer, and repository merges take the place of commit operations.
311 311
312 VC's job is to help you manage the traffic between your personal 312 VC helps you manage the traffic between your personal workfiles and
313workfiles and a repository. Whether that repository is a single 313a repository. Whether the repository is a single master, or one of a
314master or one of a network of peer repositories is not something VC 314network of peer repositories, is not something VC has to care about.
315has to care about. Thus, the difference between a centralized and a
316decentralized version control system is invisible to VC mode.
317 315
318@node Types of Log File 316@node Types of Log File
319@subsubsection Types of Log File 317@subsubsection Types of Log File
@@ -323,9 +321,9 @@ decentralized version control system is invisible to VC mode.
323 321
324 Projects that use a version control system can have two types of log 322 Projects that use a version control system can have two types of log
325for changes. One is the log maintained by the version control system: 323for changes. One is the log maintained by the version control system:
326each time you check in a change, you fill out a @dfn{log entry} for 324each time you commit a change, you fill out a @dfn{log entry} for the
327the change (@pxref{Log Buffer}). This is called the @dfn{version 325change (@pxref{Log Buffer}). This is called the @dfn{version control
328control log}. 326log}.
329 327
330 The other kind of log is the file @file{ChangeLog} (@pxref{Change 328 The other kind of log is the file @file{ChangeLog} (@pxref{Change
331Log}). It provides a chronological record of all changes to a large 329Log}). It provides a chronological record of all changes to a large
@@ -364,21 +362,22 @@ change, and later use the @kbd{C-x v a} command to copy it to
364@subsection Version Control and the Mode Line 362@subsection Version Control and the Mode Line
365 363
366 When you visit a file that is under version control, Emacs indicates 364 When you visit a file that is under version control, Emacs indicates
367this on the mode line. For example, @samp{RCS-1.3} says that RCS is 365this on the mode line. For example, @samp{Bzr-1223} says that Bazaar
368used for that file, and the current version is 1.3. 366is used for that file, and the current revision ID is 1223.
369 367
370 The character between the back-end name and the revision ID 368 The character between the back-end name and the revision ID
371indicates the version control status of the file. @samp{-} means that 369indicates the status of the work file. In a merge-based version
372the work file is not locked (if locking is in use), or not modified (if 370control system, a @samp{-} character indicates that the work file is
373locking is not in use). @samp{:} indicates that the file is locked, or 371unmodified, and @samp{:} indicates that it has been modified. In a
374that it is modified. If the file is locked by some other user (for 372lock-based system, @samp{-} indicates an unlocked file, and @samp{:} a
375instance, @samp{jim}), that is displayed as @samp{RCS:jim:1.3}. 373locked file; if the file is locked by another user (for instance,
374@samp{jim}), that is displayed as @samp{RCS:jim:1.3}.
376 375
377 On a graphical display, you can move the mouse over this mode line 376 On a graphical display, you can move the mouse over this mode line
378indicator to pop up a ``tool-tip'', which displays a more verbose 377indicator to pop up a ``tool-tip'', which displays a more verbose
379description of the version control status. Pressing @kbd{Mouse-1} 378description of the version control status. Pressing @kbd{Mouse-1}
380over the indicator pops up a menu of VC commands. This menu is 379over the indicator pops up a menu of VC commands, identical to
381identical to the @samp{Tools / Version Control} menu item. 380@samp{Tools / Version Control} on the menu bar.
382 381
383@vindex auto-revert-check-vc-info 382@vindex auto-revert-check-vc-info
384 When Auto Revert mode (@pxref{Reverting}) reverts a buffer that is 383 When Auto Revert mode (@pxref{Reverting}) reverts a buffer that is
@@ -430,12 +429,6 @@ command line. All files in a VC fileset must be under the same
430version control system; if they are not, Emacs signals an error when 429version control system; if they are not, Emacs signals an error when
431you attempt to execute a command on the fileset. 430you attempt to execute a command on the fileset.
432 431
433 Support for VC filesets and changeset-based version control systems
434is the main improvement to VC in Emacs 23. When you mark multi-file
435VC in a VC Directory buffer, VC operations treat them as a VC fileset,
436and operate on them all at once if the version control system is
437changeset-based. @xref{VC Directory Mode}.
438
439 VC filesets are distinct from the ``named filesets'' used for 432 VC filesets are distinct from the ``named filesets'' used for
440viewing and visiting files in functional groups (@pxref{Filesets}). 433viewing and visiting files in functional groups (@pxref{Filesets}).
441Unlike named filesets, VC filesets are not named and don't persist 434Unlike named filesets, VC filesets are not named and don't persist
@@ -445,7 +438,6 @@ across sessions.
445* VC With A Merging VCS:: Without locking: default mode for CVS. 438* VC With A Merging VCS:: Without locking: default mode for CVS.
446* VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS. 439* VC With A Locking VCS:: RCS in its default mode, SCCS, and optionally CVS.
447* Advanced C-x v v:: Advanced features available with a prefix argument. 440* Advanced C-x v v:: Advanced features available with a prefix argument.
448* Log Buffer:: Features available in log entry buffers.
449@end menu 441@end menu
450 442
451@node VC With A Merging VCS 443@node VC With A Merging VCS
@@ -478,9 +470,9 @@ If you have not changed the work file, but some other user has checked
478in changes to the repository, merge those changes into the work file. 470in changes to the repository, merge those changes into the work file.
479 471
480@item 472@item
481If you have made modifications to the work file, attempts to check in 473If you have made modifications to the work file, attempt to commit
482your changes. To do this, Emacs first reads the log entry for the new 474the changes. To do this, Emacs first reads the log entry for the new
483revision (@pxref{Log Buffer}). If some other user has checked in 475revision (@pxref{Log Buffer}). If some other user has committed
484changes to the repository since you last checked it out, the checkin 476changes to the repository since you last checked it out, the checkin
485fails. In that case, type @kbd{C-x v v} again to merge those changes 477fails. In that case, type @kbd{C-x v v} again to merge those changes
486into your own work file; this puts the work file into a ``conflicted'' 478into your own work file; this puts the work file into a ``conflicted''
@@ -495,8 +487,8 @@ trying to commit your own changes, type @kbd{C-x v m @key{RET}}.
495 487
496 These rules also apply when you use RCS in its ``non-locking'' mode, 488 These rules also apply when you use RCS in its ``non-locking'' mode,
497except that changes are not automatically merged from the repository. 489except that changes are not automatically merged from the repository.
498Nothing informs you if another user has checked in changes in the same 490Nothing informs you if another user has committed changes in the same
499file since you began editing it; when you check in your revision, his 491file since you began editing it; when you commit your revision, his
500changes are removed (however, they remain in the repository and are 492changes are removed (however, they remain in the repository and are
501thus not irrevocably lost). Therefore, you must verify that the 493thus not irrevocably lost). Therefore, you must verify that the
502current revision is unchanged before checking in your changes. In 494current revision is unchanged before checking in your changes. In
@@ -516,7 +508,7 @@ If the file is not locked, lock it and make it writable, so that you
516can change it. 508can change it.
517 509
518@item 510@item
519If the file is locked by you, and contains changes, check in the 511If the file is locked by you, and contains changes, commit the
520changes. In order to do this, Emacs first reads the log entry for the 512changes. In order to do this, Emacs first reads the log entry for the
521new revision. @xref{Log Buffer}. 513new revision. @xref{Log Buffer}.
522 514
@@ -532,12 +524,12 @@ locked the file, to inform him of what has happened.
532@end itemize 524@end itemize
533 525
534 These rules also apply when you use CVS in locking mode, except 526 These rules also apply when you use CVS in locking mode, except
535that there is no such thing as stealing a lock. 527that CVS does not support stealing a lock.
536 528
537@node Advanced C-x v v 529@node Advanced C-x v v
538@subsubsection Advanced Control in @kbd{C-x v v} 530@subsubsection Advanced Control in @kbd{C-x v v}
539 531
540@cindex revision ID to check in/out 532@cindex revision ID in version control
541 When you give a prefix argument to @code{vc-next-action} (@kbd{C-u 533 When you give a prefix argument to @code{vc-next-action} (@kbd{C-u
542C-x v v}), it still performs the next logical version control 534C-x v v}), it still performs the next logical version control
543operation, but accepts additional arguments to specify precisely how 535operation, but accepts additional arguments to specify precisely how
@@ -546,8 +538,8 @@ to do the operation.
546@itemize @bullet 538@itemize @bullet
547@item 539@item
548If the file is modified (or locked), you can specify the revision ID 540If the file is modified (or locked), you can specify the revision ID
549to use for the new version that you check in. This is one way 541to use for the new version that you commit. This is one way to create
550to create a new branch (@pxref{Branches}). 542a new branch (@pxref{Branches}).
551 543
552@item 544@item
553If the file is not modified (and unlocked), you can specify the 545If the file is not modified (and unlocked), you can specify the
@@ -573,34 +565,53 @@ Features}).
573@end itemize 565@end itemize
574 566
575@node Log Buffer 567@node Log Buffer
576@subsubsection Features of the Log Entry Buffer 568@subsection Features of the Log Entry Buffer
569
570 When you tell VC to commit a change, it pops up a buffer called
571@samp{*VC-Log*}. In this buffer, you should write a @dfn{log entry}
572describing the changes you have made (@pxref{Why Version Control?}).
573After you are done, type @kbd{C-c C-c}; this exits the buffer and
574commits the change, together with your log entry.
575
576 While in the @samp{*VC-Log*} buffer, you can write one or more
577@dfn{header lines}, specifying additional information to be supplied
578to the version control system. Each header line must occupy a single
579line at the top of the buffer; the first line that is not a header
580line is treated as the start of the log entry. For example, the
581following header line states that the present change was not written
582by you, but by another developer:
577 583
578 When you check in changes, Emacs pops up a buffer called 584@smallexample
579@samp{*VC-Log*} for you to enter a log entry. 585Author: J. R. Hacker <jrh@@example.com>
586@end smallexample
580 587
581 After you have finished editing the log message, type @kbd{C-c C-c} 588@noindent
582to exit the buffer and commit the change. 589Apart from the @samp{Author} header, Emacs recognizes the headers
590@samp{Date} (a manually-specified commit time) and @samp{Fixes} (a
591reference to a bug fixed by the change). Not all version control
592systems recognize all headers: Bazaar recognizes all three headers,
593while git, Mercurial, and Monotone recognizes only @samp{Author} and
594@samp{Summary}. If you specify a header for a version control that
595does not support it, the header is treated as part of the log entry.
583 596
584@findex log-edit-show-files 597@findex log-edit-show-files
585@findex log-edit-show-diff 598@findex log-edit-show-diff
586 In the @samp{*VC-Log*} buffer, typing @kbd{C-c C-f} 599 Type @kbd{C-c C-f} (@code{log-edit-show-files}) to display a list of
587(@code{log-edit-show-files}) displays a list of files in the VC 600files in the current VC fileset. If you called @kbd{C-x v v} directly
588fileset you are committing. If you called @kbd{C-x v v} directly from 601from a work file, the fileset consists of that single file; if you
589a work file, the VC fileset consists of that single file, so this 602called @kbd{C-x v v} from a VC directory buffer (@pxref{VC Directory
590command is not very useful. If you called @kbd{C-x v v} from a VC 603Mode}), the fileset may consist of multiple files.
591directory buffer, the VC fileset may consist of multiple files
592(@pxref{VC Directory Mode}).
593 604
594@findex log-edit-insert-changelog 605@findex log-edit-insert-changelog
595 Type @kbd{C-c C-d} (@code{log-edit-show-diff}) to show a ``diff'' of 606 Type @kbd{C-c C-d} (@code{log-edit-show-diff}) to show a @dfn{diff}
596the changes you have made (i.e., the differences between the work file 607of the changes you have made (i.e., the differences between the work
597and the repository revision from which you started editing the file). 608file and the repository revision from which you started editing).
598The diff is displayed in a special buffer in another window. 609@xref{Old Revisions}.
599@xref{Comparing Files}. 610
600 611 If the current VC fileset includes one or more @file{ChangeLog}
601 If you have written an entry in the @file{ChangeLog} (@pxref{Change 612files (@pxref{Change Log}), type @kbd{C-c C-a}
602Log}), type @kbd{C-c C-a} (@code{log-edit-insert-changelog}) to pull 613(@code{log-edit-insert-changelog}) to pull the relevant entries into
603it into the @samp{*VC-Log*} buffer. If the topmost item in the 614the @samp{*VC-Log*} buffer. If the topmost item in each
604@file{ChangeLog} was made under your user name on the current date, 615@file{ChangeLog} was made under your user name on the current date,
605this command searches that item for entries that match the file(s) to 616this command searches that item for entries that match the file(s) to
606be committed; if found, these entries are inserted. 617be committed; if found, these entries are inserted.
@@ -615,7 +626,7 @@ the revision control log.
615 626
616 To abort a check-in, just @strong{don't} type @kbd{C-c C-c} in that 627 To abort a check-in, just @strong{don't} type @kbd{C-c C-c} in that
617buffer. You can switch buffers and do other editing. As long as you 628buffer. You can switch buffers and do other editing. As long as you
618don't try to check in another file, the entry you were editing remains 629don't try to commit another file, the entry you were editing remains
619in the @samp{*VC-Log*} buffer, and you can go back to that buffer at 630in the @samp{*VC-Log*} buffer, and you can go back to that buffer at
620any time to complete the check-in. 631any time to complete the check-in.
621 632
@@ -624,7 +635,7 @@ convenient to specify the same log entry for many of the files. (This
624is the normal way to do things on a changeset-oriented system, where 635is the normal way to do things on a changeset-oriented system, where
625comments are attached to changesets rather than the history of 636comments are attached to changesets rather than the history of
626individual files.) The most convenient way to do this is to mark all 637individual files.) The most convenient way to do this is to mark all
627the files in VC Directory Mode and check in from there; the log buffer 638the files in VC Directory Mode and commit from there; the log buffer
628will carry the fileset information with it and do a group commit when 639will carry the fileset information with it and do a group commit when
629you type @kbd{C-c C-c}. 640you type @kbd{C-c C-c}.
630 641
@@ -636,7 +647,7 @@ work just like the minibuffer history commands (except that these
636versions are used outside the minibuffer). 647versions are used outside the minibuffer).
637 648
638@vindex vc-log-mode-hook 649@vindex vc-log-mode-hook
639 Each time you check in a change, the log entry buffer is put into VC 650 Each time you commit a change, the log entry buffer is put into VC
640Log Edit mode, which involves running two hooks: @code{text-mode-hook} 651Log Edit mode, which involves running two hooks: @code{text-mode-hook}
641and @code{vc-log-mode-hook}. @xref{Hooks}. 652and @code{vc-log-mode-hook}. @xref{Hooks}.
642 653
@@ -688,8 +699,12 @@ buffer in a separate window.
688 @kbd{C-x v =} (@code{vc-diff}) compares each file in the current VC 699 @kbd{C-x v =} (@code{vc-diff}) compares each file in the current VC
689fileset (saving them if necessary) with the repository revision(s) 700fileset (saving them if necessary) with the repository revision(s)
690from which you started editing. Note that the latter may or may not 701from which you started editing. Note that the latter may or may not
691be the latest revision of the file(s). The diff is displayed in a 702be the latest revision of the file(s).
692special buffer in another window. @xref{Comparing Files}. 703
704 The diff is displayed in another window, in a Diff mode buffer
705(@pxref{Diff Mode}) named @file{*vc-diff*}. In this buffer, the
706@kbd{g} (@code{revert-buffer}) command performs the file comparison
707again, generating a new diff.
693 708
694@findex vc-diff 709@findex vc-diff
695@kindex C-u C-x v = 710@kindex C-u C-x v =
@@ -996,7 +1011,7 @@ then decide not to change it.
996 1011
997@kindex C-x v c 1012@kindex C-x v c
998@findex vc-rollback 1013@findex vc-rollback
999 To cancel a change that you already checked in, use @kbd{C-x v c} 1014 To cancel a change that you already committed, use @kbd{C-x v c}
1000(@code{vc-rollback}). This command discards all record of the most 1015(@code{vc-rollback}). This command discards all record of the most
1001recent checked-in revision, but only if your work file corresponds to 1016recent checked-in revision, but only if your work file corresponds to
1002that revision---you cannot use @kbd{C-x v c} to cancel a revision that 1017that revision---you cannot use @kbd{C-x v c} to cancel a revision that
@@ -1063,8 +1078,8 @@ output is used. Here is an example using CVS:
1063@noindent 1078@noindent
1064In this example, @samp{file1.c} is modified with respect to the 1079In this example, @samp{file1.c} is modified with respect to the
1065repository, and @samp{file2.c} is not. @samp{file3.c} is modified, 1080repository, and @samp{file2.c} is not. @samp{file3.c} is modified,
1066but other changes have also been checked in to the repository---you 1081but other changes have also been committed---you need to merge them
1067need to merge them with the work file before you can check it in. 1082with the work file before you can check it in.
1068 1083
1069@vindex vc-stay-local 1084@vindex vc-stay-local
1070@vindex vc-cvs-stay-local 1085@vindex vc-cvs-stay-local
@@ -1102,7 +1117,7 @@ this includes Version Control subdirectories such as @samp{RCS} and
1102 1117
1103 VC Directory mode has a full set of navigation and marking commands 1118 VC Directory mode has a full set of navigation and marking commands
1104for picking out filesets. Some of these are also available in a 1119for picking out filesets. Some of these are also available in a
1105context menu invoked by the @kbd{mouse-2} button. 1120context menu invoked by @kbd{mouse-2}.
1106 1121
1107 Up- and down-arrow keys move in the buffer; @kbd{n} and @kbd{p} also 1122 Up- and down-arrow keys move in the buffer; @kbd{n} and @kbd{p} also
1108move vertically as in other list-browsing modes. @key{SPC} and 1123move vertically as in other list-browsing modes. @key{SPC} and
@@ -1146,7 +1161,8 @@ directory buffer will be used.
1146 1161
1147 @kbd{M-s a C-s} does an incremental search on the marked files. 1162 @kbd{M-s a C-s} does an incremental search on the marked files.
1148 1163
1149 @kbd{M-s a C-M-s} does an incremental search on the marked files. 1164 @kbd{M-s a C-M-s} does an incremental regular expression search
1165on the marked files.
1150 1166
1151@cindex stashes in version control 1167@cindex stashes in version control
1152@cindex shelves in version control 1168@cindex shelves in version control
@@ -1162,11 +1178,11 @@ buffers. Some single-key shortcuts are available as well; @kbd{=},
1162@kbd{+}, @kbd{l}, @kbd{i}, and @kbd{v} behave as through prefixed with 1178@kbd{+}, @kbd{l}, @kbd{i}, and @kbd{v} behave as through prefixed with
1163@kbd{C-x v}. 1179@kbd{C-x v}.
1164 1180
1165 The command @kbd{C-x v v} (@code{vc-next-action}) operates on all the 1181 The command @kbd{C-x v v} (@code{vc-next-action}) operates on all
1166marked files, so that you can check in several files at once. 1182the marked files, so that you can commit several files at once. If
1167If the underlying VC supports atomic commits of multiple-file 1183the underlying VC supports atomic commits of multiple-file changesets,
1168changesets, @kbd{C-x v v} with a selected set of modified but not 1184@kbd{C-x v v} with a selected set of modified but not committed files
1169committed files will commit all of them at once as a single changeset. 1185will commit all of them at once as a single changeset.
1170 1186
1171 When @kbd{C-x v v} (@code{vc-next-action}) operates on multiple 1187 When @kbd{C-x v v} (@code{vc-next-action}) operates on multiple
1172files, all of those files must be either in the same state or in 1188files, all of those files must be either in the same state or in
@@ -1249,15 +1265,15 @@ other branch.
1249@node Creating Branches 1265@node Creating Branches
1250@subsubsection Creating New Branches 1266@subsubsection Creating New Branches
1251 1267
1252 To create a new branch from a head revision (one that is the latest in 1268 To create a new branch from a head revision (one that is the latest
1253the branch that contains it), first select that revision if necessary, 1269in the branch that contains it), first select that revision if
1254lock it with @kbd{C-x v v}, and make whatever changes you want. Then, 1270necessary, lock it with @kbd{C-x v v}, and make whatever changes you
1255when you check in the changes, use @kbd{C-u C-x v v}. This lets you 1271want. Then, when you commit the changes, use @kbd{C-u C-x v v}. This
1256specify the revision ID for the new revision. You should specify a 1272lets you specify the revision ID for the new revision. You should
1257suitable branch ID for a branch starting at the current revision. 1273specify a suitable branch ID for a branch starting at the current
1258For example, if the current revision is 2.5, the branch ID should be 1274revision. For example, if the current revision is 2.5, the branch ID
12592.5.1, 2.5.2, and so on, depending on the number of existing branches at 1275should be 2.5.1, 2.5.2, and so on, depending on the number of existing
1260that point. 1276branches at that point.
1261 1277
1262 To create a new branch at an older revision (one that is no longer the 1278 To create a new branch at an older revision (one that is no longer the
1263head of a branch), first select that revision (@pxref{Switching 1279head of a branch), first select that revision (@pxref{Switching
@@ -1270,11 +1286,11 @@ revision, that you really mean to create a new branch---if you say no,
1270you'll be offered a chance to lock the latest revision instead. On 1286you'll be offered a chance to lock the latest revision instead. On
1271a merging-based VCS you will skip this step. 1287a merging-based VCS you will skip this step.
1272 1288
1273 Then make your changes and type @kbd{C-x v v} again to check in a new 1289 Then make your changes and type @kbd{C-x v v} again to commit a new
1274revision. This automatically creates a new branch starting from the 1290revision. This automatically creates a new branch starting from the
1275selected revision. You need not specially request a new branch, because 1291selected revision. You need not specially request a new branch,
1276that's the only way to add a new revision at a point that is not the head 1292because that's the only way to add a new revision at a point that is
1277of a branch. 1293not the head of a branch.
1278 1294
1279 After the branch is created, you ``stay'' on it. That means that 1295 After the branch is created, you ``stay'' on it. That means that
1280subsequent check-ins create new revisions on that branch. To leave the 1296subsequent check-ins create new revisions on that branch. To leave the
@@ -1322,11 +1338,11 @@ type @kbd{C-x v v} to lock revision 1.5 so that you can change it. Next,
1322type @kbd{C-x v m 1.3.1 @key{RET}}. This takes the entire set of changes on 1338type @kbd{C-x v m 1.3.1 @key{RET}}. This takes the entire set of changes on
1323branch 1.3.1 (relative to revision 1.3, where the branch started, up to 1339branch 1.3.1 (relative to revision 1.3, where the branch started, up to
1324the last revision on the branch) and merges it into the current revision 1340the last revision on the branch) and merges it into the current revision
1325of the work file. You can now check in the changed file, thus creating 1341of the work file. You can now commit the changed file, thus creating
1326revision 1.6 containing the changes from the branch. 1342revision 1.6 containing the changes from the branch.
1327 1343
1328 It is possible to do further editing after merging the branch, before 1344 It is possible to do further editing after merging the branch, before
1329the next check-in. But it is usually wiser to check in the merged 1345the next check-in. But it is usually wiser to commit the merged
1330revision, then lock it and make the further changes. This will keep 1346revision, then lock it and make the further changes. This will keep
1331a better record of the history of changes. 1347a better record of the history of changes.
1332 1348
@@ -1362,7 +1378,7 @@ master file revision with user B's changes in it is 1.11.
1362 Then you can resolve the conflicts by editing the file manually. Or 1378 Then you can resolve the conflicts by editing the file manually. Or
1363you can type @code{M-x vc-resolve-conflicts} after visiting the file. 1379you can type @code{M-x vc-resolve-conflicts} after visiting the file.
1364This starts an Ediff session, as described above. Don't forget to 1380This starts an Ediff session, as described above. Don't forget to
1365check in the merged version afterwards. 1381commit the merged version afterwards.
1366 1382
1367@node Multi-User Branching 1383@node Multi-User Branching
1368@subsubsection Multi-User Branching 1384@subsubsection Multi-User Branching
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi
index a44438bf81f..3e8d5ef57c1 100644
--- a/doc/emacs/msdog.texi
+++ b/doc/emacs/msdog.texi
@@ -31,7 +31,8 @@ here.
31* Text and Binary:: Text files use CRLF to terminate lines. 31* Text and Binary:: Text files use CRLF to terminate lines.
32* Windows Files:: File-name conventions on Windows. 32* Windows Files:: File-name conventions on Windows.
33* ls in Lisp:: Emulation of @code{ls} for Dired. 33* ls in Lisp:: Emulation of @code{ls} for Dired.
34* Windows HOME:: Where Emacs looks for your @file{.emacs}. 34* Windows HOME:: Where Emacs looks for your @file{.emacs} and
35 where it starts up.
35* Windows Keyboard:: Windows-specific keyboard features. 36* Windows Keyboard:: Windows-specific keyboard features.
36* Windows Mouse:: Windows-specific mouse features. 37* Windows Mouse:: Windows-specific mouse features.
37* Windows Processes:: Running subprocesses on Windows. 38* Windows Processes:: Running subprocesses on Windows.
@@ -329,7 +330,7 @@ names, which might cause misalignment of columns in Dired display.
329@end ifnottex 330@end ifnottex
330 331
331@node Windows HOME 332@node Windows HOME
332@section HOME Directory on MS-Windows 333@section HOME and Startup Directories on MS-Windows
333@cindex @code{HOME} directory on MS-Windows 334@cindex @code{HOME} directory on MS-Windows
334 335
335 The Windows equivalent of the @code{HOME} directory is the 336 The Windows equivalent of the @code{HOME} directory is the
@@ -371,6 +372,13 @@ names, the Windows port of Emacs supports an alternative name
371@file{_emacs} as a fallback, if such a file exists in the home 372@file{_emacs} as a fallback, if such a file exists in the home
372directory, whereas @file{.emacs} does not. 373directory, whereas @file{.emacs} does not.
373 374
375@cindex start directory, MS-Windows
376@cindex directory where Emacs starts on MS-Windows
377 If you use a Windows desktop shortcut to start Emacs, it starts in
378the directory specified by the shortcut. To control where that is,
379right-click on the shortcut, select ``Properties'', and in the
380``Shortcut'' tab modify the ``Start in'' field to your liking.
381
374@node Windows Keyboard 382@node Windows Keyboard
375@section Keyboard Usage on MS-Windows 383@section Keyboard Usage on MS-Windows
376@cindex keyboard, MS-Windows 384@cindex keyboard, MS-Windows
diff --git a/doc/emacs/vc1-xtra.texi b/doc/emacs/vc1-xtra.texi
index 5095c3f4764..04d37719013 100644
--- a/doc/emacs/vc1-xtra.texi
+++ b/doc/emacs/vc1-xtra.texi
@@ -594,7 +594,7 @@ headers.
594@vindex vc-handled-backends 594@vindex vc-handled-backends
595The variable @code{vc-handled-backends} determines which version 595The variable @code{vc-handled-backends} determines which version
596control systems VC should handle. The default value is @code{(RCS CVS 596control systems VC should handle. The default value is @code{(RCS CVS
597SVN SCCS BZR GIT HG Arch)}, so it contains all the version systems 597SVN SCCS Bzr Git Hg Mtn Arch)}, so it contains all the version systems
598that are currently supported. If you want VC to ignore one or more of 598that are currently supported. If you want VC to ignore one or more of
599these systems, exclude its name from the list. To disable VC entirely, 599these systems, exclude its name from the list. To disable VC entirely,
600set this variable to @code{nil}. 600set this variable to @code{nil}.
@@ -657,8 +657,8 @@ variable does not affect @kbd{C-x v c}; that operation is so drastic
657that it should always ask for confirmation.) 657that it should always ask for confirmation.)
658 658
659@vindex vc-command-messages 659@vindex vc-command-messages
660 VC mode does much of its work by running the shell commands for RCS, 660 VC mode does much of its work by running the shell commands for the
661CVS and SCCS. If @code{vc-command-messages} is non-@code{nil}, VC 661appropriate backend. If @code{vc-command-messages} is non-@code{nil}, VC
662displays messages to indicate which shell commands it runs, and 662displays messages to indicate which shell commands it runs, and
663additional messages when the commands finish. 663additional messages when the commands finish.
664 664
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 2aca9fce5bf..959f4844c1c 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,53 @@
12010-11-21 Chong Yidong <cyd@stupidchicken.com>
2
3 * nonascii.texi (Converting Representations): Document
4 byte-to-string.
5
6 * strings.texi (Creating Strings): Don't mention semi-obsolete
7 function char-to-string.
8 (String Conversion): Shorten discussion of semi-obsolete function
9 string-to-char. Link to Converting Representations.
10
11 * objects.texi (Symbol Type):
12 * text.texi (Near Point):
13 * help.texi (Help Functions):
14 * functions.texi (Mapping Functions): Use string instead of
15 char-to-string in examples.
16
172010-11-20 Chong Yidong <cyd@stupidchicken.com>
18
19 * text.texi (Kill Functions, Kill Functions)
20 (Low-Level Kill Ring, Low-Level Kill Ring): Remove obsolete
21 YANK-HANDLER args.
22
23 * symbols.texi (Creating Symbols): Using unintern without an
24 obarray arg is now obsolete.
25
26 * numbers.texi (Float Basics): Document float-e and float-pi.
27
28 * variables.texi (Defining Variables): Change "pi" example to
29 "float-pi".
30
312010-11-12 Eli Zaretskii <eliz@gnu.org>
32
33 * customize.texi (Composite Types): Lower-case index entry.
34
35 * loading.texi (How Programs Do Loading): Document
36 load-file-name. (Bug#7346)
37
382010-11-10 Glenn Morris <rgm@gnu.org>
39
40 * text.texi (Kill Functions, Low-Level Kill Ring): Small fixes.
41
422010-10-27 Glenn Morris <rgm@gnu.org>
43
44 * maps.texi (Standard Keymaps): Update File menu description.
45
462010-10-22 Eli Zaretskii <eliz@gnu.org>
47
48 * display.texi (Window Systems): Deprecate use of window-system as
49 a predicate.
50
12010-09-05 Alexander Klimov <alserkli@inbox.ru> (tiny change) 512010-09-05 Alexander Klimov <alserkli@inbox.ru> (tiny change)
2 52
3 * files.texi (Directory Names): Use \` rather than ^. 53 * files.texi (Directory Names): Use \` rather than ^.
diff --git a/doc/lispref/book-spine.texinfo b/doc/lispref/book-spine.texinfo
index 30b966b15d2..e665a66fea5 100644
--- a/doc/lispref/book-spine.texinfo
+++ b/doc/lispref/book-spine.texinfo
@@ -11,7 +11,7 @@
11@center @titlefont{GNU Emacs Lisp Reference Manual} 11@center @titlefont{GNU Emacs Lisp Reference Manual}
12@sp 5 12@sp 5
13@center GNU 13@center GNU
14@center Emacs Version 23.2.50 14@center Emacs Version 23.2.90
15@center for Unix Users 15@center for Unix Users
16@sp 5 16@sp 5
17 17
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi
index 4b620049b04..bfd45518bc8 100644
--- a/doc/lispref/customize.texi
+++ b/doc/lispref/customize.texi
@@ -733,7 +733,7 @@ The value must be a valid color name, and you can do completion with
733 733
734@node Composite Types 734@node Composite Types
735@subsection Composite Types 735@subsection Composite Types
736@cindex Composite Types (customization) 736@cindex composite types (customization)
737 737
738 When none of the simple types is appropriate, you can use composite 738 When none of the simple types is appropriate, you can use composite
739types, which build new types from other types or from specified data. 739types, which build new types from other types or from specified data.
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 71680c56821..ba4cfca0854 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -5878,6 +5878,14 @@ selected frame). The list of possible symbols it returns is the same
5878one documented for the variable @code{window-system} above. 5878one documented for the variable @code{window-system} above.
5879@end defun 5879@end defun
5880 5880
5881 Do @emph{not} use @code{window-system} and
5882@code{initial-window-system} as predicates or boolean flag variables,
5883if you want to write code that works differently on text terminals and
5884graphic displays. That is because @code{window-system} is not a good
5885indicator of Emacs capabilities on a given display type. Instead, use
5886@code{display-graphic-p} or any of the other @code{display-*-p}
5887predicates described in @ref{Display Feature Testing}.
5888
5881@defvar window-setup-hook 5889@defvar window-setup-hook
5882This variable is a normal hook which Emacs runs after handling the 5890This variable is a normal hook which Emacs runs after handling the
5883initialization files. Emacs runs this hook after it has completed 5891initialization files. Emacs runs this hook after it has completed
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index 231d71b7308..bd6695777d3 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -8,7 +8,7 @@
8@c Please remember to update the edition number in README as well. 8@c Please remember to update the edition number in README as well.
9@c And also the copies in vol1.texi and vol2.texi. 9@c And also the copies in vol1.texi and vol2.texi.
10@set VERSION 3.0 10@set VERSION 3.0
11@set EMACSVER 23.2.50 11@set EMACSVER 23.2.90
12@set DATE July 2009 12@set DATE July 2009
13 13
14@c in general, keep the following line commented out, unless doing a 14@c in general, keep the following line commented out, unless doing a
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index 6f3fd63013c..635245426fb 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -818,7 +818,7 @@ length of @var{sequence}. For example:
818 @result{} (a c e) 818 @result{} (a c e)
819(mapcar '1+ [1 2 3]) 819(mapcar '1+ [1 2 3])
820 @result{} (2 3 4) 820 @result{} (2 3 4)
821(mapcar 'char-to-string "abc") 821(mapcar 'string "abc")
822 @result{} ("a" "b" "c") 822 @result{} ("a" "b" "c")
823@end group 823@end group
824 824
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi
index 026258f2472..31a4db31dc9 100644
--- a/doc/lispref/help.texi
+++ b/doc/lispref/help.texi
@@ -551,7 +551,7 @@ follows:
551 551
552@smallexample 552@smallexample
553@group 553@group
554(define-key global-map (char-to-string help-char) 'help-command) 554(define-key global-map (string help-char) 'help-command)
555(fset 'help-command help-map) 555(fset 'help-command help-map)
556@end group 556@end group
557@end smallexample 557@end smallexample
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index bbdd67fc3a5..bb8c34caddf 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -107,6 +107,10 @@ in @code{load-path}, where @code{nil} stands for the default directory.
107@code{load-path}, then all three suffixes in the second directory, and 107@code{load-path}, then all three suffixes in the second directory, and
108so on. @xref{Library Search}. 108so on. @xref{Library Search}.
109 109
110Whatever the name under which the file is eventually found, and the
111directory where Emacs found it, Emacs sets the value of the variable
112@code{load-file-name} to that file's name.
113
110If you get a warning that @file{foo.elc} is older than @file{foo.el}, it 114If you get a warning that @file{foo.elc} is older than @file{foo.el}, it
111means you should consider recompiling @file{foo.el}. @xref{Byte 115means you should consider recompiling @file{foo.el}. @xref{Byte
112Compilation}. 116Compilation}.
@@ -157,6 +161,12 @@ This variable is non-@code{nil} if Emacs is in the process of loading a
157file, and it is @code{nil} otherwise. 161file, and it is @code{nil} otherwise.
158@end defvar 162@end defvar
159 163
164@defvar load-file-name
165When Emacs is in the process of loading a file, this variable's value
166is the name of that file, as Emacs found it during the search
167described earlier in this section.
168@end defvar
169
160@defvar load-read-function 170@defvar load-read-function
161@anchor{Definition of load-read-function} 171@anchor{Definition of load-read-function}
162@c do not allow page break at anchor; work around Texinfo deficiency. 172@c do not allow page break at anchor; work around Texinfo deficiency.
diff --git a/doc/lispref/maps.texi b/doc/lispref/maps.texi
index a5b126afcb2..4b416a82d64 100644
--- a/doc/lispref/maps.texi
+++ b/doc/lispref/maps.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1999, 2001, 2002, 2003, 2004,
4@c 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/maps 7@setfilename ../../info/maps
7@node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top 8@node Standard Keymaps, Standard Hooks, Standard Buffer-Local Variables, Top
@@ -183,9 +184,9 @@ A sparse keymap used by Lisp mode.
183@vindex menu-bar-edit-menu 184@vindex menu-bar-edit-menu
184The keymap which displays the Edit menu in the menu bar. 185The keymap which displays the Edit menu in the menu bar.
185 186
186@item menu-bar-files-menu 187@item menu-bar-file-menu
187@vindex menu-bar-files-menu 188@vindex menu-bar-file-menu
188The keymap which displays the Files menu in the menu bar. 189The keymap which displays the File menu in the menu bar.
189 190
190@item menu-bar-help-menu 191@item menu-bar-help-menu
191@vindex menu-bar-help-menu 192@vindex menu-bar-help-menu
@@ -239,6 +240,3 @@ The keymap defining the contents of the tool bar.
239A full keymap used by View mode. 240A full keymap used by View mode.
240@end table 241@end table
241 242
242@ignore
243 arch-tag: b741253c-7e23-4a02-b3fa-cffd9e4d72b9
244@end ignore
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index dfcb3e4730b..f8d98cb1ad9 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -202,6 +202,13 @@ unibyte string, it is returned unchanged. Use this function for
202characters. 202characters.
203@end defun 203@end defun
204 204
205@defun byte-to-string byte
206@cindex byte to string
207This function returns a unibyte string containing a single byte of
208character data, @var{character}. It signals a error if
209@var{character} is not an integer between 0 and 255.
210@end defun
211
205@defun multibyte-char-to-unibyte char 212@defun multibyte-char-to-unibyte char
206This converts the multibyte character @var{char} to a unibyte 213This converts the multibyte character @var{char} to a unibyte
207character, and returns that character. If @var{char} is neither 214character, and returns that character. If @var{char} is neither
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi
index 62b4796350e..e83da348e05 100644
--- a/doc/lispref/numbers.texi
+++ b/doc/lispref/numbers.texi
@@ -224,6 +224,14 @@ down to an integer.
224@end example 224@end example
225@end defun 225@end defun
226 226
227@defvar float-e
228The mathematical constant @math{e} (2.71828@dots{}).
229@end defvar
230
231@defvar float-pi
232The mathematical constant @math{pi} (3.14159@dots{}).
233@end defvar
234
227@node Predicates on Numbers 235@node Predicates on Numbers
228@section Type Predicates for Numbers 236@section Type Predicates for Numbers
229@cindex predicates for numbers 237@cindex predicates for numbers
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi
index c8ccb15a2d3..8f72cc01680 100644
--- a/doc/lispref/objects.texi
+++ b/doc/lispref/objects.texi
@@ -582,7 +582,6 @@ makes it invalid as a number.
582@group 582@group
583foo ; @r{A symbol named @samp{foo}.} 583foo ; @r{A symbol named @samp{foo}.}
584FOO ; @r{A symbol named @samp{FOO}, different from @samp{foo}.} 584FOO ; @r{A symbol named @samp{FOO}, different from @samp{foo}.}
585char-to-string ; @r{A symbol named @samp{char-to-string}.}
586@end group 585@end group
587@group 586@group
5881+ ; @r{A symbol named @samp{1+}} 5871+ ; @r{A symbol named @samp{1+}}
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index 1128ca87d8a..94d2765a833 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -126,9 +126,8 @@ This function returns a string made up of @var{count} repetitions of
126 @result{} "" 126 @result{} ""
127@end example 127@end example
128 128
129 Other functions to compare with this one include @code{char-to-string} 129 Other functions to compare with this one include @code{make-vector}
130(@pxref{String Conversion}), @code{make-vector} (@pxref{Vectors}), and 130(@pxref{Vectors}) and @code{make-list} (@pxref{Building Lists}).
131@code{make-list} (@pxref{Building Lists}).
132@end defun 131@end defun
133 132
134@defun string &rest characters 133@defun string &rest characters
@@ -565,38 +564,6 @@ of text characters and general input events
565(@code{single-key-description} and @code{text-char-description}). These 564(@code{single-key-description} and @code{text-char-description}). These
566are used primarily for making help messages. 565are used primarily for making help messages.
567 566
568@defun char-to-string character
569@cindex character to string
570This function returns a new string containing one character,
571@var{character}. This function is semi-obsolete because the function
572@code{string} is more general. @xref{Creating Strings}.
573@end defun
574
575@defun string-to-char string
576@cindex string to character
577 This function returns the first character in @var{string}. If the
578string is empty, the function returns 0. The value is also 0 when the
579first character of @var{string} is the null character, @acronym{ASCII} code
5800.
581
582@example
583(string-to-char "ABC")
584 @result{} 65
585
586(string-to-char "xyz")
587 @result{} 120
588(string-to-char "")
589 @result{} 0
590@group
591(string-to-char "\000")
592 @result{} 0
593@end group
594@end example
595
596This function may be eliminated in the future if it does not seem useful
597enough to retain.
598@end defun
599
600@defun number-to-string number 567@defun number-to-string number
601@cindex integer to string 568@cindex integer to string
602@cindex integer to decimal 569@cindex integer to decimal
@@ -659,19 +626,39 @@ this function returns 0.
659@code{string-to-int} is an obsolete alias for this function. 626@code{string-to-int} is an obsolete alias for this function.
660@end defun 627@end defun
661 628
629@defun char-to-string character
630@cindex character to string
631This function returns a new string containing one character,
632@var{character}. This function is semi-obsolete because the function
633@code{string} is more general. @xref{Creating Strings}.
634@end defun
635
636@defun string-to-char string
637 This function returns the first character in @var{string}. This
638mostly identical to @code{(aref string 0)}, except that it returns 0
639if the string is empty. (The value is also 0 when the first character
640of @var{string} is the null character, @acronym{ASCII} code 0.) This
641function may be eliminated in the future if it does not seem useful
642enough to retain.
643@end defun
644
662 Here are some other functions that can convert to or from a string: 645 Here are some other functions that can convert to or from a string:
663 646
664@table @code 647@table @code
665@item concat 648@item concat
666@code{concat} can convert a vector or a list into a string. 649This function converts a vector or a list into a string.
667@xref{Creating Strings}. 650@xref{Creating Strings}.
668 651
669@item vconcat 652@item vconcat
670@code{vconcat} can convert a string into a vector. @xref{Vector 653This function converts a string into a vector. @xref{Vector
671Functions}. 654Functions}.
672 655
673@item append 656@item append
674@code{append} can convert a string into a list. @xref{Building Lists}. 657This function converts a string into a list. @xref{Building Lists}.
658
659@item byte-to-string
660This function converts a byte of character data into a unibyte string.
661@xref{Converting Representations}.
675@end table 662@end table
676 663
677@node Formatting Strings 664@node Formatting Strings
diff --git a/doc/lispref/symbols.texi b/doc/lispref/symbols.texi
index 5bb44ff9675..ccf90e33cd0 100644
--- a/doc/lispref/symbols.texi
+++ b/doc/lispref/symbols.texi
@@ -383,7 +383,7 @@ See @code{documentation} in @ref{Accessing Documentation}, for another
383example using @code{mapatoms}. 383example using @code{mapatoms}.
384@end defun 384@end defun
385 385
386@defun unintern symbol &optional obarray 386@defun unintern symbol obarray
387This function deletes @var{symbol} from the obarray @var{obarray}. If 387This function deletes @var{symbol} from the obarray @var{obarray}. If
388@code{symbol} is not actually in the obarray, @code{unintern} does 388@code{symbol} is not actually in the obarray, @code{unintern} does
389nothing. If @var{obarray} is @code{nil}, the current obarray is used. 389nothing. If @var{obarray} is @code{nil}, the current obarray is used.
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index a7c4a3e62f4..57bf4825887 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -86,7 +86,7 @@ buffer is @samp{@@}:
86 86
87@example 87@example
88@group 88@group
89(char-to-string (char-after 1)) 89(string (char-after 1))
90 @result{} "@@" 90 @result{} "@@"
91@end group 91@end group
92@end example 92@end example
@@ -121,9 +121,9 @@ but there is no peace.
121@end group 121@end group
122 122
123@group 123@group
124(char-to-string (preceding-char)) 124(string (preceding-char))
125 @result{} "a" 125 @result{} "a"
126(char-to-string (following-char)) 126(string (following-char))
127 @result{} "c" 127 @result{} "c"
128@end group 128@end group
129@end example 129@end example
@@ -865,7 +865,7 @@ adds it to the most recent element. It determines automatically (using
865@code{last-command}) whether the previous command was a kill command, 865@code{last-command}) whether the previous command was a kill command,
866and if so appends the killed text to the most recent entry. 866and if so appends the killed text to the most recent entry.
867 867
868@deffn Command kill-region start end &optional yank-handler 868@deffn Command kill-region start end
869This function kills the text in the region defined by @var{start} and 869This function kills the text in the region defined by @var{start} and
870@var{end}. The text is deleted but saved in the kill ring, along with 870@var{end}. The text is deleted but saved in the kill ring, along with
871its text properties. The value is always @code{nil}. 871its text properties. The value is always @code{nil}.
@@ -873,17 +873,10 @@ its text properties. The value is always @code{nil}.
873In an interactive call, @var{start} and @var{end} are point and 873In an interactive call, @var{start} and @var{end} are point and
874the mark. 874the mark.
875 875
876@c Emacs 19 feature
877If the buffer or text is read-only, @code{kill-region} modifies the kill 876If the buffer or text is read-only, @code{kill-region} modifies the kill
878ring just the same, then signals an error without modifying the buffer. 877ring just the same, then signals an error without modifying the buffer.
879This is convenient because it lets the user use a series of kill 878This is convenient because it lets the user use a series of kill
880commands to copy text from a read-only buffer into the kill ring. 879commands to copy text from a read-only buffer into the kill ring.
881
882If @var{yank-handler} is non-@code{nil}, this puts that value onto
883the string of killed text, as a @code{yank-handler} text property.
884@xref{Yanking}. Note that if @var{yank-handler} is @code{nil}, any
885@code{yank-handler} properties present on the killed text are copied
886onto the kill ring, like other text properties.
887@end deffn 880@end deffn
888 881
889@defopt kill-read-only-ok 882@defopt kill-read-only-ok
@@ -900,10 +893,10 @@ from the buffer. It returns @code{nil}.
900The command does not set @code{this-command} to @code{kill-region}, so a 893The command does not set @code{this-command} to @code{kill-region}, so a
901subsequent kill command does not append to the same kill ring entry. 894subsequent kill command does not append to the same kill ring entry.
902 895
903Don't call @code{copy-region-as-kill} in Lisp programs unless you aim to 896@c FIXME Why is it better? Why isn't copy-region-as-kill obsolete then?
904support Emacs 18. For newer Emacs versions, it is better to use 897@c Why is it used in many places in Emacs?
905@code{kill-new} or @code{kill-append} instead. @xref{Low-Level Kill 898In Lisp programs, it is better to use @code{kill-new} or
906Ring}. 899@code{kill-append} instead of this command. @xref{Low-Level Kill Ring}.
907@end deffn 900@end deffn
908 901
909@node Yanking 902@node Yanking
@@ -1041,8 +1034,8 @@ text property, if there is one.
1041@subsection Low-Level Kill Ring 1034@subsection Low-Level Kill Ring
1042 1035
1043 These functions and variables provide access to the kill ring at a 1036 These functions and variables provide access to the kill ring at a
1044lower level, but still convenient for use in Lisp programs, because they 1037lower level, but are still convenient for use in Lisp programs,
1045take care of interaction with window system selections 1038because they take care of interaction with window system selections
1046(@pxref{Window System Selections}). 1039(@pxref{Window System Selections}).
1047 1040
1048@defun current-kill n &optional do-not-move 1041@defun current-kill n &optional do-not-move
@@ -1068,7 +1061,7 @@ it returns the entry pointed at by the yanking pointer and does not
1068move the yanking pointer. 1061move the yanking pointer.
1069@end defun 1062@end defun
1070 1063
1071@defun kill-new string &optional replace yank-handler 1064@defun kill-new string &optional replace
1072This function pushes the text @var{string} onto the kill ring and 1065This function pushes the text @var{string} onto the kill ring and
1073makes the yanking pointer point to it. It discards the oldest entry 1066makes the yanking pointer point to it. It discards the oldest entry
1074if appropriate. It also invokes the value of 1067if appropriate. It also invokes the value of
@@ -1077,25 +1070,15 @@ if appropriate. It also invokes the value of
1077If @var{replace} is non-@code{nil}, then @code{kill-new} replaces the 1070If @var{replace} is non-@code{nil}, then @code{kill-new} replaces the
1078first element of the kill ring with @var{string}, rather than pushing 1071first element of the kill ring with @var{string}, rather than pushing
1079@var{string} onto the kill ring. 1072@var{string} onto the kill ring.
1080
1081If @var{yank-handler} is non-@code{nil}, this puts that value onto
1082the string of killed text, as a @code{yank-handler} property.
1083@xref{Yanking}. Note that if @var{yank-handler} is @code{nil}, then
1084@code{kill-new} copies any @code{yank-handler} properties present on
1085@var{string} onto the kill ring, as it does with other text properties.
1086@end defun 1073@end defun
1087 1074
1088@defun kill-append string before-p &optional yank-handler 1075@defun kill-append string before-p
1089This function appends the text @var{string} to the first entry in the 1076This function appends the text @var{string} to the first entry in the
1090kill ring and makes the yanking pointer point to the combined entry. 1077kill ring and makes the yanking pointer point to the combined entry.
1091Normally @var{string} goes at the end of the entry, but if 1078Normally @var{string} goes at the end of the entry, but if
1092@var{before-p} is non-@code{nil}, it goes at the beginning. This 1079@var{before-p} is non-@code{nil}, it goes at the beginning. This
1093function also invokes the value of @code{interprogram-cut-function} 1080function also invokes the value of @code{interprogram-cut-function}
1094(see below). This handles @var{yank-handler} just like 1081(see below).
1095@code{kill-new}, except that if @var{yank-handler} is different from
1096the @code{yank-handler} property of the first entry of the kill ring,
1097@code{kill-append} pushes the concatenated string onto the kill ring,
1098instead of replacing the original first entry with it.
1099@end defun 1082@end defun
1100 1083
1101@defvar interprogram-paste-function 1084@defvar interprogram-paste-function
@@ -4279,6 +4262,4 @@ code that is itself run from a modification hook, then rebind locally
4279@code{inhibit-modification-hooks} to @code{nil}. 4262@code{inhibit-modification-hooks} to @code{nil}.
4280@end defvar 4263@end defvar
4281 4264
4282@ignore 4265
4283 arch-tag: 3721e738-a1cb-4085-bc1a-6cb8d8e1d32b
4284@end ignore
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index a3a550868f5..20fe4dbc9fa 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -544,21 +544,23 @@ not the buffer-local value. (But you should not be making
544buffer-local bindings for a symbol that is defined with 544buffer-local bindings for a symbol that is defined with
545@code{defconst}.) 545@code{defconst}.)
546 546
547Here, @code{pi} is a constant that presumably ought not to be changed 547An example of the use of @code{defconst} is Emacs' definition of
548by anyone (attempts by the Indiana State Legislature notwithstanding). 548@code{float-pi}---the mathematical constant @math{pi}, which ought not
549As the second form illustrates, however, this is only advisory. 549to be changed by anyone (attempts by the Indiana State Legislature
550notwithstanding). As the second form illustrates, however,
551@code{defconst} is only advisory.
550 552
551@example 553@example
552@group 554@group
553(defconst pi 3.1415 "Pi to five places.") 555(defconst float-pi 3.141592653589793 "The value of Pi.")
554 @result{} pi 556 @result{} float-pi
555@end group 557@end group
556@group 558@group
557(setq pi 3) 559(setq float-pi 3)
558 @result{} pi 560 @result{} float-pi
559@end group 561@end group
560@group 562@group
561pi 563float-pi
562 @result{} 3 564 @result{} 3
563@end group 565@end group
564@end example 566@end example
diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi
index d8449044fdd..0f2a21d6580 100644
--- a/doc/lispref/vol1.texi
+++ b/doc/lispref/vol1.texi
@@ -27,7 +27,7 @@
27@c Version of the manual and of Emacs. 27@c Version of the manual and of Emacs.
28@c Please remember to update the edition number in README as well. 28@c Please remember to update the edition number in README as well.
29@set VERSION 3.0 29@set VERSION 3.0
30@set EMACSVER 23.2.50 30@set EMACSVER 23.2.90
31@set DATE July 2009 31@set DATE July 2009
32 32
33@dircategory Emacs 33@dircategory Emacs
diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi
index 3f1dc33c234..738c8d55f95 100644
--- a/doc/lispref/vol2.texi
+++ b/doc/lispref/vol2.texi
@@ -27,7 +27,7 @@
27@c Version of the manual and of Emacs. 27@c Version of the manual and of Emacs.
28@c Please remember to update the edition number in README as well. 28@c Please remember to update the edition number in README as well.
29@set VERSION 3.0 29@set VERSION 3.0
30@set EMACSVER 23.2.50 30@set EMACSVER 23.2.90
31@set DATE July 2009 31@set DATE July 2009
32 32
33@dircategory Emacs 33@dircategory Emacs
diff --git a/doc/man/emacs.1 b/doc/man/emacs.1
index 0800a868d65..fc197a01adc 100644
--- a/doc/man/emacs.1
+++ b/doc/man/emacs.1
@@ -1,5 +1,5 @@
1.\" See section COPYING for copyright and redistribution information. 1.\" See section COPYING for copyright and redistribution information.
2.TH EMACS 1 "2007 April 13" "GNU Emacs 23.2.50" 2.TH EMACS 1 "2007 April 13" "GNU Emacs 23.2.90"
3. 3.
4. 4.
5.SH NAME 5.SH NAME
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 238cec8e82b..bb211e7ffca 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,32 @@
12010-11-23 Glenn Morris <rgm@gnu.org>
2 James Clark <none@example.com>
3
4 * nxml-mode.texi (Introduction): New section.
5
62010-11-10 Glenn Morris <rgm@gnu.org>
7
8 * edt.texi: Remove information about Emacs 19.
9
102010-11-05 Michael Albinus <michael.albinus@gmx.de>
11
12 * trampver.texi: Update release number.
13
142010-11-03 Jay Belanger <jay.p.belanger@gmail.com>
15
16 * calc.texi: Use emacsver.texi to determine Emacs version.
17
182010-10-30 Glenn Morris <rgm@gnu.org>
19
20 * mh-e.texi (Preface, From Bill Wohler): Change 23 to past tense.
21
222010-10-29 Glenn Morris <rgm@gnu.org>
23
24 * cc-mode.texi: Remove reference to defunct viewcvs URL.
25
262010-10-22 Juanma Barranquero <lekktu@gmail.com>
27
28 * gnus.texi (Group Parameters, Buttons): Fix typos.
29
12010-10-08 Glenn Morris <rgm@gnu.org> 302010-10-08 Glenn Morris <rgm@gnu.org>
2 31
3 * cl.texi (Organization, Installation, Old CL Compatibility): 32 * cl.texi (Organization, Installation, Old CL Compatibility):
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi
index b410a6b31bb..1995a6f9936 100644
--- a/doc/misc/calc.texi
+++ b/doc/misc/calc.texi
@@ -89,7 +89,7 @@
89This file documents Calc, the GNU Emacs calculator. 89This file documents Calc, the GNU Emacs calculator.
90@end ifinfo 90@end ifinfo
91@ifnotinfo 91@ifnotinfo
92This file documents Calc, the GNU Emacs calculator, included with GNU Emacs 23.1. 92This file documents Calc, the GNU Emacs calculator, included with GNU Emacs 23.3.
93@end ifnotinfo 93@end ifnotinfo
94 94
95Copyright @copyright{} 1990, 1991, 2001, 2002, 2003, 2004, 95Copyright @copyright{} 1990, 1991, 2001, 2002, 2003, 2004,
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index c1d8db80dae..0c42e0145a8 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -160,7 +160,8 @@ CC Mode
160This manual is for CC Mode in Emacs. 160This manual is for CC Mode in Emacs.
161 161
162Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 162Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
1632003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 1632003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
164Free Software Foundation, Inc.
164 165
165@quotation 166@quotation
166Permission is granted to copy, distribute and/or modify this document 167Permission is granted to copy, distribute and/or modify this document
@@ -201,9 +202,8 @@ developing GNU and promoting software freedom.''
201@vskip 0pt plus 1filll 202@vskip 0pt plus 1filll
202@insertcopying 203@insertcopying
203 204
204This manual was generated from cc-mode.texi, which can be downloaded 205This manual was generated from cc-mode.texi, which is distributed with Emacs,
205from 206or can be downloaded from @url{http://savannah.gnu.org/projects/emacs/}.
206@url{http://cvs.savannah.gnu.org/viewcvs/emacs/emacs/doc/misc/cc-mode.texi}.
207@end titlepage 207@end titlepage
208 208
209@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 209@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -6998,6 +6998,3 @@ Since most @ccmode{} variables are prepended with the string
6998 6998
6999@bye 6999@bye
7000 7000
7001@ignore
7002 arch-tag: c4cab162-5e57-4366-bdce-4a9db2fc97f0
7003@end ignore
diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi
index d394137d76b..f3d0eacc0f3 100644
--- a/doc/misc/edt.texi
+++ b/doc/misc/edt.texi
@@ -63,8 +63,8 @@ of DEC's EDT editor.
63@node Overview 63@node Overview
64@chapter Overview of the EDT Package 64@chapter Overview of the EDT Package
65 65
66This manual describes version 4.0 of the EDT Emulation for Emacs 19 and 66This manual describes version 4.0 of the EDT Emulation for Emacs.
67above. It comes with special functions which replicate nearly all of 67It comes with special functions which replicate nearly all of
68EDT's keypad mode behavior. It sets up default keypad and function key 68EDT's keypad mode behavior. It sets up default keypad and function key
69bindings which closely match those found in EDT. Support is provided so 69bindings which closely match those found in EDT. Support is provided so
70that users may reconfigure most keypad and function key bindings to 70that users may reconfigure most keypad and function key bindings to
@@ -152,9 +152,8 @@ You can also invoke @code{edt-set-scroll-margins} interactively while
152EDT Emulation is active to change the settings for that session. 152EDT Emulation is active to change the settings for that session.
153 153
154@strong{Please note:} Another way to set the scroll margins is to use 154@strong{Please note:} Another way to set the scroll margins is to use
155the Emacs customization feature (not available in Emacs 19) to set the 155the Emacs customization feature to set the following two variables
156following two variables directly: @code{edt-top-scroll-margin} and 156directly: @code{edt-top-scroll-margin} and @code{edt-bottom-scroll-margin}.
157@code{edt-bottom-scroll-margin}.
158 157
159Enter the Emacs @code{customize} command. First select the 158Enter the Emacs @code{customize} command. First select the
160@samp{Editing} group and then select the @samp{Emulations} group. 159@samp{Editing} group and then select the @samp{Emulations} group.
@@ -239,8 +238,7 @@ Provide an easy way to restore @strong{all} original Emacs key bindings,
239just as they existed before the EDT emulation was first invoked. 238just as they existed before the EDT emulation was first invoked.
240 239
241@item 240@item
242Support GNU Emacs 19 and higher. (GNU Emacs 18 and below is no longer 241Support GNU Emacs 19 and higher. XEmacs 19, and above, is also supported.
243supported.) XEmacs 19, and above, is also supported.
244 242
245@item 243@item
246Supports highlighting of marked text within the EDT emulation on all 244Supports highlighting of marked text within the EDT emulation on all
@@ -933,9 +931,8 @@ You can also invoke @code{edt-set-scroll-margins} interactively while
933EDT Emulation is active to change the settings for that session. 931EDT Emulation is active to change the settings for that session.
934 932
935@strong{Please note:} Another way to set the scroll margins is to use 933@strong{Please note:} Another way to set the scroll margins is to use
936the Emacs customization feature (not available in Emacs 19) to set the 934the Emacs customization feature to set the following two variables
937following two variables directly: @code{edt-top-scroll-margin} and 935directly: @code{edt-top-scroll-margin} and @code{edt-bottom-scroll-margin}.
938@code{edt-bottom-scroll-margin}.
939 936
940Enter the Emacs @code{customize} command. First select the 937Enter the Emacs @code{customize} command. First select the
941@samp{Editing} group and then select the @samp{Emulations} group. 938@samp{Editing} group and then select the @samp{Emulations} group.
@@ -946,7 +943,3 @@ Finally, select the @samp{Edt} group and follow the directions.
946@include doclicense.texi 943@include doclicense.texi
947 944
948@bye 945@bye
949
950@ignore
951 arch-tag: 1b7ebe01-754b-4834-a12b-f152ef7db9e0
952@end ignore
diff --git a/doc/misc/faq.texi b/doc/misc/faq.texi
index 9cf9ff50345..b109af4d68b 100644
--- a/doc/misc/faq.texi
+++ b/doc/misc/faq.texi
@@ -5,7 +5,7 @@
5@c %**end of header 5@c %**end of header
6 6
7@c This is used in many places 7@c This is used in many places
8@set VER 23.2.50 8@set VER 23.2.90
9 9
10@c This file is maintained by Romain Francoise <rfrancoise@gnu.org>. 10@c This file is maintained by Romain Francoise <rfrancoise@gnu.org>.
11@c Feel free to install changes without prior permission (but I'd 11@c Feel free to install changes without prior permission (but I'd
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index 7a917b6d2df..5bb28c5294c 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -3142,8 +3142,8 @@ The Sieve language is described in RFC 3028. @xref{Top, Emacs Sieve,
3142Top, sieve, Emacs Sieve}. 3142Top, sieve, Emacs Sieve}.
3143 3143
3144@item (agent parameters) 3144@item (agent parameters)
3145If the agent has been enabled, you can set any of the its parameters 3145If the agent has been enabled, you can set any of its parameters to
3146to control the behavior of the agent in individual groups. See Agent 3146control the behavior of the agent in individual groups. See Agent
3147Parameters in @ref{Category Syntax}. Most users will choose to set 3147Parameters in @ref{Category Syntax}. Most users will choose to set
3148agent parameters in either an agent category or group topic to 3148agent parameters in either an agent category or group topic to
3149minimize the configuration effort. 3149minimize the configuration effort.
@@ -23709,7 +23709,7 @@ Hook called after creating the score mode menu.
23709@cindex mouse 23709@cindex mouse
23710@cindex click 23710@cindex click
23711 23711
23712Those new-fangled @dfn{mouse} contraptions is very popular with the 23712Those new-fangled @dfn{mouse} contraptions are very popular with the
23713young, hep kids who don't want to learn the proper way to do things 23713young, hep kids who don't want to learn the proper way to do things
23714these days. Why, I remember way back in the summer of '89, when I was 23714these days. Why, I remember way back in the summer of '89, when I was
23715using Emacs on a Tops 20 system. Three hundred users on one single 23715using Emacs on a Tops 20 system. Three hundred users on one single
diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi
index ed64f91ac39..a06a7231112 100644
--- a/doc/misc/mh-e.texi
+++ b/doc/misc/mh-e.texi
@@ -213,7 +213,7 @@ more niceties about GNU Emacs and MH@. Now I'm fully hooked on both of
213them. 213them.
214 214
215The MH-E package is distributed with GNU Emacs@footnote{Version 215The MH-E package is distributed with GNU Emacs@footnote{Version
216@value{VERSION} of MH-E will appear in GNU Emacs 23.1. It is supported 216@value{VERSION} of MH-E appeared in GNU Emacs 23.1. It is supported
217in GNU Emacs 21 and 22, as well as XEmacs 21 (except for versions 217in GNU Emacs 21 and 22, as well as XEmacs 21 (except for versions
21821.5.9-21.5.16). It is compatible with MH versions 6.8.4 and higher, 21821.5.9-21.5.16). It is compatible with MH versions 6.8.4 and higher,
219all versions of nmh, and GNU mailutils 1.0 and higher.}, so you 219all versions of nmh, and GNU mailutils 1.0 and higher.}, so you
@@ -8951,8 +8951,8 @@ files that were already part of Emacs) and the software was completely
8951reorganized to push back two decades of entropy. Version 8 appeared in 8951reorganized to push back two decades of entropy. Version 8 appeared in
8952Emacs 22.1 in 2006. 8952Emacs 22.1 in 2006.
8953 8953
8954Development was then quiet for a couple of years. Emacs 23.1, which is 8954Development was then quiet for a couple of years. Emacs 23.1, released
8955due out in 2009, will contain version 8.1. This version includes a few 8955in June 2009, contains version 8.2. This version includes a few
8956new features and several bug fixes. 8956new features and several bug fixes.
8957 8957
8958Bill Wohler, August 2008 8958Bill Wohler, August 2008
@@ -9061,6 +9061,4 @@ Bill Wohler, August 2008
9061@c sentence-end-double-space: nil 9061@c sentence-end-double-space: nil
9062@c End: 9062@c End:
9063 9063
9064@ignore 9064
9065 arch-tag: b778477d-1a10-4a99-84de-f877a2ea6bef
9066@end ignore
diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi
index 423bdc85a24..d076f0dd820 100644
--- a/doc/misc/nxml-mode.texi
+++ b/doc/misc/nxml-mode.texi
@@ -8,7 +8,8 @@
8This manual documents nxml-mode, an Emacs major mode for editing 8This manual documents nxml-mode, an Emacs major mode for editing
9XML with RELAX NG support. 9XML with RELAX NG support.
10 10
11Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 11Copyright @copyright{} 2007, 2008, 2009, 2010
12Free Software Foundation, Inc.
12 13
13@quotation 14@quotation
14Permission is granted to copy, distribute and/or modify this document 15Permission is granted to copy, distribute and/or modify this document
@@ -43,6 +44,7 @@ license to the document, as described in section 6 of the license.
43This manual is not yet complete. 44This manual is not yet complete.
44 45
45@menu 46@menu
47* Introduction::
46* Completion:: 48* Completion::
47* Inserting end-tags:: 49* Inserting end-tags::
48* Paragraphs:: 50* Paragraphs::
@@ -52,6 +54,58 @@ This manual is not yet complete.
52* Limitations:: 54* Limitations::
53@end menu 55@end menu
54 56
57@node Introduction
58@chapter Introduction
59
60nXML mode is an Emacs major-mode for editing XML documents. It supports
61editing well-formed XML documents, and provides schema-sensitive editing
62using RELAX NG Compact Syntax. To get started, visit a file containing an
63XML document, and, if necessary, use @kbd{M-x nxml-mode} to switch to nXML
64mode. By default, @code{auto-mode-alist} and @code{magic-fallback-alist}
65put buffers in nXML mode if they have recognizable XML content or file
66extensions. You may wish to customize the settings, for example to
67recognize different file extensions.
68
69Once in nXML mode, you can type @kbd{C-h m} for basic information on the
70mode.
71
72The @file{etc/nxml} directory in the Emacs distribution contains some data
73files used by nXML mode, and includes two files (@file{test.valid.xml} and
74@file{test.invalid.xml}) that provide examples of valid and invalid XML
75documents.
76
77To get validation and schema-sensitive editing, you need a RELAX NG Compact
78Syntax (RNC) schema for your document (@pxref{Locating a schema}). The
79@file{etc/schema} directory includes some schemas for popular document
80types. See @url{http://relaxng.org/} for more information on RELAX NG.
81You can use the @samp{Trang} program from
82@url{http://www.thaiopensource.com/relaxng/trang.html} to
83automatically create RNC schemas. This program can:
84
85@itemize @bullet
86@item
87infer an RNC schema from an instance document;
88@item
89convert a DTD to an RNC schema;
90@item
91convert a RELAX NG XML syntax schema to an RNC schema.
92@end itemize
93
94@noindent To convert a RELAX NG XML syntax (@samp{.rng}) schema to a RNC
95one, you can also use the XSLT stylesheet from
96@url{http://www.pantor.com/download.html}.
97
98To convert a W3C XML Schema to an RNC schema, you need first to convert it
99to RELAX NG XML syntax using the RELAX NG converter tool @code{rngconv}
100(built on top of MSV). See @url{https://github.com/kohsuke/msv}
101and @url{https://msv.dev.java.net/}.
102
103For historical discussions only, see the mailing list archives at
104@url{http://groups.yahoo.com/group/emacs-nxml-mode/}. Please make all new
105discussions on the @samp{help-gnu-emacs} and @samp{emacs-devel} mailing
106lists. Report any bugs with @kbd{M-x report-emacs-bug}.
107
108
55@node Completion 109@node Completion
56@chapter Completion 110@chapter Completion
57 111
@@ -855,6 +909,3 @@ specification are not enforced.
855 909
856@bye 910@bye
857 911
858@ignore
859 arch-tag: 3b6e8ac2-ae8d-4f38-bd43-ce9f80be04d6
860@end ignore
diff --git a/doc/misc/trampver.texi b/doc/misc/trampver.texi
index 25fa4908143..12848948e92 100644
--- a/doc/misc/trampver.texi
+++ b/doc/misc/trampver.texi
@@ -9,7 +9,7 @@
9@c In the Tramp CVS, the version number is auto-frobbed from 9@c In the Tramp CVS, the version number is auto-frobbed from
10@c configure.ac, so you should edit that file and run 10@c configure.ac, so you should edit that file and run
11@c "autoconf && ./configure" to change the version number. 11@c "autoconf && ./configure" to change the version number.
12@set trampver 2.1.19 12@set trampver 2.1.20
13 13
14@c Other flags from configuration 14@c Other flags from configuration
15@set instprefix /usr/local 15@set instprefix /usr/local
diff --git a/etc/AUTHORS b/etc/AUTHORS
index 26611a57de1..5259776426b 100644
--- a/etc/AUTHORS
+++ b/etc/AUTHORS
@@ -7,9 +7,10 @@ Aaron Ecay: changed nsterm.m
7 7
8Aaron Larson: co-wrote bibtex.el 8Aaron Larson: co-wrote bibtex.el
9 9
10Aaron S. Hawley: changed files.texi autoinsert.el building.texi 10Aaron S. Hawley: changed files.texi add-log.el autoinsert.el
11 custom.texi files.el glossary.texi isearch.el jka-cmpr-hook.el 11 building.texi custom.texi files.el glossary.texi isearch.el
12 misc.texi sgml-mode.el tar-mode.el texinfo.el thingatpt.el tutorial.el 12 jka-cmpr-hook.el misc.texi sgml-mode.el tar-mode.el texinfo.el
13 thingatpt.el tutorial.el
13 14
14Abraham Nahum: changed configure.in dgux4.h sysdep.c 15Abraham Nahum: changed configure.in dgux4.h sysdep.c
15 16
@@ -72,7 +73,7 @@ Albert L. Ting: changed gnus-group.el mail-hist.el
72 73
73Alex Coventry: changed files.el 74Alex Coventry: changed files.el
74 75
75Alex Harsanyi: changed vc-hooks.el vc.el 76Alex Harsanyi: changed emacs3.py vc-hooks.el vc.el
76 77
77Alex Ott: changed TUTORIAL.ru ru-refcard.tex ispell.el ru-refcard.ps 78Alex Ott: changed TUTORIAL.ru ru-refcard.tex ispell.el ru-refcard.ps
78 79
@@ -86,13 +87,13 @@ and changed erc.el erc-track.el erc-button.el erc-stamp.el erc-match.el
86 erc-autoaway.el erc-nickserv.el rcirc.texi erc-autojoin.el erc-fill.el 87 erc-autoaway.el erc-nickserv.el rcirc.texi erc-autojoin.el erc-fill.el
87 erc-pcomplete.el erc-complete.el erc-ibuffer.el erc-members.el rmail.el 88 erc-pcomplete.el erc-complete.el erc-ibuffer.el erc-members.el rmail.el
88 comint.el custom.el erc-bbdb.el erc-chess.el erc-ezbounce.el 89 comint.el custom.el erc-bbdb.el erc-chess.el erc-ezbounce.el
89 erc-imenu.el and 31 other files 90 erc-imenu.el and 32 other files
90 91
91Alex Shinn: changed files.el 92Alex Shinn: changed files.el
92 93
93Alexander Becher: changed vc-annotate.el 94Alexander Becher: changed vc-annotate.el
94 95
95Alexander Klimov: changed calc-graph.el man.el 96Alexander Klimov: changed calc-graph.el files.el files.texi man.el rx.el
96 97
97Alexander Kreuzer: changed nnrss.el 98Alexander Kreuzer: changed nnrss.el
98 99
@@ -168,8 +169,8 @@ Andreas Politz: changed editfns.c elp.el ido.el term.el
168 169
169Andreas Schwab: changed Makefile.in configure.in lisp.h xdisp.c files.el 170Andreas Schwab: changed Makefile.in configure.in lisp.h xdisp.c files.el
170 coding.c alloc.c process.c fileio.c print.c editfns.c fns.c dired.el 171 coding.c alloc.c process.c fileio.c print.c editfns.c fns.c dired.el
171 xterm.c keyboard.c simple.el eval.c info.el buffer.c sysdep.c emacs.c 172 keyboard.c xterm.c eval.c simple.el info.el buffer.c sysdep.c emacs.c
172 and 485 other files 173 and 490 other files
173 174
174Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus.el 175Andreas Seltenreich: changed nnweb.el gnus.texi message.el gnus.el
175 nnslashdot.el gnus-util.el mm-url.el mm-uu.el url-http.el xterm.c 176 nnslashdot.el gnus-util.el mm-url.el mm-uu.el url-http.el xterm.c
@@ -333,7 +334,7 @@ Bob Halley: changed ccl.c esh-io.el
333 334
334Bob Olson: co-wrote cperl-mode.el 335Bob Olson: co-wrote cperl-mode.el
335 336
336Bob Rogers: changed cperl-mode.el ffap.el thingatpt.el vc-svn.el 337Bob Rogers: changed vc-svn.el cperl-mode.el ffap.el thingatpt.el
337 338
338Bob Weiner: changed info.el quail.el 339Bob Weiner: changed info.el quail.el
339 340
@@ -434,12 +435,14 @@ Chip Coldwell: changed font.c
434Chong Yidong: wrote redisplay-testsuite.el 435Chong Yidong: wrote redisplay-testsuite.el
435and co-wrote longlines.el 436and co-wrote longlines.el
436and changed xdisp.c simple.el files.el display.texi frames.texi 437and changed xdisp.c simple.el files.el display.texi frames.texi
437 files.texi emacs.texi keyboard.c cus-edit.el faces.el xterm.c 438 files.texi emacs.texi xterm.c keyboard.c cus-edit.el faces.el
438 Makefile.in misc.texi xfaces.c font.c startup.el xfns.c compile.el 439 Makefile.in xfaces.c misc.texi xfns.c font.c image.c startup.el
439 image.c custom.texi configure.in and 635 other files 440 compile.el custom.texi text.texi and 650 other files
440 441
441Chris Chase: co-wrote idlw-shell.el idlwave.el 442Chris Chase: co-wrote idlw-shell.el idlwave.el
442 443
444Chris Foote: changed python.el
445
443Chris Hall: changed callproc.c 446Chris Hall: changed callproc.c
444 447
445Chris Hanson: changed xscheme.el scheme.el xterm.c hpux.h x11term.c 448Chris Hanson: changed xscheme.el scheme.el xterm.c hpux.h x11term.c
@@ -467,7 +470,7 @@ Christian Faulhammer: changed Makefile.in configure configure.in
467Christian Limpach: co-wrote ns-win.el 470Christian Limpach: co-wrote ns-win.el
468and changed configure.in 471and changed configure.in
469 472
470Christian Lynbech: changed appt.el emacsserver.c 473Christian Lynbech: changed appt.el emacsserver.c tramp.el
471 474
472Christian Neukirchen: changed mm-util.el 475Christian Neukirchen: changed mm-util.el
473 476
@@ -482,6 +485,8 @@ Christoph Bauer: changed configure.in
482Christoph Conrad: changed gnus-agent.el gnus-score.el makefile.w32-in 485Christoph Conrad: changed gnus-agent.el gnus-score.el makefile.w32-in
483 qp.el 486 qp.el
484 487
488Christoph Scholtes: changed minibuf.c python.el window.c
489
485Christoph Wedler: wrote antlr-mode.el 490Christoph Wedler: wrote antlr-mode.el
486and changed format.el gnus-art.el gnus-picon.el message.el register.el 491and changed format.el gnus-art.el gnus-picon.el message.el register.el
487 smiley.el texinfmt.el 492 smiley.el texinfmt.el
@@ -516,6 +521,8 @@ and changed calc.el replace.el update-game-score.c calc-ext.el
516 521
517Colin Williams: changed calc.texi 522Colin Williams: changed calc.texi
518 523
524Courtney Bane: changed term.c
525
519Craig Markwardt: changed icalendar.el 526Craig Markwardt: changed icalendar.el
520 527
521Craig McDaniel: changed sheap.c 528Craig McDaniel: changed sheap.c
@@ -544,6 +551,8 @@ Damien Elmes: changed erc.el erc-dcc.el erc-track.el erc-log.el
544 551
545Damon Anton Permezel: wrote hanoi.el (public domain) 552Damon Anton Permezel: wrote hanoi.el (public domain)
546 553
554Damyan Pepper: changed font.c font.h ftfont.c w32font.c
555
547Dan Christensen: changed gnus-sum.el nndoc.el nnfolder.el gnus-art.el 556Dan Christensen: changed gnus-sum.el nndoc.el nnfolder.el gnus-art.el
548 gnus-group.el gnus-registry.el gnus-score.el nnmail.el 557 gnus-group.el gnus-registry.el gnus-score.el nnmail.el
549 558
@@ -552,7 +561,7 @@ and changed org-exp-blocks.el org-exp.el
552 561
553Dan Nicolaescu: wrote iris-ansi.el romanian.el vc-dir.el 562Dan Nicolaescu: wrote iris-ansi.el romanian.el vc-dir.el
554and co-wrote hideshow.el 563and co-wrote hideshow.el
555and changed vc.el vc-hg.el vc-git.el Makefile.in vc-bzr.el vc-cvs.el 564and changed vc.el vc-hg.el vc-git.el vc-bzr.el Makefile.in vc-cvs.el
556 vc-hooks.el configure.in vc-svn.el xterm.el sysdep.c term.el lisp.h 565 vc-hooks.el configure.in vc-svn.el xterm.el sysdep.c term.el lisp.h
557 emacs.c files.el term.c process.c vc-rcs.el bindings.el diff-mode.el 566 emacs.c files.el term.c process.c vc-rcs.el bindings.el diff-mode.el
558 lisp-mode.el and 840 other files 567 lisp-mode.el and 840 other files
@@ -728,9 +737,9 @@ and changed w32menu.c w32term.c close.png close.xpm empty.png empty.xpm
728 737
729David Reitter: wrote mailclient.el 738David Reitter: wrote mailclient.el
730and changed nsterm.m nsfns.m ns-win.el nsfont.m Makefile.in cus-start.el 739and changed nsterm.m nsfns.m ns-win.el nsfont.m Makefile.in cus-start.el
731 macos.texi menu-bar.el commands.h cus-edit.el easy-mmode.el emacsbug.el 740 macos.texi menu-bar.el simple.el commands.h cus-edit.el easy-mmode.el
732 emacsclient.c faces.el flyspell.el info.el keyboard.c keymap.c 741 emacsbug.el emacsclient.c faces.el flyspell.el info.el keyboard.c
733 macterm.c menu.c minibuf.c and 11 other files 742 keymap.c macterm.c menu.c and 11 other files
734 743
735David Robinow: changed makefile.w32-in w32inevt.c 744David Robinow: changed makefile.w32-in w32inevt.c
736 745
@@ -818,9 +827,9 @@ Doug Maxey: changed mouse.el
818Drake Wilson: changed files.el 827Drake Wilson: changed files.el
819 828
820Drew Adams: changed cus-edit.el mouse.el bindings.el bookmark.el 829Drew Adams: changed cus-edit.el mouse.el bindings.el bookmark.el
821 custom.el dired.texi etags.el faces.el finder.el frame.el help-fns.el 830 custom.el dired.el dired.texi etags.el faces.el files.el finder.el
822 help.el info.el isearch.el menu-bar.el msdog.texi pp.el ring.el 831 frame.el help-fns.el help.el info.el isearch.el menu-bar.el msdog.texi
823 speedbar.el 832 pp.el ring.el speedbar.el
824 833
825E. Jay Berkenbilt: changed b2m.c flyspell.el ispell.el unrmail.el 834E. Jay Berkenbilt: changed b2m.c flyspell.el ispell.el unrmail.el
826 whitespace.el window.h 835 whitespace.el window.h
@@ -868,11 +877,13 @@ Eli Zaretskii: wrote rxvt.el tty-colors.el
868and changed msdos.c makefile.w32-in Makefile.in files.el info.el rmail.el 877and changed msdos.c makefile.w32-in Makefile.in files.el info.el rmail.el
869 fileio.c mainmake.v2 pc-win.el startup.el config.bat simple.el msdos.h 878 fileio.c mainmake.v2 pc-win.el startup.el config.bat simple.el msdos.h
870 dired.c w32.c frame.c internal.el menu-bar.el process.c INSTALL 879 dired.c w32.c frame.c internal.el menu-bar.el process.c INSTALL
871 xfaces.c and 603 other files 880 xfaces.c and 604 other files
872 881
873Elias Oltmanns: changed tls.el gnus-agent.el gnus-int.el gnus-srvr.el 882Elias Oltmanns: changed tls.el gnus-agent.el gnus-int.el gnus-srvr.el
874 gnus.el 883 gnus.el
875 884
885Elias Pipping: changed XDelAssoc.c XMakeAssoc.c
886
876Emanuele Giaquinta: changed configure.in gnus-faq.texi rxvt.el charset.c 887Emanuele Giaquinta: changed configure.in gnus-faq.texi rxvt.el charset.c
877 etags.c fontset.c frame.el loadup.el lread.c sh-script.el text.texi 888 etags.c fontset.c frame.el loadup.el lread.c sh-script.el text.texi
878 889
@@ -905,34 +916,35 @@ Eric Hanchrow: changed vc-git.el TUTORIAL.es abbrev.el autorevert.el
905 916
906Eric Knauel: changed gnus.el spam-report.el spam.el 917Eric Knauel: changed gnus.el spam-report.el spam.el
907 918
908Eric M. Ludlam: wrote analyze.el args.el autoconf-edit.el bovine.el c.el 919Eric M. Ludlam: wrote analyze.el args.el auto.el autoconf-edit.el base.el
909 cedet-cscope.el cedet-files.el cedet-global.el cedet-idutils.el 920 bovine.el c.el cedet-cscope.el cedet-files.el cedet-global.el
910 cedet-utests.el chart.el checkdoc.el compile.el complete.el cpp-root.el 921 cedet-idutils.el cedet-utests.el chart.el checkdoc.el compile.el
911 cscope.el ctxt.el data-debug.el db-debug.el db-el.el db-file.el 922 complete.el cpp-root.el cscope.el ctxt.el custom.el data-debug.el
912 db-find.el db-global.el db-mode.el db-ref.el db-typecache.el db.el 923 db-debug.el db-el.el db-file.el db-find.el db-global.el db-mode.el
913 debug.el decorate.el dep.el dframe.el dictionary.el dired.el doc.el 924 db-ref.el db-typecache.el db.el debug.el decorate.el dep.el dframe.el
914 document.el ede-grammar.el ede-tests.el ede.el edit.el eieio-base.el 925 dictionary.el dired.el doc.el document.el ede-grammar.el ede-tests.el
915 eieio-comp.el eieio-custom.el eieio-datadebug.el eieio-opt.el 926 ede.el edit.el eieio-base.el eieio-comp.el eieio-custom.el
916 eieio-speedbar.el eieio.el el.el emacs.el expandproto.el extract.el 927 eieio-datadebug.el eieio-opt.el eieio-speedbar.el eieio.el el.el
917 ezimage.el fcn.el fields.el files.el filter.el filters.el find.el 928 emacs.el expandproto.el extract.el ezimage.el fcn.el fields.el files.el
918 format.el fw.el gcc.el getset.el global.el grep.el html.el ia-sb.el 929 filter.el filters.el find.el format.el fw.el gcc.el generic.el
919 ia.el idle.el idutils.el imenu.el include.el insert.el inversion.el 930 getset.el global.el grep.el html.el ia-sb.el ia.el idle.el idutils.el
920 java.el javascript.el lex-spp.el lex.el linux.el list.el locate.el 931 imenu.el include.el insert.el inversion.el java.el javascript.el
921 make.el makefile-edit.el map.el mode.el mru-bookmark.el pconf.el 932 lex-spp.el lex.el linux.el list.el locate.el make.el makefile-edit.el
922 pmake.el proj-archive.el proj-aux.el proj-comp.el proj-elisp.el 933 map.el mode.el mru-bookmark.el pconf.el pmake.el proj-archive.el
923 proj-info.el proj-misc.el proj-obj.el proj-prog.el proj-scheme.el 934 proj-aux.el proj-comp.el proj-elisp.el proj-info.el proj-misc.el
924 proj-shared.el proj.el project-am.el pulse.el refs.el sb-image.el sb.el 935 proj-obj.el proj-prog.el proj-scheme.el proj-shared.el proj.el
925 scm.el scope.el semantic-ia-utest.el semantic-tests.el 936 project-am.el pulse.el refs.el sb-image.el sb.el scm.el scope.el
926 semantic-utest-c.el semantic-utest.el semantic.el shell.el simple.el 937 semantic-ia-utest.el semantic-tests.el semantic-utest-c.el
927 sort.el source.el speedbar.el srecode-tests.el srecode.el srt.el 938 semantic-utest.el semantic.el shell.el simple.el sort.el source.el
928 symref.el system.el table.el tag-file.el tag-ls.el tag-write.el tag.el 939 speedbar.el srecode-tests.el srecode.el srt.el symref.el system.el
929 test.el texi.el util.el 940 table.el tag-file.el tag-ls.el tag-write.el tag.el test.el texi.el
941 util.el
930and co-wrote cpp.el db-ebrowse.el util-modes.el 942and co-wrote cpp.el db-ebrowse.el util-modes.el
931and changed *.el info.el rmail.el speedbspec.el gud.el sb-dir-minus.xpm 943and changed *.el info.el rmail.el speedbspec.el gud.el sb-dir-minus.xpm
932 sb-dir-plus.xpm sb-dir.xpm sb-mail.xpm sb-pg-minus.xpm sb-pg-plus.xpm 944 sb-dir-plus.xpm sb-dir.xpm sb-mail.xpm sb-pg-minus.xpm sb-pg-plus.xpm
933 sb-pg.xpm sb-tag-gt.xpm sb-tag-minus.xpm sb-tag-plus.xpm 945 sb-pg.xpm sb-tag-gt.xpm sb-tag-minus.xpm sb-tag-plus.xpm
934 sb-tag-type.xpm sb-tag-v.xpm sb-tag.xpm Makefile.in comint.el dir 946 sb-tag-type.xpm sb-tag-v.xpm sb-tag.xpm Makefile.in c-by.el cedet.el
935 and 13 other files 947 and 18 other files
936 948
937Eric Marsden: changed gnus-cache.el url-util.el 949Eric Marsden: changed gnus-cache.el url-util.el
938 950
@@ -1091,7 +1103,7 @@ Gaute B Strokkenes: changed imap.el gnus-fun.el mail-source.el process.c
1091 1103
1092Geert Kloosterman: changed which-func.el 1104Geert Kloosterman: changed which-func.el
1093 1105
1094Geoff Gole: changed align.el ibuffer.el 1106Geoff Gole: changed align.el ibuffer.el whitespace.el
1095 1107
1096Geoff Greene: changed message.el 1108Geoff Greene: changed message.el
1097 1109
@@ -1131,9 +1143,9 @@ Giuseppe Scrivano: changed buffer.c configure.in sysdep.c xsmfns.c
1131Glenn Morris: wrote check-declare.el 1143Glenn Morris: wrote check-declare.el
1132and changed Makefile.in calendar.el diary-lib.el rmail.el f90.el 1144and changed Makefile.in calendar.el diary-lib.el rmail.el f90.el
1133 cal-menu.el cal-hebrew.el fortran.el holidays.el configure.in 1145 cal-menu.el cal-hebrew.el fortran.el holidays.el configure.in
1134 cal-islam.el bytecomp.el calendar.texi cal-bahai.el emacs.texi files.el 1146 calendar.texi cal-islam.el bytecomp.el cal-bahai.el appt.el emacs.texi
1135 appt.el cal-china.el rmailsum.el simple.el startup.el 1147 files.el cal-china.el rmailsum.el cal-tex.el simple.el
1136 and 976 other files 1148 and 1010 other files
1137 1149
1138Glynn Clements: wrote gamegrid.el snake.el tetris.el 1150Glynn Clements: wrote gamegrid.el snake.el tetris.el
1139 1151
@@ -1196,6 +1208,8 @@ Harald Meland: changed gnus-art.el gnus-salt.el gnus-score.el
1196 1208
1197Heiko Muenkel: changed b2m.c 1209Heiko Muenkel: changed b2m.c
1198 1210
1211Helmut Eller: changed cl-macs.el process.c
1212
1199Helmut Waitzmann: changed gnus-sum.el gnus.texi 1213Helmut Waitzmann: changed gnus-sum.el gnus.texi
1200 1214
1201Henrik Enberg: changed rmailout.el gnus-art.el gnus-msg.el lread.c 1215Henrik Enberg: changed rmailout.el gnus-art.el gnus-msg.el lread.c
@@ -1286,7 +1300,7 @@ Itai Zukerman: changed mm-decode.el
1286Ivan Boldyrev: changed mml1991.el 1300Ivan Boldyrev: changed mml1991.el
1287 1301
1288Ivan Kanis: wrote vc-hg.el 1302Ivan Kanis: wrote vc-hg.el
1289and changed term.el time.el 1303and changed appt.el term.el time.el
1290 1304
1291Ivan Shmakov: changed tcl.el 1305Ivan Shmakov: changed tcl.el
1292 1306
@@ -1343,12 +1357,13 @@ and co-wrote byte-opt.el byte-run.el bytecomp.el disass.el font-lock.el
1343and changed bytecode.c mail-extr.el subr.el 1357and changed bytecode.c mail-extr.el subr.el
1344 1358
1345Jan Djärv: wrote dnd.el font-setting.el x-dnd.el 1359Jan Djärv: wrote dnd.el font-setting.el x-dnd.el
1346and changed gtkutil.c xterm.c xfns.c configure.in xterm.h xmenu.c 1360and changed gtkutil.c xterm.c xfns.c xterm.h configure.in xmenu.c
1347 x-win.el Makefile.in gtkutil.h keyboard.c frame.c frames.texi config.in 1361 x-win.el Makefile.in gtkutil.h keyboard.c frame.c frames.texi config.in
1348 emacs.c xselect.c xresources.texi startup.el alloc.c cus-start.el 1362 emacs.c xselect.c xresources.texi cus-start.el startup.el alloc.c
1349 xlwmenu.c frame.h and 203 other files 1363 process.c xlwmenu.c and 205 other files
1350 1364
1351Jan Moringen: co-wrote cpp.el 1365Jan Moringen: co-wrote cpp.el
1366and changed eieio.el zeroconf.el
1352 1367
1353Jan Nieuwenhuizen: changed info.el TUTORIAL.nl add-log.el emacs.c 1368Jan Nieuwenhuizen: changed info.el TUTORIAL.nl add-log.el emacs.c
1354 emacsclient.c gnus-start.el gud.el nnmh.el server.el startup.el 1369 emacsclient.c gnus-start.el gud.el nnmh.el server.el startup.el
@@ -1520,7 +1535,7 @@ Johan Bockgård: changed erc.el cl-macs.el erc-backend.el erc-button.el
1520 erc-match.el browse-url.el bytecomp.el custom.el display.texi 1535 erc-match.el browse-url.el bytecomp.el custom.el display.texi
1521 erc-compat.el erc-nickserv.el erc-ring.el erc-speak.el erc-track.el 1536 erc-compat.el erc-nickserv.el erc-ring.el erc-speak.el erc-track.el
1522 help-fns.el simple.el subr.el xterm.el advice.el align.el basic.texi 1537 help-fns.el simple.el subr.el xterm.el advice.el align.el basic.texi
1523 and 40 other files 1538 and 42 other files
1524 1539
1525Johan Euphrosine: changed ibuf-ext.el 1540Johan Euphrosine: changed ibuf-ext.el
1526 1541
@@ -1589,6 +1604,10 @@ Jonathan I. Kamens: changed pop.c movemail.c rmail.el Makefile.in
1589 gnus-sum.el jka-compr.el rmailout.el rnewspost.el sendmail.el simple.el 1604 gnus-sum.el jka-compr.el rmailout.el rnewspost.el sendmail.el simple.el
1590 timezone.el vc-hooks.el 1605 timezone.el vc-hooks.el
1591 1606
1607Jonathan Marchand: changed cpp-root.el
1608
1609Jonathan Rockway: changed rcirc.el
1610
1592Jonathan Stigelman: changed hilit19.el 1611Jonathan Stigelman: changed hilit19.el
1593 1612
1594Jonathan Vail: changed vc.el 1613Jonathan Vail: changed vc.el
@@ -1633,11 +1652,9 @@ Juan León Lahoz García: wrote wdired.el
1633and changed files.el perl-mode.el 1652and changed files.el perl-mode.el
1634 1653
1635Juanma Barranquero: changed makefile.w32-in subr.el files.el faces.el 1654Juanma Barranquero: changed makefile.w32-in subr.el files.el faces.el
1636 bs.el help-fns.el w32fns.c org.el server.el simple.el emacsclient.c 1655 w32fns.c bs.el help-fns.el server.el org.el simple.el emacsclient.c
1637 desktop.el buffer.c mule-cmds.el ido.el window.c xdisp.c allout.el 1656 buffer.c desktop.el mule-cmds.el ido.el window.c xdisp.c allout.el
1638 keyboard.c replace.el eval.c and 932 other files 1657 keyboard.c replace.el eval.c and 939 other files
1639
1640Juergen Hoetzel: changed url-handlers.el
1641 1658
1642Juergen Kreileder: changed imap.el nnimap.el 1659Juergen Kreileder: changed imap.el nnimap.el
1643 1660
@@ -1647,6 +1664,8 @@ Julian Scheid: changed tramp.el
1647 1664
1648Julien Avarre: changed gnus-fun.el 1665Julien Avarre: changed gnus-fun.el
1649 1666
1667Julien Danjou: changed erc-backend.el
1668
1650Julien Gilles: wrote gnus-ml.el 1669Julien Gilles: wrote gnus-ml.el
1651 1670
1652Junio Hamano: changed window.el 1671Junio Hamano: changed window.el
@@ -1657,7 +1676,7 @@ Juri Linkov: wrote files-x.el misearch.el
1657and changed info.el isearch.el simple.el replace.el dired-aux.el 1676and changed info.el isearch.el simple.el replace.el dired-aux.el
1658 startup.el grep.el compile.el dired.el files.el faces.el display.texi 1677 startup.el grep.el compile.el dired.el files.el faces.el display.texi
1659 menu-bar.el descr-text.el cus-edit.el bindings.el man.el image-mode.el 1678 menu-bar.el descr-text.el cus-edit.el bindings.el man.el image-mode.el
1660 ispell.el text.texi dired-x.el and 281 other files 1679 ispell.el text.texi dired-x.el and 282 other files
1661 1680
1662Justin Bogner: changed fortune.el 1681Justin Bogner: changed fortune.el
1663 1682
@@ -1668,6 +1687,8 @@ Justus Piater: changed smtpmail.el
1668Jérôme Marant: changed Makefile.in make-dist bindings.el configure.in 1687Jérôme Marant: changed Makefile.in make-dist bindings.el configure.in
1669 emacsclient.c misc.texi 1688 emacsclient.c misc.texi
1670 1689
1690Jürgen Hötzel: changed url-handlers.el wid-edit.el
1691
1671K. Shane Hartman: wrote chistory.el echistory.el electric.el emacsbug.el 1692K. Shane Hartman: wrote chistory.el echistory.el electric.el emacsbug.el
1672 helper.el picture.el view.el 1693 helper.el picture.el view.el
1673and changed rmail.el ebuff-menu.el dired.el simple.el add-log.el 1694and changed rmail.el ebuff-menu.el dired.el simple.el add-log.el
@@ -1693,6 +1714,10 @@ Kalle Olavi Niemitalo: changed keyboard.c
1693 1714
1694Kanematsu Daiji: changed nnimap.el 1715Kanematsu Daiji: changed nnimap.el
1695 1716
1717Karel Klic: changed ftfont.c
1718
1719Karel Klíč: changed tramp.el
1720
1696Karl Berry: changed emacs.texi info.texi elisp.texi text.texi anti.texi 1721Karl Berry: changed emacs.texi info.texi elisp.texi text.texi anti.texi
1697 display.texi .cvsignore emacs-xtra.texi faq.texi filelock.c gnu.texi 1722 display.texi .cvsignore emacs-xtra.texi faq.texi filelock.c gnu.texi
1698 macos.texi minibuf.texi mule.texi processes.texi texinfo.tex 1723 macos.texi minibuf.texi mule.texi processes.texi texinfo.tex
@@ -1707,9 +1732,10 @@ Karl Eichwalder: changed Makefile.in add-log.el bookmark.el dired-aux.el
1707 dired.el info.el menu-bar.el midnight.el po.el 1732 dired.el info.el menu-bar.el midnight.el po.el
1708 1733
1709Karl Fogel: wrote bookmark.el mail-hist.el saveplace.el 1734Karl Fogel: wrote bookmark.el mail-hist.el saveplace.el
1710and changed files.el INSTALL autogen.sh doc-view.el image-mode.el info.el 1735and changed files.el simple.el INSTALL autogen.sh doc-view.el
1711 isearch.el menu-bar.el simple.el thingatpt.el INSTALL.BZR configure 1736 image-mode.el info.el isearch.el menu-bar.el thingatpt.el INSTALL.BZR
1712 configure.in editfns.c gnus-bookmark.el nnmail.el vc-svn.el window.c 1737 configure configure.in editfns.c gnus-bookmark.el nnmail.el vc-svn.el
1738 window.c
1713 1739
1714Karl Heuer: changed keyboard.c lisp.h xdisp.c buffer.c xfns.c xterm.c 1740Karl Heuer: changed keyboard.c lisp.h xdisp.c buffer.c xfns.c xterm.c
1715 alloc.c files.el frame.c window.c configure.in Makefile.in data.c 1741 alloc.c files.el frame.c window.c configure.in Makefile.in data.c
@@ -1748,7 +1774,7 @@ Keisuke Nishida: changed print.c alloc.c bytecomp.el data.c keymap.c
1748 1774
1749Keith Gabryelski: wrote hexl.c hexl.el 1775Keith Gabryelski: wrote hexl.c hexl.el
1750 1776
1751Ken Brown: changed browse-url.el cygwin.h configure.in emacs.c 1777Ken Brown: changed cygwin.h browse-url.el configure.in dired.c emacs.c
1752 1778
1753Ken Brush: changed emacsclient.c 1779Ken Brush: changed emacsclient.c
1754 1780
@@ -1770,8 +1796,8 @@ Kenichi Handa: wrote composite.el cyrillic.el isearch-x.el ps-bdf.el
1770and co-wrote ps-def.el ps-mule.el ps-print.el ps-samp.el quail.el 1796and co-wrote ps-def.el ps-mule.el ps-print.el ps-samp.el quail.el
1771and changed coding.c mule-cmds.el mule.el fontset.c charset.c fontset.el 1797and changed coding.c mule-cmds.el mule.el fontset.c charset.c fontset.el
1772 xdisp.c xterm.c font.c fileio.c Makefile.in mule-conf.el characters.el 1798 xdisp.c xterm.c font.c fileio.c Makefile.in mule-conf.el characters.el
1773 fns.c mule-diag.el ftfont.c ccl.c charset.h xfaces.c coding.h 1799 fns.c mule-diag.el ftfont.c ccl.c charset.h coding.h xfaces.c
1774 japanese.el and 377 other files 1800 japanese.el and 378 other files
1775 1801
1776Kenichi Okada: co-wrote sasl-cram.el sasl-digest.el 1802Kenichi Okada: co-wrote sasl-cram.el sasl-digest.el
1777 1803
@@ -1817,8 +1843,8 @@ Kevin Rodgers: changed compile.el mailabbrev.el dired-x.el files.el
1817Kevin Ryde: wrote info-xref.el 1843Kevin Ryde: wrote info-xref.el
1818and changed info-look.el info.el checkdoc.el arc-mode.el cl.texi 1844and changed info-look.el info.el checkdoc.el arc-mode.el cl.texi
1819 compilation.txt ffap.el gnus-art.el mule.el os.texi MORE.STUFF 1845 compilation.txt ffap.el gnus-art.el mule.el os.texi MORE.STUFF
1820 browse-url.el compile.el dig.el etags.c gnus-sum.el mailcap.el man.el 1846 browse-url.el compile.el dig.el etags.c gnus-sum.el keyboard.c
1821 newst-backend.el nroff-mode.el simple.el and 71 other files 1847 mailcap.el man.el newst-backend.el nroff-mode.el and 71 other files
1822 1848
1823Kim F. Storm: wrote bindat.el cua-base.el cua-gmrk.el cua-rect.el ido.el 1849Kim F. Storm: wrote bindat.el cua-base.el cua-gmrk.el cua-rect.el ido.el
1824 keypad.el kmacro.el 1850 keypad.el kmacro.el
@@ -1833,6 +1859,8 @@ Kim-Minh Kaplan: changed gnus-picon.el gnus-sum.el gnus-start.el
1833 1859
1834Kimit Yada: changed copyright.el 1860Kimit Yada: changed copyright.el
1835 1861
1862Kirk Kelsey: changed make-mode.el
1863
1836Kishore Kumar: changed terminal.el 1864Kishore Kumar: changed terminal.el
1837 1865
1838Klaus Straubinger: changed url-http.el url-history.el pcmpl-rpm.el 1866Klaus Straubinger: changed url-http.el url-history.el pcmpl-rpm.el
@@ -1956,6 +1984,8 @@ Lucid, Inc.: changed byte-opt.el byte-run.el bytecode.c bytecomp.el
1956 1984
1957Łukasz Demianiuk: changed erc.el 1985Łukasz Demianiuk: changed erc.el
1958 1986
1987Łukasz Stelmach: changed cookie1.el
1988
1959Lute Kamstra: changed modes.texi generic.el debug.el generic-x.el 1989Lute Kamstra: changed modes.texi generic.el debug.el generic-x.el
1960 font-lock.el simple.el subr.el Makefile.in battery.el debugging.texi 1990 font-lock.el simple.el subr.el Makefile.in battery.el debugging.texi
1961 easy-mmode.el elisp.texi hl-line.el info.el basic.texi bindings.el 1991 easy-mmode.el elisp.texi hl-line.el info.el basic.texi bindings.el
@@ -1969,7 +1999,7 @@ Maciek Pasternacki: changed nnrss.el
1969Magnus Henoch: changed url-http.el ispell.el url.el dbusbind.c dns.el 1999Magnus Henoch: changed url-http.el ispell.el url.el dbusbind.c dns.el
1970 url-gw.el url-parse.el url-proxy.el autoinsert.el cl.texi configure.in 2000 url-gw.el url-parse.el url-proxy.el autoinsert.el cl.texi configure.in
1971 cyrillic.el dbus.el gnus.texi hashcash.el log-edit.el message.el 2001 cyrillic.el dbus.el gnus.texi hashcash.el log-edit.el message.el
1972 org-latex.el org-table.el process.c rcirc.el and 8 other files 2002 org-latex.el org-table.el process.c rcirc.el and 9 other files
1973 2003
1974Malcolm Purvis: changed spam-stat.el 2004Malcolm Purvis: changed spam-stat.el
1975 2005
@@ -2120,7 +2150,7 @@ Masatake Yamato: wrote ld-script.el subword.el
2120and changed etags.el asm-mode.el hexl.el xdisp.c bindings.el man.el 2150and changed etags.el asm-mode.el hexl.el xdisp.c bindings.el man.el
2121 xfaces.c simple.el vc.el wid-edit.el add-log.el compile.el etags.c 2151 xfaces.c simple.el vc.el wid-edit.el add-log.el compile.el etags.c
2122 faces.el pcvs.el register.el ruler-mode.el buffer.c cus-face.el 2152 faces.el pcvs.el register.el ruler-mode.el buffer.c cus-face.el
2123 dired-x.el dispextern.h and 67 other files 2153 dired-x.el dispextern.h and 69 other files
2124 2154
2125Masayuki Ataka: changed texinfmt.el texinfo.el characters.el cmuscheme.el 2155Masayuki Ataka: changed texinfmt.el texinfo.el characters.el cmuscheme.el
2126 make-mode.el 2156 make-mode.el
@@ -2170,10 +2200,10 @@ Michael Albinus: wrote dbus.el tramp-cmds.el tramp-compat.el
2170 tramp-fish.el tramp-ftp.el tramp-gvfs.el tramp-gw.el tramp-smb.el 2200 tramp-fish.el tramp-ftp.el tramp-gvfs.el tramp-gw.el tramp-smb.el
2171 xesam.el zeroconf.el 2201 xesam.el zeroconf.el
2172and co-wrote tramp-cache.el tramp.el 2202and co-wrote tramp-cache.el tramp.el
2173and changed tramp.texi dbusbind.c dbus.texi ange-ftp.el trampver.el 2203and changed tramp.texi dbusbind.c dbus.texi trampver.el ange-ftp.el
2174 trampver.texi files.el files.texi tramp-vc.el Makefile.in tramp-util.el 2204 trampver.texi files.el files.texi tramp-vc.el Makefile.in tramp-util.el
2175 tramp-uu.el dired-aux.el tramp-imap.el compile.el em-unix.el grep.el 2205 tramp-imap.el tramp-uu.el dired-aux.el compile.el configure.in
2176 simple.el vc.el configure.in dired.el and 50 other files 2206 em-unix.el grep.el simple.el vc.el dired.el and 51 other files
2177 2207
2178Michael Ben-Gershon: changed acorn.h configure.in riscix1-1.h riscix1-2.h 2208Michael Ben-Gershon: changed acorn.h configure.in riscix1-1.h riscix1-2.h
2179 unexec.c 2209 unexec.c
@@ -2303,6 +2333,8 @@ Miyashita Hisashi: changed ccl.c coding.c coding.h mule-cmds.el
2303 2333
2304Miyoshi Masanori: changed mouse.el smtpmail.el xdisp.c 2334Miyoshi Masanori: changed mouse.el smtpmail.el xdisp.c
2305 2335
2336Mon Key: changed syntax.el
2337
2306Morten Welinder: wrote [many MS-DOS files] arc-mode.el desktop.el 2338Morten Welinder: wrote [many MS-DOS files] arc-mode.el desktop.el
2307 dosfns.c internal.el msdos.h pc-win.el s-region.el 2339 dosfns.c internal.el msdos.h pc-win.el s-region.el
2308and changed msdos.c sed1.inp config.bat keyboard.c sed2.inp fileio.c 2340and changed msdos.c sed1.inp config.bat keyboard.c sed2.inp fileio.c
@@ -2329,7 +2361,8 @@ Nakaji Hiroyuki: changed mm-util.el amdx86-64.h configure.in smiley.el
2329 2361
2330Nakamura Toshikazu: changed w32fns.c 2362Nakamura Toshikazu: changed w32fns.c
2331 2363
2332Naohiro Aota: changed fontset.c gnus-art.el mm-view.el tls.el 2364Naohiro Aota: changed fontset.c ftfont.c gnus-art.el mm-view.el tls.el
2365 xftfont.c
2333 2366
2334Nathan J. Williams: changed imap.el 2367Nathan J. Williams: changed imap.el
2335 2368
@@ -2385,6 +2418,8 @@ and changed rsz-mini.el comint.el emacs-buffer.gdb files.el Makefile
2385 coding.c complete.el config.in configure.in copyright.h fns.c 2418 coding.c complete.el config.in configure.in copyright.h fns.c
2386 gnu-linux.h hpux7.h irix3-3.h and 17 other files 2419 gnu-linux.h hpux7.h irix3-3.h and 17 other files
2387 2420
2421Noah Lavine: changed tramp.el
2422
2388Nobuyoshi Nakada: co-wrote ruby-mode.el 2423Nobuyoshi Nakada: co-wrote ruby-mode.el
2389 2424
2390Nobuyuki Hikichi: changed news-risc.h 2425Nobuyuki Hikichi: changed news-risc.h
@@ -2408,6 +2443,8 @@ Ole Aamot: changed compile.el
2408 2443
2409Oleg S. Tihonov: changed cyrillic.el ispell.el map-ynp.el subr.el 2444Oleg S. Tihonov: changed cyrillic.el ispell.el map-ynp.el subr.el
2410 2445
2446Oleksandr Gavenko: changed generic-x.el
2447
2411Olin Shivers: wrote cmuscheme.el inf-lisp.el 2448Olin Shivers: wrote cmuscheme.el inf-lisp.el
2412and co-wrote comint.el shell.el 2449and co-wrote comint.el shell.el
2413 2450
@@ -2426,13 +2463,15 @@ Olivier Lecarme: changed make-mode.el ange-ftp.el apropos.el bibtex.el
2426 2463
2427Olli Savia: changed etags.c syssignal.h 2464Olli Savia: changed etags.c syssignal.h
2428 2465
2466Olof Ohlsson Sax: changed vc-svn.el
2467
2429Osamu Yamane: changed smtpmail.el 2468Osamu Yamane: changed smtpmail.el
2430 2469
2431Oscar Figueiredo: wrote eudc-bob.el eudc-export.el eudc-hotlist.el 2470Oscar Figueiredo: wrote eudc-bob.el eudc-export.el eudc-hotlist.el
2432 eudc-vars.el eudc.el eudcb-bbdb.el eudcb-ldap.el eudcb-ph.el ldap.el 2471 eudc-vars.el eudc.el eudcb-bbdb.el eudcb-ldap.el eudcb-ph.el ldap.el
2433and changed ph.el 2472and changed ph.el
2434 2473
2435Óscar Fuentes: changed ido.el emacsclient.c vc-bzr.el 2474Óscar Fuentes: changed ido.el cmdproxy.c emacsclient.c vc-bzr.el
2436 2475
2437P. E. Jareth Hein: changed gnus-util.el 2476P. E. Jareth Hein: changed gnus-util.el
2438 2477
@@ -2542,7 +2581,7 @@ Peter Kleiweg: wrote ps-mode.el
2542 2581
2543Peter Liljenberg: wrote elint.el 2582Peter Liljenberg: wrote elint.el
2544 2583
2545Peter O'Gorman: changed configure.in frame.h termhooks.h 2584Peter O'Gorman: changed configure.in frame.h hpux10-20.h termhooks.h
2546 2585
2547Peter Povinec: changed term.el 2586Peter Povinec: changed term.el
2548 2587
@@ -2643,7 +2682,7 @@ Reiner Steib: wrote gmm-utils.el gnus-news.el
2643and changed message.el gnus.texi gnus-art.el gnus-sum.el gnus-group.el 2682and changed message.el gnus.texi gnus-art.el gnus-sum.el gnus-group.el
2644 gnus.el mml.el gnus-faq.texi mm-util.el gnus-score.el message.texi 2683 gnus.el mml.el gnus-faq.texi mm-util.el gnus-score.el message.texi
2645 gnus-msg.el gnus-start.el gnus-util.el spam-report.el mm-uu.el spam.el 2684 gnus-msg.el gnus-start.el gnus-util.el spam-report.el mm-uu.el spam.el
2646 mm-decode.el files.el gnus-agent.el nnmail.el and 181 other files 2685 mm-decode.el files.el gnus-agent.el nnmail.el and 182 other files
2647 2686
2648Remek Trzaska: changed gnus-ems.el 2687Remek Trzaska: changed gnus-ems.el
2649 2688
@@ -2671,6 +2710,8 @@ Richard King: wrote filelock.c uniquify.el userlock.el
2671 2710
2672Richard L. Pieri: wrote pop3.el 2711Richard L. Pieri: wrote pop3.el
2673 2712
2713Richard Levitte: changed vc-mtn.el
2714
2674Richard M. Heiberger: changed tex-mode.el 2715Richard M. Heiberger: changed tex-mode.el
2675 2716
2676Richard M. Stallman: wrote [The original GNU Emacs and numerous files] 2717Richard M. Stallman: wrote [The original GNU Emacs and numerous files]
@@ -2690,7 +2731,7 @@ and changed files.el sysdep.c rmail.el info.el keyboard.c bytecomp.el
2690 subr.el and 129 other files 2731 subr.el and 129 other files
2691 2732
2692Richard Sharman: wrote hilit-chg.el 2733Richard Sharman: wrote hilit-chg.el
2693and changed sh-script.el ediff-init.el regexp-opt.el simple.el 2734and changed sh-script.el ediff-init.el gdb-ui.el regexp-opt.el simple.el
2694 2735
2695Rick Farnbach: wrote morse.el 2736Rick Farnbach: wrote morse.el
2696 2737
@@ -2797,7 +2838,7 @@ Sam Kendall: changed etags.c etags.el
2797 2838
2798Sam Steingold: wrote gulp.el midnight.el 2839Sam Steingold: wrote gulp.el midnight.el
2799and changed cl-indent.el compile.el vc-cvs.el vc.el font-lock.el mouse.el 2840and changed cl-indent.el compile.el vc-cvs.el vc.el font-lock.el mouse.el
2800 simple.el ange-ftp.el pcvs.el tex-mode.el vc-hg.el add-log.el 2841 simple.el ange-ftp.el vc-hg.el pcvs.el tex-mode.el add-log.el
2801 bindings.el bookmark.el debug.el diary-lib.el dired.el files.el grep.el 2842 bindings.el bookmark.el debug.el diary-lib.el dired.el files.el grep.el
2802 inf-lisp.el sgml-mode.el and 108 other files 2843 inf-lisp.el sgml-mode.el and 108 other files
2803 2844
@@ -2809,7 +2850,7 @@ Sascha Lüdecke: co-wrote mml1991.el
2809and changed gnus-win.el 2850and changed gnus-win.el
2810 2851
2811Sascha Wilde: changed pgg-gpg.el pgg.texi pgg.el bubbles.el configure.in 2852Sascha Wilde: changed pgg-gpg.el pgg.texi pgg.el bubbles.el configure.in
2812 proj-shared.el srecode.el 2853 proj-shared.el srecode.el vc-hg.el
2813 2854
2814Satyaki Das: wrote mh-acros.el mh-gnus.el mh-search.el mh-speed.el 2855Satyaki Das: wrote mh-acros.el mh-gnus.el mh-search.el mh-speed.el
2815 mh-thread.el mh-tool-bar.el 2856 mh-thread.el mh-tool-bar.el
@@ -2867,6 +2908,8 @@ Sergio Pokrovskij: changed TUTORIAL.eo
2867 2908
2868Seweryn Kokot: changed positions.texi searching.texi 2909Seweryn Kokot: changed positions.texi searching.texi
2869 2910
2911Shawn Boles: changed url-cookie.el
2912
2870Shawn M. Carey: wrote freebsd.h 2913Shawn M. Carey: wrote freebsd.h
2871 2914
2872Shenghuo Zhu: wrote binhex.el mm-extern.el mm-partial.el mm-url.el 2915Shenghuo Zhu: wrote binhex.el mm-extern.el mm-partial.el mm-url.el
@@ -2889,6 +2932,8 @@ and changed gnus-group.el message.el nnmail.el
2889 2932
2890Shun-Ichi Goto: changed url-http.el 2933Shun-Ichi Goto: changed url-http.el
2891 2934
2935Shyam Karanatt: changed image-mode.el
2936
2892Sidney Markowitz: changed doctor.el nsmenu.m 2937Sidney Markowitz: changed doctor.el nsmenu.m
2893 2938
2894Sigbjorn Finne: changed gnus-srvr.el 2939Sigbjorn Finne: changed gnus-srvr.el
@@ -2932,12 +2977,12 @@ Stefan Merten: co-wrote rst.el
2932Stefan Monnier: wrote bibtex-style.el css-mode.el cvs-status.el 2977Stefan Monnier: wrote bibtex-style.el css-mode.el cvs-status.el
2933 diff-mode.el log-edit.el log-view.el minibuffer.el mpc.el pcvs-defs.el 2978 diff-mode.el log-edit.el log-view.el minibuffer.el mpc.el pcvs-defs.el
2934 pcvs-info.el pcvs-parse.el pcvs-util.el reveal.el smerge-mode.el 2979 pcvs-info.el pcvs-parse.el pcvs-util.el reveal.el smerge-mode.el
2935 vc-mtn.el 2980 smie.el vc-mtn.el
2936and co-wrote font-lock.el 2981and co-wrote font-lock.el
2937and changed vc.el lisp.h subr.el keyboard.c simple.el files.el pcvs.el 2982and changed vc.el subr.el lisp.h keyboard.c simple.el files.el pcvs.el
2938 keymap.c xdisp.c Makefile.in vc-hooks.el alloc.c newcomment.el 2983 keymap.c xdisp.c Makefile.in vc-hooks.el alloc.c newcomment.el
2939 tex-mode.el bytecomp.el compile.el buffer.c info.el fill.el fileio.c 2984 tex-mode.el bytecomp.el compile.el buffer.c info.el fill.el fileio.c
2940 window.c and 901 other files 2985 window.c and 908 other files
2941 2986
2942Stefan Reichör: changed gnus-agent.el 2987Stefan Reichör: changed gnus-agent.el
2943 2988
@@ -2951,9 +2996,10 @@ Stefan Wiens: changed gnus-sum.el
2951 2996
2952Steinar Bang: changed imap.el 2997Steinar Bang: changed imap.el
2953 2998
2954Štěpán Němec: changed INSTALL cl.texi edebug.texi loading.texi maps.texi 2999Štěpán Němec: changed INSTALL cl.texi comint.el edebug.texi loading.texi
2955 mark.texi message.texi mini.texi minibuf.texi misc.texi programs.texi 3000 maps.texi mark.texi message.texi mini.texi minibuf.texi misc.texi
2956 subr.el tips.texi url.texi vc-git.el windows.texi 3001 programs.texi subr.el tips.texi url-vars.el url.texi vc-git.el
3002 windows.texi
2957 3003
2958Stephan Stahl: changed which-func.el buff-menu.el buffer.c dired-x.texi 3004Stephan Stahl: changed which-func.el buff-menu.el buffer.c dired-x.texi
2959 ediff-mult.el 3005 ediff-mult.el
@@ -3032,10 +3078,9 @@ Sun Yijiang: changed TUTORIAL.cn
3032Sundar Narasimhan: changed rnews.el rnewspost.el 3078Sundar Narasimhan: changed rnews.el rnewspost.el
3033 3079
3034Sven Joachim: changed files.el de-refcard.tex dired-aux.el arc-mode.el 3080Sven Joachim: changed files.el de-refcard.tex dired-aux.el arc-mode.el
3035 dired-x.el em-cmpl.el em-hist.el em-ls.el esh-cmd.el esh-ext.el 3081 dired-x.el em-cmpl.el em-hist.el em-ls.el emacs.1 esh-cmd.el esh-ext.el
3036 esh-io.el files.texi gnus-news.texi gnus-sum.el gnus.texi help.el 3082 esh-io.el files.texi gnus-news.texi gnus-sum.el gnus.texi help.el
3037 make-dist movemail.c mule.texi sed3v2.inp sh-script.el 3083 make-dist movemail.c mule.texi sed3v2.inp and 6 other files
3038 and 5 other files
3039 3084
3040Svend Tollak Munkejord: changed deuglify.el 3085Svend Tollak Munkejord: changed deuglify.el
3041 3086
@@ -3198,7 +3243,7 @@ Torsten Bronger: changed latin-ltx.el
3198Toru Tomabechi: wrote tibet-util.el tibetan.el 3243Toru Tomabechi: wrote tibet-util.el tibetan.el
3199 3244
3200Toru Tsuneyoshi: changed ange-ftp.el buff-menu.el cus-start.el fileio.c 3245Toru Tsuneyoshi: changed ange-ftp.el buff-menu.el cus-start.el fileio.c
3201 files.el lisp.h w32fns.c 3246 files.el lisp.h tramp.el w32fns.c
3202 3247
3203Toshiaki Nomura: changed uxpds.h 3248Toshiaki Nomura: changed uxpds.h
3204 3249
@@ -3219,13 +3264,15 @@ Tsuchiya Masatoshi: changed gnus-art.el mm-view.el gnus-sum.el
3219 3264
3220Tsugutomo Enami: changed frame.c keyboard.c dispnew.c fileio.c process.c 3265Tsugutomo Enami: changed frame.c keyboard.c dispnew.c fileio.c process.c
3221 simple.el xdisp.c add-log.el bytecomp.el configure.in editfns.c emacs.c 3266 simple.el xdisp.c add-log.el bytecomp.el configure.in editfns.c emacs.c
3222 frame.h gnus-group.el nnheader.el perl-mode.el regex.c regex.h 3267 frame.h gnus-group.el netbsd.h nnheader.el perl-mode.el regex.c regex.h
3223 rmailsum.el sysdep.c vc.el and 3 other files 3268 rmailsum.el sysdep.c and 4 other files
3224 3269
3225Tsuyoshi Akiho: changed gnus-sum.el nnrss.el 3270Tsuyoshi Akiho: changed gnus-sum.el nnrss.el
3226 3271
3227Tudor Hulubei: changed iso-acc.el latin-pre.el 3272Tudor Hulubei: changed iso-acc.el latin-pre.el
3228 3273
3274Uday S Reddy: changed fill.el
3275
3229Ulf Jasper: wrote bubbles.el icalendar-testsuite.el icalendar.el 3276Ulf Jasper: wrote bubbles.el icalendar-testsuite.el icalendar.el
3230 newst-backend.el newst-plainview.el newst-reader.el newst-ticker.el 3277 newst-backend.el newst-plainview.el newst-reader.el newst-ticker.el
3231 newst-treeview.el newsticker-testsuite.el newsticker.el 3278 newst-treeview.el newsticker-testsuite.el newsticker.el
@@ -3239,9 +3286,9 @@ Ulrich Leodolter: changed w32proc.c
3239 3286
3240Ulrich Mueller: changed configure.in Makefile.in files.el gud.el 3287Ulrich Mueller: changed configure.in Makefile.in files.el gud.el
3241 ChgPane.c ChgSel.c INSTALL XMakeAssoc.c authors.el bytecomp.el 3288 ChgPane.c ChgSel.c INSTALL XMakeAssoc.c authors.el bytecomp.el
3242 calc-units.el case-table.el configure doctor.el emacs.c emacs.desktop 3289 calc-units.el case-table.el configure doctor.el emacs.1 emacs.c
3243 emacsclient.c fortran.el gnu-linux.h iso-acc.el lread.c 3290 emacs.desktop emacsclient.c fortran.el gnu-linux.h iso-acc.el
3244 and 12 other files 3291 and 13 other files
3245 3292
3246Ulrich Neumerkel: changed xterm.c 3293Ulrich Neumerkel: changed xterm.c
3247 3294
@@ -3318,7 +3365,8 @@ William Xu: changed outline.el webjump.el
3318 3365
3319Wilson H. Tien: changed unexelf.c 3366Wilson H. Tien: changed unexelf.c
3320 3367
3321Wilson Snyder: changed verilog-mode.el files.el 3368Wilson Snyder: co-wrote verilog-mode.el
3369and changed files.el
3322 3370
3323Wim Nieuwenhuizen: changed TUTORIAL.nl 3371Wim Nieuwenhuizen: changed TUTORIAL.nl
3324 3372
@@ -3348,9 +3396,9 @@ Xavier Maillard: changed gnus-faq.texi gnus-score.el mh-utils.el spam.el
3348Yagi Tatsuya: changed gnus-art.el gnus-start.el 3396Yagi Tatsuya: changed gnus-art.el gnus-start.el
3349 3397
3350Yamamoto Mitsuharu: changed macterm.c macfns.c mac-win.el mac.c macterm.h 3398Yamamoto Mitsuharu: changed macterm.c macfns.c mac-win.el mac.c macterm.h
3351 macmenu.c macgui.h image.c macselect.c xdisp.c keyboard.c xterm.c 3399 macmenu.c macgui.h image.c xdisp.c macselect.c keyboard.c xterm.c
3352 Makefile.in emacs.c darwin.h macos.texi unexmacosx.c w32term.c alloc.c 3400 Makefile.in emacs.c darwin.h w32term.c dispextern.h macos.texi
3353 configure.in dispnew.c and 83 other files 3401 process.c unexmacosx.c alloc.c and 83 other files
3354 3402
3355Yann Dirson: changed imenu.el 3403Yann Dirson: changed imenu.el
3356 3404
@@ -3363,9 +3411,9 @@ Yoichi Nakayama: changed browse-url.el finder.el man.el rfc2368.el
3363 3411
3364Yong Lu: changed charset.c coding.c greek.el 3412Yong Lu: changed charset.c coding.c greek.el
3365 3413
3366Yoni Rabkin: changed faces.el net-utils.el artist.el cmacexp.el ediff.el 3414Yoni Rabkin: changed faces.el net-utils.el artist.el bs.el cmacexp.el
3367 files.el hilit19.el ps-mode.el simula.el vera-mode.el verilog-mode.el 3415 ediff.el files.el hilit19.el ps-mode.el simula.el vera-mode.el
3368 vhdl-mode.el viper.el whitespace.el 3416 verilog-mode.el vhdl-mode.el viper.el whitespace.el
3369 3417
3370Yoshiaki Kasahara: changed term.c 3418Yoshiaki Kasahara: changed term.c
3371 3419
diff --git a/etc/ChangeLog b/etc/ChangeLog
index ac7ab124656..384b276a285 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,15 @@
12010-11-21 Ulrich Mueller <ulm@gentoo.org>
2
3 * HELLO: Add ancient Greek (Bug#7418).
4
52010-10-20 Richard Stallman <rms@gnu.org>
6
7 * DISTRIB: Update donation section.
8
92010-10-20 Glenn Morris <rgm@gnu.org>
10
11 * DISTRIB: Small updates.
12
12010-10-12 Juanma Barranquero <lekktu@gmail.com> 132010-10-12 Juanma Barranquero <lekktu@gmail.com>
2 14
3 * tutorials/TUTORIAL.es: Fix typos. 15 * tutorials/TUTORIAL.es: Fix typos.
diff --git a/etc/DISTRIB b/etc/DISTRIB
index ba80f754b87..61434b6edd1 100644
--- a/etc/DISTRIB
+++ b/etc/DISTRIB
@@ -1,12 +1,9 @@
1 -*- text -*- 1 -*- text -*-
2For an order form for all Emacs and FSF distributions deliverable from 2 GNU Emacs availability information
3the USA, see http://www.gnu.org/order/order.html.
4
5 GNU Emacs availability information, October 2000
6 3
7Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1995, 4Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1995,
8 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 5 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
9 Free Software Foundation, Inc. 6 2010 Free Software Foundation, Inc.
10See the end of the file for license conditions. 7See the end of the file for license conditions.
11 8
12 9
@@ -29,31 +26,17 @@ are designed to make sure that everyone who has a copy of GNU Emacs
29(including modified versions) has the freedom to redistribute and 26(including modified versions) has the freedom to redistribute and
30change it. 27change it.
31 28
32If you do not know anyone to get a copy of GNU Emacs from, you can 29For information on how to get GNU software, see
33order a cd-rom from the Free Software Foundation. We distribute 30http://www.gnu.org/software/software.html. Printed copies of GNU
34several Emacs versions. We also distribute nicely typeset copies of 31manuals, including the Emacs manual, are available from the FSF's
35the Emacs user manual, Emacs Lisp Reference Manual, the Emacs 32online store at http://shop.fsf.org.
36reference card, etc. See http://www.gnu.org/order/order.html.
37
38If you have Internet access, you can copy the latest Emacs
39distribution from hosts, such as ftp.gnu.org. There are several ways
40to do this; see http://www.gnu.org/software/software.html for more
41information.
42 33
43Emacs has been run on GNU/Linux, FreeBSD, NetBSD, OpenBSD, and on many 34Emacs has been run on GNU/Linux, FreeBSD, NetBSD, OpenBSD, and on many
44Unix systems, on a variety of types of cpu, as well as on MSDOS, 35Unix systems, on a variety of types of cpu, as well as on MSDOS,
45Windows and MacOS. It also formerly worked on VMS and on Apollo 36Windows and MacOS. See the file `etc/MACHINES' in the Emacs
46computers, though with some deficiencies that reflect problems in 37distribution for a full list of machines that GNU Emacs has been tested
47these operating systems. See the file `MACHINES' in this directory
48(see above) for a full list of machines that GNU Emacs has been tested
49on, with machine-specific installation notes and warnings. 38on, with machine-specific installation notes and warnings.
50 39
51Note that there is significant variation between Unix systems
52supposedly running the same version of Unix; it is possible that what
53works in GNU Emacs for me does not work on your system due to such an
54incompatibility. Since I must avoid reading Unix source code, I
55cannot even guess what such problems may exist.
56
57GNU Emacs is distributed with no warranty (see the General Public 40GNU Emacs is distributed with no warranty (see the General Public
58License for full details, in the file `COPYING' in this directory (see 41License for full details, in the file `COPYING' in this directory (see
59above)), and neither I nor the Free Software Foundation promises any 42above)), and neither I nor the Free Software Foundation promises any
@@ -62,14 +45,13 @@ of people who are willing to offer support and assistance for hire.
62See http://www.gnu.org/help/gethelp.html. 45See http://www.gnu.org/help/gethelp.html.
63 46
64However, we plan to continue to improve GNU Emacs and keep it 47However, we plan to continue to improve GNU Emacs and keep it
65reliable, so please send me any complaints and suggestions you have. 48reliable, so please send us any complaints and suggestions you have.
66I will probably fix anything that I consider a malfunction. I may 49We will probably fix anything that we consider a malfunction. We may
67make improvements that are suggested, but I may choose not to. 50make improvements that are suggested, but we may choose not to.
68 51
69If you are on the Internet, report bugs to bug-gnu-emacs@gnu.org. You 52If you are on the Internet, report bugs to bug-gnu-emacs@gnu.org.
70can use the Emacs command M-x report-bug RET to mail a bug report. 53You can use the Emacs command M-x report-bug RET to mail a bug report.
71Please read the Bugs section of the Emacs manual before reporting 54Please read the Bugs section of the Emacs manual before reporting bugs.
72bugs.
73 55
74General questions about the GNU Project can be asked of gnu@gnu.org. 56General questions about the GNU Project can be asked of gnu@gnu.org.
75 57
@@ -80,12 +62,14 @@ You should consider making a donation to help support the GNU project;
80if you estimate what it would cost to distribute some commercial 62if you estimate what it would cost to distribute some commercial
81product and divide it by five, that is a good amount. 63product and divide it by five, that is a good amount.
82 64
83If you like GNU Emacs, please express your satisfaction with a 65If you like GNU Emacs, please express your satisfaction with a donation:
84donation: send me or the Foundation what you feel Emacs has been worth 66send me (please email me about how) or the Foundation
85to you. If you are glad that I developed GNU Emacs and distribute it 67(https://my.fsf.org/donate) what you feel Emacs has been worth to you.
86as free software, rather than following the obstructive and antisocial 68If you are glad that I developed GNU Emacs and distribute it as free
87practices typical of software developers, reward me. If you would 69software, rather than following the obstructive and antisocial
88like the Foundation to develop more free software, contribute. 70practices of proprietary software, you can reward me. If you would
71like the Foundation to do more to forward the cause of free software,
72you can contribute.
89 73
90Your donations will help to support the development of additional GNU 74Your donations will help to support the development of additional GNU
91software. GNU/Linux systems (variants of GNU, based on the kernel 75software. GNU/Linux systems (variants of GNU, based on the kernel
diff --git a/etc/HELLO b/etc/HELLO
index c7bd5ebe449..348dcfa3ad6 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -33,6 +33,7 @@ French (fran,Ag(Bais) Bonjour / Salut
33Georgian ($,1JEJ0J@J7J5J4J:J8(B) $,1J2J0J;J0J@JOJ=J1J0(B 33Georgian ($,1JEJ0J@J7J5J4J:J8(B) $,1J2J0J;J0J@JOJ=J1J0(B
34German (Deutsch) Guten Tag / Gr,A|_(B Gott 34German (Deutsch) Guten Tag / Gr,A|_(B Gott
35Greek (,Fekkgmij\(B) ,FCei\(B ,Fsar(B 35Greek (,Fekkgmij\(B) ,FCei\(B ,Fsar(B
36Greek, ancient ($,1p1,Fkkgmij^(B) ,FO$,1pv,Fk](B ,Fte(B ,Fja$,1q6(B ,Fl]ca(B ,Fwa$,1r6,Fqe(B
36Gujarati ($,19W:!9\9p9~9d: (B) $,19h9n9x:-9d:'(B 37Gujarati ($,19W:!9\9p9~9d: (B) $,19h9n9x:-9d:'(B
37Hebrew (,Hzixar(B) ,Hylem(B 38Hebrew (,Hzixar(B) ,Hylem(B
38Hungarian (magyar) Sz,Bi(Bp j,Bs(B napot! 39Hungarian (magyar) Sz,Bi(Bp j,Bs(B napot!
diff --git a/etc/MH-E-NEWS b/etc/MH-E-NEWS
index 1141b9dd3fa..f4bf030eb32 100644
--- a/etc/MH-E-NEWS
+++ b/etc/MH-E-NEWS
@@ -1,13 +1,13 @@
1* COPYRIGHT 1* COPYRIGHT
2 2
3Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 3Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
4 Free Software Foundation, Inc. 4 2010 Free Software Foundation, Inc.
5See the end of the file for license conditions. 5See the end of the file for license conditions.
6 6
7 7
8* Changes in MH-E 8.2 8* Changes in MH-E 8.2
9 9
10Version 8.2 of MH-E will appear in GNU Emacs 23.1. This is a small 10Version 8.2 of MH-E appeared in GNU Emacs 23.1. This is a small
11release that includes internal changes from the Emacs team. A new 11release that includes internal changes from the Emacs team. A new
12hook, `mh-pack-folder-hook', has been added. 12hook, `mh-pack-folder-hook', has been added.
13 13
@@ -231,7 +231,7 @@ gatewayed at gmane.org (closes SF #979308).
231If you want to see the release notes for the alpha and beta releases 231If you want to see the release notes for the alpha and beta releases
232leading up this release, please see: 232leading up this release, please see:
233 233
234 http://cvs.savannah.gnu.org/viewcvs/emacs/etc/MH-E-NEWS?rev=1.25&root=emacs&view=markup 234 http://cvs.savannah.gnu.org/viewvc/emacs/emacs/etc/MH-E-NEWS?revision=1.25&view=markup
235 235
236 236
237 237
diff --git a/etc/NEWS b/etc/NEWS
index e1e7ba79d41..6e152777aee 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -17,13 +17,15 @@ with a prefix argument or by typing C-u C-h C-n.
17 17
18* Installation Changes in Emacs 23.3 18* Installation Changes in Emacs 23.3
19 19
20---
21** New configure option --with-crt-dir specifies the location of your
22crt*.o files, if they are in a non-standard location. This is only
23used on x86-64 and s390x GNU/Linux architectures.
24
20* Startup Changes in Emacs 23.3 25* Startup Changes in Emacs 23.3
21 26
22* Changes in Emacs 23.3 27* Changes in Emacs 23.3
23 28
24** The nextstep port can have different modifiers for the left and right
25alt/option key by customizing the value for ns-right-alternate-modifier.
26
27 29
28* Editing Changes in Emacs 23.3 30* Editing Changes in Emacs 23.3
29 31
@@ -34,6 +36,42 @@ alt/option key by customizing the value for ns-right-alternate-modifier.
34** The appt-add command takes an optional argument for the warning time. 36** The appt-add command takes an optional argument for the warning time.
35This can be used in place of the default appt-message-warning-time. 37This can be used in place of the default appt-message-warning-time.
36 38
39---
40** You can allow inferior Python processes to load modules from the
41current directory by setting `python-remove-cwd-from-path' to nil.
42
43** VC and related modes
44
45*** New VC command `vc-log-incoming', bound to `C-x v I'.
46This shows a log of changes to be received with a pull operation.
47For Git, this runs "git fetch" to make the necessary data available
48locally; this requires version 1.7 or newer.
49
50*** New VC command `vc-log-outgoing', bound to `C-x v O'.
51This shows a log of changes to be sent in the next commit.
52
53*** New VC command vc-find-conflicted-file.
54
55+++
56*** The 'g' key in VC diff, log, log-incoming and log-outgoing buffers
57reruns the corresponding VC command to compute an up to date version
58of the buffer.
59
60*** vc-dir for Bzr supports viewing shelve contents and shelving snapshots.
61
62+++
63*** Special markup can be added to log-edit buffers.
64You can add headers specifying additional information to be supplied
65to the version control system. For example:
66
67 Author: J. R. Hacker <jrh@example.com>
68 Fixes: 4204
69 Actual text of log entry...
70
71Bazaar recognizes the headers "Author", "Date" and "Fixes".
72Git, Mercurial, and Monotone recognize "Author" and "Date".
73Any unknown header is left as is in the message, so it is not lost.
74
37** Obsolete packages 75** Obsolete packages
38 76
39+++ 77+++
@@ -42,21 +80,44 @@ This can be used in place of the default appt-message-warning-time.
42 80
43* New Modes and Packages in Emacs 23.3 81* New Modes and Packages in Emacs 23.3
44 82
83** smie.el is a generic navigation and indentation engine.
84It takes a simple BNF description of the grammar, and provides both
85sexp-style navigation (jumping over begin..end pairs) as well as
86indentation, which can be adjusted via ad-hoc indentation rules.
87
45 88
46* Incompatible Lisp Changes in Emacs 23.3 89* Incompatible Lisp Changes in Emacs 23.3
47 90
91** posn-col-row now excludes the header line from the row count
92If the frame has a header line, posn-col-row will count row numbers
93starting from the first line of text below the header line.
94
48 95
49* Lisp changes in Emacs 23.3 96* Lisp changes in Emacs 23.3
50 97
98+++
51** `e' and `pi' are now called `float-e' and `float-pi'. 99** `e' and `pi' are now called `float-e' and `float-pi'.
52 The old names are obsolete. 100 The old names are obsolete.
53** The use of unintern without an obarray arg is declared obsolete.
54 101
102+++
103** The use of unintern without an obarray arg is now obsolete.
104
105---
106** The function `princ-list' is now obsolete.
107
108+++
109** The yank-handler argument to kill-region and friends is now obsolete.
110
111+++
55** New function byte-to-string, like char-to-string but for bytes. 112** New function byte-to-string, like char-to-string but for bytes.
56 113
57 114
58* Changes in Emacs 23.3 on non-free operating systems 115* Changes in Emacs 23.3 on non-free operating systems
59 116
117+++
118** The nextstep port can have different modifiers for the left and right
119alt/option key by customizing the value for ns-right-alternate-modifier.
120
60 121
61* Installation Changes in Emacs 23.2 122* Installation Changes in Emacs 23.2
62 123
diff --git a/etc/NEWS.1-17 b/etc/NEWS.1-17
index 122c634b0f2..b45ddedbe28 100644
--- a/etc/NEWS.1-17
+++ b/etc/NEWS.1-17
@@ -235,7 +235,7 @@ Various new commands and features exist; see the Emacs manual.
235 235
236* Nroff mode and TeX mode. 236* Nroff mode and TeX mode.
237 237
238The are two new major modes for editing nroff input and TeX input. 238There are two new major modes for editing nroff input and TeX input.
239See the Emacs manual for full information. 239See the Emacs manual for full information.
240 240
241* New C indentation style variable `c-brace-imaginary-offset'. 241* New C indentation style variable `c-brace-imaginary-offset'.
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index fb1b2b38d56..6fd959b00b7 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -241,19 +241,18 @@ necessary but missing, please report it via M-x report-emacs-bug.
241On platforms such as Solaris, you can also work around this problem by 241On platforms such as Solaris, you can also work around this problem by
242configuring your compiler to use the native linker instead of GNU ld. 242configuring your compiler to use the native linker instead of GNU ld.
243 243
244** Emacs compiled with Gtk+ crashes when closing a display (x-close-connection). 244** When Emacs is compiled with Gtk+, closing a display kills Emacs.
245 245
246This happens because of bugs in Gtk+. Gtk+ 2.10 seems to be OK. See bug 246There is a long-standing bug in GTK that prevents it from recovering
247http://bugzilla.gnome.org/show_bug.cgi?id=85715. 247from disconnects: http://bugzilla.gnome.org/show_bug.cgi?id=85715.
248 248
249** Emacs compiled with Gtk+ may loop forever if a display crashes. 249Thus, for instance, when Emacs is run as a server on a text terminal,
250and an X frame is created, and the X server for that frame crashes or
251exits unexpectedly, Emacs must exit to prevent a GTK error that would
252result in an endless loop.
250 253
251This is related to the bug above. A scenario for this is when emacs is run 254If you need Emacs to be able to recover from closing displays, compile
252as a server, and an X frame is created. If the X server for the frame 255it with the Lucid toolkit instead of GTK.
253crashes or exits unexpectedly and an attempt is made to create a new
254frame on another X display, then a Gtk+ error happens in the emacs
255server that results in an endless loop. This is not fixed in any known
256Gtk+ version (2.14.4 being current).
257 256
258* General runtime problems 257* General runtime problems
259 258
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 11da74f63b0..ba98132521d 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,8 @@
12010-11-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2
3 * emacsclient.c (set_local_socket) [DARWIN_OS]: Add fall-back
4 definition of _CS_DARWIN_USER_TEMP_DIR for Mac OS X 10.4 and older.
5
12010-10-01 Glenn Morris <rgm@gnu.org> 62010-10-01 Glenn Morris <rgm@gnu.org>
2 7
3 * emacsclient.c (set_local_socket) [DARWIN_OS]: Try as a fall-back 8 * emacsclient.c (set_local_socket) [DARWIN_OS]: Try as a fall-back
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 05f01b3b097..4b45beb6901 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -1251,6 +1251,9 @@ set_local_socket ()
1251 if (!tmpdir) 1251 if (!tmpdir)
1252 { 1252 {
1253#ifdef DARWIN_OS 1253#ifdef DARWIN_OS
1254#ifndef _CS_DARWIN_USER_TEMP_DIR
1255#define _CS_DARWIN_USER_TEMP_DIR 65537
1256#endif
1254 size_t n = confstr (_CS_DARWIN_USER_TEMP_DIR, NULL, (size_t) 0); 1257 size_t n = confstr (_CS_DARWIN_USER_TEMP_DIR, NULL, (size_t) 0);
1255 if (n > 0) 1258 if (n > 0)
1256 { 1259 {
diff --git a/lib-src/makefile.w32-in b/lib-src/makefile.w32-in
index 601d412894e..1a0def1e304 100644
--- a/lib-src/makefile.w32-in
+++ b/lib-src/makefile.w32-in
@@ -22,7 +22,7 @@ ALL = make-docfile hexl ctags etags movemail ebrowse sorted-doc digest-doc emacs
22 22
23.PHONY: $(ALL) 23.PHONY: $(ALL)
24 24
25VERSION = 23.2.50 25VERSION = 23.2.90
26 26
27LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \ 27LOCAL_FLAGS = -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \
28 -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \ 28 -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 358c674639e..fc460eaaf3d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,548 @@
12010-11-24 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * progmodes/which-func.el (which-func-imenu-joiner-function):
4 Return a string, as expected.
5 (which-function-mode): Make sure we stop any previous timer before
6 starting a new one.
7
82010-11-23 Michael Albinus <michael.albinus@gmx.de>
9
10 * net/tramp.el (tramp-default-method-alist)
11 (tramp-default-user-alist, tramp-default-proxies-alist):
12 Adapt custom options type. (Bug#7445)
13
142010-11-21 Chong Yidong <cyd@stupidchicken.com>
15
16 * progmodes/python.el: Add Ipython support (Bug#5390).
17 (python-shell-prompt-alist)
18 (python-shell-continuation-prompt-alist): New options.
19 (python--set-prompt-regexp): New function.
20 (inferior-python-mode, run-python, python-shell):
21 Require ansi-color. Use python--set-prompt-regexp to set the comint
22 prompt based on the Python interpreter.
23 (python--prompt-regexp): New var.
24 (python-check-comint-prompt)
25 (python-comint-output-filter-function): Use it.
26 (run-python): Use a pipe (Bug#5694).
27
282010-11-21 Chong Yidong <cyd@stupidchicken.com>
29
30 * progmodes/python.el (run-python): Doc fix.
31 (python-keep-current-directory-in-path): New var (Bug#7454).
32
332010-11-20 Chong Yidong <cyd@stupidchicken.com>
34
35 * lpr.el (lpr-buffer, print-buffer, lpr-region, print-region):
36 Prompt user before actually printing.
37
382010-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
39
40 * simple.el (kill-new, kill-append, kill-region):
41 * comint.el (comint-kill-region): Make the yank-handler argument
42 obsolete.
43
442010-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
45
46 * emacs-lisp/smie.el (smie-bnf-classify): Signal errors for tokens
47 that are both openers (resp. closers) and something else.
48 (smie-grammar): Loosen definition of valid values.
49 (smie-next-sexp, smie-down-list, smie-blink-matching-open)
50 (smie-indent--parent, smie-rule-parent, smie-indent-keyword)
51 (smie-indent-after-keyword): Adjust users.
52 (smie-indent-keyword): Don't indent empty lines.
53
54 * vc-hg.el (vc-hg-program): New var.
55 Suggested by Norman Gray <norman@astro.gla.ac.uk>.
56 (vc-hg-state, vc-hg-working-revision, vc-hg-command): Use it.
57
582010-11-17 Glenn Morris <rgm@gnu.org>
59
60 * emacs-lisp/autoload.el (autoload-find-destination): The function
61 coding-system-eol-type may return non-numeric values. (Bug#7414)
62
632010-11-16 Ulrich Mueller <ulm@gentoo.org>
64
65 * server.el (server-force-stop): Ensure the server is stopped (Bug#7409).
66
672010-11-13 Eli Zaretskii <eliz@gnu.org>
68
69 * subr.el (posn-col-row): Pay attention to header line. (Bug#7390)
70
712010-11-13 Chong Yidong <cyd@stupidchicken.com>
72
73 * textmodes/picture.el (picture-mouse-set-point): Don't use
74 posn-col-row; explicitly compute the motion based on the posn at
75 the window-start (Bug#7390).
76
772010-11-13 Michael Albinus <michael.albinus@gmx.de>
78
79 * net/tramp.el (tramp-remote-coding-commands): Add an alternative
80 using "base64 -d -i". This is needed for older base64 versions
81 from GNU coreutils. Reported by Klaus Reichl
82 <Klaus.Reichl@thalesgroup.com>.
83
842010-11-13 Glenn Morris <rgm@gnu.org>
85
86 * novice.el (disabled-command-function):
87 Fix 2009-11-15 change. (Bug#7384)
88
892010-11-12 Glenn Morris <rgm@gnu.org>
90
91 * calendar/calendar.el (diary-iso-date-forms): Make elements
92 mutually exclusive. (Bug#7377)
93
942010-11-12 Stefan Monnier <monnier@iro.umontreal.ca>
95
96 * emacs-lisp/smie.el (smie-prec2->grammar): Obey equality constraints
97 when filling the remaining "unconstrained" values.
98
992010-11-11 Stefan Monnier <monnier@iro.umontreal.ca>
100
101 * emacs-lisp/bytecomp.el (byte-compile-warnings): Simplify the
102 safety predicate.
103
104 * files.el (safe-local-variable-p): Gracefully handle errors.
105
106 * emacs-lisp/smie.el (smie-rule-parent, smie-indent--rule):
107 Use smie-indent-virtual when indenting relative to an opener.
108 (smie-rule-separator): Use smie-rule-parent.
109 (smie-indent-keyword): Consult rules, even for openers at bol.
110 (smie-indent-comment-close): Try to align closer's content.
111
1122010-11-11 Glenn Morris <rgm@gnu.org>
113
114 * ls-lisp.el (ls-lisp-dired-ignore-case): Make it an obsolete alias.
115
1162010-11-10 Glenn Morris <rgm@gnu.org>
117
118 * printing.el (pr-menu-bind): Doc fix.
119
120 * speedbar.el (speedbar-toggle-images): Doc fix.
121
122 * progmodes/python.el (python-shell): Doc fix.
123
124 * wid-edit.el (widget-field-use-before-change)
125 (widget-use-overlay-change): Doc fixes.
126
1272010-11-09 Glenn Morris <rgm@gnu.org>
128
129 * progmodes/tcl.el (tcl-hairy-scan-for-comment): Doc fix.
130
1312010-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
132
133 * minibuffer.el (minibuffer-completion-help): Specify the end of the
134 completion field (bug#7211).
135
136 * progmodes/python.el (python-font-lock-syntactic-keywords): (bug#7322)
137 Fix handling of backslash escapes.
138 (python-quote-syntax): Adjust accordingly.
139
1402010-11-08 Richard Levitte <richard@levitte.org> (tiny change)
141
142 * vc-mtn.el (vc-mtn-working-revision, vc-mtn-after-dir-status)
143 (vc-mtn-workfile-branch): Adjust to new output format.
144
1452010-11-08 Stefan Monnier <monnier@iro.umontreal.ca>
146
147 * international/mule-cmds.el (princ-list): Mark as obsolete.
148
1492010-11-07 Stefan Monnier <monnier@iro.umontreal.ca>
150
151 * emacs-lisp/smie.el: New package.
152
1532010-11-06 Michael Albinus <michael.albinus@gmx.de>
154
155 * files.el (backup-by-copying-when-mismatch):
156 Set `permanent-local' property.
157
158 * net/tramp.el (tramp-handle-insert-file-contents): Do not set
159 `permanent-local' property for `backup-by-copying-when-mismatch'.
160
1612010-11-06 Eli Zaretskii <eliz@gnu.org>
162
163 * ls-lisp.el (insert-directory): Doc fix. (bug#7285)
164 (ls-lisp-classify-file): New function.
165 (ls-lisp-insert-directory): Call it if switches include -F (bug#6294).
166 (ls-lisp-classify): Call ls-lisp-classify-file.
167 (insert-directory): Remove blanks from switches.
168
1692010-11-07 Wilson Snyder <wsnyder@wsnyder.org>
170
171 * progmodes/verilog-mode.el (verilog-insert-one-definition)
172 (verilog-read-decls, verilog-read-sub-decls-sig): Fix AUTOWIRE and
173 AUTOINOUT for SV style multidimensional arrays, bug294.
174 Reported by Eric Mastromarchi.
175 (verilog-preprocess): Use with-current-buffer and
176 font-lock-fontify-buffer to cleanup style issues.
177
1782010-11-05 Michael Albinus <michael.albinus@gmx.de>
179
180 * net/trampver.el: Update release number.
181
1822010-08-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
183
184 * mouse.el (mouse-fixup-help-message): Match "mouse-2" only at the
185 beginning of the string. Use `string-match-p'. (Bug#6765)
186
1872010-11-01 Glenn Morris <rgm@gnu.org>
188
189 * locate.el (locate, locate-mode): Doc fixes.
190
1912010-11-01 Chong Yidong <cyd@stupidchicken.com>
192
193 * server.el (server-start): New arg INHIBIT-PROMPT prevents asking
194 user for confirmation.
195 (server-force-stop): Use it.
196 (server-start): Use server-force-stop for kill-emacs-hook, to
197 avoid user interaction while killing Emacs.
198
1992010-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
200
201 * vc/log-edit.el (log-edit-rewrite-fixes): New var.
202 (log-edit-author): New dynamic var.
203 (log-edit-changelog-ours-p, log-edit-insert-changelog-entries):
204 Use it to return the author if different from committer.
205 (log-edit-insert-changelog): Use them to add Author: and Fixes headers.
206
2072010-10-31 Eli Zaretskii <eliz@gnu.org>
208
209 * vc/vc-hooks.el (vc-default-mode-line-string): Doc fix.
210
2112010-10-31 Chong Yidong <cyd@stupidchicken.com>
212
213 * vc/vc.el (vc-deduce-backend): New fun. Handle diff buffers.
214 (vc-root-diff, vc-print-root-log, vc-log-incoming)
215 (vc-log-outgoing): Use it.
216 (vc-diff-internal): Set diff-vc-backend.
217
218 * vc/diff-mode.el (diff-vc-backend): New var.
219
2202010-10-31 Juri Linkov <juri@jurta.org>
221
222 * vc/vc.el (vc-diff-internal): Set `revert-buffer-function'
223 buffer-locally to lambda that re-runs the vc diff command.
224 (Bug#6447)
225
2262010-10-31 Dan Nicolaescu <dann@ics.uci.edu>
227
228 * vc/log-view.el (log-view-mode-map): Bind revert-buffer.
229
230 Make 'g' (AKA revert-buffer) rerun VC log, log-incoming and
231 log-outgoing commands.
232 * vc/vc.el (vc-log-internal-common): Add a new argument and use it
233 to create a buffer local revert-buffer-function variable.
234 (vc-print-log-internal, vc-log-incoming, vc-log-outgoing): Pass a
235 revert-buffer-function lambda.
236
237 Improve VC create/retrieve tag/branch.
238 * vc.el (vc-create-tag): Do not read the directory name for VCs
239 with repository revision granularity. Adjust the tag/branch
240 prompt. Reset VC properties.
241 (vc-retrieve-tag): Do not read the directory name for VCs
242 with repository revision granularity. Reset VC properties.
243
244 Add optional support for resetting VC properties.
245 * vc-dispatcher.el (vc-resynch-window): Add new optional argument,
246 call vc-file-clearprops when true.
247 (vc-resynch-buffer): Add new optional argument, pass it down.
248 (vc-resynch-buffers-in-directory): Likewise.
249
250 Improve support for special markup in the VC commit message.
251 * vc-mtn.el (vc-mtn-checkin): Support Author: and Date: markup.
252 * vc-hg.el (vc-hg-checkin): Add support for Date:.
253 * vc-git.el (vc-git-checkin):
254 * vc-bzr.el (vc-bzr-checkin): Likewise.
255
256 Add support for vc-log-incoming, improve vc-log-outgoing for Git.
257 * vc-git.el (vc-git-log-view-mode): Fix font lock for
258 incoming/outgoing logs.
259 (vc-git-log-outgoing, vc-git-log-incoming): New functions.
260
261 * vc-git.el (vc-git-log-outgoing): Use the same format as the
262 short log.
263 (vc-git-log-incoming): Likewise. Run "git fetch" before the log
264 command
265
266 Add bindings for vc-log-incoming and vc-log-outgoing.
267 * vc-hooks.el (vc-prefix-map): Add bindings for vc-log-incoming
268 and vc-log-outgoing.
269 * vc-dir.el (vc-dir-menu-map): Add menu bindings for vc-log-incoming
270 and vc-log-outgoing.
271
272 Improve state updating for VC tag commands.
273 * vc.el (vc-create-tag, vc-retrieve-tag): Call vc-resynch-buffer
274 to update the state of all buffers in the directory.
275
2762010-05-19 Glenn Morris <rgm@gnu.org>
277
278 * vc-dir.el (vc-dir): Don't pop-up-windows. (Bug#6204)
279
2802010-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
281
282 * vc.el (vc-checkin, vc-modify-change-comment):
283 Adjust to new vc-start/finish-logentry.
284 (vc-find-conflicted-file): New command.
285 (vc-transfer-file): Adjust to new vc-checkin.
286 (vc-next-action): Improve scoping.
287
288 * vc-git.el (vc-git-checkin): Use log-edit-extract-headers.
289 (vc-git-commits-coding-system): Rename from git-commits-coding-system.
290
291 * vc-dispatcher.el (vc-log-edit): Shorten names for
292 log-edit-show-files.
293
294 * vc-bzr.el (vc-bzr-checkin): Use log-edit-extract-headers.
295 (vc-bzr-conflicted-files): New function.
296
297 * log-edit.el (log-edit-summary, log-edit-header)
298 (log-edit-unknown-header): New faces.
299 (log-edit-headers-alist): New var.
300 (log-edit-header-contents-regexp): New const.
301 (log-edit-match-to-eoh): New function.
302 (log-edit-font-lock-keywords): Use them.
303 (log-edit): Insert a "Summary:" header as default.
304 (log-edit-mode): Mark font-lock rules as case-insensitive.
305 (log-edit-done): Cleanup headers.
306 (log-edit-extract-headers): New function to replace it.
307
308 * vc-dispatcher.el (vc-finish-logentry): Don't mess so badly with
309 the windows/frames.
310
311 * vc-bzr.el (vc-bzr-shelve-apply): Don't use *vc-bzr-shelve*.
312
313 * vc-dir.el (vc-dir-kill-line): New command.
314 (vc-dir-mode-map): Bind it to C-k.
315 (vc-dir-headers): Abbreviate the working dir.
316
317 * vc-git.el (vc-git-revision-table): Include remote branches.
318
3192010-10-31 Dan Nicolaescu <dann@ics.uci.edu>
320
321 New VC methods: vc-log-incoming and vc-log-outgoing.
322 * vc.el (vc-print-log-setup-buttons, vc-log-internal-common)
323 (vc-incoming-outgoing-internal, vc-log-incoming, vc-log-outgoing):
324 New functions.
325 (vc-print-log-internal): Just call vc-log-internal-common.
326 (vc-log-view-type): New permanent local variable.
327
328 * vc-hooks.el (vc-menu-map): Bind vc-log-incoming and vc-log-outgoing.
329
330 * vc-bzr.el (vc-bzr-log-view-mode): Use vc-log-view-type instead
331 of the dynamic bound vc-short-log.
332 (vc-bzr-log-incoming, vc-bzr-log-outgoing): New functions.
333
334 * vc-git.el (vc-git-log-outgoing): New function.
335 (vc-git-log-view-mode): Use vc-log-view-type instead
336 of the dynamic bound vc-short-log.
337
338 * vc-hg.el (vc-hg-log-view-mode): Use vc-log-view-type instead of
339 the dynamic bound vc-short-log. Highlight the tag.
340 (vc-hg-log-incoming, vc-hg-log-outgoing): New functions.
341 (vc-hg-outgoing, vc-hg-incoming, vc-hg-outgoing-mode):
342 (vc-hg-incoming-mode): Remove.
343 (vc-hg-extra-menu-map): Do not bind vc-hg-incoming and vc-hg-outgoing.
344
345 Fix default-directory for vc-root-diff.
346 * vc.el (vc-root-diff): Bind default-directory to the root
347 directory for the diff command.
348
3492010-10-31 Sam Steingold <sds@gnu.org>
350
351 * vc-hg.el (vc-hg-push, vc-hg-pull): Use `apply' when calling
352 `vc-hg-command' with a list of flags.
353
3542010-10-31 Glenn Morris <rgm@gnu.org>
355
356 * vc-bzr.el (vc-bzr-log-edit-mode): Add --fixes support to
357 log-edit-before-checkin-process.
358
359 * vc.el (vc-modify-change-comment): Pass MODE to vc-start-logentry.
360
361 * vc-bzr.el, vc-hg.el (log-edit-mode): Declare.
362
363 * vc-dispatcher.el (vc-start-logentry): Doc fix.
364 (log-view-process-buffer, log-edit-extra-flags): Declare.
365
3662010-10-31 Dan Nicolaescu <dann@ics.uci.edu>
367
368 Add special markup processing for commit logs.
369 * log-edit.el (log-edit): Add new argument MODE. Use that mode
370 when non-nil instead of the log-view-mode.
371
372 * vc.el (vc-default-log-edit-mode): New function.
373
374 * vc-dispatcher.el (vc-log-edit): Add a mode argument, pass it to
375 log-edit.
376
377 Support for shelving snapshots and for showing shelves.
378 * vc-bzr.el (vc-bzr-shelve-show, vc-bzr-shelve-show-at-point)
379 (vc-bzr-shelve-apply-and-keep-at-point, vc-bzr-shelve-snapshot):
380 New functions.
381 (vc-bzr-shelve-map, vc-bzr-shelve-menu-map)
382 (vc-bzr-extra-menu-map): Map them.
383
3842010-10-30 Michael Albinus <michael.albinus@gmx.de>
385
386 * net/tramp.el (tramp-handle-insert-file-contents): For root,
387 preserve owner and group when editing files. (Bug#7289)
388
3892010-10-29 Glenn Morris <rgm@gnu.org>
390
391 * speedbar.el (speedbar-mode):
392 * play/fortune.el (fortune-in-buffer, fortune):
393 * play/gomoku.el (gomoku-mode):
394 * play/landmark.el (lm-mode):
395 * textmodes/bibtex.el (bibtex-validate, bibtex-validate-globally):
396 Replace inappropriate uses of toggle-read-only. (Bug#7292)
397
3982010-10-28 Glenn Morris <rgm@gnu.org>
399
400 * select.el (x-selection): Mark it as an obsolete alias.
401
4022010-10-27 Aaron S. Hawley <aaron.s.hawley@gmail.com>
403
404 * add-log.el (find-change-log): Use derived-mode-p rather than
405 major-mode (bug#7284).
406
4072010-10-27 Glenn Morris <rgm@gnu.org>
408
409 * menu-bar.el (menu-bar-files-menu): Make it into an actual alias,
410 rather than just an unused variable that inherits from the real one.
411
4122010-10-23 Michael McNamara <mac@mail.brushroad.com>
413
414 * verilog-mode.el (verilog-directive-re): Make this variable
415 auto-built for efficiency of execution and updating.
416 (verilog-extended-complete-re): Support 'pure' fucntion & task
417 declarations (these have no bodies).
418 (verilog-beg-of-statement): General cleanup to enable support of
419 'pure' fucntion & task declarations (these have no bodies).
420 These efforts together fix Verilog bug210 from veripool; which was also
421 noticed by Steve Pearlmutter.
422 (verilog-directive-re, verilog-directive-begin, verilog-indent-re)
423 (verilog-directive-nest-re, verilog-set-auto-endcomments):
424 Support `elsif. Reported by Shankar Giri.
425 (verilog-forward-ws&directives, verilog-in-attribute-p): Fixes for
426 attribute handling for lining up declarations and assignments.
427 (verilog-beg-of-statement-1): Fix issue where continued declaration
428 is indented differently if it is after a begin..end clock.
429 (verilog-in-attribute-p, verilog-skip-backward-comments)
430 (verilog-skip-forward-comment-p): Support proper treatment of
431 attributes by indent code. Reported by Jeff Steele.
432 (verilog-in-directive-p): Fix comment to correctly describe function.
433 (verilog-backward-up-list, verilog-in-struct-region-p)
434 (verilog-backward-token, verilog-in-struct-p)
435 (verilog-in-coverage-p, verilog-do-indent)
436 (verilog-pretty-declarations): Use verilog-backward-up-list as
437 wrapper around backward-up-list inorder to properly skip comments.
438 Reported by David Rogoff.
439 (verilog-property-re, verilog-endcomment-reason-re)
440 (verilog-beg-of-statement, verilog-set-auto-endcomments)
441 (verilog-calc-1 ): Fix for assert a; else b; indentation (new form
442 of if). Reported by Max Bjurling and
443 (verilog-calc-1): Fix for clocking block in modport
444 declaration. Reported by Brian Hunter.
445
4462010-10-23 Wilson Snyder <wsnyder@wsnyder.org>
447
448 * verilog-mode.el (verilog-auto-inst, verilog-gate-ios)
449 (verilog-gate-keywords, verilog-read-sub-decls)
450 (verilog-read-sub-decls-gate, verilog-read-sub-decls-gate-ios)
451 (verilog-read-sub-decls-line, verilog-read-sub-decls-sig): Support
452 AUTOINST for gate primitives, bug284. Reported by Mark Johnson.
453 (verilog-read-decls): Fix spaces in V2K module parameters causing
454 mis-identification as interfaces, bug287.
455 (verilog-read-decls): Fix not treating "parameter string" as a
456 parameter in AUTOINSTPARAM.
457 (verilog-read-always-signals-recurse, verilog-read-decls): Fix not
458 treating `elsif similar to `endif inside AUTOSENSE.
459 (verilog-do-indent): Implement correct automatic or static task or
460 function end comment highlight. Reported by Steve Pearlmutter.
461 (verilog-font-lock-keywords-2): Fix highlighting of single
462 character pins, bug264. Reported by Michael Laajanen.
463 (verilog-auto-inst, verilog-read-decls, verilog-read-sub-decls)
464 (verilog-read-sub-decls-in-interfaced, verilog-read-sub-decls-sig)
465 (verilog-subdecls-get-interfaced, verilog-subdecls-new):
466 Support interfaces with AUTOINST, bug270. Reported by Luis Gutierrez.
467 (verilog-pretty-expr): Fix interactive arguments, bug272.
468 Reported by Mark Johnson.
469 (verilog-auto-tieoff, verilog-auto-tieoff-ignore-regexp):
470 Add 'verilog-auto-tieoff-ignore-regexp' for AUTOTIEOFF,
471 bug269. Suggested by Gary Delp.
472 (verilog-mode-map, verilog-preprocess, verilog-preprocess-history)
473 (verilog-preprocessor, verilog-set-compile-command):
474 Create verilog-preprocess and verilog-preprocessor to show
475 preprocessed output.
476 (verilog-get-beg-of-line, verilog-get-end-of-line)
477 (verilog-modi-file-or-buffer, verilog-modi-name)
478 (verilog-modi-point, verilog-within-string): Move defmacro's
479 before first use to avoid warning. Reported by Steve Pearlmutter.
480 (verilog-colorize-buffer, verilog-colorize-include-files-buffer)
481 (verilog-colorize-region, verilog-highlight-buffer)
482 (verilog-highlight-includes, verilog-highlight-modules)
483 (verilog-highlight-region, verilog-mode): Rename colorize to
484 highlight to match other packages. Disable module highlighting,
485 as received speed complaints, reenable for experimentation only
486 using new verilog-highlight-modules.
487 (verilog-read-decls): Fix regexp stack overflow in very large
488 AUTO_TEMPLATEs, bug250.
489 (verilog-auto, verilog-delete-auto, verilog-save-buffer-state)
490 (verilog-scan): Create verilog-save-buffer-state to standardize
491 making insignificant changes that shouldn't call hooks.
492 (verilog-save-no-change-functions, verilog-save-scan-cache)
493 (verilog-scan, verilog-scan-cache-ok-p, verilog-scan-region):
494 Create verilog-save-no-change-functions to wrap verilog-scan
495 preservation, and fix to work with nested preserved calls.
496 (verilog-auto-inst, verilog-auto-inst-dot-name): Support .name
497 port syntax for AUTOWIRE, and with new verilog-auto-inst-dot-name
498 generate .name with AUTOINST, bug245. Suggested by David Rogoff.
499 (verilog-submit-bug-report): Update variable list to be complete.
500 (verilog-auto, verilog-colorize-region): Fix AUTO expansion
501 breaking on-the-fly font-locking.
502 (verilog-colorize-buffer, verilog-colorize-include-files)
503 (verilog-colorize-include-files-buffer, verilog-colorize-region)
504 (verilog-load-file-at-mouse, verilog-load-file-at-point)
505 (verilog-mode, verilog-read-inst-module-matcher): With point on a
506 AUTOINST cell instance name, middle mouse button now finds-file on
507 it. Suggested by Brad Dobbie.
508 (verilog-alw-get-temps, verilog-auto-reset)
509 (verilog-auto-sense-sigs, verilog-read-always-signals)
510 (verilog-read-always-signals-recurse): Fix loop indexes being
511 AUTORESET. AUTORESET now assumes any variables in the
512 initialization section of a for() should be ignored.
513 Reported by Dan Dever.
514 (verilog-error-font-lock-keywords)
515 (verilog-error-regexp-emacs-alist)
516 (verilog-error-regexp-xemacs-alist): Fix error detection of
517 Cadence HAL, reported by David Asher. Repair drift between the
518 three similar error variables.
519 (verilog-modi-lookup, verilog-modi-lookup-cache)
520 (verilog-modi-lookup-last-current, verilog-modi-lookup-last-mod)
521 (verilog-modi-lookup-last-modi, verilog-modi-lookup-last-tick):
522 Fix slow verilog-auto expansion on very large files.
523 (verilog-read-sub-decls-expr, verilog-read-sub-decls-line):
524 Fix AUTOOUTPUT treating "1*2" as a signal name in submodule connection
525 "{1*2{...". Broke in last revision.
526 (verilog-read-sub-decls-expr): Fix AUTOOUTPUT not detecting
527 submodule connections with replications "{#{a},#{b}}".
528
5292010-10-23 Glenn Morris <rgm@gnu.org>
530
531 * comint.el (comint-password-prompt-regexp):
532 Match "enter the password". (Bug#7224)
533
5342010-10-22 Juanma Barranquero <lekktu@gmail.com>
535
536 * progmodes/dcl-mode.el (dcl-electric-reindent-regexps):
537 Fix typo in docstring.
538
5392010-10-21 Michael Albinus <michael.albinus@gmx.de>
540
541 * net/tramp.el (tramp-get-inline-coding): Return `nil' in case of
542 errors.
543
544 * net/trampver.el: Update release number.
545
12010-10-20 Kenichi Handa <handa@m17n.org> 5462010-10-20 Kenichi Handa <handa@m17n.org>
2 547
3 * face-remap.el (text-scale-adjust): Call read-event with a proper 548 * face-remap.el (text-scale-adjust): Call read-event with a proper
@@ -940,7 +1485,8 @@
940 Fix annotating other revisions for renamed files in vc-annotate. 1485 Fix annotating other revisions for renamed files in vc-annotate.
941 * vc-annotate.el (vc-annotate): Add an optional argument for the 1486 * vc-annotate.el (vc-annotate): Add an optional argument for the
942 VC backend. Use it when non-nil. 1487 VC backend. Use it when non-nil.
943 (vc-annotate-warp-revision): Pass the VC backend to vc-annotate. (Bug#6487) 1488 (vc-annotate-warp-revision): Pass the VC backend to vc-annotate
1489 (Bug#6487).
944 1490
945 Fix vc-annotate-show-changeset-diff-revision-at-line for git. 1491 Fix vc-annotate-show-changeset-diff-revision-at-line for git.
946 * vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal): 1492 * vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal):
@@ -1536,8 +2082,8 @@
15362010-02-28 Michael Albinus <michael.albinus@gmx.de> 20822010-02-28 Michael Albinus <michael.albinus@gmx.de>
1537 2083
1538 * net/dbus.el (dbus-introspect, dbus-get-property) 2084 * net/dbus.el (dbus-introspect, dbus-get-property)
1539 (dbus-set-property, dbus-get-all-properties): Use 2085 (dbus-set-property, dbus-get-all-properties):
1540 `dbus-call-method' when noninteractive. (Bug#5645) 2086 Use `dbus-call-method' when noninteractive. (Bug#5645)
1541 2087
15422010-02-28 Chong Yidong <cyd@stupidchicken.com> 20882010-02-28 Chong Yidong <cyd@stupidchicken.com>
1543 2089
@@ -1600,8 +2146,8 @@
1600 2146
16012010-02-21 Chong Yidong <cyd@stupidchicken.com> 21472010-02-21 Chong Yidong <cyd@stupidchicken.com>
1602 2148
1603 * files.el (directory-listing-before-filename-regexp): Use 2149 * files.el (directory-listing-before-filename-regexp):
1604 stricter matching for iso-style dates, to avoid false matches with 2150 Use stricter matching for iso-style dates, to avoid false matches with
1605 date-like filenames (Bug#5597). 2151 date-like filenames (Bug#5597).
1606 2152
1607 * htmlfontify.el (htmlfontify): Doc fix. 2153 * htmlfontify.el (htmlfontify): Doc fix.
@@ -1624,8 +2170,8 @@
1624 2170
16252010-02-19 Chong Yidong <cyd@stupidchicken.com> 21712010-02-19 Chong Yidong <cyd@stupidchicken.com>
1626 2172
1627 * isearch.el (isearch-update-post-hook, isearch-update): Revert 2173 * isearch.el (isearch-update-post-hook, isearch-update):
1628 2010-02-17 change. 2174 Revert 2010-02-17 change.
1629 2175
16302010-02-19 Ulf Jasper <ulf.jasper@web.de> 21762010-02-19 Ulf Jasper <ulf.jasper@web.de>
1631 2177
@@ -1860,7 +2406,8 @@
1860 2406
18612010-02-06 Dan Nicolaescu <dann@ics.uci.edu> 24072010-02-06 Dan Nicolaescu <dann@ics.uci.edu>
1862 2408
1863 * vc-bzr.el (vc-bzr-dir-extra-headers): Disable the pending merges header. 2409 * vc-bzr.el (vc-bzr-dir-extra-headers):
2410 Disable the pending merges header.
1864 2411
18652010-02-05 Juri Linkov <juri@jurta.org> 24122010-02-05 Juri Linkov <juri@jurta.org>
1866 2413
@@ -2091,8 +2638,8 @@
2091 (vc-git-toggle-signoff): Remove function. 2638 (vc-git-toggle-signoff): Remove function.
2092 (vc-git-extra-menu-map): Do not bind vc-git-toggle-signoff. 2639 (vc-git-extra-menu-map): Do not bind vc-git-toggle-signoff.
2093 2640
2094 * term/xterm.el (xterm-maybe-set-dark-background-mode): Rename 2641 * term/xterm.el (xterm-maybe-set-dark-background-mode):
2095 from xterm-set-background-mode. Return t if the background mode 2642 Rename from xterm-set-background-mode. Return t if the background mode
2096 was set. 2643 was set.
2097 (terminal-init-xterm): Move tty-set-up-initial-frame-faces 2644 (terminal-init-xterm): Move tty-set-up-initial-frame-faces
2098 earlier, call it again in case the background mode has changed. 2645 earlier, call it again in case the background mode has changed.
@@ -2139,8 +2686,8 @@
21392010-01-21 Alan Mackenzie <acm@muc.de> 26862010-01-21 Alan Mackenzie <acm@muc.de>
2140 2687
2141 Fix a situation where deletion of a cpp construct throws an error. 2688 Fix a situation where deletion of a cpp construct throws an error.
2142 * progmodes/cc-engine.el (c-invalidate-state-cache): Before 2689 * progmodes/cc-engine.el (c-invalidate-state-cache):
2143 invoking c-with-all-but-one-cpps-commented-out, check that the 2690 Before invoking c-with-all-but-one-cpps-commented-out, check that the
2144 special cpp construct is still in the buffer. 2691 special cpp construct is still in the buffer.
2145 (c-parse-state): Record the special cpp with markers, not numbers. 2692 (c-parse-state): Record the special cpp with markers, not numbers.
2146 2693
@@ -2256,8 +2803,8 @@
2256 2803
22572010-01-16 Lennart Borgman <lennart.borgman@gmail.com> 28042010-01-16 Lennart Borgman <lennart.borgman@gmail.com>
2258 2805
2259 * nxml/nxml-mode.el (nxml-extend-after-change-region): Never 2806 * nxml/nxml-mode.el (nxml-extend-after-change-region):
2260 return t (Bug#3898). 2807 Never return t (Bug#3898).
2261 2808
22622010-01-16 Frédéric Perrin <frederic.perrin@resel.fr> (tiny change) 28092010-01-16 Frédéric Perrin <frederic.perrin@resel.fr> (tiny change)
2263 2810
@@ -2374,8 +2921,8 @@
2374 2921
23752010-01-12 Glenn Morris <rgm@gnu.org> 29222010-01-12 Glenn Morris <rgm@gnu.org>
2376 2923
2377 * mail/emacsbug.el (report-emacs-bug-pretest-address): Set 2924 * mail/emacsbug.el (report-emacs-bug-pretest-address):
2378 it to bug-gnu-emacs rather than emacs-pretest-bug. 2925 Set it to bug-gnu-emacs rather than emacs-pretest-bug.
2379 2926
23802010-01-11 Sam Steingold <sds@gnu.org> 29272010-01-11 Sam Steingold <sds@gnu.org>
2381 2928
@@ -2689,8 +3236,8 @@
26892009-12-29 Dan Nicolaescu <dann@ics.uci.edu> 32362009-12-29 Dan Nicolaescu <dann@ics.uci.edu>
2690 3237
2691 Make vc-dir work on subdirectories of the bzr root. 3238 Make vc-dir work on subdirectories of the bzr root.
2692 * vc-bzr.el (vc-bzr-after-dir-status): Add new argument. Return 3239 * vc-bzr.el (vc-bzr-after-dir-status): Add new argument.
2693 file names relative to it. 3240 Return file names relative to it.
2694 (vc-bzr-dir-status, vc-bzr-dir-status-files): Pass the bzr root 3241 (vc-bzr-dir-status, vc-bzr-dir-status-files): Pass the bzr root
2695 relative directory to vc-bzr-after-dir-status. 3242 relative directory to vc-bzr-after-dir-status.
2696 3243
@@ -2748,8 +3295,8 @@
2748 3295
27492009-12-18 Ulf Jasper <ulf.jasper@web.de> 32962009-12-18 Ulf Jasper <ulf.jasper@web.de>
2750 3297
2751 * calendar/icalendar.el (icalendar--convert-tz-offset): Fixed 3298 * calendar/icalendar.el (icalendar--convert-tz-offset):
2752 timezone names. 3299 Fixed timezone names.
2753 (icalendar--convert-tz-offset): Fixed the "last-day-problem". 3300 (icalendar--convert-tz-offset): Fixed the "last-day-problem".
2754 (icalendar--add-diary-entry): Remove the trailing blank that 3301 (icalendar--add-diary-entry): Remove the trailing blank that
2755 diary-make-entry inserts. 3302 diary-make-entry inserts.
@@ -2784,8 +3331,8 @@
2784 3331
2785 * files.el (hack-local-variables-filter): While ignoring duplicates, 3332 * files.el (hack-local-variables-filter): While ignoring duplicates,
2786 don't take `mode' into account. 3333 don't take `mode' into account.
2787 (hack-local-variables-filter, hack-dir-local-variables): Don't 3334 (hack-local-variables-filter, hack-dir-local-variables):
2788 remove duplicate `mode' from local-variables-alist (like `eval'). 3335 Don't remove duplicate `mode' from local-variables-alist (like `eval').
2789 3336
27902009-12-17 Juri Linkov <juri@jurta.org> 33372009-12-17 Juri Linkov <juri@jurta.org>
2791 3338
@@ -2932,8 +3479,8 @@
2932 3479
29332009-12-10 Vinicius Jose Latorre <viniciusjl@ig.com.br> 34802009-12-10 Vinicius Jose Latorre <viniciusjl@ig.com.br>
2934 3481
2935 * whitespace.el (whitespace-display-char-on): Ensure 3482 * whitespace.el (whitespace-display-char-on):
2936 `buffer-display-table' is unique when two or more windows are 3483 Ensure `buffer-display-table' is unique when two or more windows are
2937 visible. Reported by Martin Pohlack <mp26@os.inf.tu-dresden.de>. 3484 visible. Reported by Martin Pohlack <mp26@os.inf.tu-dresden.de>.
2938 New version 12.1. 3485 New version 12.1.
2939 3486
@@ -3150,11 +3697,11 @@
3150 (tramp-methods, tramp-find-shell) 3697 (tramp-methods, tramp-find-shell)
3151 (tramp-open-connection-setup-interactive-shell) 3698 (tramp-open-connection-setup-interactive-shell)
3152 (tramp-maybe-open-connection): Use it. 3699 (tramp-maybe-open-connection): Use it.
3153 (tramp-shell-prompt-pattern, tramp-wait-for-output): Handle 3700 (tramp-shell-prompt-pattern, tramp-wait-for-output):
3154 existence of `#' and `$'. 3701 Handle existence of `#' and `$'.
3155 3702
3156 * net/tramp-fish.el (tramp-fish-maybe-open-connection): Use 3703 * net/tramp-fish.el (tramp-fish-maybe-open-connection):
3157 `tramp-initial-end-of-output'. 3704 Use `tramp-initial-end-of-output'.
3158 3705
31592009-12-07 Dan Nicolaescu <dann@ics.uci.edu> 37062009-12-07 Dan Nicolaescu <dann@ics.uci.edu>
3160 3707
@@ -3212,13 +3759,13 @@
3212 3759
32132009-12-06 Ulf Jasper <ulf.jasper@web.de> 37602009-12-06 Ulf Jasper <ulf.jasper@web.de>
3214 3761
3215 * xml.el (xml-substitute-numeric-entities): Move 3762 * xml.el (xml-substitute-numeric-entities):
3216 newsticker--decode-numeric-entities in newst-backend.el to 3763 Move newsticker--decode-numeric-entities in newst-backend.el to
3217 xml-substitute-numeric-entities in xml.el. (Bug#5008) 3764 xml-substitute-numeric-entities in xml.el. (Bug#5008)
3218 * net/newst-backend.el (newsticker--parse-generic-feed) 3765 * net/newst-backend.el (newsticker--parse-generic-feed)
3219 (newsticker--parse-generic-items) 3766 (newsticker--parse-generic-items)
3220 (newsticker--decode-numeric-entities): Move 3767 (newsticker--decode-numeric-entities):
3221 newsticker--decode-numeric-entities in newst-backend.el to 3768 Move newsticker--decode-numeric-entities in newst-backend.el to
3222 xml-substitute-numeric-entities in xml.el. (Bug#5008) 3769 xml-substitute-numeric-entities in xml.el. (Bug#5008)
3223 3770
32242009-12-06 Daniel Colascione <dan.colascione@gmail.com> 37712009-12-06 Daniel Colascione <dan.colascione@gmail.com>
@@ -3281,8 +3828,8 @@
3281 3828
32822009-12-05 Kevin Ryde <user42@zip.com.au> 38292009-12-05 Kevin Ryde <user42@zip.com.au>
3283 3830
3284 * textmodes/sgml-mode.el (sgml-lexical-context): Recognise 3831 * textmodes/sgml-mode.el (sgml-lexical-context):
3285 comment-start-skip to comment-end-skip as comment (Bug#4781). 3832 Recognise comment-start-skip to comment-end-skip as comment (Bug#4781).
3286 3833
32872009-12-05 Juri Linkov <juri@jurta.org> 38342009-12-05 Juri Linkov <juri@jurta.org>
3288 3835
@@ -3739,8 +4286,8 @@
3739 (doc-view-scroll-up-or-next-page) 4286 (doc-view-scroll-up-or-next-page)
3740 (doc-view-scroll-down-or-previous-page) 4287 (doc-view-scroll-down-or-previous-page)
3741 (doc-view-next-line-or-next-page) 4288 (doc-view-next-line-or-next-page)
3742 (doc-view-previous-line-or-previous-page): Rename 4289 (doc-view-previous-line-or-previous-page):
3743 `doc-view-continuous-mode' to `doc-view-continuous'. (Bug#4896) 4290 Rename `doc-view-continuous-mode' to `doc-view-continuous'. (Bug#4896)
3744 4291
37452009-11-30 Juri Linkov <juri@jurta.org> 42922009-11-30 Juri Linkov <juri@jurta.org>
3746 4293
@@ -3942,8 +4489,8 @@
3942 4489
3943 (verilog-auto-inst, verilog-auto-star-safe) 4490 (verilog-auto-inst, verilog-auto-star-safe)
3944 (verilog-delete-auto-star-implicit, verilog-read-sub-decls): 4491 (verilog-delete-auto-star-implicit, verilog-read-sub-decls):
3945 Fix removing "// Interfaces" when saving .* expansions. Reported by 4492 Fix removing "// Interfaces" when saving .* expansions.
3946 Pierre-David Pfister. 4493 Reported by Pierre-David Pfister.
3947 4494
39482009-11-26 Glenn Morris <rgm@gnu.org> 44952009-11-26 Glenn Morris <rgm@gnu.org>
3949 4496
@@ -5121,12 +5668,12 @@
5121 (tramp-compat-delete-directory): New defuns. 5668 (tramp-compat-delete-directory): New defuns.
5122 5669
5123 * net/tramp-fish.el (tramp-fish-handle-delete-directory): 5670 * net/tramp-fish.el (tramp-fish-handle-delete-directory):
5124 * net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory): Use 5671 * net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory):
5125 `tramp-compat-delete-directory'. 5672 Use `tramp-compat-delete-directory'.
5126 5673
5127 * net/tramp-smb.el (tramp-smb-handle-copy-directory) 5674 * net/tramp-smb.el (tramp-smb-handle-copy-directory)
5128 (tramp-smb-handle-delete-directory): Use 5675 (tramp-smb-handle-delete-directory):
5129 `tramp-compat-copy-directory' and `tramp-compat-delete-directory'. 5676 Use `tramp-compat-copy-directory' and `tramp-compat-delete-directory'.
5130 5677
5131 * net/trampver.el: Update release number. 5678 * net/trampver.el: Update release number.
5132 5679
@@ -5478,11 +6025,11 @@
5478 6025
54792009-10-31 Chong Yidong <cyd@stupidchicken.com> 60262009-10-31 Chong Yidong <cyd@stupidchicken.com>
5480 6027
5481 * international/mule-diag.el (list-character-sets-1): Minor 6028 * international/mule-diag.el (list-character-sets-1):
5482 message fix (Bug#3526). 6029 Minor message fix (Bug#3526).
5483 6030
5484 * progmodes/etags.el (etags-list-tags, etags-tags-apropos): Fix 6031 * progmodes/etags.el (etags-list-tags, etags-tags-apropos):
5485 face property (Bug#4834). 6032 Fix face property (Bug#4834).
5486 (etags-list-tags, etags-tags-apropos-additional) 6033 (etags-list-tags, etags-tags-apropos-additional)
5487 (etags-tags-apropos, tags-select-tags-table): Add follow-link 6034 (etags-tags-apropos, tags-select-tags-table): Add follow-link
5488 property. 6035 property.
@@ -5979,8 +6526,8 @@
5979 6526
59802009-10-23 Jay Belanger <jay.p.belanger@gmail.com> 65272009-10-23 Jay Belanger <jay.p.belanger@gmail.com>
5981 6528
5982 * calc/calc.el (math-read-number, math-read-number-simple): Use 6529 * calc/calc.el (math-read-number, math-read-number-simple):
5983 `save-match-data'. 6530 Use `save-match-data'.
5984 6531
59852009-10-22 Stefan Monnier <monnier@iro.umontreal.ca> 65322009-10-22 Stefan Monnier <monnier@iro.umontreal.ca>
5986 6533
@@ -7274,8 +7821,8 @@
7274 7821
72752009-09-26 Alan Mackenzie <acm@muc.de> 78222009-09-26 Alan Mackenzie <acm@muc.de>
7276 7823
7277 * progmodes/cc-engine.el (c-beginning-of-statement-1): Correct 7824 * progmodes/cc-engine.el (c-beginning-of-statement-1):
7278 buggy bracketing. (Bug#4289) 7825 Correct buggy bracketing. (Bug#4289)
7279 7826
7280 * progmodes/cc-langs.el (c-nonlabel-token-key): Allow quoted 7827 * progmodes/cc-langs.el (c-nonlabel-token-key): Allow quoted
7281 character constants (as case labels). (Bug#4289) 7828 character constants (as case labels). (Bug#4289)
@@ -7658,8 +8205,8 @@
7658 8205
76592009-09-21 Chong Yidong <cyd@stupidchicken.com> 82062009-09-21 Chong Yidong <cyd@stupidchicken.com>
7660 8207
7661 * files.el (conf-mode-maybe, magic-fallback-mode-alist): Use 8208 * files.el (conf-mode-maybe, magic-fallback-mode-alist):
7662 nxml-mode instead of xml-mode. 8209 Use nxml-mode instead of xml-mode.
7663 8210
76642009-09-21 Kevin Ryde <user42@zip.com.au> 82112009-09-21 Kevin Ryde <user42@zip.com.au>
7665 8212
@@ -8480,8 +9027,8 @@
8480 * net/tramp.el (tramp-handle-insert-directory): Handle "--dired" 9027 * net/tramp.el (tramp-handle-insert-directory): Handle "--dired"
8481 also when adding a new directory. 9028 also when adding a new directory.
8482 9029
8483 * net/tramp-compat.el (tramp-compat-line-beginning-position): New 9030 * net/tramp-compat.el (tramp-compat-line-beginning-position):
8484 defun. 9031 New defun.
8485 9032
84862009-09-04 Stefan Monnier <monnier@iro.umontreal.ca> 90332009-09-04 Stefan Monnier <monnier@iro.umontreal.ca>
8487 9034
@@ -9808,8 +10355,8 @@
9808 (gdb-control-current-thread): Interactive setters for 10355 (gdb-control-current-thread): Interactive setters for
9809 `gdb-gud-control-all-threads' to use in menu. 10356 `gdb-gud-control-all-threads' to use in menu.
9810 (gdb-show-run-p): Show «Go» when process is not active. 10357 (gdb-show-run-p): Show «Go» when process is not active.
9811 (gud-tool-bar-map): Add non-stop/A,T indicator. Uses 10358 (gud-tool-bar-map): Add non-stop/A,T indicator.
9812 gud/thread.xpm and gud/all.xpm. 10359 Uses gud/thread.xpm and gud/all.xpm.
9813 10360
98142009-08-08 Yoni Rabkin <yoni@rabkins.net> 103612009-08-08 Yoni Rabkin <yoni@rabkins.net>
9815 10362
@@ -9833,8 +10380,8 @@
9833 (gdb-breakpoints-mode-map): Don't assume threads buffer is present. 10380 (gdb-breakpoints-mode-map): Don't assume threads buffer is present.
9834 (gdb-threads-mode-map): Don't assume breakpoints buffer is present. 10381 (gdb-threads-mode-map): Don't assume breakpoints buffer is present.
9835 (gdb-disassembly-handler-custom, gdb-stack-list-frames-custom) 10382 (gdb-disassembly-handler-custom, gdb-stack-list-frames-custom)
9836 (gdb-locals-handler-custom, gdb-registers-handler-custom): Thread 10383 (gdb-locals-handler-custom, gdb-registers-handler-custom):
9837 info in mode name. 10384 Thread info in mode name.
9838 (gdb-registers-mode-map): TAB to switch to locals. 10385 (gdb-registers-mode-map): TAB to switch to locals.
9839 10386
98402009-08-08 Eli Zaretskii <eliz@gnu.org> 103872009-08-08 Eli Zaretskii <eliz@gnu.org>
@@ -9849,14 +10396,14 @@
9849 10396
98502009-08-07 Eli Zaretskii <eliz@gnu.org> 103972009-08-07 Eli Zaretskii <eliz@gnu.org>
9851 10398
9852 * mail/sendmail.el (mail-yank-original): Set 10399 * mail/sendmail.el (mail-yank-original):
9853 buffer-file-coding-system from the one used by the message whose 10400 Set buffer-file-coding-system from the one used by the message whose
9854 text is yanked. 10401 text is yanked.
9855 10402
9856 * calc/calc-graph.el (calc-graph-plot): Set calc-graph-last-device 10403 * calc/calc-graph.el (calc-graph-plot): Set calc-graph-last-device
9857 to "windows" when "pgnuplot" is used. 10404 to "windows" when "pgnuplot" is used.
9858 (calc-graph-command, calc-gnuplot-command, calc-graph-init): Don't 10405 (calc-graph-command, calc-gnuplot-command, calc-graph-init):
9859 call accept-process-output if "pgnuplot" is used. 10406 Don't call accept-process-output if "pgnuplot" is used.
9860 (calc-graph-init): Don't send -display and -geometry to 10407 (calc-graph-init): Don't send -display and -geometry to
9861 "pgnuplot". If "pgnuplot" is used, glean gnuplot version by 10408 "pgnuplot". If "pgnuplot" is used, glean gnuplot version by
9862 running "pgnuplot -V" with shell-command-to-string. 10409 running "pgnuplot -V" with shell-command-to-string.
@@ -9996,11 +10543,11 @@
9996 * progmodes/gdb-mi.el (gdb-thread-number): Initialize with nil. 10543 * progmodes/gdb-mi.el (gdb-thread-number): Initialize with nil.
9997 (gdb-current-context-command): Do not append --thread if 10544 (gdb-current-context-command): Do not append --thread if
9998 `gdb-thread-number' is nil. 10545 `gdb-thread-number' is nil.
9999 (gdb-running-threads-count, gdb-stopped-threads-count): New 10546 (gdb-running-threads-count, gdb-stopped-threads-count):
10000 variables. 10547 New variables.
10001 (gdb-non-stop, gdb-gud-control-all-threads, gdb-switch-reasons) 10548 (gdb-non-stop, gdb-gud-control-all-threads, gdb-switch-reasons)
10002 (gdb-stopped-hooks, gdb-switch-when-another-stopped): New 10549 (gdb-stopped-hooks, gdb-switch-when-another-stopped):
10003 customization options. 10550 New customization options.
10004 (gdb-gud-context-command, gdb-gud-context-call): New wrappers for 10551 (gdb-gud-context-command, gdb-gud-context-call): New wrappers for
10005 GUD commands. 10552 GUD commands.
10006 (gdb): `gud-def' definitions changed to use `gdb-gud-context-call'. 10553 (gdb): `gud-def' definitions changed to use `gdb-gud-context-call'.
@@ -10124,8 +10671,8 @@
10124 * net/tramp-cache.el (tramp-cache-inhibit-cache): New defvar. 10671 * net/tramp-cache.el (tramp-cache-inhibit-cache): New defvar.
10125 (tramp-get-file-property): Use it. 10672 (tramp-get-file-property): Use it.
10126 10673
10127 * autorevert.el (auto-revert-handler): Allow 10674 * autorevert.el (auto-revert-handler):
10128 `auto-revert-tail-mode' for remote files. 10675 Allow `auto-revert-tail-mode' for remote files.
10129 10676
101302009-08-02 Jason Rumney <jasonr@gnu.org> 106772009-08-02 Jason Rumney <jasonr@gnu.org>
10131 10678
@@ -10135,8 +10682,8 @@
101352009-08-02 Chong Yidong <cyd@stupidchicken.com> 106822009-08-02 Chong Yidong <cyd@stupidchicken.com>
10136 10683
10137 * font-lock.el (font-lock-string-face, font-lock-builtin-face) 10684 * font-lock.el (font-lock-string-face, font-lock-builtin-face)
10138 (font-lock-variable-name-face, font-lock-constant-face): Darken 10685 (font-lock-variable-name-face, font-lock-constant-face):
10139 the colors for light backgrounds. 10686 Darken the colors for light backgrounds.
10140 10687
101412009-08-01 Eli Zaretskii <eliz@gnu.org> 106882009-08-01 Eli Zaretskii <eliz@gnu.org>
10142 10689
@@ -10236,8 +10783,8 @@
10236 10783
10237 * net/zeroconf.el (zeroconf-init): Check for "GetVersionString" 10784 * net/zeroconf.el (zeroconf-init): Check for "GetVersionString"
10238 instead of "IsNSSSupportAvailable". Avahi ought to work also when 10785 instead of "IsNSSSupportAvailable". Avahi ought to work also when
10239 "IsNSSSupportAvailable" method is not available. Reported by 10786 "IsNSSSupportAvailable" method is not available.
10240 Steve Youngs <steve@sxemacs.org>. 10787 Reported by Steve Youngs <steve@sxemacs.org>.
10241 10788
102422009-07-24 Kenichi Handa <handa@m17n.org> 107892009-07-24 Kenichi Handa <handa@m17n.org>
10243 10790
@@ -10362,11 +10909,11 @@
10362 10909
103632009-07-21 Chong Yidong <cyd@stupidchicken.com> 109102009-07-21 Chong Yidong <cyd@stupidchicken.com>
10364 10911
10365 * mail/rmailedit.el (rmail-edit-mode): Use 10912 * mail/rmailedit.el (rmail-edit-mode):
10366 auto-save-include-big-deletions. 10913 Use auto-save-include-big-deletions.
10367 10914
10368 * mail/rmail.el (rmail-variables): Use 10915 * mail/rmail.el (rmail-variables):
10369 auto-save-include-big-deletions. 10916 Use auto-save-include-big-deletions.
10370 10917
10371 * files.el (auto-save-mode): Revert 2009-07-21 and 2009-07-16 10918 * files.el (auto-save-mode): Revert 2009-07-21 and 2009-07-16
10372 changes. 10919 changes.
@@ -10542,8 +11089,8 @@
10542 * w32-fns.el (x-selection-owner-p): New function. 11089 * w32-fns.el (x-selection-owner-p): New function.
10543 11090
10544 * mouse.el (mouse-drag-track): Call deactivate-mark earlier. 11091 * mouse.el (mouse-drag-track): Call deactivate-mark earlier.
10545 (mouse-yank-at-click, mouse-yank-primary): If 11092 (mouse-yank-at-click, mouse-yank-primary):
10546 select-active-regions is non-nil, deactivate the mark before 11093 If select-active-regions is non-nil, deactivate the mark before
10547 insertion. 11094 insertion.
10548 11095
10549 * simple.el (deactivate-mark, set-mark): Only save selection if we 11096 * simple.el (deactivate-mark, set-mark): Only save selection if we
@@ -10612,11 +11159,11 @@
10612 11159
10613 * select.el (x-set-selection): Doc fix. 11160 * select.el (x-set-selection): Doc fix.
10614 (x-valid-simple-selection-p): Allow buffer values. 11161 (x-valid-simple-selection-p): Allow buffer values.
10615 (xselect--selection-bounds): Handle buffer values. Suggested by 11162 (xselect--selection-bounds): Handle buffer values.
10616 David De La Harpe Golden. 11163 Suggested by David De La Harpe Golden.
10617 11164
10618 * mouse.el (mouse-set-region, mouse-drag-track): Call 11165 * mouse.el (mouse-set-region, mouse-drag-track):
10619 copy-region-as-kill before setting the mark, to let 11166 Call copy-region-as-kill before setting the mark, to let
10620 select-active-regions work. 11167 select-active-regions work.
10621 11168
106222009-07-15 David De La Harpe Golden <david@harpegolden.net> 111692009-07-15 David De La Harpe Golden <david@harpegolden.net>
@@ -10818,8 +11365,8 @@
10818 * progmodes/gdb-mi.el: Port memory buffer from gdb-ui.el. 11365 * progmodes/gdb-mi.el: Port memory buffer from gdb-ui.el.
10819 (gdb-memory-address): New variable which holds top address of 11366 (gdb-memory-address): New variable which holds top address of
10820 memory page shown in memory buffer. 11367 memory page shown in memory buffer.
10821 (gdb-memory-repeat-count, gdb-memory-format, gdb-memory-unit): New 11368 (gdb-memory-repeat-count, gdb-memory-format, gdb-memory-unit):
10822 customization variables. 11369 New customization variables.
10823 New functions: 11370 New functions:
10824 (gdb-display-memory-buffer, gdb-frame-memory-buffer): Functions to 11371 (gdb-display-memory-buffer, gdb-frame-memory-buffer): Functions to
10825 display the memory buffer. 11372 display the memory buffer.
@@ -10832,8 +11379,8 @@
10832 (gdb-memory-unit-word, gdb-memory-unit-halfword) 11379 (gdb-memory-unit-word, gdb-memory-unit-halfword)
10833 (gdb-memory-unit-giant, gdb-memory-unit-byte): Functions to set 11380 (gdb-memory-unit-giant, gdb-memory-unit-byte): Functions to set
10834 unit size used in memory buffer. 11381 unit size used in memory buffer.
10835 (gdb-memory-show-next-page, gdb-memory-show-previous-page): Switch 11382 (gdb-memory-show-next-page, gdb-memory-show-previous-page):
10836 to next/previous page of memory buffer. 11383 Switch to next/previous page of memory buffer.
10837 Now using (bindat-get-field) instead of fadr functions. 11384 Now using (bindat-get-field) instead of fadr functions.
10838 11385
108392009-07-07 Sam Steingold <sds@gnu.org> 113862009-07-07 Sam Steingold <sds@gnu.org>
@@ -10843,8 +11390,8 @@
10843 11390
108442009-07-07 Kenichi Handa <handa@m17n.org> 113912009-07-07 Kenichi Handa <handa@m17n.org>
10845 11392
10846 * international/mule-cmds.el (reset-language-environment): Put 11393 * international/mule-cmds.el (reset-language-environment):
10847 the highset priority to the charset iso-8859-1. 11394 Put the highset priority to the charset iso-8859-1.
10848 11395
108492009-07-06 Chong Yidong <cyd@stupidchicken.com> 113962009-07-06 Chong Yidong <cyd@stupidchicken.com>
10850 11397
@@ -10874,8 +11421,8 @@
10874 (woman-file-name, woman2-format-paragraphs) 11421 (woman-file-name, woman2-format-paragraphs)
10875 (woman-leave-blank-lines): Code cleanup. 11422 (woman-leave-blank-lines): Code cleanup.
10876 (woman-use-own-frame): Change default to nil. 11423 (woman-use-own-frame): Change default to nil.
10877 (woman-italic, woman-bold, woman-unknown, woman-addition): Change 11424 (woman-italic, woman-bold, woman-unknown, woman-addition):
10878 defaults to inherit from default faces. 11425 Change defaults to inherit from default faces.
10879 (woman2-process-escapes): Consume the newline after a stand-alone 11426 (woman2-process-escapes): Consume the newline after a stand-alone
10880 filler character (Bug#3651). 11427 filler character (Bug#3651).
10881 11428
@@ -11169,8 +11716,8 @@
11169 (verilog-auto-ascii-enum): Support one-hot state machines in 11716 (verilog-auto-ascii-enum): Support one-hot state machines in
11170 AUTOASCIIENUM. Suggested by Lloyd Gomez. 11717 AUTOASCIIENUM. Suggested by Lloyd Gomez.
11171 (verilog-auto-inst, verilog-auto-inst-port): Include interface 11718 (verilog-auto-inst, verilog-auto-inst-port): Include interface
11172 modport in AUTOINST and add vl-modport for users. Reported by 11719 modport in AUTOINST and add vl-modport for users.
11173 David Rogoff. 11720 Reported by David Rogoff.
11174 (verilog-auto-inout-module, verilog-auto-inst) 11721 (verilog-auto-inout-module, verilog-auto-inst)
11175 (verilog-decls-get-interfaces, verilog-insert-definition) 11722 (verilog-decls-get-interfaces, verilog-insert-definition)
11176 (verilog-insert-one-definition, verilog-read-decls) 11723 (verilog-insert-one-definition, verilog-read-decls)
diff --git a/lisp/ChangeLog.12 b/lisp/ChangeLog.12
index 270fe8d6aeb..c242095fb07 100644
--- a/lisp/ChangeLog.12
+++ b/lisp/ChangeLog.12
@@ -12997,8 +12997,8 @@
12997 12997
129982006-02-13 Mathias Dahl <mathias.dahl@gmail.com> 129982006-02-13 Mathias Dahl <mathias.dahl@gmail.com>
12999 12999
13000 * tumme.el: Remove history section. If someone needs the it, it 13000 * tumme.el: Remove history section. If someone needs it, it can
13001 can always be found in CVS. 13001 always be found in CVS.
13002 13002
130032006-02-12 Mathias Dahl <mathias.dahl@gmail.com> 130032006-02-12 Mathias Dahl <mathias.dahl@gmail.com>
13004 13004
diff --git a/lisp/ChangeLog.13 b/lisp/ChangeLog.13
index c5a51f813a7..b561ba75ba5 100644
--- a/lisp/ChangeLog.13
+++ b/lisp/ChangeLog.13
@@ -6680,8 +6680,9 @@
6680 buffer if the parent buffer is in vc-dired-mode. 6680 buffer if the parent buffer is in vc-dired-mode.
6681 6681
66822007-11-23 Mark A. Hershberger <mah@everybody.org> 66822007-11-23 Mark A. Hershberger <mah@everybody.org>
6683 James Clark <none@example.com>
6683 6684
6684 * nxml: Initial merge of nxml. Kept nxml/char-name subdir for now. 6685 * nxml/: Initial merge of nxml. Kept nxml/char-name subdir for now.
6685 6686
66862007-11-23 Juri Linkov <juri@jurta.org> 66872007-11-23 Juri Linkov <juri@jurta.org>
6687 6688
@@ -16693,10 +16694,9 @@ See ChangeLog.12 for earlier changes.
16693 16694
16694;; Local Variables: 16695;; Local Variables:
16695;; coding: utf-8 16696;; coding: utf-8
16696;; add-log-time-zone-rule: t
16697;; End: 16697;; End:
16698 16698
16699 Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 16699 Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
16700 16700
16701 This file is part of GNU Emacs. 16701 This file is part of GNU Emacs.
16702 16702
@@ -16712,5 +16712,3 @@ See ChangeLog.12 for earlier changes.
16712 16712
16713 You should have received a copy of the GNU General Public License 16713 You should have received a copy of the GNU General Public License
16714 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. 16714 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
16715
16716;; arch-tag: 1e8aa93a-fc6c-4ac3-9b10-1f445e1840af
diff --git a/lisp/ChangeLog.9 b/lisp/ChangeLog.9
index a6112f97825..5f1a501af37 100644
--- a/lisp/ChangeLog.9
+++ b/lisp/ChangeLog.9
@@ -1034,8 +1034,8 @@
10342001-09-18 Eli Zaretskii <eliz@is.elta.co.il> 10342001-09-18 Eli Zaretskii <eliz@is.elta.co.il>
1035 1035
1036 * dired.el (dired-move-to-filename-regexp): Allow one digit in the 1036 * dired.el (dired-move-to-filename-regexp): Allow one digit in the
1037 numeric month value, and allow the Kanji character after the it to 1037 numeric month value, and allow the Kanji character after it to be
1038 be missing (happens with ls-lisp's output on Japanese versions of 1038 missing (happens with ls-lisp's output on Japanese versions of
1039 MS-Windows). 1039 MS-Windows).
1040 1040
10412001-09-18 Miles Bader <miles@gnu.org> 10412001-09-18 Miles Bader <miles@gnu.org>
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 7629316dc63..dd93ec44e93 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -559,6 +559,7 @@ ELCFILES = \
559 $(lisp)/emacs-lisp/ring.elc \ 559 $(lisp)/emacs-lisp/ring.elc \
560 $(lisp)/emacs-lisp/rx.elc \ 560 $(lisp)/emacs-lisp/rx.elc \
561 $(lisp)/emacs-lisp/shadow.elc \ 561 $(lisp)/emacs-lisp/shadow.elc \
562 $(lisp)/emacs-lisp/smie.elc \
562 $(lisp)/emacs-lisp/sregex.elc \ 563 $(lisp)/emacs-lisp/sregex.elc \
563 $(lisp)/emacs-lisp/syntax.elc \ 564 $(lisp)/emacs-lisp/syntax.elc \
564 $(lisp)/emacs-lisp/tcover-ses.elc \ 565 $(lisp)/emacs-lisp/tcover-ses.elc \
diff --git a/lisp/add-log.el b/lisp/add-log.el
index ab99f6787c8..4fec68f4c02 100644
--- a/lisp/add-log.el
+++ b/lisp/add-log.el
@@ -701,7 +701,7 @@ current buffer to the complete file name.
701Optional arg BUFFER-FILE overrides `buffer-file-name'." 701Optional arg BUFFER-FILE overrides `buffer-file-name'."
702 ;; If we are called from a diff, first switch to the source buffer; 702 ;; If we are called from a diff, first switch to the source buffer;
703 ;; in order to respect buffer-local settings of change-log-default-name, etc. 703 ;; in order to respect buffer-local settings of change-log-default-name, etc.
704 (with-current-buffer (let ((buff (if (eq major-mode 'diff-mode) 704 (with-current-buffer (let ((buff (if (derived-mode-p 'diff-mode)
705 (car (ignore-errors 705 (car (ignore-errors
706 (diff-find-source-location)))))) 706 (diff-find-source-location))))))
707 (if (buffer-live-p buff) buff 707 (if (buffer-live-p buff) buff
@@ -1173,7 +1173,7 @@ Has a preference of looking backwards."
1173 ((apply 'derived-mode-p add-log-c-like-modes) 1173 ((apply 'derived-mode-p add-log-c-like-modes)
1174 (or (c-cpp-define-name) 1174 (or (c-cpp-define-name)
1175 (c-defun-name))) 1175 (c-defun-name)))
1176 ((memq major-mode add-log-tex-like-modes) 1176 ((apply #'derived-mode-p add-log-tex-like-modes)
1177 (if (re-search-backward 1177 (if (re-search-backward
1178 "\\\\\\(sub\\)*\\(section\\|paragraph\\|chapter\\)" 1178 "\\\\\\(sub\\)*\\(section\\|paragraph\\|chapter\\)"
1179 nil t) 1179 nil t)
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el
index 418f740bb83..24ebb19a58b 100644
--- a/lisp/calendar/calendar.el
+++ b/lisp/calendar/calendar.el
@@ -736,14 +736,16 @@ calendar package is already loaded). Rather, use either
736(defcustom diary-iso-date-forms 736(defcustom diary-iso-date-forms
737 '((month "[-/]" day "[^-/0-9]") 737 '((month "[-/]" day "[^-/0-9]")
738 (year "[-/]" month "[-/]" day "[^0-9]") 738 (year "[-/]" month "[-/]" day "[^0-9]")
739 (monthname "-" day "[^-0-9]") 739 ;; Cannot allow [-/] as separators here, since it would also match
740 (year "-" monthname "-" day "[^0-9]") 740 ;; the first element (bug#7377).
741 (monthname " *" day "[^-0-9]")
742 (year " *" monthname " *" day "[^0-9]")
741 (dayname "\\W")) 743 (dayname "\\W"))
742 "List of pseudo-patterns describing the ISO style of dates. 744 "List of pseudo-patterns describing the ISO style of dates.
743The defaults are: MONTH[-/]DAY; YEAR[-/]MONTH[-/]DAY; MONTHNAME-DAY; 745The defaults are: MONTH[-/]DAY; YEAR[-/]MONTH[-/]DAY; MONTHNAME DAY;
744YEAR-MONTHNAME-DAY; DAYNAME. Normally you should not customize this, 746YEAR MONTHNAME DAY; DAYNAME. Normally you should not customize this,
745but `diary-date-forms' (which see)." 747but `diary-date-forms' (which see)."
746 :version "23.1" 748 :version "23.3" ; bug#7377
747 :type '(repeat (choice (cons :tag "Backup" 749 :type '(repeat (choice (cons :tag "Backup"
748 :value (backup . nil) 750 :value (backup . nil)
749 (const backup) 751 (const backup)
@@ -2570,5 +2572,4 @@ If called by a mouse-event, pops up a menu with the result."
2570;; byte-compile-dynamic: t 2572;; byte-compile-dynamic: t
2571;; End: 2573;; End:
2572 2574
2573;; arch-tag: 19c61596-c8fb-4c69-bcf1-7dd739919cd8
2574;;; calendar.el ends here 2575;;; calendar.el ends here
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog
index a9eaf9ded1e..a483d3b70c8 100644
--- a/lisp/cedet/ChangeLog
+++ b/lisp/cedet/ChangeLog
@@ -1,3 +1,11 @@
12010-10-29 Glenn Morris <rgm@gnu.org>
2
3 * mode-local.el (mode-local-augment-function-help):
4 * semantic/analyze/debug.el (semantic-analyzer-debug-add-buttons):
5 * semantic/symref/list.el (semantic-symref-results-dump)
6 (semantic-symref-rb-toggle-expand-tag): Replace inappropriate uses
7 of toggle-read-only.
8
12010-10-12 Juanma Barranquero <lekktu@gmail.com> 92010-10-12 Juanma Barranquero <lekktu@gmail.com>
2 10
3 * semantic/symref/list.el (semantic-symref-list-rename-open-hits): 11 * semantic/symref/list.el (semantic-symref-list-rename-open-hits):
diff --git a/lisp/cedet/mode-local.el b/lisp/cedet/mode-local.el
index 8d5772f0840..7943f61fee3 100644
--- a/lisp/cedet/mode-local.el
+++ b/lisp/cedet/mode-local.el
@@ -1,6 +1,7 @@
1;;; mode-local.el --- Support for mode local facilities 1;;; mode-local.el --- Support for mode local facilities
2;; 2;;
3;; Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3;; Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010
4;; Free Software Foundation, Inc.
4;; 5;;
5;; Author: David Ponce <david@dponce.com> 6;; Author: David Ponce <david@dponce.com>
6;; Maintainer: David Ponce <david@dponce.com> 7;; Maintainer: David Ponce <david@dponce.com>
@@ -610,19 +611,16 @@ PROMPT, INITIAL, HIST, and DEFAULT are the same as for `completing-read'."
610SYMBOL is a function that can be overridden." 611SYMBOL is a function that can be overridden."
611 (with-current-buffer "*Help*" 612 (with-current-buffer "*Help*"
612 (pop-to-buffer (current-buffer)) 613 (pop-to-buffer (current-buffer))
613 (unwind-protect 614 (goto-char (point-min))
614 (progn 615 (unless (re-search-forward "^$" nil t)
615 (toggle-read-only -1) 616 (goto-char (point-max))
616 (goto-char (point-min)) 617 (beginning-of-line)
617 (unless (re-search-forward "^$" nil t) 618 (forward-line -1))
618 (goto-char (point-max)) 619 (let ((inhibit-read-only t))
619 (beginning-of-line) 620 (insert (overload-docstring-extension symbol) "\n")
620 (forward-line -1)) 621 ;; NOTE TO SELF:
621 (insert (overload-docstring-extension symbol) "\n") 622 ;; LIST ALL LOADED OVERRIDES FOR SYMBOL HERE
622 ;; NOTE TO SELF: 623 )))
623 ;; LIST ALL LOADED OVERRIDES FOR SYMBOL HERE
624 )
625 (toggle-read-only 1))))
626 624
627;; Help for mode-local bindings. 625;; Help for mode-local bindings.
628(defun mode-local-print-binding (symbol) 626(defun mode-local-print-binding (symbol)
@@ -782,5 +780,4 @@ invoked interactively."
782 780
783(provide 'mode-local) 781(provide 'mode-local)
784 782
785;; arch-tag: 14b77823-f93c-4b3d-9116-495f69a6ec07
786;;; mode-local.el ends here 783;;; mode-local.el ends here
diff --git a/lisp/cedet/semantic/analyze/debug.el b/lisp/cedet/semantic/analyze/debug.el
index 490b57bf83a..cfc41e6faf1 100644
--- a/lisp/cedet/semantic/analyze/debug.el
+++ b/lisp/cedet/semantic/analyze/debug.el
@@ -586,34 +586,28 @@ Look for key expressions, and add push-buttons near them."
586 (set-marker orig-buffer (point) (current-buffer)) 586 (set-marker orig-buffer (point) (current-buffer))
587 ;; Get a buffer ready. 587 ;; Get a buffer ready.
588 (with-current-buffer "*Help*" 588 (with-current-buffer "*Help*"
589 (toggle-read-only -1) 589 (let ((inhibit-read-only t))
590 (goto-char (point-min)) 590 (goto-char (point-min))
591 (set (make-local-variable 'semantic-analyzer-debug-orig) orig-buffer) 591 (set (make-local-variable 'semantic-analyzer-debug-orig) orig-buffer)
592 ;; First, add do-in buttons to recommendations. 592 ;; First, add do-in buttons to recommendations.
593 (while (re-search-forward "^\\s-*M-x \\(\\(\\w\\|\\s_\\)+\\) " nil t) 593 (while (re-search-forward "^\\s-*M-x \\(\\(\\w\\|\\s_\\)+\\) " nil t)
594 (let ((fcn (match-string 1))) 594 (let ((fcn (match-string 1)))
595 (when (not (fboundp (intern-soft fcn))) 595 (when (not (fboundp (intern-soft fcn)))
596 (error "Help Err: Can't find %s" fcn)) 596 (error "Help Err: Can't find %s" fcn))
597 (end-of-line) 597 (end-of-line)
598 (insert " ") 598 (insert " ")
599 (insert-button "[ Do It ]" 599 (insert-button "[ Do It ]"
600 'mouse-face 'custom-button-pressed-face 600 'mouse-face 'custom-button-pressed-face
601 'do-fcn fcn 601 'do-fcn fcn
602 'action `(lambda (arg) 602 'action `(lambda (arg)
603 (let ((M semantic-analyzer-debug-orig)) 603 (let ((M semantic-analyzer-debug-orig))
604 (set-buffer (marker-buffer M)) 604 (set-buffer (marker-buffer M))
605 (goto-char M)) 605 (goto-char M))
606 (call-interactively (quote ,(intern-soft fcn)))) 606 (call-interactively (quote ,(intern-soft fcn))))))))
607 )
608 ))
609 ;; Do something else? 607 ;; Do something else?
610
611 ;; Clean up the mess 608 ;; Clean up the mess
612 (toggle-read-only 1) 609 (set-buffer-modified-p nil))))
613 (set-buffer-modified-p nil)
614 )))
615 610
616(provide 'semantic/analyze/debug) 611(provide 'semantic/analyze/debug)
617 612
618;; arch-tag: 943db1e5-47e6-4bec-9989-78ebfadf0358
619;;; semantic/analyze/debug.el ends here 613;;; semantic/analyze/debug.el ends here
diff --git a/lisp/cedet/semantic/symref/list.el b/lisp/cedet/semantic/symref/list.el
index 53044e278ac..9be53d90b08 100644
--- a/lisp/cedet/semantic/symref/list.el
+++ b/lisp/cedet/semantic/symref/list.el
@@ -221,49 +221,38 @@ Some useful functions are found in `semantic-format-tag-functions'."
221(defun semantic-symref-results-dump (results) 221(defun semantic-symref-results-dump (results)
222 "Dump the RESULTS into the current buffer." 222 "Dump the RESULTS into the current buffer."
223 ;; Get ready for the insert. 223 ;; Get ready for the insert.
224 (toggle-read-only -1) 224 (let ((inhibit-read-only t))
225 (erase-buffer) 225 (erase-buffer)
226 226 ;; Insert the contents.
227 ;; Insert the contents. 227 (let ((lastfile nil))
228 (let ((lastfile nil) 228 (dolist (T (oref results :hit-tags))
229 ) 229 (unless (equal lastfile (semantic-tag-file-name T))
230 (dolist (T (oref results :hit-tags)) 230 (setq lastfile (semantic-tag-file-name T))
231 231 (insert-button lastfile
232 (when (not (equal lastfile (semantic-tag-file-name T))) 232 'mouse-face 'custom-button-pressed-face
233 (setq lastfile (semantic-tag-file-name T)) 233 'action 'semantic-symref-rb-goto-file
234 (insert-button lastfile 234 'tag T)
235 'mouse-face 'custom-button-pressed-face 235 (insert "\n"))
236 'action 'semantic-symref-rb-goto-file 236 (insert " ")
237 (insert-button "[+]"
238 'mouse-face 'highlight
239 'face nil
240 'action 'semantic-symref-rb-toggle-expand-tag
237 'tag T 241 'tag T
238 ) 242 'state 'closed)
239 (insert "\n")) 243 (insert " ")
240 244 (insert-button (funcall semantic-symref-results-summary-function
241 (insert " ") 245 T nil t)
242 (insert-button "[+]" 246 'mouse-face 'custom-button-pressed-face
243 'mouse-face 'highlight 247 'face nil
244 'face nil 248 'action 'semantic-symref-rb-goto-tag
245 'action 'semantic-symref-rb-toggle-expand-tag 249 'tag T)
246 'tag T 250 (insert "\n")))
247 'state 'closed) 251 ;; Auto expand
248 (insert " ") 252 (when semantic-symref-auto-expand-results
249 (insert-button (funcall semantic-symref-results-summary-function 253 (semantic-symref-list-expand-all)))
250 T nil t) 254 ;; Clean up the mess
251 'mouse-face 'custom-button-pressed-face 255 (set-buffer-modified-p nil))
252 'face nil
253 'action 'semantic-symref-rb-goto-tag
254 'tag T)
255 (insert "\n")
256
257 ))
258
259 ;; Auto expand
260 (when semantic-symref-auto-expand-results
261 (semantic-symref-list-expand-all))
262
263 ;; Clean up the mess
264 (toggle-read-only 1)
265 (set-buffer-modified-p nil)
266 )
267 256
268;;; Commands for semantic-symref-results 257;;; Commands for semantic-symref-results
269;; 258;;
@@ -283,11 +272,9 @@ BUTTON is the button that was clicked."
283 (buff (semantic-tag-buffer tag)) 272 (buff (semantic-tag-buffer tag))
284 (hits (semantic--tag-get-property tag :hit)) 273 (hits (semantic--tag-get-property tag :hit))
285 (state (button-get button 'state)) 274 (state (button-get button 'state))
286 (text nil) 275 (text nil))
287 )
288 (cond 276 (cond
289 ((eq state 'closed) 277 ((eq state 'closed)
290 (toggle-read-only -1)
291 (with-current-buffer buff 278 (with-current-buffer buff
292 (dolist (H hits) 279 (dolist (H hits)
293 (goto-char (point-min)) 280 (goto-char (point-min))
@@ -295,48 +282,42 @@ BUTTON is the button that was clicked."
295 (beginning-of-line) 282 (beginning-of-line)
296 (back-to-indentation) 283 (back-to-indentation)
297 (setq text (cons (buffer-substring (point) (point-at-eol)) text))) 284 (setq text (cons (buffer-substring (point) (point-at-eol)) text)))
298 (setq text (nreverse text)) 285 (setq text (nreverse text)))
299 )
300 (goto-char (button-start button)) 286 (goto-char (button-start button))
301 (forward-char 1) 287 (forward-char 1)
302 (delete-char 1) 288 (let ((inhibit-read-only t))
303 (insert "-") 289 (delete-char 1)
304 (button-put button 'state 'open) 290 (insert "-")
305 (save-excursion 291 (button-put button 'state 'open)
306 (end-of-line) 292 (save-excursion
307 (while text 293 (end-of-line)
308 (insert "\n") 294 (while text
309 (insert " ") 295 (insert "\n")
310 (insert-button (car text) 296 (insert " ")
311 'mouse-face 'highlight 297 (insert-button (car text)
312 'face nil 298 'mouse-face 'highlight
313 'action 'semantic-symref-rb-goto-match 299 'face nil
314 'tag tag 300 'action 'semantic-symref-rb-goto-match
315 'line (car hits)) 301 'tag tag
316 (setq text (cdr text) 302 'line (car hits))
317 hits (cdr hits)))) 303 (setq text (cdr text)
318 (toggle-read-only 1) 304 hits (cdr hits))))))
319 )
320 ((eq state 'open) 305 ((eq state 'open)
321 (toggle-read-only -1) 306 (let ((inhibit-read-only t))
322 (button-put button 'state 'closed) 307 (button-put button 'state 'closed)
323 ;; Delete the various bits. 308 ;; Delete the various bits.
324 (goto-char (button-start button)) 309 (goto-char (button-start button))
325 (forward-char 1)
326 (delete-char 1)
327 (insert "+")
328 (save-excursion
329 (end-of-line)
330 (forward-char 1) 310 (forward-char 1)
331 (delete-region (point) 311 (delete-char 1)
332 (save-excursion 312 (insert "+")
333 (forward-char 1) 313 (save-excursion
334 (forward-line (length hits)) 314 (end-of-line)
335 (point)))) 315 (forward-char 1)
336 (toggle-read-only 1) 316 (delete-region (point)
337 ) 317 (save-excursion
338 )) 318 (forward-char 1)
339 ) 319 (forward-line (length hits))
320 (point)))))))))
340 321
341(defun semantic-symref-rb-goto-file (&optional button) 322(defun semantic-symref-rb-goto-file (&optional button)
342 "Go to the file specified in the symref results buffer. 323 "Go to the file specified in the symref results buffer.
@@ -554,5 +535,4 @@ Return the number of occurrences FUNCTION was operated upon."
554;; generated-autoload-load-name: "semantic/symref/list" 535;; generated-autoload-load-name: "semantic/symref/list"
555;; End: 536;; End:
556 537
557;; arch-tag: e355d9c6-26e0-42d1-9bf1-f4801a54fffa
558;;; semantic/symref/list.el ends here 538;;; semantic/symref/list.el ends here
diff --git a/lisp/comint.el b/lisp/comint.el
index d5d17357ed1..aa0e1599537 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -340,13 +340,14 @@ This variable is buffer-local."
340;; Some implementations of passwd use "Password (again)" as the 2nd prompt. 340;; Some implementations of passwd use "Password (again)" as the 2nd prompt.
341;; Something called "perforce" uses "Enter password:". 341;; Something called "perforce" uses "Enter password:".
342(defcustom comint-password-prompt-regexp 342(defcustom comint-password-prompt-regexp
343 "\\(\\(Enter \\|[Oo]ld \\|[Nn]ew \\|'s \\|login \\|\ 343 "\\(\\([Ee]nter \\(?:same \\|the \\)?\\|[Oo]ld \\|[Nn]ew \\|'s \\|login \\|\
344Kerberos \\|CVS \\|UNIX \\| SMB \\|LDAP \\|\\[sudo] \\|^\\)\ 344Kerberos \\|CVS \\|UNIX \\| SMB \\|LDAP \\|\\[sudo] \\|^\\)\
345\[Pp]assword\\( (again)\\)?\\|\ 345\[Pp]assword\\( (again)\\)?\\|\
346pass phrase\\|\\(Enter \\|Repeat \\|Bad \\)?[Pp]assphrase\\)\ 346pass phrase\\|\\(Enter \\|Repeat \\|Bad \\)?[Pp]assphrase\\)\
347\\(?:, try again\\)?\\(?: for [^:]+\\)?:\\s *\\'" 347\\(?:, try again\\)?\\(?: for [^:]+\\)?:\\s *\\'"
348 "Regexp matching prompts for passwords in the inferior process. 348 "Regexp matching prompts for passwords in the inferior process.
349This is used by `comint-watch-for-password-prompt'." 349This is used by `comint-watch-for-password-prompt'."
350 :version "23.3"
350 :type 'regexp 351 :type 'regexp
351 :group 'comint) 352 :group 'comint)
352 353
@@ -2640,6 +2641,7 @@ updated using `comint-update-fence', if necessary."
2640 (let ((inhibit-read-only t)) 2641 (let ((inhibit-read-only t))
2641 (kill-region beg end yank-handler) 2642 (kill-region beg end yank-handler)
2642 (comint-update-fence)))))) 2643 (comint-update-fence))))))
2644(set-advertised-calling-convention 'comint-kill-region '(beg end) "23.3")
2643 2645
2644 2646
2645;; Support for source-file processing commands. 2647;; Support for source-file processing commands.
diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el
index 27f8318f91c..907bf7d5b83 100644
--- a/lisp/diff-mode.el
+++ b/lisp/diff-mode.el
@@ -97,6 +97,9 @@ when editing big diffs)."
97 :options '(diff-delete-empty-files diff-make-unified) 97 :options '(diff-delete-empty-files diff-make-unified)
98 :group 'diff-mode) 98 :group 'diff-mode)
99 99
100(defvar diff-vc-backend nil
101 "The VC backend that created the current Diff buffer, if any.")
102
100(defvar diff-outline-regexp 103(defvar diff-outline-regexp
101 "\\([*+][*+][*+] [^0-9]\\|@@ ...\\|\\*\\*\\* [0-9].\\|--- [0-9]..\\)") 104 "\\([*+][*+][*+] [^0-9]\\|@@ ...\\|\\*\\*\\* [0-9].\\|--- [0-9]..\\)")
102 105
@@ -138,6 +141,7 @@ when editing big diffs)."
138 ;; Standard M-r is useful, so don't change M-r or M-R. 141 ;; Standard M-r is useful, so don't change M-r or M-R.
139 ;;("r" . diff-restrict-view) 142 ;;("r" . diff-restrict-view)
140 ;;("R" . diff-reverse-direction) 143 ;;("R" . diff-reverse-direction)
144 ("g" . revert-buffer)
141 ("q" . quit-window)) 145 ("q" . quit-window))
142 "Basic keymap for `diff-mode', bound to various prefix keys.") 146 "Basic keymap for `diff-mode', bound to various prefix keys.")
143 147
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el
index c985aae07b6..5ae984ffdb0 100644
--- a/lisp/emacs-lisp/autoload.el
+++ b/lisp/emacs-lisp/autoload.el
@@ -1,7 +1,8 @@
1;; autoload.el --- maintain autoloads in loaddefs.el 1;; autoload.el --- maintain autoloads in loaddefs.el
2 2
3;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2001, 2002, 2003, 3;; Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2001, 2002,
4;; 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4;; 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5;; Free Software Foundation, Inc.
5 6
6;; Author: Roland McGrath <roland@gnu.org> 7;; Author: Roland McGrath <roland@gnu.org>
7;; Keywords: maint 8;; Keywords: maint
@@ -525,8 +526,8 @@ removes any prior now out-of-date autoload entries."
525 (autoload-ensure-default-file (autoload-generated-file))) 526 (autoload-ensure-default-file (autoload-generated-file)))
526 ;; This is to make generated-autoload-file have Unix EOLs, so 527 ;; This is to make generated-autoload-file have Unix EOLs, so
527 ;; that it is portable to all platforms. 528 ;; that it is portable to all platforms.
528 (unless (zerop (coding-system-eol-type buffer-file-coding-system)) 529 (or (eq 0 (coding-system-eol-type buffer-file-coding-system))
529 (set-buffer-file-coding-system 'unix)) 530 (set-buffer-file-coding-system 'unix))
530 (or (> (buffer-size) 0) 531 (or (> (buffer-size) 0)
531 (error "Autoloads file %s does not exist" buffer-file-name)) 532 (error "Autoloads file %s does not exist" buffer-file-name))
532 (or (file-writable-p buffer-file-name) 533 (or (file-writable-p buffer-file-name)
@@ -735,5 +736,4 @@ Calls `update-directory-autoloads' on the command line arguments."
735 736
736(provide 'autoload) 737(provide 'autoload)
737 738
738;; arch-tag: 00244766-98f4-4767-bf42-8a22103441c6
739;;; autoload.el ends here 739;;; autoload.el ends here
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 394169be99d..cdfac80ca78 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -294,21 +294,12 @@ suppress. For example, (not mapcar) will suppress warnings about mapcar."
294 (set :menu-tag "Some" 294 (set :menu-tag "Some"
295 ,@(mapcar (lambda (x) `(const ,x)) 295 ,@(mapcar (lambda (x) `(const ,x))
296 byte-compile-warning-types)))) 296 byte-compile-warning-types))))
297;;;###autoload(put 'byte-compile-warnings 'safe-local-variable 'byte-compile-warnings-safe-p)
298 297
299;;;###autoload 298;;;###autoload
300(defun byte-compile-warnings-safe-p (x) 299(put 'byte-compile-warnings 'safe-local-variable
301 "Return non-nil if X is valid as a value of `byte-compile-warnings'." 300 (lambda (v)
302 (or (booleanp x) 301 (or (symbolp v)
303 (and (listp x) 302 (null (delq nil (mapcar (lambda (x) (not (symbolp x))) v))))))
304 (if (eq (car x) 'not) (setq x (cdr x))
305 t)
306 (equal (mapcar
307 (lambda (e)
308 (when (memq e byte-compile-warning-types)
309 e))
310 x)
311 x))))
312 303
313(defun byte-compile-warning-enabled-p (warning) 304(defun byte-compile-warning-enabled-p (warning)
314 "Return non-nil if WARNING is enabled, according to `byte-compile-warnings'." 305 "Return non-nil if WARNING is enabled, according to `byte-compile-warnings'."
diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el
new file mode 100644
index 00000000000..179e0a9f094
--- /dev/null
+++ b/lisp/emacs-lisp/smie.el
@@ -0,0 +1,1546 @@
1;;; smie.el --- Simple Minded Indentation Engine
2
3;; Copyright (C) 2010 Free Software Foundation, Inc.
4
5;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
6;; Keywords: languages, lisp, internal, parsing, indentation
7
8;; This file is part of GNU Emacs.
9
10;; GNU Emacs is free software; you can redistribute it and/or modify
11;; it under the terms of the GNU General Public License as published by
12;; the Free Software Foundation, either version 3 of the License, or
13;; (at your option) any later version.
14
15;; GNU Emacs is distributed in the hope that it will be useful,
16;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;; GNU General Public License for more details.
19
20;; You should have received a copy of the GNU General Public License
21;; along with this program. If not, see <http://www.gnu.org/licenses/>.
22
23;;; Commentary:
24
25;; While working on the SML indentation code, the idea grew that maybe
26;; I could write something generic to do the same thing, and at the
27;; end of working on the SML code, I had a pretty good idea of what it
28;; could look like. That idea grew stronger after working on
29;; LaTeX indentation.
30;;
31;; So at some point I decided to try it out, by writing a new
32;; indentation code for Coq while trying to keep most of the code
33;; "table driven", where only the tables are Coq-specific. The result
34;; (which was used for Beluga-mode as well) turned out to be based on
35;; something pretty close to an operator precedence parser.
36
37;; So here is another rewrite, this time following the actual principles of
38;; operator precedence grammars. Why OPG? Even though they're among the
39;; weakest kinds of parsers, these parsers have some very desirable properties
40;; for Emacs:
41;; - most importantly for indentation, they work equally well in either
42;; direction, so you can use them to parse backward from the indentation
43;; point to learn the syntactic context;
44;; - they work locally, so there's no need to keep a cache of
45;; the parser's state;
46;; - because of that locality, indentation also works just fine when earlier
47;; parts of the buffer are syntactically incorrect since the indentation
48;; looks at "as little as possible" of the buffer to make an indentation
49;; decision.
50;; - they typically have no error handling and can't even detect a parsing
51;; error, so we don't have to worry about what to do in case of a syntax
52;; error because the parser just automatically does something. Better yet,
53;; we can afford to use a sloppy grammar.
54
55;; A good background to understand the development (especially the parts
56;; building the 2D precedence tables and then computing the precedence levels
57;; from it) can be found in pages 187-194 of "Parsing techniques" by Dick Grune
58;; and Ceriel Jacobs (BookBody.pdf available at
59;; http://www.cs.vu.nl/~dick/PTAPG.html).
60;;
61;; OTOH we had to kill many chickens, read many coffee grounds, and practice
62;; untold numbers of black magic spells, to come up with the indentation code.
63;; Since then, some of that code has been beaten into submission, but the
64;; smie-indent-keyword is still pretty obscure.
65
66;; Conflict resolution:
67;;
68;; - One source of conflicts is when you have:
69;; (exp ("IF" exp "ELSE" exp "END") ("CASE" cases "END"))
70;; (cases (cases "ELSE" insts) ...)
71;; The IF-rule implies ELSE=END and the CASE-rule implies ELSE>END.
72;; FIXME: we could try to resolve such conflicts automatically by changing
73;; the way BNF rules such as the IF-rule is handled. I.e. rather than
74;; IF=ELSE and ELSE=END, we could turn them into IF<ELSE and ELSE>END
75;; and IF=END,
76
77;; TODO & BUGS:
78;;
79;; - FIXME: I think the behavior on empty lines is wrong. It shouldn't
80;; look at the next token on subsequent lines.
81;; - Using the structural information SMIE gives us, it should be possible to
82;; implement a `smie-align' command that would automatically figure out what
83;; there is to align and how to do it (something like: align the token of
84;; lowest precedence that appears the same number of times on all lines,
85;; and then do the same on each side of that token).
86;; - Maybe accept two juxtaposed non-terminals in the BNF under the condition
87;; that the first always ends with a terminal, or that the second always
88;; starts with a terminal.
89
90;;; Code:
91
92(eval-when-compile (require 'cl))
93
94(defgroup smie nil
95 "Simple Minded Indentation Engine."
96 :group 'languages)
97
98(defvar comment-continue)
99(declare-function comment-string-strip "newcomment" (str beforep afterp))
100
101;;; Building precedence level tables from BNF specs.
102
103;; We have 4 different representations of a "grammar":
104;; - a BNF table, which is a list of BNF rules of the form
105;; (NONTERM RHS1 ... RHSn) where each RHS is a list of terminals (tokens)
106;; or nonterminals. Any element in these lists which does not appear as
107;; the `car' of a BNF rule is taken to be a terminal.
108;; - A list of precedences (key word "precs"), is a list, sorted
109;; from lowest to highest precedence, of precedence classes that
110;; have the form (ASSOCIATIVITY TERMINAL1 .. TERMINALn), where
111;; ASSOCIATIVITY can be `assoc', `left', `right' or `nonassoc'.
112;; - a 2 dimensional precedence table (key word "prec2"), is a 2D
113;; table recording the precedence relation (can be `<', `=', `>', or
114;; nil) between each pair of tokens.
115;; - a precedence-level table (key word "grammar"), which is a alist
116;; giving for each token its left and right precedence level (a
117;; number or nil). This is used in `smie-grammar'.
118;; The prec2 tables are only intermediate data structures: the source
119;; code normally provides a mix of BNF and precs tables, and then
120;; turns them into a levels table, which is what's used by the rest of
121;; the SMIE code.
122
123(defun smie-set-prec2tab (table x y val &optional override)
124 (assert (and x y))
125 (let* ((key (cons x y))
126 (old (gethash key table)))
127 (if (and old (not (eq old val)))
128 (if (and override (gethash key override))
129 ;; FIXME: The override is meant to resolve ambiguities,
130 ;; but it also hides real conflicts. It would be great to
131 ;; be able to distinguish the two cases so that overrides
132 ;; don't hide real conflicts.
133 (puthash key (gethash key override) table)
134 (display-warning 'smie (format "Conflict: %s %s/%s %s" x old val y)))
135 (puthash key val table))))
136
137(put 'smie-precs->prec2 'pure t)
138(defun smie-precs->prec2 (precs)
139 "Compute a 2D precedence table from a list of precedences.
140PRECS should be a list, sorted by precedence (e.g. \"+\" will
141come before \"*\"), of elements of the form \(left OP ...)
142or (right OP ...) or (nonassoc OP ...) or (assoc OP ...). All operators in
143one of those elements share the same precedence level and associativity."
144 (let ((prec2-table (make-hash-table :test 'equal)))
145 (dolist (prec precs)
146 (dolist (op (cdr prec))
147 (let ((selfrule (cdr (assq (car prec)
148 '((left . >) (right . <) (assoc . =))))))
149 (when selfrule
150 (dolist (other-op (cdr prec))
151 (smie-set-prec2tab prec2-table op other-op selfrule))))
152 (let ((op1 '<) (op2 '>))
153 (dolist (other-prec precs)
154 (if (eq prec other-prec)
155 (setq op1 '> op2 '<)
156 (dolist (other-op (cdr other-prec))
157 (smie-set-prec2tab prec2-table op other-op op2)
158 (smie-set-prec2tab prec2-table other-op op op1)))))))
159 prec2-table))
160
161(put 'smie-merge-prec2s 'pure t)
162(defun smie-merge-prec2s (&rest tables)
163 (if (null (cdr tables))
164 (car tables)
165 (let ((prec2 (make-hash-table :test 'equal)))
166 (dolist (table tables)
167 (maphash (lambda (k v)
168 (if (consp k)
169 (smie-set-prec2tab prec2 (car k) (cdr k) v)
170 (if (and (gethash k prec2)
171 (not (equal (gethash k prec2) v)))
172 (error "Conflicting values for %s property" k)
173 (puthash k v prec2))))
174 table))
175 prec2)))
176
177(put 'smie-bnf->prec2 'pure t)
178(defun smie-bnf->prec2 (bnf &rest precs)
179 ;; FIXME: Add repetition operator like (repeat <separator> <elems>).
180 ;; Maybe also add (or <elem1> <elem2>...) for things like
181 ;; (exp (exp (or "+" "*" "=" ..) exp)).
182 ;; Basically, make it EBNF (except for the specification of a separator in
183 ;; the repetition).
184 (let ((nts (mapcar 'car bnf)) ;Non-terminals
185 (first-ops-table ())
186 (last-ops-table ())
187 (first-nts-table ())
188 (last-nts-table ())
189 (prec2 (make-hash-table :test 'equal))
190 (override (apply 'smie-merge-prec2s
191 (mapcar 'smie-precs->prec2 precs)))
192 again)
193 (dolist (rules bnf)
194 (let ((nt (car rules))
195 (last-ops ())
196 (first-ops ())
197 (last-nts ())
198 (first-nts ()))
199 (dolist (rhs (cdr rules))
200 (unless (consp rhs)
201 (signal 'wrong-type-argument `(consp ,rhs)))
202 (if (not (member (car rhs) nts))
203 (pushnew (car rhs) first-ops)
204 (pushnew (car rhs) first-nts)
205 (when (consp (cdr rhs))
206 ;; If the first is not an OP we add the second (which
207 ;; should be an OP if BNF is an "operator grammar").
208 ;; Strictly speaking, this should only be done if the
209 ;; first is a non-terminal which can expand to a phrase
210 ;; without any OP in it, but checking doesn't seem worth
211 ;; the trouble, and it lets the writer of the BNF
212 ;; be a bit more sloppy by skipping uninteresting base
213 ;; cases which are terminals but not OPs.
214 (assert (not (member (cadr rhs) nts)))
215 (pushnew (cadr rhs) first-ops)))
216 (let ((shr (reverse rhs)))
217 (if (not (member (car shr) nts))
218 (pushnew (car shr) last-ops)
219 (pushnew (car shr) last-nts)
220 (when (consp (cdr shr))
221 (assert (not (member (cadr shr) nts)))
222 (pushnew (cadr shr) last-ops)))))
223 (push (cons nt first-ops) first-ops-table)
224 (push (cons nt last-ops) last-ops-table)
225 (push (cons nt first-nts) first-nts-table)
226 (push (cons nt last-nts) last-nts-table)))
227 ;; Compute all first-ops by propagating the initial ones we have
228 ;; now, according to first-nts.
229 (setq again t)
230 (while (prog1 again (setq again nil))
231 (dolist (first-nts first-nts-table)
232 (let* ((nt (pop first-nts))
233 (first-ops (assoc nt first-ops-table)))
234 (dolist (first-nt first-nts)
235 (dolist (op (cdr (assoc first-nt first-ops-table)))
236 (unless (member op first-ops)
237 (setq again t)
238 (push op (cdr first-ops))))))))
239 ;; Same thing for last-ops.
240 (setq again t)
241 (while (prog1 again (setq again nil))
242 (dolist (last-nts last-nts-table)
243 (let* ((nt (pop last-nts))
244 (last-ops (assoc nt last-ops-table)))
245 (dolist (last-nt last-nts)
246 (dolist (op (cdr (assoc last-nt last-ops-table)))
247 (unless (member op last-ops)
248 (setq again t)
249 (push op (cdr last-ops))))))))
250 ;; Now generate the 2D precedence table.
251 (dolist (rules bnf)
252 (dolist (rhs (cdr rules))
253 (while (cdr rhs)
254 (cond
255 ((member (car rhs) nts)
256 (dolist (last (cdr (assoc (car rhs) last-ops-table)))
257 (smie-set-prec2tab prec2 last (cadr rhs) '> override)))
258 ((member (cadr rhs) nts)
259 (dolist (first (cdr (assoc (cadr rhs) first-ops-table)))
260 (smie-set-prec2tab prec2 (car rhs) first '< override))
261 (if (and (cddr rhs) (not (member (car (cddr rhs)) nts)))
262 (smie-set-prec2tab prec2 (car rhs) (car (cddr rhs))
263 '= override)))
264 (t (smie-set-prec2tab prec2 (car rhs) (cadr rhs) '= override)))
265 (setq rhs (cdr rhs)))))
266 ;; Keep track of which tokens are openers/closer, so they can get a nil
267 ;; precedence in smie-prec2->grammar.
268 (puthash :smie-open/close-alist (smie-bnf-classify bnf) prec2)
269 (puthash :smie-closer-alist (smie-bnf-closer-alist bnf) prec2)
270 prec2))
271
272;; (defun smie-prec2-closer-alist (prec2 include-inners)
273;; "Build a closer-alist from a PREC2 table.
274;; The return value is in the same form as `smie-closer-alist'.
275;; INCLUDE-INNERS if non-nil means that inner keywords will be included
276;; in the table, e.g. the table will include things like (\"if\" . \"else\")."
277;; (let* ((non-openers '())
278;; (non-closers '())
279;; ;; For each keyword, this gives the matching openers, if any.
280;; (openers (make-hash-table :test 'equal))
281;; (closers '())
282;; (done nil))
283;; ;; First, find the non-openers and non-closers.
284;; (maphash (lambda (k v)
285;; (unless (or (eq v '<) (member (cdr k) non-openers))
286;; (push (cdr k) non-openers))
287;; (unless (or (eq v '>) (member (car k) non-closers))
288;; (push (car k) non-closers)))
289;; prec2)
290;; ;; Then find the openers and closers.
291;; (maphash (lambda (k _)
292;; (unless (member (car k) non-openers)
293;; (puthash (car k) (list (car k)) openers))
294;; (unless (or (member (cdr k) non-closers)
295;; (member (cdr k) closers))
296;; (push (cdr k) closers)))
297;; prec2)
298;; ;; Then collect the matching elements.
299;; (while (not done)
300;; (setq done t)
301;; (maphash (lambda (k v)
302;; (when (eq v '=)
303;; (let ((aopeners (gethash (car k) openers))
304;; (dopeners (gethash (cdr k) openers))
305;; (new nil))
306;; (dolist (o aopeners)
307;; (unless (member o dopeners)
308;; (setq new t)
309;; (push o dopeners)))
310;; (when new
311;; (setq done nil)
312;; (puthash (cdr k) dopeners openers)))))
313;; prec2))
314;; ;; Finally, dump the resulting table.
315;; (let ((alist '()))
316;; (maphash (lambda (k v)
317;; (when (or include-inners (member k closers))
318;; (dolist (opener v)
319;; (unless (equal opener k)
320;; (push (cons opener k) alist)))))
321;; openers)
322;; alist)))
323
324(defun smie-bnf-closer-alist (bnf &optional no-inners)
325 ;; We can also build this closer-alist table from a prec2 table,
326 ;; but it takes more work, and the order is unpredictable, which
327 ;; is a problem for smie-close-block.
328 ;; More convenient would be to build it from a levels table since we
329 ;; always have this table (contrary to the BNF), but it has all the
330 ;; disadvantages of the prec2 case plus the disadvantage that the levels
331 ;; table has lost some info which would result in extra invalid pairs.
332 "Build a closer-alist from a BNF table.
333The return value is in the same form as `smie-closer-alist'.
334NO-INNERS if non-nil means that inner keywords will be excluded
335from the table, e.g. the table will not include things like (\"if\" . \"else\")."
336 (let ((nts (mapcar #'car bnf)) ;non terminals.
337 (alist '()))
338 (dolist (nt bnf)
339 (dolist (rhs (cdr nt))
340 (unless (or (< (length rhs) 2) (member (car rhs) nts))
341 (if no-inners
342 (let ((last (car (last rhs))))
343 (unless (member last nts)
344 (pushnew (cons (car rhs) last) alist :test #'equal)))
345 ;; Reverse so that the "real" closer gets there first,
346 ;; which is important for smie-close-block.
347 (dolist (term (reverse (cdr rhs)))
348 (unless (member term nts)
349 (pushnew (cons (car rhs) term) alist :test #'equal)))))))
350 (nreverse alist)))
351
352(defun smie-bnf-classify (bnf)
353 "Return a table classifying terminals.
354Each terminal can either be an `opener', a `closer', or neither."
355 (let ((table (make-hash-table :test #'equal))
356 (nts (mapcar #'car bnf))
357 (alist '()))
358 (dolist (category bnf)
359 (puthash (car category) 'neither table) ;Remove non-terminals.
360 (dolist (rhs (cdr category))
361 (if (null (cdr rhs))
362 (puthash (pop rhs) 'neither table)
363 (let ((first (pop rhs)))
364 (puthash first
365 (if (memq (gethash first table) '(nil opener))
366 'opener
367 (unless (member first nts)
368 (error "SMIE: token %s is both opener and non-opener"
369 first))
370 'neither)
371 table))
372 (while (cdr rhs)
373 (puthash (pop rhs) 'neither table)) ;Remove internals.
374 (let ((last (pop rhs)))
375 (puthash last
376 (if (memq (gethash last table) '(nil closer))
377 'closer
378 (unless (member last nts)
379 (error "SMIE: token %s is both closer and non-closer"
380 last))
381 'neither)
382 table)))))
383 (maphash (lambda (tok v)
384 (when (memq v '(closer opener))
385 (push (cons tok v) alist)))
386 table)
387 alist))
388
389(defun smie-debug--prec2-cycle (csts)
390 "Return a cycle in CSTS, assuming there's one.
391CSTS is a list of pairs representing arcs in a graph."
392 ;; A PATH is of the form (START . REST) where REST is a reverse
393 ;; list of nodes through which the path goes.
394 (let ((paths (mapcar (lambda (pair) (list (car pair) (cdr pair))) csts))
395 (cycle nil))
396 (while (null cycle)
397 (dolist (path (prog1 paths (setq paths nil)))
398 (dolist (cst csts)
399 (when (eq (car cst) (nth 1 path))
400 (if (eq (cdr cst) (car path))
401 (setq cycle path)
402 (push (cons (car path) (cons (cdr cst) (cdr path)))
403 paths))))))
404 (cons (car cycle) (nreverse (cdr cycle)))))
405
406(defun smie-debug--describe-cycle (table cycle)
407 (let ((names
408 (mapcar (lambda (val)
409 (let ((res nil))
410 (dolist (elem table)
411 (if (eq (cdr elem) val)
412 (push (concat "." (car elem)) res))
413 (if (eq (cddr elem) val)
414 (push (concat (car elem) ".") res)))
415 (assert res)
416 res))
417 cycle)))
418 (mapconcat
419 (lambda (elems) (mapconcat 'identity elems "="))
420 (append names (list (car names)))
421 " < ")))
422
423;; (defun smie-check-grammar (grammar prec2 &optional dummy)
424;; (maphash (lambda (k v)
425;; (when (consp k)
426;; (let ((left (nth 2 (assoc (car k) grammar)))
427;; (right (nth 1 (assoc (cdr k) grammar))))
428;; (when (and left right)
429;; (cond
430;; ((< left right) (assert (eq v '<)))
431;; ((> left right) (assert (eq v '>)))
432;; (t (assert (eq v '=))))))))
433;; prec2))
434
435(put 'smie-prec2->grammar 'pure t)
436(defun smie-prec2->grammar (prec2)
437 "Take a 2D precedence table and turn it into an alist of precedence levels.
438PREC2 is a table as returned by `smie-precs->prec2' or
439`smie-bnf->prec2'."
440 ;; For each operator, we create two "variables" (corresponding to
441 ;; the left and right precedence level), which are represented by
442 ;; cons cells. Those are the very cons cells that appear in the
443 ;; final `table'. The value of each "variable" is kept in the `car'.
444 (let ((table ())
445 (csts ())
446 (eqs ())
447 tmp x y)
448 ;; From `prec2' we construct a list of constraints between
449 ;; variables (aka "precedence levels"). These can be either
450 ;; equality constraints (in `eqs') or `<' constraints (in `csts').
451 (maphash (lambda (k v)
452 (when (consp k)
453 (if (setq tmp (assoc (car k) table))
454 (setq x (cddr tmp))
455 (setq x (cons nil nil))
456 (push (cons (car k) (cons nil x)) table))
457 (if (setq tmp (assoc (cdr k) table))
458 (setq y (cdr tmp))
459 (setq y (cons nil (cons nil nil)))
460 (push (cons (cdr k) y) table))
461 (ecase v
462 (= (push (cons x y) eqs))
463 (< (push (cons x y) csts))
464 (> (push (cons y x) csts)))))
465 prec2)
466 ;; First process the equality constraints.
467 (let ((eqs eqs))
468 (while eqs
469 (let ((from (caar eqs))
470 (to (cdar eqs)))
471 (setq eqs (cdr eqs))
472 (if (eq to from)
473 nil ;Nothing to do.
474 (dolist (other-eq eqs)
475 (if (eq from (cdr other-eq)) (setcdr other-eq to))
476 (when (eq from (car other-eq))
477 ;; This can happen because of `assoc' settings in precs
478 ;; or because of a rhs like ("op" foo "op").
479 (setcar other-eq to)))
480 (dolist (cst csts)
481 (if (eq from (cdr cst)) (setcdr cst to))
482 (if (eq from (car cst)) (setcar cst to)))))))
483 ;; Then eliminate trivial constraints iteratively.
484 (let ((i 0))
485 (while csts
486 (let ((rhvs (mapcar 'cdr csts))
487 (progress nil))
488 (dolist (cst csts)
489 (unless (memq (car cst) rhvs)
490 (setq progress t)
491 ;; We could give each var in a given iteration the same value,
492 ;; but we can also give them arbitrarily different values.
493 ;; Basically, these are vars between which there is no
494 ;; constraint (neither equality nor inequality), so
495 ;; anything will do.
496 ;; We give them arbitrary values, which means that we
497 ;; replace the "no constraint" case with either > or <
498 ;; but not =. The reason we do that is so as to try and
499 ;; distinguish associative operators (which will have
500 ;; left = right).
501 (unless (caar cst)
502 (setcar (car cst) i)
503 ;; (smie-check-grammar table prec2 'step1)
504 (incf i))
505 (setq csts (delq cst csts))))
506 (unless progress
507 (error "Can't resolve the precedence cycle: %s"
508 (smie-debug--describe-cycle
509 table (smie-debug--prec2-cycle csts)))))
510 (incf i 10))
511 ;; Propagate equalities back to their source.
512 (dolist (eq (nreverse eqs))
513 (when (null (cadr eq))
514 ;; There's an equality constraint, but we still haven't given
515 ;; it a value: that means it binds tighter than anything else,
516 ;; and it can't be an opener/closer (those don't have equality
517 ;; constraints).
518 ;; So set it here rather than below since doing it below
519 ;; makes it more difficult to obey the equality constraints.
520 (setcar (cdr eq) i)
521 (incf i))
522 (assert (or (null (caar eq)) (eq (caar eq) (cadr eq))))
523 (setcar (car eq) (cadr eq))
524 ;; (smie-check-grammar table prec2 'step2)
525 )
526 ;; Finally, fill in the remaining vars (which only appeared on the
527 ;; right side of the < constraints).
528 (let ((classification-table (gethash :smie-open/close-alist prec2)))
529 (dolist (x table)
530 ;; When both sides are nil, it means this operator binds very
531 ;; very tight, but it's still just an operator, so we give it
532 ;; the highest precedence.
533 ;; OTOH if only one side is nil, it usually means it's like an
534 ;; open-paren, which is very important for indentation purposes,
535 ;; so we keep it nil if so, to make it easier to recognize.
536 (unless (or (nth 1 x)
537 (eq 'opener (cdr (assoc (car x) classification-table))))
538 (setf (nth 1 x) i)
539 (incf i)) ;See other (incf i) above.
540 (unless (or (nth 2 x)
541 (eq 'closer (cdr (assoc (car x) classification-table))))
542 (setf (nth 2 x) i)
543 (incf i))))) ;See other (incf i) above.
544 (let ((ca (gethash :smie-closer-alist prec2)))
545 (when ca (push (cons :smie-closer-alist ca) table)))
546 ;; (smie-check-grammar table prec2 'step3)
547 table))
548
549;;; Parsing using a precedence level table.
550
551(defvar smie-grammar 'unset
552 "List of token parsing info.
553This list is normally built by `smie-prec2->grammar'.
554Each element is of the form (TOKEN LEFT-LEVEL RIGHT-LEVEL).
555Parsing is done using an operator precedence parser.
556LEFT-LEVEL and RIGHT-LEVEL can be either numbers or a list, where a list
557means that this operator does not bind on the corresponding side,
558e.g. a LEFT-LEVEL of nil means this is a token that behaves somewhat like
559an open-paren, whereas a RIGHT-LEVEL of nil would correspond to something
560like a close-paren.")
561
562(defvar smie-forward-token-function 'smie-default-forward-token
563 "Function to scan forward for the next token.
564Called with no argument should return a token and move to its end.
565If no token is found, return nil or the empty string.
566It can return nil when bumping into a parenthesis, which lets SMIE
567use syntax-tables to handle them in efficient C code.")
568
569(defvar smie-backward-token-function 'smie-default-backward-token
570 "Function to scan backward the previous token.
571Same calling convention as `smie-forward-token-function' except
572it should move backward to the beginning of the previous token.")
573
574(defalias 'smie-op-left 'car)
575(defalias 'smie-op-right 'cadr)
576
577(defun smie-default-backward-token ()
578 (forward-comment (- (point)))
579 (buffer-substring-no-properties
580 (point)
581 (progn (if (zerop (skip-syntax-backward "."))
582 (skip-syntax-backward "w_'"))
583 (point))))
584
585(defun smie-default-forward-token ()
586 (forward-comment (point-max))
587 (buffer-substring-no-properties
588 (point)
589 (progn (if (zerop (skip-syntax-forward "."))
590 (skip-syntax-forward "w_'"))
591 (point))))
592
593(defun smie--associative-p (toklevels)
594 ;; in "a + b + c" we want to stop at each +, but in
595 ;; "if a then b elsif c then d else c" we don't want to stop at each keyword.
596 ;; To distinguish the two cases, we made smie-prec2->grammar choose
597 ;; different levels for each part of "if a then b else c", so that
598 ;; by checking if the left-level is equal to the right level, we can
599 ;; figure out that it's an associative operator.
600 ;; This is not 100% foolproof, tho, since the "elsif" will have to have
601 ;; equal left and right levels (since it's optional), so smie-next-sexp
602 ;; has to be careful to distinguish those different cases.
603 (eq (smie-op-left toklevels) (smie-op-right toklevels)))
604
605(defun smie-next-sexp (next-token next-sexp op-forw op-back halfsexp)
606 "Skip over one sexp.
607NEXT-TOKEN is a function of no argument that moves forward by one
608token (after skipping comments if needed) and returns it.
609NEXT-SEXP is a lower-level function to skip one sexp.
610OP-FORW is the accessor to the forward level of the level data.
611OP-BACK is the accessor to the backward level of the level data.
612HALFSEXP if non-nil, means skip over a partial sexp if needed. I.e. if the
613first token we see is an operator, skip over its left-hand-side argument.
614Possible return values:
615 (FORW-LEVEL POS TOKEN): we couldn't skip TOKEN because its back-level
616 is too high. FORW-LEVEL is the forw-level of TOKEN,
617 POS is its start position in the buffer.
618 (t POS TOKEN): same thing when we bump on the wrong side of a paren.
619 (nil POS TOKEN): we skipped over a paren-like pair.
620 nil: we skipped over an identifier, matched parentheses, ..."
621 (catch 'return
622 (let ((levels ()))
623 (while
624 (let* ((pos (point))
625 (token (funcall next-token))
626 (toklevels (cdr (assoc token smie-grammar))))
627 (cond
628 ((null toklevels)
629 (when (zerop (length token))
630 (condition-case err
631 (progn (goto-char pos) (funcall next-sexp 1) nil)
632 (scan-error (throw 'return
633 (list t (caddr err)
634 (buffer-substring-no-properties
635 (caddr err)
636 (+ (caddr err)
637 (if (< (point) (caddr err))
638 -1 1)))))))
639 (if (eq pos (point))
640 ;; We did not move, so let's abort the loop.
641 (throw 'return (list t (point))))))
642 ((not (numberp (funcall op-back toklevels)))
643 ;; A token like a paren-close.
644 (assert (numberp ; Otherwise, why mention it in smie-grammar.
645 (funcall op-forw toklevels)))
646 (push toklevels levels))
647 (t
648 (while (and levels (< (funcall op-back toklevels)
649 (funcall op-forw (car levels))))
650 (setq levels (cdr levels)))
651 (cond
652 ((null levels)
653 (if (and halfsexp (numberp (funcall op-forw toklevels)))
654 (push toklevels levels)
655 (throw 'return
656 (prog1 (list (or (car toklevels) t) (point) token)
657 (goto-char pos)))))
658 (t
659 (let ((lastlevels levels))
660 (if (and levels (= (funcall op-back toklevels)
661 (funcall op-forw (car levels))))
662 (setq levels (cdr levels)))
663 ;; We may have found a match for the previously pending
664 ;; operator. Is this the end?
665 (cond
666 ;; Keep looking as long as we haven't matched the
667 ;; topmost operator.
668 (levels
669 (if (numberp (funcall op-forw toklevels))
670 (push toklevels levels)))
671 ;; We matched the topmost operator. If the new operator
672 ;; is the last in the corresponding BNF rule, we're done.
673 ((not (numberp (funcall op-forw toklevels)))
674 ;; It is the last element, let's stop here.
675 (throw 'return (list nil (point) token)))
676 ;; If the new operator is not the last in the BNF rule,
677 ;; and is not associative, it's one of the inner operators
678 ;; (like the "in" in "let .. in .. end"), so keep looking.
679 ((not (smie--associative-p toklevels))
680 (push toklevels levels))
681 ;; The new operator is associative. Two cases:
682 ;; - it's really just an associative operator (like + or ;)
683 ;; in which case we should have stopped right before.
684 ((and lastlevels
685 (smie--associative-p (car lastlevels)))
686 (throw 'return
687 (prog1 (list (or (car toklevels) t) (point) token)
688 (goto-char pos))))
689 ;; - it's an associative operator within a larger construct
690 ;; (e.g. an "elsif"), so we should just ignore it and keep
691 ;; looking for the closing element.
692 (t (setq levels lastlevels))))))))
693 levels)
694 (setq halfsexp nil)))))
695
696(defun smie-backward-sexp (&optional halfsexp)
697 "Skip over one sexp.
698HALFSEXP if non-nil, means skip over a partial sexp if needed. I.e. if the
699first token we see is an operator, skip over its left-hand-side argument.
700Possible return values:
701 (LEFT-LEVEL POS TOKEN): we couldn't skip TOKEN because its right-level
702 is too high. LEFT-LEVEL is the left-level of TOKEN,
703 POS is its start position in the buffer.
704 (t POS TOKEN): same thing but for an open-paren or the beginning of buffer.
705 (nil POS TOKEN): we skipped over a paren-like pair.
706 nil: we skipped over an identifier, matched parentheses, ..."
707 (smie-next-sexp
708 (indirect-function smie-backward-token-function)
709 (indirect-function 'backward-sexp)
710 (indirect-function 'smie-op-left)
711 (indirect-function 'smie-op-right)
712 halfsexp))
713
714(defun smie-forward-sexp (&optional halfsexp)
715 "Skip over one sexp.
716HALFSEXP if non-nil, means skip over a partial sexp if needed. I.e. if the
717first token we see is an operator, skip over its left-hand-side argument.
718Possible return values:
719 (RIGHT-LEVEL POS TOKEN): we couldn't skip TOKEN because its left-level
720 is too high. RIGHT-LEVEL is the right-level of TOKEN,
721 POS is its end position in the buffer.
722 (t POS TOKEN): same thing but for an open-paren or the beginning of buffer.
723 (nil POS TOKEN): we skipped over a paren-like pair.
724 nil: we skipped over an identifier, matched parentheses, ..."
725 (smie-next-sexp
726 (indirect-function smie-forward-token-function)
727 (indirect-function 'forward-sexp)
728 (indirect-function 'smie-op-right)
729 (indirect-function 'smie-op-left)
730 halfsexp))
731
732;;; Miscellanous commands using the precedence parser.
733
734(defun smie-backward-sexp-command (&optional n)
735 "Move backward through N logical elements."
736 (interactive "^p")
737 (smie-forward-sexp-command (- n)))
738
739(defun smie-forward-sexp-command (&optional n)
740 "Move forward through N logical elements."
741 (interactive "^p")
742 (let ((forw (> n 0))
743 (forward-sexp-function nil))
744 (while (/= n 0)
745 (setq n (- n (if forw 1 -1)))
746 (let ((pos (point))
747 (res (if forw
748 (smie-forward-sexp 'halfsexp)
749 (smie-backward-sexp 'halfsexp))))
750 (if (and (car res) (= pos (point)) (not (if forw (eobp) (bobp))))
751 (signal 'scan-error
752 (list "Containing expression ends prematurely"
753 (cadr res) (cadr res)))
754 nil)))))
755
756(defvar smie-closer-alist nil
757 "Alist giving the closer corresponding to an opener.")
758
759(defun smie-close-block ()
760 "Close the closest surrounding block."
761 (interactive)
762 (let ((closer
763 (save-excursion
764 (backward-up-list 1)
765 (if (looking-at "\\s(")
766 (string (cdr (syntax-after (point))))
767 (let* ((open (funcall smie-forward-token-function))
768 (closer (cdr (assoc open smie-closer-alist)))
769 (levels (list (assoc open smie-grammar)))
770 (seen '())
771 (found '()))
772 (cond
773 ;; Even if we improve the auto-computation of closers,
774 ;; there are still cases where we need manual
775 ;; intervention, e.g. for Octave's use of `until'
776 ;; as a pseudo-closer of `do'.
777 (closer)
778 ((or (equal levels '(nil)) (numberp (nth 1 (car levels))))
779 (error "Doesn't look like a block"))
780 (t
781 ;; Now that smie-setup automatically sets smie-closer-alist
782 ;; from the BNF, this is not really needed any more.
783 (while levels
784 (let ((level (pop levels)))
785 (dolist (other smie-grammar)
786 (when (and (eq (nth 2 level) (nth 1 other))
787 (not (memq other seen)))
788 (push other seen)
789 (if (numberp (nth 2 other))
790 (push other levels)
791 (push (car other) found))))))
792 (cond
793 ((null found) (error "No known closer for opener %s" open))
794 ;; FIXME: what should we do if there are various closers?
795 (t (car found))))))))))
796 (unless (save-excursion (skip-chars-backward " \t") (bolp))
797 (newline))
798 (insert closer)
799 (if (save-excursion (skip-chars-forward " \t") (eolp))
800 (indent-according-to-mode)
801 (reindent-then-newline-and-indent))))
802
803(defun smie-down-list (&optional arg)
804 "Move forward down one level paren-like blocks. Like `down-list'.
805With argument ARG, do this that many times.
806A negative argument means move backward but still go down a level.
807This command assumes point is not in a string or comment."
808 (interactive "p")
809 (let ((start (point))
810 (inc (if (< arg 0) -1 1))
811 (offset (if (< arg 0) 1 0))
812 (next-token (if (< arg 0)
813 smie-backward-token-function
814 smie-forward-token-function)))
815 (while (/= arg 0)
816 (setq arg (- arg inc))
817 (while
818 (let* ((pos (point))
819 (token (funcall next-token))
820 (levels (assoc token smie-grammar)))
821 (cond
822 ((zerop (length token))
823 (if (if (< inc 0) (looking-back "\\s(\\|\\s)" (1- (point)))
824 (looking-at "\\s(\\|\\s)"))
825 ;; Go back to `start' in case of an error. This presumes
826 ;; none of the token we've found until now include a ( or ).
827 (progn (goto-char start) (down-list inc) nil)
828 (forward-sexp inc)
829 (/= (point) pos)))
830 ((and levels (not (numberp (nth (+ 1 offset) levels)))) nil)
831 ((and levels (not (numberp (nth (- 2 offset) levels))))
832 (let ((end (point)))
833 (goto-char start)
834 (signal 'scan-error
835 (list "Containing expression ends prematurely"
836 pos end))))
837 (t)))))))
838
839(defvar smie-blink-matching-triggers '(?\s ?\n)
840 "Chars which might trigger `blink-matching-open'.
841These can include the final chars of end-tokens, or chars that are
842typically inserted right after an end token.
843I.e. a good choice can be:
844 (delete-dups
845 (mapcar (lambda (kw) (aref (cdr kw) (1- (length (cdr kw)))))
846 smie-closer-alist))")
847
848(defcustom smie-blink-matching-inners t
849 "Whether SMIE should blink to matching opener for inner keywords.
850If non-nil, it will blink not only for \"begin..end\" but also for \"if...else\"."
851 :type 'boolean
852 :group 'smie)
853
854(defun smie-blink-matching-check (start end)
855 (save-excursion
856 (goto-char end)
857 (let ((ender (funcall smie-backward-token-function)))
858 (cond
859 ((not (and ender (rassoc ender smie-closer-alist)))
860 ;; This not is one of the begin..end we know how to check.
861 (blink-matching-check-mismatch start end))
862 ((not start) t)
863 ((eq t (car (rassoc ender smie-closer-alist))) nil)
864 (t
865 (goto-char start)
866 (let ((starter (funcall smie-forward-token-function)))
867 (not (member (cons starter ender) smie-closer-alist))))))))
868
869(defun smie-blink-matching-open ()
870 "Blink the matching opener when applicable.
871This uses SMIE's tables and is expected to be placed on `post-self-insert-hook'."
872 (let ((pos (point)) ;Position after the close token.
873 token)
874 (when (and blink-matching-paren
875 smie-closer-alist ; Optimization.
876 (or (eq (char-before) last-command-event) ;; Sanity check.
877 (save-excursion
878 (or (progn (skip-chars-backward " \t")
879 (setq pos (point))
880 (eq (char-before) last-command-event))
881 (progn (skip-chars-backward " \n\t")
882 (setq pos (point))
883 (eq (char-before) last-command-event)))))
884 (memq last-command-event smie-blink-matching-triggers)
885 (not (nth 8 (syntax-ppss))))
886 (save-excursion
887 (setq token (funcall smie-backward-token-function))
888 (when (and (eq (point) (1- pos))
889 (= 1 (length token))
890 (not (rassoc token smie-closer-alist)))
891 ;; The trigger char is itself a token but is not one of the
892 ;; closers (e.g. ?\; in Octave mode), so go back to the
893 ;; previous token.
894 (setq pos (point))
895 (setq token (funcall smie-backward-token-function)))
896 (when (rassoc token smie-closer-alist)
897 ;; We're after a close token. Let's still make sure we
898 ;; didn't skip a comment to find that token.
899 (funcall smie-forward-token-function)
900 (when (and (save-excursion
901 ;; Skip the trigger char, if applicable.
902 (if (eq (char-after) last-command-event)
903 (forward-char 1))
904 (if (eq ?\n last-command-event)
905 ;; Skip any auto-indentation, if applicable.
906 (skip-chars-forward " \t"))
907 (>= (point) pos))
908 ;; If token ends with a trigger char, don't blink for
909 ;; anything else than this trigger char, lest we'd blink
910 ;; both when inserting the trigger char and when
911 ;; inserting a subsequent trigger char like SPC.
912 (or (eq (point) pos)
913 (not (memq (char-before)
914 smie-blink-matching-triggers)))
915 (or smie-blink-matching-inners
916 (not (numberp (nth 2 (assoc token smie-grammar))))))
917 ;; The major mode might set blink-matching-check-function
918 ;; buffer-locally so that interactive calls to
919 ;; blink-matching-open work right, but let's not presume
920 ;; that's the case.
921 (let ((blink-matching-check-function #'smie-blink-matching-check))
922 (blink-matching-open))))))))
923
924;;; The indentation engine.
925
926(defcustom smie-indent-basic 4
927 "Basic amount of indentation."
928 :type 'integer
929 :group 'smie)
930
931(defvar smie-rules-function 'ignore
932 "Function providing the indentation rules.
933It takes two arguments METHOD and ARG where the meaning of ARG
934and the expected return value depends on METHOD.
935METHOD can be:
936- :after, in which case ARG is a token and the function should return the
937 OFFSET to use for indentation after ARG.
938- :before, in which case ARG is a token and the function should return the
939 OFFSET to use to indent ARG itself.
940- :elem, in which case the function should return either:
941 - the offset to use to indent function arguments (ARG = `arg')
942 - the basic indentation step (ARG = `basic').
943- :list-intro, in which case ARG is a token and the function should return
944 non-nil if TOKEN is followed by a list of expressions (not separated by any
945 token) rather than an expression.
946
947When ARG is a token, the function is called with point just before that token.
948A return value of nil always means to fallback on the default behavior, so the
949function should return nil for arguments it does not expect.
950
951OFFSET can be:
952nil use the default indentation rule.
953`(column . COLUMN) indent to column COLUMN.
954NUMBER offset by NUMBER, relative to a base token
955 which is the current token for :after and
956 its parent for :before.
957
958The functions whose name starts with \"smie-rule-\" are helper functions
959designed specifically for use in this function.")
960
961(defalias 'smie-rule-hanging-p 'smie-indent--hanging-p)
962(defun smie-indent--hanging-p ()
963 "Return non-nil if the current token is \"hanging\".
964A hanging keyword is one that's at the end of a line except it's not at
965the beginning of a line."
966 (and (not (smie-indent--bolp))
967 (save-excursion
968 (<= (line-end-position)
969 (progn
970 (when (zerop (length (funcall smie-forward-token-function)))
971 ;; Could be an open-paren.
972 (forward-char 1))
973 (skip-chars-forward " \t")
974 (or (eolp)
975 (and (looking-at comment-start-skip)
976 (forward-comment (point-max))))
977 (point))))))
978
979(defalias 'smie-rule-bolp 'smie-indent--bolp)
980(defun smie-indent--bolp ()
981 "Return non-nil if the current token is the first on the line."
982 (save-excursion (skip-chars-backward " \t") (bolp)))
983
984;; Dynamically scoped.
985(defvar smie--parent) (defvar smie--after) (defvar smie--token)
986
987(defun smie-indent--parent ()
988 (or smie--parent
989 (save-excursion
990 (let* ((pos (point))
991 (tok (funcall smie-forward-token-function)))
992 (unless (numberp (cadr (assoc tok smie-grammar)))
993 (goto-char pos))
994 (setq smie--parent
995 (smie-backward-sexp 'halfsexp))))))
996
997(defun smie-rule-parent-p (&rest parents)
998 "Return non-nil if the current token's parent is among PARENTS.
999Only meaningful when called from within `smie-rules-function'."
1000 (member (nth 2 (smie-indent--parent)) parents))
1001
1002(defun smie-rule-next-p (&rest tokens)
1003 "Return non-nil if the next token is among TOKENS.
1004Only meaningful when called from within `smie-rules-function'."
1005 (let ((next
1006 (save-excursion
1007 (unless smie--after
1008 (smie-indent-forward-token) (setq smie--after (point)))
1009 (goto-char smie--after)
1010 (smie-indent-forward-token))))
1011 (member (car next) tokens)))
1012
1013(defun smie-rule-prev-p (&rest tokens)
1014 "Return non-nil if the previous token is among TOKENS."
1015 (let ((prev (save-excursion
1016 (smie-indent-backward-token))))
1017 (member (car prev) tokens)))
1018
1019(defun smie-rule-sibling-p ()
1020 "Return non-nil if the parent is actually a sibling.
1021Only meaningful when called from within `smie-rules-function'."
1022 (eq (car (smie-indent--parent))
1023 (cadr (assoc smie--token smie-grammar))))
1024
1025(defun smie-rule-parent (&optional offset)
1026 "Align with parent.
1027If non-nil, OFFSET should be an integer giving an additional offset to apply.
1028Only meaningful when called from within `smie-rules-function'."
1029 (save-excursion
1030 (goto-char (cadr (smie-indent--parent)))
1031 (cons 'column
1032 (+ (or offset 0)
1033 ;; Use smie-indent-virtual when indenting relative to an opener:
1034 ;; this will also by default use current-column unless
1035 ;; that opener is hanging, but will additionally consult
1036 ;; rules-function, so it gives it a chance to tweak
1037 ;; indentation (e.g. by forcing indentation relative to
1038 ;; its own parent, as in fn a => fn b => fn c =>).
1039 (if (or (listp (car smie--parent)) (smie-indent--hanging-p))
1040 (smie-indent-virtual) (current-column))))))
1041
1042(defvar smie-rule-separator-outdent 2)
1043
1044(defun smie-indent--separator-outdent ()
1045 ;; FIXME: Here we actually have several reasonable behaviors.
1046 ;; E.g. for a parent token of "FOO" and a separator ";" we may want to:
1047 ;; 1- left-align ; with FOO.
1048 ;; 2- right-align ; with FOO.
1049 ;; 3- align content after ; with content after FOO.
1050 ;; 4- align content plus add/remove spaces so as to align ; with FOO.
1051 ;; Currently, we try to align the contents (option 3) which actually behaves
1052 ;; just like option 2 (if the number of spaces after FOO and ; is equal).
1053 (let ((afterpos (save-excursion
1054 (let ((tok (funcall smie-forward-token-function)))
1055 (unless tok
1056 (with-demoted-errors
1057 (error "smie-rule-separator: can't skip token %s"
1058 smie--token))))
1059 (skip-chars-forward " ")
1060 (unless (eolp) (point)))))
1061 (or (and afterpos
1062 ;; This should always be true, unless
1063 ;; smie-forward-token-function skipped a \n.
1064 (< afterpos (line-end-position))
1065 (- afterpos (point)))
1066 smie-rule-separator-outdent)))
1067
1068(defun smie-rule-separator (method)
1069 "Indent current token as a \"separator\".
1070By \"separator\", we mean here a token whose sole purpose is to separate
1071various elements within some enclosing syntactic construct, and which does
1072not have any semantic significance in itself (i.e. it would typically no exist
1073as a node in an abstract syntax tree).
1074Such a token is expected to have an associative syntax and be closely tied
1075to its syntactic parent. Typical examples are \",\" in lists of arguments
1076\(enclosed inside parentheses), or \";\" in sequences of instructions (enclosed
1077in a {..} or begin..end block).
1078METHOD should be the method name that was passed to `smie-rules-function'.
1079Only meaningful when called from within `smie-rules-function'."
1080 ;; FIXME: The code below works OK for cases where the separators
1081 ;; are placed consistently always at beginning or always at the end,
1082 ;; but not if some are at the beginning and others are at the end.
1083 ;; I.e. it gets confused in cases such as:
1084 ;; ( a
1085 ;; , a,
1086 ;; b
1087 ;; , c,
1088 ;; d
1089 ;; )
1090 ;;
1091 ;; Assuming token is associative, the default rule for associative
1092 ;; tokens (which assumes an infix operator) works fine for many cases.
1093 ;; We mostly need to take care of the case where token is at beginning of
1094 ;; line, in which case we want to align it with its enclosing parent.
1095 (cond
1096 ((and (eq method :before) (smie-rule-bolp) (not (smie-rule-sibling-p)))
1097 ;; FIXME: Rather than consult the number of spaces, we could *set* the
1098 ;; number of spaces so as to align the separator with the close-paren
1099 ;; while aligning the content with the rest.
1100 (let ((parent-col (cdr (smie-rule-parent)))
1101 (parent-pos-col ;FIXME: we knew this when computing smie--parent.
1102 (save-excursion
1103 (goto-char (cadr smie--parent))
1104 (smie-indent-forward-token)
1105 (forward-comment (point-max))
1106 (current-column))))
1107 (cons 'column
1108 (max parent-col
1109 (min parent-pos-col
1110 (- parent-pos-col (smie-indent--separator-outdent)))))))
1111 ((and (eq method :after) (smie-indent--bolp))
1112 (smie-indent--separator-outdent))))
1113
1114(defun smie-indent--offset (elem)
1115 (or (funcall smie-rules-function :elem elem)
1116 (if (not (eq elem 'basic))
1117 (funcall smie-rules-function :elem 'basic))
1118 smie-indent-basic))
1119
1120(defun smie-indent--rule (method token
1121 ;; FIXME: Too many parameters.
1122 &optional after parent base-pos)
1123 "Compute indentation column according to `indent-rule-functions'.
1124METHOD and TOKEN are passed to `indent-rule-functions'.
1125AFTER is the position after TOKEN, if known.
1126PARENT is the parent info returned by `smie-backward-sexp', if known.
1127BASE-POS is the position relative to which offsets should be applied."
1128 ;; This is currently called in 3 cases:
1129 ;; - :before opener, where rest=nil but base-pos could as well be parent.
1130 ;; - :before other, where
1131 ;; ; after=nil
1132 ;; ; parent is set
1133 ;; ; base-pos=parent
1134 ;; - :after tok, where
1135 ;; ; after is set; parent=nil; base-pos=point;
1136 (save-excursion
1137 (let ((offset
1138 (let ((smie--parent parent)
1139 (smie--token token)
1140 (smie--after after))
1141 (funcall smie-rules-function method token))))
1142 (cond
1143 ((not offset) nil)
1144 ((eq (car-safe offset) 'column) (cdr offset))
1145 ((integerp offset)
1146 (+ offset
1147 (if (null base-pos) 0
1148 (goto-char base-pos)
1149 ;; Use smie-indent-virtual when indenting relative to an opener:
1150 ;; this will also by default use current-column unless
1151 ;; that opener is hanging, but will additionally consult
1152 ;; rules-function, so it gives it a chance to tweak indentation
1153 ;; (e.g. by forcing indentation relative to its own parent, as in
1154 ;; fn a => fn b => fn c =>).
1155 ;; When parent==nil it doesn't matter because the only case
1156 ;; where it's really used is when the base-pos is hanging anyway.
1157 (if (or (and parent (null (car parent)))
1158 (smie-indent--hanging-p))
1159 (smie-indent-virtual) (current-column)))))
1160 (t (error "Unknown indentation offset %s" offset))))))
1161
1162(defun smie-indent-forward-token ()
1163 "Skip token forward and return it, along with its levels."
1164 (let ((tok (funcall smie-forward-token-function)))
1165 (cond
1166 ((< 0 (length tok)) (assoc tok smie-grammar))
1167 ((looking-at "\\s(\\|\\s)\\(\\)")
1168 (forward-char 1)
1169 (cons (buffer-substring (1- (point)) (point))
1170 (if (match-end 1) '(0 nil) '(nil 0)))))))
1171
1172(defun smie-indent-backward-token ()
1173 "Skip token backward and return it, along with its levels."
1174 (let ((tok (funcall smie-backward-token-function))
1175 class)
1176 (cond
1177 ((< 0 (length tok)) (assoc tok smie-grammar))
1178 ;; 4 == open paren syntax, 5 == close.
1179 ((memq (setq class (syntax-class (syntax-after (1- (point))))) '(4 5))
1180 (forward-char -1)
1181 (cons (buffer-substring (point) (1+ (point)))
1182 (if (eq class 4) '(nil 0) '(0 nil)))))))
1183
1184(defun smie-indent-virtual ()
1185 ;; We used to take an optional arg (with value :not-hanging) to specify that
1186 ;; we should only use (smie-indent-calculate) if we're looking at a hanging
1187 ;; keyword. This was a bad idea, because the virtual indent of a position
1188 ;; should not depend on the caller, since it leads to situations where two
1189 ;; dependent indentations get indented differently.
1190 "Compute the virtual indentation to use for point.
1191This is used when we're not trying to indent point but just
1192need to compute the column at which point should be indented
1193in order to figure out the indentation of some other (further down) point."
1194 ;; Trust pre-existing indentation on other lines.
1195 (if (smie-indent--bolp) (current-column) (smie-indent-calculate)))
1196
1197(defun smie-indent-fixindent ()
1198 ;; Obey the `fixindent' special comment.
1199 (and (smie-indent--bolp)
1200 (save-excursion
1201 (comment-normalize-vars)
1202 (re-search-forward (concat comment-start-skip
1203 "fixindent"
1204 comment-end-skip)
1205 ;; 1+ to account for the \n comment termination.
1206 (1+ (line-end-position)) t))
1207 (current-column)))
1208
1209(defun smie-indent-bob ()
1210 ;; Start the file at column 0.
1211 (save-excursion
1212 (forward-comment (- (point)))
1213 (if (bobp) 0)))
1214
1215(defun smie-indent-close ()
1216 ;; Align close paren with opening paren.
1217 (save-excursion
1218 ;; (forward-comment (point-max))
1219 (when (looking-at "\\s)")
1220 (while (not (zerop (skip-syntax-forward ")")))
1221 (skip-chars-forward " \t"))
1222 (condition-case nil
1223 (progn
1224 (backward-sexp 1)
1225 (smie-indent-virtual)) ;:not-hanging
1226 (scan-error nil)))))
1227
1228(defun smie-indent-keyword ()
1229 ;; Align closing token with the corresponding opening one.
1230 ;; (e.g. "of" with "case", or "in" with "let").
1231 (save-excursion
1232 (let* ((pos (point))
1233 (toklevels (smie-indent-forward-token))
1234 (token (pop toklevels)))
1235 (cond
1236 ((< pos (line-beginning-position))
1237 ;; The token we just read is actually not on the line where we started.
1238 nil)
1239 ((not (numberp (car toklevels)))
1240 (save-excursion
1241 (goto-char pos)
1242 ;; Different cases:
1243 ;; - smie-indent--bolp: "indent according to others".
1244 ;; - common hanging: "indent according to others".
1245 ;; - SML-let hanging: "indent like parent".
1246 ;; - if-after-else: "indent-like parent".
1247 ;; - middle-of-line: "trust current position".
1248 (cond
1249 ((null (cdr toklevels)) nil) ;Not a keyword.
1250 ((smie-indent--rule :before token))
1251 ((smie-indent--bolp) ;I.e. non-virtual indent.
1252 ;; For an open-paren-like thingy at BOL, always indent only
1253 ;; based on other rules (typically smie-indent-after-keyword).
1254 nil)
1255 (t
1256 ;; By default use point unless we're hanging.
1257 (unless (smie-indent--hanging-p) (current-column))))))
1258 (t
1259 ;; FIXME: This still looks too much like black magic!!
1260 (let* ((parent (smie-backward-sexp 'halfsexp)))
1261 ;; Different behaviors:
1262 ;; - align with parent.
1263 ;; - parent + offset.
1264 ;; - after parent's column + offset (actually, after or before
1265 ;; depending on where backward-sexp stopped).
1266 ;; ? let it drop to some other indentation function (almost never).
1267 ;; ? parent + offset + parent's own offset.
1268 ;; Different cases:
1269 ;; - bump into a same-level operator.
1270 ;; - bump into a specific known parent.
1271 ;; - find a matching open-paren thingy.
1272 ;; - bump into some random parent.
1273 ;; ? borderline case (almost never).
1274 ;; ? bump immediately into a parent.
1275 (cond
1276 ((not (or (< (point) pos)
1277 (and (cadr parent) (< (cadr parent) pos))))
1278 ;; If we didn't move at all, that means we didn't really skip
1279 ;; what we wanted. Should almost never happen, other than
1280 ;; maybe when an infix or close-paren is at the beginning
1281 ;; of a buffer.
1282 nil)
1283 ((save-excursion
1284 (goto-char pos)
1285 (smie-indent--rule :before token nil parent (cadr parent))))
1286 ((eq (car parent) (car toklevels))
1287 ;; We bumped into a same-level operator; align with it.
1288 (if (and (smie-indent--bolp) (/= (point) pos)
1289 (save-excursion
1290 (goto-char (goto-char (cadr parent)))
1291 (not (smie-indent--bolp))))
1292 ;; If the parent is at EOL and its children are indented like
1293 ;; itself, then we can just obey the indentation chosen for the
1294 ;; child.
1295 ;; This is important for operators like ";" which
1296 ;; are usually at EOL (and have an offset of 0): otherwise we'd
1297 ;; always go back over all the statements, which is
1298 ;; a performance problem and would also mean that fixindents
1299 ;; in the middle of such a sequence would be ignored.
1300 ;;
1301 ;; This is a delicate point!
1302 ;; Even if the offset is not 0, we could follow the same logic
1303 ;; and subtract the offset from the child's indentation.
1304 ;; But that would more often be a bad idea: OT1H we generally
1305 ;; want to reuse the closest similar indentation point, so that
1306 ;; the user's choice (or the fixindents) are obeyed. But OTOH
1307 ;; we don't want this to affect "unrelated" parts of the code.
1308 ;; E.g. a fixindent in the body of a "begin..end" should not
1309 ;; affect the indentation of the "end".
1310 (current-column)
1311 (goto-char (cadr parent))
1312 ;; Don't use (smie-indent-virtual :not-hanging) here, because we
1313 ;; want to jump back over a sequence of same-level ops such as
1314 ;; a -> b -> c
1315 ;; -> d
1316 ;; So as to align with the earliest appropriate place.
1317 (smie-indent-virtual)))
1318 (t
1319 (if (and (= (point) pos) (smie-indent--bolp))
1320 ;; Since we started at BOL, we're not computing a virtual
1321 ;; indentation, and we're still at the starting point, so
1322 ;; we can't use `current-column' which would cause
1323 ;; indentation to depend on itself and we can't use
1324 ;; smie-indent-virtual since that would be an inf-loop.
1325 nil
1326 ;; In indent-keyword, if we're indenting `then' wrt `if', we
1327 ;; want to use indent-virtual rather than use just
1328 ;; current-column, so that we can apply the (:before . "if")
1329 ;; rule which does the "else if" dance in SML. But in other
1330 ;; cases, we do not want to use indent-virtual (e.g. indentation
1331 ;; of "*" w.r.t "+", or ";" wrt "("). We could just always use
1332 ;; indent-virtual and then have indent-rules say explicitly to
1333 ;; use `point' after things like "(" or "+" when they're not at
1334 ;; EOL, but you'd end up with lots of those rules.
1335 ;; So we use a heuristic here, which is that we only use virtual
1336 ;; if the parent is tightly linked to the child token (they're
1337 ;; part of the same BNF rule).
1338 (if (car parent) (current-column) (smie-indent-virtual)))))))))))
1339
1340(defun smie-indent-comment ()
1341 "Compute indentation of a comment."
1342 ;; Don't do it for virtual indentations. We should normally never be "in
1343 ;; front of a comment" when doing virtual-indentation anyway. And if we are
1344 ;; (as can happen in octave-mode), moving forward can lead to inf-loops.
1345 (and (smie-indent--bolp)
1346 (let ((pos (point)))
1347 (save-excursion
1348 (beginning-of-line)
1349 (and (re-search-forward comment-start-skip (line-end-position) t)
1350 (eq pos (or (match-end 1) (match-beginning 0))))))
1351 (save-excursion
1352 (forward-comment (point-max))
1353 (skip-chars-forward " \t\r\n")
1354 (smie-indent-calculate))))
1355
1356(defun smie-indent-comment-continue ()
1357 ;; indentation of comment-continue lines.
1358 (let ((continue (and comment-continue
1359 (comment-string-strip comment-continue t t))))
1360 (and (< 0 (length continue))
1361 (looking-at (regexp-quote continue)) (nth 4 (syntax-ppss))
1362 (let ((ppss (syntax-ppss)))
1363 (save-excursion
1364 (forward-line -1)
1365 (if (<= (point) (nth 8 ppss))
1366 (progn (goto-char (1+ (nth 8 ppss))) (current-column))
1367 (skip-chars-forward " \t")
1368 (if (looking-at (regexp-quote continue))
1369 (current-column))))))))
1370
1371(defun smie-indent-comment-close ()
1372 (and (boundp 'comment-end-skip)
1373 comment-end-skip
1374 (not (looking-at " \t*$")) ;Not just a \n comment-closer.
1375 (looking-at comment-end-skip)
1376 (let ((end (match-string 0)))
1377 (and (nth 4 (syntax-ppss))
1378 (save-excursion
1379 (goto-char (nth 8 (syntax-ppss)))
1380 (and (looking-at comment-start-skip)
1381 (let ((start (match-string 0)))
1382 ;; Align the common substring between starter
1383 ;; and ender, if possible.
1384 (if (string-match "\\(.+\\).*\n\\(.*?\\)\\1"
1385 (concat start "\n" end))
1386 (+ (current-column) (match-beginning 0)
1387 (- (match-beginning 2) (match-end 2)))
1388 (current-column)))))))))
1389
1390(defun smie-indent-comment-inside ()
1391 (and (nth 4 (syntax-ppss))
1392 'noindent))
1393
1394(defun smie-indent-after-keyword ()
1395 ;; Indentation right after a special keyword.
1396 (save-excursion
1397 (let* ((pos (point))
1398 (toklevel (smie-indent-backward-token))
1399 (tok (car toklevel)))
1400 (cond
1401 ((null toklevel) nil)
1402 ((smie-indent--rule :after tok pos nil (point)))
1403 ;; The default indentation after a keyword/operator is
1404 ;; 0 for infix, t for prefix, and use another rule
1405 ;; for postfix.
1406 ((not (numberp (nth 2 toklevel))) nil) ;A closer.
1407 ((or (not (numberp (nth 1 toklevel))) ;An opener.
1408 (rassoc tok smie-closer-alist)) ;An inner.
1409 (+ (smie-indent-virtual) (smie-indent--offset 'basic))) ;
1410 (t (smie-indent-virtual)))))) ;An infix.
1411
1412(defun smie-indent-exps ()
1413 ;; Indentation of sequences of simple expressions without
1414 ;; intervening keywords or operators. E.g. "a b c" or "g (balbla) f".
1415 ;; Can be a list of expressions or a function call.
1416 ;; If it's a function call, the first element is special (it's the
1417 ;; function). We distinguish function calls from mere lists of
1418 ;; expressions based on whether the preceding token is listed in
1419 ;; the `list-intro' entry of smie-indent-rules.
1420 ;;
1421 ;; TODO: to indent Lisp code, we should add a way to specify
1422 ;; particular indentation for particular args depending on the
1423 ;; function (which would require always skipping back until the
1424 ;; function).
1425 ;; TODO: to indent C code, such as "if (...) {...}" we might need
1426 ;; to add similar indentation hooks for particular positions, but
1427 ;; based on the preceding token rather than based on the first exp.
1428 (save-excursion
1429 (let ((positions nil)
1430 arg)
1431 (while (and (null (car (smie-backward-sexp)))
1432 (push (point) positions)
1433 (not (smie-indent--bolp))))
1434 (save-excursion
1435 ;; Figure out if the atom we just skipped is an argument rather
1436 ;; than a function.
1437 (setq arg
1438 (or (null (car (smie-backward-sexp)))
1439 (funcall smie-rules-function :list-intro
1440 (funcall smie-backward-token-function)))))
1441 (cond
1442 ((null positions)
1443 ;; We're the first expression of the list. In that case, the
1444 ;; indentation should be (have been) determined by its context.
1445 nil)
1446 (arg
1447 ;; There's a previous element, and it's not special (it's not
1448 ;; the function), so let's just align with that one.
1449 (goto-char (car positions))
1450 (current-column))
1451 ((cdr positions)
1452 ;; We skipped some args plus the function and bumped into something.
1453 ;; Align with the first arg.
1454 (goto-char (cadr positions))
1455 (current-column))
1456 (positions
1457 ;; We're the first arg.
1458 (goto-char (car positions))
1459 (+ (smie-indent--offset 'args)
1460 ;; We used to use (smie-indent-virtual), but that
1461 ;; doesn't seem right since it might then indent args less than
1462 ;; the function itself.
1463 (current-column)))))))
1464
1465(defvar smie-indent-functions
1466 '(smie-indent-fixindent smie-indent-bob smie-indent-close
1467 smie-indent-comment smie-indent-comment-continue smie-indent-comment-close
1468 smie-indent-comment-inside smie-indent-keyword smie-indent-after-keyword
1469 smie-indent-exps)
1470 "Functions to compute the indentation.
1471Each function is called with no argument, shouldn't move point, and should
1472return either nil if it has no opinion, or an integer representing the column
1473to which that point should be aligned, if we were to reindent it.")
1474
1475(defun smie-indent-calculate ()
1476 "Compute the indentation to use for point."
1477 (run-hook-with-args-until-success 'smie-indent-functions))
1478
1479(defun smie-indent-line ()
1480 "Indent current line using the SMIE indentation engine."
1481 (interactive)
1482 (let* ((savep (point))
1483 (indent (or (with-demoted-errors
1484 (save-excursion
1485 (forward-line 0)
1486 (skip-chars-forward " \t")
1487 (if (>= (point) savep) (setq savep nil))
1488 (or (smie-indent-calculate) 0)))
1489 0)))
1490 (if (not (numberp indent))
1491 ;; If something funny is used (e.g. `noindent'), return it.
1492 indent
1493 (if (< indent 0) (setq indent 0)) ;Just in case.
1494 (if savep
1495 (save-excursion (indent-line-to indent))
1496 (indent-line-to indent)))))
1497
1498(defun smie-setup (grammar rules-function &rest keywords)
1499 "Setup SMIE navigation and indentation.
1500GRAMMAR is a grammar table generated by `smie-prec2->grammar'.
1501RULES-FUNCTION is a set of indentation rules for use on `smie-rules-function'.
1502KEYWORDS are additional arguments, which can use the following keywords:
1503- :forward-token FUN
1504- :backward-token FUN"
1505 (set (make-local-variable 'smie-rules-function) rules-function)
1506 (set (make-local-variable 'smie-grammar) grammar)
1507 (set (make-local-variable 'indent-line-function) 'smie-indent-line)
1508 (set (make-local-variable 'forward-sexp-function)
1509 'smie-forward-sexp-command)
1510 (while keywords
1511 (let ((k (pop keywords))
1512 (v (pop keywords)))
1513 (case k
1514 (:forward-token
1515 (set (make-local-variable 'smie-forward-token-function) v))
1516 (:backward-token
1517 (set (make-local-variable 'smie-backward-token-function) v))
1518 (t (message "smie-setup: ignoring unknown keyword %s" k)))))
1519 (let ((ca (cdr (assq :smie-closer-alist grammar))))
1520 (when ca
1521 (set (make-local-variable 'smie-closer-alist) ca)
1522 ;; Only needed for interactive calls to blink-matching-open.
1523 (set (make-local-variable 'blink-matching-check-function)
1524 #'smie-blink-matching-check)
1525 (add-hook 'post-self-insert-hook
1526 #'smie-blink-matching-open 'append 'local)
1527 (set (make-local-variable 'smie-blink-matching-triggers)
1528 (append smie-blink-matching-triggers
1529 ;; Rather than wait for SPC to blink, try to blink as
1530 ;; soon as we type the last char of a block ender.
1531 (let ((closers (sort (mapcar #'cdr smie-closer-alist)
1532 #'string-lessp))
1533 (triggers ())
1534 closer)
1535 (while (setq closer (pop closers))
1536 (unless (and closers
1537 ;; FIXME: this eliminates prefixes of other
1538 ;; closers, but we should probably elimnate
1539 ;; prefixes of other keywords as well.
1540 (string-prefix-p closer (car closers)))
1541 (push (aref closer (1- (length closer))) triggers)))
1542 (delete-dups triggers)))))))
1543
1544
1545(provide 'smie)
1546;;; smie.el ends here
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index 4568b598a3b..6eacc035552 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,10 @@
12010-10-23 Julien Danjou <julien@danjou.info>
2
3 * erc-backend.el (erc-server-JOIN): Set the correct target list on join.
4
5 * erc-backend.el (erc-process-sentinel): Check that buffer is alive
6 before setting it as current buffer.
7
12010-10-12 Juanma Barranquero <lekktu@gmail.com> 82010-10-12 Juanma Barranquero <lekktu@gmail.com>
2 9
3 * erc-xdcc.el (erc-xdcc-help-text): Fix typo in docstring. 10 * erc-xdcc.el (erc-xdcc-help-text): Fix typo in docstring.
diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el
index 8b533b4c255..f9c74a7af3e 100644
--- a/lisp/erc/erc-backend.el
+++ b/lisp/erc/erc-backend.el
@@ -652,30 +652,31 @@ Conditionally try to reconnect and take appropriate action."
652 652
653(defun erc-process-sentinel (cproc event) 653(defun erc-process-sentinel (cproc event)
654 "Sentinel function for ERC process." 654 "Sentinel function for ERC process."
655 (with-current-buffer (process-buffer cproc) 655 (let ((buf (process-buffer cproc)))
656 (erc-log (format 656 (when (buffer-live-p buf)
657 "SENTINEL: proc: %S status: %S event: %S (quitting: %S)" 657 (with-current-buffer buf
658 cproc (process-status cproc) event erc-server-quitting)) 658 (erc-log (format
659 (if (string-match "^open" event) 659 "SENTINEL: proc: %S status: %S event: %S (quitting: %S)"
660 ;; newly opened connection (no wait) 660 cproc (process-status cproc) event erc-server-quitting))
661 (erc-login) 661 (if (string-match "^open" event)
662 ;; assume event is 'failed 662 ;; newly opened connection (no wait)
663 (let ((buf (process-buffer cproc))) 663 (erc-login)
664 (erc-with-all-buffers-of-server cproc nil 664 ;; assume event is 'failed
665 (setq erc-server-connected nil)) 665 (erc-with-all-buffers-of-server cproc nil
666 (when erc-server-ping-handler 666 (setq erc-server-connected nil))
667 (progn (erc-cancel-timer erc-server-ping-handler) 667 (when erc-server-ping-handler
668 (setq erc-server-ping-handler nil))) 668 (progn (erc-cancel-timer erc-server-ping-handler)
669 (run-hook-with-args 'erc-disconnected-hook 669 (setq erc-server-ping-handler nil)))
670 (erc-current-nick) (system-name) "") 670 (run-hook-with-args 'erc-disconnected-hook
671 ;; Remove the prompt 671 (erc-current-nick) (system-name) "")
672 (goto-char (or (marker-position erc-input-marker) (point-max))) 672 ;; Remove the prompt
673 (forward-line 0) 673 (goto-char (or (marker-position erc-input-marker) (point-max)))
674 (erc-remove-text-properties-region (point) (point-max)) 674 (forward-line 0)
675 (delete-region (point) (point-max)) 675 (erc-remove-text-properties-region (point) (point-max))
676 ;; Decide what to do with the buffer 676 (delete-region (point) (point-max))
677 ;; Restart if disconnected 677 ;; Decide what to do with the buffer
678 (erc-process-sentinel-1 event buf))))) 678 ;; Restart if disconnected
679 (erc-process-sentinel-1 event buf))))))
679 680
680;;;; Sending messages 681;;;; Sending messages
681 682
@@ -1194,7 +1195,7 @@ add things to `%s' instead."
1194 (setq buffer (erc-open erc-session-server erc-session-port 1195 (setq buffer (erc-open erc-session-server erc-session-port
1195 nick erc-session-user-full-name 1196 nick erc-session-user-full-name
1196 nil nil 1197 nil nil
1197 erc-default-recipients chnl 1198 (list chnl) chnl
1198 erc-server-process)) 1199 erc-server-process))
1199 (when buffer 1200 (when buffer
1200 (set-buffer buffer) 1201 (set-buffer buffer)
diff --git a/lisp/files.el b/lisp/files.el
index 02f5f8fdacf..4901c3872cd 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -123,6 +123,7 @@ the default for a new file created there by you.
123This variable is relevant only if `backup-by-copying' is nil." 123This variable is relevant only if `backup-by-copying' is nil."
124 :type 'boolean 124 :type 'boolean
125 :group 'backup) 125 :group 'backup)
126(put 'backup-by-copying-when-mismatch 'permanent-local t)
126 127
127(defcustom backup-by-copying-when-privileged-mismatch 200 128(defcustom backup-by-copying-when-privileged-mismatch 200
128 "Non-nil means create backups by copying to preserve a privileged owner. 129 "Non-nil means create backups by copying to preserve a privileged owner.
@@ -3133,7 +3134,10 @@ It is safe if any of these conditions are met:
3133 evaluates to a non-nil value with VAL as an argument." 3134 evaluates to a non-nil value with VAL as an argument."
3134 (or (member (cons sym val) safe-local-variable-values) 3135 (or (member (cons sym val) safe-local-variable-values)
3135 (let ((safep (get sym 'safe-local-variable))) 3136 (let ((safep (get sym 'safe-local-variable)))
3136 (and (functionp safep) (funcall safep val))))) 3137 (and (functionp safep)
3138 ;; If the function signals an error, that means it
3139 ;; can't assure us that the value is safe.
3140 (with-demoted-errors (funcall safep val))))))
3137 3141
3138(defun risky-local-variable-p (sym &optional ignored) 3142(defun risky-local-variable-p (sym &optional ignored)
3139 "Non-nil if SYM could be dangerous as a file-local variable. 3143 "Non-nil if SYM could be dangerous as a file-local variable.
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index e6024b3e95e..7350cf97f50 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,8 @@
12010-11-19 Yuri Karaban <tech@askold.net> (tiny change)
2
3 * pop3.el (pop3-open-server): Read server greeting before starting TLS
4 negotiation.
5
12010-10-12 Juanma Barranquero <lekktu@gmail.com> 62010-10-12 Juanma Barranquero <lekktu@gmail.com>
2 7
3 * nnmail.el (nnmail-fancy-expiry-targets): Fix typo in docstring. 8 * nnmail.el (nnmail-fancy-expiry-targets): Fix typo in docstring.
diff --git a/lisp/gnus/ChangeLog.2 b/lisp/gnus/ChangeLog.2
index cdfc53c979c..78bc7d4acdc 100644
--- a/lisp/gnus/ChangeLog.2
+++ b/lisp/gnus/ChangeLog.2
@@ -3828,8 +3828,7 @@
3828 that Gnus will render it as html if the user wants that. 3828 that Gnus will render it as html if the user wants that.
3829 3829
3830 Implemented the ability to save nnrss-group-alist so that any new 3830 Implemented the ability to save nnrss-group-alist so that any new
3831 feeds the you subscribe to will be found the next time you start 3831 feeds you subscribe to will be found the next time you start up.
3832 up.
3833 3832
3834 Implemented support for RSS 2.0 elements (author, pubDate). 3833 Implemented support for RSS 2.0 elements (author, pubDate).
3835 3834
diff --git a/lisp/gnus/pop3.el b/lisp/gnus/pop3.el
index b3012b4b198..b445b8979ea 100644
--- a/lisp/gnus/pop3.el
+++ b/lisp/gnus/pop3.el
@@ -259,21 +259,22 @@ Returns the process associated with the connection."
259 ;; gnutls-cli, openssl don't accept service names 259 ;; gnutls-cli, openssl don't accept service names
260 (if (equal port "pop3") 260 (if (equal port "pop3")
261 (setq port 110)) 261 (setq port 110))
262 (let ((process (starttls-open-stream "POP" (current-buffer) 262 ;; Delay STLS until server greeting is read (Bug#7438).
263 mailhost (or port 110)))) 263 (starttls-open-stream "POP" (current-buffer)
264 (pop3-send-command process "STLS") 264 mailhost (or port 110)))
265 (let ((response (pop3-read-response process t))) 265 (t
266 (if (and response (string-match "+OK" response))
267 (starttls-negotiate process)
268 (pop3-quit process)
269 (error "POP server doesn't support starttls")))
270 process))
271 (t
272 (open-network-stream "POP" (current-buffer) mailhost port)))) 266 (open-network-stream "POP" (current-buffer) mailhost port))))
273 (let ((response (pop3-read-response process t))) 267 (let ((response (pop3-read-response process t)))
274 (setq pop3-timestamp 268 (setq pop3-timestamp
275 (substring response (or (string-match "<" response) 0) 269 (substring response (or (string-match "<" response) 0)
276 (+ 1 (or (string-match ">" response) -1))))) 270 (+ 1 (or (string-match ">" response) -1)))))
271 (when (eq pop3-stream-type 'starttls)
272 (pop3-send-command process "STLS")
273 (let ((response (pop3-read-response process t)))
274 (if (and response (string-match "+OK" response))
275 (starttls-negotiate process)
276 (pop3-quit process)
277 (error "POP server doesn't support starttls"))))
277 process))) 278 process)))
278 279
279;; Support functions 280;; Support functions
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 871bab20013..049a3fcc1cb 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -2034,10 +2034,11 @@ See `set-language-info-alist' for use in programs."
2034 "Do various unibyte-mode setups for language environment LANGUAGE-NAME." 2034 "Do various unibyte-mode setups for language environment LANGUAGE-NAME."
2035 (set-display-table-and-terminal-coding-system language-name)) 2035 (set-display-table-and-terminal-coding-system language-name))
2036 2036
2037(defsubst princ-list (&rest args) 2037(defun princ-list (&rest args)
2038 "Print all arguments with `princ', then print \"\\n\"." 2038 "Print all arguments with `princ', then print \"\\n\"."
2039 (while args (princ (car args)) (setq args (cdr args))) 2039 (while args (princ (car args)) (setq args (cdr args)))
2040 (princ "\n")) 2040 (princ "\n"))
2041(make-obsolete 'princ-list "use mapc and princ instead" "23.3")
2041 2042
2042(put 'describe-specified-language-support 'apropos-inhibit t) 2043(put 'describe-specified-language-support 'apropos-inhibit t)
2043 2044
diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el
index 8afe722bd2a..4a47f95b7fc 100644
--- a/lisp/ldefs-boot.el
+++ b/lisp/ldefs-boot.el
@@ -5,7 +5,7 @@
5 5
6;;;### (autoloads (5x5-crack 5x5-crack-xor-mutate 5x5-crack-mutating-best 6;;;### (autoloads (5x5-crack 5x5-crack-xor-mutate 5x5-crack-mutating-best
7;;;;;; 5x5-crack-mutating-current 5x5-crack-randomly 5x5) "5x5" 7;;;;;; 5x5-crack-mutating-current 5x5-crack-randomly 5x5) "5x5"
8;;;;;; "play/5x5.el" (19383 49278)) 8;;;;;; "play/5x5.el" (19636 58496))
9;;; Generated autoloads from play/5x5.el 9;;; Generated autoloads from play/5x5.el
10 10
11(autoload '5x5 "5x5" "\ 11(autoload '5x5 "5x5" "\
@@ -65,7 +65,7 @@ should return a grid vector array that is the new solution.
65;;;*** 65;;;***
66 66
67;;;### (autoloads (list-one-abbrev-table) "abbrevlist" "abbrevlist.el" 67;;;### (autoloads (list-one-abbrev-table) "abbrevlist" "abbrevlist.el"
68;;;;;; (19383 49278)) 68;;;;;; (19636 58496))
69;;; Generated autoloads from abbrevlist.el 69;;; Generated autoloads from abbrevlist.el
70 70
71(autoload 'list-one-abbrev-table "abbrevlist" "\ 71(autoload 'list-one-abbrev-table "abbrevlist" "\
@@ -76,7 +76,7 @@ Display alphabetical listing of ABBREV-TABLE in buffer OUTPUT-BUFFER.
76;;;*** 76;;;***
77 77
78;;;### (autoloads (ada-mode ada-add-extensions) "ada-mode" "progmodes/ada-mode.el" 78;;;### (autoloads (ada-mode ada-add-extensions) "ada-mode" "progmodes/ada-mode.el"
79;;;;;; (19383 49276)) 79;;;;;; (19636 58496))
80;;; Generated autoloads from progmodes/ada-mode.el 80;;; Generated autoloads from progmodes/ada-mode.el
81 81
82(autoload 'ada-add-extensions "ada-mode" "\ 82(autoload 'ada-add-extensions "ada-mode" "\
@@ -96,7 +96,7 @@ Ada mode is the major mode for editing Ada code.
96;;;*** 96;;;***
97 97
98;;;### (autoloads (ada-header) "ada-stmt" "progmodes/ada-stmt.el" 98;;;### (autoloads (ada-header) "ada-stmt" "progmodes/ada-stmt.el"
99;;;;;; (19383 49278)) 99;;;;;; (19636 58496))
100;;; Generated autoloads from progmodes/ada-stmt.el 100;;; Generated autoloads from progmodes/ada-stmt.el
101 101
102(autoload 'ada-header "ada-stmt" "\ 102(autoload 'ada-header "ada-stmt" "\
@@ -107,7 +107,7 @@ Insert a descriptive header at the top of the file.
107;;;*** 107;;;***
108 108
109;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el" 109;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el"
110;;;;;; (19383 49278)) 110;;;;;; (19636 58496))
111;;; Generated autoloads from progmodes/ada-xref.el 111;;; Generated autoloads from progmodes/ada-xref.el
112 112
113(autoload 'ada-find-file "ada-xref" "\ 113(autoload 'ada-find-file "ada-xref" "\
@@ -121,8 +121,8 @@ Completion is available.
121;;;### (autoloads (change-log-merge add-log-current-defun change-log-mode 121;;;### (autoloads (change-log-merge add-log-current-defun change-log-mode
122;;;;;; add-change-log-entry-other-window add-change-log-entry find-change-log 122;;;;;; add-change-log-entry-other-window add-change-log-entry find-change-log
123;;;;;; prompt-for-change-log-name add-log-mailing-address add-log-full-name 123;;;;;; prompt-for-change-log-name add-log-mailing-address add-log-full-name
124;;;;;; add-log-current-defun-function) "add-log" "add-log.el" (19383 124;;;;;; add-log-current-defun-function) "add-log" "add-log.el" (19658
125;;;;;; 49278)) 125;;;;;; 61388))
126;;; Generated autoloads from add-log.el 126;;; Generated autoloads from add-log.el
127 127
128(put 'change-log-default-name 'safe-local-variable 'string-or-null-p) 128(put 'change-log-default-name 'safe-local-variable 'string-or-null-p)
@@ -261,7 +261,7 @@ old-style time formats for entries are supported.
261 261
262;;;### (autoloads (defadvice ad-activate ad-add-advice ad-disable-advice 262;;;### (autoloads (defadvice ad-activate ad-add-advice ad-disable-advice
263;;;;;; ad-enable-advice ad-default-compilation-action ad-redefinition-action) 263;;;;;; ad-enable-advice ad-default-compilation-action ad-redefinition-action)
264;;;;;; "advice" "emacs-lisp/advice.el" (19383 49276)) 264;;;;;; "advice" "emacs-lisp/advice.el" (19636 58496))
265;;; Generated autoloads from emacs-lisp/advice.el 265;;; Generated autoloads from emacs-lisp/advice.el
266 266
267(defvar ad-redefinition-action 'warn "\ 267(defvar ad-redefinition-action 'warn "\
@@ -404,7 +404,7 @@ usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...)
404 404
405;;;### (autoloads (align-newline-and-indent align-unhighlight-rule 405;;;### (autoloads (align-newline-and-indent align-unhighlight-rule
406;;;;;; align-highlight-rule align-current align-entire align-regexp 406;;;;;; align-highlight-rule align-current align-entire align-regexp
407;;;;;; align) "align" "align.el" (19383 49278)) 407;;;;;; align) "align" "align.el" (19636 58496))
408;;; Generated autoloads from align.el 408;;; Generated autoloads from align.el
409 409
410(autoload 'align "align" "\ 410(autoload 'align "align" "\
@@ -447,7 +447,7 @@ align them so that the opening parentheses would line up:
447 Joe (123) 456-7890 447 Joe (123) 456-7890
448 448
449There is no predefined rule to handle this, but you could easily do it 449There is no predefined rule to handle this, but you could easily do it
450using a REGEXP like \"(\". All you would have to do is to mark the 450using a REGEXP like \"(\". All you would have to do is to mark the
451region, call `align-regexp' and type in that regular expression. 451region, call `align-regexp' and type in that regular expression.
452 452
453\(fn BEG END REGEXP &optional GROUP SPACING REPEAT)" t nil) 453\(fn BEG END REGEXP &optional GROUP SPACING REPEAT)" t nil)
@@ -494,7 +494,7 @@ A replacement function for `newline-and-indent', aligning as it goes.
494;;;*** 494;;;***
495 495
496;;;### (autoloads (outlineify-sticky allout-mode) "allout" "allout.el" 496;;;### (autoloads (outlineify-sticky allout-mode) "allout" "allout.el"
497;;;;;; (19383 49278)) 497;;;;;; (19636 58496))
498;;; Generated autoloads from allout.el 498;;; Generated autoloads from allout.el
499 499
500(put 'allout-use-hanging-indents 'safe-local-variable (if (fboundp 'booleanp) 'booleanp '(lambda (x) (member x '(t nil))))) 500(put 'allout-use-hanging-indents 'safe-local-variable (if (fboundp 'booleanp) 'booleanp '(lambda (x) (member x '(t nil)))))
@@ -801,7 +801,7 @@ setup for auto-startup.
801;;;*** 801;;;***
802 802
803;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp" 803;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp"
804;;;;;; "net/ange-ftp.el" (19383 49276)) 804;;;;;; "net/ange-ftp.el" (19636 58496))
805;;; Generated autoloads from net/ange-ftp.el 805;;; Generated autoloads from net/ange-ftp.el
806 806
807(defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir) 807(defalias 'ange-ftp-re-read-dir 'ange-ftp-reread-dir)
@@ -823,7 +823,7 @@ Not documented
823;;;*** 823;;;***
824 824
825;;;### (autoloads (animate-birthday-present animate-sequence animate-string) 825;;;### (autoloads (animate-birthday-present animate-sequence animate-string)
826;;;;;; "animate" "play/animate.el" (19383 49278)) 826;;;;;; "animate" "play/animate.el" (19636 58496))
827;;; Generated autoloads from play/animate.el 827;;; Generated autoloads from play/animate.el
828 828
829(autoload 'animate-string "animate" "\ 829(autoload 'animate-string "animate" "\
@@ -851,7 +851,7 @@ You can specify the one's name by NAME; the default value is \"Sarah\".
851;;;*** 851;;;***
852 852
853;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on) 853;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on)
854;;;;;; "ansi-color" "ansi-color.el" (19383 49278)) 854;;;;;; "ansi-color" "ansi-color.el" (19636 58496))
855;;; Generated autoloads from ansi-color.el 855;;; Generated autoloads from ansi-color.el
856 856
857(autoload 'ansi-color-for-comint-mode-on "ansi-color" "\ 857(autoload 'ansi-color-for-comint-mode-on "ansi-color" "\
@@ -860,12 +860,12 @@ Set `ansi-color-for-comint-mode' to t.
860\(fn)" t nil) 860\(fn)" t nil)
861 861
862(autoload 'ansi-color-process-output "ansi-color" "\ 862(autoload 'ansi-color-process-output "ansi-color" "\
863Maybe translate SGR control sequences of comint output into text-properties. 863Maybe translate SGR control sequences of comint output into text properties.
864 864
865Depending on variable `ansi-color-for-comint-mode' the comint output is 865Depending on variable `ansi-color-for-comint-mode' the comint output is
866either not processed, SGR control sequences are filtered using 866either not processed, SGR control sequences are filtered using
867`ansi-color-filter-region', or SGR control sequences are translated into 867`ansi-color-filter-region', or SGR control sequences are translated into
868text-properties using `ansi-color-apply-on-region'. 868text properties using `ansi-color-apply-on-region'.
869 869
870The comint output is assumed to lie between the marker 870The comint output is assumed to lie between the marker
871`comint-last-output-start' and the process-mark. 871`comint-last-output-start' and the process-mark.
@@ -877,7 +877,7 @@ This is a good function to put in `comint-output-filter-functions'.
877;;;*** 877;;;***
878 878
879;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules) 879;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules)
880;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (19383 49278)) 880;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (19636 58496))
881;;; Generated autoloads from progmodes/antlr-mode.el 881;;; Generated autoloads from progmodes/antlr-mode.el
882 882
883(autoload 'antlr-show-makefile-rules "antlr-mode" "\ 883(autoload 'antlr-show-makefile-rules "antlr-mode" "\
@@ -914,14 +914,17 @@ Used in `antlr-mode'. Also a useful function in `java-mode-hook'.
914;;;*** 914;;;***
915 915
916;;;### (autoloads (appt-activate appt-make-list appt-delete appt-add) 916;;;### (autoloads (appt-activate appt-make-list appt-delete appt-add)
917;;;;;; "appt" "calendar/appt.el" (19383 49278)) 917;;;;;; "appt" "calendar/appt.el" (19636 58496))
918;;; Generated autoloads from calendar/appt.el 918;;; Generated autoloads from calendar/appt.el
919 919
920(autoload 'appt-add "appt" "\ 920(autoload 'appt-add "appt" "\
921Add an appointment for today at NEW-APPT-TIME with message NEW-APPT-MSG. 921Add an appointment for today at TIME with message MSG.
922The time should be in either 24 hour format or am/pm format. 922The time should be in either 24 hour format or am/pm format.
923Optional argument WARNTIME is an integer (or string) giving the number
924of minutes before the appointment at which to start warning.
925The default is `appt-message-warning-time'.
923 926
924\(fn NEW-APPT-TIME NEW-APPT-MSG)" t nil) 927\(fn TIME MSG &optional WARNTIME)" t nil)
925 928
926(autoload 'appt-delete "appt" "\ 929(autoload 'appt-delete "appt" "\
927Delete an appointment from the list of appointments. 930Delete an appointment from the list of appointments.
@@ -954,7 +957,7 @@ ARG is positive, otherwise off.
954 957
955;;;### (autoloads (apropos-documentation apropos-value apropos-library 958;;;### (autoloads (apropos-documentation apropos-value apropos-library
956;;;;;; apropos apropos-documentation-property apropos-command apropos-variable 959;;;;;; apropos apropos-documentation-property apropos-command apropos-variable
957;;;;;; apropos-read-pattern) "apropos" "apropos.el" (19383 49278)) 960;;;;;; apropos-read-pattern) "apropos" "apropos.el" (19636 58496))
958;;; Generated autoloads from apropos.el 961;;; Generated autoloads from apropos.el
959 962
960(autoload 'apropos-read-pattern "apropos" "\ 963(autoload 'apropos-read-pattern "apropos" "\
@@ -1057,8 +1060,8 @@ Returns list of symbols and documentation found.
1057 1060
1058;;;*** 1061;;;***
1059 1062
1060;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (19383 1063;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (19636
1061;;;;;; 49276)) 1064;;;;;; 58496))
1062;;; Generated autoloads from arc-mode.el 1065;;; Generated autoloads from arc-mode.el
1063 1066
1064(autoload 'archive-mode "arc-mode" "\ 1067(autoload 'archive-mode "arc-mode" "\
@@ -1078,7 +1081,7 @@ archive.
1078 1081
1079;;;*** 1082;;;***
1080 1083
1081;;;### (autoloads (array-mode) "array" "array.el" (19383 49278)) 1084;;;### (autoloads (array-mode) "array" "array.el" (19636 58496))
1082;;; Generated autoloads from array.el 1085;;; Generated autoloads from array.el
1083 1086
1084(autoload 'array-mode "array" "\ 1087(autoload 'array-mode "array" "\
@@ -1149,8 +1152,8 @@ Entering array mode calls the function `array-mode-hook'.
1149 1152
1150;;;*** 1153;;;***
1151 1154
1152;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (19383 1155;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (19636
1153;;;;;; 49276)) 1156;;;;;; 58496))
1154;;; Generated autoloads from textmodes/artist.el 1157;;; Generated autoloads from textmodes/artist.el
1155 1158
1156(autoload 'artist-mode "artist" "\ 1159(autoload 'artist-mode "artist" "\
@@ -1356,8 +1359,8 @@ Keymap summary
1356 1359
1357;;;*** 1360;;;***
1358 1361
1359;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (19383 1362;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (19636
1360;;;;;; 49278)) 1363;;;;;; 58496))
1361;;; Generated autoloads from progmodes/asm-mode.el 1364;;; Generated autoloads from progmodes/asm-mode.el
1362 1365
1363(autoload 'asm-mode "asm-mode" "\ 1366(autoload 'asm-mode "asm-mode" "\
@@ -1385,7 +1388,7 @@ Special commands:
1385;;;*** 1388;;;***
1386 1389
1387;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el" 1390;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el"
1388;;;;;; (19383 49278)) 1391;;;;;; (19636 58496))
1389;;; Generated autoloads from autoarg.el 1392;;; Generated autoloads from autoarg.el
1390 1393
1391(defvar autoarg-mode nil "\ 1394(defvar autoarg-mode nil "\
@@ -1439,7 +1442,7 @@ etc. to supply digit arguments.
1439;;;*** 1442;;;***
1440 1443
1441;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el" 1444;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el"
1442;;;;;; (19383 49278)) 1445;;;;;; (19636 58496))
1443;;; Generated autoloads from progmodes/autoconf.el 1446;;; Generated autoloads from progmodes/autoconf.el
1444 1447
1445(autoload 'autoconf-mode "autoconf" "\ 1448(autoload 'autoconf-mode "autoconf" "\
@@ -1450,7 +1453,7 @@ Major mode for editing Autoconf configure.in files.
1450;;;*** 1453;;;***
1451 1454
1452;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert) 1455;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert)
1453;;;;;; "autoinsert" "autoinsert.el" (19383 49278)) 1456;;;;;; "autoinsert" "autoinsert.el" (19636 58496))
1454;;; Generated autoloads from autoinsert.el 1457;;; Generated autoloads from autoinsert.el
1455 1458
1456(autoload 'auto-insert "autoinsert" "\ 1459(autoload 'auto-insert "autoinsert" "\
@@ -1489,7 +1492,7 @@ insert a template for the file depending on the mode of the buffer.
1489 1492
1490;;;### (autoloads (batch-update-autoloads update-directory-autoloads 1493;;;### (autoloads (batch-update-autoloads update-directory-autoloads
1491;;;;;; update-file-autoloads) "autoload" "emacs-lisp/autoload.el" 1494;;;;;; update-file-autoloads) "autoload" "emacs-lisp/autoload.el"
1492;;;;;; (19383 49278)) 1495;;;;;; (19636 58496))
1493;;; Generated autoloads from emacs-lisp/autoload.el 1496;;; Generated autoloads from emacs-lisp/autoload.el
1494 1497
1495(put 'generated-autoload-file 'safe-local-variable 'stringp) 1498(put 'generated-autoload-file 'safe-local-variable 'stringp)
@@ -1528,7 +1531,7 @@ Calls `update-directory-autoloads' on the command line arguments.
1528 1531
1529;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode 1532;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode
1530;;;;;; auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode) 1533;;;;;; auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode)
1531;;;;;; "autorevert" "autorevert.el" (19383 49278)) 1534;;;;;; "autorevert" "autorevert.el" (19636 58496))
1532;;; Generated autoloads from autorevert.el 1535;;; Generated autoloads from autorevert.el
1533 1536
1534(autoload 'auto-revert-mode "autorevert" "\ 1537(autoload 'auto-revert-mode "autorevert" "\
@@ -1609,7 +1612,7 @@ specifies in the mode line.
1609;;;*** 1612;;;***
1610 1613
1611;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid" 1614;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid"
1612;;;;;; "avoid.el" (19383 49278)) 1615;;;;;; "avoid.el" (19636 58496))
1613;;; Generated autoloads from avoid.el 1616;;; Generated autoloads from avoid.el
1614 1617
1615(defvar mouse-avoidance-mode nil "\ 1618(defvar mouse-avoidance-mode nil "\
@@ -1650,7 +1653,7 @@ definition of \"random distance\".)
1650;;;*** 1653;;;***
1651 1654
1652;;;### (autoloads (display-battery-mode battery) "battery" "battery.el" 1655;;;### (autoloads (display-battery-mode battery) "battery" "battery.el"
1653;;;;;; (19383 49278)) 1656;;;;;; (19636 58496))
1654;;; Generated autoloads from battery.el 1657;;; Generated autoloads from battery.el
1655 (put 'battery-mode-line-string 'risky-local-variable t) 1658 (put 'battery-mode-line-string 'risky-local-variable t)
1656 1659
@@ -1682,7 +1685,7 @@ seconds.
1682;;;*** 1685;;;***
1683 1686
1684;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run) 1687;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run)
1685;;;;;; "benchmark" "emacs-lisp/benchmark.el" (19383 49278)) 1688;;;;;; "benchmark" "emacs-lisp/benchmark.el" (19636 58496))
1686;;; Generated autoloads from emacs-lisp/benchmark.el 1689;;; Generated autoloads from emacs-lisp/benchmark.el
1687 1690
1688(autoload 'benchmark-run "benchmark" "\ 1691(autoload 'benchmark-run "benchmark" "\
@@ -1715,7 +1718,7 @@ For non-interactive use see also `benchmark-run' and
1715;;;*** 1718;;;***
1716 1719
1717;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize) 1720;;;### (autoloads (bibtex-search-entry bibtex-mode bibtex-initialize)
1718;;;;;; "bibtex" "textmodes/bibtex.el" (19383 49278)) 1721;;;;;; "bibtex" "textmodes/bibtex.el" (19658 61388))
1719;;; Generated autoloads from textmodes/bibtex.el 1722;;; Generated autoloads from textmodes/bibtex.el
1720 1723
1721(autoload 'bibtex-initialize "bibtex" "\ 1724(autoload 'bibtex-initialize "bibtex" "\
@@ -1802,7 +1805,7 @@ mode is not `bibtex-mode', START is nil, and DISPLAY is t.
1802;;;*** 1805;;;***
1803 1806
1804;;;### (autoloads (bibtex-style-mode) "bibtex-style" "textmodes/bibtex-style.el" 1807;;;### (autoloads (bibtex-style-mode) "bibtex-style" "textmodes/bibtex-style.el"
1805;;;;;; (19383 49278)) 1808;;;;;; (19636 58496))
1806;;; Generated autoloads from textmodes/bibtex-style.el 1809;;; Generated autoloads from textmodes/bibtex-style.el
1807 (add-to-list 'auto-mode-alist (cons (purecopy "\\.bst\\'") 'bibtex-style-mode)) 1810 (add-to-list 'auto-mode-alist (cons (purecopy "\\.bst\\'") 'bibtex-style-mode))
1808 1811
@@ -1815,7 +1818,7 @@ Major mode for editing BibTeX style files.
1815 1818
1816;;;### (autoloads (binhex-decode-region binhex-decode-region-external 1819;;;### (autoloads (binhex-decode-region binhex-decode-region-external
1817;;;;;; binhex-decode-region-internal) "binhex" "mail/binhex.el" 1820;;;;;; binhex-decode-region-internal) "binhex" "mail/binhex.el"
1818;;;;;; (19383 49278)) 1821;;;;;; (19636 58496))
1819;;; Generated autoloads from mail/binhex.el 1822;;; Generated autoloads from mail/binhex.el
1820 1823
1821(defconst binhex-begin-line "^:...............................................................$") 1824(defconst binhex-begin-line "^:...............................................................$")
@@ -1838,8 +1841,8 @@ Binhex decode region between START and END.
1838 1841
1839;;;*** 1842;;;***
1840 1843
1841;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (19383 1844;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (19636
1842;;;;;; 49278)) 1845;;;;;; 58496))
1843;;; Generated autoloads from play/blackbox.el 1846;;; Generated autoloads from play/blackbox.el
1844 1847
1845(autoload 'blackbox "blackbox" "\ 1848(autoload 'blackbox "blackbox" "\
@@ -1962,7 +1965,7 @@ a reflection.
1962;;;;;; bookmark-save bookmark-write bookmark-delete bookmark-insert 1965;;;;;; bookmark-save bookmark-write bookmark-delete bookmark-insert
1963;;;;;; bookmark-rename bookmark-insert-location bookmark-relocate 1966;;;;;; bookmark-rename bookmark-insert-location bookmark-relocate
1964;;;;;; bookmark-jump-other-window bookmark-jump bookmark-set) "bookmark" 1967;;;;;; bookmark-jump-other-window bookmark-jump bookmark-set) "bookmark"
1965;;;;;; "bookmark.el" (19383 49276)) 1968;;;;;; "bookmark.el" (19636 58496))
1966;;; Generated autoloads from bookmark.el 1969;;; Generated autoloads from bookmark.el
1967 (define-key ctl-x-r-map "b" 'bookmark-jump) 1970 (define-key ctl-x-r-map "b" 'bookmark-jump)
1968 (define-key ctl-x-r-map "m" 'bookmark-set) 1971 (define-key ctl-x-r-map "m" 'bookmark-set)
@@ -2169,7 +2172,7 @@ Incremental search of bookmarks, hiding the non-matches as we go.
2169;;;;;; browse-url-of-dired-file browse-url-of-buffer browse-url-of-file 2172;;;;;; browse-url-of-dired-file browse-url-of-buffer browse-url-of-file
2170;;;;;; browse-url-url-at-point browse-url-galeon-program browse-url-firefox-program 2173;;;;;; browse-url-url-at-point browse-url-galeon-program browse-url-firefox-program
2171;;;;;; browse-url-browser-function) "browse-url" "net/browse-url.el" 2174;;;;;; browse-url-browser-function) "browse-url" "net/browse-url.el"
2172;;;;;; (19383 49278)) 2175;;;;;; (19636 58496))
2173;;; Generated autoloads from net/browse-url.el 2176;;; Generated autoloads from net/browse-url.el
2174 2177
2175(defvar browse-url-browser-function (cond ((memq system-type '(windows-nt ms-dos cygwin)) 'browse-url-default-windows-browser) ((memq system-type '(darwin)) 'browse-url-default-macosx-browser) (t 'browse-url-default-browser)) "\ 2178(defvar browse-url-browser-function (cond ((memq system-type '(windows-nt ms-dos cygwin)) 'browse-url-default-windows-browser) ((memq system-type '(darwin)) 'browse-url-default-macosx-browser) (t 'browse-url-default-browser)) "\
@@ -2499,8 +2502,8 @@ from `browse-url-elinks-wrapper'.
2499 2502
2500;;;*** 2503;;;***
2501 2504
2502;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (19383 2505;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (19636
2503;;;;;; 49278)) 2506;;;;;; 58496))
2504;;; Generated autoloads from play/bruce.el 2507;;; Generated autoloads from play/bruce.el
2505 2508
2506(autoload 'bruce "bruce" "\ 2509(autoload 'bruce "bruce" "\
@@ -2516,7 +2519,7 @@ Return a vector containing the lines from `bruce-phrases-file'.
2516;;;*** 2519;;;***
2517 2520
2518;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next) 2521;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next)
2519;;;;;; "bs" "bs.el" (19383 49278)) 2522;;;;;; "bs" "bs.el" (19636 58496))
2520;;; Generated autoloads from bs.el 2523;;; Generated autoloads from bs.el
2521 2524
2522(autoload 'bs-cycle-next "bs" "\ 2525(autoload 'bs-cycle-next "bs" "\
@@ -2556,7 +2559,7 @@ name of buffer configuration.
2556 2559
2557;;;*** 2560;;;***
2558 2561
2559;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (19383 49278)) 2562;;;### (autoloads (bubbles) "bubbles" "play/bubbles.el" (19636 58496))
2560;;; Generated autoloads from play/bubbles.el 2563;;; Generated autoloads from play/bubbles.el
2561 2564
2562(autoload 'bubbles "bubbles" "\ 2565(autoload 'bubbles "bubbles" "\
@@ -2578,7 +2581,7 @@ columns on its right towards the left.
2578;;;*** 2581;;;***
2579 2582
2580;;;### (autoloads (bug-reference-prog-mode bug-reference-mode) "bug-reference" 2583;;;### (autoloads (bug-reference-prog-mode bug-reference-mode) "bug-reference"
2581;;;;;; "progmodes/bug-reference.el" (19383 49278)) 2584;;;;;; "progmodes/bug-reference.el" (19636 58496))
2582;;; Generated autoloads from progmodes/bug-reference.el 2585;;; Generated autoloads from progmodes/bug-reference.el
2583 2586
2584(put 'bug-reference-url-format 'safe-local-variable 'stringp) 2587(put 'bug-reference-url-format 'safe-local-variable 'stringp)
@@ -2600,7 +2603,7 @@ Like `bug-reference-mode', but only buttonize in comments and strings.
2600;;;;;; compile-defun byte-compile-file byte-recompile-directory 2603;;;;;; compile-defun byte-compile-file byte-recompile-directory
2601;;;;;; byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning 2604;;;;;; byte-force-recompile byte-compile-enable-warning byte-compile-disable-warning
2602;;;;;; byte-compile-warnings-safe-p) "bytecomp" "emacs-lisp/bytecomp.el" 2605;;;;;; byte-compile-warnings-safe-p) "bytecomp" "emacs-lisp/bytecomp.el"
2603;;;;;; (19383 49278)) 2606;;;;;; (19636 58496))
2604;;; Generated autoloads from emacs-lisp/bytecomp.el 2607;;; Generated autoloads from emacs-lisp/bytecomp.el
2605(put 'byte-compile-dynamic 'safe-local-variable 'booleanp) 2608(put 'byte-compile-dynamic 'safe-local-variable 'booleanp)
2606(put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp) 2609(put 'byte-compile-disable-print-circle 'safe-local-variable 'booleanp)
@@ -2724,8 +2727,8 @@ and corresponding effects.
2724 2727
2725;;;*** 2728;;;***
2726 2729
2727;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (19383 2730;;;### (autoloads nil "cal-china" "calendar/cal-china.el" (19636
2728;;;;;; 49278)) 2731;;;;;; 58496))
2729;;; Generated autoloads from calendar/cal-china.el 2732;;; Generated autoloads from calendar/cal-china.el
2730 2733
2731(put 'calendar-chinese-time-zone 'risky-local-variable t) 2734(put 'calendar-chinese-time-zone 'risky-local-variable t)
@@ -2734,7 +2737,7 @@ and corresponding effects.
2734 2737
2735;;;*** 2738;;;***
2736 2739
2737;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (19383 49278)) 2740;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (19636 58496))
2738;;; Generated autoloads from calendar/cal-dst.el 2741;;; Generated autoloads from calendar/cal-dst.el
2739 2742
2740(put 'calendar-daylight-savings-starts 'risky-local-variable t) 2743(put 'calendar-daylight-savings-starts 'risky-local-variable t)
@@ -2746,7 +2749,7 @@ and corresponding effects.
2746;;;*** 2749;;;***
2747 2750
2748;;;### (autoloads (calendar-hebrew-list-yahrzeits) "cal-hebrew" "calendar/cal-hebrew.el" 2751;;;### (autoloads (calendar-hebrew-list-yahrzeits) "cal-hebrew" "calendar/cal-hebrew.el"
2749;;;;;; (19383 49284)) 2752;;;;;; (19636 58496))
2750;;; Generated autoloads from calendar/cal-hebrew.el 2753;;; Generated autoloads from calendar/cal-hebrew.el
2751 2754
2752(autoload 'calendar-hebrew-list-yahrzeits "cal-hebrew" "\ 2755(autoload 'calendar-hebrew-list-yahrzeits "cal-hebrew" "\
@@ -2762,8 +2765,8 @@ from the cursor position.
2762 2765
2763;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle 2766;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle
2764;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc 2767;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc
2765;;;;;; full-calc calc calc-dispatch) "calc" "calc/calc.el" (19383 2768;;;;;; full-calc calc calc-dispatch) "calc" "calc/calc.el" (19636
2766;;;;;; 49278)) 2769;;;;;; 58496))
2767;;; Generated autoloads from calc/calc.el 2770;;; Generated autoloads from calc/calc.el
2768 (define-key ctl-x-map "*" 'calc-dispatch) 2771 (define-key ctl-x-map "*" 'calc-dispatch)
2769 2772
@@ -2845,8 +2848,8 @@ See Info node `(calc)Defining Functions'.
2845 2848
2846;;;*** 2849;;;***
2847 2850
2848;;;### (autoloads (calculator) "calculator" "calculator.el" (19383 2851;;;### (autoloads (calculator) "calculator" "calculator.el" (19636
2849;;;;;; 49277)) 2852;;;;;; 58496))
2850;;; Generated autoloads from calculator.el 2853;;; Generated autoloads from calculator.el
2851 2854
2852(autoload 'calculator "calculator" "\ 2855(autoload 'calculator "calculator" "\
@@ -2857,8 +2860,8 @@ See the documentation for `calculator-mode' for more information.
2857 2860
2858;;;*** 2861;;;***
2859 2862
2860;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (19383 2863;;;### (autoloads (calendar) "calendar" "calendar/calendar.el" (19636
2861;;;;;; 49278)) 2864;;;;;; 58496))
2862;;; Generated autoloads from calendar/calendar.el 2865;;; Generated autoloads from calendar/calendar.el
2863 2866
2864(autoload 'calendar "calendar" "\ 2867(autoload 'calendar "calendar" "\
@@ -2902,7 +2905,7 @@ This function is suitable for execution in a .emacs file.
2902;;;*** 2905;;;***
2903 2906
2904;;;### (autoloads (canlock-verify canlock-insert-header) "canlock" 2907;;;### (autoloads (canlock-verify canlock-insert-header) "canlock"
2905;;;;;; "gnus/canlock.el" (19383 49278)) 2908;;;;;; "gnus/canlock.el" (19636 58496))
2906;;; Generated autoloads from gnus/canlock.el 2909;;; Generated autoloads from gnus/canlock.el
2907 2910
2908(autoload 'canlock-insert-header "canlock" "\ 2911(autoload 'canlock-insert-header "canlock" "\
@@ -2920,7 +2923,7 @@ it fails.
2920;;;*** 2923;;;***
2921 2924
2922;;;### (autoloads (capitalized-words-mode) "cap-words" "progmodes/cap-words.el" 2925;;;### (autoloads (capitalized-words-mode) "cap-words" "progmodes/cap-words.el"
2923;;;;;; (19383 49278)) 2926;;;;;; (19636 58496))
2924;;; Generated autoloads from progmodes/cap-words.el 2927;;; Generated autoloads from progmodes/cap-words.el
2925 2928
2926(autoload 'capitalized-words-mode "cap-words" "\ 2929(autoload 'capitalized-words-mode "cap-words" "\
@@ -2955,15 +2958,15 @@ Obsoletes `c-forward-into-nomenclature'.
2955 2958
2956;;;*** 2959;;;***
2957 2960
2958;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (19383 2961;;;### (autoloads nil "cc-compat" "progmodes/cc-compat.el" (19636
2959;;;;;; 49278)) 2962;;;;;; 58496))
2960;;; Generated autoloads from progmodes/cc-compat.el 2963;;; Generated autoloads from progmodes/cc-compat.el
2961(put 'c-indent-level 'safe-local-variable 'integerp) 2964(put 'c-indent-level 'safe-local-variable 'integerp)
2962 2965
2963;;;*** 2966;;;***
2964 2967
2965;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el" 2968;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el"
2966;;;;;; (19396 34127)) 2969;;;;;; (19636 58496))
2967;;; Generated autoloads from progmodes/cc-engine.el 2970;;; Generated autoloads from progmodes/cc-engine.el
2968 2971
2969(autoload 'c-guess-basic-syntax "cc-engine" "\ 2972(autoload 'c-guess-basic-syntax "cc-engine" "\
@@ -2975,7 +2978,7 @@ Return the syntactic context of the current line.
2975 2978
2976;;;### (autoloads (pike-mode idl-mode java-mode objc-mode c++-mode 2979;;;### (autoloads (pike-mode idl-mode java-mode objc-mode c++-mode
2977;;;;;; c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el" 2980;;;;;; c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el"
2978;;;;;; (19396 34127)) 2981;;;;;; (19636 58496))
2979;;; Generated autoloads from progmodes/cc-mode.el 2982;;; Generated autoloads from progmodes/cc-mode.el
2980 2983
2981(autoload 'c-initialize-cc-mode "cc-mode" "\ 2984(autoload 'c-initialize-cc-mode "cc-mode" "\
@@ -3135,7 +3138,7 @@ Key bindings:
3135;;;*** 3138;;;***
3136 3139
3137;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles" 3140;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles"
3138;;;;;; "progmodes/cc-styles.el" (19383 49278)) 3141;;;;;; "progmodes/cc-styles.el" (19636 58496))
3139;;; Generated autoloads from progmodes/cc-styles.el 3142;;; Generated autoloads from progmodes/cc-styles.el
3140 3143
3141(autoload 'c-set-style "cc-styles" "\ 3144(autoload 'c-set-style "cc-styles" "\
@@ -3186,7 +3189,7 @@ and exists only for compatibility reasons.
3186 3189
3187;;;*** 3190;;;***
3188 3191
3189;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (19383 49278)) 3192;;;### (autoloads nil "cc-vars" "progmodes/cc-vars.el" (19636 58496))
3190;;; Generated autoloads from progmodes/cc-vars.el 3193;;; Generated autoloads from progmodes/cc-vars.el
3191(put 'c-basic-offset 'safe-local-variable 'integerp) 3194(put 'c-basic-offset 'safe-local-variable 'integerp)
3192(put 'c-backslash-column 'safe-local-variable 'integerp) 3195(put 'c-backslash-column 'safe-local-variable 'integerp)
@@ -3196,7 +3199,7 @@ and exists only for compatibility reasons.
3196 3199
3197;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program 3200;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program
3198;;;;;; declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el" 3201;;;;;; declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el"
3199;;;;;; (19383 49278)) 3202;;;;;; (19636 58496))
3200;;; Generated autoloads from international/ccl.el 3203;;; Generated autoloads from international/ccl.el
3201 3204
3202(autoload 'ccl-compile "ccl" "\ 3205(autoload 'ccl-compile "ccl" "\
@@ -3354,7 +3357,7 @@ OPERATOR :=
3354 ;; Normal arithmethic operators (same meaning as C code). 3357 ;; Normal arithmethic operators (same meaning as C code).
3355 + | - | * | / | % 3358 + | - | * | / | %
3356 3359
3357 ;; Bitwize operators (same meaning as C code) 3360 ;; Bitwise operators (same meaning as C code)
3358 | & | `|' | ^ 3361 | & | `|' | ^
3359 3362
3360 ;; Shifting operators (same meaning as C code) 3363 ;; Shifting operators (same meaning as C code)
@@ -3455,7 +3458,7 @@ See the documentation of `define-ccl-program' for the detail of CCL program.
3455;;;*** 3458;;;***
3456 3459
3457;;;### (autoloads (cfengine-mode) "cfengine" "progmodes/cfengine.el" 3460;;;### (autoloads (cfengine-mode) "cfengine" "progmodes/cfengine.el"
3458;;;;;; (19383 49278)) 3461;;;;;; (19636 58496))
3459;;; Generated autoloads from progmodes/cfengine.el 3462;;; Generated autoloads from progmodes/cfengine.el
3460 3463
3461(autoload 'cfengine-mode "cfengine" "\ 3464(autoload 'cfengine-mode "cfengine" "\
@@ -3470,7 +3473,7 @@ to the action header.
3470;;;*** 3473;;;***
3471 3474
3472;;;### (autoloads (check-declare-directory check-declare-file) "check-declare" 3475;;;### (autoloads (check-declare-directory check-declare-file) "check-declare"
3473;;;;;; "emacs-lisp/check-declare.el" (19383 49278)) 3476;;;;;; "emacs-lisp/check-declare.el" (19636 58496))
3474;;; Generated autoloads from emacs-lisp/check-declare.el 3477;;; Generated autoloads from emacs-lisp/check-declare.el
3475 3478
3476(autoload 'check-declare-file "check-declare" "\ 3479(autoload 'check-declare-file "check-declare" "\
@@ -3495,7 +3498,7 @@ Returns non-nil if any false statements are found.
3495;;;;;; checkdoc-comments checkdoc-continue checkdoc-start checkdoc-current-buffer 3498;;;;;; checkdoc-comments checkdoc-continue checkdoc-start checkdoc-current-buffer
3496;;;;;; checkdoc-eval-current-buffer checkdoc-message-interactive 3499;;;;;; checkdoc-eval-current-buffer checkdoc-message-interactive
3497;;;;;; checkdoc-interactive checkdoc checkdoc-list-of-strings-p) 3500;;;;;; checkdoc-interactive checkdoc checkdoc-list-of-strings-p)
3498;;;;;; "checkdoc" "emacs-lisp/checkdoc.el" (19383 49278)) 3501;;;;;; "checkdoc" "emacs-lisp/checkdoc.el" (19636 58496))
3499;;; Generated autoloads from emacs-lisp/checkdoc.el 3502;;; Generated autoloads from emacs-lisp/checkdoc.el
3500(put 'checkdoc-force-docstrings-flag 'safe-local-variable 'booleanp) 3503(put 'checkdoc-force-docstrings-flag 'safe-local-variable 'booleanp)
3501(put 'checkdoc-force-history-flag 'safe-local-variable 'booleanp) 3504(put 'checkdoc-force-history-flag 'safe-local-variable 'booleanp)
@@ -3690,7 +3693,7 @@ checking of documentation strings.
3690 3693
3691;;;### (autoloads (pre-write-encode-hz post-read-decode-hz encode-hz-buffer 3694;;;### (autoloads (pre-write-encode-hz post-read-decode-hz encode-hz-buffer
3692;;;;;; encode-hz-region decode-hz-buffer decode-hz-region) "china-util" 3695;;;;;; encode-hz-region decode-hz-buffer decode-hz-region) "china-util"
3693;;;;;; "language/china-util.el" (19383 49278)) 3696;;;;;; "language/china-util.el" (19636 58496))
3694;;; Generated autoloads from language/china-util.el 3697;;; Generated autoloads from language/china-util.el
3695 3698
3696(autoload 'decode-hz-region "china-util" "\ 3699(autoload 'decode-hz-region "china-util" "\
@@ -3728,7 +3731,7 @@ Not documented
3728;;;*** 3731;;;***
3729 3732
3730;;;### (autoloads (command-history list-command-history repeat-matching-complex-command) 3733;;;### (autoloads (command-history list-command-history repeat-matching-complex-command)
3731;;;;;; "chistory" "chistory.el" (19383 49278)) 3734;;;;;; "chistory" "chistory.el" (19636 58496))
3732;;; Generated autoloads from chistory.el 3735;;; Generated autoloads from chistory.el
3733 3736
3734(autoload 'repeat-matching-complex-command "chistory" "\ 3737(autoload 'repeat-matching-complex-command "chistory" "\
@@ -3767,7 +3770,7 @@ and runs the normal hook `command-history-hook'.
3767 3770
3768;;;*** 3771;;;***
3769 3772
3770;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (19383 49278)) 3773;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (19636 58496))
3771;;; Generated autoloads from emacs-lisp/cl.el 3774;;; Generated autoloads from emacs-lisp/cl.el
3772 3775
3773(defvar custom-print-functions nil "\ 3776(defvar custom-print-functions nil "\
@@ -3783,7 +3786,7 @@ a future Emacs interpreter will be able to use it.")
3783;;;*** 3786;;;***
3784 3787
3785;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el" 3788;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el"
3786;;;;;; (19383 49278)) 3789;;;;;; (19636 58496))
3787;;; Generated autoloads from emacs-lisp/cl-indent.el 3790;;; Generated autoloads from emacs-lisp/cl-indent.el
3788 3791
3789(autoload 'common-lisp-indent-function "cl-indent" "\ 3792(autoload 'common-lisp-indent-function "cl-indent" "\
@@ -3862,7 +3865,7 @@ For example, the function `case' has an indent property
3862;;;*** 3865;;;***
3863 3866
3864;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el" 3867;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el"
3865;;;;;; (19383 49278)) 3868;;;;;; (19636 58496))
3866;;; Generated autoloads from progmodes/cmacexp.el 3869;;; Generated autoloads from progmodes/cmacexp.el
3867 3870
3868(autoload 'c-macro-expand "cmacexp" "\ 3871(autoload 'c-macro-expand "cmacexp" "\
@@ -3882,8 +3885,8 @@ For use inside Lisp programs, see also `c-macro-expansion'.
3882 3885
3883;;;*** 3886;;;***
3884 3887
3885;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (19383 3888;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (19636
3886;;;;;; 49278)) 3889;;;;;; 58496))
3887;;; Generated autoloads from cmuscheme.el 3890;;; Generated autoloads from cmuscheme.el
3888 3891
3889(autoload 'run-scheme "cmuscheme" "\ 3892(autoload 'run-scheme "cmuscheme" "\
@@ -3907,7 +3910,7 @@ is run).
3907;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list 3910;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list
3908;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command 3911;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command
3909;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el" 3912;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el"
3910;;;;;; (19383 49278)) 3913;;;;;; (19652 24589))
3911;;; Generated autoloads from comint.el 3914;;; Generated autoloads from comint.el
3912 3915
3913(defvar comint-output-filter-functions '(comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\ 3916(defvar comint-output-filter-functions '(comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt) "\
@@ -3937,6 +3940,8 @@ process as its initial input.
3937 3940
3938If PROGRAM is a string, any more args are arguments to PROGRAM. 3941If PROGRAM is a string, any more args are arguments to PROGRAM.
3939 3942
3943Returns the (possibly newly created) process buffer.
3944
3940\(fn NAME BUFFER PROGRAM &optional STARTFILE &rest SWITCHES)" nil nil) 3945\(fn NAME BUFFER PROGRAM &optional STARTFILE &rest SWITCHES)" nil nil)
3941 3946
3942(autoload 'make-comint "comint" "\ 3947(autoload 'make-comint "comint" "\
@@ -3951,6 +3956,8 @@ process as its initial input.
3951 3956
3952If PROGRAM is a string, any more args are arguments to PROGRAM. 3957If PROGRAM is a string, any more args are arguments to PROGRAM.
3953 3958
3959Returns the (possibly newly created) process buffer.
3960
3954\(fn NAME PROGRAM &optional STARTFILE &rest SWITCHES)" nil nil) 3961\(fn NAME PROGRAM &optional STARTFILE &rest SWITCHES)" nil nil)
3955 3962
3956(autoload 'comint-run "comint" "\ 3963(autoload 'comint-run "comint" "\
@@ -3999,8 +4006,8 @@ REGEXP-GROUP is the regular expression group in REGEXP to use.
3999 4006
4000;;;*** 4007;;;***
4001 4008
4002;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (19383 4009;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (19636
4003;;;;;; 49278)) 4010;;;;;; 58496))
4004;;; Generated autoloads from compare-w.el 4011;;; Generated autoloads from compare-w.el
4005 4012
4006(autoload 'compare-windows "compare-w" "\ 4013(autoload 'compare-windows "compare-w" "\
@@ -4037,8 +4044,8 @@ on third call it again advances points to the next difference and so on.
4037;;;;;; compilation-shell-minor-mode compilation-mode compilation-start 4044;;;;;; compilation-shell-minor-mode compilation-mode compilation-start
4038;;;;;; compile compilation-disable-input compile-command compilation-search-path 4045;;;;;; compile compilation-disable-input compile-command compilation-search-path
4039;;;;;; compilation-ask-about-save compilation-window-height compilation-start-hook 4046;;;;;; compilation-ask-about-save compilation-window-height compilation-start-hook
4040;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (19405 4047;;;;;; compilation-mode-hook) "compile" "progmodes/compile.el" (19636
4041;;;;;; 51439)) 4048;;;;;; 58496))
4042;;; Generated autoloads from progmodes/compile.el 4049;;; Generated autoloads from progmodes/compile.el
4043 4050
4044(defvar compilation-mode-hook nil "\ 4051(defvar compilation-mode-hook nil "\
@@ -4216,7 +4223,7 @@ This is the value of `next-error-function' in Compilation buffers.
4216;;;*** 4223;;;***
4217 4224
4218;;;### (autoloads (partial-completion-mode) "complete" "complete.el" 4225;;;### (autoloads (partial-completion-mode) "complete" "complete.el"
4219;;;;;; (19383 49278)) 4226;;;;;; (19636 58496))
4220;;; Generated autoloads from complete.el 4227;;; Generated autoloads from complete.el
4221 4228
4222(defvar partial-completion-mode nil "\ 4229(defvar partial-completion-mode nil "\
@@ -4258,7 +4265,7 @@ second TAB brings up the `*Completions*' buffer.
4258;;;*** 4265;;;***
4259 4266
4260;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el" 4267;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el"
4261;;;;;; (19383 49278)) 4268;;;;;; (19636 58496))
4262;;; Generated autoloads from completion.el 4269;;; Generated autoloads from completion.el
4263 4270
4264(defvar dynamic-completion-mode nil "\ 4271(defvar dynamic-completion-mode nil "\
@@ -4280,7 +4287,7 @@ Enable dynamic word-completion.
4280;;;### (autoloads (conf-xdefaults-mode conf-ppd-mode conf-colon-mode 4287;;;### (autoloads (conf-xdefaults-mode conf-ppd-mode conf-colon-mode
4281;;;;;; conf-space-keywords conf-space-mode conf-javaprop-mode conf-windows-mode 4288;;;;;; conf-space-keywords conf-space-mode conf-javaprop-mode conf-windows-mode
4282;;;;;; conf-unix-mode conf-mode) "conf-mode" "textmodes/conf-mode.el" 4289;;;;;; conf-unix-mode conf-mode) "conf-mode" "textmodes/conf-mode.el"
4283;;;;;; (19383 49278)) 4290;;;;;; (19636 58496))
4284;;; Generated autoloads from textmodes/conf-mode.el 4291;;; Generated autoloads from textmodes/conf-mode.el
4285 4292
4286(autoload 'conf-mode "conf-mode" "\ 4293(autoload 'conf-mode "conf-mode" "\
@@ -4436,7 +4443,7 @@ For details see `conf-mode'. Example:
4436;;;*** 4443;;;***
4437 4444
4438;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie) 4445;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie)
4439;;;;;; "cookie1" "play/cookie1.el" (19383 49278)) 4446;;;;;; "cookie1" "play/cookie1.el" (19636 58496))
4440;;; Generated autoloads from play/cookie1.el 4447;;; Generated autoloads from play/cookie1.el
4441 4448
4442(autoload 'cookie "cookie1" "\ 4449(autoload 'cookie "cookie1" "\
@@ -4468,8 +4475,8 @@ Randomly permute the elements of VECTOR (all permutations equally likely).
4468;;;*** 4475;;;***
4469 4476
4470;;;### (autoloads (copyright-update-directory copyright copyright-fix-years 4477;;;### (autoloads (copyright-update-directory copyright copyright-fix-years
4471;;;;;; copyright-update) "copyright" "emacs-lisp/copyright.el" (19383 4478;;;;;; copyright-update) "copyright" "emacs-lisp/copyright.el" (19636
4472;;;;;; 49278)) 4479;;;;;; 58496))
4473;;; Generated autoloads from emacs-lisp/copyright.el 4480;;; Generated autoloads from emacs-lisp/copyright.el
4474 4481
4475(autoload 'copyright-update "copyright" "\ 4482(autoload 'copyright-update "copyright" "\
@@ -4502,7 +4509,7 @@ Update copyright notice for all files in DIRECTORY matching MATCH.
4502;;;*** 4509;;;***
4503 4510
4504;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode) 4511;;;### (autoloads (cperl-perldoc-at-point cperl-perldoc cperl-mode)
4505;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (19383 49278)) 4512;;;;;; "cperl-mode" "progmodes/cperl-mode.el" (19636 58496))
4506;;; Generated autoloads from progmodes/cperl-mode.el 4513;;; Generated autoloads from progmodes/cperl-mode.el
4507(put 'cperl-indent-level 'safe-local-variable 'integerp) 4514(put 'cperl-indent-level 'safe-local-variable 'integerp)
4508(put 'cperl-brace-offset 'safe-local-variable 'integerp) 4515(put 'cperl-brace-offset 'safe-local-variable 'integerp)
@@ -4701,7 +4708,7 @@ Run a `perldoc' on the word around point.
4701;;;*** 4708;;;***
4702 4709
4703;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el" 4710;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el"
4704;;;;;; (19383 49278)) 4711;;;;;; (19636 58496))
4705;;; Generated autoloads from progmodes/cpp.el 4712;;; Generated autoloads from progmodes/cpp.el
4706 4713
4707(autoload 'cpp-highlight-buffer "cpp" "\ 4714(autoload 'cpp-highlight-buffer "cpp" "\
@@ -4720,7 +4727,7 @@ Edit display information for cpp conditionals.
4720;;;*** 4727;;;***
4721 4728
4722;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el" 4729;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el"
4723;;;;;; (19383 49278)) 4730;;;;;; (19636 58496))
4724;;; Generated autoloads from emulation/crisp.el 4731;;; Generated autoloads from emulation/crisp.el
4725 4732
4726(defvar crisp-mode nil "\ 4733(defvar crisp-mode nil "\
@@ -4744,7 +4751,7 @@ With ARG, turn CRiSP mode on if ARG is positive, off otherwise.
4744;;;*** 4751;;;***
4745 4752
4746;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el" 4753;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el"
4747;;;;;; (19383 49278)) 4754;;;;;; (19636 58496))
4748;;; Generated autoloads from emacs-lisp/crm.el 4755;;; Generated autoloads from emacs-lisp/crm.el
4749 4756
4750(autoload 'completing-read-multiple "crm" "\ 4757(autoload 'completing-read-multiple "crm" "\
@@ -4779,8 +4786,8 @@ INHERIT-INPUT-METHOD.
4779 4786
4780;;;*** 4787;;;***
4781 4788
4782;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (19392 4789;;;### (autoloads (css-mode) "css-mode" "textmodes/css-mode.el" (19636
4783;;;;;; 42395)) 4790;;;;;; 58496))
4784;;; Generated autoloads from textmodes/css-mode.el 4791;;; Generated autoloads from textmodes/css-mode.el
4785 (add-to-list 'auto-mode-alist (cons (purecopy "\\.css\\'") 'css-mode)) 4792 (add-to-list 'auto-mode-alist (cons (purecopy "\\.css\\'") 'css-mode))
4786 4793
@@ -4792,7 +4799,7 @@ Major mode to edit Cascading Style Sheets.
4792;;;*** 4799;;;***
4793 4800
4794;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el" 4801;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el"
4795;;;;;; (19383 49279)) 4802;;;;;; (19636 58496))
4796;;; Generated autoloads from emulation/cua-base.el 4803;;; Generated autoloads from emulation/cua-base.el
4797 4804
4798(defvar cua-mode nil "\ 4805(defvar cua-mode nil "\
@@ -4851,7 +4858,7 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings.
4851;;;;;; customize-mode customize customize-save-variable customize-set-variable 4858;;;;;; customize-mode customize customize-save-variable customize-set-variable
4852;;;;;; customize-set-value custom-menu-sort-alphabetically custom-buffer-sort-alphabetically 4859;;;;;; customize-set-value custom-menu-sort-alphabetically custom-buffer-sort-alphabetically
4853;;;;;; custom-browse-sort-alphabetically) "cus-edit" "cus-edit.el" 4860;;;;;; custom-browse-sort-alphabetically) "cus-edit" "cus-edit.el"
4854;;;;;; (19383 49276)) 4861;;;;;; (19636 58496))
4855;;; Generated autoloads from cus-edit.el 4862;;; Generated autoloads from cus-edit.el
4856 4863
4857(defvar custom-browse-sort-alphabetically nil "\ 4864(defvar custom-browse-sort-alphabetically nil "\
@@ -5149,7 +5156,7 @@ The format is suitable for use with `easy-menu-define'.
5149;;;*** 5156;;;***
5150 5157
5151;;;### (autoloads (customize-create-theme) "cus-theme" "cus-theme.el" 5158;;;### (autoloads (customize-create-theme) "cus-theme" "cus-theme.el"
5152;;;;;; (19383 49279)) 5159;;;;;; (19636 58496))
5153;;; Generated autoloads from cus-theme.el 5160;;; Generated autoloads from cus-theme.el
5154 5161
5155(autoload 'customize-create-theme "cus-theme" "\ 5162(autoload 'customize-create-theme "cus-theme" "\
@@ -5160,7 +5167,7 @@ Create a custom theme.
5160;;;*** 5167;;;***
5161 5168
5162;;;### (autoloads (cvs-status-mode) "cvs-status" "cvs-status.el" 5169;;;### (autoloads (cvs-status-mode) "cvs-status" "cvs-status.el"
5163;;;;;; (19383 49279)) 5170;;;;;; (19636 58496))
5164;;; Generated autoloads from cvs-status.el 5171;;; Generated autoloads from cvs-status.el
5165 5172
5166(autoload 'cvs-status-mode "cvs-status" "\ 5173(autoload 'cvs-status-mode "cvs-status" "\
@@ -5171,7 +5178,7 @@ Mode used for cvs status output.
5171;;;*** 5178;;;***
5172 5179
5173;;;### (autoloads (global-cwarn-mode turn-on-cwarn-mode cwarn-mode) 5180;;;### (autoloads (global-cwarn-mode turn-on-cwarn-mode cwarn-mode)
5174;;;;;; "cwarn" "progmodes/cwarn.el" (19383 49279)) 5181;;;;;; "cwarn" "progmodes/cwarn.el" (19636 58496))
5175;;; Generated autoloads from progmodes/cwarn.el 5182;;; Generated autoloads from progmodes/cwarn.el
5176 5183
5177(autoload 'cwarn-mode "cwarn" "\ 5184(autoload 'cwarn-mode "cwarn" "\
@@ -5218,7 +5225,7 @@ See `cwarn-mode' for more information on Cwarn mode.
5218 5225
5219;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char 5226;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char
5220;;;;;; cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el" 5227;;;;;; cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el"
5221;;;;;; (19383 49279)) 5228;;;;;; (19636 58496))
5222;;; Generated autoloads from language/cyril-util.el 5229;;; Generated autoloads from language/cyril-util.el
5223 5230
5224(autoload 'cyrillic-encode-koi8-r-char "cyril-util" "\ 5231(autoload 'cyrillic-encode-koi8-r-char "cyril-util" "\
@@ -5247,7 +5254,7 @@ If the argument is nil, we return the display table to its standard state.
5247;;;*** 5254;;;***
5248 5255
5249;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el" 5256;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el"
5250;;;;;; (19383 49279)) 5257;;;;;; (19636 58496))
5251;;; Generated autoloads from dabbrev.el 5258;;; Generated autoloads from dabbrev.el
5252(put 'dabbrev-case-fold-search 'risky-local-variable t) 5259(put 'dabbrev-case-fold-search 'risky-local-variable t)
5253(put 'dabbrev-case-replace 'risky-local-variable t) 5260(put 'dabbrev-case-replace 'risky-local-variable t)
@@ -5263,7 +5270,7 @@ With a prefix argument ARG, it searches all buffers accepted by the
5263function pointed out by `dabbrev-friend-buffer-function' to find the 5270function pointed out by `dabbrev-friend-buffer-function' to find the
5264completions. 5271completions.
5265 5272
5266If the prefix argument is 16 (which comes from \\[prefix-argument] \\[prefix-argument]), 5273If the prefix argument is 16 (which comes from \\[universal-argument] \\[universal-argument]),
5267then it searches *all* buffers. 5274then it searches *all* buffers.
5268 5275
5269\(fn &optional ARG)" t nil) 5276\(fn &optional ARG)" t nil)
@@ -5294,7 +5301,7 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion].
5294;;;*** 5301;;;***
5295 5302
5296;;;### (autoloads (data-debug-new-buffer) "data-debug" "cedet/data-debug.el" 5303;;;### (autoloads (data-debug-new-buffer) "data-debug" "cedet/data-debug.el"
5297;;;;;; (19383 49276)) 5304;;;;;; (19636 58496))
5298;;; Generated autoloads from cedet/data-debug.el 5305;;; Generated autoloads from cedet/data-debug.el
5299 5306
5300(autoload 'data-debug-new-buffer "data-debug" "\ 5307(autoload 'data-debug-new-buffer "data-debug" "\
@@ -5304,22 +5311,22 @@ Create a new data-debug buffer with NAME.
5304 5311
5305;;;*** 5312;;;***
5306 5313
5307;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (19383 5314;;;### (autoloads (dbus-handle-event) "dbus" "net/dbus.el" (19636
5308;;;;;; 49284)) 5315;;;;;; 58496))
5309;;; Generated autoloads from net/dbus.el 5316;;; Generated autoloads from net/dbus.el
5310 5317
5311(autoload 'dbus-handle-event "dbus" "\ 5318(autoload 'dbus-handle-event "dbus" "\
5312Handle events from the D-Bus. 5319Handle events from the D-Bus.
5313EVENT is a D-Bus event, see `dbus-check-event'. HANDLER, being 5320EVENT is a D-Bus event, see `dbus-check-event'. HANDLER, being
5314part of the event, is called with arguments ARGS. 5321part of the event, is called with arguments ARGS.
5315If the HANDLER returns an `dbus-error', it is propagated as return message. 5322If the HANDLER returns a `dbus-error', it is propagated as return message.
5316 5323
5317\(fn EVENT)" t nil) 5324\(fn EVENT)" t nil)
5318 5325
5319;;;*** 5326;;;***
5320 5327
5321;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (19383 5328;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (19652
5322;;;;;; 49279)) 5329;;;;;; 24589))
5323;;; Generated autoloads from progmodes/dcl-mode.el 5330;;; Generated autoloads from progmodes/dcl-mode.el
5324 5331
5325(autoload 'dcl-mode "dcl-mode" "\ 5332(autoload 'dcl-mode "dcl-mode" "\
@@ -5446,7 +5453,7 @@ There is some minimal font-lock support (see vars
5446;;;*** 5453;;;***
5447 5454
5448;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug" 5455;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug"
5449;;;;;; "emacs-lisp/debug.el" (19383 49279)) 5456;;;;;; "emacs-lisp/debug.el" (19636 58496))
5450;;; Generated autoloads from emacs-lisp/debug.el 5457;;; Generated autoloads from emacs-lisp/debug.el
5451 5458
5452(setq debugger 'debug) 5459(setq debugger 'debug)
@@ -5490,7 +5497,7 @@ To specify a nil argument interactively, exit with an empty minibuffer.
5490;;;*** 5497;;;***
5491 5498
5492;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el" 5499;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el"
5493;;;;;; (19383 49279)) 5500;;;;;; (19636 58496))
5494;;; Generated autoloads from play/decipher.el 5501;;; Generated autoloads from play/decipher.el
5495 5502
5496(autoload 'decipher "decipher" "\ 5503(autoload 'decipher "decipher" "\
@@ -5519,8 +5526,8 @@ The most useful commands are:
5519;;;*** 5526;;;***
5520 5527
5521;;;### (autoloads (delimit-columns-rectangle delimit-columns-region 5528;;;### (autoloads (delimit-columns-rectangle delimit-columns-region
5522;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (19383 5529;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (19636
5523;;;;;; 49276)) 5530;;;;;; 58496))
5524;;; Generated autoloads from delim-col.el 5531;;; Generated autoloads from delim-col.el
5525 5532
5526(autoload 'delimit-columns-customize "delim-col" "\ 5533(autoload 'delimit-columns-customize "delim-col" "\
@@ -5544,8 +5551,8 @@ START and END delimits the corners of text rectangle.
5544 5551
5545;;;*** 5552;;;***
5546 5553
5547;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (19383 5554;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (19636
5548;;;;;; 49279)) 5555;;;;;; 58496))
5549;;; Generated autoloads from progmodes/delphi.el 5556;;; Generated autoloads from progmodes/delphi.el
5550 5557
5551(autoload 'delphi-mode "delphi" "\ 5558(autoload 'delphi-mode "delphi" "\
@@ -5596,8 +5603,8 @@ no args, if that value is non-nil.
5596 5603
5597;;;*** 5604;;;***
5598 5605
5599;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (19383 5606;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (19636
5600;;;;;; 49279)) 5607;;;;;; 58496))
5601;;; Generated autoloads from delsel.el 5608;;; Generated autoloads from delsel.el
5602 5609
5603(defalias 'pending-delete-mode 'delete-selection-mode) 5610(defalias 'pending-delete-mode 'delete-selection-mode)
@@ -5626,7 +5633,7 @@ any selection.
5626;;;*** 5633;;;***
5627 5634
5628;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode) 5635;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode)
5629;;;;;; "derived" "emacs-lisp/derived.el" (19383 49279)) 5636;;;;;; "derived" "emacs-lisp/derived.el" (19636 58496))
5630;;; Generated autoloads from emacs-lisp/derived.el 5637;;; Generated autoloads from emacs-lisp/derived.el
5631 5638
5632(autoload 'define-derived-mode "derived" "\ 5639(autoload 'define-derived-mode "derived" "\
@@ -5691,7 +5698,7 @@ the first time the mode is used.
5691;;;*** 5698;;;***
5692 5699
5693;;;### (autoloads (describe-char describe-text-properties) "descr-text" 5700;;;### (autoloads (describe-char describe-text-properties) "descr-text"
5694;;;;;; "descr-text.el" (19383 49279)) 5701;;;;;; "descr-text.el" (19636 58496))
5695;;; Generated autoloads from descr-text.el 5702;;; Generated autoloads from descr-text.el
5696 5703
5697(autoload 'describe-text-properties "descr-text" "\ 5704(autoload 'describe-text-properties "descr-text" "\
@@ -5719,7 +5726,7 @@ as well as widgets, buttons, overlays, and text properties.
5719;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir 5726;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir
5720;;;;;; desktop-load-default desktop-read desktop-remove desktop-save 5727;;;;;; desktop-load-default desktop-read desktop-remove desktop-save
5721;;;;;; desktop-clear desktop-locals-to-save desktop-save-mode) "desktop" 5728;;;;;; desktop-clear desktop-locals-to-save desktop-save-mode) "desktop"
5722;;;;;; "desktop.el" (19383 49279)) 5729;;;;;; "desktop.el" (19636 58496))
5723;;; Generated autoloads from desktop.el 5730;;; Generated autoloads from desktop.el
5724 5731
5725(defvar desktop-save-mode nil "\ 5732(defvar desktop-save-mode nil "\
@@ -5903,7 +5910,7 @@ Revert to the last loaded desktop.
5903 5910
5904;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article 5911;;;### (autoloads (gnus-article-outlook-deuglify-article gnus-outlook-deuglify-article
5905;;;;;; gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines) 5912;;;;;; gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines)
5906;;;;;; "deuglify" "gnus/deuglify.el" (19383 49279)) 5913;;;;;; "deuglify" "gnus/deuglify.el" (19636 58496))
5907;;; Generated autoloads from gnus/deuglify.el 5914;;; Generated autoloads from gnus/deuglify.el
5908 5915
5909(autoload 'gnus-article-outlook-unwrap-lines "deuglify" "\ 5916(autoload 'gnus-article-outlook-unwrap-lines "deuglify" "\
@@ -5936,7 +5943,7 @@ Deuglify broken Outlook (Express) articles and redisplay.
5936;;;*** 5943;;;***
5937 5944
5938;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib" 5945;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib"
5939;;;;;; "calendar/diary-lib.el" (19383 49276)) 5946;;;;;; "calendar/diary-lib.el" (19636 58496))
5940;;; Generated autoloads from calendar/diary-lib.el 5947;;; Generated autoloads from calendar/diary-lib.el
5941 5948
5942(autoload 'diary "diary-lib" "\ 5949(autoload 'diary "diary-lib" "\
@@ -5979,7 +5986,7 @@ Major mode for editing the diary file.
5979;;;*** 5986;;;***
5980 5987
5981;;;### (autoloads (diff-backup diff diff-command diff-switches) "diff" 5988;;;### (autoloads (diff-backup diff diff-command diff-switches) "diff"
5982;;;;;; "diff.el" (19419 35832)) 5989;;;;;; "diff.el" (19636 58496))
5983;;; Generated autoloads from diff.el 5990;;; Generated autoloads from diff.el
5984 5991
5985(defvar diff-switches (purecopy "-c") "\ 5992(defvar diff-switches (purecopy "-c") "\
@@ -6017,7 +6024,7 @@ With prefix arg, prompt for diff switches.
6017;;;*** 6024;;;***
6018 6025
6019;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "diff-mode.el" 6026;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "diff-mode.el"
6020;;;;;; (19383 49279)) 6027;;;;;; (19661 51722))
6021;;; Generated autoloads from diff-mode.el 6028;;; Generated autoloads from diff-mode.el
6022 6029
6023(autoload 'diff-mode "diff-mode" "\ 6030(autoload 'diff-mode "diff-mode" "\
@@ -6045,7 +6052,7 @@ Minor mode for viewing/editing context diffs.
6045 6052
6046;;;*** 6053;;;***
6047 6054
6048;;;### (autoloads (dig) "dig" "net/dig.el" (19383 49279)) 6055;;;### (autoloads (dig) "dig" "net/dig.el" (19636 58496))
6049;;; Generated autoloads from net/dig.el 6056;;; Generated autoloads from net/dig.el
6050 6057
6051(autoload 'dig "dig" "\ 6058(autoload 'dig "dig" "\
@@ -6058,7 +6065,7 @@ Optional arguments are passed to `dig-invoke'.
6058 6065
6059;;;### (autoloads (dired-mode dired-auto-revert-buffer dired-noselect 6066;;;### (autoloads (dired-mode dired-auto-revert-buffer dired-noselect
6060;;;;;; dired-other-frame dired-other-window dired dired-trivial-filenames 6067;;;;;; dired-other-frame dired-other-window dired dired-trivial-filenames
6061;;;;;; dired-listing-switches) "dired" "dired.el" (19383 49276)) 6068;;;;;; dired-listing-switches) "dired" "dired.el" (19636 58496))
6062;;; Generated autoloads from dired.el 6069;;; Generated autoloads from dired.el
6063 6070
6064(defvar dired-listing-switches (purecopy "-al") "\ 6071(defvar dired-listing-switches (purecopy "-al") "\
@@ -6203,7 +6210,7 @@ Keybindings:
6203;;;*** 6210;;;***
6204 6211
6205;;;### (autoloads (dirtrack dirtrack-mode) "dirtrack" "dirtrack.el" 6212;;;### (autoloads (dirtrack dirtrack-mode) "dirtrack" "dirtrack.el"
6206;;;;;; (19383 49276)) 6213;;;;;; (19636 58496))
6207;;; Generated autoloads from dirtrack.el 6214;;; Generated autoloads from dirtrack.el
6208 6215
6209(autoload 'dirtrack-mode "dirtrack" "\ 6216(autoload 'dirtrack-mode "dirtrack" "\
@@ -6229,8 +6236,8 @@ function `dirtrack-debug-mode' to turn on debugging output.
6229 6236
6230;;;*** 6237;;;***
6231 6238
6232;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (19383 6239;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (19636
6233;;;;;; 49279)) 6240;;;;;; 58496))
6234;;; Generated autoloads from emacs-lisp/disass.el 6241;;; Generated autoloads from emacs-lisp/disass.el
6235 6242
6236(autoload 'disassemble "disass" "\ 6243(autoload 'disassemble "disass" "\
@@ -6249,7 +6256,7 @@ redefine OBJECT if it is a symbol.
6249;;;;;; standard-display-g1 standard-display-ascii standard-display-default 6256;;;;;; standard-display-g1 standard-display-ascii standard-display-default
6250;;;;;; standard-display-8bit describe-current-display-table describe-display-table 6257;;;;;; standard-display-8bit describe-current-display-table describe-display-table
6251;;;;;; set-display-table-slot display-table-slot make-display-table) 6258;;;;;; set-display-table-slot display-table-slot make-display-table)
6252;;;;;; "disp-table" "disp-table.el" (19383 49279)) 6259;;;;;; "disp-table" "disp-table.el" (19636 58496))
6253;;; Generated autoloads from disp-table.el 6260;;; Generated autoloads from disp-table.el
6254 6261
6255(autoload 'make-display-table "disp-table" "\ 6262(autoload 'make-display-table "disp-table" "\
@@ -6284,7 +6291,17 @@ Describe the display table in use in the selected window and buffer.
6284\(fn)" t nil) 6291\(fn)" t nil)
6285 6292
6286(autoload 'standard-display-8bit "disp-table" "\ 6293(autoload 'standard-display-8bit "disp-table" "\
6287Display characters in the range L to H literally. 6294Display characters representing raw bytes in the range L to H literally.
6295
6296On a terminal display, each character in the range is displayed
6297by sending the corresponding byte directly to the terminal.
6298
6299On a graphic display, each character in the range is displayed
6300using the default font by a glyph whose code is the corresponding
6301byte.
6302
6303Note that ASCII printable characters (SPC to TILDA) are displayed
6304in the default way after this call.
6288 6305
6289\(fn L H)" nil nil) 6306\(fn L H)" nil nil)
6290 6307
@@ -6361,7 +6378,7 @@ in `.emacs'.
6361;;;*** 6378;;;***
6362 6379
6363;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el" 6380;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el"
6364;;;;;; (19383 49279)) 6381;;;;;; (19636 58496))
6365;;; Generated autoloads from play/dissociate.el 6382;;; Generated autoloads from play/dissociate.el
6366 6383
6367(autoload 'dissociated-press "dissociate" "\ 6384(autoload 'dissociated-press "dissociate" "\
@@ -6377,7 +6394,7 @@ Default is 2.
6377 6394
6378;;;*** 6395;;;***
6379 6396
6380;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (19383 49279)) 6397;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (19636 58496))
6381;;; Generated autoloads from dnd.el 6398;;; Generated autoloads from dnd.el
6382 6399
6383(defvar dnd-protocol-alist `((,(purecopy "^file:///") . dnd-open-local-file) (,(purecopy "^file://") . dnd-open-file) (,(purecopy "^file:") . dnd-open-local-file) (,(purecopy "^\\(https?\\|ftp\\|file\\|nfs\\)://") . dnd-open-file)) "\ 6400(defvar dnd-protocol-alist `((,(purecopy "^file:///") . dnd-open-local-file) (,(purecopy "^file://") . dnd-open-file) (,(purecopy "^file:") . dnd-open-local-file) (,(purecopy "^\\(https?\\|ftp\\|file\\|nfs\\)://") . dnd-open-file)) "\
@@ -6398,7 +6415,7 @@ if some action was made, or nil if the URL is ignored.")
6398;;;*** 6415;;;***
6399 6416
6400;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode" 6417;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode"
6401;;;;;; "textmodes/dns-mode.el" (19383 49279)) 6418;;;;;; "textmodes/dns-mode.el" (19636 58496))
6402;;; Generated autoloads from textmodes/dns-mode.el 6419;;; Generated autoloads from textmodes/dns-mode.el
6403 6420
6404(autoload 'dns-mode "dns-mode" "\ 6421(autoload 'dns-mode "dns-mode" "\
@@ -6423,7 +6440,7 @@ Locate SOA record and increment the serial field.
6423;;;*** 6440;;;***
6424 6441
6425;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode 6442;;;### (autoloads (doc-view-bookmark-jump doc-view-minor-mode doc-view-mode
6426;;;;;; doc-view-mode-p) "doc-view" "doc-view.el" (19383 49276)) 6443;;;;;; doc-view-mode-p) "doc-view" "doc-view.el" (19636 58496))
6427;;; Generated autoloads from doc-view.el 6444;;; Generated autoloads from doc-view.el
6428 6445
6429(autoload 'doc-view-mode-p "doc-view" "\ 6446(autoload 'doc-view-mode-p "doc-view" "\
@@ -6458,7 +6475,7 @@ Not documented
6458 6475
6459;;;*** 6476;;;***
6460 6477
6461;;;### (autoloads (doctor) "doctor" "play/doctor.el" (19383 49279)) 6478;;;### (autoloads (doctor) "doctor" "play/doctor.el" (19636 58496))
6462;;; Generated autoloads from play/doctor.el 6479;;; Generated autoloads from play/doctor.el
6463 6480
6464(autoload 'doctor "doctor" "\ 6481(autoload 'doctor "doctor" "\
@@ -6468,7 +6485,7 @@ Switch to *doctor* buffer and start giving psychotherapy.
6468 6485
6469;;;*** 6486;;;***
6470 6487
6471;;;### (autoloads (double-mode) "double" "double.el" (19383 49279)) 6488;;;### (autoloads (double-mode) "double" "double.el" (19636 58496))
6472;;; Generated autoloads from double.el 6489;;; Generated autoloads from double.el
6473 6490
6474(autoload 'double-mode "double" "\ 6491(autoload 'double-mode "double" "\
@@ -6483,7 +6500,7 @@ when pressed twice. See variable `double-map' for details.
6483 6500
6484;;;*** 6501;;;***
6485 6502
6486;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (19383 49279)) 6503;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (19636 58496))
6487;;; Generated autoloads from play/dunnet.el 6504;;; Generated autoloads from play/dunnet.el
6488 6505
6489(autoload 'dunnet "dunnet" "\ 6506(autoload 'dunnet "dunnet" "\
@@ -6494,7 +6511,7 @@ Switch to *dungeon* buffer and start game.
6494;;;*** 6511;;;***
6495 6512
6496;;;### (autoloads (gnus-earcon-display) "earcon" "gnus/earcon.el" 6513;;;### (autoloads (gnus-earcon-display) "earcon" "gnus/earcon.el"
6497;;;;;; (19383 49279)) 6514;;;;;; (19636 58496))
6498;;; Generated autoloads from gnus/earcon.el 6515;;; Generated autoloads from gnus/earcon.el
6499 6516
6500(autoload 'gnus-earcon-display "earcon" "\ 6517(autoload 'gnus-earcon-display "earcon" "\
@@ -6506,32 +6523,30 @@ Play sounds in message buffers.
6506 6523
6507;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap 6524;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap
6508;;;;;; define-globalized-minor-mode define-minor-mode) "easy-mmode" 6525;;;;;; define-globalized-minor-mode define-minor-mode) "easy-mmode"
6509;;;;;; "emacs-lisp/easy-mmode.el" (19383 49279)) 6526;;;;;; "emacs-lisp/easy-mmode.el" (19636 58496))
6510;;; Generated autoloads from emacs-lisp/easy-mmode.el 6527;;; Generated autoloads from emacs-lisp/easy-mmode.el
6511 6528
6512(defalias 'easy-mmode-define-minor-mode 'define-minor-mode) 6529(defalias 'easy-mmode-define-minor-mode 'define-minor-mode)
6513 6530
6514(autoload 'define-minor-mode "easy-mmode" "\ 6531(autoload 'define-minor-mode "easy-mmode" "\
6515Define a new minor mode MODE. 6532Define a new minor mode MODE.
6516This function defines the associated control variable MODE, keymap MODE-map, 6533This defines the control variable MODE and the toggle command MODE.
6517and toggle command MODE.
6518
6519DOC is the documentation for the mode toggle command. 6534DOC is the documentation for the mode toggle command.
6535
6520Optional INIT-VALUE is the initial value of the mode's variable. 6536Optional INIT-VALUE is the initial value of the mode's variable.
6521Optional LIGHTER is displayed in the modeline when the mode is on. 6537Optional LIGHTER is displayed in the modeline when the mode is on.
6522Optional KEYMAP is the default (defvar) keymap bound to the mode keymap. 6538Optional KEYMAP is the default keymap bound to the mode keymap.
6523 If it is a list, it is passed to `easy-mmode-define-keymap' 6539 If non-nil, it should be a variable name (whose value is a keymap),
6524 in order to build a valid keymap. It's generally better to use 6540 a keymap, or a list of arguments for `easy-mmode-define-keymap'.
6525 a separate MODE-map variable than to use this argument. 6541 If KEYMAP is a keymap or list, this also defines the variable MODE-map.
6526The above three arguments can be skipped if keyword arguments are 6542
6527used (see below). 6543BODY contains code to execute each time the mode is enabled or disabled.
6528 6544 It is executed after toggling the mode, and before running MODE-hook.
6529BODY contains code to execute each time the mode is activated or deactivated. 6545 Before the actual body code, you can write keyword arguments, i.e.
6530 It is executed after toggling the mode, 6546 alternating keywords and values. These following special keywords
6531 and before running the hook variable `MODE-hook'. 6547 are supported (other keywords are passed to `defcustom' if the minor
6532 Before the actual body code, you can write keyword arguments (alternating 6548 mode is global):
6533 keywords and values). These following keyword arguments are supported (other 6549
6534 keywords will be passed to `defcustom' if the minor mode is global):
6535:group GROUP Custom group name to use in all generated `defcustom' forms. 6550:group GROUP Custom group name to use in all generated `defcustom' forms.
6536 Defaults to MODE without the possible trailing \"-mode\". 6551 Defaults to MODE without the possible trailing \"-mode\".
6537 Don't use this default group name unless you have written a 6552 Don't use this default group name unless you have written a
@@ -6611,8 +6626,8 @@ CSS contains a list of syntax specifications of the form (CHAR . SYNTAX).
6611;;;*** 6626;;;***
6612 6627
6613;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define 6628;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define
6614;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (19383 6629;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (19636
6615;;;;;; 49279)) 6630;;;;;; 58496))
6616;;; Generated autoloads from emacs-lisp/easymenu.el 6631;;; Generated autoloads from emacs-lisp/easymenu.el
6617 6632
6618(put 'easy-menu-define 'lisp-indent-function 'defun) 6633(put 'easy-menu-define 'lisp-indent-function 'defun)
@@ -6766,7 +6781,7 @@ To implement dynamic menus, either call this from
6766;;;;;; ebnf-eps-file ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer 6781;;;;;; ebnf-eps-file ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer
6767;;;;;; ebnf-spool-file ebnf-spool-directory ebnf-print-region ebnf-print-buffer 6782;;;;;; ebnf-spool-file ebnf-spool-directory ebnf-print-region ebnf-print-buffer
6768;;;;;; ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps" 6783;;;;;; ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps"
6769;;;;;; "progmodes/ebnf2ps.el" (19383 49279)) 6784;;;;;; "progmodes/ebnf2ps.el" (19636 58496))
6770;;; Generated autoloads from progmodes/ebnf2ps.el 6785;;; Generated autoloads from progmodes/ebnf2ps.el
6771 6786
6772(autoload 'ebnf-customize "ebnf2ps" "\ 6787(autoload 'ebnf-customize "ebnf2ps" "\
@@ -7040,8 +7055,8 @@ See `ebnf-style-database' documentation.
7040;;;;;; ebrowse-tags-find-declaration-other-window ebrowse-tags-find-definition 7055;;;;;; ebrowse-tags-find-declaration-other-window ebrowse-tags-find-definition
7041;;;;;; ebrowse-tags-view-definition ebrowse-tags-find-declaration 7056;;;;;; ebrowse-tags-view-definition ebrowse-tags-find-declaration
7042;;;;;; ebrowse-tags-view-declaration ebrowse-member-mode ebrowse-electric-choose-tree 7057;;;;;; ebrowse-tags-view-declaration ebrowse-member-mode ebrowse-electric-choose-tree
7043;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (19383 7058;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (19636
7044;;;;;; 49279)) 7059;;;;;; 58496))
7045;;; Generated autoloads from progmodes/ebrowse.el 7060;;; Generated autoloads from progmodes/ebrowse.el
7046 7061
7047(autoload 'ebrowse-tree-mode "ebrowse" "\ 7062(autoload 'ebrowse-tree-mode "ebrowse" "\
@@ -7192,7 +7207,7 @@ Display statistics for a class tree.
7192;;;*** 7207;;;***
7193 7208
7194;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el" 7209;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el"
7195;;;;;; (19383 49279)) 7210;;;;;; (19636 58496))
7196;;; Generated autoloads from ebuff-menu.el 7211;;; Generated autoloads from ebuff-menu.el
7197 7212
7198(autoload 'electric-buffer-list "ebuff-menu" "\ 7213(autoload 'electric-buffer-list "ebuff-menu" "\
@@ -7217,7 +7232,7 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry.
7217;;;*** 7232;;;***
7218 7233
7219;;;### (autoloads (Electric-command-history-redo-expression) "echistory" 7234;;;### (autoloads (Electric-command-history-redo-expression) "echistory"
7220;;;;;; "echistory.el" (19383 49279)) 7235;;;;;; "echistory.el" (19636 58496))
7221;;; Generated autoloads from echistory.el 7236;;; Generated autoloads from echistory.el
7222 7237
7223(autoload 'Electric-command-history-redo-expression "echistory" "\ 7238(autoload 'Electric-command-history-redo-expression "echistory" "\
@@ -7229,7 +7244,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing.
7229;;;*** 7244;;;***
7230 7245
7231;;;### (autoloads (ecomplete-setup) "ecomplete" "gnus/ecomplete.el" 7246;;;### (autoloads (ecomplete-setup) "ecomplete" "gnus/ecomplete.el"
7232;;;;;; (19383 49279)) 7247;;;;;; (19636 58496))
7233;;; Generated autoloads from gnus/ecomplete.el 7248;;; Generated autoloads from gnus/ecomplete.el
7234 7249
7235(autoload 'ecomplete-setup "ecomplete" "\ 7250(autoload 'ecomplete-setup "ecomplete" "\
@@ -7239,7 +7254,7 @@ Not documented
7239 7254
7240;;;*** 7255;;;***
7241 7256
7242;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (19383 49276)) 7257;;;### (autoloads (global-ede-mode) "ede" "cedet/ede.el" (19636 58496))
7243;;; Generated autoloads from cedet/ede.el 7258;;; Generated autoloads from cedet/ede.el
7244 7259
7245(defvar global-ede-mode nil "\ 7260(defvar global-ede-mode nil "\
@@ -7265,7 +7280,7 @@ an EDE controlled project.
7265 7280
7266;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form 7281;;;### (autoloads (edebug-all-forms edebug-all-defs edebug-eval-top-level-form
7267;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug" 7282;;;;;; edebug-basic-spec edebug-all-forms edebug-all-defs) "edebug"
7268;;;;;; "emacs-lisp/edebug.el" (19383 49279)) 7283;;;;;; "emacs-lisp/edebug.el" (19636 58496))
7269;;; Generated autoloads from emacs-lisp/edebug.el 7284;;; Generated autoloads from emacs-lisp/edebug.el
7270 7285
7271(defvar edebug-all-defs nil "\ 7286(defvar edebug-all-defs nil "\
@@ -7338,7 +7353,7 @@ Toggle edebugging of all forms.
7338;;;;;; ediff-merge-directories-with-ancestor ediff-merge-directories 7353;;;;;; ediff-merge-directories-with-ancestor ediff-merge-directories
7339;;;;;; ediff-directories3 ediff-directory-revisions ediff-directories 7354;;;;;; ediff-directories3 ediff-directory-revisions ediff-directories
7340;;;;;; ediff-buffers3 ediff-buffers ediff-backup ediff-current-file 7355;;;;;; ediff-buffers3 ediff-buffers ediff-backup ediff-current-file
7341;;;;;; ediff-files3 ediff-files) "ediff" "ediff.el" (19383 49279)) 7356;;;;;; ediff-files3 ediff-files) "ediff" "ediff.el" (19636 58496))
7342;;; Generated autoloads from ediff.el 7357;;; Generated autoloads from ediff.el
7343 7358
7344(autoload 'ediff-files "ediff" "\ 7359(autoload 'ediff-files "ediff" "\
@@ -7570,7 +7585,7 @@ With optional NODE, goes to that node.
7570;;;*** 7585;;;***
7571 7586
7572;;;### (autoloads (ediff-customize) "ediff-help" "ediff-help.el" 7587;;;### (autoloads (ediff-customize) "ediff-help" "ediff-help.el"
7573;;;;;; (19383 49279)) 7588;;;;;; (19636 58496))
7574;;; Generated autoloads from ediff-help.el 7589;;; Generated autoloads from ediff-help.el
7575 7590
7576(autoload 'ediff-customize "ediff-help" "\ 7591(autoload 'ediff-customize "ediff-help" "\
@@ -7581,7 +7596,7 @@ Not documented
7581;;;*** 7596;;;***
7582 7597
7583;;;### (autoloads (ediff-show-registry) "ediff-mult" "ediff-mult.el" 7598;;;### (autoloads (ediff-show-registry) "ediff-mult" "ediff-mult.el"
7584;;;;;; (19383 49279)) 7599;;;;;; (19636 58496))
7585;;; Generated autoloads from ediff-mult.el 7600;;; Generated autoloads from ediff-mult.el
7586 7601
7587(autoload 'ediff-show-registry "ediff-mult" "\ 7602(autoload 'ediff-show-registry "ediff-mult" "\
@@ -7594,7 +7609,7 @@ Display Ediff's registry.
7594;;;*** 7609;;;***
7595 7610
7596;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe) 7611;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe)
7597;;;;;; "ediff-util" "ediff-util.el" (19383 49276)) 7612;;;;;; "ediff-util" "ediff-util.el" (19636 58496))
7598;;; Generated autoloads from ediff-util.el 7613;;; Generated autoloads from ediff-util.el
7599 7614
7600(autoload 'ediff-toggle-multiframe "ediff-util" "\ 7615(autoload 'ediff-toggle-multiframe "ediff-util" "\
@@ -7615,7 +7630,7 @@ To change the default, set the variable `ediff-use-toolbar-p', which see.
7615 7630
7616;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro 7631;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro
7617;;;;;; edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el" 7632;;;;;; edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el"
7618;;;;;; (19383 49279)) 7633;;;;;; (19636 58496))
7619;;; Generated autoloads from edmacro.el 7634;;; Generated autoloads from edmacro.el
7620 7635
7621(defvar edmacro-eight-bits nil "\ 7636(defvar edmacro-eight-bits nil "\
@@ -7668,7 +7683,7 @@ or nil, use a compact 80-column format.
7668;;;*** 7683;;;***
7669 7684
7670;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt" 7685;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt"
7671;;;;;; "emulation/edt.el" (19383 49279)) 7686;;;;;; "emulation/edt.el" (19636 58496))
7672;;; Generated autoloads from emulation/edt.el 7687;;; Generated autoloads from emulation/edt.el
7673 7688
7674(autoload 'edt-set-scroll-margins "edt" "\ 7689(autoload 'edt-set-scroll-margins "edt" "\
@@ -7686,7 +7701,7 @@ Turn on EDT Emulation.
7686;;;*** 7701;;;***
7687 7702
7688;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el" 7703;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el"
7689;;;;;; (19383 49279)) 7704;;;;;; (19636 58496))
7690;;; Generated autoloads from ehelp.el 7705;;; Generated autoloads from ehelp.el
7691 7706
7692(autoload 'with-electric-help "ehelp" "\ 7707(autoload 'with-electric-help "ehelp" "\
@@ -7723,7 +7738,7 @@ Not documented
7723;;;*** 7738;;;***
7724 7739
7725;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string) 7740;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string)
7726;;;;;; "eldoc" "emacs-lisp/eldoc.el" (19383 49279)) 7741;;;;;; "eldoc" "emacs-lisp/eldoc.el" (19636 58496))
7727;;; Generated autoloads from emacs-lisp/eldoc.el 7742;;; Generated autoloads from emacs-lisp/eldoc.el
7728 7743
7729(defvar eldoc-minor-mode-string (purecopy " ElDoc") "\ 7744(defvar eldoc-minor-mode-string (purecopy " ElDoc") "\
@@ -7766,8 +7781,8 @@ Emacs Lisp mode) that support ElDoc.")
7766 7781
7767;;;*** 7782;;;***
7768 7783
7769;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (19383 7784;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (19636
7770;;;;;; 49279)) 7785;;;;;; 58496))
7771;;; Generated autoloads from elide-head.el 7786;;; Generated autoloads from elide-head.el
7772 7787
7773(autoload 'elide-head "elide-head" "\ 7788(autoload 'elide-head "elide-head" "\
@@ -7784,7 +7799,7 @@ This is suitable as an entry on `find-file-hook' or appropriate mode hooks.
7784 7799
7785;;;### (autoloads (elint-initialize elint-defun elint-current-buffer 7800;;;### (autoloads (elint-initialize elint-defun elint-current-buffer
7786;;;;;; elint-directory elint-file) "elint" "emacs-lisp/elint.el" 7801;;;;;; elint-directory elint-file) "elint" "emacs-lisp/elint.el"
7787;;;;;; (19383 49284)) 7802;;;;;; (19636 58496))
7788;;; Generated autoloads from emacs-lisp/elint.el 7803;;; Generated autoloads from emacs-lisp/elint.el
7789 7804
7790(autoload 'elint-file "elint" "\ 7805(autoload 'elint-file "elint" "\
@@ -7820,8 +7835,8 @@ optional prefix argument REINIT is non-nil.
7820;;;*** 7835;;;***
7821 7836
7822;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list 7837;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list
7823;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (19383 7838;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (19636
7824;;;;;; 49279)) 7839;;;;;; 58496))
7825;;; Generated autoloads from emacs-lisp/elp.el 7840;;; Generated autoloads from emacs-lisp/elp.el
7826 7841
7827(autoload 'elp-instrument-function "elp" "\ 7842(autoload 'elp-instrument-function "elp" "\
@@ -7856,7 +7871,7 @@ displayed.
7856;;;*** 7871;;;***
7857 7872
7858;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el" 7873;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el"
7859;;;;;; (19383 49279)) 7874;;;;;; (19641 1152))
7860;;; Generated autoloads from mail/emacsbug.el 7875;;; Generated autoloads from mail/emacsbug.el
7861 7876
7862(autoload 'report-emacs-bug "emacsbug" "\ 7877(autoload 'report-emacs-bug "emacsbug" "\
@@ -7871,7 +7886,7 @@ Prompts for bug subject. Leaves you in a mail buffer.
7871;;;;;; emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote 7886;;;;;; emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote
7872;;;;;; emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor 7887;;;;;; emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor
7873;;;;;; emerge-buffers emerge-files-with-ancestor emerge-files) "emerge" 7888;;;;;; emerge-buffers emerge-files-with-ancestor emerge-files) "emerge"
7874;;;;;; "emerge.el" (19383 49279)) 7889;;;;;; "emerge.el" (19636 58496))
7875;;; Generated autoloads from emerge.el 7890;;; Generated autoloads from emerge.el
7876 7891
7877(autoload 'emerge-files "emerge" "\ 7892(autoload 'emerge-files "emerge" "\
@@ -7932,7 +7947,7 @@ Not documented
7932;;;*** 7947;;;***
7933 7948
7934;;;### (autoloads (enriched-decode enriched-encode enriched-mode) 7949;;;### (autoloads (enriched-decode enriched-encode enriched-mode)
7935;;;;;; "enriched" "textmodes/enriched.el" (19383 49279)) 7950;;;;;; "enriched" "textmodes/enriched.el" (19636 58496))
7936;;; Generated autoloads from textmodes/enriched.el 7951;;; Generated autoloads from textmodes/enriched.el
7937 7952
7938(autoload 'enriched-mode "enriched" "\ 7953(autoload 'enriched-mode "enriched" "\
@@ -7967,8 +7982,8 @@ Not documented
7967;;;;;; epa-sign-region epa-verify-cleartext-in-region epa-verify-region 7982;;;;;; epa-sign-region epa-verify-cleartext-in-region epa-verify-region
7968;;;;;; epa-decrypt-armor-in-region epa-decrypt-region epa-encrypt-file 7983;;;;;; epa-decrypt-armor-in-region epa-decrypt-region epa-encrypt-file
7969;;;;;; epa-sign-file epa-verify-file epa-decrypt-file epa-select-keys 7984;;;;;; epa-sign-file epa-verify-file epa-decrypt-file epa-select-keys
7970;;;;;; epa-list-secret-keys epa-list-keys) "epa" "epa.el" (19383 7985;;;;;; epa-list-secret-keys epa-list-keys) "epa" "epa.el" (19636
7971;;;;;; 49279)) 7986;;;;;; 58496))
7972;;; Generated autoloads from epa.el 7987;;; Generated autoloads from epa.el
7973 7988
7974(autoload 'epa-list-keys "epa" "\ 7989(autoload 'epa-list-keys "epa" "\
@@ -8141,7 +8156,7 @@ Insert selected KEYS after the point.
8141;;;*** 8156;;;***
8142 8157
8143;;;### (autoloads (epa-dired-do-encrypt epa-dired-do-sign epa-dired-do-verify 8158;;;### (autoloads (epa-dired-do-encrypt epa-dired-do-sign epa-dired-do-verify
8144;;;;;; epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (19383 49279)) 8159;;;;;; epa-dired-do-decrypt) "epa-dired" "epa-dired.el" (19636 58496))
8145;;; Generated autoloads from epa-dired.el 8160;;; Generated autoloads from epa-dired.el
8146 8161
8147(autoload 'epa-dired-do-decrypt "epa-dired" "\ 8162(autoload 'epa-dired-do-decrypt "epa-dired" "\
@@ -8167,7 +8182,7 @@ Encrypt marked files.
8167;;;*** 8182;;;***
8168 8183
8169;;;### (autoloads (epa-file-disable epa-file-enable epa-file-handler) 8184;;;### (autoloads (epa-file-disable epa-file-enable epa-file-handler)
8170;;;;;; "epa-file" "epa-file.el" (19383 49279)) 8185;;;;;; "epa-file" "epa-file.el" (19636 58496))
8171;;; Generated autoloads from epa-file.el 8186;;; Generated autoloads from epa-file.el
8172 8187
8173(autoload 'epa-file-handler "epa-file" "\ 8188(autoload 'epa-file-handler "epa-file" "\
@@ -8189,7 +8204,7 @@ Not documented
8189 8204
8190;;;### (autoloads (epa-global-mail-mode epa-mail-import-keys epa-mail-encrypt 8205;;;### (autoloads (epa-global-mail-mode epa-mail-import-keys epa-mail-encrypt
8191;;;;;; epa-mail-sign epa-mail-verify epa-mail-decrypt epa-mail-mode) 8206;;;;;; epa-mail-sign epa-mail-verify epa-mail-decrypt epa-mail-mode)
8192;;;;;; "epa-mail" "epa-mail.el" (19383 49279)) 8207;;;;;; "epa-mail" "epa-mail.el" (19636 58496))
8193;;; Generated autoloads from epa-mail.el 8208;;; Generated autoloads from epa-mail.el
8194 8209
8195(autoload 'epa-mail-mode "epa-mail" "\ 8210(autoload 'epa-mail-mode "epa-mail" "\
@@ -8253,7 +8268,7 @@ Minor mode to hook EasyPG into Mail mode.
8253 8268
8254;;;*** 8269;;;***
8255 8270
8256;;;### (autoloads (epg-make-context) "epg" "epg.el" (19383 49279)) 8271;;;### (autoloads (epg-make-context) "epg" "epg.el" (19636 58496))
8257;;; Generated autoloads from epg.el 8272;;; Generated autoloads from epg.el
8258 8273
8259(autoload 'epg-make-context "epg" "\ 8274(autoload 'epg-make-context "epg" "\
@@ -8264,7 +8279,7 @@ Return a context object.
8264;;;*** 8279;;;***
8265 8280
8266;;;### (autoloads (epg-expand-group epg-check-configuration epg-configuration) 8281;;;### (autoloads (epg-expand-group epg-check-configuration epg-configuration)
8267;;;;;; "epg-config" "epg-config.el" (19383 49279)) 8282;;;;;; "epg-config" "epg-config.el" (19636 58496))
8268;;; Generated autoloads from epg-config.el 8283;;; Generated autoloads from epg-config.el
8269 8284
8270(autoload 'epg-configuration "epg-config" "\ 8285(autoload 'epg-configuration "epg-config" "\
@@ -8285,7 +8300,7 @@ Look at CONFIG and try to expand GROUP.
8285;;;*** 8300;;;***
8286 8301
8287;;;### (autoloads (erc-handle-irc-url erc erc-select-read-args) "erc" 8302;;;### (autoloads (erc-handle-irc-url erc erc-select-read-args) "erc"
8288;;;;;; "erc/erc.el" (19383 49276)) 8303;;;;;; "erc/erc.el" (19636 58496))
8289;;; Generated autoloads from erc/erc.el 8304;;; Generated autoloads from erc/erc.el
8290 8305
8291(autoload 'erc-select-read-args "erc" "\ 8306(autoload 'erc-select-read-args "erc" "\
@@ -8327,33 +8342,33 @@ Otherwise, connect to HOST:PORT as USER and /join CHANNEL.
8327 8342
8328;;;*** 8343;;;***
8329 8344
8330;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (19383 8345;;;### (autoloads nil "erc-autoaway" "erc/erc-autoaway.el" (19636
8331;;;;;; 49279)) 8346;;;;;; 58496))
8332;;; Generated autoloads from erc/erc-autoaway.el 8347;;; Generated autoloads from erc/erc-autoaway.el
8333 (autoload 'erc-autoaway-mode "erc-autoaway") 8348 (autoload 'erc-autoaway-mode "erc-autoaway")
8334 8349
8335;;;*** 8350;;;***
8336 8351
8337;;;### (autoloads nil "erc-button" "erc/erc-button.el" (19383 49279)) 8352;;;### (autoloads nil "erc-button" "erc/erc-button.el" (19636 58496))
8338;;; Generated autoloads from erc/erc-button.el 8353;;; Generated autoloads from erc/erc-button.el
8339 (autoload 'erc-button-mode "erc-button" nil t) 8354 (autoload 'erc-button-mode "erc-button" nil t)
8340 8355
8341;;;*** 8356;;;***
8342 8357
8343;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (19383 49279)) 8358;;;### (autoloads nil "erc-capab" "erc/erc-capab.el" (19636 58496))
8344;;; Generated autoloads from erc/erc-capab.el 8359;;; Generated autoloads from erc/erc-capab.el
8345 (autoload 'erc-capab-identify-mode "erc-capab" nil t) 8360 (autoload 'erc-capab-identify-mode "erc-capab" nil t)
8346 8361
8347;;;*** 8362;;;***
8348 8363
8349;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (19383 49279)) 8364;;;### (autoloads nil "erc-compat" "erc/erc-compat.el" (19636 58496))
8350;;; Generated autoloads from erc/erc-compat.el 8365;;; Generated autoloads from erc/erc-compat.el
8351 (autoload 'erc-define-minor-mode "erc-compat") 8366 (autoload 'erc-define-minor-mode "erc-compat")
8352 8367
8353;;;*** 8368;;;***
8354 8369
8355;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC) 8370;;;### (autoloads (erc-ctcp-query-DCC pcomplete/erc-mode/DCC erc-cmd-DCC)
8356;;;;;; "erc-dcc" "erc/erc-dcc.el" (19383 49279)) 8371;;;;;; "erc-dcc" "erc/erc-dcc.el" (19636 58496))
8357;;; Generated autoloads from erc/erc-dcc.el 8372;;; Generated autoloads from erc/erc-dcc.el
8358 (autoload 'erc-dcc-mode "erc-dcc") 8373 (autoload 'erc-dcc-mode "erc-dcc")
8359 8374
@@ -8386,7 +8401,7 @@ that subcommand.
8386;;;;;; erc-ezb-add-session erc-ezb-end-of-session-list erc-ezb-init-session-list 8401;;;;;; erc-ezb-add-session erc-ezb-end-of-session-list erc-ezb-init-session-list
8387;;;;;; erc-ezb-identify erc-ezb-notice-autodetect erc-ezb-lookup-action 8402;;;;;; erc-ezb-identify erc-ezb-notice-autodetect erc-ezb-lookup-action
8388;;;;;; erc-ezb-get-login erc-cmd-ezb) "erc-ezbounce" "erc/erc-ezbounce.el" 8403;;;;;; erc-ezb-get-login erc-cmd-ezb) "erc-ezbounce" "erc/erc-ezbounce.el"
8389;;;;;; (19383 49279)) 8404;;;;;; (19636 58496))
8390;;; Generated autoloads from erc/erc-ezbounce.el 8405;;; Generated autoloads from erc/erc-ezbounce.el
8391 8406
8392(autoload 'erc-cmd-ezb "erc-ezbounce" "\ 8407(autoload 'erc-cmd-ezb "erc-ezbounce" "\
@@ -8448,8 +8463,8 @@ Add EZBouncer convenience functions to ERC.
8448 8463
8449;;;*** 8464;;;***
8450 8465
8451;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (19383 8466;;;### (autoloads (erc-fill) "erc-fill" "erc/erc-fill.el" (19636
8452;;;;;; 49279)) 8467;;;;;; 58496))
8453;;; Generated autoloads from erc/erc-fill.el 8468;;; Generated autoloads from erc/erc-fill.el
8454 (autoload 'erc-fill-mode "erc-fill" nil t) 8469 (autoload 'erc-fill-mode "erc-fill" nil t)
8455 8470
@@ -8461,15 +8476,15 @@ You can put this on `erc-insert-modify-hook' and/or `erc-send-modify-hook'.
8461 8476
8462;;;*** 8477;;;***
8463 8478
8464;;;### (autoloads nil "erc-hecomplete" "erc/erc-hecomplete.el" (19383 8479;;;### (autoloads nil "erc-hecomplete" "erc/erc-hecomplete.el" (19636
8465;;;;;; 49279)) 8480;;;;;; 58496))
8466;;; Generated autoloads from erc/erc-hecomplete.el 8481;;; Generated autoloads from erc/erc-hecomplete.el
8467 (autoload 'erc-hecomplete-mode "erc-hecomplete" nil t) 8482 (autoload 'erc-hecomplete-mode "erc-hecomplete" nil t)
8468 8483
8469;;;*** 8484;;;***
8470 8485
8471;;;### (autoloads (erc-identd-stop erc-identd-start) "erc-identd" 8486;;;### (autoloads (erc-identd-stop erc-identd-start) "erc-identd"
8472;;;;;; "erc/erc-identd.el" (19383 49279)) 8487;;;;;; "erc/erc-identd.el" (19636 58496))
8473;;; Generated autoloads from erc/erc-identd.el 8488;;; Generated autoloads from erc/erc-identd.el
8474 (autoload 'erc-identd-mode "erc-identd") 8489 (autoload 'erc-identd-mode "erc-identd")
8475 8490
@@ -8491,7 +8506,7 @@ Not documented
8491;;;*** 8506;;;***
8492 8507
8493;;;### (autoloads (erc-create-imenu-index) "erc-imenu" "erc/erc-imenu.el" 8508;;;### (autoloads (erc-create-imenu-index) "erc-imenu" "erc/erc-imenu.el"
8494;;;;;; (19383 49279)) 8509;;;;;; (19636 58496))
8495;;; Generated autoloads from erc/erc-imenu.el 8510;;; Generated autoloads from erc/erc-imenu.el
8496 8511
8497(autoload 'erc-create-imenu-index "erc-imenu" "\ 8512(autoload 'erc-create-imenu-index "erc-imenu" "\
@@ -8501,20 +8516,20 @@ Not documented
8501 8516
8502;;;*** 8517;;;***
8503 8518
8504;;;### (autoloads nil "erc-join" "erc/erc-join.el" (19383 49279)) 8519;;;### (autoloads nil "erc-join" "erc/erc-join.el" (19636 58496))
8505;;; Generated autoloads from erc/erc-join.el 8520;;; Generated autoloads from erc/erc-join.el
8506 (autoload 'erc-autojoin-mode "erc-join" nil t) 8521 (autoload 'erc-autojoin-mode "erc-join" nil t)
8507 8522
8508;;;*** 8523;;;***
8509 8524
8510;;;### (autoloads nil "erc-list" "erc/erc-list.el" (19383 49279)) 8525;;;### (autoloads nil "erc-list" "erc/erc-list.el" (19636 58496))
8511;;; Generated autoloads from erc/erc-list.el 8526;;; Generated autoloads from erc/erc-list.el
8512 (autoload 'erc-list-mode "erc-list") 8527 (autoload 'erc-list-mode "erc-list")
8513 8528
8514;;;*** 8529;;;***
8515 8530
8516;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log" 8531;;;### (autoloads (erc-save-buffer-in-logs erc-logging-enabled) "erc-log"
8517;;;;;; "erc/erc-log.el" (19383 49279)) 8532;;;;;; "erc/erc-log.el" (19636 58496))
8518;;; Generated autoloads from erc/erc-log.el 8533;;; Generated autoloads from erc/erc-log.el
8519 (autoload 'erc-log-mode "erc-log" nil t) 8534 (autoload 'erc-log-mode "erc-log" nil t)
8520 8535
@@ -8546,7 +8561,7 @@ You can save every individual message by putting this function on
8546;;;### (autoloads (erc-delete-dangerous-host erc-add-dangerous-host 8561;;;### (autoloads (erc-delete-dangerous-host erc-add-dangerous-host
8547;;;;;; erc-delete-keyword erc-add-keyword erc-delete-fool erc-add-fool 8562;;;;;; erc-delete-keyword erc-add-keyword erc-delete-fool erc-add-fool
8548;;;;;; erc-delete-pal erc-add-pal) "erc-match" "erc/erc-match.el" 8563;;;;;; erc-delete-pal erc-add-pal) "erc-match" "erc/erc-match.el"
8549;;;;;; (19383 49279)) 8564;;;;;; (19636 58496))
8550;;; Generated autoloads from erc/erc-match.el 8565;;; Generated autoloads from erc/erc-match.el
8551 (autoload 'erc-match-mode "erc-match") 8566 (autoload 'erc-match-mode "erc-match")
8552 8567
@@ -8592,14 +8607,14 @@ Delete dangerous-host interactively to `erc-dangerous-hosts'.
8592 8607
8593;;;*** 8608;;;***
8594 8609
8595;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (19383 49279)) 8610;;;### (autoloads nil "erc-menu" "erc/erc-menu.el" (19636 58496))
8596;;; Generated autoloads from erc/erc-menu.el 8611;;; Generated autoloads from erc/erc-menu.el
8597 (autoload 'erc-menu-mode "erc-menu" nil t) 8612 (autoload 'erc-menu-mode "erc-menu" nil t)
8598 8613
8599;;;*** 8614;;;***
8600 8615
8601;;;### (autoloads (erc-cmd-WHOLEFT) "erc-netsplit" "erc/erc-netsplit.el" 8616;;;### (autoloads (erc-cmd-WHOLEFT) "erc-netsplit" "erc/erc-netsplit.el"
8602;;;;;; (19383 49279)) 8617;;;;;; (19636 58496))
8603;;; Generated autoloads from erc/erc-netsplit.el 8618;;; Generated autoloads from erc/erc-netsplit.el
8604 (autoload 'erc-netsplit-mode "erc-netsplit") 8619 (autoload 'erc-netsplit-mode "erc-netsplit")
8605 8620
@@ -8611,7 +8626,7 @@ Show who's gone.
8611;;;*** 8626;;;***
8612 8627
8613;;;### (autoloads (erc-server-select erc-determine-network) "erc-networks" 8628;;;### (autoloads (erc-server-select erc-determine-network) "erc-networks"
8614;;;;;; "erc/erc-networks.el" (19383 49279)) 8629;;;;;; "erc/erc-networks.el" (19636 58496))
8615;;; Generated autoloads from erc/erc-networks.el 8630;;; Generated autoloads from erc/erc-networks.el
8616 8631
8617(autoload 'erc-determine-network "erc-networks" "\ 8632(autoload 'erc-determine-network "erc-networks" "\
@@ -8629,7 +8644,7 @@ Interactively select a server to connect to using `erc-server-alist'.
8629;;;*** 8644;;;***
8630 8645
8631;;;### (autoloads (pcomplete/erc-mode/NOTIFY erc-cmd-NOTIFY) "erc-notify" 8646;;;### (autoloads (pcomplete/erc-mode/NOTIFY erc-cmd-NOTIFY) "erc-notify"
8632;;;;;; "erc/erc-notify.el" (19383 49279)) 8647;;;;;; "erc/erc-notify.el" (19636 58496))
8633;;; Generated autoloads from erc/erc-notify.el 8648;;; Generated autoloads from erc/erc-notify.el
8634 (autoload 'erc-notify-mode "erc-notify" nil t) 8649 (autoload 'erc-notify-mode "erc-notify" nil t)
8635 8650
@@ -8647,33 +8662,33 @@ Not documented
8647 8662
8648;;;*** 8663;;;***
8649 8664
8650;;;### (autoloads nil "erc-page" "erc/erc-page.el" (19383 49279)) 8665;;;### (autoloads nil "erc-page" "erc/erc-page.el" (19636 58496))
8651;;; Generated autoloads from erc/erc-page.el 8666;;; Generated autoloads from erc/erc-page.el
8652 (autoload 'erc-page-mode "erc-page") 8667 (autoload 'erc-page-mode "erc-page")
8653 8668
8654;;;*** 8669;;;***
8655 8670
8656;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (19383 8671;;;### (autoloads nil "erc-pcomplete" "erc/erc-pcomplete.el" (19636
8657;;;;;; 49279)) 8672;;;;;; 58496))
8658;;; Generated autoloads from erc/erc-pcomplete.el 8673;;; Generated autoloads from erc/erc-pcomplete.el
8659 (autoload 'erc-completion-mode "erc-pcomplete" nil t) 8674 (autoload 'erc-completion-mode "erc-pcomplete" nil t)
8660 8675
8661;;;*** 8676;;;***
8662 8677
8663;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (19383 49279)) 8678;;;### (autoloads nil "erc-replace" "erc/erc-replace.el" (19636 58496))
8664;;; Generated autoloads from erc/erc-replace.el 8679;;; Generated autoloads from erc/erc-replace.el
8665 (autoload 'erc-replace-mode "erc-replace") 8680 (autoload 'erc-replace-mode "erc-replace")
8666 8681
8667;;;*** 8682;;;***
8668 8683
8669;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (19383 49279)) 8684;;;### (autoloads nil "erc-ring" "erc/erc-ring.el" (19636 58496))
8670;;; Generated autoloads from erc/erc-ring.el 8685;;; Generated autoloads from erc/erc-ring.el
8671 (autoload 'erc-ring-mode "erc-ring" nil t) 8686 (autoload 'erc-ring-mode "erc-ring" nil t)
8672 8687
8673;;;*** 8688;;;***
8674 8689
8675;;;### (autoloads (erc-nickserv-identify erc-nickserv-identify-mode) 8690;;;### (autoloads (erc-nickserv-identify erc-nickserv-identify-mode)
8676;;;;;; "erc-services" "erc/erc-services.el" (19383 49276)) 8691;;;;;; "erc-services" "erc/erc-services.el" (19636 58496))
8677;;; Generated autoloads from erc/erc-services.el 8692;;; Generated autoloads from erc/erc-services.el
8678 (autoload 'erc-services-mode "erc-services" nil t) 8693 (autoload 'erc-services-mode "erc-services" nil t)
8679 8694
@@ -8690,14 +8705,14 @@ When called interactively, read the password using `read-passwd'.
8690 8705
8691;;;*** 8706;;;***
8692 8707
8693;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (19383 49279)) 8708;;;### (autoloads nil "erc-sound" "erc/erc-sound.el" (19636 58496))
8694;;; Generated autoloads from erc/erc-sound.el 8709;;; Generated autoloads from erc/erc-sound.el
8695 (autoload 'erc-sound-mode "erc-sound") 8710 (autoload 'erc-sound-mode "erc-sound")
8696 8711
8697;;;*** 8712;;;***
8698 8713
8699;;;### (autoloads (erc-speedbar-browser) "erc-speedbar" "erc/erc-speedbar.el" 8714;;;### (autoloads (erc-speedbar-browser) "erc-speedbar" "erc/erc-speedbar.el"
8700;;;;;; (19383 49279)) 8715;;;;;; (19636 58496))
8701;;; Generated autoloads from erc/erc-speedbar.el 8716;;; Generated autoloads from erc/erc-speedbar.el
8702 8717
8703(autoload 'erc-speedbar-browser "erc-speedbar" "\ 8718(autoload 'erc-speedbar-browser "erc-speedbar" "\
@@ -8708,21 +8723,21 @@ This will add a speedbar major display mode.
8708 8723
8709;;;*** 8724;;;***
8710 8725
8711;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (19383 8726;;;### (autoloads nil "erc-spelling" "erc/erc-spelling.el" (19636
8712;;;;;; 49279)) 8727;;;;;; 58496))
8713;;; Generated autoloads from erc/erc-spelling.el 8728;;; Generated autoloads from erc/erc-spelling.el
8714 (autoload 'erc-spelling-mode "erc-spelling" nil t) 8729 (autoload 'erc-spelling-mode "erc-spelling" nil t)
8715 8730
8716;;;*** 8731;;;***
8717 8732
8718;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (19383 49279)) 8733;;;### (autoloads nil "erc-stamp" "erc/erc-stamp.el" (19636 58496))
8719;;; Generated autoloads from erc/erc-stamp.el 8734;;; Generated autoloads from erc/erc-stamp.el
8720 (autoload 'erc-timestamp-mode "erc-stamp" nil t) 8735 (autoload 'erc-timestamp-mode "erc-stamp" nil t)
8721 8736
8722;;;*** 8737;;;***
8723 8738
8724;;;### (autoloads (erc-track-minor-mode) "erc-track" "erc/erc-track.el" 8739;;;### (autoloads (erc-track-minor-mode) "erc-track" "erc/erc-track.el"
8725;;;;;; (19383 49279)) 8740;;;;;; (19636 58496))
8726;;; Generated autoloads from erc/erc-track.el 8741;;; Generated autoloads from erc/erc-track.el
8727 8742
8728(defvar erc-track-minor-mode nil "\ 8743(defvar erc-track-minor-mode nil "\
@@ -8745,7 +8760,7 @@ module, otherwise the keybindings will not do anything useful.
8745;;;*** 8760;;;***
8746 8761
8747;;;### (autoloads (erc-truncate-buffer erc-truncate-buffer-to-size) 8762;;;### (autoloads (erc-truncate-buffer erc-truncate-buffer-to-size)
8748;;;;;; "erc-truncate" "erc/erc-truncate.el" (19383 49279)) 8763;;;;;; "erc-truncate" "erc/erc-truncate.el" (19636 58496))
8749;;; Generated autoloads from erc/erc-truncate.el 8764;;; Generated autoloads from erc/erc-truncate.el
8750 (autoload 'erc-truncate-mode "erc-truncate" nil t) 8765 (autoload 'erc-truncate-mode "erc-truncate" nil t)
8751 8766
@@ -8765,7 +8780,7 @@ Meant to be used in hooks, like `erc-insert-post-hook'.
8765;;;*** 8780;;;***
8766 8781
8767;;;### (autoloads (erc-xdcc-add-file) "erc-xdcc" "erc/erc-xdcc.el" 8782;;;### (autoloads (erc-xdcc-add-file) "erc-xdcc" "erc/erc-xdcc.el"
8768;;;;;; (19383 49279)) 8783;;;;;; (19641 1152))
8769;;; Generated autoloads from erc/erc-xdcc.el 8784;;; Generated autoloads from erc/erc-xdcc.el
8770 (autoload 'erc-xdcc-mode "erc-xdcc") 8785 (autoload 'erc-xdcc-mode "erc-xdcc")
8771 8786
@@ -8776,8 +8791,8 @@ Add a file to `erc-xdcc-files'.
8776 8791
8777;;;*** 8792;;;***
8778 8793
8779;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (19383 8794;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (19636
8780;;;;;; 49279)) 8795;;;;;; 58496))
8781;;; Generated autoloads from eshell/esh-mode.el 8796;;; Generated autoloads from eshell/esh-mode.el
8782 8797
8783(autoload 'eshell-mode "esh-mode" "\ 8798(autoload 'eshell-mode "esh-mode" "\
@@ -8789,8 +8804,8 @@ Emacs shell interactive mode.
8789 8804
8790;;;*** 8805;;;***
8791 8806
8792;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (19383 8807;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (19636
8793;;;;;; 49279)) 8808;;;;;; 58496))
8794;;; Generated autoloads from eshell/esh-test.el 8809;;; Generated autoloads from eshell/esh-test.el
8795 8810
8796(autoload 'eshell-test "esh-test" "\ 8811(autoload 'eshell-test "esh-test" "\
@@ -8801,7 +8816,7 @@ Test Eshell to verify that it works as expected.
8801;;;*** 8816;;;***
8802 8817
8803;;;### (autoloads (eshell-command-result eshell-command eshell) "eshell" 8818;;;### (autoloads (eshell-command-result eshell-command eshell) "eshell"
8804;;;;;; "eshell/eshell.el" (19383 49284)) 8819;;;;;; "eshell/eshell.el" (19636 58496))
8805;;; Generated autoloads from eshell/eshell.el 8820;;; Generated autoloads from eshell/eshell.el
8806 8821
8807(autoload 'eshell "eshell" "\ 8822(autoload 'eshell "eshell" "\
@@ -8842,7 +8857,7 @@ corresponding to a successful execution.
8842;;;;;; visit-tags-table tags-table-mode find-tag-default-function 8857;;;;;; visit-tags-table tags-table-mode find-tag-default-function
8843;;;;;; find-tag-hook tags-add-tables tags-compression-info-list 8858;;;;;; find-tag-hook tags-add-tables tags-compression-info-list
8844;;;;;; tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el" 8859;;;;;; tags-table-list tags-case-fold-search) "etags" "progmodes/etags.el"
8845;;;;;; (19383 49279)) 8860;;;;;; (19636 58496))
8846;;; Generated autoloads from progmodes/etags.el 8861;;; Generated autoloads from progmodes/etags.el
8847 8862
8848(defvar tags-file-name nil "\ 8863(defvar tags-file-name nil "\
@@ -9150,7 +9165,7 @@ for \\[find-tag] (which see).
9150;;;;;; ethio-fidel-to-sera-marker ethio-fidel-to-sera-region ethio-fidel-to-sera-buffer 9165;;;;;; ethio-fidel-to-sera-marker ethio-fidel-to-sera-region ethio-fidel-to-sera-buffer
9151;;;;;; ethio-sera-to-fidel-marker ethio-sera-to-fidel-region ethio-sera-to-fidel-buffer 9166;;;;;; ethio-sera-to-fidel-marker ethio-sera-to-fidel-region ethio-sera-to-fidel-buffer
9152;;;;;; setup-ethiopic-environment-internal) "ethio-util" "language/ethio-util.el" 9167;;;;;; setup-ethiopic-environment-internal) "ethio-util" "language/ethio-util.el"
9153;;;;;; (19383 49279)) 9168;;;;;; (19636 58496))
9154;;; Generated autoloads from language/ethio-util.el 9169;;; Generated autoloads from language/ethio-util.el
9155 9170
9156(autoload 'setup-ethiopic-environment-internal "ethio-util" "\ 9171(autoload 'setup-ethiopic-environment-internal "ethio-util" "\
@@ -9320,7 +9335,7 @@ Not documented
9320 9335
9321;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline 9336;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline
9322;;;;;; eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el" 9337;;;;;; eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el"
9323;;;;;; (19383 49279)) 9338;;;;;; (19636 58496))
9324;;; Generated autoloads from net/eudc.el 9339;;; Generated autoloads from net/eudc.el
9325 9340
9326(autoload 'eudc-set-server "eudc" "\ 9341(autoload 'eudc-set-server "eudc" "\
@@ -9376,7 +9391,7 @@ This does nothing except loading eudc by autoload side-effect.
9376 9391
9377;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline 9392;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline
9378;;;;;; eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary) 9393;;;;;; eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary)
9379;;;;;; "eudc-bob" "net/eudc-bob.el" (19383 49279)) 9394;;;;;; "eudc-bob" "net/eudc-bob.el" (19636 58496))
9380;;; Generated autoloads from net/eudc-bob.el 9395;;; Generated autoloads from net/eudc-bob.el
9381 9396
9382(autoload 'eudc-display-generic-binary "eudc-bob" "\ 9397(autoload 'eudc-display-generic-binary "eudc-bob" "\
@@ -9412,7 +9427,7 @@ Display a button for the JPEG DATA.
9412;;;*** 9427;;;***
9413 9428
9414;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb) 9429;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb)
9415;;;;;; "eudc-export" "net/eudc-export.el" (19383 49279)) 9430;;;;;; "eudc-export" "net/eudc-export.el" (19636 58496))
9416;;; Generated autoloads from net/eudc-export.el 9431;;; Generated autoloads from net/eudc-export.el
9417 9432
9418(autoload 'eudc-insert-record-at-point-into-bbdb "eudc-export" "\ 9433(autoload 'eudc-insert-record-at-point-into-bbdb "eudc-export" "\
@@ -9429,7 +9444,7 @@ Call `eudc-insert-record-at-point-into-bbdb' if on a record.
9429;;;*** 9444;;;***
9430 9445
9431;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el" 9446;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el"
9432;;;;;; (19383 49279)) 9447;;;;;; (19636 58496))
9433;;; Generated autoloads from net/eudc-hotlist.el 9448;;; Generated autoloads from net/eudc-hotlist.el
9434 9449
9435(autoload 'eudc-edit-hotlist "eudc-hotlist" "\ 9450(autoload 'eudc-edit-hotlist "eudc-hotlist" "\
@@ -9439,8 +9454,8 @@ Edit the hotlist of directory servers in a specialized buffer.
9439 9454
9440;;;*** 9455;;;***
9441 9456
9442;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (19383 9457;;;### (autoloads (ewoc-create) "ewoc" "emacs-lisp/ewoc.el" (19636
9443;;;;;; 49279)) 9458;;;;;; 58496))
9444;;; Generated autoloads from emacs-lisp/ewoc.el 9459;;; Generated autoloads from emacs-lisp/ewoc.el
9445 9460
9446(autoload 'ewoc-create "ewoc" "\ 9461(autoload 'ewoc-create "ewoc" "\
@@ -9469,7 +9484,7 @@ fourth arg NOSEP non-nil inhibits this.
9469;;;### (autoloads (executable-make-buffer-file-executable-if-script-p 9484;;;### (autoloads (executable-make-buffer-file-executable-if-script-p
9470;;;;;; executable-self-display executable-set-magic executable-interpret 9485;;;;;; executable-self-display executable-set-magic executable-interpret
9471;;;;;; executable-command-find-posix-p) "executable" "progmodes/executable.el" 9486;;;;;; executable-command-find-posix-p) "executable" "progmodes/executable.el"
9472;;;;;; (19383 49279)) 9487;;;;;; (19636 58496))
9473;;; Generated autoloads from progmodes/executable.el 9488;;; Generated autoloads from progmodes/executable.el
9474 9489
9475(autoload 'executable-command-find-posix-p "executable" "\ 9490(autoload 'executable-command-find-posix-p "executable" "\
@@ -9512,7 +9527,7 @@ file modes.
9512 9527
9513;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot 9528;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot
9514;;;;;; expand-abbrev-hook expand-add-abbrevs) "expand" "expand.el" 9529;;;;;; expand-abbrev-hook expand-add-abbrevs) "expand" "expand.el"
9515;;;;;; (19383 49279)) 9530;;;;;; (19636 58496))
9516;;; Generated autoloads from expand.el 9531;;; Generated autoloads from expand.el
9517 9532
9518(autoload 'expand-add-abbrevs "expand" "\ 9533(autoload 'expand-add-abbrevs "expand" "\
@@ -9561,7 +9576,7 @@ This is used only in conjunction with `expand-add-abbrevs'.
9561 9576
9562;;;*** 9577;;;***
9563 9578
9564;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (19383 49276)) 9579;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (19636 58496))
9565;;; Generated autoloads from progmodes/f90.el 9580;;; Generated autoloads from progmodes/f90.el
9566 9581
9567(autoload 'f90-mode "f90" "\ 9582(autoload 'f90-mode "f90" "\
@@ -9627,8 +9642,8 @@ with no args, if that value is non-nil.
9627;;;### (autoloads (variable-pitch-mode buffer-face-toggle buffer-face-set 9642;;;### (autoloads (variable-pitch-mode buffer-face-toggle buffer-face-set
9628;;;;;; buffer-face-mode text-scale-adjust text-scale-decrease text-scale-increase 9643;;;;;; buffer-face-mode text-scale-adjust text-scale-decrease text-scale-increase
9629;;;;;; text-scale-set face-remap-set-base face-remap-reset-base 9644;;;;;; text-scale-set face-remap-set-base face-remap-reset-base
9630;;;;;; face-remap-add-relative) "face-remap" "face-remap.el" (19383 9645;;;;;; face-remap-add-relative) "face-remap" "face-remap.el" (19652
9631;;;;;; 49279)) 9646;;;;;; 24589))
9632;;; Generated autoloads from face-remap.el 9647;;; Generated autoloads from face-remap.el
9633 9648
9634(autoload 'face-remap-add-relative "face-remap" "\ 9649(autoload 'face-remap-add-relative "face-remap" "\
@@ -9768,7 +9783,7 @@ Besides the choice of face, it is the same as `buffer-face-mode'.
9768 9783
9769;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue 9784;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue
9770;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts 9785;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts
9771;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (19383 49279)) 9786;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (19636 58496))
9772;;; Generated autoloads from mail/feedmail.el 9787;;; Generated autoloads from mail/feedmail.el
9773 9788
9774(autoload 'feedmail-send-it "feedmail" "\ 9789(autoload 'feedmail-send-it "feedmail" "\
@@ -9822,7 +9837,7 @@ you can set `feedmail-queue-reminder-alist' to nil.
9822;;;*** 9837;;;***
9823 9838
9824;;;### (autoloads (ffap-bindings dired-at-point ffap-at-mouse ffap-menu 9839;;;### (autoloads (ffap-bindings dired-at-point ffap-at-mouse ffap-menu
9825;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (19383 49276)) 9840;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (19636 58496))
9826;;; Generated autoloads from ffap.el 9841;;; Generated autoloads from ffap.el
9827 9842
9828(autoload 'ffap-next "ffap" "\ 9843(autoload 'ffap-next "ffap" "\
@@ -9886,7 +9901,7 @@ Evaluate the forms in variable `ffap-bindings'.
9886;;;### (autoloads (file-cache-minibuffer-complete file-cache-add-directory-recursively 9901;;;### (autoloads (file-cache-minibuffer-complete file-cache-add-directory-recursively
9887;;;;;; file-cache-add-directory-using-locate file-cache-add-directory-using-find 9902;;;;;; file-cache-add-directory-using-locate file-cache-add-directory-using-find
9888;;;;;; file-cache-add-file file-cache-add-directory-list file-cache-add-directory) 9903;;;;;; file-cache-add-file file-cache-add-directory-list file-cache-add-directory)
9889;;;;;; "filecache" "filecache.el" (19409 46567)) 9904;;;;;; "filecache" "filecache.el" (19636 58496))
9890;;; Generated autoloads from filecache.el 9905;;; Generated autoloads from filecache.el
9891 9906
9892(autoload 'file-cache-add-directory "filecache" "\ 9907(autoload 'file-cache-add-directory "filecache" "\
@@ -9946,7 +9961,7 @@ the name is considered already unique; only the second substitution
9946;;;;;; copy-file-locals-to-dir-locals delete-dir-local-variable 9961;;;;;; copy-file-locals-to-dir-locals delete-dir-local-variable
9947;;;;;; add-dir-local-variable delete-file-local-variable-prop-line 9962;;;;;; add-dir-local-variable delete-file-local-variable-prop-line
9948;;;;;; add-file-local-variable-prop-line delete-file-local-variable 9963;;;;;; add-file-local-variable-prop-line delete-file-local-variable
9949;;;;;; add-file-local-variable) "files-x" "files-x.el" (19383 49279)) 9964;;;;;; add-file-local-variable) "files-x" "files-x.el" (19636 58496))
9950;;; Generated autoloads from files-x.el 9965;;; Generated autoloads from files-x.el
9951 9966
9952(autoload 'add-file-local-variable "files-x" "\ 9967(autoload 'add-file-local-variable "files-x" "\
@@ -10011,8 +10026,8 @@ Copy directory-local variables to the -*- line.
10011 10026
10012;;;*** 10027;;;***
10013 10028
10014;;;### (autoloads (filesets-init) "filesets" "filesets.el" (19383 10029;;;### (autoloads (filesets-init) "filesets" "filesets.el" (19636
10015;;;;;; 49279)) 10030;;;;;; 58496))
10016;;; Generated autoloads from filesets.el 10031;;; Generated autoloads from filesets.el
10017 10032
10018(autoload 'filesets-init "filesets" "\ 10033(autoload 'filesets-init "filesets" "\
@@ -10023,7 +10038,7 @@ Set up hooks, load the cache file -- if existing -- and build the menu.
10023 10038
10024;;;*** 10039;;;***
10025 10040
10026;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (19383 49279)) 10041;;;### (autoloads (find-cmd) "find-cmd" "find-cmd.el" (19636 58496))
10027;;; Generated autoloads from find-cmd.el 10042;;; Generated autoloads from find-cmd.el
10028 10043
10029(autoload 'find-cmd "find-cmd" "\ 10044(autoload 'find-cmd "find-cmd" "\
@@ -10044,7 +10059,7 @@ result is a string that should be ready for the command line.
10044 10059
10045;;;### (autoloads (find-grep-dired find-name-dired find-dired find-grep-options 10060;;;### (autoloads (find-grep-dired find-name-dired find-dired find-grep-options
10046;;;;;; find-ls-subdir-switches find-ls-option) "find-dired" "find-dired.el" 10061;;;;;; find-ls-subdir-switches find-ls-option) "find-dired" "find-dired.el"
10047;;;;;; (19422 11991)) 10062;;;;;; (19636 58496))
10048;;; Generated autoloads from find-dired.el 10063;;; Generated autoloads from find-dired.el
10049 10064
10050(defvar find-ls-option (if (eq system-type 'berkeley-unix) (purecopy '("-ls" . "-gilsb")) (purecopy '("-exec ls -ld {} \\;" . "-ld"))) "\ 10065(defvar find-ls-option (if (eq system-type 'berkeley-unix) (purecopy '("-ls" . "-gilsb")) (purecopy '("-exec ls -ld {} \\;" . "-ld"))) "\
@@ -10105,7 +10120,7 @@ Thus ARG can also contain additional grep options.
10105 10120
10106;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file 10121;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file
10107;;;;;; ff-find-other-file ff-get-other-file) "find-file" "find-file.el" 10122;;;;;; ff-find-other-file ff-get-other-file) "find-file" "find-file.el"
10108;;;;;; (19383 49279)) 10123;;;;;; (19636 58496))
10109;;; Generated autoloads from find-file.el 10124;;; Generated autoloads from find-file.el
10110 10125
10111(defvar ff-special-constructs `((,(purecopy "^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]") lambda nil (buffer-substring (match-beginning 2) (match-end 2)))) "\ 10126(defvar ff-special-constructs `((,(purecopy "^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]") lambda nil (buffer-substring (match-beginning 2) (match-end 2)))) "\
@@ -10199,7 +10214,7 @@ Visit the file you click on in another window.
10199;;;;;; find-variable find-variable-noselect find-function-other-frame 10214;;;;;; find-variable find-variable-noselect find-function-other-frame
10200;;;;;; find-function-other-window find-function find-function-noselect 10215;;;;;; find-function-other-window find-function find-function-noselect
10201;;;;;; find-function-search-for-symbol find-library) "find-func" 10216;;;;;; find-function-search-for-symbol find-library) "find-func"
10202;;;;;; "emacs-lisp/find-func.el" (19383 49279)) 10217;;;;;; "emacs-lisp/find-func.el" (19636 58496))
10203;;; Generated autoloads from emacs-lisp/find-func.el 10218;;; Generated autoloads from emacs-lisp/find-func.el
10204 10219
10205(autoload 'find-library "find-func" "\ 10220(autoload 'find-library "find-func" "\
@@ -10354,7 +10369,7 @@ Define some key bindings for the find-function family of functions.
10354;;;*** 10369;;;***
10355 10370
10356;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories 10371;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories
10357;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (19383 49279)) 10372;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (19636 58496))
10358;;; Generated autoloads from find-lisp.el 10373;;; Generated autoloads from find-lisp.el
10359 10374
10360(autoload 'find-lisp-find-dired "find-lisp" "\ 10375(autoload 'find-lisp-find-dired "find-lisp" "\
@@ -10375,7 +10390,7 @@ Change the filter on a find-lisp-find-dired buffer to REGEXP.
10375;;;*** 10390;;;***
10376 10391
10377;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords) 10392;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords)
10378;;;;;; "finder" "finder.el" (19383 49279)) 10393;;;;;; "finder" "finder.el" (19636 58496))
10379;;; Generated autoloads from finder.el 10394;;; Generated autoloads from finder.el
10380 10395
10381(autoload 'finder-list-keywords "finder" "\ 10396(autoload 'finder-list-keywords "finder" "\
@@ -10397,7 +10412,7 @@ Find packages matching a given keyword.
10397;;;*** 10412;;;***
10398 10413
10399;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl" 10414;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl"
10400;;;;;; "flow-ctrl.el" (19383 49279)) 10415;;;;;; "flow-ctrl.el" (19636 58496))
10401;;; Generated autoloads from flow-ctrl.el 10416;;; Generated autoloads from flow-ctrl.el
10402 10417
10403(autoload 'enable-flow-control "flow-ctrl" "\ 10418(autoload 'enable-flow-control "flow-ctrl" "\
@@ -10419,7 +10434,7 @@ to get the effect of a C-q.
10419;;;*** 10434;;;***
10420 10435
10421;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el" 10436;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el"
10422;;;;;; (19383 49279)) 10437;;;;;; (19636 58496))
10423;;; Generated autoloads from gnus/flow-fill.el 10438;;; Generated autoloads from gnus/flow-fill.el
10424 10439
10425(autoload 'fill-flowed-encode "flow-fill" "\ 10440(autoload 'fill-flowed-encode "flow-fill" "\
@@ -10435,7 +10450,7 @@ Not documented
10435;;;*** 10450;;;***
10436 10451
10437;;;### (autoloads (flymake-mode-off flymake-mode-on flymake-mode) 10452;;;### (autoloads (flymake-mode-off flymake-mode-on flymake-mode)
10438;;;;;; "flymake" "progmodes/flymake.el" (19383 49276)) 10453;;;;;; "flymake" "progmodes/flymake.el" (19636 58496))
10439;;; Generated autoloads from progmodes/flymake.el 10454;;; Generated autoloads from progmodes/flymake.el
10440 10455
10441(autoload 'flymake-mode "flymake" "\ 10456(autoload 'flymake-mode "flymake" "\
@@ -10459,7 +10474,7 @@ Turn flymake mode off.
10459 10474
10460;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off 10475;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off
10461;;;;;; turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode) 10476;;;;;; turn-off-flyspell turn-on-flyspell flyspell-mode flyspell-prog-mode)
10462;;;;;; "flyspell" "textmodes/flyspell.el" (19383 49284)) 10477;;;;;; "flyspell" "textmodes/flyspell.el" (19636 58496))
10463;;; Generated autoloads from textmodes/flyspell.el 10478;;; Generated autoloads from textmodes/flyspell.el
10464 10479
10465(autoload 'flyspell-prog-mode "flyspell" "\ 10480(autoload 'flyspell-prog-mode "flyspell" "\
@@ -10529,7 +10544,7 @@ Flyspell whole buffer.
10529 10544
10530;;;### (autoloads (follow-delete-other-windows-and-split follow-mode 10545;;;### (autoloads (follow-delete-other-windows-and-split follow-mode
10531;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el" 10546;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el"
10532;;;;;; (19383 49279)) 10547;;;;;; (19636 58496))
10533;;; Generated autoloads from follow.el 10548;;; Generated autoloads from follow.el
10534 10549
10535(autoload 'turn-on-follow-mode "follow" "\ 10550(autoload 'turn-on-follow-mode "follow" "\
@@ -10602,8 +10617,8 @@ in your `~/.emacs' file, replacing [f7] by your favourite key:
10602 10617
10603;;;*** 10618;;;***
10604 10619
10605;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (19383 10620;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (19636
10606;;;;;; 49279)) 10621;;;;;; 58496))
10607;;; Generated autoloads from mail/footnote.el 10622;;; Generated autoloads from mail/footnote.el
10608 10623
10609(autoload 'footnote-mode "footnote" "\ 10624(autoload 'footnote-mode "footnote" "\
@@ -10617,7 +10632,7 @@ started, play around with the following keys:
10617;;;*** 10632;;;***
10618 10633
10619;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode) 10634;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode)
10620;;;;;; "forms" "forms.el" (19383 49279)) 10635;;;;;; "forms" "forms.el" (19636 58496))
10621;;; Generated autoloads from forms.el 10636;;; Generated autoloads from forms.el
10622 10637
10623(autoload 'forms-mode "forms" "\ 10638(autoload 'forms-mode "forms" "\
@@ -10654,7 +10669,7 @@ Visit a file in Forms mode in other window.
10654;;;*** 10669;;;***
10655 10670
10656;;;### (autoloads (fortran-mode) "fortran" "progmodes/fortran.el" 10671;;;### (autoloads (fortran-mode) "fortran" "progmodes/fortran.el"
10657;;;;;; (19392 38041)) 10672;;;;;; (19636 58496))
10658;;; Generated autoloads from progmodes/fortran.el 10673;;; Generated autoloads from progmodes/fortran.el
10659 10674
10660(autoload 'fortran-mode "fortran" "\ 10675(autoload 'fortran-mode "fortran" "\
@@ -10732,7 +10747,7 @@ with no args, if that value is non-nil.
10732;;;*** 10747;;;***
10733 10748
10734;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region 10749;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region
10735;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (19383 49279)) 10750;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (19658 61388))
10736;;; Generated autoloads from play/fortune.el 10751;;; Generated autoloads from play/fortune.el
10737 10752
10738(autoload 'fortune-add-fortune "fortune" "\ 10753(autoload 'fortune-add-fortune "fortune" "\
@@ -10771,7 +10786,6 @@ and choose the directory as the fortune-file.
10771 10786
10772(autoload 'fortune "fortune" "\ 10787(autoload 'fortune "fortune" "\
10773Display a fortune cookie. 10788Display a fortune cookie.
10774
10775If called with a prefix asks for the FILE to choose the fortune from, 10789If called with a prefix asks for the FILE to choose the fortune from,
10776otherwise uses the value of `fortune-file'. If you want to have fortune 10790otherwise uses the value of `fortune-file'. If you want to have fortune
10777choose from a set of files in a directory, call interactively with prefix 10791choose from a set of files in a directory, call interactively with prefix
@@ -10782,7 +10796,7 @@ and choose the directory as the fortune-file.
10782;;;*** 10796;;;***
10783 10797
10784;;;### (autoloads (gdb-enable-debug gdb) "gdb-ui" "progmodes/gdb-ui.el" 10798;;;### (autoloads (gdb-enable-debug gdb) "gdb-ui" "progmodes/gdb-ui.el"
10785;;;;;; (19383 49284)) 10799;;;;;; (19636 58496))
10786;;; Generated autoloads from progmodes/gdb-ui.el 10800;;; Generated autoloads from progmodes/gdb-ui.el
10787 10801
10788(autoload 'gdb "gdb-ui" "\ 10802(autoload 'gdb "gdb-ui" "\
@@ -10840,8 +10854,8 @@ Non-nil means record the process input and output in `gdb-debug-log'.")
10840;;;*** 10854;;;***
10841 10855
10842;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal 10856;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal
10843;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (19383 10857;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (19636
10844;;;;;; 49279)) 10858;;;;;; 58496))
10845;;; Generated autoloads from emacs-lisp/generic.el 10859;;; Generated autoloads from emacs-lisp/generic.el
10846 10860
10847(defvar generic-mode-list nil "\ 10861(defvar generic-mode-list nil "\
@@ -10916,7 +10930,7 @@ regular expression that can be used as an element of
10916;;;*** 10930;;;***
10917 10931
10918;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el" 10932;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el"
10919;;;;;; (19383 49279)) 10933;;;;;; (19636 58496))
10920;;; Generated autoloads from progmodes/glasses.el 10934;;; Generated autoloads from progmodes/glasses.el
10921 10935
10922(autoload 'glasses-mode "glasses" "\ 10936(autoload 'glasses-mode "glasses" "\
@@ -10930,7 +10944,7 @@ at places they belong to.
10930 10944
10931;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error 10945;;;### (autoloads (gmm-tool-bar-from-list gmm-widget-p gmm-error
10932;;;;;; gmm-message gmm-regexp-concat) "gmm-utils" "gnus/gmm-utils.el" 10946;;;;;; gmm-message gmm-regexp-concat) "gmm-utils" "gnus/gmm-utils.el"
10933;;;;;; (19383 49279)) 10947;;;;;; (19636 58496))
10934;;; Generated autoloads from gnus/gmm-utils.el 10948;;; Generated autoloads from gnus/gmm-utils.el
10935 10949
10936(autoload 'gmm-regexp-concat "gmm-utils" "\ 10950(autoload 'gmm-regexp-concat "gmm-utils" "\
@@ -10985,7 +10999,7 @@ DEFAULT-MAP specifies the default key map for ICON-LIST.
10985;;;*** 10999;;;***
10986 11000
10987;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server 11001;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server
10988;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (19383 49279)) 11002;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (19636 58496))
10989;;; Generated autoloads from gnus/gnus.el 11003;;; Generated autoloads from gnus/gnus.el
10990(when (fboundp 'custom-autoload) 11004(when (fboundp 'custom-autoload)
10991 (custom-autoload 'gnus-select-method "gnus")) 11005 (custom-autoload 'gnus-select-method "gnus"))
@@ -11038,7 +11052,7 @@ prompt the user for the name of an NNTP server to use.
11038;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group 11052;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group
11039;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize 11053;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize
11040;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent" 11054;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent"
11041;;;;;; "gnus/gnus-agent.el" (19383 49279)) 11055;;;;;; "gnus/gnus-agent.el" (19636 58496))
11042;;; Generated autoloads from gnus/gnus-agent.el 11056;;; Generated autoloads from gnus/gnus-agent.el
11043 11057
11044(autoload 'gnus-unplugged "gnus-agent" "\ 11058(autoload 'gnus-unplugged "gnus-agent" "\
@@ -11129,7 +11143,7 @@ If CLEAN, obsolete (ignore).
11129;;;*** 11143;;;***
11130 11144
11131;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el" 11145;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el"
11132;;;;;; (19383 49284)) 11146;;;;;; (19636 58496))
11133;;; Generated autoloads from gnus/gnus-art.el 11147;;; Generated autoloads from gnus/gnus-art.el
11134 11148
11135(autoload 'gnus-article-prepare-display "gnus-art" "\ 11149(autoload 'gnus-article-prepare-display "gnus-art" "\
@@ -11140,7 +11154,7 @@ Make the current buffer look like a nice article.
11140;;;*** 11154;;;***
11141 11155
11142;;;### (autoloads (gnus-audio-play) "gnus-audio" "gnus/gnus-audio.el" 11156;;;### (autoloads (gnus-audio-play) "gnus-audio" "gnus/gnus-audio.el"
11143;;;;;; (19383 49279)) 11157;;;;;; (19636 58496))
11144;;; Generated autoloads from gnus/gnus-audio.el 11158;;; Generated autoloads from gnus/gnus-audio.el
11145 11159
11146(autoload 'gnus-audio-play "gnus-audio" "\ 11160(autoload 'gnus-audio-play "gnus-audio" "\
@@ -11151,7 +11165,7 @@ Play a sound FILE through the speaker.
11151;;;*** 11165;;;***
11152 11166
11153;;;### (autoloads (gnus-bookmark-bmenu-list gnus-bookmark-jump gnus-bookmark-set) 11167;;;### (autoloads (gnus-bookmark-bmenu-list gnus-bookmark-jump gnus-bookmark-set)
11154;;;;;; "gnus-bookmark" "gnus/gnus-bookmark.el" (19383 49279)) 11168;;;;;; "gnus-bookmark" "gnus/gnus-bookmark.el" (19636 58496))
11155;;; Generated autoloads from gnus/gnus-bookmark.el 11169;;; Generated autoloads from gnus/gnus-bookmark.el
11156 11170
11157(autoload 'gnus-bookmark-set "gnus-bookmark" "\ 11171(autoload 'gnus-bookmark-set "gnus-bookmark" "\
@@ -11176,8 +11190,8 @@ deletion, or > if it is flagged for displaying.
11176 11190
11177;;;### (autoloads (gnus-cache-delete-group gnus-cache-rename-group 11191;;;### (autoloads (gnus-cache-delete-group gnus-cache-rename-group
11178;;;;;; gnus-cache-generate-nov-databases gnus-cache-generate-active 11192;;;;;; gnus-cache-generate-nov-databases gnus-cache-generate-active
11179;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (19383 11193;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (19636
11180;;;;;; 49279)) 11194;;;;;; 58496))
11181;;; Generated autoloads from gnus/gnus-cache.el 11195;;; Generated autoloads from gnus/gnus-cache.el
11182 11196
11183(autoload 'gnus-jog-cache "gnus-cache" "\ 11197(autoload 'gnus-jog-cache "gnus-cache" "\
@@ -11219,7 +11233,7 @@ supported.
11219;;;*** 11233;;;***
11220 11234
11221;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article) 11235;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article)
11222;;;;;; "gnus-delay" "gnus/gnus-delay.el" (19383 49279)) 11236;;;;;; "gnus-delay" "gnus/gnus-delay.el" (19636 58496))
11223;;; Generated autoloads from gnus/gnus-delay.el 11237;;; Generated autoloads from gnus/gnus-delay.el
11224 11238
11225(autoload 'gnus-delay-article "gnus-delay" "\ 11239(autoload 'gnus-delay-article "gnus-delay" "\
@@ -11255,7 +11269,7 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil.
11255;;;*** 11269;;;***
11256 11270
11257;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d) 11271;;;### (autoloads (gnus-user-format-function-D gnus-user-format-function-d)
11258;;;;;; "gnus-diary" "gnus/gnus-diary.el" (19383 49279)) 11272;;;;;; "gnus-diary" "gnus/gnus-diary.el" (19636 58496))
11259;;; Generated autoloads from gnus/gnus-diary.el 11273;;; Generated autoloads from gnus/gnus-diary.el
11260 11274
11261(autoload 'gnus-user-format-function-d "gnus-diary" "\ 11275(autoload 'gnus-user-format-function-d "gnus-diary" "\
@@ -11271,7 +11285,7 @@ Not documented
11271;;;*** 11285;;;***
11272 11286
11273;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el" 11287;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el"
11274;;;;;; (19383 49279)) 11288;;;;;; (19636 58496))
11275;;; Generated autoloads from gnus/gnus-dired.el 11289;;; Generated autoloads from gnus/gnus-dired.el
11276 11290
11277(autoload 'turn-on-gnus-dired-mode "gnus-dired" "\ 11291(autoload 'turn-on-gnus-dired-mode "gnus-dired" "\
@@ -11282,7 +11296,7 @@ Convenience method to turn on gnus-dired-mode.
11282;;;*** 11296;;;***
11283 11297
11284;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el" 11298;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el"
11285;;;;;; (19383 49279)) 11299;;;;;; (19636 58496))
11286;;; Generated autoloads from gnus/gnus-draft.el 11300;;; Generated autoloads from gnus/gnus-draft.el
11287 11301
11288(autoload 'gnus-draft-reminder "gnus-draft" "\ 11302(autoload 'gnus-draft-reminder "gnus-draft" "\
@@ -11294,8 +11308,8 @@ Reminder user if there are unsent drafts.
11294 11308
11295;;;### (autoloads (gnus-convert-png-to-face gnus-convert-face-to-png 11309;;;### (autoloads (gnus-convert-png-to-face gnus-convert-face-to-png
11296;;;;;; gnus-face-from-file gnus-x-face-from-file gnus-insert-random-x-face-header 11310;;;;;; gnus-face-from-file gnus-x-face-from-file gnus-insert-random-x-face-header
11297;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (19383 11311;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (19636
11298;;;;;; 49279)) 11312;;;;;; 58496))
11299;;; Generated autoloads from gnus/gnus-fun.el 11313;;; Generated autoloads from gnus/gnus-fun.el
11300 11314
11301(autoload 'gnus-random-x-face "gnus-fun" "\ 11315(autoload 'gnus-random-x-face "gnus-fun" "\
@@ -11340,7 +11354,7 @@ FILE should be a PNG file that's 48x48 and smaller than or equal to
11340;;;*** 11354;;;***
11341 11355
11342;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group) 11356;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group)
11343;;;;;; "gnus-group" "gnus/gnus-group.el" (19383 49279)) 11357;;;;;; "gnus-group" "gnus/gnus-group.el" (19636 58496))
11344;;; Generated autoloads from gnus/gnus-group.el 11358;;; Generated autoloads from gnus/gnus-group.el
11345 11359
11346(autoload 'gnus-fetch-group "gnus-group" "\ 11360(autoload 'gnus-fetch-group "gnus-group" "\
@@ -11358,7 +11372,7 @@ Pop up a frame and enter GROUP.
11358;;;*** 11372;;;***
11359 11373
11360;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el" 11374;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el"
11361;;;;;; (19383 49279)) 11375;;;;;; (19636 58496))
11362;;; Generated autoloads from gnus/gnus-kill.el 11376;;; Generated autoloads from gnus/gnus-kill.el
11363 11377
11364(defalias 'gnus-batch-kill 'gnus-batch-score) 11378(defalias 'gnus-batch-kill 'gnus-batch-score)
@@ -11373,7 +11387,7 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score
11373 11387
11374;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate 11388;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate
11375;;;;;; turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el" 11389;;;;;; turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el"
11376;;;;;; (19383 49279)) 11390;;;;;; (19636 58496))
11377;;; Generated autoloads from gnus/gnus-ml.el 11391;;; Generated autoloads from gnus/gnus-ml.el
11378 11392
11379(autoload 'turn-on-gnus-mailing-list-mode "gnus-ml" "\ 11393(autoload 'turn-on-gnus-mailing-list-mode "gnus-ml" "\
@@ -11398,7 +11412,7 @@ Minor mode for providing mailing-list commands.
11398 11412
11399;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update 11413;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update
11400;;;;;; gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el" 11414;;;;;; gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el"
11401;;;;;; (19383 49279)) 11415;;;;;; (19636 58496))
11402;;; Generated autoloads from gnus/gnus-mlspl.el 11416;;; Generated autoloads from gnus/gnus-mlspl.el
11403 11417
11404(autoload 'gnus-group-split-setup "gnus-mlspl" "\ 11418(autoload 'gnus-group-split-setup "gnus-mlspl" "\
@@ -11499,7 +11513,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns:
11499;;;*** 11513;;;***
11500 11514
11501;;;### (autoloads (gnus-change-server) "gnus-move" "gnus/gnus-move.el" 11515;;;### (autoloads (gnus-change-server) "gnus-move" "gnus/gnus-move.el"
11502;;;;;; (19383 49279)) 11516;;;;;; (19636 58496))
11503;;; Generated autoloads from gnus/gnus-move.el 11517;;; Generated autoloads from gnus/gnus-move.el
11504 11518
11505(autoload 'gnus-change-server "gnus-move" "\ 11519(autoload 'gnus-change-server "gnus-move" "\
@@ -11511,7 +11525,7 @@ Update the .newsrc.eld file to reflect the change of nntp server.
11511;;;*** 11525;;;***
11512 11526
11513;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail) 11527;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail)
11514;;;;;; "gnus-msg" "gnus/gnus-msg.el" (19383 49279)) 11528;;;;;; "gnus-msg" "gnus/gnus-msg.el" (19636 58496))
11515;;; Generated autoloads from gnus/gnus-msg.el 11529;;; Generated autoloads from gnus/gnus-msg.el
11516 11530
11517(autoload 'gnus-msg-mail "gnus-msg" "\ 11531(autoload 'gnus-msg-mail "gnus-msg" "\
@@ -11536,7 +11550,7 @@ Like `message-reply'.
11536;;;*** 11550;;;***
11537 11551
11538;;;### (autoloads (gnus-nocem-load-cache gnus-nocem-scan-groups) 11552;;;### (autoloads (gnus-nocem-load-cache gnus-nocem-scan-groups)
11539;;;;;; "gnus-nocem" "gnus/gnus-nocem.el" (19383 49279)) 11553;;;;;; "gnus-nocem" "gnus/gnus-nocem.el" (19636 58496))
11540;;; Generated autoloads from gnus/gnus-nocem.el 11554;;; Generated autoloads from gnus/gnus-nocem.el
11541 11555
11542(autoload 'gnus-nocem-scan-groups "gnus-nocem" "\ 11556(autoload 'gnus-nocem-scan-groups "gnus-nocem" "\
@@ -11553,7 +11567,7 @@ Load the NoCeM cache.
11553 11567
11554;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon 11568;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon
11555;;;;;; gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el" 11569;;;;;; gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el"
11556;;;;;; (19383 49279)) 11570;;;;;; (19636 58496))
11557;;; Generated autoloads from gnus/gnus-picon.el 11571;;; Generated autoloads from gnus/gnus-picon.el
11558 11572
11559(autoload 'gnus-treat-from-picon "gnus-picon" "\ 11573(autoload 'gnus-treat-from-picon "gnus-picon" "\
@@ -11580,7 +11594,7 @@ If picons are already displayed, remove them.
11580;;;;;; gnus-sorted-nintersection gnus-sorted-range-intersection 11594;;;;;; gnus-sorted-nintersection gnus-sorted-range-intersection
11581;;;;;; gnus-sorted-intersection gnus-intersection gnus-sorted-complement 11595;;;;;; gnus-sorted-intersection gnus-intersection gnus-sorted-complement
11582;;;;;; gnus-sorted-ndifference gnus-sorted-difference) "gnus-range" 11596;;;;;; gnus-sorted-ndifference gnus-sorted-difference) "gnus-range"
11583;;;;;; "gnus/gnus-range.el" (19383 49279)) 11597;;;;;; "gnus/gnus-range.el" (19636 58496))
11584;;; Generated autoloads from gnus/gnus-range.el 11598;;; Generated autoloads from gnus/gnus-range.el
11585 11599
11586(autoload 'gnus-sorted-difference "gnus-range" "\ 11600(autoload 'gnus-sorted-difference "gnus-range" "\
@@ -11648,7 +11662,7 @@ Add NUM into sorted LIST by side effect.
11648;;;*** 11662;;;***
11649 11663
11650;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize) 11664;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize)
11651;;;;;; "gnus-registry" "gnus/gnus-registry.el" (19383 49279)) 11665;;;;;; "gnus-registry" "gnus/gnus-registry.el" (19636 58496))
11652;;; Generated autoloads from gnus/gnus-registry.el 11666;;; Generated autoloads from gnus/gnus-registry.el
11653 11667
11654(autoload 'gnus-registry-initialize "gnus-registry" "\ 11668(autoload 'gnus-registry-initialize "gnus-registry" "\
@@ -11664,8 +11678,8 @@ Install the registry hooks.
11664;;;*** 11678;;;***
11665 11679
11666;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate 11680;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate
11667;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (19383 11681;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (19636
11668;;;;;; 49279)) 11682;;;;;; 58496))
11669;;; Generated autoloads from gnus/gnus-sieve.el 11683;;; Generated autoloads from gnus/gnus-sieve.el
11670 11684
11671(autoload 'gnus-sieve-update "gnus-sieve" "\ 11685(autoload 'gnus-sieve-update "gnus-sieve" "\
@@ -11693,7 +11707,7 @@ Not documented
11693;;;*** 11707;;;***
11694 11708
11695;;;### (autoloads (gnus-batch-brew-soup) "gnus-soup" "gnus/gnus-soup.el" 11709;;;### (autoloads (gnus-batch-brew-soup) "gnus-soup" "gnus/gnus-soup.el"
11696;;;;;; (19383 49279)) 11710;;;;;; (19636 58496))
11697;;; Generated autoloads from gnus/gnus-soup.el 11711;;; Generated autoloads from gnus/gnus-soup.el
11698 11712
11699(autoload 'gnus-batch-brew-soup "gnus-soup" "\ 11713(autoload 'gnus-batch-brew-soup "gnus-soup" "\
@@ -11713,7 +11727,7 @@ Note -- this function hasn't been implemented yet.
11713;;;*** 11727;;;***
11714 11728
11715;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el" 11729;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el"
11716;;;;;; (19383 49279)) 11730;;;;;; (19636 58496))
11717;;; Generated autoloads from gnus/gnus-spec.el 11731;;; Generated autoloads from gnus/gnus-spec.el
11718 11732
11719(autoload 'gnus-update-format "gnus-spec" "\ 11733(autoload 'gnus-update-format "gnus-spec" "\
@@ -11724,8 +11738,8 @@ Update the format specification near point.
11724;;;*** 11738;;;***
11725 11739
11726;;;### (autoloads (gnus-fixup-nnimap-unread-after-getting-new-news 11740;;;### (autoloads (gnus-fixup-nnimap-unread-after-getting-new-news
11727;;;;;; gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" (19383 11741;;;;;; gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" (19636
11728;;;;;; 49279)) 11742;;;;;; 58496))
11729;;; Generated autoloads from gnus/gnus-start.el 11743;;; Generated autoloads from gnus/gnus-start.el
11730 11744
11731(autoload 'gnus-declare-backend "gnus-start" "\ 11745(autoload 'gnus-declare-backend "gnus-start" "\
@@ -11741,7 +11755,7 @@ Not documented
11741;;;*** 11755;;;***
11742 11756
11743;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el" 11757;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el"
11744;;;;;; (19383 49279)) 11758;;;;;; (19636 58496))
11745;;; Generated autoloads from gnus/gnus-win.el 11759;;; Generated autoloads from gnus/gnus-win.el
11746 11760
11747(autoload 'gnus-add-configuration "gnus-win" "\ 11761(autoload 'gnus-add-configuration "gnus-win" "\
@@ -11751,7 +11765,7 @@ Add the window configuration CONF to `gnus-buffer-configuration'.
11751 11765
11752;;;*** 11766;;;***
11753 11767
11754;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (19383 49279)) 11768;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (19658 61388))
11755;;; Generated autoloads from play/gomoku.el 11769;;; Generated autoloads from play/gomoku.el
11756 11770
11757(autoload 'gomoku "gomoku" "\ 11771(autoload 'gomoku "gomoku" "\
@@ -11778,8 +11792,8 @@ Use \\[describe-mode] for more info.
11778;;;*** 11792;;;***
11779 11793
11780;;;### (autoloads (goto-address-prog-mode goto-address-mode goto-address 11794;;;### (autoloads (goto-address-prog-mode goto-address-mode goto-address
11781;;;;;; goto-address-at-point) "goto-addr" "net/goto-addr.el" (19383 11795;;;;;; goto-address-at-point) "goto-addr" "net/goto-addr.el" (19636
11782;;;;;; 49279)) 11796;;;;;; 58496))
11783;;; Generated autoloads from net/goto-addr.el 11797;;; Generated autoloads from net/goto-addr.el
11784 11798
11785(define-obsolete-function-alias 'goto-address-at-mouse 'goto-address-at-point "22.1") 11799(define-obsolete-function-alias 'goto-address-at-mouse 'goto-address-at-point "22.1")
@@ -11819,7 +11833,7 @@ Turn on `goto-address-mode', but only in comments and strings.
11819 11833
11820;;;### (autoloads (zrgrep rgrep lgrep grep-find grep grep-mode grep-compute-defaults 11834;;;### (autoloads (zrgrep rgrep lgrep grep-find grep grep-mode grep-compute-defaults
11821;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command 11835;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command
11822;;;;;; grep-window-height) "grep" "progmodes/grep.el" (19397 57330)) 11836;;;;;; grep-window-height) "grep" "progmodes/grep.el" (19636 58496))
11823;;; Generated autoloads from progmodes/grep.el 11837;;; Generated autoloads from progmodes/grep.el
11824 11838
11825(defvar grep-window-height nil "\ 11839(defvar grep-window-height nil "\
@@ -11975,7 +11989,7 @@ file name to `*.gz', and sets `grep-highlight-matches' to `always'.
11975 11989
11976;;;*** 11990;;;***
11977 11991
11978;;;### (autoloads (gs-load-image) "gs" "gs.el" (19383 49279)) 11992;;;### (autoloads (gs-load-image) "gs" "gs.el" (19636 58496))
11979;;; Generated autoloads from gs.el 11993;;; Generated autoloads from gs.el
11980 11994
11981(autoload 'gs-load-image "gs" "\ 11995(autoload 'gs-load-image "gs" "\
@@ -11989,7 +12003,7 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if successful.
11989;;;*** 12003;;;***
11990 12004
11991;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb 12005;;;### (autoloads (gud-tooltip-mode gdb-script-mode jdb pdb perldb
11992;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (19383 49279)) 12006;;;;;; xdb dbx sdb gud-gdb) "gud" "progmodes/gud.el" (19636 58496))
11993;;; Generated autoloads from progmodes/gud.el 12007;;; Generated autoloads from progmodes/gud.el
11994 12008
11995(autoload 'gud-gdb "gud" "\ 12009(autoload 'gud-gdb "gud" "\
@@ -12077,8 +12091,8 @@ Toggle the display of GUD tooltips.
12077 12091
12078;;;*** 12092;;;***
12079 12093
12080;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (19383 12094;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (19636
12081;;;;;; 49279)) 12095;;;;;; 58496))
12082;;; Generated autoloads from play/handwrite.el 12096;;; Generated autoloads from play/handwrite.el
12083 12097
12084(autoload 'handwrite "handwrite" "\ 12098(autoload 'handwrite "handwrite" "\
@@ -12096,7 +12110,7 @@ Variables: handwrite-linespace (default 12)
12096;;;*** 12110;;;***
12097 12111
12098;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el" 12112;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el"
12099;;;;;; (19383 49279)) 12113;;;;;; (19636 58496))
12100;;; Generated autoloads from play/hanoi.el 12114;;; Generated autoloads from play/hanoi.el
12101 12115
12102(autoload 'hanoi "hanoi" "\ 12116(autoload 'hanoi "hanoi" "\
@@ -12125,7 +12139,7 @@ to be updated.
12125 12139
12126;;;### (autoloads (mail-check-payment mail-add-payment-async mail-add-payment 12140;;;### (autoloads (mail-check-payment mail-add-payment-async mail-add-payment
12127;;;;;; hashcash-verify-payment hashcash-insert-payment-async hashcash-insert-payment) 12141;;;;;; hashcash-verify-payment hashcash-insert-payment-async hashcash-insert-payment)
12128;;;;;; "hashcash" "mail/hashcash.el" (19383 49279)) 12142;;;;;; "hashcash" "mail/hashcash.el" (19636 58496))
12129;;; Generated autoloads from mail/hashcash.el 12143;;; Generated autoloads from mail/hashcash.el
12130 12144
12131(autoload 'hashcash-insert-payment "hashcash" "\ 12145(autoload 'hashcash-insert-payment "hashcash" "\
@@ -12170,7 +12184,7 @@ Prefix arg sets default accept amount temporarily.
12170;;;### (autoloads (scan-buf-previous-region scan-buf-next-region 12184;;;### (autoloads (scan-buf-previous-region scan-buf-next-region
12171;;;;;; scan-buf-move-to-region help-at-pt-display-when-idle help-at-pt-set-timer 12185;;;;;; scan-buf-move-to-region help-at-pt-display-when-idle help-at-pt-set-timer
12172;;;;;; help-at-pt-cancel-timer display-local-help help-at-pt-kbd-string 12186;;;;;; help-at-pt-cancel-timer display-local-help help-at-pt-kbd-string
12173;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (19383 49279)) 12187;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (19636 58496))
12174;;; Generated autoloads from help-at-pt.el 12188;;; Generated autoloads from help-at-pt.el
12175 12189
12176(autoload 'help-at-pt-string "help-at-pt" "\ 12190(autoload 'help-at-pt-string "help-at-pt" "\
@@ -12300,7 +12314,7 @@ different regions. With numeric argument ARG, behaves like
12300;;;### (autoloads (describe-categories describe-syntax describe-variable 12314;;;### (autoloads (describe-categories describe-syntax describe-variable
12301;;;;;; variable-at-point describe-function-1 find-lisp-object-file-name 12315;;;;;; variable-at-point describe-function-1 find-lisp-object-file-name
12302;;;;;; help-C-file-name describe-function) "help-fns" "help-fns.el" 12316;;;;;; help-C-file-name describe-function) "help-fns" "help-fns.el"
12303;;;;;; (19383 49279)) 12317;;;;;; (19636 58496))
12304;;; Generated autoloads from help-fns.el 12318;;; Generated autoloads from help-fns.el
12305 12319
12306(autoload 'describe-function "help-fns" "\ 12320(autoload 'describe-function "help-fns" "\
@@ -12318,8 +12332,8 @@ KIND should be `var' for a variable or `subr' for a subroutine.
12318Guess the file that defined the Lisp object OBJECT, of type TYPE. 12332Guess the file that defined the Lisp object OBJECT, of type TYPE.
12319OBJECT should be a symbol associated with a function, variable, or face; 12333OBJECT should be a symbol associated with a function, variable, or face;
12320 alternatively, it can be a function definition. 12334 alternatively, it can be a function definition.
12321If TYPE is `variable', search for a variable definition. 12335If TYPE is `defvar', search for a variable definition.
12322If TYPE is `face', search for a face definition. 12336If TYPE is `defface', search for a face definition.
12323If TYPE is the value returned by `symbol-function' for a function symbol, 12337If TYPE is the value returned by `symbol-function' for a function symbol,
12324 search for a function definition. 12338 search for a function definition.
12325 12339
@@ -12370,7 +12384,7 @@ BUFFER should be a buffer or a buffer name.
12370;;;*** 12384;;;***
12371 12385
12372;;;### (autoloads (three-step-help) "help-macro" "help-macro.el" 12386;;;### (autoloads (three-step-help) "help-macro" "help-macro.el"
12373;;;;;; (19383 49279)) 12387;;;;;; (19636 58496))
12374;;; Generated autoloads from help-macro.el 12388;;; Generated autoloads from help-macro.el
12375 12389
12376(defvar three-step-help nil "\ 12390(defvar three-step-help nil "\
@@ -12386,8 +12400,8 @@ gives the window that lists the options.")
12386 12400
12387;;;### (autoloads (help-xref-on-pp help-insert-xref-button help-xref-button 12401;;;### (autoloads (help-xref-on-pp help-insert-xref-button help-xref-button
12388;;;;;; help-make-xrefs help-buffer help-setup-xref help-mode-finish 12402;;;;;; help-make-xrefs help-buffer help-setup-xref help-mode-finish
12389;;;;;; help-mode-setup help-mode) "help-mode" "help-mode.el" (19383 12403;;;;;; help-mode-setup help-mode) "help-mode" "help-mode.el" (19636
12390;;;;;; 49279)) 12404;;;;;; 58496))
12391;;; Generated autoloads from help-mode.el 12405;;; Generated autoloads from help-mode.el
12392 12406
12393(autoload 'help-mode "help-mode" "\ 12407(autoload 'help-mode "help-mode" "\
@@ -12479,7 +12493,7 @@ Add xrefs for symbols in `pp's output between FROM and TO.
12479;;;*** 12493;;;***
12480 12494
12481;;;### (autoloads (Helper-help Helper-describe-bindings) "helper" 12495;;;### (autoloads (Helper-help Helper-describe-bindings) "helper"
12482;;;;;; "emacs-lisp/helper.el" (19383 49279)) 12496;;;;;; "emacs-lisp/helper.el" (19636 58496))
12483;;; Generated autoloads from emacs-lisp/helper.el 12497;;; Generated autoloads from emacs-lisp/helper.el
12484 12498
12485(autoload 'Helper-describe-bindings "helper" "\ 12499(autoload 'Helper-describe-bindings "helper" "\
@@ -12495,7 +12509,7 @@ Provide help for current mode.
12495;;;*** 12509;;;***
12496 12510
12497;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl" 12511;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl"
12498;;;;;; "hexl.el" (19383 49279)) 12512;;;;;; "hexl.el" (19636 58496))
12499;;; Generated autoloads from hexl.el 12513;;; Generated autoloads from hexl.el
12500 12514
12501(autoload 'hexl-mode "hexl" "\ 12515(autoload 'hexl-mode "hexl" "\
@@ -12592,7 +12606,7 @@ This discards the buffer's undo information.
12592;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer 12606;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer
12593;;;;;; hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer 12607;;;;;; hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer
12594;;;;;; global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el" 12608;;;;;; global-hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el"
12595;;;;;; (19383 49279)) 12609;;;;;; (19636 58496))
12596;;; Generated autoloads from hi-lock.el 12610;;; Generated autoloads from hi-lock.el
12597 12611
12598(autoload 'hi-lock-mode "hi-lock" "\ 12612(autoload 'hi-lock-mode "hi-lock" "\
@@ -12726,7 +12740,7 @@ be found in variable `hi-lock-interactive-patterns'.
12726;;;*** 12740;;;***
12727 12741
12728;;;### (autoloads (hide-ifdef-mode) "hideif" "progmodes/hideif.el" 12742;;;### (autoloads (hide-ifdef-mode) "hideif" "progmodes/hideif.el"
12729;;;;;; (19383 49279)) 12743;;;;;; (19636 58496))
12730;;; Generated autoloads from progmodes/hideif.el 12744;;; Generated autoloads from progmodes/hideif.el
12731 12745
12732(autoload 'hide-ifdef-mode "hideif" "\ 12746(autoload 'hide-ifdef-mode "hideif" "\
@@ -12766,7 +12780,7 @@ how the hiding is done:
12766;;;*** 12780;;;***
12767 12781
12768;;;### (autoloads (turn-off-hideshow hs-minor-mode) "hideshow" "progmodes/hideshow.el" 12782;;;### (autoloads (turn-off-hideshow hs-minor-mode) "hideshow" "progmodes/hideshow.el"
12769;;;;;; (19383 49279)) 12783;;;;;; (19636 58496))
12770;;; Generated autoloads from progmodes/hideshow.el 12784;;; Generated autoloads from progmodes/hideshow.el
12771 12785
12772(defvar hs-special-modes-alist (mapcar 'purecopy '((c-mode "{" "}" "/[*/]" nil nil) (c++-mode "{" "}" "/[*/]" nil nil) (bibtex-mode ("@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil nil) (js-mode "{" "}" "/[*/]" nil))) "\ 12786(defvar hs-special-modes-alist (mapcar 'purecopy '((c-mode "{" "}" "/[*/]" nil nil) (c++-mode "{" "}" "/[*/]" nil nil) (bibtex-mode ("@\\S(*\\(\\s(\\)" 1)) (java-mode "{" "}" "/[*/]" nil nil) (js-mode "{" "}" "/[*/]" nil))) "\
@@ -12828,8 +12842,8 @@ Unconditionally turn off `hs-minor-mode'.
12828;;;;;; highlight-compare-buffers highlight-changes-rotate-faces 12842;;;;;; highlight-compare-buffers highlight-changes-rotate-faces
12829;;;;;; highlight-changes-previous-change highlight-changes-next-change 12843;;;;;; highlight-changes-previous-change highlight-changes-next-change
12830;;;;;; highlight-changes-remove-highlight highlight-changes-visible-mode 12844;;;;;; highlight-changes-remove-highlight highlight-changes-visible-mode
12831;;;;;; highlight-changes-mode) "hilit-chg" "hilit-chg.el" (19383 12845;;;;;; highlight-changes-mode) "hilit-chg" "hilit-chg.el" (19636
12832;;;;;; 49279)) 12846;;;;;; 58496))
12833;;; Generated autoloads from hilit-chg.el 12847;;; Generated autoloads from hilit-chg.el
12834 12848
12835(autoload 'highlight-changes-mode "hilit-chg" "\ 12849(autoload 'highlight-changes-mode "hilit-chg" "\
@@ -12958,7 +12972,7 @@ See `highlight-changes-mode' for more information on Highlight-Changes mode.
12958;;;;;; hippie-expand-ignore-buffers hippie-expand-max-buffers hippie-expand-no-restriction 12972;;;;;; hippie-expand-ignore-buffers hippie-expand-max-buffers hippie-expand-no-restriction
12959;;;;;; hippie-expand-dabbrev-as-symbol hippie-expand-dabbrev-skip-space 12973;;;;;; hippie-expand-dabbrev-as-symbol hippie-expand-dabbrev-skip-space
12960;;;;;; hippie-expand-verbose hippie-expand-try-functions-list) "hippie-exp" 12974;;;;;; hippie-expand-verbose hippie-expand-try-functions-list) "hippie-exp"
12961;;;;;; "hippie-exp.el" (19383 49279)) 12975;;;;;; "hippie-exp.el" (19636 58496))
12962;;; Generated autoloads from hippie-exp.el 12976;;; Generated autoloads from hippie-exp.el
12963 12977
12964(defvar hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-lisp-symbol-partially try-complete-lisp-symbol) "\ 12978(defvar hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-lisp-symbol-partially try-complete-lisp-symbol) "\
@@ -13031,7 +13045,7 @@ argument VERBOSE non-nil makes the function verbose.
13031;;;*** 13045;;;***
13032 13046
13033;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el" 13047;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el"
13034;;;;;; (19383 49279)) 13048;;;;;; (19636 58496))
13035;;; Generated autoloads from hl-line.el 13049;;; Generated autoloads from hl-line.el
13036 13050
13037(autoload 'hl-line-mode "hl-line" "\ 13051(autoload 'hl-line-mode "hl-line" "\
@@ -13075,7 +13089,7 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and
13075;;;;;; holiday-bahai-holidays holiday-islamic-holidays holiday-christian-holidays 13089;;;;;; holiday-bahai-holidays holiday-islamic-holidays holiday-christian-holidays
13076;;;;;; holiday-hebrew-holidays holiday-other-holidays holiday-local-holidays 13090;;;;;; holiday-hebrew-holidays holiday-other-holidays holiday-local-holidays
13077;;;;;; holiday-oriental-holidays holiday-general-holidays) "holidays" 13091;;;;;; holiday-oriental-holidays holiday-general-holidays) "holidays"
13078;;;;;; "calendar/holidays.el" (19383 49279)) 13092;;;;;; "calendar/holidays.el" (19636 58496))
13079;;; Generated autoloads from calendar/holidays.el 13093;;; Generated autoloads from calendar/holidays.el
13080 13094
13081(defvar holiday-general-holidays (mapcar 'purecopy '((holiday-fixed 1 1 "New Year's Day") (holiday-float 1 1 3 "Martin Luther King Day") (holiday-fixed 2 2 "Groundhog Day") (holiday-fixed 2 14 "Valentine's Day") (holiday-float 2 1 3 "President's Day") (holiday-fixed 3 17 "St. Patrick's Day") (holiday-fixed 4 1 "April Fools' Day") (holiday-float 5 0 2 "Mother's Day") (holiday-float 5 1 -1 "Memorial Day") (holiday-fixed 6 14 "Flag Day") (holiday-float 6 0 3 "Father's Day") (holiday-fixed 7 4 "Independence Day") (holiday-float 9 1 1 "Labor Day") (holiday-float 10 1 2 "Columbus Day") (holiday-fixed 10 31 "Halloween") (holiday-fixed 11 11 "Veteran's Day") (holiday-float 11 4 4 "Thanksgiving"))) "\ 13095(defvar holiday-general-holidays (mapcar 'purecopy '((holiday-fixed 1 1 "New Year's Day") (holiday-float 1 1 3 "Martin Luther King Day") (holiday-fixed 2 2 "Groundhog Day") (holiday-fixed 2 14 "Valentine's Day") (holiday-float 2 1 3 "President's Day") (holiday-fixed 3 17 "St. Patrick's Day") (holiday-fixed 4 1 "April Fools' Day") (holiday-float 5 0 2 "Mother's Day") (holiday-float 5 1 -1 "Memorial Day") (holiday-fixed 6 14 "Flag Day") (holiday-float 6 0 3 "Father's Day") (holiday-fixed 7 4 "Independence Day") (holiday-float 9 1 1 "Labor Day") (holiday-float 10 1 2 "Columbus Day") (holiday-fixed 10 31 "Halloween") (holiday-fixed 11 11 "Veteran's Day") (holiday-float 11 4 4 "Thanksgiving"))) "\
@@ -13223,8 +13237,8 @@ The optional LABEL is used to label the buffer created.
13223 13237
13224;;;*** 13238;;;***
13225 13239
13226;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (19383 13240;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (19636
13227;;;;;; 49279)) 13241;;;;;; 58496))
13228;;; Generated autoloads from gnus/html2text.el 13242;;; Generated autoloads from gnus/html2text.el
13229 13243
13230(autoload 'html2text "html2text" "\ 13244(autoload 'html2text "html2text" "\
@@ -13235,7 +13249,7 @@ Convert HTML to plain text in the current buffer.
13235;;;*** 13249;;;***
13236 13250
13237;;;### (autoloads (htmlfontify-copy-and-link-dir htmlfontify-buffer) 13251;;;### (autoloads (htmlfontify-copy-and-link-dir htmlfontify-buffer)
13238;;;;;; "htmlfontify" "htmlfontify.el" (19401 55581)) 13252;;;;;; "htmlfontify" "htmlfontify.el" (19636 58496))
13239;;; Generated autoloads from htmlfontify.el 13253;;; Generated autoloads from htmlfontify.el
13240 13254
13241(autoload 'htmlfontify-buffer "htmlfontify" "\ 13255(autoload 'htmlfontify-buffer "htmlfontify" "\
@@ -13268,8 +13282,8 @@ You may also want to set `hfy-page-header' and `hfy-page-footer'.
13268;;;*** 13282;;;***
13269 13283
13270;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter 13284;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter
13271;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (19383 13285;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (19636
13272;;;;;; 49279)) 13286;;;;;; 58496))
13273;;; Generated autoloads from ibuf-macs.el 13287;;; Generated autoloads from ibuf-macs.el
13274 13288
13275(autoload 'define-ibuffer-column "ibuf-macs" "\ 13289(autoload 'define-ibuffer-column "ibuf-macs" "\
@@ -13358,7 +13372,7 @@ bound to the current value of the filter.
13358;;;*** 13372;;;***
13359 13373
13360;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers) 13374;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers)
13361;;;;;; "ibuffer" "ibuffer.el" (19383 49279)) 13375;;;;;; "ibuffer" "ibuffer.el" (19636 58496))
13362;;; Generated autoloads from ibuffer.el 13376;;; Generated autoloads from ibuffer.el
13363 13377
13364(autoload 'ibuffer-list-buffers "ibuffer" "\ 13378(autoload 'ibuffer-list-buffers "ibuffer" "\
@@ -13399,7 +13413,7 @@ FORMATS is the value to use for `ibuffer-formats'.
13399 13413
13400;;;### (autoloads (icalendar-import-buffer icalendar-import-file 13414;;;### (autoloads (icalendar-import-buffer icalendar-import-file
13401;;;;;; icalendar-export-region icalendar-export-file) "icalendar" 13415;;;;;; icalendar-export-region icalendar-export-file) "icalendar"
13402;;;;;; "calendar/icalendar.el" (19383 49284)) 13416;;;;;; "calendar/icalendar.el" (19636 58496))
13403;;; Generated autoloads from calendar/icalendar.el 13417;;; Generated autoloads from calendar/icalendar.el
13404 13418
13405(autoload 'icalendar-export-file "icalendar" "\ 13419(autoload 'icalendar-export-file "icalendar" "\
@@ -13451,8 +13465,8 @@ buffer `*icalendar-errors*'.
13451 13465
13452;;;*** 13466;;;***
13453 13467
13454;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (19383 13468;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (19636
13455;;;;;; 49279)) 13469;;;;;; 58496))
13456;;; Generated autoloads from icomplete.el 13470;;; Generated autoloads from icomplete.el
13457 13471
13458(defvar icomplete-mode nil "\ 13472(defvar icomplete-mode nil "\
@@ -13473,7 +13487,7 @@ otherwise turn it off.
13473 13487
13474;;;*** 13488;;;***
13475 13489
13476;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (19383 49279)) 13490;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (19636 58496))
13477;;; Generated autoloads from progmodes/icon.el 13491;;; Generated autoloads from progmodes/icon.el
13478 13492
13479(autoload 'icon-mode "icon" "\ 13493(autoload 'icon-mode "icon" "\
@@ -13514,7 +13528,7 @@ with no args, if that value is non-nil.
13514;;;*** 13528;;;***
13515 13529
13516;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el" 13530;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el"
13517;;;;;; (19383 49279)) 13531;;;;;; (19636 58496))
13518;;; Generated autoloads from progmodes/idlw-shell.el 13532;;; Generated autoloads from progmodes/idlw-shell.el
13519 13533
13520(autoload 'idlwave-shell "idlw-shell" "\ 13534(autoload 'idlwave-shell "idlw-shell" "\
@@ -13540,7 +13554,7 @@ See also the variable `idlwave-shell-prompt-pattern'.
13540;;;*** 13554;;;***
13541 13555
13542;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el" 13556;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el"
13543;;;;;; (19383 49279)) 13557;;;;;; (19636 58496))
13544;;; Generated autoloads from progmodes/idlwave.el 13558;;; Generated autoloads from progmodes/idlwave.el
13545 13559
13546(autoload 'idlwave-mode "idlwave" "\ 13560(autoload 'idlwave-mode "idlwave" "\
@@ -13674,8 +13688,8 @@ The main features of this mode are
13674;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file 13688;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file
13675;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer 13689;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer
13676;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window 13690;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window
13677;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (19397 13691;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (19636
13678;;;;;; 64530)) 13692;;;;;; 58496))
13679;;; Generated autoloads from ido.el 13693;;; Generated autoloads from ido.el
13680 13694
13681(defvar ido-mode nil "\ 13695(defvar ido-mode nil "\
@@ -13936,7 +13950,7 @@ DEF, if non-nil, is the default value.
13936 13950
13937;;;*** 13951;;;***
13938 13952
13939;;;### (autoloads (ielm) "ielm" "ielm.el" (19383 49279)) 13953;;;### (autoloads (ielm) "ielm" "ielm.el" (19636 58496))
13940;;; Generated autoloads from ielm.el 13954;;; Generated autoloads from ielm.el
13941 (add-hook 'same-window-buffer-names (purecopy "*ielm*")) 13955 (add-hook 'same-window-buffer-names (purecopy "*ielm*"))
13942 13956
@@ -13949,7 +13963,7 @@ Switches to the buffer `*ielm*', or creates it if it does not exist.
13949;;;*** 13963;;;***
13950 13964
13951;;;### (autoloads (iimage-mode turn-on-iimage-mode) "iimage" "iimage.el" 13965;;;### (autoloads (iimage-mode turn-on-iimage-mode) "iimage" "iimage.el"
13952;;;;;; (19383 49279)) 13966;;;;;; (19636 58496))
13953;;; Generated autoloads from iimage.el 13967;;; Generated autoloads from iimage.el
13954 13968
13955(autoload 'turn-on-iimage-mode "iimage" "\ 13969(autoload 'turn-on-iimage-mode "iimage" "\
@@ -13968,7 +13982,7 @@ Toggle inline image minor mode.
13968;;;;;; insert-image put-image create-image image-type-auto-detected-p 13982;;;;;; insert-image put-image create-image image-type-auto-detected-p
13969;;;;;; image-type-available-p image-type image-type-from-file-name 13983;;;;;; image-type-available-p image-type image-type-from-file-name
13970;;;;;; image-type-from-file-header image-type-from-buffer image-type-from-data) 13984;;;;;; image-type-from-file-header image-type-from-buffer image-type-from-data)
13971;;;;;; "image" "image.el" (19383 49279)) 13985;;;;;; "image" "image.el" (19636 58496))
13972;;; Generated autoloads from image.el 13986;;; Generated autoloads from image.el
13973 13987
13974(autoload 'image-type-from-data "image" "\ 13988(autoload 'image-type-from-data "image" "\
@@ -14151,7 +14165,7 @@ Example:
14151;;;;;; image-dired-jump-thumbnail-buffer image-dired-delete-tag 14165;;;;;; image-dired-jump-thumbnail-buffer image-dired-delete-tag
14152;;;;;; image-dired-tag-files image-dired-show-all-from-dir image-dired-display-thumbs 14166;;;;;; image-dired-tag-files image-dired-show-all-from-dir image-dired-display-thumbs
14153;;;;;; image-dired-dired-with-window-configuration image-dired-dired-insert-marked-thumbs) 14167;;;;;; image-dired-dired-with-window-configuration image-dired-dired-insert-marked-thumbs)
14154;;;;;; "image-dired" "image-dired.el" (19383 49285)) 14168;;;;;; "image-dired" "image-dired.el" (19636 58496))
14155;;; Generated autoloads from image-dired.el 14169;;; Generated autoloads from image-dired.el
14156 14170
14157(autoload 'image-dired-dired-insert-marked-thumbs "image-dired" "\ 14171(autoload 'image-dired-dired-insert-marked-thumbs "image-dired" "\
@@ -14285,7 +14299,7 @@ easy-to-use form.
14285 14299
14286;;;### (autoloads (auto-image-file-mode insert-image-file image-file-name-regexp 14300;;;### (autoloads (auto-image-file-mode insert-image-file image-file-name-regexp
14287;;;;;; image-file-name-regexps image-file-name-extensions) "image-file" 14301;;;;;; image-file-name-regexps image-file-name-extensions) "image-file"
14288;;;;;; "image-file.el" (19422 11991)) 14302;;;;;; "image-file.el" (19636 58496))
14289;;; Generated autoloads from image-file.el 14303;;; Generated autoloads from image-file.el
14290 14304
14291(defvar image-file-name-extensions (purecopy '("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm" "svg")) "\ 14305(defvar image-file-name-extensions (purecopy '("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm" "svg")) "\
@@ -14347,7 +14361,7 @@ Image files are those whose name has an extension in
14347;;;*** 14361;;;***
14348 14362
14349;;;### (autoloads (image-bookmark-jump image-mode-as-text image-minor-mode 14363;;;### (autoloads (image-bookmark-jump image-mode-as-text image-minor-mode
14350;;;;;; image-mode) "image-mode" "image-mode.el" (19412 35030)) 14364;;;;;; image-mode) "image-mode" "image-mode.el" (19636 58496))
14351;;; Generated autoloads from image-mode.el 14365;;; Generated autoloads from image-mode.el
14352 (push (cons (purecopy "\\.jpe?g\\'") 'image-mode) auto-mode-alist) 14366 (push (cons (purecopy "\\.jpe?g\\'") 'image-mode) auto-mode-alist)
14353 (push (cons (purecopy "\\.png\\'") 'image-mode) auto-mode-alist) 14367 (push (cons (purecopy "\\.png\\'") 'image-mode) auto-mode-alist)
@@ -14397,7 +14411,7 @@ Not documented
14397;;;*** 14411;;;***
14398 14412
14399;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar 14413;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar
14400;;;;;; imenu-sort-function) "imenu" "imenu.el" (19383 49279)) 14414;;;;;; imenu-sort-function) "imenu" "imenu.el" (19636 58496))
14401;;; Generated autoloads from imenu.el 14415;;; Generated autoloads from imenu.el
14402 14416
14403(defvar imenu-sort-function nil "\ 14417(defvar imenu-sort-function nil "\
@@ -14514,7 +14528,7 @@ for more information.
14514 14528
14515;;;### (autoloads (indian-2-column-to-ucs-region in-is13194-pre-write-conversion 14529;;;### (autoloads (indian-2-column-to-ucs-region in-is13194-pre-write-conversion
14516;;;;;; in-is13194-post-read-conversion indian-compose-string indian-compose-region) 14530;;;;;; in-is13194-post-read-conversion indian-compose-string indian-compose-region)
14517;;;;;; "ind-util" "language/ind-util.el" (19383 49279)) 14531;;;;;; "ind-util" "language/ind-util.el" (19636 58496))
14518;;; Generated autoloads from language/ind-util.el 14532;;; Generated autoloads from language/ind-util.el
14519 14533
14520(autoload 'indian-compose-region "ind-util" "\ 14534(autoload 'indian-compose-region "ind-util" "\
@@ -14546,7 +14560,7 @@ Convert old Emacs Devanagari characters to UCS.
14546 14560
14547;;;### (autoloads (inferior-lisp inferior-lisp-prompt inferior-lisp-load-command 14561;;;### (autoloads (inferior-lisp inferior-lisp-prompt inferior-lisp-load-command
14548;;;;;; inferior-lisp-program inferior-lisp-filter-regexp) "inf-lisp" 14562;;;;;; inferior-lisp-program inferior-lisp-filter-regexp) "inf-lisp"
14549;;;;;; "progmodes/inf-lisp.el" (19383 49279)) 14563;;;;;; "progmodes/inf-lisp.el" (19636 58496))
14550;;; Generated autoloads from progmodes/inf-lisp.el 14564;;; Generated autoloads from progmodes/inf-lisp.el
14551 14565
14552(defvar inferior-lisp-filter-regexp (purecopy "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'") "\ 14566(defvar inferior-lisp-filter-regexp (purecopy "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'") "\
@@ -14614,7 +14628,7 @@ of `inferior-lisp-program'). Runs the hooks from
14614;;;;;; Info-goto-emacs-command-node Info-mode info-finder info-apropos 14628;;;;;; Info-goto-emacs-command-node Info-mode info-finder info-apropos
14615;;;;;; Info-index Info-directory Info-on-current-buffer info-standalone 14629;;;;;; Info-index Info-directory Info-on-current-buffer info-standalone
14616;;;;;; info-emacs-manual info info-other-window) "info" "info.el" 14630;;;;;; info-emacs-manual info info-other-window) "info" "info.el"
14617;;;;;; (19412 35030)) 14631;;;;;; (19636 58496))
14618;;; Generated autoloads from info.el 14632;;; Generated autoloads from info.el
14619 14633
14620(autoload 'info-other-window "info" "\ 14634(autoload 'info-other-window "info" "\
@@ -14793,7 +14807,7 @@ type returned by `Info-bookmark-make-record', which see.
14793 14807
14794;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file 14808;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file
14795;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el" 14809;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el"
14796;;;;;; (19383 49279)) 14810;;;;;; (19636 58496))
14797;;; Generated autoloads from info-look.el 14811;;; Generated autoloads from info-look.el
14798 14812
14799(autoload 'info-lookup-reset "info-look" "\ 14813(autoload 'info-lookup-reset "info-look" "\
@@ -14841,7 +14855,7 @@ Perform completion on file preceding point.
14841;;;*** 14855;;;***
14842 14856
14843;;;### (autoloads (info-xref-check-all-custom info-xref-check-all 14857;;;### (autoloads (info-xref-check-all-custom info-xref-check-all
14844;;;;;; info-xref-check) "info-xref" "info-xref.el" (19383 49279)) 14858;;;;;; info-xref-check) "info-xref" "info-xref.el" (19636 58496))
14845;;; Generated autoloads from info-xref.el 14859;;; Generated autoloads from info-xref.el
14846 14860
14847(autoload 'info-xref-check "info-xref" "\ 14861(autoload 'info-xref-check "info-xref" "\
@@ -14868,7 +14882,7 @@ quite a while.
14868;;;*** 14882;;;***
14869 14883
14870;;;### (autoloads (batch-info-validate Info-validate Info-split Info-split-threshold 14884;;;### (autoloads (batch-info-validate Info-validate Info-split Info-split-threshold
14871;;;;;; Info-tagify) "informat" "informat.el" (19383 49279)) 14885;;;;;; Info-tagify) "informat" "informat.el" (19636 58496))
14872;;; Generated autoloads from informat.el 14886;;; Generated autoloads from informat.el
14873 14887
14874(autoload 'Info-tagify "informat" "\ 14888(autoload 'Info-tagify "informat" "\
@@ -14915,7 +14929,7 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\"
14915 14929
14916;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method 14930;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method
14917;;;;;; isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el" 14931;;;;;; isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el"
14918;;;;;; (19383 49279)) 14932;;;;;; (19636 58496))
14919;;; Generated autoloads from international/isearch-x.el 14933;;; Generated autoloads from international/isearch-x.el
14920 14934
14921(autoload 'isearch-toggle-specified-input-method "isearch-x" "\ 14935(autoload 'isearch-toggle-specified-input-method "isearch-x" "\
@@ -14935,8 +14949,8 @@ Not documented
14935 14949
14936;;;*** 14950;;;***
14937 14951
14938;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (19383 14952;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (19636
14939;;;;;; 49279)) 14953;;;;;; 58496))
14940;;; Generated autoloads from isearchb.el 14954;;; Generated autoloads from isearchb.el
14941 14955
14942(autoload 'isearchb-activate "isearchb" "\ 14956(autoload 'isearchb-activate "isearchb" "\
@@ -14952,7 +14966,7 @@ accessed via isearchb.
14952;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only 14966;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only
14953;;;;;; iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso 14967;;;;;; iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso
14954;;;;;; iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt" 14968;;;;;; iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt"
14955;;;;;; "international/iso-cvt.el" (19383 49279)) 14969;;;;;; "international/iso-cvt.el" (19636 58496))
14956;;; Generated autoloads from international/iso-cvt.el 14970;;; Generated autoloads from international/iso-cvt.el
14957 14971
14958(autoload 'iso-spanish "iso-cvt" "\ 14972(autoload 'iso-spanish "iso-cvt" "\
@@ -15043,7 +15057,7 @@ Add submenus to the File menu, to convert to and from various formats.
15043;;;*** 15057;;;***
15044 15058
15045;;;### (autoloads nil "iso-transl" "international/iso-transl.el" 15059;;;### (autoloads nil "iso-transl" "international/iso-transl.el"
15046;;;;;; (19383 49279)) 15060;;;;;; (19636 58496))
15047;;; Generated autoloads from international/iso-transl.el 15061;;; Generated autoloads from international/iso-transl.el
15048 (or key-translation-map (setq key-translation-map (make-sparse-keymap))) 15062 (or key-translation-map (setq key-translation-map (make-sparse-keymap)))
15049 (define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map) 15063 (define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map)
@@ -15055,7 +15069,7 @@ Add submenus to the File menu, to convert to and from various formats.
15055;;;;;; ispell-complete-word ispell-continue ispell-buffer ispell-comments-and-strings 15069;;;;;; ispell-complete-word ispell-continue ispell-buffer ispell-comments-and-strings
15056;;;;;; ispell-region ispell-change-dictionary ispell-kill-ispell 15070;;;;;; ispell-region ispell-change-dictionary ispell-kill-ispell
15057;;;;;; ispell-help ispell-pdict-save ispell-word ispell-personal-dictionary) 15071;;;;;; ispell-help ispell-pdict-save ispell-word ispell-personal-dictionary)
15058;;;;;; "ispell" "textmodes/ispell.el" (19383 49276)) 15072;;;;;; "ispell" "textmodes/ispell.el" (19636 58496))
15059;;; Generated autoloads from textmodes/ispell.el 15073;;; Generated autoloads from textmodes/ispell.el
15060(put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive)))) 15074(put 'ispell-check-comments 'safe-local-variable (lambda (a) (memq a '(nil t exclusive))))
15061 15075
@@ -15273,8 +15287,8 @@ You can bind this to the key C-c i in GNUS or mail by adding to
15273 15287
15274;;;*** 15288;;;***
15275 15289
15276;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (19383 15290;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (19636
15277;;;;;; 49276)) 15291;;;;;; 58496))
15278;;; Generated autoloads from iswitchb.el 15292;;; Generated autoloads from iswitchb.el
15279 15293
15280(defvar iswitchb-mode nil "\ 15294(defvar iswitchb-mode nil "\
@@ -15299,7 +15313,7 @@ This mode enables switching between buffers using substrings. See
15299;;;### (autoloads (read-hiragana-string japanese-zenkaku-region japanese-hankaku-region 15313;;;### (autoloads (read-hiragana-string japanese-zenkaku-region japanese-hankaku-region
15300;;;;;; japanese-hiragana-region japanese-katakana-region japanese-zenkaku 15314;;;;;; japanese-hiragana-region japanese-katakana-region japanese-zenkaku
15301;;;;;; japanese-hankaku japanese-hiragana japanese-katakana setup-japanese-environment-internal) 15315;;;;;; japanese-hankaku japanese-hiragana japanese-katakana setup-japanese-environment-internal)
15302;;;;;; "japan-util" "language/japan-util.el" (19383 49279)) 15316;;;;;; "japan-util" "language/japan-util.el" (19636 58496))
15303;;; Generated autoloads from language/japan-util.el 15317;;; Generated autoloads from language/japan-util.el
15304 15318
15305(autoload 'setup-japanese-environment-internal "japan-util" "\ 15319(autoload 'setup-japanese-environment-internal "japan-util" "\
@@ -15377,7 +15391,7 @@ If non-nil, second arg INITIAL-INPUT is a string to insert before reading.
15377;;;*** 15391;;;***
15378 15392
15379;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr" 15393;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr"
15380;;;;;; "jka-compr.el" (19383 49279)) 15394;;;;;; "jka-compr.el" (19636 58496))
15381;;; Generated autoloads from jka-compr.el 15395;;; Generated autoloads from jka-compr.el
15382 15396
15383(defvar jka-compr-inhibit nil "\ 15397(defvar jka-compr-inhibit nil "\
@@ -15400,7 +15414,7 @@ by `jka-compr-installed'.
15400 15414
15401;;;*** 15415;;;***
15402 15416
15403;;;### (autoloads (js-mode) "js" "progmodes/js.el" (19421 38445)) 15417;;;### (autoloads (js-mode) "js" "progmodes/js.el" (19636 58496))
15404;;; Generated autoloads from progmodes/js.el 15418;;; Generated autoloads from progmodes/js.el
15405 15419
15406(autoload 'js-mode "js" "\ 15420(autoload 'js-mode "js" "\
@@ -15418,7 +15432,7 @@ Key bindings:
15418 15432
15419;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup 15433;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup
15420;;;;;; keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el" 15434;;;;;; keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el"
15421;;;;;; (19383 49279)) 15435;;;;;; (19636 58496))
15422;;; Generated autoloads from emulation/keypad.el 15436;;; Generated autoloads from emulation/keypad.el
15423 15437
15424(defvar keypad-setup nil "\ 15438(defvar keypad-setup nil "\
@@ -15474,7 +15488,7 @@ the decimal key on the keypad is mapped to DECIMAL instead of `.'
15474;;;*** 15488;;;***
15475 15489
15476;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el" 15490;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el"
15477;;;;;; (19383 49279)) 15491;;;;;; (19636 58496))
15478;;; Generated autoloads from international/kinsoku.el 15492;;; Generated autoloads from international/kinsoku.el
15479 15493
15480(autoload 'kinsoku "kinsoku" "\ 15494(autoload 'kinsoku "kinsoku" "\
@@ -15495,8 +15509,8 @@ the context of text formatting.
15495 15509
15496;;;*** 15510;;;***
15497 15511
15498;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (19383 15512;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (19636
15499;;;;;; 49279)) 15513;;;;;; 58496))
15500;;; Generated autoloads from international/kkc.el 15514;;; Generated autoloads from international/kkc.el
15501 15515
15502(defvar kkc-after-update-conversion-functions nil "\ 15516(defvar kkc-after-update-conversion-functions nil "\
@@ -15521,7 +15535,7 @@ and the return value is the length of the conversion.
15521;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro 15535;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro
15522;;;;;; kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter 15536;;;;;; kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter
15523;;;;;; kmacro-call-macro kmacro-end-macro kmacro-start-macro kmacro-exec-ring-item) 15537;;;;;; kmacro-call-macro kmacro-end-macro kmacro-start-macro kmacro-exec-ring-item)
15524;;;;;; "kmacro" "kmacro.el" (19383 49279)) 15538;;;;;; "kmacro" "kmacro.el" (19636 58496))
15525;;; Generated autoloads from kmacro.el 15539;;; Generated autoloads from kmacro.el
15526 (global-set-key "\C-x(" 'kmacro-start-macro) 15540 (global-set-key "\C-x(" 'kmacro-start-macro)
15527 (global-set-key "\C-x)" 'kmacro-end-macro) 15541 (global-set-key "\C-x)" 'kmacro-end-macro)
@@ -15632,7 +15646,7 @@ If kbd macro currently being defined end it before activating it.
15632;;;*** 15646;;;***
15633 15647
15634;;;### (autoloads (setup-korean-environment-internal) "korea-util" 15648;;;### (autoloads (setup-korean-environment-internal) "korea-util"
15635;;;;;; "language/korea-util.el" (19383 49279)) 15649;;;;;; "language/korea-util.el" (19636 58496))
15636;;; Generated autoloads from language/korea-util.el 15650;;; Generated autoloads from language/korea-util.el
15637 15651
15638(defvar default-korean-keyboard (purecopy (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "")) "\ 15652(defvar default-korean-keyboard (purecopy (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "")) "\
@@ -15647,7 +15661,7 @@ Not documented
15647;;;*** 15661;;;***
15648 15662
15649;;;### (autoloads (lm lm-test-run) "landmark" "play/landmark.el" 15663;;;### (autoloads (lm lm-test-run) "landmark" "play/landmark.el"
15650;;;;;; (19383 49279)) 15664;;;;;; (19658 61388))
15651;;; Generated autoloads from play/landmark.el 15665;;; Generated autoloads from play/landmark.el
15652 15666
15653(defalias 'landmark-repeat 'lm-test-run) 15667(defalias 'landmark-repeat 'lm-test-run)
@@ -15681,7 +15695,7 @@ Use \\[describe-mode] for more info.
15681 15695
15682;;;### (autoloads (lao-compose-region lao-composition-function lao-transcribe-roman-to-lao-string 15696;;;### (autoloads (lao-compose-region lao-composition-function lao-transcribe-roman-to-lao-string
15683;;;;;; lao-transcribe-single-roman-syllable-to-lao lao-compose-string) 15697;;;;;; lao-transcribe-single-roman-syllable-to-lao lao-compose-string)
15684;;;;;; "lao-util" "language/lao-util.el" (19383 49279)) 15698;;;;;; "lao-util" "language/lao-util.el" (19636 58496))
15685;;; Generated autoloads from language/lao-util.el 15699;;; Generated autoloads from language/lao-util.el
15686 15700
15687(autoload 'lao-compose-string "lao-util" "\ 15701(autoload 'lao-compose-string "lao-util" "\
@@ -15720,7 +15734,7 @@ Not documented
15720 15734
15721;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc 15735;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc
15722;;;;;; latexenc-inputenc-to-coding-system latex-inputenc-coding-alist) 15736;;;;;; latexenc-inputenc-to-coding-system latex-inputenc-coding-alist)
15723;;;;;; "latexenc" "international/latexenc.el" (19383 49279)) 15737;;;;;; "latexenc" "international/latexenc.el" (19636 58496))
15724;;; Generated autoloads from international/latexenc.el 15738;;; Generated autoloads from international/latexenc.el
15725 15739
15726(defvar latex-inputenc-coding-alist (purecopy '(("ansinew" . windows-1252) ("applemac" . mac-roman) ("ascii" . us-ascii) ("cp1250" . windows-1250) ("cp1252" . windows-1252) ("cp1257" . cp1257) ("cp437de" . cp437) ("cp437" . cp437) ("cp850" . cp850) ("cp852" . cp852) ("cp858" . cp858) ("cp865" . cp865) ("latin1" . iso-8859-1) ("latin2" . iso-8859-2) ("latin3" . iso-8859-3) ("latin4" . iso-8859-4) ("latin5" . iso-8859-5) ("latin9" . iso-8859-15) ("next" . next) ("utf8" . utf-8) ("utf8x" . utf-8))) "\ 15740(defvar latex-inputenc-coding-alist (purecopy '(("ansinew" . windows-1252) ("applemac" . mac-roman) ("ascii" . us-ascii) ("cp1250" . windows-1250) ("cp1252" . windows-1252) ("cp1257" . cp1257) ("cp437de" . cp437) ("cp437" . cp437) ("cp850" . cp850) ("cp852" . cp852) ("cp858" . cp858) ("cp865" . cp865) ("latin1" . iso-8859-1) ("latin2" . iso-8859-2) ("latin3" . iso-8859-3) ("latin4" . iso-8859-4) ("latin5" . iso-8859-5) ("latin9" . iso-8859-15) ("next" . next) ("utf8" . utf-8) ("utf8x" . utf-8))) "\
@@ -15752,7 +15766,7 @@ coding system names is determined from `latex-inputenc-coding-alist'.
15752;;;*** 15766;;;***
15753 15767
15754;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display) 15768;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display)
15755;;;;;; "latin1-disp" "international/latin1-disp.el" (19383 49279)) 15769;;;;;; "latin1-disp" "international/latin1-disp.el" (19636 58496))
15756;;; Generated autoloads from international/latin1-disp.el 15770;;; Generated autoloads from international/latin1-disp.el
15757 15771
15758(defvar latin1-display nil "\ 15772(defvar latin1-display nil "\
@@ -15794,7 +15808,7 @@ use either \\[customize] or the function `latin1-display'.")
15794;;;*** 15808;;;***
15795 15809
15796;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el" 15810;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el"
15797;;;;;; (19383 49279)) 15811;;;;;; (19636 58496))
15798;;; Generated autoloads from progmodes/ld-script.el 15812;;; Generated autoloads from progmodes/ld-script.el
15799 15813
15800(add-to-list 'auto-mode-alist (purecopy '("\\.ld[si]?\\>" . ld-script-mode))) 15814(add-to-list 'auto-mode-alist (purecopy '("\\.ld[si]?\\>" . ld-script-mode)))
@@ -15811,7 +15825,7 @@ A major mode to edit GNU ld script files
15811;;;*** 15825;;;***
15812 15826
15813;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "ledit.el" 15827;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "ledit.el"
15814;;;;;; (19383 49279)) 15828;;;;;; (19636 58496))
15815;;; Generated autoloads from ledit.el 15829;;; Generated autoloads from ledit.el
15816 15830
15817(defconst ledit-save-files t "\ 15831(defconst ledit-save-files t "\
@@ -15846,7 +15860,7 @@ Not documented
15846 15860
15847;;;*** 15861;;;***
15848 15862
15849;;;### (autoloads (life) "life" "play/life.el" (19383 49279)) 15863;;;### (autoloads (life) "life" "play/life.el" (19636 58496))
15850;;; Generated autoloads from play/life.el 15864;;; Generated autoloads from play/life.el
15851 15865
15852(autoload 'life "life" "\ 15866(autoload 'life "life" "\
@@ -15860,7 +15874,7 @@ generations (this defaults to 1).
15860;;;*** 15874;;;***
15861 15875
15862;;;### (autoloads (global-linum-mode linum-mode linum-format) "linum" 15876;;;### (autoloads (global-linum-mode linum-mode linum-format) "linum"
15863;;;;;; "linum.el" (19383 49279)) 15877;;;;;; "linum.el" (19636 58496))
15864;;; Generated autoloads from linum.el 15878;;; Generated autoloads from linum.el
15865 15879
15866(defvar linum-format 'dynamic "\ 15880(defvar linum-format 'dynamic "\
@@ -15898,8 +15912,8 @@ See `linum-mode' for more information on Linum mode.
15898 15912
15899;;;*** 15913;;;***
15900 15914
15901;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (19383 15915;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (19636
15902;;;;;; 49279)) 15916;;;;;; 58496))
15903;;; Generated autoloads from loadhist.el 15917;;; Generated autoloads from loadhist.el
15904 15918
15905(autoload 'unload-feature "loadhist" "\ 15919(autoload 'unload-feature "loadhist" "\
@@ -15931,7 +15945,7 @@ something strange, such as redefining an Emacs function.
15931;;;*** 15945;;;***
15932 15946
15933;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches) 15947;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches)
15934;;;;;; "locate" "locate.el" (19383 49279)) 15948;;;;;; "locate" "locate.el" (19662 53673))
15935;;; Generated autoloads from locate.el 15949;;; Generated autoloads from locate.el
15936 15950
15937(defvar locate-ls-subdir-switches (purecopy "-al") "\ 15951(defvar locate-ls-subdir-switches (purecopy "-al") "\
@@ -15943,7 +15957,7 @@ This should contain the \"-l\" switch, but not the \"-F\" or \"-b\" switches.")
15943(autoload 'locate "locate" "\ 15957(autoload 'locate "locate" "\
15944Run the program `locate', putting results in `*Locate*' buffer. 15958Run the program `locate', putting results in `*Locate*' buffer.
15945Pass it SEARCH-STRING as argument. Interactively, prompt for SEARCH-STRING. 15959Pass it SEARCH-STRING as argument. Interactively, prompt for SEARCH-STRING.
15946With prefix arg, prompt for the exact shell command to run instead. 15960With prefix arg ARG, prompt for the exact shell command to run instead.
15947 15961
15948This program searches for those file names in a database that match 15962This program searches for those file names in a database that match
15949SEARCH-STRING and normally outputs all matching absolute file names, 15963SEARCH-STRING and normally outputs all matching absolute file names,
@@ -15959,7 +15973,8 @@ the variables `locate-command' or `locate-make-command-line'.
15959The main use of FILTER is to implement `locate-with-filter'. See 15973The main use of FILTER is to implement `locate-with-filter'. See
15960the docstring of that function for its meaning. 15974the docstring of that function for its meaning.
15961 15975
15962ARG is the interactive prefix arg. 15976After preparing the results buffer, this runs `dired-mode-hook' and
15977then `locate-post-command-hook'.
15963 15978
15964\(fn SEARCH-STRING &optional FILTER ARG)" t nil) 15979\(fn SEARCH-STRING &optional FILTER ARG)" t nil)
15965 15980
@@ -15982,12 +15997,13 @@ except that FILTER is not optional.
15982 15997
15983;;;*** 15998;;;***
15984 15999
15985;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (19383 49276)) 16000;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (19661 52402))
15986;;; Generated autoloads from log-edit.el 16001;;; Generated autoloads from log-edit.el
15987 16002
15988(autoload 'log-edit "log-edit" "\ 16003(autoload 'log-edit "log-edit" "\
15989Setup a buffer to enter a log message. 16004Setup a buffer to enter a log message.
15990\\<log-edit-mode-map>The buffer will be put in `log-edit-mode'. 16005\\<log-edit-mode-map>The buffer will be put in mode MODE or `log-edit-mode'
16006if MODE is nil.
15991If SETUP is non-nil, the buffer is then erased and `log-edit-hook' is run. 16007If SETUP is non-nil, the buffer is then erased and `log-edit-hook' is run.
15992Mark and point will be set around the entire contents of the buffer so 16008Mark and point will be set around the entire contents of the buffer so
15993that it is easy to kill the contents of the buffer with \\[kill-region]. 16009that it is easy to kill the contents of the buffer with \\[kill-region].
@@ -16004,12 +16020,12 @@ If BUFFER is non-nil `log-edit' will jump to that buffer, use it to edit the
16004log message and go back to the current buffer when done. Otherwise, it 16020log message and go back to the current buffer when done. Otherwise, it
16005uses the current buffer. 16021uses the current buffer.
16006 16022
16007\(fn CALLBACK &optional SETUP PARAMS BUFFER &rest IGNORE)" nil nil) 16023\(fn CALLBACK &optional SETUP PARAMS BUFFER MODE &rest IGNORE)" nil nil)
16008 16024
16009;;;*** 16025;;;***
16010 16026
16011;;;### (autoloads (log-view-mode) "log-view" "log-view.el" (19383 16027;;;### (autoloads (log-view-mode) "log-view" "log-view.el" (19661
16012;;;;;; 49279)) 16028;;;;;; 51918))
16013;;; Generated autoloads from log-view.el 16029;;; Generated autoloads from log-view.el
16014 16030
16015(autoload 'log-view-mode "log-view" "\ 16031(autoload 'log-view-mode "log-view" "\
@@ -16019,8 +16035,8 @@ Major mode for browsing CVS log output.
16019 16035
16020;;;*** 16036;;;***
16021 16037
16022;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (19383 16038;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (19636
16023;;;;;; 49279)) 16039;;;;;; 58496))
16024;;; Generated autoloads from longlines.el 16040;;; Generated autoloads from longlines.el
16025 16041
16026(autoload 'longlines-mode "longlines" "\ 16042(autoload 'longlines-mode "longlines" "\
@@ -16041,8 +16057,8 @@ are indicated with a symbol.
16041;;;*** 16057;;;***
16042 16058
16043;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer 16059;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer
16044;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (19383 16060;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (19636
16045;;;;;; 49279)) 16061;;;;;; 58496))
16046;;; Generated autoloads from lpr.el 16062;;; Generated autoloads from lpr.el
16047 16063
16048(defvar lpr-windows-system (memq system-type '(ms-dos windows-nt))) 16064(defvar lpr-windows-system (memq system-type '(ms-dos windows-nt)))
@@ -16136,7 +16152,7 @@ for further customization of the printer command.
16136;;;*** 16152;;;***
16137 16153
16138;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el" 16154;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el"
16139;;;;;; (19383 49276)) 16155;;;;;; (19672 43471))
16140;;; Generated autoloads from ls-lisp.el 16156;;; Generated autoloads from ls-lisp.el
16141 16157
16142(defvar ls-lisp-support-shell-wildcards t "\ 16158(defvar ls-lisp-support-shell-wildcards t "\
@@ -16147,8 +16163,8 @@ Otherwise they are treated as Emacs regexps (for backward compatibility).")
16147 16163
16148;;;*** 16164;;;***
16149 16165
16150;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (19383 16166;;;### (autoloads (lunar-phases) "lunar" "calendar/lunar.el" (19636
16151;;;;;; 49279)) 16167;;;;;; 58496))
16152;;; Generated autoloads from calendar/lunar.el 16168;;; Generated autoloads from calendar/lunar.el
16153 16169
16154(autoload 'lunar-phases "lunar" "\ 16170(autoload 'lunar-phases "lunar" "\
@@ -16162,8 +16178,8 @@ This function is suitable for execution in a .emacs file.
16162 16178
16163;;;*** 16179;;;***
16164 16180
16165;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (19383 16181;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (19636
16166;;;;;; 49280)) 16182;;;;;; 58496))
16167;;; Generated autoloads from progmodes/m4-mode.el 16183;;; Generated autoloads from progmodes/m4-mode.el
16168 16184
16169(autoload 'm4-mode "m4-mode" "\ 16185(autoload 'm4-mode "m4-mode" "\
@@ -16175,7 +16191,7 @@ A major mode to edit m4 macro files.
16175;;;*** 16191;;;***
16176 16192
16177;;;### (autoloads (macroexpand-all) "macroexp" "emacs-lisp/macroexp.el" 16193;;;### (autoloads (macroexpand-all) "macroexp" "emacs-lisp/macroexp.el"
16178;;;;;; (19383 49280)) 16194;;;;;; (19636 58496))
16179;;; Generated autoloads from emacs-lisp/macroexp.el 16195;;; Generated autoloads from emacs-lisp/macroexp.el
16180 16196
16181(autoload 'macroexpand-all "macroexp" "\ 16197(autoload 'macroexpand-all "macroexp" "\
@@ -16189,7 +16205,7 @@ definitions to shadow the loaded ones for use in file byte-compilation.
16189;;;*** 16205;;;***
16190 16206
16191;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro 16207;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro
16192;;;;;; name-last-kbd-macro) "macros" "macros.el" (19383 49277)) 16208;;;;;; name-last-kbd-macro) "macros" "macros.el" (19636 58496))
16193;;; Generated autoloads from macros.el 16209;;; Generated autoloads from macros.el
16194 16210
16195(autoload 'name-last-kbd-macro "macros" "\ 16211(autoload 'name-last-kbd-macro "macros" "\
@@ -16278,7 +16294,7 @@ and then select the region of un-tablified names and use
16278;;;*** 16294;;;***
16279 16295
16280;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr" 16296;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr"
16281;;;;;; "mail/mail-extr.el" (19383 49280)) 16297;;;;;; "mail/mail-extr.el" (19636 58496))
16282;;; Generated autoloads from mail/mail-extr.el 16298;;; Generated autoloads from mail/mail-extr.el
16283 16299
16284(autoload 'mail-extract-address-components "mail-extr" "\ 16300(autoload 'mail-extract-address-components "mail-extr" "\
@@ -16310,7 +16326,7 @@ Convert mail domain DOMAIN to the country it corresponds to.
16310 16326
16311;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history 16327;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history
16312;;;;;; mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el" 16328;;;;;; mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el"
16313;;;;;; (19383 49280)) 16329;;;;;; (19636 58496))
16314;;; Generated autoloads from mail/mail-hist.el 16330;;; Generated autoloads from mail/mail-hist.el
16315 16331
16316(autoload 'mail-hist-define-keys "mail-hist" "\ 16332(autoload 'mail-hist-define-keys "mail-hist" "\
@@ -16342,7 +16358,7 @@ This function normally would be called when the message is sent.
16342;;;### (autoloads (mail-fetch-field mail-unquote-printable-region 16358;;;### (autoloads (mail-fetch-field mail-unquote-printable-region
16343;;;;;; mail-unquote-printable mail-quote-printable-region mail-quote-printable 16359;;;;;; mail-unquote-printable mail-quote-printable-region mail-quote-printable
16344;;;;;; mail-file-babyl-p mail-use-rfc822) "mail-utils" "mail/mail-utils.el" 16360;;;;;; mail-file-babyl-p mail-use-rfc822) "mail-utils" "mail/mail-utils.el"
16345;;;;;; (19383 49276)) 16361;;;;;; (19636 58496))
16346;;; Generated autoloads from mail/mail-utils.el 16362;;; Generated autoloads from mail/mail-utils.el
16347 16363
16348(defvar mail-use-rfc822 nil "\ 16364(defvar mail-use-rfc822 nil "\
@@ -16404,8 +16420,8 @@ matches may be returned from the message body.
16404;;;*** 16420;;;***
16405 16421
16406;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup 16422;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup
16407;;;;;; mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (19383 16423;;;;;; mail-abbrevs-mode) "mailabbrev" "mail/mailabbrev.el" (19636
16408;;;;;; 49280)) 16424;;;;;; 58496))
16409;;; Generated autoloads from mail/mailabbrev.el 16425;;; Generated autoloads from mail/mailabbrev.el
16410 16426
16411(defvar mail-abbrevs-mode nil "\ 16427(defvar mail-abbrevs-mode nil "\
@@ -16447,8 +16463,8 @@ double-quotes.
16447;;;*** 16463;;;***
16448 16464
16449;;;### (autoloads (mail-complete define-mail-alias expand-mail-aliases 16465;;;### (autoloads (mail-complete define-mail-alias expand-mail-aliases
16450;;;;;; mail-complete-style) "mailalias" "mail/mailalias.el" (19383 16466;;;;;; mail-complete-style) "mailalias" "mail/mailalias.el" (19636
16451;;;;;; 49280)) 16467;;;;;; 58496))
16452;;; Generated autoloads from mail/mailalias.el 16468;;; Generated autoloads from mail/mailalias.el
16453 16469
16454(defvar mail-complete-style 'angles "\ 16470(defvar mail-complete-style 'angles "\
@@ -16494,7 +16510,7 @@ current header, calls `mail-complete-function' and passes prefix arg if any.
16494;;;*** 16510;;;***
16495 16511
16496;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el" 16512;;;### (autoloads (mailclient-send-it) "mailclient" "mail/mailclient.el"
16497;;;;;; (19383 49280)) 16513;;;;;; (19636 58496))
16498;;; Generated autoloads from mail/mailclient.el 16514;;; Generated autoloads from mail/mailclient.el
16499 16515
16500(autoload 'mailclient-send-it "mailclient" "\ 16516(autoload 'mailclient-send-it "mailclient" "\
@@ -16508,7 +16524,7 @@ The mail client is taken to be the handler of mailto URLs.
16508 16524
16509;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode 16525;;;### (autoloads (makefile-imake-mode makefile-bsdmake-mode makefile-makepp-mode
16510;;;;;; makefile-gmake-mode makefile-automake-mode makefile-mode) 16526;;;;;; makefile-gmake-mode makefile-automake-mode makefile-mode)
16511;;;;;; "make-mode" "progmodes/make-mode.el" (19383 49284)) 16527;;;;;; "make-mode" "progmodes/make-mode.el" (19636 58496))
16512;;; Generated autoloads from progmodes/make-mode.el 16528;;; Generated autoloads from progmodes/make-mode.el
16513 16529
16514(autoload 'makefile-mode "make-mode" "\ 16530(autoload 'makefile-mode "make-mode" "\
@@ -16625,8 +16641,8 @@ An adapted `makefile-mode' that knows about imake.
16625 16641
16626;;;*** 16642;;;***
16627 16643
16628;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (19383 16644;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (19636
16629;;;;;; 49280)) 16645;;;;;; 58496))
16630;;; Generated autoloads from makesum.el 16646;;; Generated autoloads from makesum.el
16631 16647
16632(autoload 'make-command-summary "makesum" "\ 16648(autoload 'make-command-summary "makesum" "\
@@ -16637,7 +16653,7 @@ Previous contents of that buffer are killed first.
16637 16653
16638;;;*** 16654;;;***
16639 16655
16640;;;### (autoloads (man-follow man) "man" "man.el" (19383 49278)) 16656;;;### (autoloads (man-follow man) "man" "man.el" (19641 1152))
16641;;; Generated autoloads from man.el 16657;;; Generated autoloads from man.el
16642 16658
16643(defalias 'manual-entry 'man) 16659(defalias 'manual-entry 'man)
@@ -16686,7 +16702,7 @@ Get a Un*x manual page of the item under point and put it in a buffer.
16686 16702
16687;;;*** 16703;;;***
16688 16704
16689;;;### (autoloads (master-mode) "master" "master.el" (19383 49280)) 16705;;;### (autoloads (master-mode) "master" "master.el" (19636 58496))
16690;;; Generated autoloads from master.el 16706;;; Generated autoloads from master.el
16691 16707
16692(autoload 'master-mode "master" "\ 16708(autoload 'master-mode "master" "\
@@ -16709,7 +16725,7 @@ yourself the value of `master-of' by calling `master-show-slave'.
16709;;;*** 16725;;;***
16710 16726
16711;;;### (autoloads (minibuffer-depth-indicate-mode) "mb-depth" "mb-depth.el" 16727;;;### (autoloads (minibuffer-depth-indicate-mode) "mb-depth" "mb-depth.el"
16712;;;;;; (19383 49280)) 16728;;;;;; (19636 58496))
16713;;; Generated autoloads from mb-depth.el 16729;;; Generated autoloads from mb-depth.el
16714 16730
16715(defvar minibuffer-depth-indicate-mode nil "\ 16731(defvar minibuffer-depth-indicate-mode nil "\
@@ -16740,7 +16756,7 @@ Returns non-nil if the new state is enabled.
16740;;;;;; message-forward-make-body message-forward message-recover 16756;;;;;; message-forward-make-body message-forward message-recover
16741;;;;;; message-supersede message-cancel-news message-followup message-wide-reply 16757;;;;;; message-supersede message-cancel-news message-followup message-wide-reply
16742;;;;;; message-reply message-news message-mail message-mode) "message" 16758;;;;;; message-reply message-news message-mail message-mode) "message"
16743;;;;;; "gnus/message.el" (19409 46567)) 16759;;;;;; "gnus/message.el" (19636 58496))
16744;;; Generated autoloads from gnus/message.el 16760;;; Generated autoloads from gnus/message.el
16745 16761
16746(define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook) 16762(define-mail-user-agent 'message-user-agent 'message-mail 'message-send-and-exit 'message-kill-buffer 'message-send-hook)
@@ -16906,7 +16922,7 @@ which specify the range to operate on.
16906;;;*** 16922;;;***
16907 16923
16908;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el" 16924;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el"
16909;;;;;; (19383 49280)) 16925;;;;;; (19636 58496))
16910;;; Generated autoloads from progmodes/meta-mode.el 16926;;; Generated autoloads from progmodes/meta-mode.el
16911 16927
16912(autoload 'metafont-mode "meta-mode" "\ 16928(autoload 'metafont-mode "meta-mode" "\
@@ -16933,7 +16949,7 @@ Turning on MetaPost mode calls the value of the variable
16933 16949
16934;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body 16950;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body
16935;;;;;; metamail-interpret-header) "metamail" "mail/metamail.el" 16951;;;;;; metamail-interpret-header) "metamail" "mail/metamail.el"
16936;;;;;; (19383 49280)) 16952;;;;;; (19636 58496))
16937;;; Generated autoloads from mail/metamail.el 16953;;; Generated autoloads from mail/metamail.el
16938 16954
16939(autoload 'metamail-interpret-header "metamail" "\ 16955(autoload 'metamail-interpret-header "metamail" "\
@@ -16978,7 +16994,7 @@ redisplayed as output is inserted.
16978 16994
16979;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose 16995;;;### (autoloads (mh-fully-kill-draft mh-send-letter mh-user-agent-compose
16980;;;;;; mh-smail-batch mh-smail-other-window mh-smail) "mh-comp" 16996;;;;;; mh-smail-batch mh-smail-other-window mh-smail) "mh-comp"
16981;;;;;; "mh-e/mh-comp.el" (19383 49280)) 16997;;;;;; "mh-e/mh-comp.el" (19636 58496))
16982;;; Generated autoloads from mh-e/mh-comp.el 16998;;; Generated autoloads from mh-e/mh-comp.el
16983 16999
16984(autoload 'mh-smail "mh-comp" "\ 17000(autoload 'mh-smail "mh-comp" "\
@@ -17068,7 +17084,7 @@ delete the draft message.
17068 17084
17069;;;*** 17085;;;***
17070 17086
17071;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (19383 49280)) 17087;;;### (autoloads (mh-version) "mh-e" "mh-e/mh-e.el" (19636 58496))
17072;;; Generated autoloads from mh-e/mh-e.el 17088;;; Generated autoloads from mh-e/mh-e.el
17073 17089
17074(put 'mh-progs 'risky-local-variable t) 17090(put 'mh-progs 'risky-local-variable t)
@@ -17085,7 +17101,7 @@ Display version information about MH-E and the MH mail handling system.
17085;;;*** 17101;;;***
17086 17102
17087;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder" 17103;;;### (autoloads (mh-folder-mode mh-nmail mh-rmail) "mh-folder"
17088;;;;;; "mh-e/mh-folder.el" (19383 49280)) 17104;;;;;; "mh-e/mh-folder.el" (19636 58496))
17089;;; Generated autoloads from mh-e/mh-folder.el 17105;;; Generated autoloads from mh-e/mh-folder.el
17090 17106
17091(autoload 'mh-rmail "mh-folder" "\ 17107(autoload 'mh-rmail "mh-folder" "\
@@ -17167,7 +17183,7 @@ perform the operation on all messages in that region.
17167;;;*** 17183;;;***
17168 17184
17169;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight" 17185;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight"
17170;;;;;; "midnight.el" (19383 49280)) 17186;;;;;; "midnight.el" (19636 58496))
17171;;; Generated autoloads from midnight.el 17187;;; Generated autoloads from midnight.el
17172 17188
17173(autoload 'clean-buffer-list "midnight" "\ 17189(autoload 'clean-buffer-list "midnight" "\
@@ -17194,7 +17210,7 @@ to its second argument TM.
17194;;;*** 17210;;;***
17195 17211
17196;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef" 17212;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef"
17197;;;;;; "minibuf-eldef.el" (19383 49280)) 17213;;;;;; "minibuf-eldef.el" (19636 58496))
17198;;; Generated autoloads from minibuf-eldef.el 17214;;; Generated autoloads from minibuf-eldef.el
17199 17215
17200(defvar minibuffer-electric-default-mode nil "\ 17216(defvar minibuffer-electric-default-mode nil "\
@@ -17221,7 +17237,7 @@ Returns non-nil if the new state is enabled.
17221 17237
17222;;;*** 17238;;;***
17223 17239
17224;;;### (autoloads (butterfly) "misc" "misc.el" (19383 49280)) 17240;;;### (autoloads (butterfly) "misc" "misc.el" (19636 58496))
17225;;; Generated autoloads from misc.el 17241;;; Generated autoloads from misc.el
17226 17242
17227(autoload 'butterfly "misc" "\ 17243(autoload 'butterfly "misc" "\
@@ -17240,7 +17256,7 @@ variation of `C-x M-c M-butterfly' from url `http://xkcd.com/378/'.
17240 17256
17241;;;### (autoloads (multi-isearch-files-regexp multi-isearch-files 17257;;;### (autoloads (multi-isearch-files-regexp multi-isearch-files
17242;;;;;; multi-isearch-buffers-regexp multi-isearch-buffers multi-isearch-setup) 17258;;;;;; multi-isearch-buffers-regexp multi-isearch-buffers multi-isearch-setup)
17243;;;;;; "misearch" "misearch.el" (19383 49280)) 17259;;;;;; "misearch" "misearch.el" (19636 58496))
17244;;; Generated autoloads from misearch.el 17260;;; Generated autoloads from misearch.el
17245 (add-hook 'isearch-mode-hook 'multi-isearch-setup) 17261 (add-hook 'isearch-mode-hook 'multi-isearch-setup)
17246 17262
@@ -17322,7 +17338,7 @@ whose file names match the specified wildcard.
17322;;;*** 17338;;;***
17323 17339
17324;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el" 17340;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el"
17325;;;;;; (19383 49280)) 17341;;;;;; (19636 58496))
17326;;; Generated autoloads from progmodes/mixal-mode.el 17342;;; Generated autoloads from progmodes/mixal-mode.el
17327 17343
17328(autoload 'mixal-mode "mixal-mode" "\ 17344(autoload 'mixal-mode "mixal-mode" "\
@@ -17336,7 +17352,7 @@ Major mode for the mixal asm language.
17336;;;*** 17352;;;***
17337 17353
17338;;;### (autoloads (mm-inline-external-body mm-extern-cache-contents) 17354;;;### (autoloads (mm-inline-external-body mm-extern-cache-contents)
17339;;;;;; "mm-extern" "gnus/mm-extern.el" (19383 49280)) 17355;;;;;; "mm-extern" "gnus/mm-extern.el" (19636 58496))
17340;;; Generated autoloads from gnus/mm-extern.el 17356;;; Generated autoloads from gnus/mm-extern.el
17341 17357
17342(autoload 'mm-extern-cache-contents "mm-extern" "\ 17358(autoload 'mm-extern-cache-contents "mm-extern" "\
@@ -17355,7 +17371,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.
17355;;;*** 17371;;;***
17356 17372
17357;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el" 17373;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el"
17358;;;;;; (19383 49280)) 17374;;;;;; (19636 58496))
17359;;; Generated autoloads from gnus/mm-partial.el 17375;;; Generated autoloads from gnus/mm-partial.el
17360 17376
17361(autoload 'mm-inline-partial "mm-partial" "\ 17377(autoload 'mm-inline-partial "mm-partial" "\
@@ -17369,7 +17385,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.
17369;;;*** 17385;;;***
17370 17386
17371;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents) 17387;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents)
17372;;;;;; "mm-url" "gnus/mm-url.el" (19383 49280)) 17388;;;;;; "mm-url" "gnus/mm-url.el" (19636 58496))
17373;;; Generated autoloads from gnus/mm-url.el 17389;;; Generated autoloads from gnus/mm-url.el
17374 17390
17375(autoload 'mm-url-insert-file-contents "mm-url" "\ 17391(autoload 'mm-url-insert-file-contents "mm-url" "\
@@ -17386,7 +17402,7 @@ Insert file contents of URL using `mm-url-program'.
17386;;;*** 17402;;;***
17387 17403
17388;;;### (autoloads (mm-uu-dissect-text-parts mm-uu-dissect) "mm-uu" 17404;;;### (autoloads (mm-uu-dissect-text-parts mm-uu-dissect) "mm-uu"
17389;;;;;; "gnus/mm-uu.el" (19383 49283)) 17405;;;;;; "gnus/mm-uu.el" (19636 58496))
17390;;; Generated autoloads from gnus/mm-uu.el 17406;;; Generated autoloads from gnus/mm-uu.el
17391 17407
17392(autoload 'mm-uu-dissect "mm-uu" "\ 17408(autoload 'mm-uu-dissect "mm-uu" "\
@@ -17406,7 +17422,7 @@ Assume text has been decoded if DECODED is non-nil.
17406;;;*** 17422;;;***
17407 17423
17408;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el" 17424;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el"
17409;;;;;; (19383 49280)) 17425;;;;;; (19636 58496))
17410;;; Generated autoloads from gnus/mml1991.el 17426;;; Generated autoloads from gnus/mml1991.el
17411 17427
17412(autoload 'mml1991-encrypt "mml1991" "\ 17428(autoload 'mml1991-encrypt "mml1991" "\
@@ -17423,7 +17439,7 @@ Not documented
17423 17439
17424;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt 17440;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt
17425;;;;;; mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt) 17441;;;;;; mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt)
17426;;;;;; "mml2015" "gnus/mml2015.el" (19383 49280)) 17442;;;;;; "mml2015" "gnus/mml2015.el" (19636 58496))
17427;;; Generated autoloads from gnus/mml2015.el 17443;;; Generated autoloads from gnus/mml2015.el
17428 17444
17429(autoload 'mml2015-decrypt "mml2015" "\ 17445(autoload 'mml2015-decrypt "mml2015" "\
@@ -17464,7 +17480,7 @@ Not documented
17464;;;*** 17480;;;***
17465 17481
17466;;;### (autoloads (modula-2-mode) "modula2" "progmodes/modula2.el" 17482;;;### (autoloads (modula-2-mode) "modula2" "progmodes/modula2.el"
17467;;;;;; (19352 21355)) 17483;;;;;; (19636 58496))
17468;;; Generated autoloads from progmodes/modula2.el 17484;;; Generated autoloads from progmodes/modula2.el
17469 17485
17470(autoload 'modula-2-mode "modula2" "\ 17486(autoload 'modula-2-mode "modula2" "\
@@ -17496,7 +17512,7 @@ followed by the first character of the construct.
17496;;;*** 17512;;;***
17497 17513
17498;;;### (autoloads (unmorse-region morse-region) "morse" "play/morse.el" 17514;;;### (autoloads (unmorse-region morse-region) "morse" "play/morse.el"
17499;;;;;; (19383 49280)) 17515;;;;;; (19636 58496))
17500;;; Generated autoloads from play/morse.el 17516;;; Generated autoloads from play/morse.el
17501 17517
17502(autoload 'morse-region "morse" "\ 17518(autoload 'morse-region "morse" "\
@@ -17512,7 +17528,7 @@ Convert morse coded text in region to ordinary ASCII text.
17512;;;*** 17528;;;***
17513 17529
17514;;;### (autoloads (mouse-drag-drag mouse-drag-throw) "mouse-drag" 17530;;;### (autoloads (mouse-drag-drag mouse-drag-throw) "mouse-drag"
17515;;;;;; "mouse-drag.el" (19383 49280)) 17531;;;;;; "mouse-drag.el" (19636 58496))
17516;;; Generated autoloads from mouse-drag.el 17532;;; Generated autoloads from mouse-drag.el
17517 17533
17518(autoload 'mouse-drag-throw "mouse-drag" "\ 17534(autoload 'mouse-drag-throw "mouse-drag" "\
@@ -17559,8 +17575,8 @@ To test this function, evaluate:
17559 17575
17560;;;*** 17576;;;***
17561 17577
17562;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (19383 17578;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (19636
17563;;;;;; 49280)) 17579;;;;;; 58496))
17564;;; Generated autoloads from mouse-sel.el 17580;;; Generated autoloads from mouse-sel.el
17565 17581
17566(defvar mouse-sel-mode nil "\ 17582(defvar mouse-sel-mode nil "\
@@ -17612,7 +17628,7 @@ primary selection and region.
17612 17628
17613;;;*** 17629;;;***
17614 17630
17615;;;### (autoloads (mpc) "mpc" "mpc.el" (19383 49280)) 17631;;;### (autoloads (mpc) "mpc" "mpc.el" (19636 58496))
17616;;; Generated autoloads from mpc.el 17632;;; Generated autoloads from mpc.el
17617 17633
17618(autoload 'mpc "mpc" "\ 17634(autoload 'mpc "mpc" "\
@@ -17622,7 +17638,7 @@ Main entry point for MPC.
17622 17638
17623;;;*** 17639;;;***
17624 17640
17625;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (19383 49280)) 17641;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (19636 58496))
17626;;; Generated autoloads from play/mpuz.el 17642;;; Generated autoloads from play/mpuz.el
17627 17643
17628(autoload 'mpuz "mpuz" "\ 17644(autoload 'mpuz "mpuz" "\
@@ -17632,7 +17648,7 @@ Multiplication puzzle with GNU Emacs.
17632 17648
17633;;;*** 17649;;;***
17634 17650
17635;;;### (autoloads (msb-mode) "msb" "msb.el" (19383 49280)) 17651;;;### (autoloads (msb-mode) "msb" "msb.el" (19636 58496))
17636;;; Generated autoloads from msb.el 17652;;; Generated autoloads from msb.el
17637 17653
17638(defvar msb-mode nil "\ 17654(defvar msb-mode nil "\
@@ -17659,7 +17675,7 @@ different buffer menu using the function `msb'.
17659;;;;;; describe-current-coding-system describe-current-coding-system-briefly 17675;;;;;; describe-current-coding-system describe-current-coding-system-briefly
17660;;;;;; describe-coding-system describe-character-set list-charset-chars 17676;;;;;; describe-coding-system describe-character-set list-charset-chars
17661;;;;;; read-charset list-character-sets) "mule-diag" "international/mule-diag.el" 17677;;;;;; read-charset list-character-sets) "mule-diag" "international/mule-diag.el"
17662;;;;;; (19383 49280)) 17678;;;;;; (19636 58496))
17663;;; Generated autoloads from international/mule-diag.el 17679;;; Generated autoloads from international/mule-diag.el
17664 17680
17665(autoload 'list-character-sets "mule-diag" "\ 17681(autoload 'list-character-sets "mule-diag" "\
@@ -17796,7 +17812,7 @@ The default is 20. If LIMIT is negative, do not limit the listing.
17796;;;;;; coding-system-translation-table-for-decode coding-system-pre-write-conversion 17812;;;;;; coding-system-translation-table-for-decode coding-system-pre-write-conversion
17797;;;;;; coding-system-post-read-conversion lookup-nested-alist set-nested-alist 17813;;;;;; coding-system-post-read-conversion lookup-nested-alist set-nested-alist
17798;;;;;; truncate-string-to-width store-substring string-to-sequence) 17814;;;;;; truncate-string-to-width store-substring string-to-sequence)
17799;;;;;; "mule-util" "international/mule-util.el" (19383 49276)) 17815;;;;;; "mule-util" "international/mule-util.el" (19636 58496))
17800;;; Generated autoloads from international/mule-util.el 17816;;; Generated autoloads from international/mule-util.el
17801 17817
17802(autoload 'string-to-sequence "mule-util" "\ 17818(autoload 'string-to-sequence "mule-util" "\
@@ -17936,8 +17952,8 @@ per-character basis, this may not be accurate.
17936;;;### (autoloads (network-connection network-connection-to-service 17952;;;### (autoloads (network-connection network-connection-to-service
17937;;;;;; whois-reverse-lookup whois finger ftp run-dig dns-lookup-host 17953;;;;;; whois-reverse-lookup whois finger ftp run-dig dns-lookup-host
17938;;;;;; nslookup nslookup-host ping traceroute route arp netstat 17954;;;;;; nslookup nslookup-host ping traceroute route arp netstat
17939;;;;;; iwconfig ifconfig) "net-utils" "net/net-utils.el" (19383 17955;;;;;; iwconfig ifconfig) "net-utils" "net/net-utils.el" (19636
17940;;;;;; 49280)) 17956;;;;;; 58496))
17941;;; Generated autoloads from net/net-utils.el 17957;;; Generated autoloads from net/net-utils.el
17942 17958
17943(autoload 'ifconfig "net-utils" "\ 17959(autoload 'ifconfig "net-utils" "\
@@ -18036,7 +18052,7 @@ Open a network connection to HOST on PORT.
18036;;;;;; uncomment-region comment-kill comment-set-column comment-indent 18052;;;;;; uncomment-region comment-kill comment-set-column comment-indent
18037;;;;;; comment-indent-default comment-normalize-vars comment-multi-line 18053;;;;;; comment-indent-default comment-normalize-vars comment-multi-line
18038;;;;;; comment-padding comment-style comment-column) "newcomment" 18054;;;;;; comment-padding comment-style comment-column) "newcomment"
18039;;;;;; "newcomment.el" (19383 49280)) 18055;;;;;; "newcomment.el" (19636 58496))
18040;;; Generated autoloads from newcomment.el 18056;;; Generated autoloads from newcomment.el
18041 18057
18042(defalias 'indent-for-comment 'comment-indent) 18058(defalias 'indent-for-comment 'comment-indent)
@@ -18236,7 +18252,7 @@ unless optional argument SOFT is non-nil.
18236;;;*** 18252;;;***
18237 18253
18238;;;### (autoloads (newsticker-start newsticker-running-p) "newst-backend" 18254;;;### (autoloads (newsticker-start newsticker-running-p) "newst-backend"
18239;;;;;; "net/newst-backend.el" (19383 49280)) 18255;;;;;; "net/newst-backend.el" (19636 58496))
18240;;; Generated autoloads from net/newst-backend.el 18256;;; Generated autoloads from net/newst-backend.el
18241 18257
18242(autoload 'newsticker-running-p "newst-backend" "\ 18258(autoload 'newsticker-running-p "newst-backend" "\
@@ -18258,7 +18274,7 @@ Run `newsticker-start-hook' if newsticker was not running already.
18258;;;*** 18274;;;***
18259 18275
18260;;;### (autoloads (newsticker-plainview) "newst-plainview" "net/newst-plainview.el" 18276;;;### (autoloads (newsticker-plainview) "newst-plainview" "net/newst-plainview.el"
18261;;;;;; (19383 49280)) 18277;;;;;; (19636 58496))
18262;;; Generated autoloads from net/newst-plainview.el 18278;;; Generated autoloads from net/newst-plainview.el
18263 18279
18264(autoload 'newsticker-plainview "newst-plainview" "\ 18280(autoload 'newsticker-plainview "newst-plainview" "\
@@ -18269,7 +18285,7 @@ Start newsticker plainview.
18269;;;*** 18285;;;***
18270 18286
18271;;;### (autoloads (newsticker-show-news) "newst-reader" "net/newst-reader.el" 18287;;;### (autoloads (newsticker-show-news) "newst-reader" "net/newst-reader.el"
18272;;;;;; (19383 49280)) 18288;;;;;; (19636 58496))
18273;;; Generated autoloads from net/newst-reader.el 18289;;; Generated autoloads from net/newst-reader.el
18274 18290
18275(autoload 'newsticker-show-news "newst-reader" "\ 18291(autoload 'newsticker-show-news "newst-reader" "\
@@ -18280,7 +18296,7 @@ Start reading news. You may want to bind this to a key.
18280;;;*** 18296;;;***
18281 18297
18282;;;### (autoloads (newsticker-start-ticker newsticker-ticker-running-p) 18298;;;### (autoloads (newsticker-start-ticker newsticker-ticker-running-p)
18283;;;;;; "newst-ticker" "net/newst-ticker.el" (19383 49280)) 18299;;;;;; "newst-ticker" "net/newst-ticker.el" (19636 58496))
18284;;; Generated autoloads from net/newst-ticker.el 18300;;; Generated autoloads from net/newst-ticker.el
18285 18301
18286(autoload 'newsticker-ticker-running-p "newst-ticker" "\ 18302(autoload 'newsticker-ticker-running-p "newst-ticker" "\
@@ -18301,7 +18317,7 @@ running already.
18301;;;*** 18317;;;***
18302 18318
18303;;;### (autoloads (newsticker-treeview) "newst-treeview" "net/newst-treeview.el" 18319;;;### (autoloads (newsticker-treeview) "newst-treeview" "net/newst-treeview.el"
18304;;;;;; (19383 49280)) 18320;;;;;; (19636 58496))
18305;;; Generated autoloads from net/newst-treeview.el 18321;;; Generated autoloads from net/newst-treeview.el
18306 18322
18307(autoload 'newsticker-treeview "newst-treeview" "\ 18323(autoload 'newsticker-treeview "newst-treeview" "\
@@ -18312,7 +18328,7 @@ Start newsticker treeview.
18312;;;*** 18328;;;***
18313 18329
18314;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el" 18330;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el"
18315;;;;;; (19383 49280)) 18331;;;;;; (19636 58496))
18316;;; Generated autoloads from gnus/nndiary.el 18332;;; Generated autoloads from gnus/nndiary.el
18317 18333
18318(autoload 'nndiary-generate-nov-databases "nndiary" "\ 18334(autoload 'nndiary-generate-nov-databases "nndiary" "\
@@ -18322,8 +18338,8 @@ Generate NOV databases in all nndiary directories.
18322 18338
18323;;;*** 18339;;;***
18324 18340
18325;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (19383 18341;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (19636
18326;;;;;; 49280)) 18342;;;;;; 58496))
18327;;; Generated autoloads from gnus/nndoc.el 18343;;; Generated autoloads from gnus/nndoc.el
18328 18344
18329(autoload 'nndoc-add-type "nndoc" "\ 18345(autoload 'nndoc-add-type "nndoc" "\
@@ -18338,7 +18354,7 @@ symbol in the alist.
18338;;;*** 18354;;;***
18339 18355
18340;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el" 18356;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el"
18341;;;;;; (19383 49280)) 18357;;;;;; (19636 58496))
18342;;; Generated autoloads from gnus/nnfolder.el 18358;;; Generated autoloads from gnus/nnfolder.el
18343 18359
18344(autoload 'nnfolder-generate-active-file "nnfolder" "\ 18360(autoload 'nnfolder-generate-active-file "nnfolder" "\
@@ -18350,7 +18366,7 @@ This command does not work if you use short group names.
18350;;;*** 18366;;;***
18351 18367
18352;;;### (autoloads (nnkiboze-generate-groups) "nnkiboze" "gnus/nnkiboze.el" 18368;;;### (autoloads (nnkiboze-generate-groups) "nnkiboze" "gnus/nnkiboze.el"
18353;;;;;; (19383 49280)) 18369;;;;;; (19636 58496))
18354;;; Generated autoloads from gnus/nnkiboze.el 18370;;; Generated autoloads from gnus/nnkiboze.el
18355 18371
18356(autoload 'nnkiboze-generate-groups "nnkiboze" "\ 18372(autoload 'nnkiboze-generate-groups "nnkiboze" "\
@@ -18362,7 +18378,7 @@ Finds out what articles are to be part of the nnkiboze groups.
18362;;;*** 18378;;;***
18363 18379
18364;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el" 18380;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el"
18365;;;;;; (19383 49280)) 18381;;;;;; (19636 58496))
18366;;; Generated autoloads from gnus/nnml.el 18382;;; Generated autoloads from gnus/nnml.el
18367 18383
18368(autoload 'nnml-generate-nov-databases "nnml" "\ 18384(autoload 'nnml-generate-nov-databases "nnml" "\
@@ -18373,7 +18389,7 @@ Generate NOV databases in all nnml directories.
18373;;;*** 18389;;;***
18374 18390
18375;;;### (autoloads (nnsoup-revert-variables nnsoup-set-variables nnsoup-pack-replies) 18391;;;### (autoloads (nnsoup-revert-variables nnsoup-set-variables nnsoup-pack-replies)
18376;;;;;; "nnsoup" "gnus/nnsoup.el" (19383 49280)) 18392;;;;;; "nnsoup" "gnus/nnsoup.el" (19636 58496))
18377;;; Generated autoloads from gnus/nnsoup.el 18393;;; Generated autoloads from gnus/nnsoup.el
18378 18394
18379(autoload 'nnsoup-pack-replies "nnsoup" "\ 18395(autoload 'nnsoup-pack-replies "nnsoup" "\
@@ -18394,7 +18410,7 @@ Revert posting and mailing methods to the standard Emacs methods.
18394;;;*** 18410;;;***
18395 18411
18396;;;### (autoloads (disable-command enable-command disabled-command-function) 18412;;;### (autoloads (disable-command enable-command disabled-command-function)
18397;;;;;; "novice" "novice.el" (19383 49280)) 18413;;;;;; "novice" "novice.el" (19636 58496))
18398;;; Generated autoloads from novice.el 18414;;; Generated autoloads from novice.el
18399 18415
18400(defvar disabled-command-function 'disabled-command-function "\ 18416(defvar disabled-command-function 'disabled-command-function "\
@@ -18427,7 +18443,7 @@ to future sessions.
18427;;;*** 18443;;;***
18428 18444
18429;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el" 18445;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el"
18430;;;;;; (19383 49280)) 18446;;;;;; (19636 58496))
18431;;; Generated autoloads from textmodes/nroff-mode.el 18447;;; Generated autoloads from textmodes/nroff-mode.el
18432 18448
18433(autoload 'nroff-mode "nroff-mode" "\ 18449(autoload 'nroff-mode "nroff-mode" "\
@@ -18442,7 +18458,7 @@ closing requests for requests that are used in matched pairs.
18442;;;*** 18458;;;***
18443 18459
18444;;;### (autoloads (nxml-glyph-display-string) "nxml-glyph" "nxml/nxml-glyph.el" 18460;;;### (autoloads (nxml-glyph-display-string) "nxml-glyph" "nxml/nxml-glyph.el"
18445;;;;;; (19383 49280)) 18461;;;;;; (19636 58496))
18446;;; Generated autoloads from nxml/nxml-glyph.el 18462;;; Generated autoloads from nxml/nxml-glyph.el
18447 18463
18448(autoload 'nxml-glyph-display-string "nxml-glyph" "\ 18464(autoload 'nxml-glyph-display-string "nxml-glyph" "\
@@ -18454,8 +18470,8 @@ Return nil if the face cannot display a glyph for N.
18454 18470
18455;;;*** 18471;;;***
18456 18472
18457;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (19383 18473;;;### (autoloads (nxml-mode) "nxml-mode" "nxml/nxml-mode.el" (19636
18458;;;;;; 49276)) 18474;;;;;; 58496))
18459;;; Generated autoloads from nxml/nxml-mode.el 18475;;; Generated autoloads from nxml/nxml-mode.el
18460 18476
18461(autoload 'nxml-mode "nxml-mode" "\ 18477(autoload 'nxml-mode "nxml-mode" "\
@@ -18517,7 +18533,7 @@ Many aspects this mode can be customized using
18517;;;*** 18533;;;***
18518 18534
18519;;;### (autoloads (nxml-enable-unicode-char-name-sets) "nxml-uchnm" 18535;;;### (autoloads (nxml-enable-unicode-char-name-sets) "nxml-uchnm"
18520;;;;;; "nxml/nxml-uchnm.el" (19383 49280)) 18536;;;;;; "nxml/nxml-uchnm.el" (19636 58496))
18521;;; Generated autoloads from nxml/nxml-uchnm.el 18537;;; Generated autoloads from nxml/nxml-uchnm.el
18522 18538
18523(autoload 'nxml-enable-unicode-char-name-sets "nxml-uchnm" "\ 18539(autoload 'nxml-enable-unicode-char-name-sets "nxml-uchnm" "\
@@ -18530,7 +18546,7 @@ the variable `nxml-enabled-unicode-blocks'.
18530;;;*** 18546;;;***
18531 18547
18532;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el" 18548;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el"
18533;;;;;; (19383 49280)) 18549;;;;;; (19636 58496))
18534;;; Generated autoloads from progmodes/octave-inf.el 18550;;; Generated autoloads from progmodes/octave-inf.el
18535 18551
18536(autoload 'inferior-octave "octave-inf" "\ 18552(autoload 'inferior-octave "octave-inf" "\
@@ -18553,7 +18569,7 @@ startup file, `~/.emacs-octave'.
18553;;;*** 18569;;;***
18554 18570
18555;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el" 18571;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el"
18556;;;;;; (19383 49280)) 18572;;;;;; (19636 58496))
18557;;; Generated autoloads from progmodes/octave-mod.el 18573;;; Generated autoloads from progmodes/octave-mod.el
18558 18574
18559(autoload 'octave-mode "octave-mod" "\ 18575(autoload 'octave-mode "octave-mod" "\
@@ -18648,7 +18664,7 @@ including a reproducible test case and send the message.
18648;;;;;; org-map-entries org-open-link-from-string org-open-at-point-global 18664;;;;;; org-map-entries org-open-link-from-string org-open-at-point-global
18649;;;;;; org-insert-link-global org-store-link org-run-like-in-org-mode 18665;;;;;; org-insert-link-global org-store-link org-run-like-in-org-mode
18650;;;;;; turn-on-orgstruct++ turn-on-orgstruct orgstruct-mode org-global-cycle 18666;;;;;; turn-on-orgstruct++ turn-on-orgstruct orgstruct-mode org-global-cycle
18651;;;;;; org-mode) "org" "org/org.el" (19383 49280)) 18667;;;;;; org-mode) "org" "org/org.el" (19636 58496))
18652;;; Generated autoloads from org/org.el 18668;;; Generated autoloads from org/org.el
18653 18669
18654(autoload 'org-mode "org" "\ 18670(autoload 'org-mode "org" "\
@@ -18861,7 +18877,7 @@ Call the customize function with org as argument.
18861;;;;;; org-diary org-agenda-list-stuck-projects org-tags-view org-todo-list 18877;;;;;; org-diary org-agenda-list-stuck-projects org-tags-view org-todo-list
18862;;;;;; org-search-view org-agenda-list org-batch-store-agenda-views 18878;;;;;; org-search-view org-agenda-list org-batch-store-agenda-views
18863;;;;;; org-store-agenda-views org-batch-agenda-csv org-batch-agenda 18879;;;;;; org-store-agenda-views org-batch-agenda-csv org-batch-agenda
18864;;;;;; org-agenda) "org-agenda" "org/org-agenda.el" (19383 49280)) 18880;;;;;; org-agenda) "org-agenda" "org/org-agenda.el" (19641 1152))
18865;;; Generated autoloads from org/org-agenda.el 18881;;; Generated autoloads from org/org-agenda.el
18866 18882
18867(autoload 'org-agenda "org-agenda" "\ 18883(autoload 'org-agenda "org-agenda" "\
@@ -19124,7 +19140,7 @@ belonging to the \"Work\" category.
19124 19140
19125;;;### (autoloads (org-archive-subtree-default-with-confirmation 19141;;;### (autoloads (org-archive-subtree-default-with-confirmation
19126;;;;;; org-archive-subtree-default) "org-archive" "org/org-archive.el" 19142;;;;;; org-archive-subtree-default) "org-archive" "org/org-archive.el"
19127;;;;;; (19383 49280)) 19143;;;;;; (19636 58496))
19128;;; Generated autoloads from org/org-archive.el 19144;;; Generated autoloads from org/org-archive.el
19129 19145
19130(autoload 'org-archive-subtree-default "org-archive" "\ 19146(autoload 'org-archive-subtree-default "org-archive" "\
@@ -19143,7 +19159,7 @@ This command is set with the variable `org-archive-default-command'.
19143 19159
19144;;;### (autoloads (org-export-as-ascii org-export-region-as-ascii 19160;;;### (autoloads (org-export-as-ascii org-export-region-as-ascii
19145;;;;;; org-replace-region-by-ascii org-export-as-ascii-to-buffer) 19161;;;;;; org-replace-region-by-ascii org-export-as-ascii-to-buffer)
19146;;;;;; "org-ascii" "org/org-ascii.el" (19383 49280)) 19162;;;;;; "org-ascii" "org/org-ascii.el" (19636 58496))
19147;;; Generated autoloads from org/org-ascii.el 19163;;; Generated autoloads from org/org-ascii.el
19148 19164
19149(autoload 'org-export-as-ascii-to-buffer "org-ascii" "\ 19165(autoload 'org-export-as-ascii-to-buffer "org-ascii" "\
@@ -19196,8 +19212,8 @@ publishing directory.
19196 19212
19197;;;*** 19213;;;***
19198 19214
19199;;;### (autoloads (org-attach) "org-attach" "org/org-attach.el" (19383 19215;;;### (autoloads (org-attach) "org-attach" "org/org-attach.el" (19636
19200;;;;;; 49280)) 19216;;;;;; 58496))
19201;;; Generated autoloads from org/org-attach.el 19217;;; Generated autoloads from org/org-attach.el
19202 19218
19203(autoload 'org-attach "org-attach" "\ 19219(autoload 'org-attach "org-attach" "\
@@ -19209,7 +19225,7 @@ Shows a list of commands and prompts for another key to execute a command.
19209;;;*** 19225;;;***
19210 19226
19211;;;### (autoloads (org-bbdb-anniversaries) "org-bbdb" "org/org-bbdb.el" 19227;;;### (autoloads (org-bbdb-anniversaries) "org-bbdb" "org/org-bbdb.el"
19212;;;;;; (19383 49280)) 19228;;;;;; (19636 58496))
19213;;; Generated autoloads from org/org-bbdb.el 19229;;; Generated autoloads from org/org-bbdb.el
19214 19230
19215(autoload 'org-bbdb-anniversaries "org-bbdb" "\ 19231(autoload 'org-bbdb-anniversaries "org-bbdb" "\
@@ -19220,7 +19236,7 @@ Extract anniversaries from BBDB for display in the agenda.
19220;;;*** 19236;;;***
19221 19237
19222;;;### (autoloads (org-clock-persistence-insinuate org-get-clocktable) 19238;;;### (autoloads (org-clock-persistence-insinuate org-get-clocktable)
19223;;;;;; "org-clock" "org/org-clock.el" (19383 49280)) 19239;;;;;; "org-clock" "org/org-clock.el" (19636 58496))
19224;;; Generated autoloads from org/org-clock.el 19240;;; Generated autoloads from org/org-clock.el
19225 19241
19226(autoload 'org-get-clocktable "org-clock" "\ 19242(autoload 'org-get-clocktable "org-clock" "\
@@ -19240,7 +19256,7 @@ Set up hooks for clock persistence
19240;;;### (autoloads (org-export-as-docbook org-export-as-docbook-pdf-and-open 19256;;;### (autoloads (org-export-as-docbook org-export-as-docbook-pdf-and-open
19241;;;;;; org-export-as-docbook-pdf org-export-region-as-docbook org-replace-region-by-docbook 19257;;;;;; org-export-as-docbook-pdf org-export-region-as-docbook org-replace-region-by-docbook
19242;;;;;; org-export-as-docbook-to-buffer org-export-as-docbook-batch) 19258;;;;;; org-export-as-docbook-to-buffer org-export-as-docbook-batch)
19243;;;;;; "org-docbook" "org/org-docbook.el" (19383 49280)) 19259;;;;;; "org-docbook" "org/org-docbook.el" (19636 58496))
19244;;; Generated autoloads from org/org-docbook.el 19260;;; Generated autoloads from org/org-docbook.el
19245 19261
19246(autoload 'org-export-as-docbook-batch "org-docbook" "\ 19262(autoload 'org-export-as-docbook-batch "org-docbook" "\
@@ -19317,7 +19333,7 @@ publishing directory.
19317 19333
19318;;;### (autoloads (org-insert-export-options-template org-export-as-org 19334;;;### (autoloads (org-insert-export-options-template org-export-as-org
19319;;;;;; org-export-visible org-export) "org-exp" "org/org-exp.el" 19335;;;;;; org-export-visible org-export) "org-exp" "org/org-exp.el"
19320;;;;;; (19383 49280)) 19336;;;;;; (19652 24589))
19321;;; Generated autoloads from org/org-exp.el 19337;;; Generated autoloads from org/org-exp.el
19322 19338
19323(autoload 'org-export "org-exp" "\ 19339(autoload 'org-export "org-exp" "\
@@ -19337,10 +19353,10 @@ Create a copy of the visible part of the current buffer, and export it.
19337The copy is created in a temporary buffer and removed after use. 19353The copy is created in a temporary buffer and removed after use.
19338TYPE is the final key (as a string) that also select the export command in 19354TYPE is the final key (as a string) that also select the export command in
19339the `C-c C-e' export dispatcher. 19355the `C-c C-e' export dispatcher.
19340As a special case, if the you type SPC at the prompt, the temporary 19356
19341org-mode file will not be removed but presented to you so that you can 19357As a special case, if you type SPC at the prompt, the temporary org-mode
19342continue to use it. The prefix arg ARG is passed through to the exporting 19358file will not be removed but presented to you so that you can continue to
19343command. 19359use it. The prefix arg ARG is passed through to the exporting command.
19344 19360
19345\(fn TYPE ARG)" t nil) 19361\(fn TYPE ARG)" t nil)
19346 19362
@@ -19374,8 +19390,8 @@ Insert into the buffer a template with information for exporting.
19374;;;*** 19390;;;***
19375 19391
19376;;;### (autoloads (org-feed-show-raw-feed org-feed-goto-inbox org-feed-update 19392;;;### (autoloads (org-feed-show-raw-feed org-feed-goto-inbox org-feed-update
19377;;;;;; org-feed-update-all) "org-feed" "org/org-feed.el" (19383 19393;;;;;; org-feed-update-all) "org-feed" "org/org-feed.el" (19636
19378;;;;;; 49280)) 19394;;;;;; 58496))
19379;;; Generated autoloads from org/org-feed.el 19395;;; Generated autoloads from org/org-feed.el
19380 19396
19381(autoload 'org-feed-update-all "org-feed" "\ 19397(autoload 'org-feed-update-all "org-feed" "\
@@ -19403,7 +19419,7 @@ Show the raw feed buffer of a feed.
19403;;;*** 19419;;;***
19404 19420
19405;;;### (autoloads (org-footnote-normalize org-footnote-action) "org-footnote" 19421;;;### (autoloads (org-footnote-normalize org-footnote-action) "org-footnote"
19406;;;;;; "org/org-footnote.el" (19383 49281)) 19422;;;;;; "org/org-footnote.el" (19636 58496))
19407;;; Generated autoloads from org/org-footnote.el 19423;;; Generated autoloads from org/org-footnote.el
19408 19424
19409(autoload 'org-footnote-action "org-footnote" "\ 19425(autoload 'org-footnote-action "org-footnote" "\
@@ -19430,7 +19446,7 @@ referenced sequence.
19430;;;### (autoloads (org-freemind-to-org-mode org-freemind-from-org-sparse-tree 19446;;;### (autoloads (org-freemind-to-org-mode org-freemind-from-org-sparse-tree
19431;;;;;; org-freemind-from-org-mode org-freemind-from-org-mode-node 19447;;;;;; org-freemind-from-org-mode org-freemind-from-org-mode-node
19432;;;;;; org-freemind-show org-export-as-freemind) "org-freemind" 19448;;;;;; org-freemind-show org-export-as-freemind) "org-freemind"
19433;;;;;; "org/org-freemind.el" (19383 49276)) 19449;;;;;; "org/org-freemind.el" (19636 58496))
19434;;; Generated autoloads from org/org-freemind.el 19450;;; Generated autoloads from org/org-freemind.el
19435 19451
19436(autoload 'org-export-as-freemind "org-freemind" "\ 19452(autoload 'org-export-as-freemind "org-freemind" "\
@@ -19468,7 +19484,7 @@ Convert FreeMind file MM-FILE to `org-mode' file ORG-FILE.
19468;;;### (autoloads (org-export-htmlize-generate-css org-export-as-html 19484;;;### (autoloads (org-export-htmlize-generate-css org-export-as-html
19469;;;;;; org-export-region-as-html org-replace-region-by-html org-export-as-html-to-buffer 19485;;;;;; org-export-region-as-html org-replace-region-by-html org-export-as-html-to-buffer
19470;;;;;; org-export-as-html-batch org-export-as-html-and-open) "org-html" 19486;;;;;; org-export-as-html-batch org-export-as-html-and-open) "org-html"
19471;;;;;; "org/org-html.el" (19383 49281)) 19487;;;;;; "org/org-html.el" (19636 58496))
19472;;; Generated autoloads from org/org-html.el 19488;;; Generated autoloads from org/org-html.el
19473 19489
19474(put 'org-export-html-style-include-default 'safe-local-variable 'booleanp) 19490(put 'org-export-html-style-include-default 'safe-local-variable 'booleanp)
@@ -19561,7 +19577,7 @@ that uses these same face definitions.
19561 19577
19562;;;### (autoloads (org-export-icalendar-combine-agenda-files org-export-icalendar-all-agenda-files 19578;;;### (autoloads (org-export-icalendar-combine-agenda-files org-export-icalendar-all-agenda-files
19563;;;;;; org-export-icalendar-this-file) "org-icalendar" "org/org-icalendar.el" 19579;;;;;; org-export-icalendar-this-file) "org-icalendar" "org/org-icalendar.el"
19564;;;;;; (19383 49281)) 19580;;;;;; (19636 58496))
19565;;; Generated autoloads from org/org-icalendar.el 19581;;; Generated autoloads from org/org-icalendar.el
19566 19582
19567(autoload 'org-export-icalendar-this-file "org-icalendar" "\ 19583(autoload 'org-export-icalendar-this-file "org-icalendar" "\
@@ -19588,7 +19604,7 @@ The file is stored under the name `org-combined-agenda-icalendar-file'.
19588 19604
19589;;;### (autoloads (org-id-find-id-file org-id-find org-id-goto org-id-get-with-outline-drilling 19605;;;### (autoloads (org-id-find-id-file org-id-find org-id-goto org-id-get-with-outline-drilling
19590;;;;;; org-id-get-with-outline-path-completion org-id-get org-id-copy 19606;;;;;; org-id-get-with-outline-path-completion org-id-get org-id-copy
19591;;;;;; org-id-get-create) "org-id" "org/org-id.el" (19383 49281)) 19607;;;;;; org-id-get-create) "org-id" "org/org-id.el" (19636 58496))
19592;;; Generated autoloads from org/org-id.el 19608;;; Generated autoloads from org/org-id.el
19593 19609
19594(autoload 'org-id-get-create "org-id" "\ 19610(autoload 'org-id-get-create "org-id" "\
@@ -19652,7 +19668,7 @@ Query the id database for the file in which this ID is located.
19652;;;*** 19668;;;***
19653 19669
19654;;;### (autoloads (org-indent-mode) "org-indent" "org/org-indent.el" 19670;;;### (autoloads (org-indent-mode) "org-indent" "org/org-indent.el"
19655;;;;;; (19383 49281)) 19671;;;;;; (19636 58496))
19656;;; Generated autoloads from org/org-indent.el 19672;;; Generated autoloads from org/org-indent.el
19657 19673
19658(autoload 'org-indent-mode "org-indent" "\ 19674(autoload 'org-indent-mode "org-indent" "\
@@ -19667,7 +19683,7 @@ FIXME: How to update when broken?
19667;;;*** 19683;;;***
19668 19684
19669;;;### (autoloads (org-irc-store-link) "org-irc" "org/org-irc.el" 19685;;;### (autoloads (org-irc-store-link) "org-irc" "org/org-irc.el"
19670;;;;;; (19383 49281)) 19686;;;;;; (19636 58496))
19671;;; Generated autoloads from org/org-irc.el 19687;;; Generated autoloads from org/org-irc.el
19672 19688
19673(autoload 'org-irc-store-link "org-irc" "\ 19689(autoload 'org-irc-store-link "org-irc" "\
@@ -19680,7 +19696,7 @@ Dispatch to the appropriate function to store a link to an IRC session.
19680;;;### (autoloads (org-export-as-pdf-and-open org-export-as-pdf org-export-as-latex 19696;;;### (autoloads (org-export-as-pdf-and-open org-export-as-pdf org-export-as-latex
19681;;;;;; org-export-region-as-latex org-replace-region-by-latex org-export-as-latex-to-buffer 19697;;;;;; org-export-region-as-latex org-replace-region-by-latex org-export-as-latex-to-buffer
19682;;;;;; org-export-as-latex-batch) "org-latex" "org/org-latex.el" 19698;;;;;; org-export-as-latex-batch) "org-latex" "org/org-latex.el"
19683;;;;;; (19383 49281)) 19699;;;;;; (19636 58496))
19684;;; Generated autoloads from org/org-latex.el 19700;;; Generated autoloads from org/org-latex.el
19685 19701
19686(autoload 'org-export-as-latex-batch "org-latex" "\ 19702(autoload 'org-export-as-latex-batch "org-latex" "\
@@ -19760,8 +19776,8 @@ Export as LaTeX, then process through to PDF, and open.
19760;;;*** 19776;;;***
19761 19777
19762;;;### (autoloads (org-mobile-create-sumo-agenda org-mobile-pull 19778;;;### (autoloads (org-mobile-create-sumo-agenda org-mobile-pull
19763;;;;;; org-mobile-push) "org-mobile" "org/org-mobile.el" (19383 19779;;;;;; org-mobile-push) "org-mobile" "org/org-mobile.el" (19636
19764;;;;;; 49281)) 19780;;;;;; 58496))
19765;;; Generated autoloads from org/org-mobile.el 19781;;; Generated autoloads from org/org-mobile.el
19766 19782
19767(autoload 'org-mobile-push "org-mobile" "\ 19783(autoload 'org-mobile-push "org-mobile" "\
@@ -19786,7 +19802,7 @@ Create a file that contains all custom agenda views.
19786;;;*** 19802;;;***
19787 19803
19788;;;### (autoloads (org-plot/gnuplot) "org-plot" "org/org-plot.el" 19804;;;### (autoloads (org-plot/gnuplot) "org-plot" "org/org-plot.el"
19789;;;;;; (19383 49281)) 19805;;;;;; (19636 58496))
19790;;; Generated autoloads from org/org-plot.el 19806;;; Generated autoloads from org/org-plot.el
19791 19807
19792(autoload 'org-plot/gnuplot "org-plot" "\ 19808(autoload 'org-plot/gnuplot "org-plot" "\
@@ -19800,7 +19816,7 @@ line directly before or after the table.
19800 19816
19801;;;### (autoloads (org-publish-current-project org-publish-current-file 19817;;;### (autoloads (org-publish-current-project org-publish-current-file
19802;;;;;; org-publish-all org-publish) "org-publish" "org/org-publish.el" 19818;;;;;; org-publish-all org-publish) "org-publish" "org/org-publish.el"
19803;;;;;; (19383 49281)) 19819;;;;;; (19636 58496))
19804;;; Generated autoloads from org/org-publish.el 19820;;; Generated autoloads from org/org-publish.el
19805 19821
19806(defalias 'org-publish-project 'org-publish) 19822(defalias 'org-publish-project 'org-publish)
@@ -19834,7 +19850,7 @@ the project.
19834 19850
19835;;;### (autoloads (org-remember-handler org-remember org-remember-apply-template 19851;;;### (autoloads (org-remember-handler org-remember org-remember-apply-template
19836;;;;;; org-remember-annotation org-remember-insinuate) "org-remember" 19852;;;;;; org-remember-annotation org-remember-insinuate) "org-remember"
19837;;;;;; "org/org-remember.el" (19383 49281)) 19853;;;;;; "org/org-remember.el" (19636 58496))
19838;;; Generated autoloads from org/org-remember.el 19854;;; Generated autoloads from org/org-remember.el
19839 19855
19840(autoload 'org-remember-insinuate "org-remember" "\ 19856(autoload 'org-remember-insinuate "org-remember" "\
@@ -19909,7 +19925,7 @@ See also the variable `org-reverse-note-order'.
19909;;;*** 19925;;;***
19910 19926
19911;;;### (autoloads (org-table-to-lisp orgtbl-mode turn-on-orgtbl) 19927;;;### (autoloads (org-table-to-lisp orgtbl-mode turn-on-orgtbl)
19912;;;;;; "org-table" "org/org-table.el" (19383 49281)) 19928;;;;;; "org-table" "org/org-table.el" (19636 58496))
19913;;; Generated autoloads from org/org-table.el 19929;;; Generated autoloads from org/org-table.el
19914 19930
19915(autoload 'turn-on-orgtbl "org-table" "\ 19931(autoload 'turn-on-orgtbl "org-table" "\
@@ -19934,7 +19950,7 @@ The table is taken from the parameter TXT, or from the buffer at point.
19934 19950
19935;;;### (autoloads (org-timer-set-timer org-timer-item org-timer-change-times-in-region 19951;;;### (autoloads (org-timer-set-timer org-timer-item org-timer-change-times-in-region
19936;;;;;; org-timer org-timer-start) "org-timer" "org/org-timer.el" 19952;;;;;; org-timer org-timer-start) "org-timer" "org/org-timer.el"
19937;;;;;; (19383 49281)) 19953;;;;;; (19636 58496))
19938;;; Generated autoloads from org/org-timer.el 19954;;; Generated autoloads from org/org-timer.el
19939 19955
19940(autoload 'org-timer-start "org-timer" "\ 19956(autoload 'org-timer-start "org-timer" "\
@@ -19978,7 +19994,7 @@ Set a timer.
19978;;;*** 19994;;;***
19979 19995
19980;;;### (autoloads (org-export-as-xoxo) "org-xoxo" "org/org-xoxo.el" 19996;;;### (autoloads (org-export-as-xoxo) "org-xoxo" "org/org-xoxo.el"
19981;;;;;; (19383 49281)) 19997;;;;;; (19636 58496))
19982;;; Generated autoloads from org/org-xoxo.el 19998;;; Generated autoloads from org/org-xoxo.el
19983 19999
19984(autoload 'org-export-as-xoxo "org-xoxo" "\ 20000(autoload 'org-export-as-xoxo "org-xoxo" "\
@@ -19990,7 +20006,7 @@ The XOXO buffer is named *xoxo-<source buffer name>*
19990;;;*** 20006;;;***
19991 20007
19992;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el" 20008;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el"
19993;;;;;; (19383 49276)) 20009;;;;;; (19636 58496))
19994;;; Generated autoloads from outline.el 20010;;; Generated autoloads from outline.el
19995(put 'outline-regexp 'safe-local-variable 'string-or-null-p) 20011(put 'outline-regexp 'safe-local-variable 'string-or-null-p)
19996 20012
@@ -20047,7 +20063,7 @@ See the command `outline-mode' for more information on this mode.
20047 20063
20048;;;*** 20064;;;***
20049 20065
20050;;;### (autoloads (show-paren-mode) "paren" "paren.el" (19383 49281)) 20066;;;### (autoloads (show-paren-mode) "paren" "paren.el" (19636 58496))
20051;;; Generated autoloads from paren.el 20067;;; Generated autoloads from paren.el
20052 20068
20053(defvar show-paren-mode nil "\ 20069(defvar show-paren-mode nil "\
@@ -20072,7 +20088,7 @@ in `show-paren-style' after `show-paren-delay' seconds of Emacs idle time.
20072;;;*** 20088;;;***
20073 20089
20074;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el" 20090;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el"
20075;;;;;; (19383 49281)) 20091;;;;;; (19636 58496))
20076;;; Generated autoloads from calendar/parse-time.el 20092;;; Generated autoloads from calendar/parse-time.el
20077(put 'parse-time-rules 'risky-local-variable t) 20093(put 'parse-time-rules 'risky-local-variable t)
20078 20094
@@ -20085,8 +20101,8 @@ unknown are returned as nil.
20085 20101
20086;;;*** 20102;;;***
20087 20103
20088;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (19383 20104;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (19636
20089;;;;;; 49281)) 20105;;;;;; 58496))
20090;;; Generated autoloads from progmodes/pascal.el 20106;;; Generated autoloads from progmodes/pascal.el
20091 20107
20092(autoload 'pascal-mode "pascal" "\ 20108(autoload 'pascal-mode "pascal" "\
@@ -20139,7 +20155,7 @@ no args, if that value is non-nil.
20139;;;*** 20155;;;***
20140 20156
20141;;;### (autoloads (pc-bindings-mode) "pc-mode" "emulation/pc-mode.el" 20157;;;### (autoloads (pc-bindings-mode) "pc-mode" "emulation/pc-mode.el"
20142;;;;;; (19383 49281)) 20158;;;;;; (19636 58496))
20143;;; Generated autoloads from emulation/pc-mode.el 20159;;; Generated autoloads from emulation/pc-mode.el
20144 20160
20145(autoload 'pc-bindings-mode "pc-mode" "\ 20161(autoload 'pc-bindings-mode "pc-mode" "\
@@ -20157,7 +20173,7 @@ C-Escape does list-buffers.
20157;;;*** 20173;;;***
20158 20174
20159;;;### (autoloads (pc-selection-mode) "pc-select" "emulation/pc-select.el" 20175;;;### (autoloads (pc-selection-mode) "pc-select" "emulation/pc-select.el"
20160;;;;;; (19383 49281)) 20176;;;;;; (19636 58496))
20161;;; Generated autoloads from emulation/pc-select.el 20177;;; Generated autoloads from emulation/pc-select.el
20162 20178
20163(defvar pc-selection-mode nil "\ 20179(defvar pc-selection-mode nil "\
@@ -20170,7 +20186,7 @@ or call the function `pc-selection-mode'.")
20170(custom-autoload 'pc-selection-mode "pc-select" nil) 20186(custom-autoload 'pc-selection-mode "pc-select" nil)
20171 20187
20172(autoload 'pc-selection-mode "pc-select" "\ 20188(autoload 'pc-selection-mode "pc-select" "\
20173Change mark behavior to emulate Motif, MAC or MS-Windows cut and paste style. 20189Change mark behavior to emulate Motif, Mac or MS-Windows cut and paste style.
20174 20190
20175This mode enables Delete Selection mode and Transient Mark mode. 20191This mode enables Delete Selection mode and Transient Mark mode.
20176 20192
@@ -20223,8 +20239,8 @@ but before calling PC Selection mode):
20223 20239
20224;;;*** 20240;;;***
20225 20241
20226;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (19383 20242;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (19636
20227;;;;;; 49281)) 20243;;;;;; 58496))
20228;;; Generated autoloads from pcmpl-cvs.el 20244;;; Generated autoloads from pcmpl-cvs.el
20229 20245
20230(autoload 'pcomplete/cvs "pcmpl-cvs" "\ 20246(autoload 'pcomplete/cvs "pcmpl-cvs" "\
@@ -20235,7 +20251,7 @@ Completion rules for the `cvs' command.
20235;;;*** 20251;;;***
20236 20252
20237;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip) 20253;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip)
20238;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (19383 49281)) 20254;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (19636 58496))
20239;;; Generated autoloads from pcmpl-gnu.el 20255;;; Generated autoloads from pcmpl-gnu.el
20240 20256
20241(autoload 'pcomplete/gzip "pcmpl-gnu" "\ 20257(autoload 'pcomplete/gzip "pcmpl-gnu" "\
@@ -20263,7 +20279,7 @@ Completion for the GNU tar utility.
20263;;;*** 20279;;;***
20264 20280
20265;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill) 20281;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill)
20266;;;;;; "pcmpl-linux" "pcmpl-linux.el" (19383 49281)) 20282;;;;;; "pcmpl-linux" "pcmpl-linux.el" (19636 58496))
20267;;; Generated autoloads from pcmpl-linux.el 20283;;; Generated autoloads from pcmpl-linux.el
20268 20284
20269(autoload 'pcomplete/kill "pcmpl-linux" "\ 20285(autoload 'pcomplete/kill "pcmpl-linux" "\
@@ -20283,8 +20299,8 @@ Completion for GNU/Linux `mount'.
20283 20299
20284;;;*** 20300;;;***
20285 20301
20286;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (19383 20302;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (19636
20287;;;;;; 49281)) 20303;;;;;; 58496))
20288;;; Generated autoloads from pcmpl-rpm.el 20304;;; Generated autoloads from pcmpl-rpm.el
20289 20305
20290(autoload 'pcomplete/rpm "pcmpl-rpm" "\ 20306(autoload 'pcomplete/rpm "pcmpl-rpm" "\
@@ -20296,7 +20312,7 @@ Completion for the `rpm' command.
20296 20312
20297;;;### (autoloads (pcomplete/scp pcomplete/ssh pcomplete/chgrp pcomplete/chown 20313;;;### (autoloads (pcomplete/scp pcomplete/ssh pcomplete/chgrp pcomplete/chown
20298;;;;;; pcomplete/which pcomplete/xargs pcomplete/rm pcomplete/rmdir 20314;;;;;; pcomplete/which pcomplete/xargs pcomplete/rm pcomplete/rmdir
20299;;;;;; pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (19383 49281)) 20315;;;;;; pcomplete/cd) "pcmpl-unix" "pcmpl-unix.el" (19636 58496))
20300;;; Generated autoloads from pcmpl-unix.el 20316;;; Generated autoloads from pcmpl-unix.el
20301 20317
20302(autoload 'pcomplete/cd "pcmpl-unix" "\ 20318(autoload 'pcomplete/cd "pcmpl-unix" "\
@@ -20353,8 +20369,8 @@ Includes files as well as host names followed by a colon.
20353 20369
20354;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list 20370;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list
20355;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete 20371;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete
20356;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (19383 20372;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (19636
20357;;;;;; 49281)) 20373;;;;;; 58496))
20358;;; Generated autoloads from pcomplete.el 20374;;; Generated autoloads from pcomplete.el
20359 20375
20360(autoload 'pcomplete "pcomplete" "\ 20376(autoload 'pcomplete "pcomplete" "\
@@ -20413,7 +20429,7 @@ Setup `shell-mode' to use pcomplete.
20413 20429
20414;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status 20430;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status
20415;;;;;; cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs" 20431;;;;;; cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs"
20416;;;;;; "pcvs.el" (19383 49281)) 20432;;;;;; "pcvs.el" (19636 58496))
20417;;; Generated autoloads from pcvs.el 20433;;; Generated autoloads from pcvs.el
20418 20434
20419(autoload 'cvs-checkout "pcvs" "\ 20435(autoload 'cvs-checkout "pcvs" "\
@@ -20488,7 +20504,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d
20488 20504
20489;;;*** 20505;;;***
20490 20506
20491;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (19383 49281)) 20507;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (19636 58496))
20492;;; Generated autoloads from pcvs-defs.el 20508;;; Generated autoloads from pcvs-defs.el
20493 20509
20494(defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] `(menu-item ,(purecopy "Directory Status") cvs-status :help ,(purecopy "A more verbose status of a workarea"))) (define-key m [checkout] `(menu-item ,(purecopy "Checkout Module") cvs-checkout :help ,(purecopy "Check out a module from the repository"))) (define-key m [update] `(menu-item ,(purecopy "Update Directory") cvs-update :help ,(purecopy "Fetch updates from the repository"))) (define-key m [examine] `(menu-item ,(purecopy "Examine Directory") cvs-examine :help ,(purecopy "Examine the current state of a workarea"))) (fset 'cvs-global-menu m))) 20510(defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] `(menu-item ,(purecopy "Directory Status") cvs-status :help ,(purecopy "A more verbose status of a workarea"))) (define-key m [checkout] `(menu-item ,(purecopy "Checkout Module") cvs-checkout :help ,(purecopy "Check out a module from the repository"))) (define-key m [update] `(menu-item ,(purecopy "Update Directory") cvs-update :help ,(purecopy "Fetch updates from the repository"))) (define-key m [examine] `(menu-item ,(purecopy "Examine Directory") cvs-examine :help ,(purecopy "Examine the current state of a workarea"))) (fset 'cvs-global-menu m)))
@@ -20496,7 +20512,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d
20496;;;*** 20512;;;***
20497 20513
20498;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el" 20514;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el"
20499;;;;;; (19383 49281)) 20515;;;;;; (19636 58496))
20500;;; Generated autoloads from progmodes/perl-mode.el 20516;;; Generated autoloads from progmodes/perl-mode.el
20501(put 'perl-indent-level 'safe-local-variable 'integerp) 20517(put 'perl-indent-level 'safe-local-variable 'integerp)
20502(put 'perl-continued-statement-offset 'safe-local-variable 'integerp) 20518(put 'perl-continued-statement-offset 'safe-local-variable 'integerp)
@@ -20560,7 +20576,7 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'.
20560;;;### (autoloads (pgg-snarf-keys pgg-snarf-keys-region pgg-insert-key 20576;;;### (autoloads (pgg-snarf-keys pgg-snarf-keys-region pgg-insert-key
20561;;;;;; pgg-verify pgg-verify-region pgg-sign pgg-sign-region pgg-decrypt 20577;;;;;; pgg-verify pgg-verify-region pgg-sign pgg-sign-region pgg-decrypt
20562;;;;;; pgg-decrypt-region pgg-encrypt pgg-encrypt-symmetric pgg-encrypt-symmetric-region 20578;;;;;; pgg-decrypt-region pgg-encrypt pgg-encrypt-symmetric pgg-encrypt-symmetric-region
20563;;;;;; pgg-encrypt-region) "pgg" "pgg.el" (19383 49281)) 20579;;;;;; pgg-encrypt-region) "pgg" "pgg.el" (19636 58496))
20564;;; Generated autoloads from pgg.el 20580;;; Generated autoloads from pgg.el
20565 20581
20566(autoload 'pgg-encrypt-region "pgg" "\ 20582(autoload 'pgg-encrypt-region "pgg" "\
@@ -20694,7 +20710,7 @@ Import public keys in the current buffer.
20694;;;*** 20710;;;***
20695 20711
20696;;;### (autoloads (pgg-gpg-symmetric-key-p) "pgg-gpg" "pgg-gpg.el" 20712;;;### (autoloads (pgg-gpg-symmetric-key-p) "pgg-gpg" "pgg-gpg.el"
20697;;;;;; (19383 49281)) 20713;;;;;; (19636 58496))
20698;;; Generated autoloads from pgg-gpg.el 20714;;; Generated autoloads from pgg-gpg.el
20699 20715
20700(autoload 'pgg-gpg-symmetric-key-p "pgg-gpg" "\ 20716(autoload 'pgg-gpg-symmetric-key-p "pgg-gpg" "\
@@ -20705,7 +20721,7 @@ True if decoded armor MESSAGE-KEYS has symmetric encryption indicator.
20705;;;*** 20721;;;***
20706 20722
20707;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el" 20723;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el"
20708;;;;;; (19383 49281)) 20724;;;;;; (19636 58496))
20709;;; Generated autoloads from textmodes/picture.el 20725;;; Generated autoloads from textmodes/picture.el
20710 20726
20711(autoload 'picture-mode "picture" "\ 20727(autoload 'picture-mode "picture" "\
@@ -20786,7 +20802,7 @@ they are not defaultly assigned to keys.
20786;;;*** 20802;;;***
20787 20803
20788;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el" 20804;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el"
20789;;;;;; (19383 49281)) 20805;;;;;; (19636 58496))
20790;;; Generated autoloads from textmodes/po.el 20806;;; Generated autoloads from textmodes/po.el
20791 20807
20792(autoload 'po-find-file-coding-system "po" "\ 20808(autoload 'po-find-file-coding-system "po" "\
@@ -20797,7 +20813,7 @@ Called through `file-coding-system-alist', before the file is visited for real.
20797 20813
20798;;;*** 20814;;;***
20799 20815
20800;;;### (autoloads (pong) "pong" "play/pong.el" (19383 49281)) 20816;;;### (autoloads (pong) "pong" "play/pong.el" (19636 58496))
20801;;; Generated autoloads from play/pong.el 20817;;; Generated autoloads from play/pong.el
20802 20818
20803(autoload 'pong "pong" "\ 20819(autoload 'pong "pong" "\
@@ -20815,7 +20831,7 @@ pong-mode keybindings:\\<pong-mode-map>
20815 20831
20816;;;### (autoloads (pp-macroexpand-last-sexp pp-eval-last-sexp pp-macroexpand-expression 20832;;;### (autoloads (pp-macroexpand-last-sexp pp-eval-last-sexp pp-macroexpand-expression
20817;;;;;; pp-eval-expression pp pp-buffer pp-to-string) "pp" "emacs-lisp/pp.el" 20833;;;;;; pp-eval-expression pp pp-buffer pp-to-string) "pp" "emacs-lisp/pp.el"
20818;;;;;; (19383 49281)) 20834;;;;;; (19636 58496))
20819;;; Generated autoloads from emacs-lisp/pp.el 20835;;; Generated autoloads from emacs-lisp/pp.el
20820 20836
20821(autoload 'pp-to-string "pp" "\ 20837(autoload 'pp-to-string "pp" "\
@@ -20883,7 +20899,7 @@ Ignores leading comment characters.
20883;;;;;; pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview 20899;;;;;; pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview
20884;;;;;; pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript 20900;;;;;; pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript
20885;;;;;; pr-ps-directory-preview pr-interface) "printing" "printing.el" 20901;;;;;; pr-ps-directory-preview pr-interface) "printing" "printing.el"
20886;;;;;; (19383 49281)) 20902;;;;;; (19636 58496))
20887;;; Generated autoloads from printing.el 20903;;; Generated autoloads from printing.el
20888 20904
20889(autoload 'pr-interface "printing" "\ 20905(autoload 'pr-interface "printing" "\
@@ -21470,7 +21486,7 @@ are both set to t.
21470 21486
21471;;;*** 21487;;;***
21472 21488
21473;;;### (autoloads (proced) "proced" "proced.el" (19383 49281)) 21489;;;### (autoloads (proced) "proced" "proced.el" (19636 58496))
21474;;; Generated autoloads from proced.el 21490;;; Generated autoloads from proced.el
21475 21491
21476(autoload 'proced "proced" "\ 21492(autoload 'proced "proced" "\
@@ -21486,7 +21502,7 @@ See `proced-mode' for a description of features available in Proced buffers.
21486;;;*** 21502;;;***
21487 21503
21488;;;### (autoloads (switch-to-prolog prolog-mode) "prolog" "progmodes/prolog.el" 21504;;;### (autoloads (switch-to-prolog prolog-mode) "prolog" "progmodes/prolog.el"
21489;;;;;; (19383 49281)) 21505;;;;;; (19636 58496))
21490;;; Generated autoloads from progmodes/prolog.el 21506;;; Generated autoloads from progmodes/prolog.el
21491 21507
21492(autoload 'prolog-mode "prolog" "\ 21508(autoload 'prolog-mode "prolog" "\
@@ -21509,8 +21525,8 @@ With prefix argument \\[universal-prefix], prompt for the program to use.
21509 21525
21510;;;*** 21526;;;***
21511 21527
21512;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (19383 21528;;;### (autoloads (bdf-directory-list) "ps-bdf" "ps-bdf.el" (19636
21513;;;;;; 49281)) 21529;;;;;; 58496))
21514;;; Generated autoloads from ps-bdf.el 21530;;; Generated autoloads from ps-bdf.el
21515 21531
21516(defvar bdf-directory-list (if (memq system-type '(ms-dos windows-nt)) (list (expand-file-name "fonts/bdf" installation-directory)) '("/usr/local/share/emacs/fonts/bdf")) "\ 21532(defvar bdf-directory-list (if (memq system-type '(ms-dos windows-nt)) (list (expand-file-name "fonts/bdf" installation-directory)) '("/usr/local/share/emacs/fonts/bdf")) "\
@@ -21521,8 +21537,8 @@ The default value is '(\"/usr/local/share/emacs/fonts/bdf\").")
21521 21537
21522;;;*** 21538;;;***
21523 21539
21524;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (19383 21540;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (19636
21525;;;;;; 49281)) 21541;;;;;; 58496))
21526;;; Generated autoloads from progmodes/ps-mode.el 21542;;; Generated autoloads from progmodes/ps-mode.el
21527 21543
21528(autoload 'ps-mode "ps-mode" "\ 21544(autoload 'ps-mode "ps-mode" "\
@@ -21573,8 +21589,8 @@ Typing \\<ps-run-mode-map>\\[ps-run-goto-error] when the cursor is at the number
21573;;;;;; ps-spool-region ps-spool-buffer-with-faces ps-spool-buffer 21589;;;;;; ps-spool-region ps-spool-buffer-with-faces ps-spool-buffer
21574;;;;;; ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces 21590;;;;;; ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces
21575;;;;;; ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type 21591;;;;;; ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type
21576;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (19383 21592;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (19641
21577;;;;;; 49281)) 21593;;;;;; 1314))
21578;;; Generated autoloads from ps-print.el 21594;;; Generated autoloads from ps-print.el
21579 21595
21580(defvar ps-page-dimensions-database (purecopy (list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") (list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") (list 'letter (* 72 8.5) (* 72 11.0) "Letter") (list 'legal (* 72 8.5) (* 72 14.0) "Legal") (list 'letter-small (* 72 7.68) (* 72 10.16) "LetterSmall") (list 'tabloid (* 72 11.0) (* 72 17.0) "Tabloid") (list 'ledger (* 72 17.0) (* 72 11.0) "Ledger") (list 'statement (* 72 5.5) (* 72 8.5) "Statement") (list 'executive (* 72 7.5) (* 72 10.0) "Executive") (list 'a4small (* 72 7.47) (* 72 10.85) "A4Small") (list 'b4 (* 72 10.125) (* 72 14.33) "B4") (list 'b5 (* 72 7.16) (* 72 10.125) "B5") '(addresslarge 236.0 99.0 "AddressLarge") '(addresssmall 236.0 68.0 "AddressSmall") '(cuthanging13 90.0 222.0 "CutHanging13") '(cuthanging15 90.0 114.0 "CutHanging15") '(diskette 181.0 136.0 "Diskette") '(eurofilefolder 139.0 112.0 "EuropeanFilefolder") '(eurofoldernarrow 526.0 107.0 "EuroFolderNarrow") '(eurofolderwide 526.0 136.0 "EuroFolderWide") '(euronamebadge 189.0 108.0 "EuroNameBadge") '(euronamebadgelarge 223.0 136.0 "EuroNameBadgeLarge") '(filefolder 230.0 37.0 "FileFolder") '(jewelry 76.0 136.0 "Jewelry") '(mediabadge 180.0 136.0 "MediaBadge") '(multipurpose 126.0 68.0 "MultiPurpose") '(retaillabel 90.0 104.0 "RetailLabel") '(shipping 271.0 136.0 "Shipping") '(slide35mm 26.0 104.0 "Slide35mm") '(spine8mm 187.0 26.0 "Spine8mm") '(topcoated 425.19685 136.0 "TopCoatedPaper") '(topcoatedpaper 396.0 136.0 "TopcoatedPaper150") '(vhsface 205.0 127.0 "VHSFace") '(vhsspine 400.0 50.0 "VHSSpine") '(zipdisk 156.0 136.0 "ZipDisk"))) "\ 21596(defvar ps-page-dimensions-database (purecopy (list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") (list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") (list 'letter (* 72 8.5) (* 72 11.0) "Letter") (list 'legal (* 72 8.5) (* 72 14.0) "Legal") (list 'letter-small (* 72 7.68) (* 72 10.16) "LetterSmall") (list 'tabloid (* 72 11.0) (* 72 17.0) "Tabloid") (list 'ledger (* 72 17.0) (* 72 11.0) "Ledger") (list 'statement (* 72 5.5) (* 72 8.5) "Statement") (list 'executive (* 72 7.5) (* 72 10.0) "Executive") (list 'a4small (* 72 7.47) (* 72 10.85) "A4Small") (list 'b4 (* 72 10.125) (* 72 14.33) "B4") (list 'b5 (* 72 7.16) (* 72 10.125) "B5") '(addresslarge 236.0 99.0 "AddressLarge") '(addresssmall 236.0 68.0 "AddressSmall") '(cuthanging13 90.0 222.0 "CutHanging13") '(cuthanging15 90.0 114.0 "CutHanging15") '(diskette 181.0 136.0 "Diskette") '(eurofilefolder 139.0 112.0 "EuropeanFilefolder") '(eurofoldernarrow 526.0 107.0 "EuroFolderNarrow") '(eurofolderwide 526.0 136.0 "EuroFolderWide") '(euronamebadge 189.0 108.0 "EuroNameBadge") '(euronamebadgelarge 223.0 136.0 "EuroNameBadgeLarge") '(filefolder 230.0 37.0 "FileFolder") '(jewelry 76.0 136.0 "Jewelry") '(mediabadge 180.0 136.0 "MediaBadge") '(multipurpose 126.0 68.0 "MultiPurpose") '(retaillabel 90.0 104.0 "RetailLabel") '(shipping 271.0 136.0 "Shipping") '(slide35mm 26.0 104.0 "Slide35mm") '(spine8mm 187.0 26.0 "Spine8mm") '(topcoated 425.19685 136.0 "TopCoatedPaper") '(topcoatedpaper 396.0 136.0 "TopcoatedPaper150") '(vhsface 205.0 127.0 "VHSFace") '(vhsspine 400.0 50.0 "VHSSpine") '(zipdisk 156.0 136.0 "ZipDisk"))) "\
@@ -21771,7 +21787,7 @@ If EXTENSION is any other symbol, it is ignored.
21771;;;*** 21787;;;***
21772 21788
21773;;;### (autoloads (python-shell jython-mode python-mode run-python) 21789;;;### (autoloads (python-shell jython-mode python-mode run-python)
21774;;;;;; "python" "progmodes/python.el" (19383 49284)) 21790;;;;;; "python" "progmodes/python.el" (19672 43471))
21775;;; Generated autoloads from progmodes/python.el 21791;;; Generated autoloads from progmodes/python.el
21776 21792
21777(add-to-list 'interpreter-mode-alist (cons (purecopy "jython") 'jython-mode)) 21793(add-to-list 'interpreter-mode-alist (cons (purecopy "jython") 'jython-mode))
@@ -21887,7 +21903,7 @@ filter.
21887;;;*** 21903;;;***
21888 21904
21889;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el" 21905;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el"
21890;;;;;; (19383 49281)) 21906;;;;;; (19636 58496))
21891;;; Generated autoloads from gnus/qp.el 21907;;; Generated autoloads from gnus/qp.el
21892 21908
21893(autoload 'quoted-printable-decode-region "qp" "\ 21909(autoload 'quoted-printable-decode-region "qp" "\
@@ -21910,7 +21926,7 @@ them into characters should be done separately.
21910;;;;;; quail-defrule quail-install-decode-map quail-install-map 21926;;;;;; quail-defrule quail-install-decode-map quail-install-map
21911;;;;;; quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout 21927;;;;;; quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout
21912;;;;;; quail-define-package quail-use-package quail-title) "quail" 21928;;;;;; quail-define-package quail-use-package quail-title) "quail"
21913;;;;;; "international/quail.el" (19383 49281)) 21929;;;;;; "international/quail.el" (19636 58496))
21914;;; Generated autoloads from international/quail.el 21930;;; Generated autoloads from international/quail.el
21915 21931
21916(autoload 'quail-title "quail" "\ 21932(autoload 'quail-title "quail" "\
@@ -22141,8 +22157,8 @@ of each directory.
22141 22157
22142;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls 22158;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls
22143;;;;;; quickurl-browse-url-ask quickurl-browse-url quickurl-add-url 22159;;;;;; quickurl-browse-url-ask quickurl-browse-url quickurl-add-url
22144;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (19383 22160;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (19636
22145;;;;;; 49281)) 22161;;;;;; 58496))
22146;;; Generated autoloads from net/quickurl.el 22162;;; Generated autoloads from net/quickurl.el
22147 22163
22148(defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn (require 'quickurl) (add-hook 'local-write-file-hooks (lambda () (quickurl-read) nil)))\n;; End:\n" "\ 22164(defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn (require 'quickurl) (add-hook 'local-write-file-hooks (lambda () (quickurl-read) nil)))\n;; End:\n" "\
@@ -22214,7 +22230,7 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'.
22214;;;*** 22230;;;***
22215 22231
22216;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc" 22232;;;### (autoloads (rcirc-track-minor-mode rcirc-connect rcirc) "rcirc"
22217;;;;;; "net/rcirc.el" (19383 49281)) 22233;;;;;; "net/rcirc.el" (19636 58496))
22218;;; Generated autoloads from net/rcirc.el 22234;;; Generated autoloads from net/rcirc.el
22219 22235
22220(autoload 'rcirc "rcirc" "\ 22236(autoload 'rcirc "rcirc" "\
@@ -22231,7 +22247,7 @@ If ARG is non-nil, instead prompt for connection parameters.
22231(autoload 'rcirc-connect "rcirc" "\ 22247(autoload 'rcirc-connect "rcirc" "\
22232Not documented 22248Not documented
22233 22249
22234\(fn SERVER &optional PORT NICK USER-NAME FULL-NAME STARTUP-CHANNELS)" nil nil) 22250\(fn SERVER &optional PORT NICK USER-NAME FULL-NAME STARTUP-CHANNELS PASSWORD)" nil nil)
22235 22251
22236(defvar rcirc-track-minor-mode nil "\ 22252(defvar rcirc-track-minor-mode nil "\
22237Non-nil if Rcirc-Track minor mode is enabled. 22253Non-nil if Rcirc-Track minor mode is enabled.
@@ -22249,8 +22265,8 @@ Global minor mode for tracking activity in rcirc buffers.
22249 22265
22250;;;*** 22266;;;***
22251 22267
22252;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (19383 22268;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (19636
22253;;;;;; 49281)) 22269;;;;;; 58496))
22254;;; Generated autoloads from net/rcompile.el 22270;;; Generated autoloads from net/rcompile.el
22255 22271
22256(autoload 'remote-compile "rcompile" "\ 22272(autoload 'remote-compile "rcompile" "\
@@ -22262,7 +22278,7 @@ See \\[compile].
22262;;;*** 22278;;;***
22263 22279
22264;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el" 22280;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el"
22265;;;;;; (19383 49281)) 22281;;;;;; (19636 58496))
22266;;; Generated autoloads from emacs-lisp/re-builder.el 22282;;; Generated autoloads from emacs-lisp/re-builder.el
22267 22283
22268(defalias 'regexp-builder 're-builder) 22284(defalias 'regexp-builder 're-builder)
@@ -22274,7 +22290,7 @@ Construct a regexp interactively.
22274 22290
22275;;;*** 22291;;;***
22276 22292
22277;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (19383 49281)) 22293;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (19636 58496))
22278;;; Generated autoloads from recentf.el 22294;;; Generated autoloads from recentf.el
22279 22295
22280(defvar recentf-mode nil "\ 22296(defvar recentf-mode nil "\
@@ -22301,8 +22317,8 @@ that were operated on recently.
22301;;;### (autoloads (clear-rectangle string-insert-rectangle string-rectangle 22317;;;### (autoloads (clear-rectangle string-insert-rectangle string-rectangle
22302;;;;;; delete-whitespace-rectangle open-rectangle insert-rectangle 22318;;;;;; delete-whitespace-rectangle open-rectangle insert-rectangle
22303;;;;;; yank-rectangle kill-rectangle extract-rectangle delete-extract-rectangle 22319;;;;;; yank-rectangle kill-rectangle extract-rectangle delete-extract-rectangle
22304;;;;;; delete-rectangle move-to-column-force) "rect" "rect.el" (19383 22320;;;;;; delete-rectangle move-to-column-force) "rect" "rect.el" (19636
22305;;;;;; 49281)) 22321;;;;;; 58496))
22306;;; Generated autoloads from rect.el 22322;;; Generated autoloads from rect.el
22307 (define-key ctl-x-r-map "c" 'clear-rectangle) 22323 (define-key ctl-x-r-map "c" 'clear-rectangle)
22308 (define-key ctl-x-r-map "k" 'kill-rectangle) 22324 (define-key ctl-x-r-map "k" 'kill-rectangle)
@@ -22436,8 +22452,8 @@ rectangle which were empty.
22436 22452
22437;;;*** 22453;;;***
22438 22454
22439;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (19383 22455;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (19636
22440;;;;;; 49281)) 22456;;;;;; 58496))
22441;;; Generated autoloads from textmodes/refill.el 22457;;; Generated autoloads from textmodes/refill.el
22442 22458
22443(autoload 'refill-mode "refill" "\ 22459(autoload 'refill-mode "refill" "\
@@ -22453,7 +22469,7 @@ refilling if they would cause auto-filling.
22453;;;*** 22469;;;***
22454 22470
22455;;;### (autoloads (reftex-reset-scanning-information reftex-mode 22471;;;### (autoloads (reftex-reset-scanning-information reftex-mode
22456;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (19383 49281)) 22472;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (19636 58496))
22457;;; Generated autoloads from textmodes/reftex.el 22473;;; Generated autoloads from textmodes/reftex.el
22458 22474
22459(autoload 'turn-on-reftex "reftex" "\ 22475(autoload 'turn-on-reftex "reftex" "\
@@ -22503,7 +22519,7 @@ This enforces rescanning the buffer on next use.
22503;;;*** 22519;;;***
22504 22520
22505;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el" 22521;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el"
22506;;;;;; (19383 49281)) 22522;;;;;; (19636 58496))
22507;;; Generated autoloads from textmodes/reftex-cite.el 22523;;; Generated autoloads from textmodes/reftex-cite.el
22508 22524
22509(autoload 'reftex-citation "reftex-cite" "\ 22525(autoload 'reftex-citation "reftex-cite" "\
@@ -22533,7 +22549,7 @@ While entering the regexp, completion on knows citation keys is possible.
22533;;;*** 22549;;;***
22534 22550
22535;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el" 22551;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el"
22536;;;;;; (19383 49281)) 22552;;;;;; (19636 58496))
22537;;; Generated autoloads from textmodes/reftex-global.el 22553;;; Generated autoloads from textmodes/reftex-global.el
22538 22554
22539(autoload 'reftex-isearch-minor-mode "reftex-global" "\ 22555(autoload 'reftex-isearch-minor-mode "reftex-global" "\
@@ -22550,7 +22566,7 @@ With no argument, this command toggles
22550;;;*** 22566;;;***
22551 22567
22552;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el" 22568;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el"
22553;;;;;; (19383 49281)) 22569;;;;;; (19636 58496))
22554;;; Generated autoloads from textmodes/reftex-index.el 22570;;; Generated autoloads from textmodes/reftex-index.el
22555 22571
22556(autoload 'reftex-index-phrases-mode "reftex-index" "\ 22572(autoload 'reftex-index-phrases-mode "reftex-index" "\
@@ -22583,7 +22599,7 @@ Here are all local bindings.
22583;;;*** 22599;;;***
22584 22600
22585;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el" 22601;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el"
22586;;;;;; (19383 49281)) 22602;;;;;; (19636 58496))
22587;;; Generated autoloads from textmodes/reftex-parse.el 22603;;; Generated autoloads from textmodes/reftex-parse.el
22588 22604
22589(autoload 'reftex-all-document-files "reftex-parse" "\ 22605(autoload 'reftex-all-document-files "reftex-parse" "\
@@ -22595,8 +22611,8 @@ of master file.
22595 22611
22596;;;*** 22612;;;***
22597 22613
22598;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (19383 22614;;;### (autoloads nil "reftex-vars" "textmodes/reftex-vars.el" (19636
22599;;;;;; 49285)) 22615;;;;;; 58496))
22600;;; Generated autoloads from textmodes/reftex-vars.el 22616;;; Generated autoloads from textmodes/reftex-vars.el
22601(put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) 22617(put 'reftex-vref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x))))
22602(put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x)))) 22618(put 'reftex-fref-is-default 'safe-local-variable (lambda (x) (or (stringp x) (symbolp x))))
@@ -22606,7 +22622,7 @@ of master file.
22606;;;*** 22622;;;***
22607 22623
22608;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el" 22624;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el"
22609;;;;;; (19383 49281)) 22625;;;;;; (19652 24589))
22610;;; Generated autoloads from emacs-lisp/regexp-opt.el 22626;;; Generated autoloads from emacs-lisp/regexp-opt.el
22611 22627
22612(autoload 'regexp-opt "regexp-opt" "\ 22628(autoload 'regexp-opt "regexp-opt" "\
@@ -22635,7 +22651,7 @@ This means the number of non-shy regexp grouping constructs
22635 22651
22636;;;### (autoloads (remember-diary-extract-entries remember-clipboard 22652;;;### (autoloads (remember-diary-extract-entries remember-clipboard
22637;;;;;; remember-other-frame remember) "remember" "textmodes/remember.el" 22653;;;;;; remember-other-frame remember) "remember" "textmodes/remember.el"
22638;;;;;; (19383 49281)) 22654;;;;;; (19636 58496))
22639;;; Generated autoloads from textmodes/remember.el 22655;;; Generated autoloads from textmodes/remember.el
22640 22656
22641(autoload 'remember "remember" "\ 22657(autoload 'remember "remember" "\
@@ -22666,7 +22682,7 @@ Extract diary entries from the region.
22666 22682
22667;;;*** 22683;;;***
22668 22684
22669;;;### (autoloads (repeat) "repeat" "repeat.el" (19383 49281)) 22685;;;### (autoloads (repeat) "repeat" "repeat.el" (19652 24589))
22670;;; Generated autoloads from repeat.el 22686;;; Generated autoloads from repeat.el
22671 22687
22672(autoload 'repeat "repeat" "\ 22688(autoload 'repeat "repeat" "\
@@ -22689,7 +22705,7 @@ recently executed command not bound to an input event\".
22689;;;*** 22705;;;***
22690 22706
22691;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el" 22707;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el"
22692;;;;;; (19383 49281)) 22708;;;;;; (19636 58496))
22693;;; Generated autoloads from mail/reporter.el 22709;;; Generated autoloads from mail/reporter.el
22694 22710
22695(autoload 'reporter-submit-bug-report "reporter" "\ 22711(autoload 'reporter-submit-bug-report "reporter" "\
@@ -22721,7 +22737,7 @@ mail-sending package is used for editing and sending the message.
22721;;;*** 22737;;;***
22722 22738
22723;;;### (autoloads (reposition-window) "reposition" "reposition.el" 22739;;;### (autoloads (reposition-window) "reposition" "reposition.el"
22724;;;;;; (19383 49281)) 22740;;;;;; (19636 58496))
22725;;; Generated autoloads from reposition.el 22741;;; Generated autoloads from reposition.el
22726 22742
22727(autoload 'reposition-window "reposition" "\ 22743(autoload 'reposition-window "reposition" "\
@@ -22748,7 +22764,7 @@ first comment line visible (if point is in a comment).
22748;;;*** 22764;;;***
22749 22765
22750;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el" 22766;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el"
22751;;;;;; (19383 49281)) 22767;;;;;; (19636 58496))
22752;;; Generated autoloads from reveal.el 22768;;; Generated autoloads from reveal.el
22753 22769
22754(autoload 'reveal-mode "reveal" "\ 22770(autoload 'reveal-mode "reveal" "\
@@ -22783,7 +22799,7 @@ With zero or negative ARG turn mode off.
22783;;;*** 22799;;;***
22784 22800
22785;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el" 22801;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el"
22786;;;;;; (19383 49281)) 22802;;;;;; (19636 58496))
22787;;; Generated autoloads from emacs-lisp/ring.el 22803;;; Generated autoloads from emacs-lisp/ring.el
22788 22804
22789(autoload 'ring-p "ring" "\ 22805(autoload 'ring-p "ring" "\
@@ -22798,7 +22814,7 @@ Make a ring that can contain SIZE elements.
22798 22814
22799;;;*** 22815;;;***
22800 22816
22801;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (19383 49281)) 22817;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (19636 58496))
22802;;; Generated autoloads from net/rlogin.el 22818;;; Generated autoloads from net/rlogin.el
22803 (add-hook 'same-window-regexps (purecopy "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)")) 22819 (add-hook 'same-window-regexps (purecopy "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)"))
22804 22820
@@ -22848,8 +22864,8 @@ variable.
22848;;;;;; rmail-secondary-file-directory rmail-primary-inbox-list rmail-highlighted-headers 22864;;;;;; rmail-secondary-file-directory rmail-primary-inbox-list rmail-highlighted-headers
22849;;;;;; rmail-retry-ignored-headers rmail-displayed-headers rmail-ignored-headers 22865;;;;;; rmail-retry-ignored-headers rmail-displayed-headers rmail-ignored-headers
22850;;;;;; rmail-dont-reply-to-names rmail-user-mail-address-regexp 22866;;;;;; rmail-dont-reply-to-names rmail-user-mail-address-regexp
22851;;;;;; rmail-movemail-variant-p) "rmail" "mail/rmail.el" (19383 22867;;;;;; rmail-movemail-variant-p) "rmail" "mail/rmail.el" (19641
22852;;;;;; 49285)) 22868;;;;;; 1152))
22853;;; Generated autoloads from mail/rmail.el 22869;;; Generated autoloads from mail/rmail.el
22854 22870
22855(autoload 'rmail-movemail-variant-p "rmail" "\ 22871(autoload 'rmail-movemail-variant-p "rmail" "\
@@ -23043,7 +23059,7 @@ Set PASSWORD to be used for retrieving mail from a POP or IMAP server.
23043;;;*** 23059;;;***
23044 23060
23045;;;### (autoloads (rmail-output-body-to-file rmail-output-as-seen 23061;;;### (autoloads (rmail-output-body-to-file rmail-output-as-seen
23046;;;;;; rmail-output) "rmailout" "mail/rmailout.el" (19383 49281)) 23062;;;;;; rmail-output) "rmailout" "mail/rmailout.el" (19636 58496))
23047;;; Generated autoloads from mail/rmailout.el 23063;;; Generated autoloads from mail/rmailout.el
23048(put 'rmail-output-file-alist 'risky-local-variable t) 23064(put 'rmail-output-file-alist 'risky-local-variable t)
23049 23065
@@ -23108,7 +23124,7 @@ than appending to it. Deletes the message after writing if
23108;;;*** 23124;;;***
23109 23125
23110;;;### (autoloads (rng-c-load-schema) "rng-cmpct" "nxml/rng-cmpct.el" 23126;;;### (autoloads (rng-c-load-schema) "rng-cmpct" "nxml/rng-cmpct.el"
23111;;;;;; (19383 49281)) 23127;;;;;; (19636 58496))
23112;;; Generated autoloads from nxml/rng-cmpct.el 23128;;; Generated autoloads from nxml/rng-cmpct.el
23113 23129
23114(autoload 'rng-c-load-schema "rng-cmpct" "\ 23130(autoload 'rng-c-load-schema "rng-cmpct" "\
@@ -23120,7 +23136,7 @@ Return a pattern.
23120;;;*** 23136;;;***
23121 23137
23122;;;### (autoloads (rng-nxml-mode-init) "rng-nxml" "nxml/rng-nxml.el" 23138;;;### (autoloads (rng-nxml-mode-init) "rng-nxml" "nxml/rng-nxml.el"
23123;;;;;; (19383 49281)) 23139;;;;;; (19636 58496))
23124;;; Generated autoloads from nxml/rng-nxml.el 23140;;; Generated autoloads from nxml/rng-nxml.el
23125 23141
23126(autoload 'rng-nxml-mode-init "rng-nxml" "\ 23142(autoload 'rng-nxml-mode-init "rng-nxml" "\
@@ -23133,7 +23149,7 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil.
23133;;;*** 23149;;;***
23134 23150
23135;;;### (autoloads (rng-validate-mode) "rng-valid" "nxml/rng-valid.el" 23151;;;### (autoloads (rng-validate-mode) "rng-valid" "nxml/rng-valid.el"
23136;;;;;; (19383 49281)) 23152;;;;;; (19636 58496))
23137;;; Generated autoloads from nxml/rng-valid.el 23153;;; Generated autoloads from nxml/rng-valid.el
23138 23154
23139(autoload 'rng-validate-mode "rng-valid" "\ 23155(autoload 'rng-validate-mode "rng-valid" "\
@@ -23163,8 +23179,8 @@ to use for finding the schema.
23163 23179
23164;;;*** 23180;;;***
23165 23181
23166;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (19383 23182;;;### (autoloads (rng-xsd-compile) "rng-xsd" "nxml/rng-xsd.el" (19636
23167;;;;;; 49281)) 23183;;;;;; 58496))
23168;;; Generated autoloads from nxml/rng-xsd.el 23184;;; Generated autoloads from nxml/rng-xsd.el
23169 23185
23170(put 'http://www\.w3\.org/2001/XMLSchema-datatypes 'rng-dt-compile 'rng-xsd-compile) 23186(put 'http://www\.w3\.org/2001/XMLSchema-datatypes 'rng-dt-compile 'rng-xsd-compile)
@@ -23192,7 +23208,7 @@ must be equal.
23192;;;*** 23208;;;***
23193 23209
23194;;;### (autoloads (robin-use-package robin-modify-package robin-define-package) 23210;;;### (autoloads (robin-use-package robin-modify-package robin-define-package)
23195;;;;;; "robin" "international/robin.el" (19383 49281)) 23211;;;;;; "robin" "international/robin.el" (19636 58496))
23196;;; Generated autoloads from international/robin.el 23212;;; Generated autoloads from international/robin.el
23197 23213
23198(autoload 'robin-define-package "robin" "\ 23214(autoload 'robin-define-package "robin" "\
@@ -23225,7 +23241,7 @@ Start using robin package NAME, which is a string.
23225;;;*** 23241;;;***
23226 23242
23227;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region 23243;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region
23228;;;;;; rot13-string rot13) "rot13" "rot13.el" (19383 49281)) 23244;;;;;; rot13-string rot13) "rot13" "rot13.el" (19636 58496))
23229;;; Generated autoloads from rot13.el 23245;;; Generated autoloads from rot13.el
23230 23246
23231(autoload 'rot13 "rot13" "\ 23247(autoload 'rot13 "rot13" "\
@@ -23263,7 +23279,7 @@ Toggle the use of ROT13 encoding for the current window.
23263;;;*** 23279;;;***
23264 23280
23265;;;### (autoloads (rst-minor-mode rst-mode) "rst" "textmodes/rst.el" 23281;;;### (autoloads (rst-minor-mode rst-mode) "rst" "textmodes/rst.el"
23266;;;;;; (19383 49281)) 23282;;;;;; (19636 58496))
23267;;; Generated autoloads from textmodes/rst.el 23283;;; Generated autoloads from textmodes/rst.el
23268 (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode))) 23284 (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode)))
23269 23285
@@ -23301,7 +23317,7 @@ for modes derived from Text mode, like Mail mode.
23301;;;*** 23317;;;***
23302 23318
23303;;;### (autoloads (ruby-mode) "ruby-mode" "progmodes/ruby-mode.el" 23319;;;### (autoloads (ruby-mode) "ruby-mode" "progmodes/ruby-mode.el"
23304;;;;;; (19383 49281)) 23320;;;;;; (19636 58496))
23305;;; Generated autoloads from progmodes/ruby-mode.el 23321;;; Generated autoloads from progmodes/ruby-mode.el
23306 23322
23307(autoload 'ruby-mode "ruby-mode" "\ 23323(autoload 'ruby-mode "ruby-mode" "\
@@ -23322,8 +23338,8 @@ The variable `ruby-indent-level' controls the amount of indentation.
23322 23338
23323;;;*** 23339;;;***
23324 23340
23325;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (19383 23341;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (19636
23326;;;;;; 49281)) 23342;;;;;; 58496))
23327;;; Generated autoloads from ruler-mode.el 23343;;; Generated autoloads from ruler-mode.el
23328 23344
23329(autoload 'ruler-mode "ruler-mode" "\ 23345(autoload 'ruler-mode "ruler-mode" "\
@@ -23333,8 +23349,8 @@ Display a ruler in the header line if ARG > 0.
23333 23349
23334;;;*** 23350;;;***
23335 23351
23336;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (19383 23352;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (19636
23337;;;;;; 49281)) 23353;;;;;; 58496))
23338;;; Generated autoloads from emacs-lisp/rx.el 23354;;; Generated autoloads from emacs-lisp/rx.el
23339 23355
23340(autoload 'rx-to-string "rx" "\ 23356(autoload 'rx-to-string "rx" "\
@@ -23564,9 +23580,6 @@ CHAR
23564 like `and', but makes the match accessible with `match-end', 23580 like `and', but makes the match accessible with `match-end',
23565 `match-beginning', and `match-string'. 23581 `match-beginning', and `match-string'.
23566 23582
23567`(group SEXP1 SEXP2 ...)'
23568 another name for `submatch'.
23569
23570`(or SEXP1 SEXP2 ...)' 23583`(or SEXP1 SEXP2 ...)'
23571`(| SEXP1 SEXP2 ...)' 23584`(| SEXP1 SEXP2 ...)'
23572 matches anything that matches SEXP1 or SEXP2, etc. If all 23585 matches anything that matches SEXP1 or SEXP2, etc. If all
@@ -23644,7 +23657,7 @@ enclosed in `(and ...)'.
23644;;;*** 23657;;;***
23645 23658
23646;;;### (autoloads (savehist-mode savehist-mode) "savehist" "savehist.el" 23659;;;### (autoloads (savehist-mode savehist-mode) "savehist" "savehist.el"
23647;;;;;; (19383 49282)) 23660;;;;;; (19636 58496))
23648;;; Generated autoloads from savehist.el 23661;;; Generated autoloads from savehist.el
23649 23662
23650(defvar savehist-mode nil "\ 23663(defvar savehist-mode nil "\
@@ -23670,7 +23683,7 @@ which is probably undesirable.
23670;;;*** 23683;;;***
23671 23684
23672;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el" 23685;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el"
23673;;;;;; (19383 49282)) 23686;;;;;; (19636 58496))
23674;;; Generated autoloads from progmodes/scheme.el 23687;;; Generated autoloads from progmodes/scheme.el
23675 23688
23676(autoload 'scheme-mode "scheme" "\ 23689(autoload 'scheme-mode "scheme" "\
@@ -23712,7 +23725,7 @@ that variable's value is a string.
23712;;;*** 23725;;;***
23713 23726
23714;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el" 23727;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el"
23715;;;;;; (19383 49282)) 23728;;;;;; (19636 58496))
23716;;; Generated autoloads from gnus/score-mode.el 23729;;; Generated autoloads from gnus/score-mode.el
23717 23730
23718(autoload 'gnus-score-mode "score-mode" "\ 23731(autoload 'gnus-score-mode "score-mode" "\
@@ -23726,7 +23739,7 @@ This mode is an extended emacs-lisp mode.
23726;;;*** 23739;;;***
23727 23740
23728;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el" 23741;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el"
23729;;;;;; (19383 49282)) 23742;;;;;; (19636 58496))
23730;;; Generated autoloads from scroll-all.el 23743;;; Generated autoloads from scroll-all.el
23731 23744
23732(defvar scroll-all-mode nil "\ 23745(defvar scroll-all-mode nil "\
@@ -23749,7 +23762,7 @@ apply to all visible windows in the same frame.
23749;;;*** 23762;;;***
23750 23763
23751;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el" 23764;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el"
23752;;;;;; (19383 49282)) 23765;;;;;; (19636 58496))
23753;;; Generated autoloads from scroll-lock.el 23766;;; Generated autoloads from scroll-lock.el
23754 23767
23755(autoload 'scroll-lock-mode "scroll-lock" "\ 23768(autoload 'scroll-lock-mode "scroll-lock" "\
@@ -23764,7 +23777,7 @@ during scrolling.
23764;;;*** 23777;;;***
23765 23778
23766;;;### (autoloads (semantic-mode semantic-default-submodes) "semantic" 23779;;;### (autoloads (semantic-mode semantic-default-submodes) "semantic"
23767;;;;;; "cedet/semantic.el" (19383 49276)) 23780;;;;;; "cedet/semantic.el" (19636 58496))
23768;;; Generated autoloads from cedet/semantic.el 23781;;; Generated autoloads from cedet/semantic.el
23769 23782
23770(defvar semantic-default-submodes '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode) "\ 23783(defvar semantic-default-submodes '(global-semantic-idle-scheduler-mode global-semanticdb-minor-mode) "\
@@ -23816,7 +23829,7 @@ Semantic mode.
23816;;;;;; mail-alias-file mail-default-reply-to mail-archive-file-name 23829;;;;;; mail-alias-file mail-default-reply-to mail-archive-file-name
23817;;;;;; mail-header-separator send-mail-function mail-interactive 23830;;;;;; mail-header-separator send-mail-function mail-interactive
23818;;;;;; mail-self-blind mail-specify-envelope-from mail-from-style) 23831;;;;;; mail-self-blind mail-specify-envelope-from mail-from-style)
23819;;;;;; "sendmail" "mail/sendmail.el" (19383 49284)) 23832;;;;;; "sendmail" "mail/sendmail.el" (19636 58496))
23820;;; Generated autoloads from mail/sendmail.el 23833;;; Generated autoloads from mail/sendmail.el
23821 23834
23822(defvar mail-from-style 'default "\ 23835(defvar mail-from-style 'default "\
@@ -24115,8 +24128,8 @@ Like `mail' command, but display mail buffer in another frame.
24115;;;*** 24128;;;***
24116 24129
24117;;;### (autoloads (server-save-buffers-kill-terminal server-mode 24130;;;### (autoloads (server-save-buffers-kill-terminal server-mode
24118;;;;;; server-force-delete server-start) "server" "server.el" (19392 24131;;;;;; server-force-delete server-start) "server" "server.el" (19662
24119;;;;;; 53767)) 24132;;;;;; 13261))
24120;;; Generated autoloads from server.el 24133;;; Generated autoloads from server.el
24121 24134
24122(autoload 'server-start "server" "\ 24135(autoload 'server-start "server" "\
@@ -24129,11 +24142,14 @@ Emacs distribution as your standard \"editor\".
24129Optional argument LEAVE-DEAD (interactively, a prefix arg) means just 24142Optional argument LEAVE-DEAD (interactively, a prefix arg) means just
24130kill any existing server communications subprocess. 24143kill any existing server communications subprocess.
24131 24144
24132If a server is already running, the server is not started. 24145If a server is already running, restart it. If clients are
24146running, ask the user for confirmation first, unless optional
24147argument INHIBIT-PROMPT is non-nil.
24148
24133To force-start a server, do \\[server-force-delete] and then 24149To force-start a server, do \\[server-force-delete] and then
24134\\[server-start]. 24150\\[server-start].
24135 24151
24136\(fn &optional LEAVE-DEAD)" t nil) 24152\(fn &optional LEAVE-DEAD INHIBIT-PROMPT)" t nil)
24137 24153
24138(autoload 'server-force-delete "server" "\ 24154(autoload 'server-force-delete "server" "\
24139Unconditionally delete connection file for server NAME. 24155Unconditionally delete connection file for server NAME.
@@ -24170,7 +24186,7 @@ only these files will be asked to be saved.
24170 24186
24171;;;*** 24187;;;***
24172 24188
24173;;;### (autoloads (ses-mode) "ses" "ses.el" (19383 49282)) 24189;;;### (autoloads (ses-mode) "ses" "ses.el" (19636 58496))
24174;;; Generated autoloads from ses.el 24190;;; Generated autoloads from ses.el
24175 24191
24176(autoload 'ses-mode "ses" "\ 24192(autoload 'ses-mode "ses" "\
@@ -24189,7 +24205,7 @@ These are active only in the minibuffer, when entering or editing a formula:
24189;;;*** 24205;;;***
24190 24206
24191;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el" 24207;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el"
24192;;;;;; (19383 49282)) 24208;;;;;; (19636 58496))
24193;;; Generated autoloads from textmodes/sgml-mode.el 24209;;; Generated autoloads from textmodes/sgml-mode.el
24194 24210
24195(autoload 'sgml-mode "sgml-mode" "\ 24211(autoload 'sgml-mode "sgml-mode" "\
@@ -24255,7 +24271,7 @@ To work around that, do:
24255;;;*** 24271;;;***
24256 24272
24257;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el" 24273;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el"
24258;;;;;; (19383 49284)) 24274;;;;;; (19636 58496))
24259;;; Generated autoloads from progmodes/sh-script.el 24275;;; Generated autoloads from progmodes/sh-script.el
24260(put 'sh-shell 'safe-local-variable 'symbolp) 24276(put 'sh-shell 'safe-local-variable 'symbolp)
24261 24277
@@ -24319,7 +24335,7 @@ with your script for an edit-interpret-debug cycle.
24319 24335
24320;;;*** 24336;;;***
24321 24337
24322;;;### (autoloads (sha1) "sha1" "sha1.el" (19383 49282)) 24338;;;### (autoloads (sha1) "sha1" "sha1.el" (19636 58496))
24323;;; Generated autoloads from sha1.el 24339;;; Generated autoloads from sha1.el
24324 24340
24325(autoload 'sha1 "sha1" "\ 24341(autoload 'sha1 "sha1" "\
@@ -24334,7 +24350,7 @@ If BINARY is non-nil, return a string in binary form.
24334;;;*** 24350;;;***
24335 24351
24336;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el" 24352;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el"
24337;;;;;; (19383 49282)) 24353;;;;;; (19636 58496))
24338;;; Generated autoloads from emacs-lisp/shadow.el 24354;;; Generated autoloads from emacs-lisp/shadow.el
24339 24355
24340(autoload 'list-load-path-shadows "shadow" "\ 24356(autoload 'list-load-path-shadows "shadow" "\
@@ -24377,15 +24393,15 @@ XXX.elc in an early directory (that does not contain XXX.el) is
24377considered to shadow a later file XXX.el, and vice-versa. 24393considered to shadow a later file XXX.el, and vice-versa.
24378 24394
24379Shadowings are located by calling the (non-interactive) companion 24395Shadowings are located by calling the (non-interactive) companion
24380function, `find-emacs-lisp-shadows'. 24396function, `load-path-shadows-find'.
24381 24397
24382\(fn &optional STRINGP)" t nil) 24398\(fn &optional STRINGP)" t nil)
24383 24399
24384;;;*** 24400;;;***
24385 24401
24386;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group 24402;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group
24387;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (19383 24403;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (19636
24388;;;;;; 49282)) 24404;;;;;; 58496))
24389;;; Generated autoloads from shadowfile.el 24405;;; Generated autoloads from shadowfile.el
24390 24406
24391(autoload 'shadow-define-cluster "shadowfile" "\ 24407(autoload 'shadow-define-cluster "shadowfile" "\
@@ -24424,7 +24440,7 @@ Set up file shadowing.
24424;;;*** 24440;;;***
24425 24441
24426;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el" 24442;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el"
24427;;;;;; (19383 49282)) 24443;;;;;; (19636 58496))
24428;;; Generated autoloads from shell.el 24444;;; Generated autoloads from shell.el
24429 24445
24430(defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\ 24446(defvar shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe") "\
@@ -24474,7 +24490,7 @@ Otherwise, one argument `-i' is passed to the shell.
24474;;;*** 24490;;;***
24475 24491
24476;;;### (autoloads (sieve-upload-and-bury sieve-upload sieve-manage) 24492;;;### (autoloads (sieve-upload-and-bury sieve-upload sieve-manage)
24477;;;;;; "sieve" "gnus/sieve.el" (19383 49282)) 24493;;;;;; "sieve" "gnus/sieve.el" (19636 58496))
24478;;; Generated autoloads from gnus/sieve.el 24494;;; Generated autoloads from gnus/sieve.el
24479 24495
24480(autoload 'sieve-manage "sieve" "\ 24496(autoload 'sieve-manage "sieve" "\
@@ -24495,7 +24511,7 @@ Not documented
24495;;;*** 24511;;;***
24496 24512
24497;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el" 24513;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el"
24498;;;;;; (19383 49282)) 24514;;;;;; (19636 58496))
24499;;; Generated autoloads from gnus/sieve-mode.el 24515;;; Generated autoloads from gnus/sieve-mode.el
24500 24516
24501(autoload 'sieve-mode "sieve-mode" "\ 24517(autoload 'sieve-mode "sieve-mode" "\
@@ -24510,8 +24526,8 @@ Turning on Sieve mode runs `sieve-mode-hook'.
24510 24526
24511;;;*** 24527;;;***
24512 24528
24513;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (19383 24529;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (19636
24514;;;;;; 49282)) 24530;;;;;; 58496))
24515;;; Generated autoloads from progmodes/simula.el 24531;;; Generated autoloads from progmodes/simula.el
24516 24532
24517(autoload 'simula-mode "simula" "\ 24533(autoload 'simula-mode "simula" "\
@@ -24560,7 +24576,7 @@ with no arguments, if that value is non-nil.
24560;;;*** 24576;;;***
24561 24577
24562;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new 24578;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new
24563;;;;;; define-skeleton) "skeleton" "skeleton.el" (19383 49282)) 24579;;;;;; define-skeleton) "skeleton" "skeleton.el" (19636 58496))
24564;;; Generated autoloads from skeleton.el 24580;;; Generated autoloads from skeleton.el
24565 24581
24566(defvar skeleton-filter-function 'identity "\ 24582(defvar skeleton-filter-function 'identity "\
@@ -24670,7 +24686,7 @@ symmetrical ones, and the same character twice for the others.
24670;;;*** 24686;;;***
24671 24687
24672;;;### (autoloads (smerge-start-session smerge-mode smerge-ediff) 24688;;;### (autoloads (smerge-start-session smerge-mode smerge-ediff)
24673;;;;;; "smerge-mode" "smerge-mode.el" (19383 49282)) 24689;;;;;; "smerge-mode" "smerge-mode.el" (19636 58496))
24674;;; Generated autoloads from smerge-mode.el 24690;;; Generated autoloads from smerge-mode.el
24675 24691
24676(autoload 'smerge-ediff "smerge-mode" "\ 24692(autoload 'smerge-ediff "smerge-mode" "\
@@ -24695,7 +24711,7 @@ If no conflict maker is found, turn off `smerge-mode'.
24695;;;*** 24711;;;***
24696 24712
24697;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el" 24713;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el"
24698;;;;;; (19383 49285)) 24714;;;;;; (19636 58496))
24699;;; Generated autoloads from gnus/smiley.el 24715;;; Generated autoloads from gnus/smiley.el
24700 24716
24701(autoload 'smiley-region "smiley" "\ 24717(autoload 'smiley-region "smiley" "\
@@ -24713,7 +24729,7 @@ interactively. If there's no argument, do it at the current buffer.
24713;;;*** 24729;;;***
24714 24730
24715;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail" 24731;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail"
24716;;;;;; "mail/smtpmail.el" (19383 49282)) 24732;;;;;; "mail/smtpmail.el" (19636 58496))
24717;;; Generated autoloads from mail/smtpmail.el 24733;;; Generated autoloads from mail/smtpmail.el
24718 24734
24719(autoload 'smtpmail-send-it "smtpmail" "\ 24735(autoload 'smtpmail-send-it "smtpmail" "\
@@ -24728,7 +24744,7 @@ Send mail that was queued as a result of setting `smtpmail-queue-mail'.
24728 24744
24729;;;*** 24745;;;***
24730 24746
24731;;;### (autoloads (snake) "snake" "play/snake.el" (19383 49282)) 24747;;;### (autoloads (snake) "snake" "play/snake.el" (19636 58496))
24732;;; Generated autoloads from play/snake.el 24748;;; Generated autoloads from play/snake.el
24733 24749
24734(autoload 'snake "snake" "\ 24750(autoload 'snake "snake" "\
@@ -24752,7 +24768,7 @@ Snake mode keybindings:
24752;;;*** 24768;;;***
24753 24769
24754;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el" 24770;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el"
24755;;;;;; (19383 49282)) 24771;;;;;; (19636 58496))
24756;;; Generated autoloads from net/snmp-mode.el 24772;;; Generated autoloads from net/snmp-mode.el
24757 24773
24758(autoload 'snmp-mode "snmp-mode" "\ 24774(autoload 'snmp-mode "snmp-mode" "\
@@ -24781,8 +24797,8 @@ then `snmpv2-mode-hook'.
24781 24797
24782;;;*** 24798;;;***
24783 24799
24784;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (19383 24800;;;### (autoloads (sunrise-sunset) "solar" "calendar/solar.el" (19636
24785;;;;;; 49282)) 24801;;;;;; 58496))
24786;;; Generated autoloads from calendar/solar.el 24802;;; Generated autoloads from calendar/solar.el
24787 24803
24788(autoload 'sunrise-sunset "solar" "\ 24804(autoload 'sunrise-sunset "solar" "\
@@ -24797,8 +24813,8 @@ This function is suitable for execution in a .emacs file.
24797 24813
24798;;;*** 24814;;;***
24799 24815
24800;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (19383 24816;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (19636
24801;;;;;; 49282)) 24817;;;;;; 58496))
24802;;; Generated autoloads from play/solitaire.el 24818;;; Generated autoloads from play/solitaire.el
24803 24819
24804(autoload 'solitaire "solitaire" "\ 24820(autoload 'solitaire "solitaire" "\
@@ -24875,7 +24891,7 @@ Pick your favourite shortcuts:
24875 24891
24876;;;### (autoloads (reverse-region sort-columns sort-regexp-fields 24892;;;### (autoloads (reverse-region sort-columns sort-regexp-fields
24877;;;;;; sort-fields sort-numeric-fields sort-pages sort-paragraphs 24893;;;;;; sort-fields sort-numeric-fields sort-pages sort-paragraphs
24878;;;;;; sort-lines sort-subr) "sort" "sort.el" (19383 49282)) 24894;;;;;; sort-lines sort-subr) "sort" "sort.el" (19636 58496))
24879;;; Generated autoloads from sort.el 24895;;; Generated autoloads from sort.el
24880(put 'sort-fold-case 'safe-local-variable 'booleanp) 24896(put 'sort-fold-case 'safe-local-variable 'booleanp)
24881 24897
@@ -25019,8 +25035,8 @@ From a program takes two point or marker arguments, BEG and END.
25019 25035
25020;;;*** 25036;;;***
25021 25037
25022;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (19383 25038;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (19636
25023;;;;;; 49282)) 25039;;;;;; 58496))
25024;;; Generated autoloads from gnus/spam.el 25040;;; Generated autoloads from gnus/spam.el
25025 25041
25026(autoload 'spam-initialize "spam" "\ 25042(autoload 'spam-initialize "spam" "\
@@ -25036,7 +25052,7 @@ installed through `spam-necessary-extra-headers'.
25036 25052
25037;;;### (autoloads (spam-report-deagentize spam-report-agentize spam-report-url-to-file 25053;;;### (autoloads (spam-report-deagentize spam-report-agentize spam-report-url-to-file
25038;;;;;; spam-report-url-ping-mm-url spam-report-process-queue) "spam-report" 25054;;;;;; spam-report-url-ping-mm-url spam-report-process-queue) "spam-report"
25039;;;;;; "gnus/spam-report.el" (19383 49282)) 25055;;;;;; "gnus/spam-report.el" (19636 58496))
25040;;; Generated autoloads from gnus/spam-report.el 25056;;; Generated autoloads from gnus/spam-report.el
25041 25057
25042(autoload 'spam-report-process-queue "spam-report" "\ 25058(autoload 'spam-report-process-queue "spam-report" "\
@@ -25079,7 +25095,7 @@ Spam reports will be queued with the method used when
25079;;;*** 25095;;;***
25080 25096
25081;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar" 25097;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar"
25082;;;;;; "speedbar.el" (19383 49282)) 25098;;;;;; "speedbar.el" (19658 61388))
25083;;; Generated autoloads from speedbar.el 25099;;; Generated autoloads from speedbar.el
25084 25100
25085(defalias 'speedbar 'speedbar-frame-mode) 25101(defalias 'speedbar 'speedbar-frame-mode)
@@ -25104,7 +25120,7 @@ selected. If the speedbar frame is active, then select the attached frame.
25104;;;*** 25120;;;***
25105 25121
25106;;;### (autoloads (spell-string spell-region spell-word spell-buffer) 25122;;;### (autoloads (spell-string spell-region spell-word spell-buffer)
25107;;;;;; "spell" "textmodes/spell.el" (19383 49282)) 25123;;;;;; "spell" "textmodes/spell.el" (19636 58496))
25108;;; Generated autoloads from textmodes/spell.el 25124;;; Generated autoloads from textmodes/spell.el
25109 25125
25110(put 'spell-filter 'risky-local-variable t) 25126(put 'spell-filter 'risky-local-variable t)
@@ -25148,8 +25164,8 @@ Check spelling of string supplied as argument.
25148 25164
25149;;;*** 25165;;;***
25150 25166
25151;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (19383 25167;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (19636
25152;;;;;; 49282)) 25168;;;;;; 58496))
25153;;; Generated autoloads from play/spook.el 25169;;; Generated autoloads from play/spook.el
25154 25170
25155(autoload 'spook "spook" "\ 25171(autoload 'spook "spook" "\
@@ -25167,8 +25183,8 @@ Return a vector containing the lines from `spook-phrases-file'.
25167;;;### (autoloads (sql-linter sql-db2 sql-interbase sql-postgres 25183;;;### (autoloads (sql-linter sql-db2 sql-interbase sql-postgres
25168;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix 25184;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix
25169;;;;;; sql-sybase sql-oracle sql-product-interactive sql-mode sql-help 25185;;;;;; sql-sybase sql-oracle sql-product-interactive sql-mode sql-help
25170;;;;;; sql-add-product-keywords) "sql" "progmodes/sql.el" (19412 25186;;;;;; sql-add-product-keywords) "sql" "progmodes/sql.el" (19660
25171;;;;;; 35030)) 25187;;;;;; 57887))
25172;;; Generated autoloads from progmodes/sql.el 25188;;; Generated autoloads from progmodes/sql.el
25173 25189
25174(autoload 'sql-add-product-keywords "sql" "\ 25190(autoload 'sql-add-product-keywords "sql" "\
@@ -25595,7 +25611,7 @@ input. See `sql-interactive-mode'.
25595;;;*** 25611;;;***
25596 25612
25597;;;### (autoloads (srecode-template-mode) "srecode/srt-mode" "cedet/srecode/srt-mode.el" 25613;;;### (autoloads (srecode-template-mode) "srecode/srt-mode" "cedet/srecode/srt-mode.el"
25598;;;;;; (19383 49282)) 25614;;;;;; (19636 58496))
25599;;; Generated autoloads from cedet/srecode/srt-mode.el 25615;;; Generated autoloads from cedet/srecode/srt-mode.el
25600 25616
25601(autoload 'srecode-template-mode "srecode/srt-mode" "\ 25617(autoload 'srecode-template-mode "srecode/srt-mode" "\
@@ -25611,8 +25627,8 @@ Major-mode for writing SRecode macros.
25611;;;;;; strokes-mode strokes-list-strokes strokes-load-user-strokes 25627;;;;;; strokes-mode strokes-list-strokes strokes-load-user-strokes
25612;;;;;; strokes-help strokes-describe-stroke strokes-do-complex-stroke 25628;;;;;; strokes-help strokes-describe-stroke strokes-do-complex-stroke
25613;;;;;; strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke 25629;;;;;; strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke
25614;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (19383 25630;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (19636
25615;;;;;; 49282)) 25631;;;;;; 58496))
25616;;; Generated autoloads from strokes.el 25632;;; Generated autoloads from strokes.el
25617 25633
25618(autoload 'strokes-global-set-stroke "strokes" "\ 25634(autoload 'strokes-global-set-stroke "strokes" "\
@@ -25722,7 +25738,7 @@ Read a complex stroke and insert its glyph into the current buffer.
25722;;;*** 25738;;;***
25723 25739
25724;;;### (autoloads (studlify-buffer studlify-word studlify-region) 25740;;;### (autoloads (studlify-buffer studlify-word studlify-region)
25725;;;;;; "studly" "play/studly.el" (19383 49282)) 25741;;;;;; "studly" "play/studly.el" (19636 58496))
25726;;; Generated autoloads from play/studly.el 25742;;; Generated autoloads from play/studly.el
25727 25743
25728(autoload 'studlify-region "studly" "\ 25744(autoload 'studlify-region "studly" "\
@@ -25743,7 +25759,7 @@ Studlify-case the current buffer.
25743;;;*** 25759;;;***
25744 25760
25745;;;### (autoloads (global-subword-mode subword-mode) "subword" "progmodes/subword.el" 25761;;;### (autoloads (global-subword-mode subword-mode) "subword" "progmodes/subword.el"
25746;;;;;; (19383 49282)) 25762;;;;;; (19636 58496))
25747;;; Generated autoloads from progmodes/subword.el 25763;;; Generated autoloads from progmodes/subword.el
25748 25764
25749(autoload 'subword-mode "subword" "\ 25765(autoload 'subword-mode "subword" "\
@@ -25791,7 +25807,7 @@ See `subword-mode' for more information on Subword mode.
25791;;;*** 25807;;;***
25792 25808
25793;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el" 25809;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el"
25794;;;;;; (19383 49282)) 25810;;;;;; (19636 58496))
25795;;; Generated autoloads from mail/supercite.el 25811;;; Generated autoloads from mail/supercite.el
25796 25812
25797(autoload 'sc-cite-original "supercite" "\ 25813(autoload 'sc-cite-original "supercite" "\
@@ -25823,8 +25839,8 @@ and `sc-post-hook' is run after the guts of this function.
25823 25839
25824;;;*** 25840;;;***
25825 25841
25826;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (19383 25842;;;### (autoloads (gpm-mouse-mode) "t-mouse" "t-mouse.el" (19636
25827;;;;;; 49282)) 25843;;;;;; 58496))
25828;;; Generated autoloads from t-mouse.el 25844;;; Generated autoloads from t-mouse.el
25829 25845
25830(define-obsolete-function-alias 't-mouse-mode 'gpm-mouse-mode "23.1") 25846(define-obsolete-function-alias 't-mouse-mode 'gpm-mouse-mode "23.1")
@@ -25851,7 +25867,7 @@ It relies on the `gpm' daemon being activated.
25851 25867
25852;;;*** 25868;;;***
25853 25869
25854;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (19383 49282)) 25870;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (19636 58496))
25855;;; Generated autoloads from tabify.el 25871;;; Generated autoloads from tabify.el
25856 25872
25857(autoload 'untabify "tabify" "\ 25873(autoload 'untabify "tabify" "\
@@ -25886,7 +25902,7 @@ The variable `tab-width' controls the spacing of tab stops.
25886;;;;;; table-recognize table-insert-row-column table-insert-column 25902;;;;;; table-recognize table-insert-row-column table-insert-column
25887;;;;;; table-insert-row table-insert table-point-left-cell-hook 25903;;;;;; table-insert-row table-insert table-point-left-cell-hook
25888;;;;;; table-point-entered-cell-hook table-load-hook table-cell-map-hook) 25904;;;;;; table-point-entered-cell-hook table-load-hook table-cell-map-hook)
25889;;;;;; "table" "textmodes/table.el" (19383 49282)) 25905;;;;;; "table" "textmodes/table.el" (19636 58496))
25890;;; Generated autoloads from textmodes/table.el 25906;;; Generated autoloads from textmodes/table.el
25891 25907
25892(defvar table-cell-map-hook nil "\ 25908(defvar table-cell-map-hook nil "\
@@ -26474,7 +26490,7 @@ converts a table into plain text without frames. It is a companion to
26474 26490
26475;;;*** 26491;;;***
26476 26492
26477;;;### (autoloads (talk talk-connect) "talk" "talk.el" (19383 49282)) 26493;;;### (autoloads (talk talk-connect) "talk" "talk.el" (19636 58496))
26478;;; Generated autoloads from talk.el 26494;;; Generated autoloads from talk.el
26479 26495
26480(autoload 'talk-connect "talk" "\ 26496(autoload 'talk-connect "talk" "\
@@ -26489,7 +26505,7 @@ Connect to the Emacs talk group from the current X display or tty frame.
26489 26505
26490;;;*** 26506;;;***
26491 26507
26492;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (19383 49282)) 26508;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (19636 58496))
26493;;; Generated autoloads from tar-mode.el 26509;;; Generated autoloads from tar-mode.el
26494 26510
26495(autoload 'tar-mode "tar-mode" "\ 26511(autoload 'tar-mode "tar-mode" "\
@@ -26513,7 +26529,7 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'.
26513;;;*** 26529;;;***
26514 26530
26515;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl" 26531;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl"
26516;;;;;; "progmodes/tcl.el" (19383 49282)) 26532;;;;;; "progmodes/tcl.el" (19636 58496))
26517;;; Generated autoloads from progmodes/tcl.el 26533;;; Generated autoloads from progmodes/tcl.el
26518 26534
26519(autoload 'tcl-mode "tcl" "\ 26535(autoload 'tcl-mode "tcl" "\
@@ -26564,7 +26580,7 @@ Prefix argument means invert sense of `tcl-use-smart-word-finder'.
26564 26580
26565;;;*** 26581;;;***
26566 26582
26567;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (19383 49282)) 26583;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (19636 58496))
26568;;; Generated autoloads from net/telnet.el 26584;;; Generated autoloads from net/telnet.el
26569 (add-hook 'same-window-regexps (purecopy "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)")) 26585 (add-hook 'same-window-regexps (purecopy "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)"))
26570 26586
@@ -26592,7 +26608,7 @@ Normally input is edited in Emacs and sent a line at a time.
26592;;;*** 26608;;;***
26593 26609
26594;;;### (autoloads (serial-term ansi-term term make-term) "term" "term.el" 26610;;;### (autoloads (serial-term ansi-term term make-term) "term" "term.el"
26595;;;;;; (19383 49282)) 26611;;;;;; (19636 58496))
26596;;; Generated autoloads from term.el 26612;;; Generated autoloads from term.el
26597 26613
26598(autoload 'make-term "term" "\ 26614(autoload 'make-term "term" "\
@@ -26634,8 +26650,8 @@ use in that buffer.
26634 26650
26635;;;*** 26651;;;***
26636 26652
26637;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (19383 26653;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (19636
26638;;;;;; 49282)) 26654;;;;;; 58496))
26639;;; Generated autoloads from terminal.el 26655;;; Generated autoloads from terminal.el
26640 26656
26641(autoload 'terminal-emulator "terminal" "\ 26657(autoload 'terminal-emulator "terminal" "\
@@ -26672,7 +26688,7 @@ subprocess started.
26672;;;*** 26688;;;***
26673 26689
26674;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el" 26690;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el"
26675;;;;;; (19383 49282)) 26691;;;;;; (19636 58496))
26676;;; Generated autoloads from emacs-lisp/testcover.el 26692;;; Generated autoloads from emacs-lisp/testcover.el
26677 26693
26678(autoload 'testcover-this-defun "testcover" "\ 26694(autoload 'testcover-this-defun "testcover" "\
@@ -26682,7 +26698,7 @@ Start coverage on function under point.
26682 26698
26683;;;*** 26699;;;***
26684 26700
26685;;;### (autoloads (tetris) "tetris" "play/tetris.el" (19383 49282)) 26701;;;### (autoloads (tetris) "tetris" "play/tetris.el" (19636 58496))
26686;;; Generated autoloads from play/tetris.el 26702;;; Generated autoloads from play/tetris.el
26687 26703
26688(autoload 'tetris "tetris" "\ 26704(autoload 'tetris "tetris" "\
@@ -26713,7 +26729,7 @@ tetris-mode keybindings:
26713;;;;;; tex-start-commands tex-start-options slitex-run-command latex-run-command 26729;;;;;; tex-start-commands tex-start-options slitex-run-command latex-run-command
26714;;;;;; tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp 26730;;;;;; tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp
26715;;;;;; tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el" 26731;;;;;; tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el"
26716;;;;;; (19387 22082)) 26732;;;;;; (19636 58496))
26717;;; Generated autoloads from textmodes/tex-mode.el 26733;;; Generated autoloads from textmodes/tex-mode.el
26718 26734
26719(defvar tex-shell-file-name nil "\ 26735(defvar tex-shell-file-name nil "\
@@ -27015,7 +27031,7 @@ Major mode to edit DocTeX files.
27015;;;*** 27031;;;***
27016 27032
27017;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer) 27033;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer)
27018;;;;;; "texinfmt" "textmodes/texinfmt.el" (19383 49282)) 27034;;;;;; "texinfmt" "textmodes/texinfmt.el" (19636 58496))
27019;;; Generated autoloads from textmodes/texinfmt.el 27035;;; Generated autoloads from textmodes/texinfmt.el
27020 27036
27021(autoload 'texinfo-format-buffer "texinfmt" "\ 27037(autoload 'texinfo-format-buffer "texinfmt" "\
@@ -27055,7 +27071,7 @@ if large. You can use `Info-split' to do this manually.
27055;;;*** 27071;;;***
27056 27072
27057;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote) 27073;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote)
27058;;;;;; "texinfo" "textmodes/texinfo.el" (19383 49282)) 27074;;;;;; "texinfo" "textmodes/texinfo.el" (19636 58496))
27059;;; Generated autoloads from textmodes/texinfo.el 27075;;; Generated autoloads from textmodes/texinfo.el
27060 27076
27061(defvar texinfo-open-quote (purecopy "``") "\ 27077(defvar texinfo-open-quote (purecopy "``") "\
@@ -27141,7 +27157,7 @@ value of `texinfo-mode-hook'.
27141 27157
27142;;;### (autoloads (thai-composition-function thai-compose-buffer 27158;;;### (autoloads (thai-composition-function thai-compose-buffer
27143;;;;;; thai-compose-string thai-compose-region) "thai-util" "language/thai-util.el" 27159;;;;;; thai-compose-string thai-compose-region) "thai-util" "language/thai-util.el"
27144;;;;;; (19383 49282)) 27160;;;;;; (19636 58496))
27145;;; Generated autoloads from language/thai-util.el 27161;;; Generated autoloads from language/thai-util.el
27146 27162
27147(autoload 'thai-compose-region "thai-util" "\ 27163(autoload 'thai-compose-region "thai-util" "\
@@ -27170,7 +27186,7 @@ Not documented
27170 27186
27171;;;### (autoloads (list-at-point number-at-point symbol-at-point 27187;;;### (autoloads (list-at-point number-at-point symbol-at-point
27172;;;;;; sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing) 27188;;;;;; sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing)
27173;;;;;; "thingatpt" "thingatpt.el" (19383 49282)) 27189;;;;;; "thingatpt" "thingatpt.el" (19636 58496))
27174;;; Generated autoloads from thingatpt.el 27190;;; Generated autoloads from thingatpt.el
27175 27191
27176(autoload 'forward-thing "thingatpt" "\ 27192(autoload 'forward-thing "thingatpt" "\
@@ -27227,7 +27243,7 @@ Return the Lisp list at point, or nil if none is found.
27227 27243
27228;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show thumbs-dired-show-marked 27244;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show thumbs-dired-show-marked
27229;;;;;; thumbs-show-from-dir thumbs-find-thumb) "thumbs" "thumbs.el" 27245;;;;;; thumbs-show-from-dir thumbs-find-thumb) "thumbs" "thumbs.el"
27230;;;;;; (19383 49282)) 27246;;;;;; (19636 58496))
27231;;; Generated autoloads from thumbs.el 27247;;; Generated autoloads from thumbs.el
27232 27248
27233(autoload 'thumbs-find-thumb "thumbs" "\ 27249(autoload 'thumbs-find-thumb "thumbs" "\
@@ -27265,8 +27281,8 @@ In dired, call the setroot program on the image at point.
27265;;;;;; tibetan-post-read-conversion tibetan-compose-buffer tibetan-decompose-buffer 27281;;;;;; tibetan-post-read-conversion tibetan-compose-buffer tibetan-decompose-buffer
27266;;;;;; tibetan-decompose-string tibetan-decompose-region tibetan-compose-region 27282;;;;;; tibetan-decompose-string tibetan-decompose-region tibetan-compose-region
27267;;;;;; tibetan-compose-string tibetan-transcription-to-tibetan tibetan-tibetan-to-transcription 27283;;;;;; tibetan-compose-string tibetan-transcription-to-tibetan tibetan-tibetan-to-transcription
27268;;;;;; tibetan-char-p) "tibet-util" "language/tibet-util.el" (19383 27284;;;;;; tibetan-char-p) "tibet-util" "language/tibet-util.el" (19636
27269;;;;;; 49282)) 27285;;;;;; 58496))
27270;;; Generated autoloads from language/tibet-util.el 27286;;; Generated autoloads from language/tibet-util.el
27271 27287
27272(autoload 'tibetan-char-p "tibet-util" "\ 27288(autoload 'tibetan-char-p "tibet-util" "\
@@ -27340,7 +27356,7 @@ Not documented
27340;;;*** 27356;;;***
27341 27357
27342;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el" 27358;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el"
27343;;;;;; (19383 49282)) 27359;;;;;; (19636 58496))
27344;;; Generated autoloads from textmodes/tildify.el 27360;;; Generated autoloads from textmodes/tildify.el
27345 27361
27346(autoload 'tildify-region "tildify" "\ 27362(autoload 'tildify-region "tildify" "\
@@ -27365,11 +27381,11 @@ This function performs no refilling of the changed text.
27365 27381
27366;;;### (autoloads (emacs-init-time emacs-uptime display-time-world 27382;;;### (autoloads (emacs-init-time emacs-uptime display-time-world
27367;;;;;; display-time-mode display-time display-time-day-and-date) 27383;;;;;; display-time-mode display-time display-time-day-and-date)
27368;;;;;; "time" "time.el" (19383 49282)) 27384;;;;;; "time" "time.el" (19636 58496))
27369;;; Generated autoloads from time.el 27385;;; Generated autoloads from time.el
27370 27386
27371(defvar display-time-day-and-date nil "\ 27387(defvar display-time-day-and-date nil "\
27372*Non-nil means \\[display-time] should display day and date as well as time.") 27388Non-nil means \\[display-time] should display day and date as well as time.")
27373 27389
27374(custom-autoload 'display-time-day-and-date "time" t) 27390(custom-autoload 'display-time-day-and-date "time" t)
27375(put 'display-time-string 'risky-local-variable t) 27391(put 'display-time-string 'risky-local-variable t)
@@ -27428,7 +27444,7 @@ Return a string giving the duration of the Emacs initialization.
27428;;;;;; time-to-day-in-year date-leap-year-p days-between date-to-day 27444;;;;;; time-to-day-in-year date-leap-year-p days-between date-to-day
27429;;;;;; time-add time-subtract time-since days-to-time time-less-p 27445;;;;;; time-add time-subtract time-since days-to-time time-less-p
27430;;;;;; seconds-to-time date-to-time) "time-date" "calendar/time-date.el" 27446;;;;;; seconds-to-time date-to-time) "time-date" "calendar/time-date.el"
27431;;;;;; (19383 49282)) 27447;;;;;; (19636 58496))
27432;;; Generated autoloads from calendar/time-date.el 27448;;; Generated autoloads from calendar/time-date.el
27433 27449
27434(autoload 'date-to-time "time-date" "\ 27450(autoload 'date-to-time "time-date" "\
@@ -27541,7 +27557,7 @@ This function does not work for SECONDS greater than `most-positive-fixnum'.
27541;;;*** 27557;;;***
27542 27558
27543;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp" 27559;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp"
27544;;;;;; "time-stamp.el" (19383 49282)) 27560;;;;;; "time-stamp.el" (19636 58496))
27545;;; Generated autoloads from time-stamp.el 27561;;; Generated autoloads from time-stamp.el
27546(put 'time-stamp-format 'safe-local-variable 'stringp) 27562(put 'time-stamp-format 'safe-local-variable 'stringp)
27547(put 'time-stamp-time-zone 'safe-local-variable 'string-or-null-p) 27563(put 'time-stamp-time-zone 'safe-local-variable 'string-or-null-p)
@@ -27585,7 +27601,7 @@ With ARG, turn time stamping on if and only if arg is positive.
27585;;;;;; timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out 27601;;;;;; timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out
27586;;;;;; timeclock-change timeclock-status-string timeclock-out timeclock-in 27602;;;;;; timeclock-change timeclock-status-string timeclock-out timeclock-in
27587;;;;;; timeclock-modeline-display) "timeclock" "calendar/timeclock.el" 27603;;;;;; timeclock-modeline-display) "timeclock" "calendar/timeclock.el"
27588;;;;;; (19383 49282)) 27604;;;;;; (19636 58496))
27589;;; Generated autoloads from calendar/timeclock.el 27605;;; Generated autoloads from calendar/timeclock.el
27590 27606
27591(autoload 'timeclock-modeline-display "timeclock" "\ 27607(autoload 'timeclock-modeline-display "timeclock" "\
@@ -27685,7 +27701,7 @@ relative only to the time worked today, and not to past time.
27685;;;*** 27701;;;***
27686 27702
27687;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv" 27703;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv"
27688;;;;;; "international/titdic-cnv.el" (19383 49282)) 27704;;;;;; "international/titdic-cnv.el" (19641 1152))
27689;;; Generated autoloads from international/titdic-cnv.el 27705;;; Generated autoloads from international/titdic-cnv.el
27690 27706
27691(autoload 'titdic-convert "titdic-cnv" "\ 27707(autoload 'titdic-convert "titdic-cnv" "\
@@ -27708,7 +27724,7 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\".
27708;;;*** 27724;;;***
27709 27725
27710;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm" 27726;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm"
27711;;;;;; "tmm.el" (19383 49284)) 27727;;;;;; "tmm.el" (19636 58496))
27712;;; Generated autoloads from tmm.el 27728;;; Generated autoloads from tmm.el
27713 (define-key global-map "\M-`" 'tmm-menubar) 27729 (define-key global-map "\M-`" 'tmm-menubar)
27714 (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse) 27730 (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse)
@@ -27748,7 +27764,7 @@ Its value should be an event that has a binding in MENU.
27748 27764
27749;;;### (autoloads (todo-show todo-cp todo-mode todo-print todo-top-priorities 27765;;;### (autoloads (todo-show todo-cp todo-mode todo-print todo-top-priorities
27750;;;;;; todo-insert-item todo-add-item-non-interactively todo-add-category) 27766;;;;;; todo-insert-item todo-add-item-non-interactively todo-add-category)
27751;;;;;; "todo-mode" "calendar/todo-mode.el" (19383 49282)) 27767;;;;;; "todo-mode" "calendar/todo-mode.el" (19636 58496))
27752;;; Generated autoloads from calendar/todo-mode.el 27768;;; Generated autoloads from calendar/todo-mode.el
27753 27769
27754(autoload 'todo-add-category "todo-mode" "\ 27770(autoload 'todo-add-category "todo-mode" "\
@@ -27810,7 +27826,7 @@ Show TODO list.
27810 27826
27811;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu 27827;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu
27812;;;;;; tool-bar-local-item tool-bar-add-item toggle-tool-bar-mode-from-frame) 27828;;;;;; tool-bar-local-item tool-bar-add-item toggle-tool-bar-mode-from-frame)
27813;;;;;; "tool-bar" "tool-bar.el" (19383 49282)) 27829;;;;;; "tool-bar" "tool-bar.el" (19636 58496))
27814;;; Generated autoloads from tool-bar.el 27830;;; Generated autoloads from tool-bar.el
27815 27831
27816(autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\ 27832(autoload 'toggle-tool-bar-mode-from-frame "tool-bar" "\
@@ -27883,7 +27899,7 @@ holds a keymap.
27883;;;*** 27899;;;***
27884 27900
27885;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el" 27901;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el"
27886;;;;;; (19383 49282)) 27902;;;;;; (19636 58496))
27887;;; Generated autoloads from emulation/tpu-edt.el 27903;;; Generated autoloads from emulation/tpu-edt.el
27888 27904
27889(defvar tpu-edt-mode nil "\ 27905(defvar tpu-edt-mode nil "\
@@ -27910,7 +27926,7 @@ Turn on TPU/edt emulation.
27910;;;*** 27926;;;***
27911 27927
27912;;;### (autoloads (tpu-mapper) "tpu-mapper" "emulation/tpu-mapper.el" 27928;;;### (autoloads (tpu-mapper) "tpu-mapper" "emulation/tpu-mapper.el"
27913;;;;;; (19383 49282)) 27929;;;;;; (19636 58496))
27914;;; Generated autoloads from emulation/tpu-mapper.el 27930;;; Generated autoloads from emulation/tpu-mapper.el
27915 27931
27916(autoload 'tpu-mapper "tpu-mapper" "\ 27932(autoload 'tpu-mapper "tpu-mapper" "\
@@ -27944,7 +27960,7 @@ your local X guru can try to figure out why the key is being ignored.
27944 27960
27945;;;*** 27961;;;***
27946 27962
27947;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (19383 49282)) 27963;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (19636 58496))
27948;;; Generated autoloads from emacs-lisp/tq.el 27964;;; Generated autoloads from emacs-lisp/tq.el
27949 27965
27950(autoload 'tq-create "tq" "\ 27966(autoload 'tq-create "tq" "\
@@ -27958,7 +27974,7 @@ to a tcp server on another machine.
27958;;;*** 27974;;;***
27959 27975
27960;;;### (autoloads (trace-function-background trace-function trace-buffer) 27976;;;### (autoloads (trace-function-background trace-function trace-buffer)
27961;;;;;; "trace" "emacs-lisp/trace.el" (19383 49285)) 27977;;;;;; "trace" "emacs-lisp/trace.el" (19636 58496))
27962;;; Generated autoloads from emacs-lisp/trace.el 27978;;; Generated autoloads from emacs-lisp/trace.el
27963 27979
27964(defvar trace-buffer (purecopy "*trace-output*") "\ 27980(defvar trace-buffer (purecopy "*trace-output*") "\
@@ -27995,7 +28011,7 @@ BUFFER defaults to `trace-buffer'.
27995;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion 28011;;;### (autoloads (tramp-unload-tramp tramp-completion-handle-file-name-completion
27996;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers 28012;;;;;; tramp-completion-handle-file-name-all-completions tramp-unload-file-name-handlers
27997;;;;;; tramp-file-name-handler tramp-syntax tramp-mode) "tramp" 28013;;;;;; tramp-file-name-handler tramp-syntax tramp-mode) "tramp"
27998;;;;;; "net/tramp.el" (19383 49278)) 28014;;;;;; "net/tramp.el" (19672 43471))
27999;;; Generated autoloads from net/tramp.el 28015;;; Generated autoloads from net/tramp.el
28000 28016
28001(defvar tramp-mode t "\ 28017(defvar tramp-mode t "\
@@ -28015,10 +28031,12 @@ It can have the following values:
28015 28031
28016(custom-autoload 'tramp-syntax "tramp" t) 28032(custom-autoload 'tramp-syntax "tramp" t)
28017 28033
28018(defconst tramp-file-name-regexp-unified "\\`/\\([^[/:]+\\|[^/]+]\\):" "\ 28034(defconst tramp-file-name-regexp-unified (if (memq system-type '(cygwin windows-nt)) "\\`/\\([^[/:]\\{2,\\}\\|[^/]\\{2,\\}]\\):" "\\`/\\([^[/:]+\\|[^/]+]\\):") "\
28019Value for `tramp-file-name-regexp' for unified remoting. 28035Value for `tramp-file-name-regexp' for unified remoting.
28020Emacs (not XEmacs) uses a unified filename syntax for Ange-FTP and 28036Emacs (not XEmacs) uses a unified filename syntax for Ange-FTP and
28021Tramp. See `tramp-file-name-structure' for more explanations.") 28037Tramp. See `tramp-file-name-structure' for more explanations.
28038
28039On W32 systems, the volume letter must be ignored.")
28022 28040
28023(defconst tramp-file-name-regexp-separate "\\`/\\[.*\\]" "\ 28041(defconst tramp-file-name-regexp-separate "\\`/\\[.*\\]" "\
28024Value for `tramp-file-name-regexp' for separate remoting. 28042Value for `tramp-file-name-regexp' for separate remoting.
@@ -28032,7 +28050,7 @@ See `tramp-file-name-structure' for more explanations.")
28032(defconst tramp-file-name-regexp (cond ((equal tramp-syntax 'ftp) tramp-file-name-regexp-unified) ((equal tramp-syntax 'sep) tramp-file-name-regexp-separate) ((equal tramp-syntax 'url) tramp-file-name-regexp-url) (t (error "Wrong `tramp-syntax' defined"))) "\ 28050(defconst tramp-file-name-regexp (cond ((equal tramp-syntax 'ftp) tramp-file-name-regexp-unified) ((equal tramp-syntax 'sep) tramp-file-name-regexp-separate) ((equal tramp-syntax 'url) tramp-file-name-regexp-url) (t (error "Wrong `tramp-syntax' defined"))) "\
28033*Regular expression matching file names handled by Tramp. 28051*Regular expression matching file names handled by Tramp.
28034This regexp should match Tramp file names but no other file names. 28052This regexp should match Tramp file names but no other file names.
28035\(When tramp.el is loaded, this regular expression is prepended to 28053When tramp.el is loaded, this regular expression is prepended to
28036`file-name-handler-alist', and that is searched sequentially. Thus, 28054`file-name-handler-alist', and that is searched sequentially. Thus,
28037if the Tramp entry appears rather early in the `file-name-handler-alist' 28055if the Tramp entry appears rather early in the `file-name-handler-alist'
28038and is a bit too general, then some files might be considered Tramp 28056and is a bit too general, then some files might be considered Tramp
@@ -28050,10 +28068,12 @@ Beginning of an incomplete Tramp file name.
28050Usually, it is just \"\\\\`/\". On W32 systems, there might be a 28068Usually, it is just \"\\\\`/\". On W32 systems, there might be a
28051volume letter, which will be removed by `tramp-drop-volume-letter'.") 28069volume letter, which will be removed by `tramp-drop-volume-letter'.")
28052 28070
28053(defconst tramp-completion-file-name-regexp-unified (concat tramp-root-regexp "[^/]*\\'") "\ 28071(defconst tramp-completion-file-name-regexp-unified (if (memq system-type '(cygwin windows-nt)) (concat tramp-root-regexp "[^/]\\{2,\\}\\'") (concat tramp-root-regexp "[^/]*\\'")) "\
28054Value for `tramp-completion-file-name-regexp' for unified remoting. 28072Value for `tramp-completion-file-name-regexp' for unified remoting.
28055GNU Emacs uses a unified filename syntax for Tramp and Ange-FTP. 28073GNU Emacs uses a unified filename syntax for Tramp and Ange-FTP.
28056See `tramp-file-name-structure' for more explanations.") 28074See `tramp-file-name-structure' for more explanations.
28075
28076On W32 systems, the volume letter must be ignored.")
28057 28077
28058(defconst tramp-completion-file-name-regexp-separate (concat tramp-root-regexp "\\([[][^]]*\\)?\\'") "\ 28078(defconst tramp-completion-file-name-regexp-separate (concat tramp-root-regexp "\\([[][^]]*\\)?\\'") "\
28059Value for `tramp-completion-file-name-regexp' for separate remoting. 28079Value for `tramp-completion-file-name-regexp' for separate remoting.
@@ -28099,7 +28119,7 @@ Falls back to normal file name handler if no Tramp file name handler exists.
28099 28119
28100(defun tramp-completion-file-name-handler (operation &rest args) "\ 28120(defun tramp-completion-file-name-handler (operation &rest args) "\
28101Invoke Tramp file name completion handler. 28121Invoke Tramp file name completion handler.
28102Falls back to normal file name handler if no Tramp file name handler exists." (let ((directory-sep-char 47) (fn (assoc operation tramp-completion-file-name-handler-alist))) (if (and fn tramp-mode (or (eq tramp-syntax (quote sep)) (featurep (quote tramp)) (and (boundp (quote partial-completion-mode)) partial-completion-mode) (featurep (quote ido)) (featurep (quote icicles)))) (save-match-data (apply (cdr fn) args)) (tramp-completion-run-real-handler operation args)))) 28122Falls back to normal file name handler if no Tramp file name handler exists." (let ((directory-sep-char 47) (fn (assoc operation tramp-completion-file-name-handler-alist))) (if (and fn tramp-mode (or (eq tramp-syntax (quote sep)) (featurep (quote tramp)) (and (boundp (quote partial-completion-mode)) (symbol-value (quote partial-completion-mode))) (featurep (quote ido)) (featurep (quote icicles)))) (save-match-data (apply (cdr fn) args)) (tramp-completion-run-real-handler operation args))))
28103 28123
28104(defun tramp-register-file-name-handlers nil "\ 28124(defun tramp-register-file-name-handlers nil "\
28105Add Tramp file name handlers to `file-name-handler-alist'." (let ((a1 (rassq (quote tramp-file-name-handler) file-name-handler-alist))) (setq file-name-handler-alist (delq a1 file-name-handler-alist))) (let ((a1 (rassq (quote tramp-completion-file-name-handler) file-name-handler-alist))) (setq file-name-handler-alist (delq a1 file-name-handler-alist))) (add-to-list (quote file-name-handler-alist) (cons tramp-file-name-regexp (quote tramp-file-name-handler))) (put (quote tramp-file-name-handler) (quote safe-magic) t) (add-to-list (quote file-name-handler-alist) (cons tramp-completion-file-name-regexp (quote tramp-completion-file-name-handler))) (put (quote tramp-completion-file-name-handler) (quote safe-magic) t) (dolist (fnh (quote (epa-file-handler jka-compr-handler))) (let ((entry (rassoc fnh file-name-handler-alist))) (when entry (setq file-name-handler-alist (cons entry (delete entry file-name-handler-alist))))))) 28125Add Tramp file name handlers to `file-name-handler-alist'." (let ((a1 (rassq (quote tramp-file-name-handler) file-name-handler-alist))) (setq file-name-handler-alist (delq a1 file-name-handler-alist))) (let ((a1 (rassq (quote tramp-completion-file-name-handler) file-name-handler-alist))) (setq file-name-handler-alist (delq a1 file-name-handler-alist))) (add-to-list (quote file-name-handler-alist) (cons tramp-file-name-regexp (quote tramp-file-name-handler))) (put (quote tramp-file-name-handler) (quote safe-magic) t) (add-to-list (quote file-name-handler-alist) (cons tramp-completion-file-name-regexp (quote tramp-completion-file-name-handler))) (put (quote tramp-completion-file-name-handler) (quote safe-magic) t) (dolist (fnh (quote (epa-file-handler jka-compr-handler))) (let ((entry (rassoc fnh file-name-handler-alist))) (when entry (setq file-name-handler-alist (cons entry (delete entry file-name-handler-alist)))))))
@@ -28128,7 +28148,7 @@ Discard Tramp from loading remote files.
28128;;;*** 28148;;;***
28129 28149
28130;;;### (autoloads (tramp-ftp-enable-ange-ftp) "tramp-ftp" "net/tramp-ftp.el" 28150;;;### (autoloads (tramp-ftp-enable-ange-ftp) "tramp-ftp" "net/tramp-ftp.el"
28131;;;;;; (19383 49282)) 28151;;;;;; (19636 58496))
28132;;; Generated autoloads from net/tramp-ftp.el 28152;;; Generated autoloads from net/tramp-ftp.el
28133 28153
28134(autoload 'tramp-ftp-enable-ange-ftp "tramp-ftp" "\ 28154(autoload 'tramp-ftp-enable-ange-ftp "tramp-ftp" "\
@@ -28138,8 +28158,8 @@ Not documented
28138 28158
28139;;;*** 28159;;;***
28140 28160
28141;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (19383 28161;;;### (autoloads (help-with-tutorial) "tutorial" "tutorial.el" (19636
28142;;;;;; 49282)) 28162;;;;;; 58496))
28143;;; Generated autoloads from tutorial.el 28163;;; Generated autoloads from tutorial.el
28144 28164
28145(autoload 'help-with-tutorial "tutorial" "\ 28165(autoload 'help-with-tutorial "tutorial" "\
@@ -28164,7 +28184,7 @@ resumed later.
28164;;;*** 28184;;;***
28165 28185
28166;;;### (autoloads (tai-viet-composition-function) "tv-util" "language/tv-util.el" 28186;;;### (autoloads (tai-viet-composition-function) "tv-util" "language/tv-util.el"
28167;;;;;; (19383 49282)) 28187;;;;;; (19636 58496))
28168;;; Generated autoloads from language/tv-util.el 28188;;; Generated autoloads from language/tv-util.el
28169 28189
28170(autoload 'tai-viet-composition-function "tv-util" "\ 28190(autoload 'tai-viet-composition-function "tv-util" "\
@@ -28175,7 +28195,7 @@ Not documented
28175;;;*** 28195;;;***
28176 28196
28177;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column" 28197;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column"
28178;;;;;; "textmodes/two-column.el" (19383 49282)) 28198;;;;;; "textmodes/two-column.el" (19636 58496))
28179;;; Generated autoloads from textmodes/two-column.el 28199;;; Generated autoloads from textmodes/two-column.el
28180 (autoload '2C-command "two-column" () t 'keymap) 28200 (autoload '2C-command "two-column" () t 'keymap)
28181 (global-set-key "\C-x6" '2C-command) 28201 (global-set-key "\C-x6" '2C-command)
@@ -28226,7 +28246,7 @@ First column's text sSs Second column's text
28226;;;;;; type-break type-break-mode type-break-keystroke-threshold 28246;;;;;; type-break type-break-mode type-break-keystroke-threshold
28227;;;;;; type-break-good-break-interval type-break-good-rest-interval 28247;;;;;; type-break-good-break-interval type-break-good-rest-interval
28228;;;;;; type-break-interval type-break-mode) "type-break" "type-break.el" 28248;;;;;; type-break-interval type-break-mode) "type-break" "type-break.el"
28229;;;;;; (19383 49282)) 28249;;;;;; (19636 58496))
28230;;; Generated autoloads from type-break.el 28250;;; Generated autoloads from type-break.el
28231 28251
28232(defvar type-break-mode nil "\ 28252(defvar type-break-mode nil "\
@@ -28408,7 +28428,7 @@ FRAC should be the inverse of the fractional value; for example, a value of
28408 28428
28409;;;*** 28429;;;***
28410 28430
28411;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (19383 49282)) 28431;;;### (autoloads (uce-reply-to-uce) "uce" "mail/uce.el" (19636 58496))
28412;;; Generated autoloads from mail/uce.el 28432;;; Generated autoloads from mail/uce.el
28413 28433
28414(autoload 'uce-reply-to-uce "uce" "\ 28434(autoload 'uce-reply-to-uce "uce" "\
@@ -28426,7 +28446,7 @@ You might need to set `uce-mail-reader' before using this.
28426;;;;;; ucs-normalize-NFKC-string ucs-normalize-NFKC-region ucs-normalize-NFKD-string 28446;;;;;; ucs-normalize-NFKC-string ucs-normalize-NFKC-region ucs-normalize-NFKD-string
28427;;;;;; ucs-normalize-NFKD-region ucs-normalize-NFC-string ucs-normalize-NFC-region 28447;;;;;; ucs-normalize-NFKD-region ucs-normalize-NFC-string ucs-normalize-NFC-region
28428;;;;;; ucs-normalize-NFD-string ucs-normalize-NFD-region) "ucs-normalize" 28448;;;;;; ucs-normalize-NFD-string ucs-normalize-NFD-region) "ucs-normalize"
28429;;;;;; "international/ucs-normalize.el" (19383 49282)) 28449;;;;;; "international/ucs-normalize.el" (19636 58496))
28430;;; Generated autoloads from international/ucs-normalize.el 28450;;; Generated autoloads from international/ucs-normalize.el
28431 28451
28432(autoload 'ucs-normalize-NFD-region "ucs-normalize" "\ 28452(autoload 'ucs-normalize-NFD-region "ucs-normalize" "\
@@ -28492,7 +28512,7 @@ Normalize the string STR by the Unicode NFC and Mac OS's HFS Plus.
28492;;;*** 28512;;;***
28493 28513
28494;;;### (autoloads (ununderline-region underline-region) "underline" 28514;;;### (autoloads (ununderline-region underline-region) "underline"
28495;;;;;; "textmodes/underline.el" (19383 49282)) 28515;;;;;; "textmodes/underline.el" (19636 58496))
28496;;; Generated autoloads from textmodes/underline.el 28516;;; Generated autoloads from textmodes/underline.el
28497 28517
28498(autoload 'underline-region "underline" "\ 28518(autoload 'underline-region "underline" "\
@@ -28513,7 +28533,7 @@ which specify the range to operate on.
28513;;;*** 28533;;;***
28514 28534
28515;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el" 28535;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el"
28516;;;;;; (19383 49283)) 28536;;;;;; (19636 58496))
28517;;; Generated autoloads from mail/unrmail.el 28537;;; Generated autoloads from mail/unrmail.el
28518 28538
28519(autoload 'batch-unrmail "unrmail" "\ 28539(autoload 'batch-unrmail "unrmail" "\
@@ -28532,8 +28552,8 @@ Convert old-style Rmail Babyl file FILE to system inbox format file TO-FILE.
28532 28552
28533;;;*** 28553;;;***
28534 28554
28535;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (19383 28555;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (19652
28536;;;;;; 49283)) 28556;;;;;; 24589))
28537;;; Generated autoloads from emacs-lisp/unsafep.el 28557;;; Generated autoloads from emacs-lisp/unsafep.el
28538 28558
28539(autoload 'unsafep "unsafep" "\ 28559(autoload 'unsafep "unsafep" "\
@@ -28546,7 +28566,7 @@ UNSAFEP-VARS is a list of symbols with local bindings.
28546;;;*** 28566;;;***
28547 28567
28548;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url" 28568;;;### (autoloads (url-retrieve-synchronously url-retrieve) "url"
28549;;;;;; "url/url.el" (19383 49283)) 28569;;;;;; "url/url.el" (19636 58496))
28550;;; Generated autoloads from url/url.el 28570;;; Generated autoloads from url/url.el
28551 28571
28552(autoload 'url-retrieve "url" "\ 28572(autoload 'url-retrieve "url" "\
@@ -28586,7 +28606,7 @@ no further processing). URL is either a string or a parsed URL.
28586;;;*** 28606;;;***
28587 28607
28588;;;### (autoloads (url-register-auth-scheme url-get-authentication) 28608;;;### (autoloads (url-register-auth-scheme url-get-authentication)
28589;;;;;; "url-auth" "url/url-auth.el" (19383 49283)) 28609;;;;;; "url-auth" "url/url-auth.el" (19636 58496))
28590;;; Generated autoloads from url/url-auth.el 28610;;; Generated autoloads from url/url-auth.el
28591 28611
28592(autoload 'url-get-authentication "url-auth" "\ 28612(autoload 'url-get-authentication "url-auth" "\
@@ -28628,8 +28648,8 @@ RATING a rating between 1 and 10 of the strength of the authentication.
28628;;;*** 28648;;;***
28629 28649
28630;;;### (autoloads (url-cache-expired url-cache-extract url-is-cached 28650;;;### (autoloads (url-cache-expired url-cache-extract url-is-cached
28631;;;;;; url-store-in-cache) "url-cache" "url/url-cache.el" (19383 28651;;;;;; url-store-in-cache) "url-cache" "url/url-cache.el" (19636
28632;;;;;; 49283)) 28652;;;;;; 58496))
28633;;; Generated autoloads from url/url-cache.el 28653;;; Generated autoloads from url/url-cache.el
28634 28654
28635(autoload 'url-store-in-cache "url-cache" "\ 28655(autoload 'url-store-in-cache "url-cache" "\
@@ -28639,6 +28659,7 @@ Store buffer BUFF in the cache.
28639 28659
28640(autoload 'url-is-cached "url-cache" "\ 28660(autoload 'url-is-cached "url-cache" "\
28641Return non-nil if the URL is cached. 28661Return non-nil if the URL is cached.
28662The actual return value is the last modification time of the cache file.
28642 28663
28643\(fn URL)" nil nil) 28664\(fn URL)" nil nil)
28644 28665
@@ -28654,7 +28675,7 @@ Return t if a cached file has expired.
28654 28675
28655;;;*** 28676;;;***
28656 28677
28657;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (19383 49283)) 28678;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (19636 58496))
28658;;; Generated autoloads from url/url-cid.el 28679;;; Generated autoloads from url/url-cid.el
28659 28680
28660(autoload 'url-cid "url-cid" "\ 28681(autoload 'url-cid "url-cid" "\
@@ -28665,7 +28686,7 @@ Not documented
28665;;;*** 28686;;;***
28666 28687
28667;;;### (autoloads (url-dav-vc-registered url-dav-supported-p) "url-dav" 28688;;;### (autoloads (url-dav-vc-registered url-dav-supported-p) "url-dav"
28668;;;;;; "url/url-dav.el" (19383 49283)) 28689;;;;;; "url/url-dav.el" (19636 58496))
28669;;; Generated autoloads from url/url-dav.el 28690;;; Generated autoloads from url/url-dav.el
28670 28691
28671(autoload 'url-dav-supported-p "url-dav" "\ 28692(autoload 'url-dav-supported-p "url-dav" "\
@@ -28680,8 +28701,8 @@ Not documented
28680 28701
28681;;;*** 28702;;;***
28682 28703
28683;;;### (autoloads (url-file) "url-file" "url/url-file.el" (19383 28704;;;### (autoloads (url-file) "url-file" "url/url-file.el" (19636
28684;;;;;; 49283)) 28705;;;;;; 58496))
28685;;; Generated autoloads from url/url-file.el 28706;;; Generated autoloads from url/url-file.el
28686 28707
28687(autoload 'url-file "url-file" "\ 28708(autoload 'url-file "url-file" "\
@@ -28692,7 +28713,7 @@ Handle file: and ftp: URLs.
28692;;;*** 28713;;;***
28693 28714
28694;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw" 28715;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw"
28695;;;;;; "url/url-gw.el" (19383 49283)) 28716;;;;;; "url/url-gw.el" (19636 58496))
28696;;; Generated autoloads from url/url-gw.el 28717;;; Generated autoloads from url/url-gw.el
28697 28718
28698(autoload 'url-gateway-nslookup-host "url-gw" "\ 28719(autoload 'url-gateway-nslookup-host "url-gw" "\
@@ -28712,7 +28733,7 @@ Might do a non-blocking connection; use `process-status' to check.
28712 28733
28713;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file 28734;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file
28714;;;;;; url-file-handler url-handler-mode) "url-handlers" "url/url-handlers.el" 28735;;;;;; url-file-handler url-handler-mode) "url-handlers" "url/url-handlers.el"
28715;;;;;; (19383 49283)) 28736;;;;;; (19636 58496))
28716;;; Generated autoloads from url/url-handlers.el 28737;;; Generated autoloads from url/url-handlers.el
28717 28738
28718(defvar url-handler-mode nil "\ 28739(defvar url-handler-mode nil "\
@@ -28764,7 +28785,7 @@ Not documented
28764;;;*** 28785;;;***
28765 28786
28766;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p 28787;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p
28767;;;;;; url-http) "url-http" "url/url-http.el" (19383 49283)) 28788;;;;;; url-http) "url-http" "url/url-http.el" (19636 58496))
28768;;; Generated autoloads from url/url-http.el 28789;;; Generated autoloads from url/url-http.el
28769 28790
28770(autoload 'url-http "url-http" "\ 28791(autoload 'url-http "url-http" "\
@@ -28830,7 +28851,7 @@ HTTPS retrievals are asynchronous.")
28830 28851
28831;;;*** 28852;;;***
28832 28853
28833;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (19383 49283)) 28854;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (19636 58496))
28834;;; Generated autoloads from url/url-irc.el 28855;;; Generated autoloads from url/url-irc.el
28835 28856
28836(autoload 'url-irc "url-irc" "\ 28857(autoload 'url-irc "url-irc" "\
@@ -28840,8 +28861,8 @@ Not documented
28840 28861
28841;;;*** 28862;;;***
28842 28863
28843;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (19383 28864;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (19636
28844;;;;;; 49283)) 28865;;;;;; 58496))
28845;;; Generated autoloads from url/url-ldap.el 28866;;; Generated autoloads from url/url-ldap.el
28846 28867
28847(autoload 'url-ldap "url-ldap" "\ 28868(autoload 'url-ldap "url-ldap" "\
@@ -28855,7 +28876,7 @@ URL can be a URL string, or a URL vector of the type returned by
28855;;;*** 28876;;;***
28856 28877
28857;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el" 28878;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el"
28858;;;;;; (19383 49283)) 28879;;;;;; (19636 58496))
28859;;; Generated autoloads from url/url-mailto.el 28880;;; Generated autoloads from url/url-mailto.el
28860 28881
28861(autoload 'url-mail "url-mailto" "\ 28882(autoload 'url-mail "url-mailto" "\
@@ -28871,7 +28892,7 @@ Handle the mailto: URL syntax.
28871;;;*** 28892;;;***
28872 28893
28873;;;### (autoloads (url-data url-generic-emulator-loader url-info 28894;;;### (autoloads (url-data url-generic-emulator-loader url-info
28874;;;;;; url-man) "url-misc" "url/url-misc.el" (19383 49283)) 28895;;;;;; url-man) "url-misc" "url/url-misc.el" (19636 58496))
28875;;; Generated autoloads from url/url-misc.el 28896;;; Generated autoloads from url/url-misc.el
28876 28897
28877(autoload 'url-man "url-misc" "\ 28898(autoload 'url-man "url-misc" "\
@@ -28903,7 +28924,7 @@ Fetch a data URL (RFC 2397).
28903;;;*** 28924;;;***
28904 28925
28905;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el" 28926;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el"
28906;;;;;; (19383 49283)) 28927;;;;;; (19636 58496))
28907;;; Generated autoloads from url/url-news.el 28928;;; Generated autoloads from url/url-news.el
28908 28929
28909(autoload 'url-news "url-news" "\ 28930(autoload 'url-news "url-news" "\
@@ -28920,7 +28941,7 @@ Not documented
28920 28941
28921;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable 28942;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable
28922;;;;;; dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el" 28943;;;;;; dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el"
28923;;;;;; (19383 49283)) 28944;;;;;; (19636 58496))
28924;;; Generated autoloads from url/url-ns.el 28945;;; Generated autoloads from url/url-ns.el
28925 28946
28926(autoload 'isPlainHostName "url-ns" "\ 28947(autoload 'isPlainHostName "url-ns" "\
@@ -28961,7 +28982,7 @@ Not documented
28961;;;*** 28982;;;***
28962 28983
28963;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse" 28984;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse"
28964;;;;;; "url/url-parse.el" (19383 49283)) 28985;;;;;; "url/url-parse.el" (19636 58496))
28965;;; Generated autoloads from url/url-parse.el 28986;;; Generated autoloads from url/url-parse.el
28966 28987
28967(autoload 'url-recreate-url "url-parse" "\ 28988(autoload 'url-recreate-url "url-parse" "\
@@ -28979,7 +29000,7 @@ TYPE USER PASSWORD HOST PORTSPEC FILENAME TARGET ATTRIBUTES FULLNESS.
28979;;;*** 29000;;;***
28980 29001
28981;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el" 29002;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el"
28982;;;;;; (19383 49283)) 29003;;;;;; (19636 58496))
28983;;; Generated autoloads from url/url-privacy.el 29004;;; Generated autoloads from url/url-privacy.el
28984 29005
28985(autoload 'url-setup-privacy-info "url-privacy" "\ 29006(autoload 'url-setup-privacy-info "url-privacy" "\
@@ -28995,7 +29016,7 @@ Setup variables that expose info about you and your system.
28995;;;;;; url-pretty-length url-strip-leading-spaces url-eat-trailing-space 29016;;;;;; url-pretty-length url-strip-leading-spaces url-eat-trailing-space
28996;;;;;; url-get-normalized-date url-lazy-message url-normalize-url 29017;;;;;; url-get-normalized-date url-lazy-message url-normalize-url
28997;;;;;; url-insert-entities-in-string url-parse-args url-debug url-debug) 29018;;;;;; url-insert-entities-in-string url-parse-args url-debug url-debug)
28998;;;;;; "url-util" "url/url-util.el" (19383 49283)) 29019;;;;;; "url-util" "url/url-util.el" (19636 58496))
28999;;; Generated autoloads from url/url-util.el 29020;;; Generated autoloads from url/url-util.el
29000 29021
29001(defvar url-debug nil "\ 29022(defvar url-debug nil "\
@@ -29131,7 +29152,7 @@ This uses `url-current-object', set locally to the buffer.
29131;;;*** 29152;;;***
29132 29153
29133;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock) 29154;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock)
29134;;;;;; "userlock" "userlock.el" (19383 49283)) 29155;;;;;; "userlock" "userlock.el" (19636 58496))
29135;;; Generated autoloads from userlock.el 29156;;; Generated autoloads from userlock.el
29136 29157
29137(autoload 'ask-user-about-lock "userlock" "\ 29158(autoload 'ask-user-about-lock "userlock" "\
@@ -29161,7 +29182,7 @@ The buffer in question is current when this function is called.
29161 29182
29162;;;### (autoloads (utf-7-imap-pre-write-conversion utf-7-pre-write-conversion 29183;;;### (autoloads (utf-7-imap-pre-write-conversion utf-7-pre-write-conversion
29163;;;;;; utf-7-imap-post-read-conversion utf-7-post-read-conversion) 29184;;;;;; utf-7-imap-post-read-conversion utf-7-post-read-conversion)
29164;;;;;; "utf-7" "international/utf-7.el" (19383 49283)) 29185;;;;;; "utf-7" "international/utf-7.el" (19636 58496))
29165;;; Generated autoloads from international/utf-7.el 29186;;; Generated autoloads from international/utf-7.el
29166 29187
29167(autoload 'utf-7-post-read-conversion "utf-7" "\ 29188(autoload 'utf-7-post-read-conversion "utf-7" "\
@@ -29188,7 +29209,7 @@ Not documented
29188 29209
29189;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal 29210;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal
29190;;;;;; uudecode-decode-region-external) "uudecode" "mail/uudecode.el" 29211;;;;;; uudecode-decode-region-external) "uudecode" "mail/uudecode.el"
29191;;;;;; (19383 49283)) 29212;;;;;; (19636 58496))
29192;;; Generated autoloads from mail/uudecode.el 29213;;; Generated autoloads from mail/uudecode.el
29193 29214
29194(autoload 'uudecode-decode-region-external "uudecode" "\ 29215(autoload 'uudecode-decode-region-external "uudecode" "\
@@ -29214,11 +29235,11 @@ If FILE-NAME is non-nil, save the result to FILE-NAME.
29214 29235
29215;;;### (autoloads (vc-branch-part vc-update-change-log vc-rename-file 29236;;;### (autoloads (vc-branch-part vc-update-change-log vc-rename-file
29216;;;;;; vc-delete-file vc-transfer-file vc-switch-backend vc-update 29237;;;;;; vc-delete-file vc-transfer-file vc-switch-backend vc-update
29217;;;;;; vc-rollback vc-revert vc-print-root-log vc-print-log vc-retrieve-tag 29238;;;;;; vc-rollback vc-revert vc-log-outgoing vc-log-incoming vc-print-root-log
29218;;;;;; vc-create-tag vc-merge vc-insert-headers vc-revision-other-window 29239;;;;;; vc-print-log vc-retrieve-tag vc-create-tag vc-merge vc-insert-headers
29219;;;;;; vc-root-diff vc-diff vc-version-diff vc-register vc-next-action 29240;;;;;; vc-revision-other-window vc-root-diff vc-diff vc-version-diff
29220;;;;;; vc-before-checkin-hook vc-checkin-hook vc-checkout-hook) 29241;;;;;; vc-register vc-next-action vc-before-checkin-hook vc-checkin-hook
29221;;;;;; "vc" "vc.el" (19383 49284)) 29242;;;;;; vc-checkout-hook) "vc" "vc.el" (19661 52732))
29222;;; Generated autoloads from vc.el 29243;;; Generated autoloads from vc.el
29223 29244
29224(defvar vc-checkout-hook nil "\ 29245(defvar vc-checkout-hook nil "\
@@ -29380,6 +29401,18 @@ When called interactively with a prefix argument, prompt for LIMIT.
29380 29401
29381\(fn &optional LIMIT)" t nil) 29402\(fn &optional LIMIT)" t nil)
29382 29403
29404(autoload 'vc-log-incoming "vc" "\
29405Show a log of changes that will be received with a pull operation from REMOTE-LOCATION.
29406When called interactively with a prefix argument, prompt for REMOTE-LOCATION..
29407
29408\(fn &optional REMOTE-LOCATION)" t nil)
29409
29410(autoload 'vc-log-outgoing "vc" "\
29411Show a log of changes that will be sent with a push operation to REMOTE-LOCATION.
29412When called interactively with a prefix argument, prompt for REMOTE-LOCATION.
29413
29414\(fn &optional REMOTE-LOCATION)" t nil)
29415
29383(autoload 'vc-revert "vc" "\ 29416(autoload 'vc-revert "vc" "\
29384Revert working copies of the selected fileset to their repository contents. 29417Revert working copies of the selected fileset to their repository contents.
29385This asks for confirmation if the buffer contents are not identical 29418This asks for confirmation if the buffer contents are not identical
@@ -29433,7 +29466,7 @@ Delete file and mark it as such in the version control system.
29433\(fn FILE)" t nil) 29466\(fn FILE)" t nil)
29434 29467
29435(autoload 'vc-rename-file "vc" "\ 29468(autoload 'vc-rename-file "vc" "\
29436Rename file OLD to NEW, and rename its master file likewise. 29469Rename file OLD to NEW in both work area and repository.
29437 29470
29438\(fn OLD NEW)" t nil) 29471\(fn OLD NEW)" t nil)
29439 29472
@@ -29460,12 +29493,12 @@ Return the branch part of a revision number REV.
29460 29493
29461;;;*** 29494;;;***
29462 29495
29463;;;### (autoloads (vc-annotate) "vc-annotate" "vc-annotate.el" (19383 29496;;;### (autoloads (vc-annotate) "vc-annotate" "vc-annotate.el" (19636
29464;;;;;; 49283)) 29497;;;;;; 58496))
29465;;; Generated autoloads from vc-annotate.el 29498;;; Generated autoloads from vc-annotate.el
29466 29499
29467(autoload 'vc-annotate "vc-annotate" "\ 29500(autoload 'vc-annotate "vc-annotate" "\
29468Display the edit history of the current file using colors. 29501Display the edit history of the current FILE using colors.
29469 29502
29470This command creates a buffer that shows, for each line of the current 29503This command creates a buffer that shows, for each line of the current
29471file, when it was last edited and by whom. Additionally, colors are 29504file, when it was last edited and by whom. Additionally, colors are
@@ -29475,7 +29508,7 @@ default, the time scale stretches back one year into the past;
29475everything that is older than that is shown in blue. 29508everything that is older than that is shown in blue.
29476 29509
29477With a prefix argument, this command asks two questions in the 29510With a prefix argument, this command asks two questions in the
29478minibuffer. First, you may enter a revision number; then the buffer 29511minibuffer. First, you may enter a revision number REV; then the buffer
29479displays and annotates that revision instead of the working revision 29512displays and annotates that revision instead of the working revision
29480\(type RET in the minibuffer to leave that default unchanged). Then, 29513\(type RET in the minibuffer to leave that default unchanged). Then,
29481you are prompted for the time span in days which the color range 29514you are prompted for the time span in days which the color range
@@ -29485,6 +29518,8 @@ age, and everything that is older than that is shown in blue.
29485 29518
29486If MOVE-POINT-TO is given, move the point to that line. 29519If MOVE-POINT-TO is given, move the point to that line.
29487 29520
29521If VC-BK is given used that VC backend.
29522
29488Customization variables: 29523Customization variables:
29489 29524
29490`vc-annotate-menu-elements' customizes the menu elements of the 29525`vc-annotate-menu-elements' customizes the menu elements of the
@@ -29492,11 +29527,11 @@ mode-specific menu. `vc-annotate-color-map' and
29492`vc-annotate-very-old-color' define the mapping of time to colors. 29527`vc-annotate-very-old-color' define the mapping of time to colors.
29493`vc-annotate-background' specifies the background color. 29528`vc-annotate-background' specifies the background color.
29494 29529
29495\(fn FILE REV &optional DISPLAY-MODE BUF MOVE-POINT-TO)" t nil) 29530\(fn FILE REV &optional DISPLAY-MODE BUF MOVE-POINT-TO VC-BK)" t nil)
29496 29531
29497;;;*** 29532;;;***
29498 29533
29499;;;### (autoloads nil "vc-arch" "vc-arch.el" (19383 49283)) 29534;;;### (autoloads nil "vc-arch" "vc-arch.el" (19661 60124))
29500;;; Generated autoloads from vc-arch.el 29535;;; Generated autoloads from vc-arch.el
29501 (defun vc-arch-registered (file) 29536 (defun vc-arch-registered (file)
29502 (if (vc-find-root file "{arch}/=tagging-method") 29537 (if (vc-find-root file "{arch}/=tagging-method")
@@ -29506,7 +29541,7 @@ mode-specific menu. `vc-annotate-color-map' and
29506 29541
29507;;;*** 29542;;;***
29508 29543
29509;;;### (autoloads nil "vc-bzr" "vc-bzr.el" (19383 49276)) 29544;;;### (autoloads nil "vc-bzr" "vc-bzr.el" (19661 53001))
29510;;; Generated autoloads from vc-bzr.el 29545;;; Generated autoloads from vc-bzr.el
29511 29546
29512(defconst vc-bzr-admin-dirname ".bzr" "\ 29547(defconst vc-bzr-admin-dirname ".bzr" "\
@@ -29521,7 +29556,7 @@ Name of the directory containing Bzr repository status files.")
29521 29556
29522;;;*** 29557;;;***
29523 29558
29524;;;### (autoloads nil "vc-cvs" "vc-cvs.el" (19383 49276)) 29559;;;### (autoloads nil "vc-cvs" "vc-cvs.el" (19661 60137))
29525;;; Generated autoloads from vc-cvs.el 29560;;; Generated autoloads from vc-cvs.el
29526 (defun vc-cvs-registered (f) 29561 (defun vc-cvs-registered (f)
29527 (when (file-readable-p (expand-file-name 29562 (when (file-readable-p (expand-file-name
@@ -29531,7 +29566,7 @@ Name of the directory containing Bzr repository status files.")
29531 29566
29532;;;*** 29567;;;***
29533 29568
29534;;;### (autoloads (vc-dir) "vc-dir" "vc-dir.el" (19383 49283)) 29569;;;### (autoloads (vc-dir) "vc-dir" "vc-dir.el" (19661 53223))
29535;;; Generated autoloads from vc-dir.el 29570;;; Generated autoloads from vc-dir.el
29536 29571
29537(autoload 'vc-dir "vc-dir" "\ 29572(autoload 'vc-dir "vc-dir" "\
@@ -29556,7 +29591,7 @@ These are the commands available for use in the file status buffer:
29556;;;*** 29591;;;***
29557 29592
29558;;;### (autoloads (vc-do-command) "vc-dispatcher" "vc-dispatcher.el" 29593;;;### (autoloads (vc-do-command) "vc-dispatcher" "vc-dispatcher.el"
29559;;;;;; (19383 49283)) 29594;;;;;; (19661 52495))
29560;;; Generated autoloads from vc-dispatcher.el 29595;;; Generated autoloads from vc-dispatcher.el
29561 29596
29562(autoload 'vc-do-command "vc-dispatcher" "\ 29597(autoload 'vc-do-command "vc-dispatcher" "\
@@ -29579,7 +29614,7 @@ case, and the process object in the asynchronous case.
29579 29614
29580;;;*** 29615;;;***
29581 29616
29582;;;### (autoloads nil "vc-git" "vc-git.el" (19400 65477)) 29617;;;### (autoloads nil "vc-git" "vc-git.el" (19661 53398))
29583;;; Generated autoloads from vc-git.el 29618;;; Generated autoloads from vc-git.el
29584 (defun vc-git-registered (file) 29619 (defun vc-git-registered (file)
29585 "Return non-nil if FILE is registered with git." 29620 "Return non-nil if FILE is registered with git."
@@ -29590,7 +29625,7 @@ case, and the process object in the asynchronous case.
29590 29625
29591;;;*** 29626;;;***
29592 29627
29593;;;### (autoloads nil "vc-hg" "vc-hg.el" (19405 52797)) 29628;;;### (autoloads nil "vc-hg" "vc-hg.el" (19661 52523))
29594;;; Generated autoloads from vc-hg.el 29629;;; Generated autoloads from vc-hg.el
29595 (defun vc-hg-registered (file) 29630 (defun vc-hg-registered (file)
29596 "Return non-nil if FILE is registered with hg." 29631 "Return non-nil if FILE is registered with hg."
@@ -29601,7 +29636,7 @@ case, and the process object in the asynchronous case.
29601 29636
29602;;;*** 29637;;;***
29603 29638
29604;;;### (autoloads nil "vc-mtn" "vc-mtn.el" (19383 49283)) 29639;;;### (autoloads nil "vc-mtn" "vc-mtn.el" (19672 43471))
29605;;; Generated autoloads from vc-mtn.el 29640;;; Generated autoloads from vc-mtn.el
29606 29641
29607(defconst vc-mtn-admin-dir "_MTN") 29642(defconst vc-mtn-admin-dir "_MTN")
@@ -29616,7 +29651,7 @@ case, and the process object in the asynchronous case.
29616;;;*** 29651;;;***
29617 29652
29618;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc-rcs.el" 29653;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc-rcs.el"
29619;;;;;; (19383 49283)) 29654;;;;;; (19661 60165))
29620;;; Generated autoloads from vc-rcs.el 29655;;; Generated autoloads from vc-rcs.el
29621 29656
29622(defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\ 29657(defvar vc-rcs-master-templates (purecopy '("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\
@@ -29630,7 +29665,7 @@ For a description of possible values, see `vc-check-master-templates'.")
29630;;;*** 29665;;;***
29631 29666
29632;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc-sccs.el" 29667;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc-sccs.el"
29633;;;;;; (19383 49283)) 29668;;;;;; (19661 60174))
29634;;; Generated autoloads from vc-sccs.el 29669;;; Generated autoloads from vc-sccs.el
29635 29670
29636(defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\ 29671(defvar vc-sccs-master-templates (purecopy '("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\
@@ -29647,7 +29682,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
29647 29682
29648;;;*** 29683;;;***
29649 29684
29650;;;### (autoloads nil "vc-svn" "vc-svn.el" (19383 49276)) 29685;;;### (autoloads nil "vc-svn" "vc-svn.el" (19661 60185))
29651;;; Generated autoloads from vc-svn.el 29686;;; Generated autoloads from vc-svn.el
29652 (defun vc-svn-registered (f) 29687 (defun vc-svn-registered (f)
29653 (let ((admin-dir (cond ((and (eq system-type 'windows-nt) 29688 (let ((admin-dir (cond ((and (eq system-type 'windows-nt)
@@ -29663,7 +29698,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
29663;;;*** 29698;;;***
29664 29699
29665;;;### (autoloads (vera-mode) "vera-mode" "progmodes/vera-mode.el" 29700;;;### (autoloads (vera-mode) "vera-mode" "progmodes/vera-mode.el"
29666;;;;;; (19383 49283)) 29701;;;;;; (19636 58496))
29667;;; Generated autoloads from progmodes/vera-mode.el 29702;;; Generated autoloads from progmodes/vera-mode.el
29668 (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'") 'vera-mode)) 29703 (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'") 'vera-mode))
29669 29704
@@ -29721,7 +29756,7 @@ Key bindings:
29721;;;*** 29756;;;***
29722 29757
29723;;;### (autoloads (verilog-mode) "verilog-mode" "progmodes/verilog-mode.el" 29758;;;### (autoloads (verilog-mode) "verilog-mode" "progmodes/verilog-mode.el"
29724;;;;;; (19383 49283)) 29759;;;;;; (19672 43471))
29725;;; Generated autoloads from progmodes/verilog-mode.el 29760;;; Generated autoloads from progmodes/verilog-mode.el
29726 29761
29727(autoload 'verilog-mode "verilog-mode" "\ 29762(autoload 'verilog-mode "verilog-mode" "\
@@ -29858,7 +29893,7 @@ Key bindings specific to `verilog-mode-map' are:
29858;;;*** 29893;;;***
29859 29894
29860;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el" 29895;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el"
29861;;;;;; (19383 49283)) 29896;;;;;; (19636 58496))
29862;;; Generated autoloads from progmodes/vhdl-mode.el 29897;;; Generated autoloads from progmodes/vhdl-mode.el
29863 29898
29864(autoload 'vhdl-mode "vhdl-mode" "\ 29899(autoload 'vhdl-mode "vhdl-mode" "\
@@ -30399,7 +30434,7 @@ Key bindings:
30399 30434
30400;;;*** 30435;;;***
30401 30436
30402;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (19383 49283)) 30437;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (19636 58496))
30403;;; Generated autoloads from emulation/vi.el 30438;;; Generated autoloads from emulation/vi.el
30404 30439
30405(autoload 'vi-mode "vi" "\ 30440(autoload 'vi-mode "vi" "\
@@ -30454,7 +30489,7 @@ Syntax table and abbrevs while in vi mode remain as they were in Emacs.
30454;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion 30489;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion
30455;;;;;; viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer 30490;;;;;; viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer
30456;;;;;; viet-decode-viqr-region viet-encode-viscii-char) "viet-util" 30491;;;;;; viet-decode-viqr-region viet-encode-viscii-char) "viet-util"
30457;;;;;; "language/viet-util.el" (19383 49283)) 30492;;;;;; "language/viet-util.el" (19636 58496))
30458;;; Generated autoloads from language/viet-util.el 30493;;; Generated autoloads from language/viet-util.el
30459 30494
30460(autoload 'viet-encode-viscii-char "viet-util" "\ 30495(autoload 'viet-encode-viscii-char "viet-util" "\
@@ -30502,7 +30537,7 @@ Not documented
30502;;;;;; view-mode view-buffer-other-frame view-buffer-other-window 30537;;;;;; view-mode view-buffer-other-frame view-buffer-other-window
30503;;;;;; view-buffer view-file-other-frame view-file-other-window 30538;;;;;; view-buffer view-file-other-frame view-file-other-window
30504;;;;;; view-file kill-buffer-if-not-modified view-remove-frame-by-deleting) 30539;;;;;; view-file kill-buffer-if-not-modified view-remove-frame-by-deleting)
30505;;;;;; "view" "view.el" (19383 49283)) 30540;;;;;; "view" "view.el" (19636 58496))
30506;;; Generated autoloads from view.el 30541;;; Generated autoloads from view.el
30507 30542
30508(defvar view-remove-frame-by-deleting t "\ 30543(defvar view-remove-frame-by-deleting t "\
@@ -30748,8 +30783,8 @@ Exit View mode and make the current buffer editable.
30748 30783
30749;;;*** 30784;;;***
30750 30785
30751;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (19383 30786;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (19636
30752;;;;;; 49283)) 30787;;;;;; 58496))
30753;;; Generated autoloads from emulation/vip.el 30788;;; Generated autoloads from emulation/vip.el
30754 30789
30755(autoload 'vip-setup "vip" "\ 30790(autoload 'vip-setup "vip" "\
@@ -30765,7 +30800,7 @@ Turn on VIP emulation of VI.
30765;;;*** 30800;;;***
30766 30801
30767;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el" 30802;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el"
30768;;;;;; (19383 49283)) 30803;;;;;; (19636 58496))
30769;;; Generated autoloads from emulation/viper.el 30804;;; Generated autoloads from emulation/viper.el
30770 30805
30771(autoload 'toggle-viper-mode "viper" "\ 30806(autoload 'toggle-viper-mode "viper" "\
@@ -30782,7 +30817,7 @@ Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Top'.
30782;;;*** 30817;;;***
30783 30818
30784;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el" 30819;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el"
30785;;;;;; (19383 49283)) 30820;;;;;; (19636 58496))
30786;;; Generated autoloads from emacs-lisp/warnings.el 30821;;; Generated autoloads from emacs-lisp/warnings.el
30787 30822
30788(defvar warning-prefix-function nil "\ 30823(defvar warning-prefix-function nil "\
@@ -30872,7 +30907,7 @@ this is equivalent to `display-warning', using
30872;;;*** 30907;;;***
30873 30908
30874;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el" 30909;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el"
30875;;;;;; (19383 49283)) 30910;;;;;; (19636 58496))
30876;;; Generated autoloads from wdired.el 30911;;; Generated autoloads from wdired.el
30877 30912
30878(autoload 'wdired-change-to-wdired-mode "wdired" "\ 30913(autoload 'wdired-change-to-wdired-mode "wdired" "\
@@ -30888,7 +30923,7 @@ See `wdired-mode'.
30888 30923
30889;;;*** 30924;;;***
30890 30925
30891;;;### (autoloads (webjump) "webjump" "net/webjump.el" (19383 49283)) 30926;;;### (autoloads (webjump) "webjump" "net/webjump.el" (19636 58496))
30892;;; Generated autoloads from net/webjump.el 30927;;; Generated autoloads from net/webjump.el
30893 30928
30894(autoload 'webjump "webjump" "\ 30929(autoload 'webjump "webjump" "\
@@ -30905,7 +30940,7 @@ Please submit bug reports and other feedback to the author, Neil W. Van Dyke
30905;;;*** 30940;;;***
30906 30941
30907;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el" 30942;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el"
30908;;;;;; (19383 49283)) 30943;;;;;; (19636 58496))
30909;;; Generated autoloads from progmodes/which-func.el 30944;;; Generated autoloads from progmodes/which-func.el
30910 (put 'which-func-format 'risky-local-variable t) 30945 (put 'which-func-format 'risky-local-variable t)
30911 (put 'which-func-current 'risky-local-variable t) 30946 (put 'which-func-current 'risky-local-variable t)
@@ -30936,7 +30971,7 @@ and off otherwise.
30936;;;### (autoloads (whitespace-report-region whitespace-report whitespace-cleanup-region 30971;;;### (autoloads (whitespace-report-region whitespace-report whitespace-cleanup-region
30937;;;;;; whitespace-cleanup global-whitespace-toggle-options whitespace-toggle-options 30972;;;;;; whitespace-cleanup global-whitespace-toggle-options whitespace-toggle-options
30938;;;;;; global-whitespace-newline-mode global-whitespace-mode whitespace-newline-mode 30973;;;;;; global-whitespace-newline-mode global-whitespace-mode whitespace-newline-mode
30939;;;;;; whitespace-mode) "whitespace" "whitespace.el" (19383 49283)) 30974;;;;;; whitespace-mode) "whitespace" "whitespace.el" (19636 58496))
30940;;; Generated autoloads from whitespace.el 30975;;; Generated autoloads from whitespace.el
30941 30976
30942(autoload 'whitespace-mode "whitespace" "\ 30977(autoload 'whitespace-mode "whitespace" "\
@@ -31026,6 +31061,7 @@ Interactively, it reads one of the following chars:
31026 31061
31027 CHAR MEANING 31062 CHAR MEANING
31028 (VIA FACES) 31063 (VIA FACES)
31064 f toggle face visualization
31029 t toggle TAB visualization 31065 t toggle TAB visualization
31030 s toggle SPACE and HARD SPACE visualization 31066 s toggle SPACE and HARD SPACE visualization
31031 r toggle trailing blanks visualization 31067 r toggle trailing blanks visualization
@@ -31054,6 +31090,7 @@ Interactively, it reads one of the following chars:
31054Non-interactively, ARG should be a symbol or a list of symbols. 31090Non-interactively, ARG should be a symbol or a list of symbols.
31055The valid symbols are: 31091The valid symbols are:
31056 31092
31093 face toggle face visualization
31057 tabs toggle TAB visualization 31094 tabs toggle TAB visualization
31058 spaces toggle SPACE and HARD SPACE visualization 31095 spaces toggle SPACE and HARD SPACE visualization
31059 trailing toggle trailing blanks visualization 31096 trailing toggle trailing blanks visualization
@@ -31094,6 +31131,7 @@ Interactively, it accepts one of the following chars:
31094 31131
31095 CHAR MEANING 31132 CHAR MEANING
31096 (VIA FACES) 31133 (VIA FACES)
31134 f toggle face visualization
31097 t toggle TAB visualization 31135 t toggle TAB visualization
31098 s toggle SPACE and HARD SPACE visualization 31136 s toggle SPACE and HARD SPACE visualization
31099 r toggle trailing blanks visualization 31137 r toggle trailing blanks visualization
@@ -31122,6 +31160,7 @@ Interactively, it accepts one of the following chars:
31122Non-interactively, ARG should be a symbol or a list of symbols. 31160Non-interactively, ARG should be a symbol or a list of symbols.
31123The valid symbols are: 31161The valid symbols are:
31124 31162
31163 face toggle face visualization
31125 tabs toggle TAB visualization 31164 tabs toggle TAB visualization
31126 spaces toggle SPACE and HARD SPACE visualization 31165 spaces toggle SPACE and HARD SPACE visualization
31127 trailing toggle trailing blanks visualization 31166 trailing toggle trailing blanks visualization
@@ -31335,7 +31374,7 @@ cleaning up these problems.
31335;;;*** 31374;;;***
31336 31375
31337;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse 31376;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse
31338;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (19383 49283)) 31377;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (19636 58496))
31339;;; Generated autoloads from wid-browse.el 31378;;; Generated autoloads from wid-browse.el
31340 31379
31341(autoload 'widget-browse-at "wid-browse" "\ 31380(autoload 'widget-browse-at "wid-browse" "\
@@ -31362,8 +31401,8 @@ With arg, turn widget mode on if and only if arg is positive.
31362;;;*** 31401;;;***
31363 31402
31364;;;### (autoloads (widget-setup widget-insert widget-delete widget-create 31403;;;### (autoloads (widget-setup widget-insert widget-delete widget-create
31365;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (19383 31404;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (19636
31366;;;;;; 49283)) 31405;;;;;; 58496))
31367;;; Generated autoloads from wid-edit.el 31406;;; Generated autoloads from wid-edit.el
31368 31407
31369(autoload 'widgetp "wid-edit" "\ 31408(autoload 'widgetp "wid-edit" "\
@@ -31406,8 +31445,8 @@ Setup current buffer so editing string widgets works.
31406;;;*** 31445;;;***
31407 31446
31408;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right 31447;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right
31409;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (19383 31448;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (19636
31410;;;;;; 49283)) 31449;;;;;; 58496))
31411;;; Generated autoloads from windmove.el 31450;;; Generated autoloads from windmove.el
31412 31451
31413(autoload 'windmove-left "windmove" "\ 31452(autoload 'windmove-left "windmove" "\
@@ -31460,7 +31499,7 @@ Default MODIFIER is 'shift.
31460;;;*** 31499;;;***
31461 31500
31462;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el" 31501;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el"
31463;;;;;; (19383 49283)) 31502;;;;;; (19636 58496))
31464;;; Generated autoloads from winner.el 31503;;; Generated autoloads from winner.el
31465 31504
31466(defvar winner-mode nil "\ 31505(defvar winner-mode nil "\
@@ -31479,7 +31518,7 @@ With arg, turn Winner mode on if and only if arg is positive.
31479;;;*** 31518;;;***
31480 31519
31481;;;### (autoloads (woman-find-file woman-dired-find-file woman woman-locale) 31520;;;### (autoloads (woman-find-file woman-dired-find-file woman woman-locale)
31482;;;;;; "woman" "woman.el" (19383 49285)) 31521;;;;;; "woman" "woman.el" (19652 24589))
31483;;; Generated autoloads from woman.el 31522;;; Generated autoloads from woman.el
31484 31523
31485(defvar woman-locale nil "\ 31524(defvar woman-locale nil "\
@@ -31523,7 +31562,7 @@ decompress the file if appropriate. See the documentation for the
31523;;;*** 31562;;;***
31524 31563
31525;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el" 31564;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el"
31526;;;;;; (19383 49283)) 31565;;;;;; (19636 58496))
31527;;; Generated autoloads from emulation/ws-mode.el 31566;;; Generated autoloads from emulation/ws-mode.el
31528 31567
31529(autoload 'wordstar-mode "ws-mode" "\ 31568(autoload 'wordstar-mode "ws-mode" "\
@@ -31635,7 +31674,7 @@ The key bindings are:
31635 31674
31636;;;*** 31675;;;***
31637 31676
31638;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (19383 49283)) 31677;;;### (autoloads (xesam-search) "xesam" "net/xesam.el" (19636 58496))
31639;;; Generated autoloads from net/xesam.el 31678;;; Generated autoloads from net/xesam.el
31640 31679
31641(autoload 'xesam-search "xesam" "\ 31680(autoload 'xesam-search "xesam" "\
@@ -31655,7 +31694,7 @@ Example:
31655;;;*** 31694;;;***
31656 31695
31657;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el" 31696;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el"
31658;;;;;; (19383 49283)) 31697;;;;;; (19636 58496))
31659;;; Generated autoloads from xml.el 31698;;; Generated autoloads from xml.el
31660 31699
31661(autoload 'xml-parse-file "xml" "\ 31700(autoload 'xml-parse-file "xml" "\
@@ -31681,7 +31720,7 @@ If PARSE-NS is non-nil, then QNAMES are expanded.
31681;;;*** 31720;;;***
31682 31721
31683;;;### (autoloads (xmltok-get-declared-encoding-position) "xmltok" 31722;;;### (autoloads (xmltok-get-declared-encoding-position) "xmltok"
31684;;;;;; "nxml/xmltok.el" (19383 49283)) 31723;;;;;; "nxml/xmltok.el" (19636 58496))
31685;;; Generated autoloads from nxml/xmltok.el 31724;;; Generated autoloads from nxml/xmltok.el
31686 31725
31687(autoload 'xmltok-get-declared-encoding-position "xmltok" "\ 31726(autoload 'xmltok-get-declared-encoding-position "xmltok" "\
@@ -31699,8 +31738,8 @@ If LIMIT is non-nil, then do not consider characters beyond LIMIT.
31699 31738
31700;;;*** 31739;;;***
31701 31740
31702;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (19383 31741;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (19636
31703;;;;;; 49283)) 31742;;;;;; 58496))
31704;;; Generated autoloads from xt-mouse.el 31743;;; Generated autoloads from xt-mouse.el
31705 31744
31706(defvar xterm-mouse-mode nil "\ 31745(defvar xterm-mouse-mode nil "\
@@ -31729,7 +31768,7 @@ down the SHIFT key while pressing the mouse button.
31729;;;*** 31768;;;***
31730 31769
31731;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc" 31770;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc"
31732;;;;;; "gnus/yenc.el" (19383 49283)) 31771;;;;;; "gnus/yenc.el" (19636 58496))
31733;;; Generated autoloads from gnus/yenc.el 31772;;; Generated autoloads from gnus/yenc.el
31734 31773
31735(autoload 'yenc-decode-region "yenc" "\ 31774(autoload 'yenc-decode-region "yenc" "\
@@ -31745,7 +31784,7 @@ Extract file name from an yenc header.
31745;;;*** 31784;;;***
31746 31785
31747;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism 31786;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism
31748;;;;;; yow) "yow" "play/yow.el" (19383 49283)) 31787;;;;;; yow) "yow" "play/yow.el" (19636 58496))
31749;;; Generated autoloads from play/yow.el 31788;;; Generated autoloads from play/yow.el
31750 31789
31751(autoload 'yow "yow" "\ 31790(autoload 'yow "yow" "\
@@ -31771,7 +31810,7 @@ Zippy goes to the analyst.
31771 31810
31772;;;*** 31811;;;***
31773 31812
31774;;;### (autoloads (zone) "zone" "play/zone.el" (19383 49283)) 31813;;;### (autoloads (zone) "zone" "play/zone.el" (19636 58496))
31775;;; Generated autoloads from play/zone.el 31814;;; Generated autoloads from play/zone.el
31776 31815
31777(autoload 'zone "zone" "\ 31816(autoload 'zone "zone" "\
@@ -31802,30 +31841,32 @@ Zone out, completely.
31802;;;;;; "calendar/cal-persia.el" "calendar/cal-tex.el" "calendar/cal-x.el" 31841;;;;;; "calendar/cal-persia.el" "calendar/cal-tex.el" "calendar/cal-x.el"
31803;;;;;; "calendar/diary-loaddefs.el" "calendar/hol-loaddefs.el" "cdl.el" 31842;;;;;; "calendar/diary-loaddefs.el" "calendar/hol-loaddefs.el" "cdl.el"
31804;;;;;; "cedet/cedet-cscope.el" "cedet/cedet-files.el" "cedet/cedet-global.el" 31843;;;;;; "cedet/cedet-cscope.el" "cedet/cedet-files.el" "cedet/cedet-global.el"
31805;;;;;; "cedet/cedet-idutils.el" "cedet/cedet.el" "cedet/ede/autoconf-edit.el" 31844;;;;;; "cedet/cedet-idutils.el" "cedet/cedet.el" "cedet/ede/auto.el"
31806;;;;;; "cedet/ede/cpp-root.el" "cedet/ede/dired.el" "cedet/ede/emacs.el" 31845;;;;;; "cedet/ede/autoconf-edit.el" "cedet/ede/base.el" "cedet/ede/cpp-root.el"
31807;;;;;; "cedet/ede/files.el" "cedet/ede/linux.el" "cedet/ede/locate.el" 31846;;;;;; "cedet/ede/custom.el" "cedet/ede/dired.el" "cedet/ede/emacs.el"
31808;;;;;; "cedet/ede/make.el" "cedet/ede/makefile-edit.el" "cedet/ede/pconf.el" 31847;;;;;; "cedet/ede/files.el" "cedet/ede/generic.el" "cedet/ede/linux.el"
31809;;;;;; "cedet/ede/pmake.el" "cedet/ede/proj-archive.el" "cedet/ede/proj-aux.el" 31848;;;;;; "cedet/ede/locate.el" "cedet/ede/make.el" "cedet/ede/makefile-edit.el"
31810;;;;;; "cedet/ede/proj-comp.el" "cedet/ede/proj-elisp.el" "cedet/ede/proj-info.el" 31849;;;;;; "cedet/ede/pconf.el" "cedet/ede/pmake.el" "cedet/ede/proj-archive.el"
31811;;;;;; "cedet/ede/proj-misc.el" "cedet/ede/proj-obj.el" "cedet/ede/proj-prog.el" 31850;;;;;; "cedet/ede/proj-aux.el" "cedet/ede/proj-comp.el" "cedet/ede/proj-elisp.el"
31812;;;;;; "cedet/ede/proj-scheme.el" "cedet/ede/proj-shared.el" "cedet/ede/proj.el" 31851;;;;;; "cedet/ede/proj-info.el" "cedet/ede/proj-misc.el" "cedet/ede/proj-obj.el"
31813;;;;;; "cedet/ede/project-am.el" "cedet/ede/shell.el" "cedet/ede/simple.el" 31852;;;;;; "cedet/ede/proj-prog.el" "cedet/ede/proj-scheme.el" "cedet/ede/proj-shared.el"
31814;;;;;; "cedet/ede/source.el" "cedet/ede/speedbar.el" "cedet/ede/srecode.el" 31853;;;;;; "cedet/ede/proj.el" "cedet/ede/project-am.el" "cedet/ede/shell.el"
31815;;;;;; "cedet/ede/system.el" "cedet/ede/util.el" "cedet/inversion.el" 31854;;;;;; "cedet/ede/simple.el" "cedet/ede/source.el" "cedet/ede/speedbar.el"
31816;;;;;; "cedet/mode-local.el" "cedet/pulse.el" "cedet/semantic/analyze.el" 31855;;;;;; "cedet/ede/srecode.el" "cedet/ede/system.el" "cedet/ede/util.el"
31817;;;;;; "cedet/semantic/analyze/complete.el" "cedet/semantic/analyze/debug.el" 31856;;;;;; "cedet/inversion.el" "cedet/mode-local.el" "cedet/pulse.el"
31818;;;;;; "cedet/semantic/analyze/fcn.el" "cedet/semantic/analyze/refs.el" 31857;;;;;; "cedet/semantic/analyze.el" "cedet/semantic/analyze/complete.el"
31819;;;;;; "cedet/semantic/bovine.el" "cedet/semantic/bovine/c-by.el" 31858;;;;;; "cedet/semantic/analyze/debug.el" "cedet/semantic/analyze/fcn.el"
31820;;;;;; "cedet/semantic/bovine/c.el" "cedet/semantic/bovine/debug.el" 31859;;;;;; "cedet/semantic/analyze/refs.el" "cedet/semantic/bovine.el"
31821;;;;;; "cedet/semantic/bovine/el.el" "cedet/semantic/bovine/gcc.el" 31860;;;;;; "cedet/semantic/bovine/c-by.el" "cedet/semantic/bovine/c.el"
31822;;;;;; "cedet/semantic/bovine/make-by.el" "cedet/semantic/bovine/make.el" 31861;;;;;; "cedet/semantic/bovine/debug.el" "cedet/semantic/bovine/el.el"
31823;;;;;; "cedet/semantic/bovine/scm-by.el" "cedet/semantic/bovine/scm.el" 31862;;;;;; "cedet/semantic/bovine/gcc.el" "cedet/semantic/bovine/make-by.el"
31824;;;;;; "cedet/semantic/chart.el" "cedet/semantic/complete.el" "cedet/semantic/ctxt.el" 31863;;;;;; "cedet/semantic/bovine/make.el" "cedet/semantic/bovine/scm-by.el"
31825;;;;;; "cedet/semantic/db-debug.el" "cedet/semantic/db-ebrowse.el" 31864;;;;;; "cedet/semantic/bovine/scm.el" "cedet/semantic/chart.el"
31826;;;;;; "cedet/semantic/db-el.el" "cedet/semantic/db-file.el" "cedet/semantic/db-find.el" 31865;;;;;; "cedet/semantic/complete.el" "cedet/semantic/ctxt.el" "cedet/semantic/db-debug.el"
31827;;;;;; "cedet/semantic/db-global.el" "cedet/semantic/db-javascript.el" 31866;;;;;; "cedet/semantic/db-ebrowse.el" "cedet/semantic/db-el.el"
31828;;;;;; "cedet/semantic/db-mode.el" "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el" 31867;;;;;; "cedet/semantic/db-file.el" "cedet/semantic/db-find.el" "cedet/semantic/db-global.el"
31868;;;;;; "cedet/semantic/db-javascript.el" "cedet/semantic/db-mode.el"
31869;;;;;; "cedet/semantic/db-ref.el" "cedet/semantic/db-typecache.el"
31829;;;;;; "cedet/semantic/db.el" "cedet/semantic/debug.el" "cedet/semantic/decorate.el" 31870;;;;;; "cedet/semantic/db.el" "cedet/semantic/debug.el" "cedet/semantic/decorate.el"
31830;;;;;; "cedet/semantic/decorate/include.el" "cedet/semantic/decorate/mode.el" 31871;;;;;; "cedet/semantic/decorate/include.el" "cedet/semantic/decorate/mode.el"
31831;;;;;; "cedet/semantic/dep.el" "cedet/semantic/doc.el" "cedet/semantic/ede-grammar.el" 31872;;;;;; "cedet/semantic/dep.el" "cedet/semantic/doc.el" "cedet/semantic/ede-grammar.el"
@@ -31859,38 +31900,38 @@ Zone out, completely.
31859;;;;;; "ediff-ptch.el" "ediff-vers.el" "ediff-wind.el" "electric.el" 31900;;;;;; "ediff-ptch.el" "ediff-vers.el" "ediff-wind.el" "electric.el"
31860;;;;;; "emacs-lisp/assoc.el" "emacs-lisp/authors.el" "emacs-lisp/avl-tree.el" 31901;;;;;; "emacs-lisp/assoc.el" "emacs-lisp/authors.el" "emacs-lisp/avl-tree.el"
31861;;;;;; "emacs-lisp/bindat.el" "emacs-lisp/byte-opt.el" "emacs-lisp/chart.el" 31902;;;;;; "emacs-lisp/bindat.el" "emacs-lisp/byte-opt.el" "emacs-lisp/chart.el"
31862;;;;;; "emacs-lisp/cl-compat.el" "emacs-lisp/cl-extra.el" "emacs-lisp/cl-loaddefs.el" 31903;;;;;; "emacs-lisp/cl-extra.el" "emacs-lisp/cl-loaddefs.el" "emacs-lisp/cl-macs.el"
31863;;;;;; "emacs-lisp/cl-macs.el" "emacs-lisp/cl-seq.el" "emacs-lisp/cl-specs.el" 31904;;;;;; "emacs-lisp/cl-seq.el" "emacs-lisp/cl-specs.el" "emacs-lisp/cust-print.el"
31864;;;;;; "emacs-lisp/cust-print.el" "emacs-lisp/eieio-base.el" "emacs-lisp/eieio-comp.el" 31905;;;;;; "emacs-lisp/eieio-base.el" "emacs-lisp/eieio-comp.el" "emacs-lisp/eieio-custom.el"
31865;;;;;; "emacs-lisp/eieio-custom.el" "emacs-lisp/eieio-datadebug.el" 31906;;;;;; "emacs-lisp/eieio-datadebug.el" "emacs-lisp/eieio-opt.el"
31866;;;;;; "emacs-lisp/eieio-opt.el" "emacs-lisp/eieio-speedbar.el" 31907;;;;;; "emacs-lisp/eieio-speedbar.el" "emacs-lisp/eieio.el" "emacs-lisp/find-gc.el"
31867;;;;;; "emacs-lisp/eieio.el" "emacs-lisp/find-gc.el" "emacs-lisp/gulp.el" 31908;;;;;; "emacs-lisp/gulp.el" "emacs-lisp/lisp-mnt.el" "emacs-lisp/regi.el"
31868;;;;;; "emacs-lisp/lisp-mnt.el" "emacs-lisp/lmenu.el" "emacs-lisp/regi.el" 31909;;;;;; "emacs-lisp/smie.el" "emacs-lisp/sregex.el" "emacs-lisp/tcover-ses.el"
31869;;;;;; "emacs-lisp/sregex.el" "emacs-lisp/tcover-ses.el" "emacs-lisp/tcover-unsafep.el" 31910;;;;;; "emacs-lisp/tcover-unsafep.el" "emacs-lock.el" "emulation/cua-gmrk.el"
31870;;;;;; "emacs-lock.el" "emulation/cua-gmrk.el" "emulation/cua-rect.el" 31911;;;;;; "emulation/cua-rect.el" "emulation/edt-lk201.el" "emulation/edt-mapper.el"
31871;;;;;; "emulation/edt-lk201.el" "emulation/edt-mapper.el" "emulation/edt-pc.el" 31912;;;;;; "emulation/edt-pc.el" "emulation/edt-vt100.el" "emulation/tpu-extras.el"
31872;;;;;; "emulation/edt-vt100.el" "emulation/tpu-extras.el" "emulation/viper-cmd.el" 31913;;;;;; "emulation/viper-cmd.el" "emulation/viper-ex.el" "emulation/viper-init.el"
31873;;;;;; "emulation/viper-ex.el" "emulation/viper-init.el" "emulation/viper-keym.el" 31914;;;;;; "emulation/viper-keym.el" "emulation/viper-macs.el" "emulation/viper-mous.el"
31874;;;;;; "emulation/viper-macs.el" "emulation/viper-mous.el" "emulation/viper-util.el" 31915;;;;;; "emulation/viper-util.el" "erc/erc-backend.el" "erc/erc-goodies.el"
31875;;;;;; "erc/erc-backend.el" "erc/erc-goodies.el" "erc/erc-ibuffer.el" 31916;;;;;; "erc/erc-ibuffer.el" "erc/erc-lang.el" "eshell/em-alias.el"
31876;;;;;; "erc/erc-lang.el" "eshell/em-alias.el" "eshell/em-banner.el" 31917;;;;;; "eshell/em-banner.el" "eshell/em-basic.el" "eshell/em-cmpl.el"
31877;;;;;; "eshell/em-basic.el" "eshell/em-cmpl.el" "eshell/em-dirs.el" 31918;;;;;; "eshell/em-dirs.el" "eshell/em-glob.el" "eshell/em-hist.el"
31878;;;;;; "eshell/em-glob.el" "eshell/em-hist.el" "eshell/em-ls.el" 31919;;;;;; "eshell/em-ls.el" "eshell/em-pred.el" "eshell/em-prompt.el"
31879;;;;;; "eshell/em-pred.el" "eshell/em-prompt.el" "eshell/em-rebind.el" 31920;;;;;; "eshell/em-rebind.el" "eshell/em-script.el" "eshell/em-smart.el"
31880;;;;;; "eshell/em-script.el" "eshell/em-smart.el" "eshell/em-term.el" 31921;;;;;; "eshell/em-term.el" "eshell/em-unix.el" "eshell/em-xtra.el"
31881;;;;;; "eshell/em-unix.el" "eshell/em-xtra.el" "eshell/esh-arg.el" 31922;;;;;; "eshell/esh-arg.el" "eshell/esh-cmd.el" "eshell/esh-ext.el"
31882;;;;;; "eshell/esh-cmd.el" "eshell/esh-ext.el" "eshell/esh-io.el" 31923;;;;;; "eshell/esh-io.el" "eshell/esh-module.el" "eshell/esh-opt.el"
31883;;;;;; "eshell/esh-module.el" "eshell/esh-opt.el" "eshell/esh-proc.el" 31924;;;;;; "eshell/esh-proc.el" "eshell/esh-util.el" "eshell/esh-var.el"
31884;;;;;; "eshell/esh-util.el" "eshell/esh-var.el" "ezimage.el" "foldout.el" 31925;;;;;; "ezimage.el" "foldout.el" "font-setting.el" "format-spec.el"
31885;;;;;; "font-setting.el" "format-spec.el" "forms-d2.el" "forms-pass.el" 31926;;;;;; "forms-d2.el" "forms-pass.el" "fringe.el" "generic-x.el"
31886;;;;;; "fringe.el" "generic-x.el" "gnus/auth-source.el" "gnus/compface.el" 31927;;;;;; "gnus/auth-source.el" "gnus/compface.el" "gnus/gnus-async.el"
31887;;;;;; "gnus/gnus-async.el" "gnus/gnus-bcklg.el" "gnus/gnus-cite.el" 31928;;;;;; "gnus/gnus-bcklg.el" "gnus/gnus-cite.el" "gnus/gnus-cus.el"
31888;;;;;; "gnus/gnus-cus.el" "gnus/gnus-demon.el" "gnus/gnus-dup.el" 31929;;;;;; "gnus/gnus-demon.el" "gnus/gnus-dup.el" "gnus/gnus-eform.el"
31889;;;;;; "gnus/gnus-eform.el" "gnus/gnus-ems.el" "gnus/gnus-int.el" 31930;;;;;; "gnus/gnus-ems.el" "gnus/gnus-int.el" "gnus/gnus-logic.el"
31890;;;;;; "gnus/gnus-logic.el" "gnus/gnus-mh.el" "gnus/gnus-salt.el" 31931;;;;;; "gnus/gnus-mh.el" "gnus/gnus-salt.el" "gnus/gnus-score.el"
31891;;;;;; "gnus/gnus-score.el" "gnus/gnus-setup.el" "gnus/gnus-srvr.el" 31932;;;;;; "gnus/gnus-setup.el" "gnus/gnus-srvr.el" "gnus/gnus-sum.el"
31892;;;;;; "gnus/gnus-sum.el" "gnus/gnus-topic.el" "gnus/gnus-undo.el" 31933;;;;;; "gnus/gnus-topic.el" "gnus/gnus-undo.el" "gnus/gnus-util.el"
31893;;;;;; "gnus/gnus-util.el" "gnus/gnus-uu.el" "gnus/gnus-vm.el" "gnus/ietf-drums.el" 31934;;;;;; "gnus/gnus-uu.el" "gnus/gnus-vm.el" "gnus/ietf-drums.el"
31894;;;;;; "gnus/legacy-gnus-agent.el" "gnus/mail-parse.el" "gnus/mail-prsvr.el" 31935;;;;;; "gnus/legacy-gnus-agent.el" "gnus/mail-parse.el" "gnus/mail-prsvr.el"
31895;;;;;; "gnus/mail-source.el" "gnus/mailcap.el" "gnus/messcompat.el" 31936;;;;;; "gnus/mail-source.el" "gnus/mailcap.el" "gnus/messcompat.el"
31896;;;;;; "gnus/mm-bodies.el" "gnus/mm-decode.el" "gnus/mm-encode.el" 31937;;;;;; "gnus/mm-bodies.el" "gnus/mm-decode.el" "gnus/mm-encode.el"
@@ -31971,8 +32012,8 @@ Zone out, completely.
31971;;;;;; "url/url-expand.el" "url/url-ftp.el" "url/url-history.el" 32012;;;;;; "url/url-expand.el" "url/url-ftp.el" "url/url-history.el"
31972;;;;;; "url/url-imap.el" "url/url-methods.el" "url/url-nfs.el" "url/url-proxy.el" 32013;;;;;; "url/url-imap.el" "url/url-methods.el" "url/url-nfs.el" "url/url-proxy.el"
31973;;;;;; "url/url-vars.el" "vc-dav.el" "vcursor.el" "vt-control.el" 32014;;;;;; "url/url-vars.el" "vc-dav.el" "vcursor.el" "vt-control.el"
31974;;;;;; "vt100-led.el" "w32-fns.el" "w32-vars.el" "x-dnd.el") (19428 32015;;;;;; "vt100-led.el" "w32-fns.el" "w32-vars.el" "x-dnd.el") (19672
31975;;;;;; 55161 909254)) 32016;;;;;; 46342 903499))
31976 32017
31977;;;*** 32018;;;***
31978 32019
diff --git a/lisp/locate.el b/lisp/locate.el
index d0021dfed22..ce1154c9739 100644
--- a/lisp/locate.el
+++ b/lisp/locate.el
@@ -270,7 +270,7 @@ that is, with a prefix arg, you get the default behavior."
270(defun locate (search-string &optional filter arg) 270(defun locate (search-string &optional filter arg)
271 "Run the program `locate', putting results in `*Locate*' buffer. 271 "Run the program `locate', putting results in `*Locate*' buffer.
272Pass it SEARCH-STRING as argument. Interactively, prompt for SEARCH-STRING. 272Pass it SEARCH-STRING as argument. Interactively, prompt for SEARCH-STRING.
273With prefix arg, prompt for the exact shell command to run instead. 273With prefix arg ARG, prompt for the exact shell command to run instead.
274 274
275This program searches for those file names in a database that match 275This program searches for those file names in a database that match
276SEARCH-STRING and normally outputs all matching absolute file names, 276SEARCH-STRING and normally outputs all matching absolute file names,
@@ -286,7 +286,8 @@ the variables `locate-command' or `locate-make-command-line'.
286The main use of FILTER is to implement `locate-with-filter'. See 286The main use of FILTER is to implement `locate-with-filter'. See
287the docstring of that function for its meaning. 287the docstring of that function for its meaning.
288 288
289ARG is the interactive prefix arg." 289After preparing the results buffer, this runs `dired-mode-hook' and
290then `locate-post-command-hook'."
290 (interactive 291 (interactive
291 (list 292 (list
292 (locate-prompt-for-search-string) 293 (locate-prompt-for-search-string)
@@ -300,8 +301,7 @@ ARG is the interactive prefix arg."
300 (locate-cmd-args (cdr locate-cmd-list)) 301 (locate-cmd-args (cdr locate-cmd-list))
301 (run-locate-command 302 (run-locate-command
302 (or (and arg (not locate-prompt-for-command)) 303 (or (and arg (not locate-prompt-for-command))
303 (and (not arg) locate-prompt-for-command))) 304 (and (not arg) locate-prompt-for-command))))
304 )
305 305
306 ;; Find the Locate buffer 306 ;; Find the Locate buffer
307 (save-window-excursion 307 (save-window-excursion
@@ -323,16 +323,13 @@ ARG is the interactive prefix arg."
323 (and filter 323 (and filter
324 (locate-filter-output filter)) 324 (locate-filter-output filter))
325 325
326 (locate-do-setup search-string) 326 (locate-do-setup search-string)))
327 ))
328 (and (not (string-equal (buffer-name) locate-buffer-name)) 327 (and (not (string-equal (buffer-name) locate-buffer-name))
329 (switch-to-buffer-other-window locate-buffer-name)) 328 (switch-to-buffer-other-window locate-buffer-name))
330 329
331 (run-hooks 'dired-mode-hook) 330 (run-hooks 'dired-mode-hook)
332 (dired-next-line 3) ;move to first matching file. 331 (dired-next-line 3) ;move to first matching file.
333 (run-hooks 'locate-post-command-hook) 332 (run-hooks 'locate-post-command-hook)))
334 )
335 )
336 333
337;;;###autoload 334;;;###autoload
338(defun locate-with-filter (search-string filter &optional arg) 335(defun locate-with-filter (search-string filter &optional arg)
@@ -447,6 +444,7 @@ file name or is inside a subdirectory."
447\\<locate-mode-map>\ 444\\<locate-mode-map>\
448In that buffer, you can use almost all the usual dired bindings. 445In that buffer, you can use almost all the usual dired bindings.
449\\[locate-find-directory] visits the directory of the file on the current line. 446\\[locate-find-directory] visits the directory of the file on the current line.
447This function runs `locate-mode-hook' before returning.
450 448
451Operating on listed files works, but does not always 449Operating on listed files works, but does not always
452automatically update the buffer as in ordinary Dired. 450automatically update the buffer as in ordinary Dired.
@@ -687,5 +685,4 @@ the database on the command line."
687 685
688(provide 'locate) 686(provide 'locate)
689 687
690;; arch-tag: 60c4d098-b5d5-4b3c-a3e0-51a2e9f43898
691;;; locate.el ends here 688;;; locate.el ends here
diff --git a/lisp/log-edit.el b/lisp/log-edit.el
index 10c6d480d23..0d3061ad2df 100644
--- a/lisp/log-edit.el
+++ b/lisp/log-edit.el
@@ -125,6 +125,7 @@ If SETUP is 'force, this variable has no effect."
125 :type 'boolean) 125 :type 'boolean)
126 126
127(defcustom log-edit-hook '(log-edit-insert-cvs-template 127(defcustom log-edit-hook '(log-edit-insert-cvs-template
128 log-edit-show-files
128 log-edit-insert-changelog) 129 log-edit-insert-changelog)
129 "Hook run at the end of `log-edit'." 130 "Hook run at the end of `log-edit'."
130 :group 'log-edit 131 :group 'log-edit
@@ -188,6 +189,7 @@ when this variable is set to nil.")
188(defvar log-edit-callback nil) 189(defvar log-edit-callback nil)
189(defvar log-edit-diff-function nil) 190(defvar log-edit-diff-function nil)
190(defvar log-edit-listfun nil) 191(defvar log-edit-listfun nil)
192
191(defvar log-edit-parent-buffer nil) 193(defvar log-edit-parent-buffer nil)
192 194
193;;; Originally taken from VC-Log mode 195;;; Originally taken from VC-Log mode
@@ -312,15 +314,59 @@ automatically."
312;;; Actual code 314;;; Actual code
313;;; 315;;;
314 316
317(defface log-edit-summary '((t :inherit font-lock-function-name-face))
318 "Face for the summary in `log-edit-mode' buffers.")
319
320(defface log-edit-header '((t :inherit font-lock-keyword-face))
321 "Face for the headers in `log-edit-mode' buffers.")
322
323(defface log-edit-unknown-header '((t :inherit font-lock-comment-face))
324 "Face for unknown headers in `log-edit-mode' buffers.")
325
326(defvar log-edit-headers-alist '(("Summary" . log-edit-summary)
327 ("Fixes") ("Author"))
328 "AList of known headers and the face to use to highlight them.")
329
330(defconst log-edit-header-contents-regexp
331 "[ \t]*\\(.*\\(\n[ \t].*\\)*\\)\n?")
332
333(defun log-edit-match-to-eoh (limit)
334 ;; FIXME: copied from message-match-to-eoh.
335 (let ((start (point)))
336 (rfc822-goto-eoh)
337 ;; Typical situation: some temporary change causes the header to be
338 ;; incorrect, so EOH comes earlier than intended: the last lines of the
339 ;; intended headers are now not considered part of the header any more,
340 ;; so they don't have the multiline property set. When the change is
341 ;; completed and the header has its correct shape again, the lack of the
342 ;; multiline property means we won't rehighlight the last lines of
343 ;; the header.
344 (if (< (point) start)
345 nil ;No header within start..limit.
346 ;; Here we disregard LIMIT so that we may extend the area again.
347 (set-match-data (list start (point)))
348 (point))))
349
315(defvar log-edit-font-lock-keywords 350(defvar log-edit-font-lock-keywords
316 '(("\\`\\(Summary:\\)\\(.*\\)" 351 ;; Copied/inspired by message-font-lock-keywords.
317 (1 font-lock-keyword-face) 352 `((log-edit-match-to-eoh
318 (2 font-lock-function-name-face)))) 353 (,(concat "^\\(\\([a-z]+\\):\\)" log-edit-header-contents-regexp
354 "\\|\\(.*\\)")
355 (progn (goto-char (match-beginning 0)) (match-end 0)) nil
356 (1 (if (assoc (match-string 2) log-edit-headers-alist)
357 'log-edit-header
358 'log-edit-unknown-header)
359 nil lax)
360 (3 (or (cdr (assoc (match-string 2) log-edit-headers-alist))
361 'log-edit-header)
362 nil lax)
363 (4 font-lock-warning-face)))))
319 364
320;;;###autoload 365;;;###autoload
321(defun log-edit (callback &optional setup params buffer &rest ignore) 366(defun log-edit (callback &optional setup params buffer mode &rest ignore)
322 "Setup a buffer to enter a log message. 367 "Setup a buffer to enter a log message.
323\\<log-edit-mode-map>The buffer will be put in `log-edit-mode'. 368\\<log-edit-mode-map>The buffer will be put in mode MODE or `log-edit-mode'
369if MODE is nil.
324If SETUP is non-nil, the buffer is then erased and `log-edit-hook' is run. 370If SETUP is non-nil, the buffer is then erased and `log-edit-hook' is run.
325Mark and point will be set around the entire contents of the buffer so 371Mark and point will be set around the entire contents of the buffer so
326that it is easy to kill the contents of the buffer with \\[kill-region]. 372that it is easy to kill the contents of the buffer with \\[kill-region].
@@ -340,8 +386,13 @@ uses the current buffer."
340 (if buffer (pop-to-buffer buffer)) 386 (if buffer (pop-to-buffer buffer))
341 (when (and log-edit-setup-invert (not (eq setup 'force))) 387 (when (and log-edit-setup-invert (not (eq setup 'force)))
342 (setq setup (not setup))) 388 (setq setup (not setup)))
343 (when setup (erase-buffer)) 389 (when setup
344 (log-edit-mode) 390 (erase-buffer)
391 (insert "Summary: ")
392 (save-excursion (insert "\n\n")))
393 (if mode
394 (funcall mode)
395 (log-edit-mode))
345 (set (make-local-variable 'log-edit-callback) callback) 396 (set (make-local-variable 'log-edit-callback) callback)
346 (if (listp params) 397 (if (listp params)
347 (dolist (crt params) 398 (dolist (crt params)
@@ -367,7 +418,7 @@ commands (under C-x v for VC, for example).
367 418
368\\{log-edit-mode-map}" 419\\{log-edit-mode-map}"
369 (set (make-local-variable 'font-lock-defaults) 420 (set (make-local-variable 'font-lock-defaults)
370 '(log-edit-font-lock-keywords t)) 421 '(log-edit-font-lock-keywords t t))
371 (make-local-variable 'log-edit-comment-ring-index)) 422 (make-local-variable 'log-edit-comment-ring-index))
372 423
373(defun log-edit-hide-buf (&optional buf where) 424(defun log-edit-hide-buf (&optional buf where)
@@ -380,6 +431,17 @@ commands (under C-x v for VC, for example).
380 "Finish editing the log message and commit the files. 431 "Finish editing the log message and commit the files.
381If you want to abort the commit, simply delete the buffer." 432If you want to abort the commit, simply delete the buffer."
382 (interactive) 433 (interactive)
434 ;; Clean up empty headers.
435 (goto-char (point-min))
436 (while (looking-at (concat "^[a-z]*:" log-edit-header-contents-regexp))
437 (let ((beg (match-beginning 0)))
438 (goto-char (match-end 0))
439 (if (string-match "\\`[ \n\t]*\\'" (match-string 1))
440 (delete-region beg (point)))))
441 ;; Get rid of leading empty lines.
442 (goto-char (point-min))
443 (when (looking-at "\\([ \t]*\n\\)+")
444 (delete-region (match-beginning 0) (match-end 0)))
383 ;; Get rid of trailing empty lines 445 ;; Get rid of trailing empty lines
384 (goto-char (point-max)) 446 (goto-char (point-max))
385 (skip-syntax-backward " ") 447 (skip-syntax-backward " ")
@@ -437,12 +499,13 @@ If you want to abort the commit, simply delete the buffer."
437 "(Un)Indent the current buffer rigidly to `log-edit-common-indent'." 499 "(Un)Indent the current buffer rigidly to `log-edit-common-indent'."
438 (save-excursion 500 (save-excursion
439 (let ((common (point-max))) 501 (let ((common (point-max)))
440 (goto-char (point-min)) 502 (rfc822-goto-eoh)
441 (while (< (point) (point-max)) 503 (while (< (point) (point-max))
442 (if (not (looking-at "^[ \t]*$")) 504 (if (not (looking-at "^[ \t]*$"))
443 (setq common (min common (current-indentation)))) 505 (setq common (min common (current-indentation))))
444 (forward-line 1)) 506 (forward-line 1))
445 (indent-rigidly (point-min) (point-max) 507 (rfc822-goto-eoh)
508 (indent-rigidly (point) (point-max)
446 (- log-edit-common-indent common))))) 509 (- log-edit-common-indent common)))))
447 510
448(defun log-edit-show-diff () 511(defun log-edit-show-diff ()
@@ -508,6 +571,16 @@ can thus take some time."
508 (log-edit-comment-to-change-log))))) 571 (log-edit-comment-to-change-log)))))
509 572
510(defvar log-edit-changelog-use-first nil) 573(defvar log-edit-changelog-use-first nil)
574
575(defvar log-edit-rewrite-fixes nil
576 "Rule to rewrite bug numbers into Fixes: headers.
577The value should be of the form (REGEXP . REPLACEMENT)
578where REGEXP should match the expression referring to a bug number
579in the text, and REPLACEMENT is an expression to pass to `replace-match'
580to build the Fixes: header.")
581(put 'log-edit-rewrite-fixes 'safe-local-variable
582 (lambda (v) (and (stringp (car-safe v)) (stringp (cdr v)))))
583
511(defun log-edit-insert-changelog (&optional use-first) 584(defun log-edit-insert-changelog (&optional use-first)
512 "Insert a log message by looking at the ChangeLog. 585 "Insert a log message by looking at the ChangeLog.
513The idea is to write your ChangeLog entries first, and then use this 586The idea is to write your ChangeLog entries first, and then use this
@@ -525,18 +598,38 @@ If the optional prefix arg USE-FIRST is given (via \\[universal-argument]),
525or if the command is repeated a second time in a row, use the first log entry 598or if the command is repeated a second time in a row, use the first log entry
526regardless of user name or time." 599regardless of user name or time."
527 (interactive "P") 600 (interactive "P")
528 (let ((log-edit-changelog-use-first 601 (let ((eoh (save-excursion (rfc822-goto-eoh) (point))))
529 (or use-first (eq last-command 'log-edit-insert-changelog)))) 602 (when (<= (point) eoh)
530 (log-edit-insert-changelog-entries (log-edit-files))) 603 (goto-char eoh)
531 (log-edit-set-common-indentation) 604 (if (looking-at "\n") (forward-char 1))))
532 (goto-char (point-min)) 605 (let ((author
533 (when (and log-edit-strip-single-file-name (looking-at "\\*\\s-+")) 606 (let ((log-edit-changelog-use-first
534 (forward-line 1) 607 (or use-first (eq last-command 'log-edit-insert-changelog))))
535 (when (not (re-search-forward "^\\*\\s-+" nil t)) 608 (log-edit-insert-changelog-entries (log-edit-files)))))
536 (goto-char (point-min)) 609 (log-edit-set-common-indentation)
537 (skip-chars-forward "^():") 610 ;; Add an Author: field if appropriate.
538 (skip-chars-forward ": ") 611 (when author
539 (delete-region (point-min) (point))))) 612 (rfc822-goto-eoh)
613 (insert "Author: " author "\n" (if (looking-at "\n") "" "\n")))
614 ;; Add a Fixes: field if applicable.
615 (when (consp log-edit-rewrite-fixes)
616 (rfc822-goto-eoh)
617 (when (re-search-forward (car log-edit-rewrite-fixes) nil t)
618 (let ((start (match-beginning 0))
619 (end (match-end 0))
620 (fixes (match-substitute-replacement
621 (cdr log-edit-rewrite-fixes))))
622 (delete-region start end)
623 (rfc822-goto-eoh)
624 (insert "Fixes: " fixes "\n" (if (looking-at "\n") "" "\n")))))
625 (goto-char (point-min))
626 (when (and log-edit-strip-single-file-name (looking-at "\\*\\s-+"))
627 (forward-line 1)
628 (when (not (re-search-forward "^\\*\\s-+" nil t))
629 (goto-char (point-min))
630 (skip-chars-forward "^():")
631 (skip-chars-forward ": ")
632 (delete-region (point-min) (point))))))
540 633
541;;;; 634;;;;
542;;;; functions for getting commit message from ChangeLog a file... 635;;;; functions for getting commit message from ChangeLog a file...
@@ -602,6 +695,9 @@ for more details."
602 695
603(defvar user-full-name) 696(defvar user-full-name)
604(defvar user-mail-address) 697(defvar user-mail-address)
698
699(defvar log-edit-author) ;Dynamically scoped.
700
605(defun log-edit-changelog-ours-p () 701(defun log-edit-changelog-ours-p ()
606 "See if ChangeLog entry at point is for the current user, today. 702 "See if ChangeLog entry at point is for the current user, today.
607Return non-nil if it is." 703Return non-nil if it is."
@@ -616,14 +712,28 @@ Return non-nil if it is."
616 (functionp add-log-time-format) 712 (functionp add-log-time-format)
617 (funcall add-log-time-format)) 713 (funcall add-log-time-format))
618 (format-time-string "%Y-%m-%d")))) 714 (format-time-string "%Y-%m-%d"))))
619 (looking-at (if log-edit-changelog-use-first 715 (if (null log-edit-changelog-use-first)
620 "[^ \t]" 716 (looking-at (regexp-quote (format "%s %s <%s>" time name mail)))
621 (regexp-quote (format "%s %s <%s>" time name mail)))))) 717 ;; Check the author, to potentially add it as a "Author: " header.
718 (when (looking-at "[^ \t]")
719 (when (and (boundp 'log-edit-author)
720 (not (looking-at (format ".+ .+ <%s>"
721 (regexp-quote mail))))
722 (looking-at ".+ \\(.+ <.+>\\)"))
723 (let ((author (replace-regexp-in-string " " " "
724 (match-string 1))))
725 (unless (and log-edit-author
726 (string-match (regexp-quote author) log-edit-author))
727 (setq log-edit-author
728 (if log-edit-author
729 (concat log-edit-author ", " author)
730 author)))))
731 t))))
622 732
623(defun log-edit-changelog-entries (file) 733(defun log-edit-changelog-entries (file)
624 "Return the ChangeLog entries for FILE, and the ChangeLog they came from. 734 "Return the ChangeLog entries for FILE, and the ChangeLog they came from.
625The return value looks like this: 735The return value looks like this:
626 (LOGBUFFER (ENTRYSTART . ENTRYEND) ...) 736 (LOGBUFFER (ENTRYSTART ENTRYEND) ...)
627where LOGBUFFER is the name of the ChangeLog buffer, and each 737where LOGBUFFER is the name of the ChangeLog buffer, and each
628\(ENTRYSTART . ENTRYEND\) pair is a buffer region." 738\(ENTRYSTART . ENTRYEND\) pair is a buffer region."
629 (let ((changelog-file-name 739 (let ((changelog-file-name
@@ -681,34 +791,87 @@ where LOGBUFFER is the name of the ChangeLog buffer, and each
681 791
682 (cons (current-buffer) texts)))))))) 792 (cons (current-buffer) texts))))))))
683 793
684(defun log-edit-changelog-insert-entries (buffer regions) 794(defun log-edit-changelog-insert-entries (buffer beg end &rest files)
685 "Insert those regions in BUFFER specified in REGIONS. 795 "Insert the text from BUFFER between BEG and END.
686Sort REGIONS front-to-back first." 796Rename relative filenames in the ChangeLog entry as FILES."
687 (let ((regions (sort regions 'car-less-than-car)) 797 (let ((opoint (point))
688 (last)) 798 (log-name (buffer-file-name buffer))
689 (dolist (region regions) 799 (case-fold-search nil)
690 (when (and last (< last (car region))) (newline)) 800 bound)
691 (setq last (elt region 1)) 801 (insert-buffer-substring buffer beg end)
692 (apply 'insert-buffer-substring buffer region)))) 802 (setq bound (point-marker))
803 (when log-name
804 (dolist (f files)
805 (save-excursion
806 (goto-char opoint)
807 (when (re-search-forward
808 (concat "\\(^\\|[ \t]\\)\\("
809 (file-relative-name f (file-name-directory log-name))
810 "\\)[, :\n]")
811 bound t)
812 (replace-match f t t nil 2)))))
813 ;; Eliminate tabs at the beginning of the line.
814 (save-excursion
815 (goto-char opoint)
816 (while (re-search-forward "^\\(\t+\\)" bound t)
817 (replace-match "")))))
693 818
694(defun log-edit-insert-changelog-entries (files) 819(defun log-edit-insert-changelog-entries (files)
695 "Given a list of files FILES, insert the ChangeLog entries for them." 820 "Given a list of files FILES, insert the ChangeLog entries for them."
696 (let ((buffer-entries nil)) 821 (let ((log-entries nil)
697 822 (log-edit-author nil))
698 ;; Add each buffer to buffer-entries, and associate it with the list 823 ;; Note that any ChangeLog entry can apply to more than one file.
699 ;; of entries we want from that file. 824 ;; Here we construct a log-entries list with elements of the form
825 ;; ((LOGBUFFER ENTRYSTART ENTRYEND) FILE1 FILE2...)
700 (dolist (file files) 826 (dolist (file files)
701 (let* ((entries (log-edit-changelog-entries file)) 827 (let* ((entries (log-edit-changelog-entries file))
702 (pair (assq (car entries) buffer-entries))) 828 (buf (car entries))
703 (if pair 829 key entry)
704 (setcdr pair (cvs-union (cdr pair) (cdr entries))) 830 (dolist (region (cdr entries))
705 (push entries buffer-entries)))) 831 (setq key (cons buf region))
706 832 (if (setq entry (assoc key log-entries))
707 ;; Now map over each buffer in buffer-entries, sort the entries for 833 (setcdr entry (append (cdr entry) (list file)))
708 ;; each buffer, and extract them as strings. 834 (push (list key file) log-entries)))))
709 (dolist (buffer-entry buffer-entries) 835 ;; Now map over log-entries, and extract the strings.
710 (log-edit-changelog-insert-entries (car buffer-entry) (cdr buffer-entry)) 836 (dolist (log-entry (nreverse log-entries))
711 (when (cdr buffer-entry) (newline))))) 837 (apply 'log-edit-changelog-insert-entries
838 (append (car log-entry) (cdr log-entry)))
839 (insert "\n"))
840 log-edit-author))
841
842(defun log-edit-extract-headers (headers comment)
843 "Extract headers from COMMENT to form command line arguments.
844HEADERS should be an alist with elements of the form (HEADER . CMDARG)
845associating header names to the corresponding cmdline option name and the
846result is then a list of the form (MSG CMDARG1 HDRTEXT1 CMDARG2 HDRTEXT2...).
847where MSG is the remaining text from STRING.
848If \"Summary\" is not in HEADERS, then the \"Summary\" header is extracted
849anyway and put back as the first line of MSG."
850 (with-temp-buffer
851 (insert comment)
852 (rfc822-goto-eoh)
853 (narrow-to-region (point-min) (point))
854 (let ((case-fold-search t)
855 (summary ())
856 (res ()))
857 (dolist (header (if (assoc "Summary" headers) headers
858 (cons '("Summary" . t) headers)))
859 (goto-char (point-min))
860 (while (re-search-forward (concat "^" (car header)
861 ":" log-edit-header-contents-regexp)
862 nil t)
863 (if (eq t (cdr header))
864 (setq summary (match-string 1))
865 (push (match-string 1) res)
866 (push (or (cdr header) (car header)) res))
867 (replace-match "" t t)))
868 ;; Remove header separator if the header is empty.
869 (widen)
870 (goto-char (point-min))
871 (when (looking-at "\\([ \t]*\n\\)+")
872 (delete-region (match-beginning 0) (match-end 0)))
873 (if summary (insert summary "\n"))
874 (cons (buffer-string) res))))
712 875
713(provide 'log-edit) 876(provide 'log-edit)
714 877
diff --git a/lisp/log-view.el b/lisp/log-view.el
index 6fbe8429671..6d0e1332830 100644
--- a/lisp/log-view.el
+++ b/lisp/log-view.el
@@ -128,6 +128,7 @@
128(easy-mmode-defmap log-view-mode-map 128(easy-mmode-defmap log-view-mode-map
129 '(("z" . kill-this-buffer) 129 '(("z" . kill-this-buffer)
130 ("q" . quit-window) 130 ("q" . quit-window)
131 ("g" . revert-buffer)
131 ("m" . log-view-toggle-mark-entry) 132 ("m" . log-view-toggle-mark-entry)
132 ("e" . log-view-modify-change-comment) 133 ("e" . log-view-modify-change-comment)
133 ("d" . log-view-diff) 134 ("d" . log-view-diff)
diff --git a/lisp/lpr.el b/lisp/lpr.el
index 51b68c1ab48..812db4c2630 100644
--- a/lisp/lpr.el
+++ b/lisp/lpr.el
@@ -152,7 +152,9 @@ The variable `lpr-page-header-program' specifies the program to use."
152 "Print buffer contents without pagination or page headers. 152 "Print buffer contents without pagination or page headers.
153See the variables `lpr-switches' and `lpr-command' 153See the variables `lpr-switches' and `lpr-command'
154for customization of the printer command." 154for customization of the printer command."
155 (interactive) 155 (interactive
156 (unless (y-or-n-p "Send current buffer to default printer? ")
157 (error "Cancelled")))
156 (print-region-1 (point-min) (point-max) lpr-switches nil)) 158 (print-region-1 (point-min) (point-max) lpr-switches nil))
157 159
158;;;###autoload 160;;;###autoload
@@ -169,7 +171,9 @@ in the print command itself; we expect them to request pagination.
169 171
170See the variables `lpr-switches' and `lpr-command' 172See the variables `lpr-switches' and `lpr-command'
171for further customization of the printer command." 173for further customization of the printer command."
172 (interactive) 174 (interactive
175 (unless (y-or-n-p "Send current buffer to default printer? ")
176 (error "Cancelled")))
173 (print-region-1 (point-min) (point-max) lpr-switches t)) 177 (print-region-1 (point-min) (point-max) lpr-switches t))
174 178
175;;;###autoload 179;;;###autoload
@@ -177,7 +181,10 @@ for further customization of the printer command."
177 "Print region contents without pagination or page headers. 181 "Print region contents without pagination or page headers.
178See the variables `lpr-switches' and `lpr-command' 182See the variables `lpr-switches' and `lpr-command'
179for customization of the printer command." 183for customization of the printer command."
180 (interactive "r") 184 (interactive
185 (if (y-or-n-p "Send selected text to default printer? ")
186 (list (region-beginning) (region-end))
187 (error "Cancelled")))
181 (print-region-1 start end lpr-switches nil)) 188 (print-region-1 start end lpr-switches nil))
182 189
183;;;###autoload 190;;;###autoload
@@ -194,7 +201,10 @@ in the print command itself; we expect them to request pagination.
194 201
195See the variables `lpr-switches' and `lpr-command' 202See the variables `lpr-switches' and `lpr-command'
196for further customization of the printer command." 203for further customization of the printer command."
197 (interactive "r") 204 (interactive
205 (if (y-or-n-p "Send selected text to default printer? ")
206 (list (region-beginning) (region-end))
207 (error "Cancelled")))
198 (print-region-1 start end lpr-switches t)) 208 (print-region-1 start end lpr-switches t))
199 209
200(defun print-region-1 (start end switches page-headers) 210(defun print-region-1 (start end switches page-headers)
diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el
index 4435ec9bd1e..c7023add59b 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -86,10 +86,16 @@ option will have no effect until you restart Emacs."
86 (const UNIX)) 86 (const UNIX))
87 :group 'ls-lisp) 87 :group 'ls-lisp)
88 88
89;; Only made an obsolete alias in 23.3. Before that, the initial
90;; value was set according to:
91;; (or (memq ls-lisp-emulation '(MS-Windows MacOS))
92;; (and (boundp 'ls-lisp-dired-ignore-case) ls-lisp-dired-ignore-case))
93;; Which isn't the right thing to do.
94(define-obsolete-variable-alias 'ls-lisp-dired-ignore-case
95 'ls-lisp-ignore-case "21.1")
96
89(defcustom ls-lisp-ignore-case 97(defcustom ls-lisp-ignore-case
90 ;; Name change for consistency with other option names. 98 (memq ls-lisp-emulation '(MS-Windows MacOS))
91 (or (memq ls-lisp-emulation '(MS-Windows MacOS))
92 (and (boundp 'ls-lisp-dired-ignore-case) ls-lisp-dired-ignore-case))
93 "Non-nil causes ls-lisp alphabetic sorting to ignore case." 99 "Non-nil causes ls-lisp alphabetic sorting to ignore case."
94 :type 'boolean 100 :type 'boolean
95 :group 'ls-lisp) 101 :group 'ls-lisp)
@@ -219,7 +225,8 @@ The Lisp emulation does not run any external programs or shells. It
219supports ordinary shell wildcards if `ls-lisp-support-shell-wildcards' 225supports ordinary shell wildcards if `ls-lisp-support-shell-wildcards'
220is non-nil; otherwise, it interprets wildcards as regular expressions 226is non-nil; otherwise, it interprets wildcards as regular expressions
221to match file names. It does not support all `ls' switches -- those 227to match file names. It does not support all `ls' switches -- those
222that work are: A a c i r S s t u U X g G B C R n and F partly." 228that work are: A a B C c F G g h i n R r S s t U u X. The l switch
229is assumed to be always present and cannot be turned off."
223 (if ls-lisp-use-insert-directory-program 230 (if ls-lisp-use-insert-directory-program
224 (funcall original-insert-directory 231 (funcall original-insert-directory
225 file switches wildcard full-directory-p) 232 file switches wildcard full-directory-p)
@@ -235,7 +242,7 @@ that work are: A a c i r S s t u U X g G B C R n and F partly."
235 (if (string-match "--dired " switches) 242 (if (string-match "--dired " switches)
236 (setq switches (replace-match "" nil nil switches))) 243 (setq switches (replace-match "" nil nil switches)))
237 ;; Convert SWITCHES to a list of characters. 244 ;; Convert SWITCHES to a list of characters.
238 (setq switches (delete ?- (append switches nil))) 245 (setq switches (delete ?\ (delete ?- (append switches nil))))
239 ;; Sometimes we get ".../foo*/" as FILE. While the shell and 246 ;; Sometimes we get ".../foo*/" as FILE. While the shell and
240 ;; `ls' don't mind, we certainly do, because it makes us think 247 ;; `ls' don't mind, we certainly do, because it makes us think
241 ;; there is no wildcard, only a directory name. 248 ;; there is no wildcard, only a directory name.
@@ -405,7 +412,11 @@ not contain `d', so that a full listing is expected."
405 (setq file (substring file 0 -1))) 412 (setq file (substring file 0 -1)))
406 (let ((fattr (file-attributes file 'string))) 413 (let ((fattr (file-attributes file 'string)))
407 (if fattr 414 (if fattr
408 (insert (ls-lisp-format file fattr (nth 7 fattr) 415 (insert (ls-lisp-format
416 (if (memq ?F switches)
417 (ls-lisp-classify-file file fattr)
418 file)
419 fattr (nth 7 fattr)
409 switches time-index (current-time))) 420 switches time-index (current-time)))
410 (message "%s: doesn't exist or is inaccessible" file) 421 (message "%s: doesn't exist or is inaccessible" file)
411 (ding) (sit-for 2))))) ; to show user the message! 422 (ding) (sit-for 2))))) ; to show user the message!
@@ -522,29 +533,40 @@ SWITCHES is a list of characters. Default sorting is alphabetic."
522 (nreverse file-alist) 533 (nreverse file-alist)
523 file-alist)) 534 file-alist))
524 535
536(defun ls-lisp-classify-file (filename fattr)
537 "Append a character to FILENAME indicating the file type.
538
539FATTR is the file attributes returned by `file-attributes' for the file.
540The file type indicators are `/' for directories, `@' for symbolic
541links, `|' for FIFOs, `=' for sockets, `*' for regular files that
542are executable, and nothing for other types of files."
543 (let* ((type (car fattr))
544 (modestr (nth 8 fattr))
545 (typestr (substring modestr 0 1)))
546 (cond
547 (type
548 (concat filename (if (eq type t) "/" "@")))
549 ((string-match "x" modestr)
550 (concat filename "*"))
551 ((string= "p" typestr)
552 (concat filename "|"))
553 ((string= "s" typestr)
554 (concat filename "="))
555 (t filename))))
556
525(defun ls-lisp-classify (filedata) 557(defun ls-lisp-classify (filedata)
526 "Append a character to each file name indicating the file type. 558 "Append a character to file name in FILEDATA indicating the file type.
527Also, for regular files that are executable, append `*'. 559
560FILEDATA has the form (FILENAME . ATTRIBUTES), where ATTRIBUTES is the
561structure returned by `file-attributes' for that file.
562
528The file type indicators are `/' for directories, `@' for symbolic 563The file type indicators are `/' for directories, `@' for symbolic
529links, `|' for FIFOs, `=' for sockets, and nothing for regular files. 564links, `|' for FIFOs, `=' for sockets, `*' for regular files that
530\[But FIFOs and sockets are not recognized.] 565are executable, and nothing for other types of files."
531FILEDATA has the form (filename . `file-attributes'). Its `cadr' is t
532for directory, string (name linked to) for symbolic link, or nil."
533 (let ((file-name (car filedata)) 566 (let ((file-name (car filedata))
534 (type (cadr filedata))) 567 (fattr (cdr filedata)))
535 (cond (type 568 (setq file-name (propertize file-name 'dired-filename t))
536 (cons 569 (cons (ls-lisp-classify-file file-name fattr) fattr)))
537 (concat (propertize file-name 'dired-filename t)
538 (if (eq type t) "/" "@"))
539 (cdr filedata)))
540 ((string-match "x" (nth 9 filedata))
541 (cons
542 (concat (propertize file-name 'dired-filename t) "*")
543 (cdr filedata)))
544 (t
545 (cons
546 (propertize file-name 'dired-filename t)
547 (cdr filedata))))))
548 570
549(defun ls-lisp-extension (filename) 571(defun ls-lisp-extension (filename)
550 "Return extension of FILENAME (ignoring any version extension) 572 "Return extension of FILENAME (ignoring any version extension)
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 941ede03996..d25de5b385c 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -55,8 +55,8 @@
55(defvar menu-bar-file-menu (make-sparse-keymap "File")) 55(defvar menu-bar-file-menu (make-sparse-keymap "File"))
56(define-key global-map [menu-bar file] (cons (purecopy "File") menu-bar-file-menu)) 56(define-key global-map [menu-bar file] (cons (purecopy "File") menu-bar-file-menu))
57 57
58;; This alias is for compatibility with 19.28 and before. 58;; Only declared obsolete (and only made a proper alias) in 23.3.
59(defvar menu-bar-files-menu menu-bar-file-menu) 59(define-obsolete-variable-alias 'menu-bar-files-menu 'menu-bar-file-menu "22.1")
60 60
61;; This is referenced by some code below; it is defined in uniquify.el 61;; This is referenced by some code below; it is defined in uniquify.el
62(defvar uniquify-buffer-name-style) 62(defvar uniquify-buffer-name-style)
@@ -1997,5 +1997,4 @@ If FRAME is nil or not given, use the selected frame."
1997 1997
1998(provide 'menu-bar) 1998(provide 'menu-bar)
1999 1999
2000;; arch-tag: 6e6a3c22-4ec4-4d3d-8190-583f8ef94ced
2001;;; menu-bar.el ends here 2000;;; menu-bar.el ends here
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index bc5a1d2e807..006e873ac57 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -41,7 +41,7 @@
41;; provide the start info but not the end info in 41;; provide the start info but not the end info in
42;; completion-base-position. 42;; completion-base-position.
43;; - quoting is problematic. E.g. the double-dollar quoting used in 43;; - quoting is problematic. E.g. the double-dollar quoting used in
44;; substitie-in-file-name (and hence read-file-name-internal) bumps 44;; substitute-in-file-name (and hence read-file-name-internal) bumps
45;; into various bugs: 45;; into various bugs:
46;; - choose-completion doesn't know how to quote the text it inserts. 46;; - choose-completion doesn't know how to quote the text it inserts.
47;; E.g. it fails to double the dollars in file-name completion, or 47;; E.g. it fails to double the dollars in file-name completion, or
@@ -1075,6 +1075,7 @@ variables.")
1075 (interactive) 1075 (interactive)
1076 (message "Making completion list...") 1076 (message "Making completion list...")
1077 (lexical-let* ((start (field-beginning)) 1077 (lexical-let* ((start (field-beginning))
1078 (end (field-end))
1078 (string (field-string)) 1079 (string (field-string))
1079 (completions (completion-all-completions 1080 (completions (completion-all-completions
1080 string 1081 string
@@ -1106,10 +1107,12 @@ variables.")
1106 completions))) 1107 completions)))
1107 (with-current-buffer standard-output 1108 (with-current-buffer standard-output
1108 (set (make-local-variable 'completion-base-position) 1109 (set (make-local-variable 'completion-base-position)
1109 ;; FIXME: We should provide the END part as well, but 1110 (list (+ start base-size)
1110 ;; currently completion-all-completions does not give 1111 ;; FIXME: We should pay attention to completion
1111 ;; us the necessary information. 1112 ;; boundaries here, but currently
1112 (list (+ start base-size) nil))) 1113 ;; completion-all-completions does not give us the
1114 ;; necessary information.
1115 end)))
1113 (display-completion-list completions))) 1116 (display-completion-list completions)))
1114 1117
1115 ;; If there are no completions, or if the current input is already the 1118 ;; If there are no completions, or if the current input is already the
diff --git a/lisp/mouse-sel.el b/lisp/mouse-sel.el
index d7f4c9bd222..b057e41e78a 100644
--- a/lisp/mouse-sel.el
+++ b/lisp/mouse-sel.el
@@ -1,7 +1,7 @@
1;;; mouse-sel.el --- multi-click selection support for Emacs 19 1;;; mouse-sel.el --- multi-click selection support
2 2
3;; Copyright (C) 1993, 1994, 1995, 2001, 2002, 2003, 2004, 3;; Copyright (C) 1993, 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006,
4;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4;; 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
5 5
6;; Author: Mike Williams <mdub@bigfoot.com> 6;; Author: Mike Williams <mdub@bigfoot.com>
7;; Keywords: mouse 7;; Keywords: mouse
@@ -755,5 +755,4 @@ If `mouse-yank-at-point' is non-nil, insert at point instead."
755 755
756(provide 'mouse-sel) 756(provide 'mouse-sel)
757 757
758;; arch-tag: 86e6c73f-deaa-48d3-a24e-c565fda1f7d7
759;;; mouse-sel.el ends here 758;;; mouse-sel.el ends here
diff --git a/lisp/mouse.el b/lisp/mouse.el
index be63f1d73d2..e88c2669714 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -886,8 +886,7 @@ at the same position."
886 (let (mp pos) 886 (let (mp pos)
887 (if (and mouse-1-click-follows-link 887 (if (and mouse-1-click-follows-link
888 (stringp msg) 888 (stringp msg)
889 (save-match-data 889 (string-match-p "\\`mouse-2" msg)
890 (string-match "^mouse-2" msg))
891 (setq mp (mouse-pixel-position)) 890 (setq mp (mouse-pixel-position))
892 (consp (setq pos (cdr mp))) 891 (consp (setq pos (cdr mp)))
893 (car pos) (>= (car pos) 0) 892 (car pos) (>= (car pos) 0)
diff --git a/lisp/net/tramp-fish.el b/lisp/net/tramp-fish.el
index 632b400e2b3..44e2ab8b392 100644
--- a/lisp/net/tramp-fish.el
+++ b/lisp/net/tramp-fish.el
@@ -37,7 +37,7 @@
37;; "xxx" stands for 3 digits, representing a return code. Return 37;; "xxx" stands for 3 digits, representing a return code. Return
38;; codes "# 000" and "# 001" are reserved for fallback implementation 38;; codes "# 000" and "# 001" are reserved for fallback implementation
39;; with native shell commands; they are not used inside the server. See 39;; with native shell commands; they are not used inside the server. See
40;; <http://cvs.savannah.gnu.org/viewcvs/mc/vfs/README.fish?root=mc&view=markup> 40;; <http://cvs.savannah.gnu.org/viewvc/mc/vfs/README.fish?root=mc&view=markup>
41;; for details of original specification. 41;; for details of original specification.
42 42
43;; The GNU Midnight Commander implements the original fish protocol 43;; The GNU Midnight Commander implements the original fish protocol
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 3ee5509276e..a9733fc6a0f 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -814,9 +814,9 @@ empty string for the user name.
814 814
815See `tramp-methods' for a list of possibilities for METHOD." 815See `tramp-methods' for a list of possibilities for METHOD."
816 :group 'tramp 816 :group 'tramp
817 :type '(repeat (list (regexp :tag "Host regexp") 817 :type '(repeat (list (choice :tag "Host regexp" regexp sexp)
818 (regexp :tag "User regexp") 818 (choice :tag "User regexp" regexp sexp)
819 (string :tag "Method")))) 819 (choice :tag "Method name" string (const nil)))))
820 820
821(defcustom tramp-default-user 821(defcustom tramp-default-user
822 nil 822 nil
@@ -842,9 +842,9 @@ matches, the variable `tramp-default-user' takes effect.
842If the file name does not specify the method, lookup is done using the 842If the file name does not specify the method, lookup is done using the
843empty string for the method name." 843empty string for the method name."
844 :group 'tramp 844 :group 'tramp
845 :type '(repeat (list (regexp :tag "Method regexp") 845 :type '(repeat (list (choice :tag "Method regexp" regexp sexp)
846 (regexp :tag "Host regexp") 846 (choice :tag " Host regexp" regexp sexp)
847 (string :tag "User")))) 847 (choice :tag " User name" string (const nil)))))
848 848
849(defcustom tramp-default-host 849(defcustom tramp-default-host
850 (system-name) 850 (system-name)
@@ -870,7 +870,7 @@ interpreted as a regular expression which always matches."
870 :group 'tramp 870 :group 'tramp
871 :type '(repeat (list (choice :tag "Host regexp" regexp sexp) 871 :type '(repeat (list (choice :tag "Host regexp" regexp sexp)
872 (choice :tag "User regexp" regexp sexp) 872 (choice :tag "User regexp" regexp sexp)
873 (choice :tag "Proxy remote name" string (const nil))))) 873 (choice :tag " Proxy name" string (const nil)))))
874 874
875(defconst tramp-local-host-regexp 875(defconst tramp-local-host-regexp
876 (concat 876 (concat
@@ -5008,7 +5008,10 @@ coding system might not be determined. This function repairs it."
5008 (setq buffer-file-name filename) 5008 (setq buffer-file-name filename)
5009 (setq buffer-read-only (not (file-writable-p filename))) 5009 (setq buffer-read-only (not (file-writable-p filename)))
5010 (set-visited-file-modtime) 5010 (set-visited-file-modtime)
5011 (set-buffer-modified-p nil)) 5011 (set-buffer-modified-p nil)
5012 ;; For root, preserve owner and group when editing files.
5013 (when (string-equal (file-remote-p filename 'user) "root")
5014 (set (make-local-variable 'backup-by-copying-when-mismatch) t)))
5012 (when (and (stringp local-copy) 5015 (when (and (stringp local-copy)
5013 (or remote-copy (null tramp-temp-buffer-file-name))) 5016 (or remote-copy (null tramp-temp-buffer-file-name)))
5014 (delete-file local-copy)) 5017 (delete-file local-copy))
@@ -7159,7 +7162,11 @@ and end of region, and are expected to replace the region contents
7159with the encoded or decoded results, respectively.") 7162with the encoded or decoded results, respectively.")
7160 7163
7161(defconst tramp-remote-coding-commands 7164(defconst tramp-remote-coding-commands
7162 '((b64 "base64" "base64 -d") 7165 '((b64 "base64" "base64 -d -i")
7166 ;; "-i" is more robust with older base64 from GNU coreutils.
7167 ;; However, I don't know whether all base64 versions do supports
7168 ;; this option.
7169 (b64 "base64" "base64 -d")
7163 (b64 "mimencode -b" "mimencode -u -b") 7170 (b64 "mimencode -b" "mimencode -u -b")
7164 (b64 "mmencode -b" "mmencode -u -b") 7171 (b64 "mmencode -b" "mmencode -u -b")
7165 (b64 "recode data..base64" "recode base64..data") 7172 (b64 "recode data..base64" "recode base64..data")
@@ -8578,54 +8585,57 @@ If no corresponding command is found, nil is returned.
8578Otherwise, either a string is returned which contains a `%s' mark 8585Otherwise, either a string is returned which contains a `%s' mark
8579to be used for the respective input or output file; or a Lisp 8586to be used for the respective input or output file; or a Lisp
8580function cell is returned to be applied on a buffer." 8587function cell is returned to be applied on a buffer."
8581 (let ((coding 8588 ;; We must catch the errors, because we want to return `nil', when
8582 (with-connection-property vec prop 8589 ;; no inline coding is found.
8583 (tramp-find-inline-encoding vec) 8590 (ignore-errors
8584 (tramp-get-connection-property vec prop nil))) 8591 (let ((coding
8585 (prop1 (if (string-match "encoding" prop) 8592 (with-connection-property vec prop
8586 "inline-compress" "inline-decompress")) 8593 (tramp-find-inline-encoding vec)
8587 compress) 8594 (tramp-get-connection-property vec prop nil)))
8588 ;; The connection property might have been cached. So we must send 8595 (prop1 (if (string-match "encoding" prop)
8589 ;; the script to the remote side - maybe. 8596 "inline-compress" "inline-decompress"))
8590 (when (and coding (symbolp coding) (string-match "remote" prop)) 8597 compress)
8591 (let ((name (symbol-name coding))) 8598 ;; The connection property might have been cached. So we must
8592 (while (string-match (regexp-quote "-") name) 8599 ;; send the script to the remote side - maybe.
8593 (setq name (replace-match "_" nil t name))) 8600 (when (and coding (symbolp coding) (string-match "remote" prop))
8594 (tramp-maybe-send-script vec (symbol-value coding) name) 8601 (let ((name (symbol-name coding)))
8595 (setq coding name))) 8602 (while (string-match (regexp-quote "-") name)
8596 (when coding 8603 (setq name (replace-match "_" nil t name)))
8597 ;; Check for the `compress' command. 8604 (tramp-maybe-send-script vec (symbol-value coding) name)
8598 (setq compress (tramp-get-inline-compress vec prop1 size)) 8605 (setq coding name)))
8599 ;; Return the value. 8606 (when coding
8600 (cond 8607 ;; Check for the `compress' command.
8601 ((and compress (symbolp coding)) 8608 (setq compress (tramp-get-inline-compress vec prop1 size))
8602 (if (string-match "decompress" prop1) 8609 ;; Return the value.
8610 (cond
8611 ((and compress (symbolp coding))
8612 (if (string-match "decompress" prop1)
8613 `(lambda (beg end)
8614 (,coding beg end)
8615 (let ((coding-system-for-write 'binary)
8616 (coding-system-for-read 'binary))
8617 (apply
8618 'call-process-region (point-min) (point-max)
8619 (car (split-string ,compress)) t t nil
8620 (cdr (split-string ,compress)))))
8603 `(lambda (beg end) 8621 `(lambda (beg end)
8604 (,coding beg end)
8605 (let ((coding-system-for-write 'binary) 8622 (let ((coding-system-for-write 'binary)
8606 (coding-system-for-read 'binary)) 8623 (coding-system-for-read 'binary))
8607 (apply 8624 (apply
8608 'call-process-region (point-min) (point-max) 8625 'call-process-region beg end
8609 (car (split-string ,compress)) t t nil 8626 (car (split-string ,compress)) t t nil
8610 (cdr (split-string ,compress))))) 8627 (cdr (split-string ,compress))))
8611 `(lambda (beg end) 8628 (,coding (point-min) (point-max)))))
8612 (let ((coding-system-for-write 'binary) 8629 ((symbolp coding)
8613 (coding-system-for-read 'binary)) 8630 coding)
8614 (apply 8631 ((and compress (string-match "decoding" prop))
8615 'call-process-region beg end 8632 (format "(%s | %s >%%s)" coding compress))
8616 (car (split-string ,compress)) t t nil 8633 (compress
8617 (cdr (split-string ,compress)))) 8634 (format "(%s <%%s | %s)" compress coding))
8618 (,coding (point-min) (point-max))))) 8635 ((string-match "decoding" prop)
8619 ((symbolp coding) 8636 (format "%s >%%s" coding))
8620 coding) 8637 (t
8621 ((and compress (string-match "decoding" prop)) 8638 (format "%s <%%s" coding)))))))
8622 (format "(%s | %s >%%s)" coding compress))
8623 (compress
8624 (format "(%s <%%s | %s)" compress coding))
8625 ((string-match "decoding" prop)
8626 (format "%s >%%s" coding))
8627 (t
8628 (format "%s <%%s" coding))))))
8629 8639
8630(defun tramp-get-method-parameter (method param) 8640(defun tramp-get-method-parameter (method param)
8631 "Return the method parameter PARAM. 8641 "Return the method parameter PARAM.
diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el
index a002ebebbf2..ab9a8acba1e 100644
--- a/lisp/net/trampver.el
+++ b/lisp/net/trampver.el
@@ -30,14 +30,14 @@
30;; version check is defined in macro AC_EMACS_INFO of aclocal.m4; 30;; version check is defined in macro AC_EMACS_INFO of aclocal.m4;
31;; should be changed only there. 31;; should be changed only there.
32 32
33(defconst tramp-version "2.1.19" 33(defconst tramp-version "2.1.20"
34 "This version of Tramp.") 34 "This version of Tramp.")
35 35
36(defconst tramp-bug-report-address "tramp-devel@gnu.org" 36(defconst tramp-bug-report-address "tramp-devel@gnu.org"
37 "Email address to send bug reports to.") 37 "Email address to send bug reports to.")
38 38
39;; Check for (X)Emacs version. 39;; Check for (X)Emacs version.
40(let ((x (if (or (>= emacs-major-version 22) (and (featurep 'xemacs) (= emacs-major-version 21) (>= emacs-minor-version 4))) "ok" (format "Tramp 2.1.19 is not fit for %s" (when (string-match "^.*$" (emacs-version)) (match-string 0 (emacs-version))))))) 40(let ((x (if (or (>= emacs-major-version 22) (and (featurep 'xemacs) (= emacs-major-version 21) (>= emacs-minor-version 4))) "ok" (format "Tramp 2.1.20 is not fit for %s" (when (string-match "^.*$" (emacs-version)) (match-string 0 (emacs-version)))))))
41 (unless (string-match "\\`ok\\'" x) (error "%s" x))) 41 (unless (string-match "\\`ok\\'" x) (error "%s" x)))
42 42
43(provide 'trampver) 43(provide 'trampver)
diff --git a/lisp/novice.el b/lisp/novice.el
index c7cbccfa02c..47b32fcde8a 100644
--- a/lisp/novice.el
+++ b/lisp/novice.el
@@ -1,7 +1,7 @@
1;;; novice.el --- handling of disabled commands ("novice mode") for Emacs 1;;; novice.el --- handling of disabled commands ("novice mode") for Emacs
2 2
3;; Copyright (C) 1985, 1986, 1987, 1994, 2001, 2002, 2003, 2004, 3;; Copyright (C) 1985, 1986, 1987, 1994, 2001, 2002, 2003, 2004, 2005,
4;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4;; 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
5 5
6;; Maintainer: FSF 6;; Maintainer: FSF
7;; Keywords: internal, help 7;; Keywords: internal, help
@@ -110,9 +110,9 @@ SPC to try the command just this once, but leave it disabled.
110 (not (string= "" user-init-file)) 110 (not (string= "" user-init-file))
111 (y-or-n-p "Enable command for future editing sessions also? ")) 111 (y-or-n-p "Enable command for future editing sessions also? "))
112 (enable-command cmd) 112 (enable-command cmd)
113 (put cmd 'disabled nil))) 113 (put cmd 'disabled nil))))
114 (?n nil) 114 (or (char-equal char ?n)
115 (t (call-interactively cmd))))) 115 (call-interactively cmd))))
116 116
117(defun en/disable-command (command disable) 117(defun en/disable-command (command disable)
118 (unless (commandp command) 118 (unless (commandp command)
@@ -169,5 +169,4 @@ to future sessions."
169 169
170(provide 'novice) 170(provide 'novice)
171 171
172;; arch-tag: f83c0f96-497e-4db6-a430-8703716c6dd9
173;;; novice.el ends here 172;;; novice.el ends here
diff --git a/lisp/org/ChangeLog b/lisp/org/ChangeLog
index 05da19ee0a4..96e00f4ddf3 100644
--- a/lisp/org/ChangeLog
+++ b/lisp/org/ChangeLog
@@ -1,3 +1,7 @@
12010-10-22 Juanma Barranquero <lekktu@gmail.com>
2
3 * org-exp.el (org-export-visible): Fix typo in docstring.
4
12010-10-12 Juanma Barranquero <lekktu@gmail.com> 52010-10-12 Juanma Barranquero <lekktu@gmail.com>
2 6
3 * org-agenda.el (org-prefix-category-length) 7 * org-agenda.el (org-prefix-category-length)
@@ -5191,7 +5195,7 @@
5191 5195
51922008-10-26 James TD Smith <ahktenzero@mohorovi.cc> 51962008-10-26 James TD Smith <ahktenzero@mohorovi.cc>
5193 5197
5194 * org.el (org-add-log-setup): Only skip drawers if the are 5198 * org.el (org-add-log-setup): Only skip drawers if they are
5195 immediately after the scheduling keywords. 5199 immediately after the scheduling keywords.
5196 5200
5197 * org-clock.el (org-clock-in-switch-to-state): Allow this to be a 5201 * org-clock.el (org-clock-in-switch-to-state): Allow this to be a
diff --git a/lisp/org/org-exp.el b/lisp/org/org-exp.el
index f87fd785d96..cf1b5a49da4 100644
--- a/lisp/org/org-exp.el
+++ b/lisp/org/org-exp.el
@@ -2540,10 +2540,10 @@ INDENT was the original indentation of the block."
2540The copy is created in a temporary buffer and removed after use. 2540The copy is created in a temporary buffer and removed after use.
2541TYPE is the final key (as a string) that also select the export command in 2541TYPE is the final key (as a string) that also select the export command in
2542the `C-c C-e' export dispatcher. 2542the `C-c C-e' export dispatcher.
2543As a special case, if the you type SPC at the prompt, the temporary 2543
2544org-mode file will not be removed but presented to you so that you can 2544As a special case, if you type SPC at the prompt, the temporary org-mode
2545continue to use it. The prefix arg ARG is passed through to the exporting 2545file will not be removed but presented to you so that you can continue to
2546command." 2546use it. The prefix arg ARG is passed through to the exporting command."
2547 (interactive 2547 (interactive
2548 (list (progn 2548 (list (progn
2549 (message "Export visible: [a]SCII [h]tml [b]rowse HTML [H/R]uffer with HTML [D]ocBook [x]OXO [ ]keep buffer") 2549 (message "Export visible: [a]SCII [h]tml [b]rowse HTML [H/R]uffer with HTML [D]ocBook [x]OXO [ ]keep buffer")
diff --git a/lisp/play/fortune.el b/lisp/play/fortune.el
index 10bf05b2201..e7bd013b2ab 100644
--- a/lisp/play/fortune.el
+++ b/lisp/play/fortune.el
@@ -1,7 +1,7 @@
1;;; fortune.el --- use fortune to create signatures 1;;; fortune.el --- use fortune to create signatures
2 2
3;; Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 3;; Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4;; 2008, 2009, 2010 Free Software Foundation, Inc. 4;; 2009, 2010 Free Software Foundation, Inc.
5 5
6;; Author: Holger Schauer <Holger.Schauer@gmx.de> 6;; Author: Holger Schauer <Holger.Schauer@gmx.de>
7;; Keywords: games utils mail 7;; Keywords: games utils mail
@@ -285,48 +285,41 @@ and choose the directory as the fortune-file."
285;;; Display fortune 285;;; Display fortune
286(defun fortune-in-buffer (interactive &optional file) 286(defun fortune-in-buffer (interactive &optional file)
287 "Put a fortune cookie in the *fortune* buffer. 287 "Put a fortune cookie in the *fortune* buffer.
288 288INTERACTIVE is ignored. Optional argument FILE, when supplied,
289INTERACTIVE is ignored. Optional argument FILE, 289specifies the file to choose the fortune from."
290when supplied, specifies the file to choose the fortune from."
291 (let ((fortune-buffer (or (get-buffer fortune-buffer-name) 290 (let ((fortune-buffer (or (get-buffer fortune-buffer-name)
292 (generate-new-buffer fortune-buffer-name))) 291 (generate-new-buffer fortune-buffer-name)))
293 (fort-file (expand-file-name 292 (fort-file (expand-file-name
294 (substitute-in-file-name 293 (substitute-in-file-name
295 (or file fortune-file))))) 294 (or file fortune-file)))))
296 (with-current-buffer fortune-buffer 295 (with-current-buffer fortune-buffer
297 (toggle-read-only 0) 296 (let ((inhibit-read-only t))
298 (erase-buffer) 297 (erase-buffer)
299 298 (if fortune-always-compile
300 (if fortune-always-compile 299 (fortune-compile fort-file))
301 (fortune-compile fort-file)) 300 (apply 'call-process
302 301 fortune-program ; program to call
303 (apply 'call-process 302 nil fortune-buffer nil ; INFILE BUFFER DISPLAY
304 fortune-program ; program to call 303 (append (if (stringp fortune-program-options)
305 nil fortune-buffer nil ; INFILE BUFFER DISPLAY 304 (split-string fortune-program-options)
306 (append (if (stringp fortune-program-options) 305 fortune-program-options) (list fort-file)))))))
307 (split-string fortune-program-options)
308 fortune-program-options) (list fort-file))))))
309 306
310;;;###autoload 307;;;###autoload
311(defun fortune (&optional file) 308(defun fortune (&optional file)
312 "Display a fortune cookie. 309 "Display a fortune cookie.
313
314If called with a prefix asks for the FILE to choose the fortune from, 310If called with a prefix asks for the FILE to choose the fortune from,
315otherwise uses the value of `fortune-file'. If you want to have fortune 311otherwise uses the value of `fortune-file'. If you want to have fortune
316choose from a set of files in a directory, call interactively with prefix 312choose from a set of files in a directory, call interactively with prefix
317and choose the directory as the fortune-file." 313and choose the directory as the fortune-file."
318 (interactive 314 (interactive (list (if current-prefix-arg
319 (list 315 (fortune-ask-file)
320 (if current-prefix-arg 316 fortune-file)))
321 (fortune-ask-file)
322 fortune-file)))
323 (fortune-in-buffer t file) 317 (fortune-in-buffer t file)
324 (switch-to-buffer (get-buffer fortune-buffer-name)) 318 (switch-to-buffer (get-buffer fortune-buffer-name))
325 (toggle-read-only 1)) 319 (setq buffer-read-only t))
326 320
327 321
328;;; Provide ourselves. 322;;; Provide ourselves.
329(provide 'fortune) 323(provide 'fortune)
330 324
331;; arch-tag: a1e4cb8a-3792-40e7-86a7-fc75ce094bcc
332;;; fortune.el ends here 325;;; fortune.el ends here
diff --git a/lisp/play/gomoku.el b/lisp/play/gomoku.el
index e18d4bdc292..1b11388a0d7 100644
--- a/lisp/play/gomoku.el
+++ b/lisp/play/gomoku.el
@@ -1,7 +1,7 @@
1;;; gomoku.el --- Gomoku game between you and Emacs 1;;; gomoku.el --- Gomoku game between you and Emacs
2 2
3;; Copyright (C) 1988, 1994, 1996, 2001, 2002, 2003, 2004, 3;; Copyright (C) 1988, 1994, 1996, 2001, 2002, 2003, 2004, 2005, 2006,
4;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4;; 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
5 5
6;; Author: Philippe Schnoebelen <phs@lsv.ens-cachan.fr> 6;; Author: Philippe Schnoebelen <phs@lsv.ens-cachan.fr>
7;; Maintainer: FSF 7;; Maintainer: FSF
@@ -201,8 +201,8 @@ is non-nil."
201 (gomoku-display-statistics) 201 (gomoku-display-statistics)
202 (use-local-map gomoku-mode-map) 202 (use-local-map gomoku-mode-map)
203 (make-local-variable 'font-lock-defaults) 203 (make-local-variable 'font-lock-defaults)
204 (setq font-lock-defaults '(gomoku-font-lock-keywords t)) 204 (setq font-lock-defaults '(gomoku-font-lock-keywords t)
205 (toggle-read-only t) 205 buffer-read-only t)
206 (run-mode-hooks 'gomoku-mode-hook)) 206 (run-mode-hooks 'gomoku-mode-hook))
207 207
208;;; 208;;;
@@ -1213,5 +1213,4 @@ If the game is finished, this command requests for another game."
1213 1213
1214(provide 'gomoku) 1214(provide 'gomoku)
1215 1215
1216;; arch-tag: b1b8205e-77fc-4597-b373-3ea2c04311eb
1217;;; gomoku.el ends here 1216;;; gomoku.el ends here
diff --git a/lisp/play/landmark.el b/lisp/play/landmark.el
index 2c82e8cd420..0c8fa7c261e 100644
--- a/lisp/play/landmark.el
+++ b/lisp/play/landmark.el
@@ -255,8 +255,8 @@ is non-nil. One interesting value is `turn-on-font-lock'."
255 (lm-display-statistics) 255 (lm-display-statistics)
256 (use-local-map lm-mode-map) 256 (use-local-map lm-mode-map)
257 (make-local-variable 'font-lock-defaults) 257 (make-local-variable 'font-lock-defaults)
258 (setq font-lock-defaults '(lm-font-lock-keywords t)) 258 (setq font-lock-defaults '(lm-font-lock-keywords t)
259 (toggle-read-only t) 259 buffer-read-only t)
260 (run-mode-hooks 'lm-mode-hook)) 260 (run-mode-hooks 'lm-mode-hook))
261 261
262 262
@@ -1700,5 +1700,4 @@ Use \\[describe-mode] for more info."
1700 1700
1701(provide 'landmark) 1701(provide 'landmark)
1702 1702
1703;; arch-tag: ae5031be-96e6-459e-a3df-1df53117d3f2
1704;;; landmark.el ends here 1703;;; landmark.el ends here
diff --git a/lisp/printing.el b/lisp/printing.el
index 2cbf39f1967..3fbf4c53355 100644
--- a/lisp/printing.el
+++ b/lisp/printing.el
@@ -1,7 +1,7 @@
1;;; printing.el --- printing utilities 1;;; printing.el --- printing utilities
2 2
3;; Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 3;; Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
4;; Free Software Foundation, Inc. 4;; 2010 Free Software Foundation, Inc.
5 5
6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> 6;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
7;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> 7;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
@@ -3453,12 +3453,7 @@ See `pr-ps-printer-alist'.")
3453 3453
3454(defun pr-menu-bind () 3454(defun pr-menu-bind ()
3455 "Install `printing' menu in the menubar. 3455 "Install `printing' menu in the menubar.
3456 3456This replaces the File/Print* menu entries with a File/Print sub-menu.
3457On Emacs 20, it replaces the Tools/Print menu by Tools/Printing menu.
3458
3459On Emacs 21 and 22, it replaces the File/Print* menu entries by File/Print
3460menu.
3461
3462Calls `pr-update-menus' to adjust menus." 3457Calls `pr-update-menus' to adjust menus."
3463 (interactive) 3458 (interactive)
3464 (pr-global-menubar pr-menu-spec) 3459 (pr-global-menubar pr-menu-spec)
@@ -6685,5 +6680,4 @@ COMMAND.exe, COMMAND.bat and COMMAND.com in this order."
6685(provide 'printing) 6680(provide 'printing)
6686 6681
6687 6682
6688;; arch-tag: 9ce9ac3f-0f60-4370-900b-1943215d9d18
6689;;; printing.el ends here 6683;;; printing.el ends here
diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el
index 04a04184ed2..c3a68c3be99 100644
--- a/lisp/progmodes/dcl-mode.el
+++ b/lisp/progmodes/dcl-mode.el
@@ -409,7 +409,7 @@ A list of regexps that will trigger a reindent if the last letter
409is defined as dcl-electric-character. 409is defined as dcl-electric-character.
410 410
411E.g.: if this list contains `endif', the key `f' is defined as 411E.g.: if this list contains `endif', the key `f' is defined as
412dcl-electric-character and the you have just typed the `f' in 412dcl-electric-character and you have just typed the `f' in
413`endif', the line will be reindented." 413`endif', the line will be reindented."
414 :type '(repeat regexp) 414 :type '(repeat regexp)
415 :group 'dcl) 415 :group 'dcl)
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index ed2a3236be1..6fdaa126b5b 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -170,18 +170,9 @@
170 ;; Make outer chars of matching triple-quote sequences into generic 170 ;; Make outer chars of matching triple-quote sequences into generic
171 ;; string delimiters. Fixme: Is there a better way? 171 ;; string delimiters. Fixme: Is there a better way?
172 ;; First avoid a sequence preceded by an odd number of backslashes. 172 ;; First avoid a sequence preceded by an odd number of backslashes.
173 `((,(rx (not (any ?\\)) 173 `((,(concat "\\(?:\\([RUru]\\)[Rr]?\\|^\\|[^\\]\\(?:\\\\.\\)*\\)" ;Prefix.
174 ?\\ (* (and ?\\ ?\\)) 174 "\\(?:\\('\\)'\\('\\)\\|\\(?2:\"\\)\"\\(?3:\"\\)\\)")
175 (group (syntax string-quote)) 175 (1 (python-quote-syntax 1) nil lax)
176 (backref 1)
177 (group (backref 1)))
178 (2 ,(string-to-syntax "\""))) ; dummy
179 (,(rx (group (optional (any "uUrR"))) ; prefix gets syntax property
180 (optional (any "rR")) ; possible second prefix
181 (group (syntax string-quote)) ; maybe gets property
182 (backref 2) ; per first quote
183 (group (backref 2))) ; maybe gets property
184 (1 (python-quote-syntax 1))
185 (2 (python-quote-syntax 2)) 176 (2 (python-quote-syntax 2))
186 (3 (python-quote-syntax 3))) 177 (3 (python-quote-syntax 3)))
187 ;; This doesn't really help. 178 ;; This doesn't really help.
@@ -219,9 +210,9 @@ Used for syntactic keywords. N is the match number (1, 2 or 3)."
219 (eval-when-compile (string-to-syntax "|")))))) 210 (eval-when-compile (string-to-syntax "|"))))))
220 ;; Consider property for initial char, accounting for prefixes. 211 ;; Consider property for initial char, accounting for prefixes.
221 ((or (and (= n 2) ; leading quote (not prefix) 212 ((or (and (= n 2) ; leading quote (not prefix)
222 (= (match-beginning 1) (match-end 1))) ; prefix is null 213 (not (match-end 1))) ; prefix is null
223 (and (= n 1) ; prefix 214 (and (= n 1) ; prefix
224 (/= (match-beginning 1) (match-end 1)))) ; non-empty 215 (match-end 1))) ; non-empty
225 (let ((font-lock-syntactic-keywords nil)) 216 (let ((font-lock-syntactic-keywords nil))
226 (unless (eq 'string (syntax-ppss-context (syntax-ppss))) 217 (unless (eq 'string (syntax-ppss-context (syntax-ppss)))
227 (eval-when-compile (string-to-syntax "|"))))) 218 (eval-when-compile (string-to-syntax "|")))))
@@ -579,6 +570,33 @@ having to restart the program."
579 "Queue of Python temp files awaiting execution. 570 "Queue of Python temp files awaiting execution.
580Currently-active file is at the head of the list.") 571Currently-active file is at the head of the list.")
581 572
573(defcustom python-shell-prompt-alist
574 '(("ipython" . "^In \\[[0-9]+\\]: *")
575 (t . "^>>> "))
576 "Alist of Python input prompts.
577Each element has the form (PROGRAM . REGEXP), where PROGRAM is
578the value of `python-python-command' for the python process and
579REGEXP is a regular expression matching the Python prompt.
580PROGRAM can also be t, which specifies the default when no other
581element matches `python-python-command'."
582 :type 'string
583 :group 'python
584 :version "24.1")
585
586(defcustom python-shell-continuation-prompt-alist
587 '(("ipython" . "^ [.][.][.]+: *")
588 (t . "^[.][.][.] "))
589 "Alist of Python continued-line prompts.
590Each element has the form (PROGRAM . REGEXP), where PROGRAM is
591the value of `python-python-command' for the python process and
592REGEXP is a regular expression matching the Python prompt for
593continued lines.
594PROGRAM can also be t, which specifies the default when no other
595element matches `python-python-command'."
596 :type 'string
597 :group 'python
598 :version "24.1")
599
582(defvar python-pdbtrack-is-tracking-p nil) 600(defvar python-pdbtrack-is-tracking-p nil)
583 601
584(defconst python-pdbtrack-stack-entry-regexp 602(defconst python-pdbtrack-stack-entry-regexp
@@ -1311,13 +1329,9 @@ See `python-check-command' for the default."
1311 1329
1312;;;; Inferior mode stuff (following cmuscheme). 1330;;;; Inferior mode stuff (following cmuscheme).
1313 1331
1314;; Fixme: Make sure we can work with IPython.
1315
1316(defcustom python-python-command "python" 1332(defcustom python-python-command "python"
1317 "Shell command to run Python interpreter. 1333 "Shell command to run Python interpreter.
1318Any arguments can't contain whitespace. 1334Any arguments can't contain whitespace."
1319Note that IPython may not work properly; it must at least be used
1320with the `-cl' flag, i.e. use `ipython -cl'."
1321 :group 'python 1335 :group 'python
1322 :type 'string) 1336 :type 'string)
1323 1337
@@ -1395,6 +1409,23 @@ local value.")
1395;; Autoloaded. 1409;; Autoloaded.
1396(declare-function compilation-shell-minor-mode "compile" (&optional arg)) 1410(declare-function compilation-shell-minor-mode "compile" (&optional arg))
1397 1411
1412(defvar python--prompt-regexp nil)
1413
1414(defun python--set-prompt-regexp ()
1415 (let ((prompt (cdr-safe (or (assoc python-python-command
1416 python-shell-prompt-alist)
1417 (assq t python-shell-prompt-alist))))
1418 (cprompt (cdr-safe (or (assoc python-python-command
1419 python-shell-continuation-prompt-alist)
1420 (assq t python-shell-continuation-prompt-alist)))))
1421 (set (make-local-variable 'comint-prompt-regexp)
1422 (concat "\\("
1423 (mapconcat 'identity
1424 (delq nil (list prompt cprompt "^([Pp]db) "))
1425 "\\|")
1426 "\\)"))
1427 (set (make-local-variable 'python--prompt-regexp) prompt)))
1428
1398;; Fixme: This should inherit some stuff from `python-mode', but I'm 1429;; Fixme: This should inherit some stuff from `python-mode', but I'm
1399;; not sure how much: at least some keybindings, like C-c C-f; 1430;; not sure how much: at least some keybindings, like C-c C-f;
1400;; syntax?; font-locking, e.g. for triple-quoted strings? 1431;; syntax?; font-locking, e.g. for triple-quoted strings?
@@ -1417,14 +1448,12 @@ For running multiple processes in multiple buffers, see `run-python' and
1417 1448
1418\\{inferior-python-mode-map}" 1449\\{inferior-python-mode-map}"
1419 :group 'python 1450 :group 'python
1451 (require 'ansi-color) ; for ipython
1420 (setq mode-line-process '(":%s")) 1452 (setq mode-line-process '(":%s"))
1421 (set (make-local-variable 'comint-input-filter) 'python-input-filter) 1453 (set (make-local-variable 'comint-input-filter) 'python-input-filter)
1422 (add-hook 'comint-preoutput-filter-functions #'python-preoutput-filter 1454 (add-hook 'comint-preoutput-filter-functions #'python-preoutput-filter
1423 nil t) 1455 nil t)
1424 ;; Still required by `comint-redirect-send-command', for instance 1456 (python--set-prompt-regexp)
1425 ;; (and we need to match things like `>>> ... >>> '):
1426 (set (make-local-variable 'comint-prompt-regexp)
1427 (rx line-start (1+ (and (or (repeat 3 (any ">.")) "(Pdb)") " "))))
1428 (set (make-local-variable 'compilation-error-regexp-alist) 1457 (set (make-local-variable 'compilation-error-regexp-alist)
1429 python-compilation-regexp-alist) 1458 python-compilation-regexp-alist)
1430 (compilation-shell-minor-mode 1)) 1459 (compilation-shell-minor-mode 1))
@@ -1435,6 +1464,16 @@ Default ignores all inputs of 0, 1, or 2 non-blank characters."
1435 :type 'regexp 1464 :type 'regexp
1436 :group 'python) 1465 :group 'python)
1437 1466
1467(defcustom python-remove-cwd-from-path t
1468 "Whether to allow loading of Python modules from the current directory.
1469If this is non-nil, Emacs removes '' from sys.path when starting
1470an inferior Python process. This is the default, for security
1471reasons, as it is easy for the Python process to be started
1472without the user's realization (e.g. to perform completion)."
1473 :type 'boolean
1474 :group 'python
1475 :version "23.3")
1476
1438(defun python-input-filter (str) 1477(defun python-input-filter (str)
1439 "`comint-input-filter' function for inferior Python. 1478 "`comint-input-filter' function for inferior Python.
1440Don't save anything for STR matching `inferior-python-filter-regexp'." 1479Don't save anything for STR matching `inferior-python-filter-regexp'."
@@ -1521,34 +1560,39 @@ Don't save anything for STR matching `inferior-python-filter-regexp'."
1521 cmd))) 1560 cmd)))
1522 (unless (shell-command-to-string cmd) 1561 (unless (shell-command-to-string cmd)
1523 (error "Can't run Python command `%s'" cmd)) 1562 (error "Can't run Python command `%s'" cmd))
1524 (let* ((res (shell-command-to-string (concat cmd " --version")))) 1563 (let* ((res (shell-command-to-string
1525 (string-match "Python \\([0-9]\\)\\.\\([0-9]\\)" res) 1564 (concat cmd
1526 (unless (and (equal "2" (match-string 1 res)) 1565 " -c \"from sys import version_info;\
1527 (match-beginning 2) 1566print version_info >= (2, 2) and version_info < (3, 0)\""))))
1528 (>= (string-to-number (match-string 2 res)) 2)) 1567 (unless (string-match "True" res)
1529 (error "Only Python versions >= 2.2 and < 3.0 supported"))) 1568 (error "Only Python versions >= 2.2 and < 3.0 are supported")))
1530 (setq python-version-checked t))) 1569 (setq python-version-checked t)))
1531 1570
1532;;;###autoload 1571;;;###autoload
1533(defun run-python (&optional cmd noshow new) 1572(defun run-python (&optional cmd noshow new)
1534 "Run an inferior Python process, input and output via buffer *Python*. 1573 "Run an inferior Python process, input and output via buffer *Python*.
1535CMD is the Python command to run. NOSHOW non-nil means don't show the 1574CMD is the Python command to run. NOSHOW non-nil means don't
1536buffer automatically. 1575show the buffer automatically.
1537 1576
1538Normally, if there is a process already running in `python-buffer', 1577Interactively, a prefix arg means to prompt for the initial
1539switch to that buffer. Interactively, a prefix arg allows you to edit 1578Python command line (default is `python-command').
1540the initial command line (default is `python-command'); `-i' etc. args 1579
1541will be added to this as appropriate. A new process is started if: 1580A new process is started if one isn't running attached to
1542one isn't running attached to `python-buffer', or interactively the 1581`python-buffer', or if called from Lisp with non-nil arg NEW.
1543default `python-command', or argument NEW is non-nil. See also the 1582Otherwise, if a process is already running in `python-buffer',
1544documentation for `python-buffer'. 1583switch to that buffer.
1545 1584
1546Runs the hook `inferior-python-mode-hook' \(after the 1585This command runs the hook `inferior-python-mode-hook' after
1547`comint-mode-hook' is run). \(Type \\[describe-mode] in the process 1586running `comint-mode-hook'. Type \\[describe-mode] in the
1548buffer for a list of commands.)" 1587process buffer for a list of commands.
1588
1589By default, Emacs inhibits the loading of Python modules from the
1590current working directory, for security reasons. To disable this
1591behavior, change `python-remove-cwd-from-path' to nil."
1549 (interactive (if current-prefix-arg 1592 (interactive (if current-prefix-arg
1550 (list (read-string "Run Python: " python-command) nil t) 1593 (list (read-string "Run Python: " python-command) nil t)
1551 (list python-command))) 1594 (list python-command)))
1595 (require 'ansi-color) ; for ipython
1552 (unless cmd (setq cmd python-command)) 1596 (unless cmd (setq cmd python-command))
1553 (python-check-version cmd) 1597 (python-check-version cmd)
1554 (setq python-command cmd) 1598 (setq python-command cmd)
@@ -1558,16 +1602,19 @@ buffer for a list of commands.)"
1558 (when (or new (not (comint-check-proc python-buffer))) 1602 (when (or new (not (comint-check-proc python-buffer)))
1559 (with-current-buffer 1603 (with-current-buffer
1560 (let* ((cmdlist 1604 (let* ((cmdlist
1561 (append (python-args-to-list cmd) 1605 (append (python-args-to-list cmd) '("-i")
1562 '("-i" "-c" "import sys; sys.path.remove('')"))) 1606 (if python-remove-cwd-from-path
1607 '("-c" "import sys; sys.path.remove('')"))))
1563 (path (getenv "PYTHONPATH")) 1608 (path (getenv "PYTHONPATH"))
1564 (process-environment ; to import emacs.py 1609 (process-environment ; to import emacs.py
1565 (cons (concat "PYTHONPATH=" 1610 (cons (concat "PYTHONPATH="
1566 (if path (concat path path-separator)) 1611 (if path (concat path path-separator))
1567 data-directory) 1612 data-directory)
1568 process-environment)) 1613 process-environment))
1569 ;; Suppress use of pager for help output: 1614 ;; If we use a pipe, unicode characters are not printed
1570 (process-connection-type nil)) 1615 ;; correctly (Bug#5794) and IPython does not work at
1616 ;; all (Bug#5390).
1617 (process-connection-type t))
1571 (apply 'make-comint-in-buffer "Python" 1618 (apply 'make-comint-in-buffer "Python"
1572 (generate-new-buffer "*Python*") 1619 (generate-new-buffer "*Python*")
1573 (car cmdlist) nil (cdr cmdlist))) 1620 (car cmdlist) nil (cdr cmdlist)))
@@ -1623,7 +1670,12 @@ buffer for a list of commands.)"
1623 ;; non-ASCII. 1670 ;; non-ASCII.
1624 (interactive "r") 1671 (interactive "r")
1625 (let* ((f (make-temp-file "py")) 1672 (let* ((f (make-temp-file "py"))
1626 (command (format "emacs.eexecfile(%S)" f)) 1673 (command
1674 ;; IPython puts the FakeModule module into __main__ so
1675 ;; emacs.eexecfile becomes useless.
1676 (if (string-match "^ipython" python-command)
1677 (format "execfile %S" f)
1678 (format "emacs.eexecfile(%S)" f)))
1627 (orig-start (copy-marker start))) 1679 (orig-start (copy-marker start)))
1628 (when (save-excursion 1680 (when (save-excursion
1629 (goto-char start) 1681 (goto-char start)
@@ -1823,7 +1875,9 @@ If there isn't, it's probably not appropriate to send input to return Eldoc
1823information etc. If PROC is non-nil, check the buffer for that process." 1875information etc. If PROC is non-nil, check the buffer for that process."
1824 (with-current-buffer (process-buffer (or proc (python-proc))) 1876 (with-current-buffer (process-buffer (or proc (python-proc)))
1825 (save-excursion 1877 (save-excursion
1826 (save-match-data (re-search-backward ">>> \\=" nil t))))) 1878 (save-match-data
1879 (re-search-backward (concat python--prompt-regexp " *\\=")
1880 nil t)))))
1827 1881
1828;; Fixme: Is there anything reasonable we can do with random methods? 1882;; Fixme: Is there anything reasonable we can do with random methods?
1829;; (Currently only works with functions.) 1883;; (Currently only works with functions.)
@@ -2539,9 +2593,7 @@ Runs `jython-mode-hook' after `python-mode-hook'."
2539 "Watch output for Python prompt and exec next file waiting in queue. 2593 "Watch output for Python prompt and exec next file waiting in queue.
2540This function is appropriate for `comint-output-filter-functions'." 2594This function is appropriate for `comint-output-filter-functions'."
2541 ;; TBD: this should probably use split-string 2595 ;; TBD: this should probably use split-string
2542 (when (and (or (string-equal string ">>> ") 2596 (when (and (string-match python--prompt-regexp string)
2543 (and (>= (length string) 5)
2544 (string-equal (substring string -5) "\n>>> ")))
2545 python-file-queue) 2597 python-file-queue)
2546 (condition-case nil 2598 (condition-case nil
2547 (delete-file (car python-file-queue)) 2599 (delete-file (car python-file-queue))
@@ -2753,6 +2805,7 @@ comint believe the user typed this string so that
2753 (funcall (process-filter proc) proc msg)) 2805 (funcall (process-filter proc) proc msg))
2754 (set-buffer curbuf)) 2806 (set-buffer curbuf))
2755 (process-send-string proc cmd))) 2807 (process-send-string proc cmd)))
2808
2756;;;###autoload 2809;;;###autoload
2757(defun python-shell (&optional argprompt) 2810(defun python-shell (&optional argprompt)
2758 "Start an interactive Python interpreter in another window. 2811 "Start an interactive Python interpreter in another window.
@@ -2767,7 +2820,7 @@ command is used to switch to an existing process, only when a new
2767process is started. If you use this, you will probably want to ensure 2820process is started. If you use this, you will probably want to ensure
2768that the current arguments are retained (they will be included in the 2821that the current arguments are retained (they will be included in the
2769prompt). This argument is ignored when this function is called 2822prompt). This argument is ignored when this function is called
2770programmatically, or when running in Emacs 19.34 or older. 2823programmatically.
2771 2824
2772Note: You can toggle between using the CPython interpreter and the 2825Note: You can toggle between using the CPython interpreter and the
2773JPython interpreter by hitting \\[python-toggle-shells]. This toggles 2826JPython interpreter by hitting \\[python-toggle-shells]. This toggles
@@ -2792,6 +2845,7 @@ interaction between undo and process filters; the same problem exists in
2792non-Python process buffers using the default (Emacs-supplied) process 2845non-Python process buffers using the default (Emacs-supplied) process
2793filter." 2846filter."
2794 (interactive "P") 2847 (interactive "P")
2848 (require 'ansi-color) ; For ipython
2795 ;; Set the default shell if not already set 2849 ;; Set the default shell if not already set
2796 (when (null python-which-shell) 2850 (when (null python-which-shell)
2797 (python-toggle-shells python-default-interpreter)) 2851 (python-toggle-shells python-default-interpreter))
@@ -2808,10 +2862,9 @@ filter."
2808 )))) 2862 ))))
2809 (switch-to-buffer-other-window 2863 (switch-to-buffer-other-window
2810 (apply 'make-comint python-which-bufname python-which-shell nil args)) 2864 (apply 'make-comint python-which-bufname python-which-shell nil args))
2811 (make-local-variable 'comint-prompt-regexp)
2812 (set-process-sentinel (get-buffer-process (current-buffer)) 2865 (set-process-sentinel (get-buffer-process (current-buffer))
2813 'python-sentinel) 2866 'python-sentinel)
2814 (setq comint-prompt-regexp "^>>> \\|^[.][.][.] \\|^(pdb) ") 2867 (python--set-prompt-regexp)
2815 (add-hook 'comint-output-filter-functions 2868 (add-hook 'comint-output-filter-functions
2816 'python-comint-output-filter-function nil t) 2869 'python-comint-output-filter-function nil t)
2817 ;; pdbtrack 2870 ;; pdbtrack
@@ -2844,5 +2897,4 @@ filter."
2844(provide 'python) 2897(provide 'python)
2845(provide 'python-21) 2898(provide 'python-21)
2846 2899
2847;; arch-tag: 6fce1d99-a704-4de9-ba19-c6e4912b0554
2848;;; python.el ends here 2900;;; python.el ends here
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index e79b13f3fe2..6bd0d45bbd9 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -7,7 +7,7 @@
7;; Maintainer: Michael Mauger <mmaug@yahoo.com> 7;; Maintainer: Michael Mauger <mmaug@yahoo.com>
8;; Version: 2.0.2 8;; Version: 2.0.2
9;; Keywords: comm languages processes 9;; Keywords: comm languages processes
10;; URL: http://savannah.gnu.org/cgi-bin/viewcvs/emacs/emacs/lisp/progmodes/sql.el 10;; URL: http://savannah.gnu.org/projects/emacs/
11;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?SqlMode 11;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?SqlMode
12 12
13;; This file is part of GNU Emacs. 13;; This file is part of GNU Emacs.
@@ -2885,5 +2885,4 @@ parameters and command options."
2885 2885
2886(provide 'sql) 2886(provide 'sql)
2887 2887
2888;; arch-tag: 7e1fa1c4-9ca2-402e-87d2-83a5eccb7ac3
2889;;; sql.el ends here 2888;;; sql.el ends here
diff --git a/lisp/progmodes/tcl.el b/lisp/progmodes/tcl.el
index 58b8be8c7ba..cb69d49fcbd 100644
--- a/lisp/progmodes/tcl.el
+++ b/lisp/progmodes/tcl.el
@@ -606,15 +606,11 @@ Commands:
606 (set (make-local-variable 'dabbrev-abbrev-skip-leading-regexp) "[$!]") 606 (set (make-local-variable 'dabbrev-abbrev-skip-leading-regexp) "[$!]")
607 (set (make-local-variable 'dabbrev-abbrev-char-regexp) "\\sw\\|\\s_") 607 (set (make-local-variable 'dabbrev-abbrev-char-regexp) "\\sw\\|\\s_")
608 608
609 ;; This can only be set to t in Emacs 19 and XEmacs.
610 ;; Emacs 18 and Epoch lose.
611 (set (make-local-variable 'parse-sexp-ignore-comments) t) 609 (set (make-local-variable 'parse-sexp-ignore-comments) t)
612 ;; XEmacs has defun-prompt-regexp, but I don't believe 610 ;; XEmacs has defun-prompt-regexp, but I don't believe
613 ;; that it works for end-of-defun -- only for 611 ;; that it works for end-of-defun -- only for
614 ;; beginning-of-defun. 612 ;; beginning-of-defun.
615 (set (make-local-variable 'defun-prompt-regexp) tcl-omit-ws-regexp) 613 (set (make-local-variable 'defun-prompt-regexp) tcl-omit-ws-regexp)
616 ;; The following doesn't work in Lucid Emacs 19.6, but maybe
617 ;; it will appear in later versions.
618 (set (make-local-variable 'add-log-current-defun-function) 614 (set (make-local-variable 'add-log-current-defun-function)
619 'tcl-add-log-defun) 615 'tcl-add-log-defun)
620 616
@@ -1200,11 +1196,7 @@ semicolon, opening brace, or opening bracket on the same line."
1200 "Determine if point is in a comment. 1196 "Determine if point is in a comment.
1201Returns a list of the form `(FLAG . STATE)'. STATE can be used 1197Returns a list of the form `(FLAG . STATE)'. STATE can be used
1202as input to future invocations. FLAG is nil if not in comment, 1198as input to future invocations. FLAG is nil if not in comment,
1203t otherwise. If in comment, leaves point at beginning of comment. 1199t otherwise. If in comment, leaves point at beginning of comment."
1204
1205This function does not work in Emacs 18.
1206See also `tcl-simple-scan-for-comment', a
1207simpler version that is often right, and works in Emacs 18."
1208 (let ((bol (save-excursion 1200 (let ((bol (save-excursion
1209 (goto-char end) 1201 (goto-char end)
1210 (beginning-of-line) 1202 (beginning-of-line)
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index 4a704b0416c..a75ed1b47d3 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -3,12 +3,12 @@
3;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 3;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
5 5
6;; Author: Michael McNamara (mac@verilog.com) 6;; Author: Michael McNamara (mac@verilog.com),
7;; http://www.verilog.com 7;; Wilson Snyder (wsnyder@wsnyder.org)
8;; Please see our web sites:
9;; http://www.verilog.com
10;; http://www.veripool.org
8;; 11;;
9;; AUTO features, signal, modsig; by: Wilson Snyder
10;; (wsnyder@wsnyder.org)
11;; http://www.veripool.org
12;; Keywords: languages 12;; Keywords: languages
13 13
14;; Yoni Rabkin <yoni@rabkins.net> contacted the maintainer of this 14;; Yoni Rabkin <yoni@rabkins.net> contacted the maintainer of this
@@ -79,17 +79,23 @@
79;; .emacs, or in your site's site-load.el 79;; .emacs, or in your site's site-load.el
80 80
81; (autoload 'verilog-mode "verilog-mode" "Verilog mode" t ) 81; (autoload 'verilog-mode "verilog-mode" "Verilog mode" t )
82; (add-to-list 'auto-mode-alist '("\\.[ds]?v\\'" . verilog-mode)) 82; (add-to-list 'auto-mode-alist '("\\.[ds]?vh?\\'" . verilog-mode))
83 83
84;; Be sure to examine at the help for verilog-auto, and the other
85;; verilog-auto-* functions for some major coding time savers.
86;;
84;; If you want to customize Verilog mode to fit your needs better, 87;; If you want to customize Verilog mode to fit your needs better,
85;; you may add these lines (the values of the variables presented 88;; you may add the below lines (the values of the variables presented
86;; here are the defaults). Note also that if you use an Emacs that 89;; here are the defaults). Note also that if you use an Emacs that
87;; supports custom, it's probably better to use the custom menu to 90;; supports custom, it's probably better to use the custom menu to
88;; edit these. 91;; edit these. If working as a member of a large team these settings
89;; 92;; should be common across all users (in a site-start file), or set
90;; Be sure to examine at the help for verilog-auto, and the other 93;; in Local Variables in every file. Otherwise, different people's
91;; verilog-auto-* functions for some major coding time savers. 94;; AUTO expansion may result different whitespace changes.
92;; 95;;
96; ;; Enable syntax highlighting of **all** languages
97; (global-font-lock-mode t)
98;
93; ;; User customization for Verilog mode 99; ;; User customization for Verilog mode
94; (setq verilog-indent-level 3 100; (setq verilog-indent-level 3
95; verilog-indent-level-module 3 101; verilog-indent-level-module 3
@@ -118,9 +124,9 @@
118;;; Code: 124;;; Code:
119 125
120;; This variable will always hold the version number of the mode 126;; This variable will always hold the version number of the mode
121(defconst verilog-mode-version "556" 127(defconst verilog-mode-version "650"
122 "Version of this Verilog mode.") 128 "Version of this Verilog mode.")
123(defconst verilog-mode-release-date "2009-12-10-GNU" 129(defconst verilog-mode-release-date "2010-11-05-GNU"
124 "Release date of this Verilog mode.") 130 "Release date of this Verilog mode.")
125(defconst verilog-mode-release-emacs t 131(defconst verilog-mode-release-emacs t
126 "If non-nil, this version of Verilog mode was released with Emacs itself.") 132 "If non-nil, this version of Verilog mode was released with Emacs itself.")
@@ -213,7 +219,14 @@ STRING should be given if the last search was by `string-match' on STRING."
213 ;; We have an intermediate custom-library, hack around it! 219 ;; We have an intermediate custom-library, hack around it!
214 (defmacro customize-group (var &rest args) 220 (defmacro customize-group (var &rest args)
215 `(customize ,var)) 221 `(customize ,var))
216 )) 222 )
223
224 (unless (boundp 'inhibit-point-motion-hooks)
225 (defvar inhibit-point-motion-hooks nil))
226 (unless (boundp 'deactivate-mark)
227 (defvar deactivate-mark nil))
228 )
229 ;;
217 ;; OK, do this stuff if we are NOT XEmacs: 230 ;; OK, do this stuff if we are NOT XEmacs:
218 (unless (featurep 'xemacs) 231 (unless (featurep 'xemacs)
219 (unless (fboundp 'region-active-p) 232 (unless (fboundp 'region-active-p)
@@ -260,10 +273,21 @@ STRING should be given if the last search was by `string-match' on STRING."
260 ;; Emacs. 273 ;; Emacs.
261 (defalias 'verilog-regexp-opt 'regexp-opt))) 274 (defalias 'verilog-regexp-opt 'regexp-opt)))
262 275
276(eval-and-compile
277 ;; Both xemacs and emacs
278 (condition-case nil
279 (unless (fboundp 'buffer-chars-modified-tick) ;; Emacs 22 added
280 (defmacro buffer-chars-modified-tick () (buffer-modified-tick)))
281 (error nil)))
282
263(eval-when-compile 283(eval-when-compile
264 (defun verilog-regexp-words (a) 284 (defun verilog-regexp-words (a)
265 "Call 'regexp-opt' with word delimiters for the words A." 285 "Call 'regexp-opt' with word delimiters for the words A."
266 (concat "\\<" (verilog-regexp-opt a t) "\\>"))) 286 (concat "\\<" (verilog-regexp-opt a t) "\\>")))
287(defun verilog-regexp-words (a)
288 "Call 'regexp-opt' with word delimiters for the words A."
289 ;; The FAQ references this function, so user LISP sometimes calls it
290 (concat "\\<" (verilog-regexp-opt a t) "\\>"))
267 291
268(defun verilog-easy-menu-filter (menu) 292(defun verilog-easy-menu-filter (menu)
269 "Filter `easy-menu-define' MENU to support new features." 293 "Filter `easy-menu-define' MENU to support new features."
@@ -338,6 +362,9 @@ This function may be removed when Emacs 21 is no longer supported."
338 "Customize AUTO actions when expanding Verilog source text." 362 "Customize AUTO actions when expanding Verilog source text."
339 :group 'verilog-mode) 363 :group 'verilog-mode)
340 364
365(defvar verilog-debug nil
366 "If set, enable debug messages for `verilog-mode' internals.")
367
341(defcustom verilog-linter 368(defcustom verilog-linter
342 "echo 'No verilog-linter set, see \"M-x describe-variable verilog-linter\"'" 369 "echo 'No verilog-linter set, see \"M-x describe-variable verilog-linter\"'"
343 "*Unix program and arguments to call to run a lint checker on Verilog source. 370 "*Unix program and arguments to call to run a lint checker on Verilog source.
@@ -378,11 +405,27 @@ you to the next lint error."
378 :group 'verilog-mode-actions) 405 :group 'verilog-mode-actions)
379;; We don't mark it safe, as it's used as a shell command 406;; We don't mark it safe, as it's used as a shell command
380 407
408(defcustom verilog-preprocessor
409 ;; Very few tools give preprocessed output, so we'll default to Verilog-Perl
410 "vppreproc __FLAGS__ __FILE__"
411 "*Program and arguments to use to preprocess Verilog source.
412This is invoked with `verilog-preprocess', and depending on the
413`verilog-set-compile-command', may also be invoked when you type
414\\[compile]. When the compile completes, \\[next-error] will
415take you to the next lint error."
416 :type 'string
417 :group 'verilog-mode-actions)
418;; We don't mark it safe, as it's used as a shell command
419
420(defvar verilog-preprocess-history nil
421 "History for `verilog-preprocess'.")
422
381(defvar verilog-tool 'verilog-linter 423(defvar verilog-tool 'verilog-linter
382 "Which tool to use for building compiler-command. 424 "Which tool to use for building compiler-command.
383Either nil, `verilog-linter, `verilog-coverage, `verilog-simulator, or 425Either nil, `verilog-linter, `verilog-compiler,
384`verilog-compiler. Alternatively use the \"Choose Compilation Action\" 426`verilog-coverage, `verilog-preprocessor, or `verilog-simulator.
385menu. See `verilog-set-compile-command' for more information.") 427Alternatively use the \"Choose Compilation Action\" menu. See
428`verilog-set-compile-command' for more information.")
386 429
387(defcustom verilog-highlight-translate-off nil 430(defcustom verilog-highlight-translate-off nil
388 "*Non-nil means background-highlight code excluded from translation. 431 "*Non-nil means background-highlight code excluded from translation.
@@ -572,6 +615,23 @@ grouping constructs allow the structure of the code to be understood at a glance
572 :type 'boolean) 615 :type 'boolean)
573(put 'verilog-highlight-grouping-keywords 'safe-local-variable 'verilog-booleanp) 616(put 'verilog-highlight-grouping-keywords 'safe-local-variable 'verilog-booleanp)
574 617
618(defcustom verilog-highlight-modules nil
619 "*True means highlight module statements for `verilog-load-file-at-point'.
620When true, mousing over module names will allow jumping to the
621module definition. If false, this is not supported. Setting
622this is experimental, and may lead to bad performance."
623 :group 'verilog-mode-indent
624 :type 'boolean)
625(put 'verilog-highlight-modules 'safe-local-variable 'verilog-booleanp)
626
627(defcustom verilog-highlight-includes t
628 "*True means highlight module statements for `verilog-load-file-at-point'.
629When true, mousing over include file names will allow jumping to the
630file referenced. If false, this is not supported."
631 :group 'verilog-mode-indent
632 :type 'boolean)
633(put 'verilog-highlight-includes 'safe-local-variable 'verilog-booleanp)
634
575(defcustom verilog-auto-endcomments t 635(defcustom verilog-auto-endcomments t
576 "*True means insert a comment /* ... */ after 'end's. 636 "*True means insert a comment /* ... */ after 'end's.
577The name of the function or case will be set between the braces." 637The name of the function or case will be set between the braces."
@@ -640,9 +700,7 @@ always be saved."
640;;; Compile support 700;;; Compile support
641(require 'compile) 701(require 'compile)
642(defvar verilog-error-regexp-added nil) 702(defvar verilog-error-regexp-added nil)
643; List of regexps for Verilog compilers, like verilint. See compilation-error-regexp-alist 703
644; for the formatting.
645; Here is the version for Emacs 22:
646(defvar verilog-error-regexp-emacs-alist 704(defvar verilog-error-regexp-emacs-alist
647 '( 705 '(
648 (verilog-xl-1 706 (verilog-xl-1
@@ -650,7 +708,7 @@ always be saved."
650 (verilog-xl-2 708 (verilog-xl-2
651 "([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\(line[ \t]+\\)?\\([0-9]+\\):.*$" 1 3) 709 "([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\(line[ \t]+\\)?\\([0-9]+\\):.*$" 1 3)
652 (verilog-IES 710 (verilog-IES
653 ".*\\*[WE],[0-9A-Z]+ (\\([^ \t,]+\\),\\([0-9]+\\)" 1 2) 711 ".*\\*[WE],[0-9A-Z]+\\(\[[0-9A-Z_,]+\]\\)? (\\([^ \t,]+\\),\\([0-9]+\\)" 2 3)
654 (verilog-surefire-1 712 (verilog-surefire-1
655 "[^\n]*\\[\\([^:]+\\):\\([0-9]+\\)\\]" 1 2) 713 "[^\n]*\\[\\([^:]+\\):\\([0-9]+\\)\\]" 1 2)
656 (verilog-surefire-2 714 (verilog-surefire-2
@@ -672,87 +730,64 @@ always be saved."
672 (verilog-verilator 730 (verilog-verilator
673 "%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 3 4) 731 "%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 3 4)
674 (verilog-leda 732 (verilog-leda
675 "In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\): 733 "^In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\(Warning\\|Error\\|Failure\\)[^\n]*" 1 2)
676.*
677.*
678.*
679\\(Warning\\|Error\\|Failure\\)" 1 2)
680 ))
681;; And the version for XEmacs:
682(defvar verilog-error-regexp-xemacs-alist
683 '(verilog
684 ("[^\n]*\\[\\([^:]+\\):\\([0-9]+\\)\\]" 1 2)
685 ("\\(WARNING\\|ERROR\\|INFO\\)[^:]*: \\([^,]+\\),\\s-+\\(line \\)?\\([0-9]+\\):" 2 4 )
686 ("\
687\\([a-zA-Z]?:?[^:( \t\n]+\\)[:(][ \t]*\\([0-9]+\\)\\([) \t]\\|\
688:\\([^0-9\n]\\|\\([0-9]+:\\)\\)\\)" 1 2 5)
689; xsim
690; Error! in file /homes/mac/Axis/Xsim/test.v at line 13 [OBJ_NOT_DECLARED]
691 ("\\(Error\\|Warning\\).*in file (\\([^ \t]+\\) at line *\\([0-9]+\\))" 2 3)
692; vcs
693 ("\\(Error\\|Warning\\):[^(]*(\\([^ \t]+\\) line *\\([0-9]+\\))" 2 3)
694 ("Warning:.*(port.*(\\([^ \t]+\\) line \\([0-9]+\\))" 1 2)
695 ("\\(Error\\|Warning\\):[\n.]*\\([^ \t]+\\) *\\([0-9]+\\):" 2 3)
696 ("syntax error:.*\n\\([^ \t]+\\) *\\([0-9]+\\):" 1 2)
697; Verilator
698 ("%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 3 4)
699; verilog-xl
700 ("\\(Error\\|Warning\\)!.*\n?.*\"\\([^\"]+\\)\", \\([0-9]+\\)" 2 3)
701 ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\([0-9]+\\):.*$" 1 2) ; vxl
702 ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+line[ \t]+\\([0-9]+\\):.*$" 1 2)
703; nc-verilog
704 (".*\\*[WE],[0-9A-Z]+ (\\([^ \t,]+\\),\\([0-9]+\\)|" 1 2)
705; Leda
706 ("In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\[\\(Warning\\|Error\\|Failure\\)\\][^\n]*" 1 2)
707 ) 734 )
708 ) 735 "List of regexps for Verilog compilers.
736See `compilation-error-regexp-alist' for the formatting. For Emacs 22+.")
737
738(defvar verilog-error-regexp-xemacs-alist
739 ;; Emacs form is '((v-tool "re" 1 2) ...)
740 ;; XEmacs form is '(verilog ("re" 1 2) ...)
741 ;; So we can just map from Emacs to Xemacs
742 (cons 'verilog (mapcar 'cdr verilog-error-regexp-emacs-alist))
743 "List of regexps for Verilog compilers.
744See `compilation-error-regexp-alist-alist' for the formatting. For XEmacs.")
709 745
710(defvar verilog-error-font-lock-keywords 746(defvar verilog-error-font-lock-keywords
711 '( 747 '(
748 ;; verilog-xl-1
749 ("\\(Error\\|Warning\\)!.*\n?.*\"\\([^\"]+\\)\", \\([0-9]+\\)" 2 bold t)
750 ("\\(Error\\|Warning\\)!.*\n?.*\"\\([^\"]+\\)\", \\([0-9]+\\)" 2 bold t)
751 ;; verilog-xl-2
752 ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\(line[ \t]+\\)?\\([0-9]+\\):.*$" 1 bold t)
753 ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\(line[ \t]+\\)?\\([0-9]+\\):.*$" 3 bold t)
754 ;; verilog-IES (nc-verilog)
755 (".*\\*[WE],[0-9A-Z]+\\(\[[0-9A-Z_,]+\]\\)? (\\([^ \t,]+\\),\\([0-9]+\\)|" 2 bold t)
756 (".*\\*[WE],[0-9A-Z]+\\(\[[0-9A-Z_,]+\]\\)? (\\([^ \t,]+\\),\\([0-9]+\\)|" 3 bold t)
757 ;; verilog-surefire-1
712 ("[^\n]*\\[\\([^:]+\\):\\([0-9]+\\)\\]" 1 bold t) 758 ("[^\n]*\\[\\([^:]+\\):\\([0-9]+\\)\\]" 1 bold t)
713 ("[^\n]*\\[\\([^:]+\\):\\([0-9]+\\)\\]" 2 bold t) 759 ("[^\n]*\\[\\([^:]+\\):\\([0-9]+\\)\\]" 2 bold t)
714 760 ;; verilog-surefire-2
715 ("\\(WARNING\\|ERROR\\|INFO\\): \\([^,]+\\), line \\([0-9]+\\):" 2 bold t) 761 ("\\(WARNING\\|ERROR\\|INFO\\): \\([^,]+\\), line \\([0-9]+\\):" 2 bold t)
716 ("\\(WARNING\\|ERROR\\|INFO\\): \\([^,]+\\), line \\([0-9]+\\):" 3 bold t) 762 ("\\(WARNING\\|ERROR\\|INFO\\): \\([^,]+\\), line \\([0-9]+\\):" 3 bold t)
717 763 ;; verilog-verbose
718 ("\ 764 ("\
719\\([a-zA-Z]?:?[^:( \t\n]+\\)[:(][ \t]*\\([0-9]+\\)\\([) \t]\\|\ 765\\([a-zA-Z]?:?[^:( \t\n]+\\)[:(][ \t]*\\([0-9]+\\)\\([) \t]\\|\
720:\\([^0-9\n]\\|\\([0-9]+:\\)\\)\\)" 1 bold t) 766:\\([^0-9\n]\\|\\([0-9]+:\\)\\)\\)" 1 bold t)
721 ("\ 767 ("\
722\\([a-zA-Z]?:?[^:( \t\n]+\\)[:(][ \t]*\\([0-9]+\\)\\([) \t]\\|\ 768\\([a-zA-Z]?:?[^:( \t\n]+\\)[:(][ \t]*\\([0-9]+\\)\\([) \t]\\|\
723:\\([^0-9\n]\\|\\([0-9]+:\\)\\)\\)" 1 bold t) 769:\\([^0-9\n]\\|\\([0-9]+:\\)\\)\\)" 1 bold t)
724 770 ;; verilog-vcs-1
725 ("\\(Error\\|Warning\\):[^(]*(\\([^ \t]+\\) line *\\([0-9]+\\))" 2 bold t) 771 ("\\(Error\\|Warning\\):[^(]*(\\([^ \t]+\\) line *\\([0-9]+\\))" 2 bold t)
726 ("\\(Error\\|Warning\\):[^(]*(\\([^ \t]+\\) line *\\([0-9]+\\))" 3 bold t) 772 ("\\(Error\\|Warning\\):[^(]*(\\([^ \t]+\\) line *\\([0-9]+\\))" 3 bold t)
727 773 ;; verilog-vcs-2
728 ("%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 3 bold t)
729 ("%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 4 bold t)
730
731 ("Warning:.*(port.*(\\([^ \t]+\\) line \\([0-9]+\\))" 1 bold t) 774 ("Warning:.*(port.*(\\([^ \t]+\\) line \\([0-9]+\\))" 1 bold t)
732 ("Warning:.*(port.*(\\([^ \t]+\\) line \\([0-9]+\\))" 1 bold t) 775 ("Warning:.*(port.*(\\([^ \t]+\\) line \\([0-9]+\\))" 1 bold t)
733 776 ;; verilog-vcs-3
734 ("\\(Error\\|Warning\\):[\n.]*\\([^ \t]+\\) *\\([0-9]+\\):" 2 bold t) 777 ("\\(Error\\|Warning\\):[\n.]*\\([^ \t]+\\) *\\([0-9]+\\):" 2 bold t)
735 ("\\(Error\\|Warning\\):[\n.]*\\([^ \t]+\\) *\\([0-9]+\\):" 3 bold t) 778 ("\\(Error\\|Warning\\):[\n.]*\\([^ \t]+\\) *\\([0-9]+\\):" 3 bold t)
736 779 ;; verilog-vcs-4
737 ("syntax error:.*\n\\([^ \t]+\\) *\\([0-9]+\\):" 1 bold t) 780 ("syntax error:.*\n\\([^ \t]+\\) *\\([0-9]+\\):" 1 bold t)
738 ("syntax error:.*\n\\([^ \t]+\\) *\\([0-9]+\\):" 2 bold t) 781 ("syntax error:.*\n\\([^ \t]+\\) *\\([0-9]+\\):" 2 bold t)
739 ; vxl 782 ;; verilog-verilator
740 ("\\(Error\\|Warning\\)!.*\n?.*\"\\([^\"]+\\)\", \\([0-9]+\\)" 2 bold t) 783 (".*%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 3 bold t)
741 ("\\(Error\\|Warning\\)!.*\n?.*\"\\([^\"]+\\)\", \\([0-9]+\\)" 2 bold t) 784 (".*%?\\(Error\\|Warning\\)\\(-[^:]+\\|\\):[\n ]*\\([^ \t:]+\\):\\([0-9]+\\):" 4 bold t)
742 785 ;; verilog-leda
743 ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\([0-9]+\\):.*$" 1 bold t) 786 ("^In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\(Warning\\|Error\\|Failure\\)[^\n]*" 1 bold t)
744 ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+\\([0-9]+\\):.*$" 2 bold t) 787 ("^In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\(Warning\\|Error\\|Failure\\)[^\n]*" 2 bold t)
745
746 ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+line[ \t]+\\([0-9]+\\):.*$" 1 bold t)
747 ("([WE][0-9A-Z]+)[ \t]+\\([^ \t\n,]+\\)[, \t]+line[ \t]+\\([0-9]+\\):.*$" 2 bold t)
748 ; nc-verilog
749 (".*[WE],[0-9A-Z]+ (\\([^ \t,]+\\),\\([0-9]+\\)|" 1 bold t)
750 (".*[WE],[0-9A-Z]+ (\\([^ \t,]+\\),\\([0-9]+\\)|" 2 bold t)
751 ; Leda
752 ("In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\[\\(Warning\\|Error\\|Failure\\)\\][^\n]*" 1 bold t)
753 ("In file \\([^ \t]+\\)[ \t]+line[ \t]+\\([0-9]+\\):\n[^\n]*\n[^\n]*\n\\[\\(Warning\\|Error\\|Failure\\)\\][^\n]*" 2 bold t)
754 ) 788 )
755 "*Keywords to also highlight in Verilog *compilation* buffers.") 789 "*Keywords to also highlight in Verilog *compilation* buffers.
790Only used in XEmacs; GNU Emacs uses `verilog-error-regexp-emacs-alist'.")
756 791
757(defcustom verilog-library-flags '("") 792(defcustom verilog-library-flags '("")
758 "*List of standard Verilog arguments to use for /*AUTOINST*/. 793 "*List of standard Verilog arguments to use for /*AUTOINST*/.
@@ -888,6 +923,16 @@ it's bad practice to rely on order based instantiations anyhow."
888 :type 'boolean) 923 :type 'boolean)
889(put 'verilog-auto-arg-sort 'safe-local-variable 'verilog-booleanp) 924(put 'verilog-auto-arg-sort 'safe-local-variable 'verilog-booleanp)
890 925
926(defcustom verilog-auto-inst-dot-name nil
927 "*If true, when creating ports with AUTOINST, use .name syntax.
928This will use \".port\" instead of \".port(port)\" when possible.
929This is only legal in SystemVerilog files, and will confuse older
930simulators. Setting `verilog-auto-inst-vector' to nil may also
931be desirable to increase how often .name will be used."
932 :group 'verilog-mode-auto
933 :type 'boolean)
934(put 'verilog-auto-inst-dot-name 'safe-local-variable 'verilog-booleanp)
935
891(defcustom verilog-auto-inst-param-value nil 936(defcustom verilog-auto-inst-param-value nil
892 "*If set, AUTOINST will replace parameters with the parameter value. 937 "*If set, AUTOINST will replace parameters with the parameter value.
893If nil, leave parameters as symbolic names. 938If nil, leave parameters as symbolic names.
@@ -899,7 +944,7 @@ be replaced, and will remain symbolic.
899For example, imagine a submodule uses parameters to declare the size of its 944For example, imagine a submodule uses parameters to declare the size of its
900inputs. This is then used by a upper module: 945inputs. This is then used by a upper module:
901 946
902 module InstModule (o,i) 947 module InstModule (o,i);
903 parameter WIDTH; 948 parameter WIDTH;
904 input [WIDTH-1:0] i; 949 input [WIDTH-1:0] i;
905 endmodule 950 endmodule
@@ -971,6 +1016,13 @@ See the \\[verilog-faq] for examples on using this."
971 :type 'string) 1016 :type 'string)
972(put 'verilog-auto-output-ignore-regexp 'safe-local-variable 'stringp) 1017(put 'verilog-auto-output-ignore-regexp 'safe-local-variable 'stringp)
973 1018
1019(defcustom verilog-auto-tieoff-ignore-regexp nil
1020 "*If set, when creating AUTOTIEOFF list, ignore signals matching this regexp.
1021See the \\[verilog-faq] for examples on using this."
1022 :group 'verilog-mode-auto
1023 :type 'string)
1024(put 'verilog-auto-tieoff-ignore-regexp 'safe-local-variable 'stringp)
1025
974(defcustom verilog-auto-unused-ignore-regexp nil 1026(defcustom verilog-auto-unused-ignore-regexp nil
975 "*If set, when creating AUTOUNUSED list, ignore signals matching this regexp. 1027 "*If set, when creating AUTOUNUSED list, ignore signals matching this regexp.
976See the \\[verilog-faq] for examples on using this." 1028See the \\[verilog-faq] for examples on using this."
@@ -1080,6 +1132,7 @@ If set will become buffer local.")
1080 (define-key map "\C-c\C-k" 'verilog-delete-auto) 1132 (define-key map "\C-c\C-k" 'verilog-delete-auto)
1081 (define-key map "\C-c\C-a" 'verilog-auto) 1133 (define-key map "\C-c\C-a" 'verilog-auto)
1082 (define-key map "\C-c\C-s" 'verilog-auto-save-compile) 1134 (define-key map "\C-c\C-s" 'verilog-auto-save-compile)
1135 (define-key map "\C-c\C-p" 'verilog-preprocess)
1083 (define-key map "\C-c\C-z" 'verilog-inject-auto) 1136 (define-key map "\C-c\C-z" 'verilog-inject-auto)
1084 (define-key map "\C-c\C-e" 'verilog-expand-vector) 1137 (define-key map "\C-c\C-e" 'verilog-expand-vector)
1085 (define-key map "\C-c\C-h" 'verilog-header) 1138 (define-key map "\C-c\C-h" 'verilog-header)
@@ -1127,6 +1180,13 @@ If set will become buffer local.")
1127 :style radio 1180 :style radio
1128 :selected (equal verilog-tool `verilog-compiler) 1181 :selected (equal verilog-tool `verilog-compiler)
1129 :help "When invoking compilation, compile Verilog source"] 1182 :help "When invoking compilation, compile Verilog source"]
1183 ["Preprocessor"
1184 (progn
1185 (setq verilog-tool 'verilog-preprocessor)
1186 (verilog-set-compile-command))
1187 :style radio
1188 :selected (equal verilog-tool `verilog-preprocessor)
1189 :help "When invoking compilation, preprocess Verilog source, see also `verilog-preprocess'"]
1130 ) 1190 )
1131 ("Move" 1191 ("Move"
1132 ["Beginning of function" verilog-beg-of-defun 1192 ["Beginning of function" verilog-beg-of-defun
@@ -1318,6 +1378,20 @@ If set will become buffer local.")
1318;; Macros 1378;; Macros
1319;; 1379;;
1320 1380
1381(defsubst verilog-get-beg-of-line (&optional arg)
1382 (save-excursion
1383 (beginning-of-line arg)
1384 (point)))
1385
1386(defsubst verilog-get-end-of-line (&optional arg)
1387 (save-excursion
1388 (end-of-line arg)
1389 (point)))
1390
1391(defsubst verilog-within-string ()
1392 (save-excursion
1393 (nth 3 (parse-partial-sexp (verilog-get-beg-of-line) (point)))))
1394
1321(defsubst verilog-string-replace-matches (from-string to-string fixedcase literal string) 1395(defsubst verilog-string-replace-matches (from-string to-string fixedcase literal string)
1322 "Replace occurrences of FROM-STRING with TO-STRING. 1396 "Replace occurrences of FROM-STRING with TO-STRING.
1323FIXEDCASE and LITERAL as in `replace-match`. STRING is what to replace. 1397FIXEDCASE and LITERAL as in `replace-match`. STRING is what to replace.
@@ -1394,19 +1468,45 @@ so there may be a large up front penalty for the first search."
1394 (setq pt (match-end 0)))) 1468 (setq pt (match-end 0))))
1395 pt)) 1469 pt))
1396 1470
1397(defsubst verilog-get-beg-of-line (&optional arg) 1471(defsubst verilog-re-search-forward-substr (substr regexp bound noerror)
1398 (save-excursion 1472 "Like `re-search-forward', but first search for SUBSTR constant.
1399 (beginning-of-line arg) 1473Then searched for the normal REGEXP (which contains SUBSTR), with given
1400 (point))) 1474BOUND and NOERROR. The REGEXP must fit within a single line.
1401 1475This speeds up complicated regexp matches."
1402(defsubst verilog-get-end-of-line (&optional arg) 1476 ;; Problem with overlap: search-forward BAR then FOOBARBAZ won't match.
1403 (save-excursion 1477 ;; thus require matches to be on one line, and use beginning-of-line.
1404 (end-of-line arg) 1478 (let (done)
1405 (point))) 1479 (while (and (not done)
1406 1480 (search-forward substr bound noerror))
1407(defsubst verilog-within-string () 1481 (save-excursion
1408 (save-excursion 1482 (beginning-of-line)
1409 (nth 3 (parse-partial-sexp (verilog-get-beg-of-line) (point))))) 1483 (setq done (re-search-forward regexp (verilog-get-end-of-line) noerror)))
1484 (unless (and (<= (match-beginning 0) (point))
1485 (>= (match-end 0) (point)))
1486 (setq done nil)))
1487 (when done (goto-char done))
1488 done))
1489;;(verilog-re-search-forward-substr "-end" "get-end-of" nil t) ;;-end (test bait)
1490
1491(defsubst verilog-re-search-backward-substr (substr regexp bound noerror)
1492 "Like `re-search-backward', but first search for SUBSTR constant.
1493Then searched for the normal REGEXP (which contains SUBSTR), with given
1494BOUND and NOERROR. The REGEXP must fit within a single line.
1495This speeds up complicated regexp matches."
1496 ;; Problem with overlap: search-backward BAR then FOOBARBAZ won't match.
1497 ;; thus require matches to be on one line, and use beginning-of-line.
1498 (let (done)
1499 (while (and (not done)
1500 (search-backward substr bound noerror))
1501 (save-excursion
1502 (end-of-line)
1503 (setq done (re-search-backward regexp (verilog-get-beg-of-line) noerror)))
1504 (unless (and (<= (match-beginning 0) (point))
1505 (>= (match-end 0) (point)))
1506 (setq done nil)))
1507 (when done (goto-char done))
1508 done))
1509;;(verilog-re-search-backward-substr "-end" "get-end-of" nil t) ;;-end (test bait)
1410 1510
1411(defvar compile-command) 1511(defvar compile-command)
1412 1512
@@ -1418,10 +1518,11 @@ This reads `verilog-tool' and sets `compile-command'. This specifies the
1418program that executes when you type \\[compile] or 1518program that executes when you type \\[compile] or
1419\\[verilog-auto-save-compile]. 1519\\[verilog-auto-save-compile].
1420 1520
1421By default `verilog-tool' uses a Makefile if one exists in the current 1521By default `verilog-tool' uses a Makefile if one exists in the
1422directory. If not, it is set to the `verilog-linter', `verilog-coverage', 1522current directory. If not, it is set to the `verilog-linter',
1423`verilog-simulator', or `verilog-compiler' variables, as selected with the 1523`verilog-compiler', `verilog-coverage', `verilog-preprocessor',
1424Verilog -> \"Choose Compilation Action\" menu. 1524or `verilog-simulator' variables, as selected with the Verilog ->
1525\"Choose Compilation Action\" menu.
1425 1526
1426You should set `verilog-tool' or the other variables to the path and 1527You should set `verilog-tool' or the other variables to the path and
1427arguments for your Verilog simulator. For example: 1528arguments for your Verilog simulator. For example:
@@ -1433,8 +1534,12 @@ In the former case, the path to the current buffer is concat'ed to the
1433value of `verilog-tool'; in the later, the path to the current buffer is 1534value of `verilog-tool'; in the later, the path to the current buffer is
1434substituted for the %s. 1535substituted for the %s.
1435 1536
1436Where __FILE__ appears in the string, the `buffer-file-name' of the 1537Where __FLAGS__ appears in the string `verilog-current-flags'
1437current buffer, without the directory portion, will be substituted." 1538will be substituted.
1539
1540Where __FILE__ appears in the string, the variable
1541`buffer-file-name' of the current buffer, without the directory
1542portion, will be substituted."
1438 (interactive) 1543 (interactive)
1439 (cond 1544 (cond
1440 ((or (file-exists-p "makefile") ;If there is a makefile, use it 1545 ((or (file-exists-p "makefile") ;If there is a makefile, use it
@@ -1451,18 +1556,29 @@ current buffer, without the directory portion, will be substituted."
1451 "")))) 1556 ""))))
1452 (verilog-modify-compile-command)) 1557 (verilog-modify-compile-command))
1453 1558
1559(defun verilog-expand-command (command)
1560 "Replace meta-information in COMMAND and return it.
1561Where __FLAGS__ appears in the string `verilog-current-flags'
1562will be substituted. Where __FILE__ appears in the string, the
1563current buffer's file-name, without the directory portion, will
1564be substituted."
1565 (setq command (verilog-string-replace-matches
1566 ;; Note \\b only works if under verilog syntax table
1567 "\\b__FLAGS__\\b" (verilog-current-flags)
1568 t t command))
1569 (setq command (verilog-string-replace-matches
1570 "\\b__FILE__\\b" (file-name-nondirectory
1571 (or (buffer-file-name) ""))
1572 t t command))
1573 command)
1574
1454(defun verilog-modify-compile-command () 1575(defun verilog-modify-compile-command ()
1455 "Replace meta-information in `compile-command'. 1576 "Update `compile-command' using `verilog-expand-command'."
1456Where __FILE__ appears in the string, the current buffer's file-name,
1457without the directory portion, will be substituted."
1458 (when (and 1577 (when (and
1459 (stringp compile-command) 1578 (stringp compile-command)
1460 (string-match "\\b__FILE__\\b" compile-command)) 1579 (string-match "\\b\\(__FLAGS__\\|__FILE__\\)\\b" compile-command))
1461 (make-local-variable 'compile-command) 1580 (make-local-variable 'compile-command)
1462 (setq compile-command 1581 (setq compile-command (verilog-expand-command compile-command))))
1463 (verilog-string-replace-matches
1464 "\\b__FILE__\\b" (file-name-nondirectory (buffer-file-name))
1465 t t compile-command))))
1466 1582
1467(if (featurep 'xemacs) 1583(if (featurep 'xemacs)
1468 ;; Following code only gets called from compilation-mode-hook on XEmacs to add error handling. 1584 ;; Following code only gets called from compilation-mode-hook on XEmacs to add error handling.
@@ -1511,11 +1627,13 @@ find the errors."
1511(if (featurep 'emacs) (add-hook 'compilation-mode-hook 'verilog-error-regexp-add-emacs)) 1627(if (featurep 'emacs) (add-hook 'compilation-mode-hook 'verilog-error-regexp-add-emacs))
1512 1628
1513(defconst verilog-directive-re 1629(defconst verilog-directive-re
1514 ;; "`case" "`default" "`define" "`define" "`else" "`endfor" "`endif" 1630 (eval-when-compile
1515 ;; "`endprotect" "`endswitch" "`endwhile" "`for" "`format" "`if" "`ifdef" 1631 (verilog-regexp-words
1516 ;; "`ifndef" "`include" "`let" "`protect" "`switch" "`timescale" 1632 '(
1517 ;; "`time_scale" "`undef" "`while" 1633 "`case" "`default" "`define" "`else" "`elsif" "`endfor" "`endif"
1518 "\\<`\\(case\\|def\\(ault\\|ine\\(\\)?\\)\\|e\\(lse\\|nd\\(for\\|if\\|protect\\|switch\\|while\\)\\)\\|for\\(mat\\)?\\|i\\(f\\(def\\|ndef\\)?\\|nclude\\)\\|let\\|protect\\|switch\\|time\\(_scale\\|scale\\)\\|undef\\|while\\)\\>") 1634 "`endprotect" "`endswitch" "`endwhile" "`for" "`format" "`if" "`ifdef"
1635 "`ifndef" "`include" "`let" "`protect" "`switch" "`timescale"
1636 "`time_scale" "`undef" "`while" ))))
1519 1637
1520(defconst verilog-directive-re-1 1638(defconst verilog-directive-re-1
1521 (concat "[ \t]*" verilog-directive-re)) 1639 (concat "[ \t]*" verilog-directive-re))
@@ -1524,7 +1642,7 @@ find the errors."
1524 "\\<`\\(for\\|i\\(f\\|fdef\\|fndef\\)\\|switch\\|while\\)\\>") 1642 "\\<`\\(for\\|i\\(f\\|fdef\\|fndef\\)\\|switch\\|while\\)\\>")
1525 1643
1526(defconst verilog-directive-middle 1644(defconst verilog-directive-middle
1527 "\\<`\\(else\\|default\\|case\\)\\>") 1645 "\\<`\\(else\\|elsif\\|default\\|case\\)\\>")
1528 1646
1529(defconst verilog-directive-end 1647(defconst verilog-directive-end
1530 "`\\(endfor\\|endif\\|endswitch\\|endwhile\\)\\>") 1648 "`\\(endfor\\|endif\\|endswitch\\|endwhile\\)\\>")
@@ -1703,6 +1821,11 @@ find the errors."
1703;; b : 1821;; b :
1704 1822
1705(defconst verilog-label-re (concat verilog-symbol-re "\\s-*:\\s-*")) 1823(defconst verilog-label-re (concat verilog-symbol-re "\\s-*:\\s-*"))
1824(defconst verilog-property-re
1825 (concat "\\(" verilog-label-re "\\)?"
1826 "\\(\\(assert\\|assume\\|cover\\)\\>\\s-+\\<property\\>\\)\\|\\(assert\\)"))
1827 ;; "\\(assert\\|assume\\|cover\\)\\s-+property\\>"
1828
1706(defconst verilog-no-indent-begin-re 1829(defconst verilog-no-indent-begin-re
1707 "\\<\\(if\\|else\\|while\\|for\\|repeat\\|always\\|always_comb\\|always_ff\\|always_latch\\)\\>") 1830 "\\<\\(if\\|else\\|while\\|for\\|repeat\\|always\\|always_comb\\|always_ff\\|always_latch\\)\\>")
1708 1831
@@ -1837,6 +1960,8 @@ find the errors."
1837 "\\(\\<fork\\>\\)\\|" ; 7 1960 "\\(\\<fork\\>\\)\\|" ; 7
1838 "\\(\\<always\\>\\(\[ \t\]*@\\)?\\)\\|" 1961 "\\(\\<always\\>\\(\[ \t\]*@\\)?\\)\\|"
1839 "\\(\\<if\\>\\)\\|" 1962 "\\(\\<if\\>\\)\\|"
1963 verilog-property-re "\\|"
1964 "\\(\\(" verilog-label-re "\\)?\\<assert\\>\\)\\|"
1840 "\\(\\<clocking\\>\\)\\|" 1965 "\\(\\<clocking\\>\\)\\|"
1841 "\\(\\<task\\>\\)\\|" 1966 "\\(\\<task\\>\\)\\|"
1842 "\\(\\<function\\>\\)\\|" 1967 "\\(\\<function\\>\\)\\|"
@@ -2051,7 +2176,7 @@ find the errors."
2051 "`case" 2176 "`case"
2052 "`default" 2177 "`default"
2053 "`define" "`undef" 2178 "`define" "`undef"
2054 "`if" "`ifdef" "`ifndef" "`else" "`endif" 2179 "`if" "`ifdef" "`ifndef" "`else" "`elsif" "`endif"
2055 "`while" "`endwhile" 2180 "`while" "`endwhile"
2056 "`for" "`endfor" 2181 "`for" "`endfor"
2057 "`format" 2182 "`format"
@@ -2116,10 +2241,11 @@ find the errors."
2116 `( 2241 `(
2117 "endmodule" "endprimitive" "endinterface" "endpackage" "endprogram" "endclass" 2242 "endmodule" "endprimitive" "endinterface" "endpackage" "endprogram" "endclass"
2118 )))) 2243 ))))
2119(defconst verilog-disable-fork-re "disable\\s-+fork") 2244(defconst verilog-disable-fork-re "disable\\s-+fork\\>")
2245(defconst verilog-fork-wait-re "fork\\s-+wait\\>")
2120(defconst verilog-extended-case-re "\\(unique\\s-+\\|priority\\s-+\\)?case[xz]?") 2246(defconst verilog-extended-case-re "\\(unique\\s-+\\|priority\\s-+\\)?case[xz]?")
2121(defconst verilog-extended-complete-re 2247(defconst verilog-extended-complete-re
2122 (concat "\\(\\<extern\\s-+\\|\\<virtual\\s-+\\|\\<protected\\s-+\\)*\\(\\<function\\>\\|\\<task\\>\\)" 2248 (concat "\\(\\<extern\\s-+\\|\\<\\(\\<pure\\>\\s-+\\)?virtual\\s-+\\|\\<protected\\s-+\\)*\\(\\<function\\>\\|\\<task\\>\\)"
2123 "\\|\\(\\<typedef\\>\\s-+\\)*\\(\\<struct\\>\\|\\<union\\>\\|\\<class\\>\\)" 2249 "\\|\\(\\<typedef\\>\\s-+\\)*\\(\\<struct\\>\\|\\<union\\>\\|\\<class\\>\\)"
2124 "\\|\\(\\<import\\>\\s-+\\)?\"DPI-C\"\\s-+\\(function\\>\\|task\\>\\)" 2250 "\\|\\(\\<import\\>\\s-+\\)?\"DPI-C\"\\s-+\\(function\\>\\|task\\>\\)"
2125 "\\|" verilog-extended-case-re )) 2251 "\\|" verilog-extended-case-re ))
@@ -2198,6 +2324,11 @@ find the errors."
2198 "unique" "unsigned" "use" "uwire" "var" "vectored" "virtual" "void" 2324 "unique" "unsigned" "use" "uwire" "var" "vectored" "virtual" "void"
2199 "wait" "wait_order" "wand" "weak0" "weak1" "while" "wildcard" 2325 "wait" "wait_order" "wand" "weak0" "weak1" "while" "wildcard"
2200 "wire" "with" "within" "wor" "xnor" "xor" 2326 "wire" "with" "within" "wor" "xnor" "xor"
2327 ;; 1800-2009
2328 "accept_on" "checker" "endchecker" "eventually" "global" "implies"
2329 "let" "nexttime" "reject_on" "restrict" "s_always" "s_eventually"
2330 "s_nexttime" "s_until" "s_until_with" "strong" "sync_accept_on"
2331 "sync_reject_on" "unique0" "until" "until_with" "untyped" "weak"
2201 ) 2332 )
2202 "List of Verilog keywords.") 2333 "List of Verilog keywords.")
2203 2334
@@ -2314,7 +2445,7 @@ See also `verilog-font-lock-extra-types'.")
2314 "and" "bit" "buf" "bufif0" "bufif1" "cmos" "defparam" 2445 "and" "bit" "buf" "bufif0" "bufif1" "cmos" "defparam"
2315 "event" "genvar" "inout" "input" "integer" "localparam" 2446 "event" "genvar" "inout" "input" "integer" "localparam"
2316 "logic" "mailbox" "nand" "nmos" "not" "notif0" "notif1" "or" 2447 "logic" "mailbox" "nand" "nmos" "not" "notif0" "notif1" "or"
2317 "output" "parameter" "pmos" "pull0" "pull1" "pullup" 2448 "output" "parameter" "pmos" "pull0" "pull1" "pulldown" "pullup"
2318 "rcmos" "real" "realtime" "reg" "rnmos" "rpmos" "rtran" 2449 "rcmos" "real" "realtime" "reg" "rnmos" "rpmos" "rtran"
2319 "rtranif0" "rtranif1" "semaphore" "signed" "struct" "supply" 2450 "rtranif0" "rtranif1" "semaphore" "signed" "struct" "supply"
2320 "supply0" "supply1" "time" "tran" "tranif0" "tranif1" 2451 "supply0" "supply1" "time" "tran" "tranif0" "tranif1"
@@ -2328,7 +2459,7 @@ See also `verilog-font-lock-extra-types'.")
2328 '("surefire" "synopsys" "rtl_synthesis" "verilint" "leda" "0in") nil 2459 '("surefire" "synopsys" "rtl_synthesis" "verilint" "leda" "0in") nil
2329 ))) 2460 )))
2330 2461
2331 (verilog-p1800-keywords 2462 (verilog-1800-2005-keywords
2332 (eval-when-compile 2463 (eval-when-compile
2333 (verilog-regexp-opt 2464 (verilog-regexp-opt
2334 '("alias" "assert" "assume" "automatic" "before" "bind" 2465 '("alias" "assert" "assume" "automatic" "before" "bind"
@@ -2352,6 +2483,15 @@ See also `verilog-font-lock-extra-types'.")
2352 "wait_order" "weak0" "weak1" "wildcard" "with" "within" 2483 "wait_order" "weak0" "weak1" "wildcard" "with" "within"
2353 ) nil ))) 2484 ) nil )))
2354 2485
2486 (verilog-1800-2009-keywords
2487 (eval-when-compile
2488 (verilog-regexp-opt
2489 '("accept_on" "checker" "endchecker" "eventually" "global"
2490 "implies" "let" "nexttime" "reject_on" "restrict" "s_always"
2491 "s_eventually" "s_nexttime" "s_until" "s_until_with" "strong"
2492 "sync_accept_on" "sync_reject_on" "unique0" "until"
2493 "until_with" "untyped" "weak" ) nil )))
2494
2355 (verilog-ams-keywords 2495 (verilog-ams-keywords
2356 (eval-when-compile 2496 (eval-when-compile
2357 (verilog-regexp-opt 2497 (verilog-regexp-opt
@@ -2403,11 +2543,17 @@ See also `verilog-font-lock-extra-types'.")
2403 'font-lock-type-face)) 2543 'font-lock-type-face))
2404 (cons (concat "\\<\\(" verilog-type-font-keywords "\\)\\>") 2544 (cons (concat "\\<\\(" verilog-type-font-keywords "\\)\\>")
2405 'font-lock-type-face) 2545 'font-lock-type-face)
2406 ;; Fontify IEEE-P1800 keywords appropriately 2546 ;; Fontify IEEE-1800-2005 keywords appropriately
2547 (if verilog-highlight-p1800-keywords
2548 (cons (concat "\\<\\(" verilog-1800-2005-keywords "\\)\\>")
2549 'verilog-font-lock-p1800-face)
2550 (cons (concat "\\<\\(" verilog-1800-2005-keywords "\\)\\>")
2551 'font-lock-type-face))
2552 ;; Fontify IEEE-1800-2009 keywords appropriately
2407 (if verilog-highlight-p1800-keywords 2553 (if verilog-highlight-p1800-keywords
2408 (cons (concat "\\<\\(" verilog-p1800-keywords "\\)\\>") 2554 (cons (concat "\\<\\(" verilog-1800-2009-keywords "\\)\\>")
2409 'verilog-font-lock-p1800-face) 2555 'verilog-font-lock-p1800-face)
2410 (cons (concat "\\<\\(" verilog-p1800-keywords "\\)\\>") 2556 (cons (concat "\\<\\(" verilog-1800-2009-keywords "\\)\\>")
2411 'font-lock-type-face)) 2557 'font-lock-type-face))
2412 ;; Fontify Verilog-AMS keywords 2558 ;; Fontify Verilog-AMS keywords
2413 (cons (concat "\\<\\(" verilog-ams-keywords "\\)\\>") 2559 (cons (concat "\\<\\(" verilog-ams-keywords "\\)\\>")
@@ -2447,7 +2593,7 @@ See also `verilog-font-lock-extra-types'.")
2447 '("\\(@\\)\\|\\(#\\s-*\\(\\(\[0-9_.\]+\\('s?[hdxbo][0-9a-fA-F_xz]*\\)?\\)\\|\\(([^()]+)\\|\\sw+\\)\\)\\)" 2593 '("\\(@\\)\\|\\(#\\s-*\\(\\(\[0-9_.\]+\\('s?[hdxbo][0-9a-fA-F_xz]*\\)?\\)\\|\\(([^()]+)\\|\\sw+\\)\\)\\)"
2448 0 font-lock-type-face append) 2594 0 font-lock-type-face append)
2449 ;; Fontify instantiation names 2595 ;; Fontify instantiation names
2450 '("\\([A-Za-z][A-Za-z0-9_]+\\)\\s-*(" 1 font-lock-function-name-face) 2596 '("\\([A-Za-z][A-Za-z0-9_]*\\)\\s-*(" 1 font-lock-function-name-face)
2451 ))) 2597 )))
2452 2598
2453 (setq verilog-font-lock-keywords-3 2599 (setq verilog-font-lock-keywords-3
@@ -2459,22 +2605,145 @@ See also `verilog-font-lock-extra-types'.")
2459 (0 'verilog-font-lock-translate-off-face prepend)) 2605 (0 'verilog-font-lock-translate-off-face prepend))
2460 ))))) 2606 )))))
2461 2607
2608;;
2609;; Buffer state preservation
2610
2611(defmacro verilog-save-buffer-state (&rest body)
2612 "Execute BODY forms, saving state around insignificant change.
2613Changes in text properties like `face' or `syntax-table' are
2614considered insignificant. This macro allows text properties to
2615be changed, even in a read-only buffer.
2616
2617A change is considered significant if it affects the buffer text
2618in any way that isn't completely restored again. Any
2619user-visible changes to the buffer must not be within a
2620`verilog-save-buffer-state'."
2621 ;; From c-save-buffer-state
2622 `(let* ((modified (buffer-modified-p))
2623 (buffer-undo-list t)
2624 (inhibit-read-only t)
2625 (inhibit-point-motion-hooks t)
2626 before-change-functions
2627 after-change-functions
2628 deactivate-mark
2629 buffer-file-name ; Prevent primitives checking
2630 buffer-file-truename) ; for file modification
2631 (unwind-protect
2632 (progn ,@body)
2633 (and (not modified)
2634 (buffer-modified-p)
2635 (set-buffer-modified-p nil)))))
2636
2637(defmacro verilog-save-no-change-functions (&rest body)
2638 "Execute BODY forms, disabling all change hooks in BODY.
2639For insigificant changes, see instead `verilog-save-buffer-state'."
2640 `(let* ((inhibit-point-motion-hooks t)
2641 before-change-functions
2642 after-change-functions)
2643 (progn ,@body)))
2644
2645;;
2646;; Comment detection and caching
2647
2648(defvar verilog-scan-cache-preserving nil
2649 "If set, the specified buffer's comment properties are static.
2650Buffer changes will be ignored. See `verilog-inside-comment-p'
2651and `verilog-scan'.")
2652
2653(defvar verilog-scan-cache-tick nil
2654 "Modification tick at which `verilog-scan' was last completed.")
2655(make-variable-buffer-local 'verilog-scan-cache-tick)
2656
2657(defun verilog-scan-cache-ok-p ()
2658 "Return t iff the scan cache is up to date."
2659 (or (and verilog-scan-cache-preserving
2660 (eq verilog-scan-cache-preserving (current-buffer))
2661 verilog-scan-cache-tick)
2662 (equal verilog-scan-cache-tick (buffer-chars-modified-tick))))
2663
2664(defmacro verilog-save-scan-cache (&rest body)
2665 "Execute the BODY forms, allowing scan cache preservation within BODY.
2666This requires that insertions must use `verilog-insert'."
2667 ;; If the buffer is out of date, trash it, as we'll not check later the tick
2668 ;; Note this must work properly if there's multiple layers of calls
2669 ;; to verilog-save-scan-cache even with differing ticks.
2670 `(progn
2671 (unless (verilog-scan-cache-ok-p) ;; Must be before let
2672 (setq verilog-scan-cache-tick nil))
2673 (let* ((verilog-scan-cache-preserving (current-buffer)))
2674 (progn ,@body))))
2675
2676(defun verilog-scan-region (beg end)
2677 "Parse comments between BEG and END for `verilog-inside-comment-p'.
2678This creates v-cmt properties where comments are in force."
2679 ;; Why properties and not overlays? Overlays have much slower non O(1)
2680 ;; lookup times.
2681 ;; This function is warm - called on every verilog-insert
2682 (save-excursion
2683 (save-match-data
2684 (verilog-save-buffer-state
2685 (let (pt)
2686 (goto-char beg)
2687 (while (< (point) end)
2688 (cond ((looking-at "//")
2689 (setq pt (point))
2690 (or (search-forward "\n" end t)
2691 (goto-char end))
2692 ;; "1+": The leading // or /* itself isn't considered as
2693 ;; being "inside" the comment, so that a (search-backward)
2694 ;; that lands at the start of the // won't mis-indicate
2695 ;; it's inside a comment
2696 (put-text-property (1+ pt) (point) 'v-cmt t))
2697 ((looking-at "/\\*")
2698 (setq pt (point))
2699 (or (search-forward "*/" end t)
2700 ;; No error - let later code indicate it so we can
2701 ;; use inside functions on-the-fly
2702 ;;(error "%s: Unmatched /* */, at char %d"
2703 ;; (verilog-point-text) (point))
2704 (goto-char end))
2705 (put-text-property (1+ pt) (point) 'v-cmt t))
2706 (t
2707 (forward-char 1)
2708 (if (re-search-forward "/[/*]" end t)
2709 (backward-char 2)
2710 (goto-char end))))))))))
2711
2712(defun verilog-scan ()
2713 "Parse the buffer, marking all comments with properties.
2714Also assumes any text inserted since `verilog-scan-cache-tick'
2715either is ok to parse as a non-comment, or `verilog-insert' was used."
2716 (unless (verilog-scan-cache-ok-p)
2717 (save-excursion
2718 (verilog-save-buffer-state
2719 (when verilog-debug
2720 (message "Scanning %s cache=%s cachetick=%S tick=%S" (current-buffer)
2721 verilog-scan-cache-preserving verilog-scan-cache-tick
2722 (buffer-chars-modified-tick)))
2723 (remove-text-properties (point-min) (point-max) '(v-cmt nil))
2724 (verilog-scan-region (point-min) (point-max))
2725 (setq verilog-scan-cache-tick (buffer-chars-modified-tick))
2726 (when verilog-debug (message "Scaning... done"))))))
2462 2727
2463(defun verilog-inside-comment-p () 2728(defun verilog-inside-comment-p ()
2464 "Check if point inside a nested comment." 2729 "Check if point inside a comment.
2465 (save-excursion 2730This may require a slow pre-parse of the buffer with `verilog-scan'
2466 (let ((st-point (point)) hitbeg) 2731to establish comment properties on all text."
2467 (or (search-backward "//" (verilog-get-beg-of-line) t) 2732 ;; This function is very hot
2468 (if (progn 2733 (verilog-scan)
2469 ;; This is for tricky case //*, we keep searching if /* 2734 (get-text-property (point) 'v-cmt))
2470 ;; is proceeded by // on same line. 2735
2471 (while 2736(defun verilog-insert (&rest stuff)
2472 (and (setq hitbeg (search-backward "/*" nil t)) 2737 "Insert STUFF arguments, tracking comments for `verilog-inside-comment-p'.
2473 (progn 2738Any insert that includes a comment must have the entire commente
2474 (forward-char 1) 2739inserted using a single call to `verilog-insert'."
2475 (search-backward "//" (verilog-get-beg-of-line) t)))) 2740 (let ((pt (point)))
2476 hitbeg) 2741 (while stuff
2477 (not (search-forward "*/" st-point t))))))) 2742 (insert (car stuff))
2743 (setq stuff (cdr stuff)))
2744 (verilog-scan-region pt (point))))
2745
2746;; More searching
2478 2747
2479(defun verilog-declaration-end () 2748(defun verilog-declaration-end ()
2480 (search-forward ";")) 2749 (search-forward ";"))
@@ -2580,20 +2849,28 @@ Use filename, if current buffer being edited shorten to just buffer name."
2580 (setq md 3) ;; ender is third item in regexp 2849 (setq md 3) ;; ender is third item in regexp
2581 ) 2850 )
2582 ((match-end 4) 2851 ((match-end 4)
2583 ;; might be "disable fork" 2852 ;; might be "disable fork" or "fork wait"
2584 (if (or 2853 (let
2585 (looking-at verilog-disable-fork-re) 2854 (here)
2586 (and (looking-at "fork") 2855 (if (looking-at verilog-fork-wait-re)
2587 (progn 2856 (progn ;; it is a fork wait; ignore it
2588 (forward-word -1) 2857 (goto-char (match-end 0))
2589 (looking-at verilog-disable-fork-re)))) 2858 (setq reg nil))
2590 (progn 2859 (if (or
2591 (goto-char (match-end 0)) 2860 (looking-at verilog-disable-fork-re)
2592 (forward-word 1) 2861 (and (looking-at "fork")
2593 (setq reg nil)) 2862 (progn
2594 (progn 2863 (setq here (point)) ;; sometimes a fork is just a fork
2595 ;; Search forward for matching join 2864 (forward-word -1)
2596 (setq reg "\\(\\<fork\\>\\)\\|\\(\\<join\\(_any\\|_none\\)?\\>\\)" )))) 2865 (looking-at verilog-disable-fork-re))))
2866 (progn ;; it is a disable fork; ignore it
2867 (goto-char (match-end 0))
2868 (forward-word 1)
2869 (setq reg nil))
2870 (progn ;; it is a nice simple fork
2871 (goto-char here) ;; return from looking for "disable fork"
2872 ;; Search forward for matching join
2873 (setq reg "\\(\\<fork\\>\\)\\|\\(\\<join\\(_any\\|_none\\)?\\>\\)" ))))))
2597 ((match-end 6) 2874 ((match-end 6)
2598 ;; Search forward for matching endclass 2875 ;; Search forward for matching endclass
2599 (setq reg "\\(\\<class\\>\\)\\|\\(\\<endclass\\>\\)" )) 2876 (setq reg "\\(\\<class\\>\\)\\|\\(\\<endclass\\>\\)" ))
@@ -2641,15 +2918,31 @@ Use filename, if current buffer being edited shorten to just buffer name."
2641 (forward-word 1)) 2918 (forward-word 1))
2642 (catch 'skip 2919 (catch 'skip
2643 (if (eq nest 'yes) 2920 (if (eq nest 'yes)
2644 (let ((depth 1)) 2921 (let ((depth 1)
2922 here )
2645 (while (verilog-re-search-forward reg nil 'move) 2923 (while (verilog-re-search-forward reg nil 'move)
2646 (cond 2924 (cond
2647 ((match-end md) ; the closer in reg, so we are climbing out 2925 ((match-end md) ; a closer in regular expression, so we are climbing out
2648 (setq depth (1- depth)) 2926 (setq depth (1- depth))
2649 (if (= 0 depth) ; we are out! 2927 (if (= 0 depth) ; we are out!
2650 (throw 'skip 1))) 2928 (throw 'skip 1)))
2651 ((match-end 1) ; the opener in reg, so we are deeper now 2929 ((match-end 1) ; an opener in the r-e, so we are in deeper now
2652 (setq depth (1+ depth)))))) 2930 (setq here (point)) ; remember where we started
2931 (goto-char (match-beginning 1))
2932 (cond
2933 ((looking-at verilog-fork-wait-re)
2934 (goto-char (match-end 0))) ; false alarm
2935 ((if (or
2936 (looking-at verilog-disable-fork-re)
2937 (and (looking-at "fork")
2938 (progn
2939 (forward-word -1)
2940 (looking-at verilog-disable-fork-re))))
2941 (progn ;; it is a disable fork; another false alarm
2942 (goto-char (match-end 0)))
2943 (progn ;; it is a simple fork (or has nothing to do with fork)
2944 (goto-char here)
2945 (setq depth (1+ depth))))))))))
2653 (if (verilog-re-search-forward reg nil 'move) 2946 (if (verilog-re-search-forward reg nil 'move)
2654 (throw 'skip 1)))))) 2947 (throw 'skip 1))))))
2655 2948
@@ -2872,15 +3165,16 @@ Key bindings specific to `verilog-mode-map' are:
2872 nil 3165 nil
2873 'verilog-beg-of-defun))) 3166 'verilog-beg-of-defun)))
2874 ;;------------------------------------------------------------ 3167 ;;------------------------------------------------------------
2875 ;; now hook in 'verilog-colorize-include-files (eldo-mode.el&spice-mode.el) 3168 ;; now hook in 'verilog-highlight-include-files (eldo-mode.el&spice-mode.el)
2876 ;; all buffer local: 3169 ;; all buffer local:
2877 (when (featurep 'xemacs) 3170 (unless noninteractive ;; Else can't see the result, and change hooks are slow
2878 (make-local-hook 'font-lock-mode-hook) 3171 (when (featurep 'xemacs)
2879 (make-local-hook 'font-lock-after-fontify-buffer-hook); doesn't exist in Emacs 3172 (make-local-hook 'font-lock-mode-hook)
2880 (make-local-hook 'after-change-functions)) 3173 (make-local-hook 'font-lock-after-fontify-buffer-hook); doesn't exist in Emacs
2881 (add-hook 'font-lock-mode-hook 'verilog-colorize-include-files-buffer t t) 3174 (make-local-hook 'after-change-functions))
2882 (add-hook 'font-lock-after-fontify-buffer-hook 'verilog-colorize-include-files-buffer t t) ; not in Emacs 3175 (add-hook 'font-lock-mode-hook 'verilog-highlight-buffer t t)
2883 (add-hook 'after-change-functions 'verilog-colorize-include-files t t) 3176 (add-hook 'font-lock-after-fontify-buffer-hook 'verilog-highlight-buffer t t) ; not in Emacs
3177 (add-hook 'after-change-functions 'verilog-highlight-region t t))
2884 3178
2885 ;; Tell imenu how to handle Verilog. 3179 ;; Tell imenu how to handle Verilog.
2886 (make-local-variable 'imenu-generic-expression) 3180 (make-local-variable 'imenu-generic-expression)
@@ -3310,34 +3604,53 @@ With ARG, first kill any existing labels."
3310 (interactive) 3604 (interactive)
3311 ;; Move back token by token until we see the end 3605 ;; Move back token by token until we see the end
3312 ;; of some ealier line. 3606 ;; of some ealier line.
3313 (while 3607 (let (h)
3314 ;; If the current point does not begin a new 3608 (while
3315 ;; statement, as in the character ahead of us is a ';', or SOF 3609 ;; If the current point does not begin a new
3316 ;; or the string after us unambiguously starts a statement, 3610 ;; statement, as in the character ahead of us is a ';', or SOF
3317 ;; or the token before us unambiguously ends a statement, 3611 ;; or the string after us unambiguously starts a statement,
3318 ;; then move back a token and test again. 3612 ;; or the token before us unambiguously ends a statement,
3319 (not (or 3613 ;; then move back a token and test again.
3320 (bolp) 3614 (not (or
3321 (= (preceding-char) ?\;) 3615 ;; stop if beginning of buffer
3322 (looking-at "\\w+\\W*:\\W*\\(coverpoint\\|cross\\|constraint\\)") 3616 (bolp)
3323 (not (or 3617 ;; stop if we find a ;
3324 (looking-at "\\<") 3618 (= (preceding-char) ?\;)
3325 (forward-word -1))) 3619 ;; stop if we see a named coverpoint
3326 (and 3620 (looking-at "\\w+\\W*:\\W*\\(coverpoint\\|cross\\|constraint\\)")
3327 (looking-at verilog-complete-reg) 3621 ;; keep going if we are in the middle of a word
3328 (not (save-excursion 3622 (not (or (looking-at "\\<") (forward-word -1)))
3329 (verilog-backward-token) 3623 ;; stop if we see an assertion (perhaps labled)
3330 (looking-at verilog-extended-complete-re)))) 3624 (and
3331 (looking-at verilog-basic-complete-re) 3625 (looking-at "\\(\\<\\(assert\\|assume\\|cover\\)\\>\\s-+\\<property\\>\\)\\|\\(\\<assert\\>\\)")
3332 (save-excursion 3626 (progn
3333 (verilog-backward-token) 3627 (setq h (point))
3334 (or 3628 (save-excursion
3335 (looking-at verilog-end-block-re) 3629 (verilog-backward-token)
3336 (looking-at verilog-preprocessor-re))))) 3630 (if (looking-at verilog-label-re)
3631 (setq h (point))))
3632 (goto-char h)))
3633 ;; stop if we see a complete reg, perhaps an extended one
3634 (and
3635 (looking-at verilog-complete-reg)
3636 (let* ((p (point)))
3637 (while (and (looking-at verilog-extended-complete-re)
3638 (progn (setq p (point))
3639 (verilog-backward-token)
3640 (/= p (point)))))
3641 (goto-char p)))
3642 ;; stop if we see a complete reg (previous found extended ones)
3643 (looking-at verilog-basic-complete-re)
3644 ;; stop if previous token is an ender
3645 (save-excursion
3646 (verilog-backward-token)
3647 (or
3648 (looking-at verilog-end-block-re)
3649 (looking-at verilog-preprocessor-re))))) ;; end of test
3337 (verilog-backward-syntactic-ws) 3650 (verilog-backward-syntactic-ws)
3338 (verilog-backward-token)) 3651 (verilog-backward-token))
3339 ;; Now point is where the previous line ended. 3652 ;; Now point is where the previous line ended.
3340 (verilog-forward-syntactic-ws)) 3653 (verilog-forward-syntactic-ws)))
3341 3654
3342(defun verilog-beg-of-statement-1 () 3655(defun verilog-beg-of-statement-1 ()
3343 "Move backward to beginning of statement." 3656 "Move backward to beginning of statement."
@@ -3350,7 +3663,10 @@ With ARG, first kill any existing labels."
3350 (setq pt (point)) 3663 (setq pt (point))
3351 (verilog-backward-syntactic-ws) 3664 (verilog-backward-syntactic-ws)
3352 (if (or (bolp) 3665 (if (or (bolp)
3353 (= (preceding-char) ?\;)) 3666 (= (preceding-char) ?\;)
3667 (save-excursion
3668 (verilog-backward-token)
3669 (looking-at verilog-ends-re)))
3354 (progn 3670 (progn
3355 (goto-char pt) 3671 (goto-char pt)
3356 (throw 'done t)) 3672 (throw 'done t))
@@ -3449,6 +3765,14 @@ More specifically, point @ in the line foo : @ begin"
3449 (t 3765 (t
3450 (throw 'found (= nest 0))))))) 3766 (throw 'found (= nest 0)))))))
3451 nil))) 3767 nil)))
3768(defun verilog-backward-up-list (arg)
3769 "Like backward-up-list, but deal with comments."
3770 (let (saved-psic parse-sexp-ignore-comments)
3771 (setq parse-sexp-ignore-comments 1)
3772 (backward-up-list arg)
3773 (setq parse-sexp-ignore-comments saved-psic)
3774 ))
3775
3452(defun verilog-in-struct-region-p () 3776(defun verilog-in-struct-region-p ()
3453 "Return true if in a struct region. 3777 "Return true if in a struct region.
3454More specifically, in a list after a struct|union keyword." 3778More specifically, in a list after a struct|union keyword."
@@ -3457,7 +3781,7 @@ More specifically, in a list after a struct|union keyword."
3457 (let* ((state (verilog-syntax-ppss)) 3781 (let* ((state (verilog-syntax-ppss))
3458 (depth (nth 0 state))) 3782 (depth (nth 0 state)))
3459 (if depth 3783 (if depth
3460 (progn (backward-up-list depth) 3784 (progn (verilog-backward-up-list depth)
3461 (verilog-beg-of-statement) 3785 (verilog-beg-of-statement)
3462 (looking-at "\\<typedef\\>?\\s-*\\<struct\\|union\\>")))))) 3786 (looking-at "\\<typedef\\>?\\s-*\\<struct\\|union\\>"))))))
3463 3787
@@ -3583,7 +3907,8 @@ Limit search to point LIM."
3583 "\\(`endif\\>\\)\\|" 3907 "\\(`endif\\>\\)\\|"
3584 "\\(`if\\>\\)\\|" 3908 "\\(`if\\>\\)\\|"
3585 "\\(`ifdef\\>\\)\\|" 3909 "\\(`ifdef\\>\\)\\|"
3586 "\\(`ifndef\\>\\)")) 3910 "\\(`ifndef\\>\\)\\|"
3911 "\\(`elsif\\>\\)"))
3587(defun verilog-set-auto-endcomments (indent-str kill-existing-comment) 3912(defun verilog-set-auto-endcomments (indent-str kill-existing-comment)
3588 "Add ending comment with given INDENT-STR. 3913 "Add ending comment with given INDENT-STR.
3589With KILL-EXISTING-COMMENT, remove what was there before. 3914With KILL-EXISTING-COMMENT, remove what was there before.
@@ -3623,7 +3948,12 @@ primitive or interface named NAME."
3623 ((match-end 4) ; `ifdef 3948 ((match-end 4) ; `ifdef
3624 (setq nest (1- nest))) 3949 (setq nest (1- nest)))
3625 ((match-end 5) ; `ifndef 3950 ((match-end 5) ; `ifndef
3626 (setq nest (1- nest))))) 3951 (setq nest (1- nest)))
3952 ((match-end 6) ; `elsif
3953 (if (= nest 1)
3954 (progn
3955 (setq else "!")
3956 (setq nest 0))))))
3627 (if (match-end 0) 3957 (if (match-end 0)
3628 (setq 3958 (setq
3629 m (buffer-substring 3959 m (buffer-substring
@@ -3640,7 +3970,7 @@ primitive or interface named NAME."
3640 (if (> (count-lines (point) b) verilog-minimum-comment-distance) 3970 (if (> (count-lines (point) b) verilog-minimum-comment-distance)
3641 (insert (concat " // " else m " " (buffer-substring b e)))) 3971 (insert (concat " // " else m " " (buffer-substring b e))))
3642 (progn 3972 (progn
3643 (insert " // unmatched `else or `endif") 3973 (insert " // unmatched `else, `elsif or `endif")
3644 (ding 't))))) 3974 (ding 't)))))
3645 3975
3646 (; Comment close case/class/function/task/module and named block 3976 (; Comment close case/class/function/task/module and named block
@@ -3719,8 +4049,8 @@ primitive or interface named NAME."
3719 (cond 4049 (cond
3720 (; 4050 (;
3721 (eq here (progn 4051 (eq here (progn
3722 (verilog-backward-token) 4052 ;; (verilog-backward-token)
3723 (verilog-beg-of-statement-1) 4053 (verilog-beg-of-statement)
3724 (point))) 4054 (point)))
3725 (setq err nil) 4055 (setq err nil)
3726 (setq str "")) 4056 (setq str ""))
@@ -3744,7 +4074,7 @@ primitive or interface named NAME."
3744 (;- else 4074 (;- else
3745 (match-end 2) 4075 (match-end 2)
3746 (let ((nest 0) 4076 (let ((nest 0)
3747 ( reg "\\(\\<begin\\>\\)\\|\\(\\<end\\>\\)\\|\\(\\<if\\>\\)")) 4077 ( reg "\\(\\<begin\\>\\)\\|\\(\\<end\\>\\)\\|\\(\\<if\\>\\)\\|\\(assert\\)"))
3748 (catch 'skip 4078 (catch 'skip
3749 (while (verilog-re-search-backward reg nil 'move) 4079 (while (verilog-re-search-backward reg nil 'move)
3750 (cond 4080 (cond
@@ -3760,13 +4090,21 @@ primitive or interface named NAME."
3760 (setq err nil) 4090 (setq err nil)
3761 (setq str (verilog-get-expr)) 4091 (setq str (verilog-get-expr))
3762 (setq str (concat " // else: !if" str )) 4092 (setq str (concat " // else: !if" str ))
4093 (throw 'skip 1))))
4094 ((match-end 4)
4095 (if (= 0 nest)
4096 (progn
4097 (goto-char (match-end 0))
4098 (setq there (point))
4099 (setq err nil)
4100 (setq str (verilog-get-expr))
4101 (setq str (concat " // else: !assert " str ))
3763 (throw 'skip 1))))))))) 4102 (throw 'skip 1)))))))))
3764
3765 (;- end else 4103 (;- end else
3766 (match-end 3) 4104 (match-end 3)
3767 (goto-char there) 4105 (goto-char there)
3768 (let ((nest 0) 4106 (let ((nest 0)
3769 (reg "\\(\\<begin\\>\\)\\|\\(\\<end\\>\\)\\|\\(\\<if\\>\\)")) 4107 (reg "\\(\\<begin\\>\\)\\|\\(\\<end\\>\\)\\|\\(\\<if\\>\\)\\|\\(assert\\)"))
3770 (catch 'skip 4108 (catch 'skip
3771 (while (verilog-re-search-backward reg nil 'move) 4109 (while (verilog-re-search-backward reg nil 'move)
3772 (cond 4110 (cond
@@ -3782,7 +4120,17 @@ primitive or interface named NAME."
3782 (setq err nil) 4120 (setq err nil)
3783 (setq str (verilog-get-expr)) 4121 (setq str (verilog-get-expr))
3784 (setq str (concat " // else: !if" str )) 4122 (setq str (concat " // else: !if" str ))
4123 (throw 'skip 1))))
4124 ((match-end 4)
4125 (if (= 0 nest)
4126 (progn
4127 (goto-char (match-end 0))
4128 (setq there (point))
4129 (setq err nil)
4130 (setq str (verilog-get-expr))
4131 (setq str (concat " // else: !assert " str ))
3785 (throw 'skip 1))))))))) 4132 (throw 'skip 1)))))))))
4133
3786 (; always_comb, always_ff, always_latch 4134 (; always_comb, always_ff, always_latch
3787 (or (match-end 4) (match-end 5) (match-end 6)) 4135 (or (match-end 4) (match-end 5) (match-end 6))
3788 (goto-char (match-end 0)) 4136 (goto-char (match-end 0))
@@ -3915,6 +4263,10 @@ primitive or interface named NAME."
3915 (setq b (progn 4263 (setq b (progn
3916 (skip-chars-forward "^ \t") 4264 (skip-chars-forward "^ \t")
3917 (verilog-forward-ws&directives) 4265 (verilog-forward-ws&directives)
4266 (if (looking-at "static\\|automatic")
4267 (progn
4268 (goto-char (match-end 0))
4269 (verilog-forward-ws&directives)))
3918 (if (and name-re (verilog-re-search-forward name-re nil 'move)) 4270 (if (and name-re (verilog-re-search-forward name-re nil 'move))
3919 (progn 4271 (progn
3920 (goto-char (match-beginning 0)) 4272 (goto-char (match-beginning 0))
@@ -4198,6 +4550,30 @@ becomes:
4198 (save-buffer) 4550 (save-buffer)
4199 (compile compile-command)) 4551 (compile compile-command))
4200 4552
4553(defun verilog-preprocess (&optional command filename)
4554 "Preprocess the buffer, similar to `compile', but leave output in Verilog-Mode.
4555Takes optional COMMAND or defaults to `verilog-preprocessor', and
4556FILENAME or defaults to `buffer-file-name`."
4557 (interactive
4558 (list
4559 (let ((default (verilog-expand-command verilog-preprocessor)))
4560 (set (make-local-variable `verilog-preprocessor)
4561 (read-from-minibuffer "Run Preprocessor (like this): "
4562 default nil nil
4563 'verilog-preprocess-history default)))))
4564 (unless command (setq command (verilog-expand-command verilog-preprocessor)))
4565 (let* ((fontlocked (and (boundp 'font-lock-mode) font-lock-mode))
4566 (dir (file-name-directory (or filename buffer-file-name)))
4567 (file (file-name-nondirectory (or filename buffer-file-name)))
4568 (cmd (concat "cd " dir "; " command " " file)))
4569 (with-output-to-temp-buffer "*Verilog-Preprocessed*"
4570 (with-current-buffer (get-buffer "*Verilog-Preprocessed*")
4571 (insert (concat "// " cmd "\n"))
4572 (shell-command cmd "*Verilog-Preprocessed*")
4573 (verilog-mode)
4574 ;; Without this force, it takes a few idle seconds
4575 ;; to get the color, which is very jarring
4576 (when fontlocked (font-lock-fontify-buffer))))))
4201 4577
4202 4578
4203;; 4579;;
@@ -4340,7 +4716,7 @@ Return a list of two elements: (INDENT-TYPE INDENT-LEVEL)."
4340 ;; if we have a directive, done. 4716 ;; if we have a directive, done.
4341 (if (save-excursion (beginning-of-line) 4717 (if (save-excursion (beginning-of-line)
4342 (and (looking-at verilog-directive-re-1) 4718 (and (looking-at verilog-directive-re-1)
4343 (not (or (looking-at "[ \t]*`ovm_") 4719 (not (or (looking-at "[ \t]*`ovm_")
4344 (looking-at "[ \t]*`vmm_"))))) 4720 (looking-at "[ \t]*`vmm_")))))
4345 (throw 'nesting 'directive)) 4721 (throw 'nesting 'directive))
4346 ;; indent structs as if there were module level 4722 ;; indent structs as if there were module level
@@ -4404,8 +4780,7 @@ Return a list of two elements: (INDENT-TYPE INDENT-LEVEL)."
4404 ((match-end 3) ; assert block 4780 ((match-end 3) ; assert block
4405 (setq elsec (1- elsec)) 4781 (setq elsec (1- elsec))
4406 (verilog-beg-of-statement) ;; doesn't get to beginning 4782 (verilog-beg-of-statement) ;; doesn't get to beginning
4407 (if (looking-at (concat "\\(" verilog-label-re "\\)?" 4783 (if (looking-at verilog-property-re)
4408 "\\(assert\\|assume\\|cover\\)\\s-+property\\>"))
4409 (throw 'nesting 'statement) ; We don't need an endproperty for these 4784 (throw 'nesting 'statement) ; We don't need an endproperty for these
4410 (throw 'nesting 'block) ;We still need a endproperty 4785 (throw 'nesting 'block) ;We still need a endproperty
4411 )) 4786 ))
@@ -4532,12 +4907,20 @@ Return a list of two elements: (INDENT-TYPE INDENT-LEVEL)."
4532 ((match-end 4) ; *sigh* could be "disable fork" 4907 ((match-end 4) ; *sigh* could be "disable fork"
4533 (let ((here (point))) 4908 (let ((here (point)))
4534 (verilog-beg-of-statement) 4909 (verilog-beg-of-statement)
4535 (if (looking-at verilog-disable-fork-re) 4910 (if (or (looking-at verilog-disable-fork-re)
4536 t ; is disable fork, this is a normal statement 4911 (looking-at verilog-fork-wait-re))
4912 t ; this is a normal statement
4537 (progn ; or is fork, starts a new block 4913 (progn ; or is fork, starts a new block
4538 (goto-char here) 4914 (goto-char here)
4539 (throw 'nesting 'block))))) 4915 (throw 'nesting 'block)))))
4540 4916
4917 ((match-end 27) ; *sigh* might be a clocking declaration
4918 (let ((here (point)))
4919 (if (verilog-in-paren)
4920 t ; this is a normal statement
4921 (progn ; or is fork, starts a new block
4922 (goto-char here)
4923 (throw 'nesting 'block)))))
4541 4924
4542 ;; need to consider typedef struct here... 4925 ;; need to consider typedef struct here...
4543 ((looking-at "\\<class\\|struct\\|function\\|task\\>") 4926 ((looking-at "\\<class\\|struct\\|function\\|task\\>")
@@ -4561,8 +4944,7 @@ Return a list of two elements: (INDENT-TYPE INDENT-LEVEL)."
4561 ; but 4944 ; but
4562 ; property ID () ... needs end_property 4945 ; property ID () ... needs end_property
4563 (verilog-beg-of-statement) 4946 (verilog-beg-of-statement)
4564 (if (looking-at (concat "\\(" verilog-label-re "\\)?" 4947 (if (looking-at verilog-property-re)
4565 "\\(assert\\|assume\\|cover\\)\\s-+property\\>"))
4566 (throw 'continue 'statement) ; We don't need an endproperty for these 4948 (throw 'continue 'statement) ; We don't need an endproperty for these
4567 (throw 'nesting 'block) ;We still need a endproperty 4949 (throw 'nesting 'block) ;We still need a endproperty
4568 )) 4950 ))
@@ -4811,7 +5193,7 @@ Set point to where line starts."
4811 (= (preceding-char) ?\)) 5193 (= (preceding-char) ?\))
4812 (progn 5194 (progn
4813 (backward-char) 5195 (backward-char)
4814 (backward-up-list 1) 5196 (verilog-backward-up-list 1)
4815 (verilog-backward-syntactic-ws) 5197 (verilog-backward-syntactic-ws)
4816 (let ((back (point))) 5198 (let ((back (point)))
4817 (forward-word -1) 5199 (forward-word -1)
@@ -4882,31 +5264,13 @@ Set point to where line starts."
4882 (goto-char back) 5264 (goto-char back)
4883 t)))))))) 5265 t))))))))
4884 5266
4885(defun verilog-backward-syntactic-ws (&optional bound) 5267(defun verilog-backward-syntactic-ws ()
4886 "Backward skip over syntactic whitespace for Emacs 19. 5268 (verilog-skip-backward-comments)
4887Optional BOUND limits search." 5269 (forward-comment (- (buffer-size))))
4888 (save-restriction
4889 (let* ((bound (or bound (point-min))) (here bound) )
4890 (if (< bound (point))
4891 (progn
4892 (narrow-to-region bound (point))
4893 (while (/= here (point))
4894 (setq here (point))
4895 (verilog-skip-backward-comments))))))
4896 t)
4897 5270
4898(defun verilog-forward-syntactic-ws (&optional bound) 5271(defun verilog-forward-syntactic-ws ()
4899 "Forward skip over syntactic whitespace for Emacs 19. 5272 (verilog-skip-forward-comment-p)
4900Optional BOUND limits search." 5273 (forward-comment (buffer-size)))
4901 (save-restriction
4902 (let* ((bound (or bound (point-max)))
4903 (here bound))
4904 (if (> bound (point))
4905 (progn
4906 (narrow-to-region (point) bound)
4907 (while (/= here (point))
4908 (setq here (point))
4909 (forward-comment (buffer-size))))))))
4910 5274
4911(defun verilog-backward-ws&directives (&optional bound) 5275(defun verilog-backward-ws&directives (&optional bound)
4912 "Backward skip over syntactic whitespace and compiler directives for Emacs 19. 5276 "Backward skip over syntactic whitespace and compiler directives for Emacs 19.
@@ -4953,14 +5317,19 @@ Optional BOUND limits search."
4953 (let ((state (save-excursion (verilog-syntax-ppss)))) 5317 (let ((state (save-excursion (verilog-syntax-ppss))))
4954 (cond 5318 (cond
4955 ((nth 7 state) ;; in // comment 5319 ((nth 7 state) ;; in // comment
4956 (verilog-re-search-forward "//" nil 'move)) 5320 (end-of-line)
5321 (forward-char 1)
5322 (skip-chars-forward " \t\n\f")
5323 )
4957 ((nth 4 state) ;; in /* */ comment 5324 ((nth 4 state) ;; in /* */ comment
4958 (verilog-re-search-forward "/\*" nil 'move)))) 5325 (verilog-re-search-forward "\*\/\\s-*" nil 'move))))
4959 (narrow-to-region (point) bound) 5326 (narrow-to-region (point) bound)
4960 (while (/= here (point)) 5327 (while (/= here (point))
4961 (setq here (point) 5328 (setq here (point)
4962 jump nil) 5329 jump nil)
4963 (forward-comment (buffer-size)) 5330 (forward-comment (buffer-size))
5331 (and (looking-at "\\s-*(\\*.*\\*)\\s-*") ;; Attribute
5332 (goto-char (match-end 0)))
4964 (save-excursion 5333 (save-excursion
4965 (beginning-of-line) 5334 (beginning-of-line)
4966 (if (looking-at verilog-directive-re-1) 5335 (if (looking-at verilog-directive-re-1)
@@ -4992,6 +5361,12 @@ Optional BOUND limits search."
4992 (let ((state (save-excursion (verilog-syntax-ppss)))) 5361 (let ((state (save-excursion (verilog-syntax-ppss))))
4993 (or (nth 3 state) (nth 4 state) (nth 7 state)))) ; Inside string or comment) 5362 (or (nth 3 state) (nth 4 state) (nth 7 state)))) ; Inside string or comment)
4994 5363
5364(defun verilog-in-attribute-p ()
5365 "Return true if point is in an attribute (* [] attribute *)."
5366 (save-excursion
5367 (verilog-re-search-backward "\\((\\*\\)\\|\\(\\*)\\)" nil 'move)
5368 (numberp (match-beginning 1))))
5369
4995(defun verilog-in-escaped-name-p () 5370(defun verilog-in-escaped-name-p ()
4996 "Return true if in an escaped name." 5371 "Return true if in an escaped name."
4997 (save-excursion 5372 (save-excursion
@@ -5001,7 +5376,7 @@ Optional BOUND limits search."
5001 t 5376 t
5002 nil))) 5377 nil)))
5003(defun verilog-in-directive-p () 5378(defun verilog-in-directive-p ()
5004 "Return true if in a star or // comment." 5379 "Return true if in a directive."
5005 (save-excursion 5380 (save-excursion
5006 (beginning-of-line) 5381 (beginning-of-line)
5007 (looking-at verilog-directive-re-1))) 5382 (looking-at verilog-directive-re-1)))
@@ -5017,7 +5392,7 @@ Optional BOUND limits search."
5017 (save-excursion 5392 (save-excursion
5018 (if (verilog-in-paren) 5393 (if (verilog-in-paren)
5019 (progn 5394 (progn
5020 (backward-up-list 1) 5395 (verilog-backward-up-list 1)
5021 (verilog-at-struct-p) 5396 (verilog-at-struct-p)
5022 ) 5397 )
5023 nil))) 5398 nil)))
@@ -5028,7 +5403,7 @@ Optional BOUND limits search."
5028 (save-excursion 5403 (save-excursion
5029 (if (verilog-in-paren) 5404 (if (verilog-in-paren)
5030 (progn 5405 (progn
5031 (backward-up-list 1) 5406 (verilog-backward-up-list 1)
5032 (verilog-at-constraint-p) 5407 (verilog-at-constraint-p)
5033 ) 5408 )
5034 nil))) 5409 nil)))
@@ -5123,27 +5498,66 @@ Optional BOUND limits search."
5123 (= (char-before) ?\/) 5498 (= (char-before) ?\/)
5124 (= (char-before (1- (point))) ?\*)) 5499 (= (char-before (1- (point))) ?\*))
5125 (goto-char (- (point) 2)) 5500 (goto-char (- (point) 2))
5126 t) 5501 t) ;; Let nth 4 state handle the rest
5502 ((and (not (bobp))
5503 (= (char-before) ?\))
5504 (= (char-before (1- (point))) ?\*))
5505 (goto-char (- (point) 2))
5506 (if (search-backward "(*" nil t)
5507 (progn
5508 (skip-chars-backward " \t\n\f")
5509 t)
5510 (progn
5511 (goto-char (+ (point) 2))
5512 nil)))
5127 (t 5513 (t
5128 (skip-chars-backward " \t\n\f") 5514 (/= (skip-chars-backward " \t\n\f") 0))))))))
5129 nil)))))))
5130 5515
5131(defun verilog-skip-forward-comment-p () 5516(defun verilog-skip-forward-comment-p ()
5132 "If in comment, move to end and return true." 5517 "If in comment, move to end and return true."
5133 (let (state) 5518 (let* (h
5134 (progn 5519 (state (save-excursion (verilog-syntax-ppss)))
5135 (setq state (save-excursion (verilog-syntax-ppss))) 5520 (skip (cond
5136 (cond 5521 ((nth 3 state) ;Inside string
5137 ((nth 3 state) 5522 t)
5138 t) 5523 ((nth 7 state) ;Inside // comment
5139 ((nth 7 state) ;Inside // comment 5524 (end-of-line)
5140 (end-of-line) 5525 (forward-char 1)
5141 (forward-char 1) 5526 t)
5142 t) 5527 ((nth 4 state) ;Inside /* comment
5143 ((nth 4 state) ;Inside any comment 5528 (search-forward "*/")
5144 t) 5529 t)
5145 (t 5530 ((verilog-in-attribute-p) ;Inside (* attribute
5146 nil))))) 5531 (search-forward "*)" nil t)
5532 t)
5533 (t nil))))
5534 (skip-chars-forward " \t\n\f")
5535 (while
5536 (cond
5537 ((looking-at "\\/\\*")
5538 (progn
5539 (setq h (point))
5540 (goto-char (match-end 0))
5541 (if (search-forward "*/" nil t)
5542 (progn
5543 (skip-chars-forward " \t\n\f")
5544 (setq skip 't))
5545 (progn
5546 (goto-char h)
5547 nil))))
5548 ((looking-at "(\\*")
5549 (progn
5550 (setq h (point))
5551 (goto-char (match-end 0))
5552 (if (search-forward "*)" nil t)
5553 (progn
5554 (skip-chars-forward " \t\n\f")
5555 (setq skip 't))
5556 (progn
5557 (goto-char h)
5558 nil))))
5559 (t nil)))
5560 skip))
5147 5561
5148(defun verilog-indent-line-relative () 5562(defun verilog-indent-line-relative ()
5149 "Cheap version of indent line. 5563 "Cheap version of indent line.
@@ -5210,7 +5624,7 @@ Only look at a few lines to determine indent level."
5210 ((= (following-char) ?\[) 5624 ((= (following-char) ?\[)
5211 (progn 5625 (progn
5212 (forward-char 1) 5626 (forward-char 1)
5213 (backward-up-list -1) 5627 (verilog-backward-up-list -1)
5214 (skip-chars-forward " \t")))) 5628 (skip-chars-forward " \t"))))
5215 (current-column)) 5629 (current-column))
5216 (progn 5630 (progn
@@ -5235,13 +5649,24 @@ Only look at a few lines to determine indent level."
5235 5649
5236 (; handle inside parenthetical expressions 5650 (; handle inside parenthetical expressions
5237 (eq type 'cparenexp) 5651 (eq type 'cparenexp)
5238 (let ((val (save-excursion 5652 (let* ( here
5239 (backward-up-list 1) 5653 (val (save-excursion
5240 (forward-char 1) 5654 (verilog-backward-up-list 1)
5241 (skip-chars-forward " \t") 5655 (forward-char 1)
5242 (current-column)))) 5656 (if verilog-indent-lists
5243 (indent-line-to val) 5657 (skip-chars-forward " \t")
5244 )) 5658 (verilog-forward-syntactic-ws))
5659 (setq here (point))
5660 (current-column)))
5661
5662 (decl (save-excursion
5663 (goto-char here)
5664 (verilog-forward-syntactic-ws)
5665 (setq here (point))
5666 (looking-at verilog-declaration-re))))
5667 (indent-line-to val)
5668 (if decl
5669 (verilog-pretty-declarations))))
5245 5670
5246 (;-- Handle the ends 5671 (;-- Handle the ends
5247 (or 5672 (or
@@ -5376,117 +5801,152 @@ ARG is ignored, for `comment-indent-function' compatibility."
5376 "Line up declarations around point. 5801 "Line up declarations around point.
5377Be verbose about progress unless optional QUIET set." 5802Be verbose about progress unless optional QUIET set."
5378 (interactive) 5803 (interactive)
5379 (save-excursion 5804 (let* ((m1 (make-marker))
5380 (if (progn 5805 (e (point))
5381 (verilog-beg-of-statement-1) 5806 el
5382 (and (not (verilog-in-directive-p)) ;; could have `define input foo 5807 r
5383 (not (verilog-parenthesis-depth)) ;; could be in a #(param block ) 5808 (here (point))
5809 ind
5810 start
5811 startpos
5812 end
5813 endpos
5814 base-ind
5815 )
5816 (save-excursion
5817 (if (progn
5818; (verilog-beg-of-statement-1)
5819 (beginning-of-line)
5820 (verilog-forward-syntactic-ws)
5821 (and (not (verilog-in-directive-p)) ;; could have `define input foo
5384 (looking-at verilog-declaration-re))) 5822 (looking-at verilog-declaration-re)))
5385 (let* ((m1 (make-marker)) 5823 (progn
5386 (e (point)) 5824 (if (verilog-parenthesis-depth)
5387 (r) 5825 ;; in an argument list or parameter block
5388 (here (point)) 5826 (setq el (verilog-backward-up-list -1)
5389 ;; Start of declaration range 5827 start (progn
5390 (start 5828 (goto-char e)
5391 (progn 5829 (verilog-backward-up-list 1)
5392 (verilog-beg-of-statement-1) 5830 (forward-line) ;; ignore ( input foo,
5393 (while (and (looking-at verilog-declaration-re) 5831 (verilog-re-search-forward verilog-declaration-re el 'move)
5394 (not (bobp))) 5832 (goto-char (match-beginning 0))
5395 (skip-chars-backward " \t") 5833 (skip-chars-backward " \t")
5396 (setq e (point)) 5834 (point))
5397 (beginning-of-line) 5835 startpos (set-marker (make-marker) start)
5398 (verilog-backward-syntactic-ws) 5836 end (progn
5399 (backward-char) 5837 (goto-char start)
5400 (verilog-beg-of-statement-1)) 5838 (verilog-backward-up-list -1)
5401 e)) 5839 (forward-char -1)
5402 ;; End of declaration range 5840 (verilog-backward-syntactic-ws)
5403 (end 5841 (point))
5404 (progn 5842 endpos (set-marker (make-marker) end)
5405 (goto-char here) 5843 base-ind (progn
5406 (verilog-end-of-statement) 5844 (goto-char start)
5407 (setq e (point)) ;Might be on last line 5845 (forward-char 1)
5408 (verilog-forward-syntactic-ws) 5846 (skip-chars-forward " \t")
5409 (while (looking-at verilog-declaration-re) 5847 (current-column))
5410 ;;(beginning-of-line) 5848 )
5411 (verilog-end-of-statement) 5849 ;; in a declaration block (not in argument list)
5412 (setq e (point)) 5850 (setq
5413 (verilog-forward-syntactic-ws)) 5851 start (progn
5414 e)) 5852 (verilog-beg-of-statement-1)
5415 (edpos (set-marker (make-marker) end)) 5853 (while (and (looking-at verilog-declaration-re)
5416 (ind) 5854 (not (bobp)))
5417 (base-ind 5855 (skip-chars-backward " \t")
5418 (progn 5856 (setq e (point))
5419 (goto-char start) 5857 (beginning-of-line)
5420 (verilog-do-indent (verilog-calculate-indent)) 5858 (verilog-backward-syntactic-ws)
5421 (verilog-forward-ws&directives) 5859 (backward-char)
5422 (current-column)))) 5860 (verilog-beg-of-statement-1))
5423 (goto-char start) 5861 e)
5424 (if (and (not quiet) 5862 startpos (set-marker (make-marker) start)
5425 (> (- end start) 100)) 5863 end (progn
5426 (message "Lining up declarations..(please stand by)")) 5864 (goto-char here)
5427 ;; Get the beginning of line indent first 5865 (verilog-end-of-statement)
5428 (while (progn (setq e (marker-position edpos)) 5866 (setq e (point)) ;Might be on last line
5429 (< (point) e)) 5867 (verilog-forward-syntactic-ws)
5430 (cond 5868 (while (looking-at verilog-declaration-re)
5431 ( (save-excursion (skip-chars-backward " \t") 5869 (verilog-end-of-statement)
5432 (bolp)) 5870 (setq e (point))
5433 (verilog-forward-ws&directives) 5871 (verilog-forward-syntactic-ws))
5434 (indent-line-to base-ind) 5872 e)
5435 (verilog-forward-ws&directives) 5873 endpos (set-marker (make-marker) end)
5436 (verilog-re-search-forward "[ \t\n\f]" e 'move)) 5874 base-ind (progn
5437 (t 5875 (goto-char start)
5438 (just-one-space) 5876 (verilog-do-indent (verilog-calculate-indent))
5439 (verilog-re-search-forward "[ \t\n\f]" e 'move))) 5877 (verilog-forward-ws&directives)
5440 ;;(forward-line) 5878 (current-column))))
5441 ) 5879 ;; OK, start and end are set
5442 ;; Now find biggest prefix 5880 (goto-char (marker-position startpos))
5443 (setq ind (verilog-get-lineup-indent start edpos)) 5881 (if (and (not quiet)
5444 ;; Now indent each line. 5882 (> (- end start) 100))
5445 (goto-char start) 5883 (message "Lining up declarations..(please stand by)"))
5446 (while (progn (setq e (marker-position edpos)) 5884 ;; Get the beginning of line indent first
5447 (setq r (- e (point))) 5885 (while (progn (setq e (marker-position endpos))
5448 (> r 0)) 5886 (< (point) e))
5449 (setq e (point)) 5887 (cond
5450 (unless quiet (message "%d" r)) 5888 ((save-excursion (skip-chars-backward " \t")
5451 (verilog-indent-line) 5889 (bolp))
5452 (cond 5890 (verilog-forward-ws&directives)
5453 ((or (and verilog-indent-declaration-macros 5891 (indent-line-to base-ind)
5454 (looking-at verilog-declaration-re-2-macro)) 5892 (verilog-forward-ws&directives)
5455 (looking-at verilog-declaration-re-2-no-macro)) 5893 (if (< (point) e)
5456 (let ((p (match-end 0))) 5894 (verilog-re-search-forward "[ \t\n\f]" e 'move)))
5457 (set-marker m1 p) 5895 (t
5458 (if (verilog-re-search-forward "[[#`]" p 'move) 5896 (just-one-space)
5459 (progn 5897 (verilog-re-search-forward "[ \t\n\f]" e 'move)))
5460 (forward-char -1) 5898 ;;(forward-line)
5461 (just-one-space) 5899 )
5462 (goto-char (marker-position m1)) 5900 ;; Now find biggest prefix
5463 (just-one-space) 5901 (setq ind (verilog-get-lineup-indent (marker-position startpos) endpos))
5464 (indent-to ind)) 5902 ;; Now indent each line.
5465 (progn 5903 (goto-char (marker-position startpos))
5466 (just-one-space) 5904 (while (progn (setq e (marker-position endpos))
5467 (indent-to ind))))) 5905 (setq r (- e (point)))
5468 ((verilog-continued-line-1 start) 5906 (> r 0))
5469 (goto-char e) 5907 (setq e (point))
5470 (indent-line-to ind)) 5908 (unless quiet (message "%d" r))
5471 ((verilog-in-struct-p) 5909 ;;(verilog-do-indent (verilog-calculate-indent)))
5472 ;; could have a declaration of a user defined item 5910 (verilog-forward-ws&directives)
5473 (goto-char e) 5911 (cond
5474 (verilog-end-of-statement)) 5912 ((or (and verilog-indent-declaration-macros
5475 (t ; Must be comment or white space 5913 (looking-at verilog-declaration-re-2-macro))
5476 (goto-char e) 5914 (looking-at verilog-declaration-re-2-no-macro))
5477 (verilog-forward-ws&directives) 5915 (let ((p (match-end 0)))
5478 (forward-line -1))) 5916 (set-marker m1 p)
5479 (forward-line 1)) 5917 (if (verilog-re-search-forward "[[#`]" p 'move)
5480 (unless quiet (message "")))))) 5918 (progn
5919 (forward-char -1)
5920 (just-one-space)
5921 (goto-char (marker-position m1))
5922 (just-one-space)
5923 (indent-to ind))
5924 (progn
5925 (just-one-space)
5926 (indent-to ind)))))
5927 ((verilog-continued-line-1 (marker-position startpos))
5928 (goto-char e)
5929 (indent-line-to ind))
5930 ((verilog-in-struct-p)
5931 ;; could have a declaration of a user defined item
5932 (goto-char e)
5933 (verilog-end-of-statement))
5934 (t ; Must be comment or white space
5935 (goto-char e)
5936 (verilog-forward-ws&directives)
5937 (forward-line -1)))
5938 (forward-line 1))
5939 (unless quiet (message "")))))))
5481 5940
5482(defun verilog-pretty-expr (&optional quiet myre) 5941(defun verilog-pretty-expr (&optional quiet myre)
5483 "Line up expressions around point, optionally QUIET with regexp MYRE." 5942 "Line up expressions around point, optionally QUIET with regexp MYRE."
5484 (interactive "sRegular Expression: ((<|:)?=) ") 5943 (interactive "i\nsRegular Expression: ((<|:)?=) ")
5485 (save-excursion 5944 (save-excursion
5486 (if (or (eq myre nil) 5945 (if (or (eq myre nil)
5487 (string-equal myre "")) 5946 (string-equal myre ""))
5488 (setq myre "\\(<\\|:\\)?=")) 5947 (setq myre "\\(<\\|:\\)?="))
5489 (setq myre (concat "\\(^[^;#:<=>]*\\)\\(" myre "\\)")) 5948 ;; want to match the first <= | := | =
5949 (setq myre (concat "\\(^.*?\\)\\(" myre "\\)"))
5490 (let ((rexp(concat "^\\s-*" verilog-complete-reg))) 5950 (let ((rexp(concat "^\\s-*" verilog-complete-reg)))
5491 (beginning-of-line) 5951 (beginning-of-line)
5492 (if (and (not (looking-at rexp )) 5952 (if (and (not (looking-at rexp ))
@@ -5529,7 +5989,7 @@ Be verbose about progress unless optional QUIET set."
5529 (beginning-of-line) 5989 (beginning-of-line)
5530 ) 5990 )
5531 e)) 5991 e))
5532 (edpos (set-marker (make-marker) end)) 5992 (endpos (set-marker (make-marker) end))
5533 (ind) 5993 (ind)
5534 ) 5994 )
5535 (goto-char start) 5995 (goto-char start)
@@ -5539,7 +5999,7 @@ Be verbose about progress unless optional QUIET set."
5539 (message "Lining up expressions..(please stand by)")) 5999 (message "Lining up expressions..(please stand by)"))
5540 6000
5541 ;; Set indent to minimum throughout region 6001 ;; Set indent to minimum throughout region
5542 (while (< (point) (marker-position edpos)) 6002 (while (< (point) (marker-position endpos))
5543 (beginning-of-line) 6003 (beginning-of-line)
5544 (verilog-just-one-space myre) 6004 (verilog-just-one-space myre)
5545 (end-of-line) 6005 (end-of-line)
@@ -5547,11 +6007,11 @@ Be verbose about progress unless optional QUIET set."
5547 ) 6007 )
5548 6008
5549 ;; Now find biggest prefix 6009 ;; Now find biggest prefix
5550 (setq ind (verilog-get-lineup-indent-2 myre start edpos)) 6010 (setq ind (verilog-get-lineup-indent-2 myre start endpos))
5551 6011
5552 ;; Now indent each line. 6012 ;; Now indent each line.
5553 (goto-char start) 6013 (goto-char start)
5554 (while (progn (setq e (marker-position edpos)) 6014 (while (progn (setq e (marker-position endpos))
5555 (setq r (- e (point))) 6015 (setq r (- e (point)))
5556 (> r 0)) 6016 (> r 0))
5557 (setq e (point)) 6017 (setq e (point))
@@ -5679,7 +6139,8 @@ Region is defined by B and EDPOS."
5679 ;; No lineup-string found 6139 ;; No lineup-string found
5680 (goto-char b) 6140 (goto-char b)
5681 (end-of-line) 6141 (end-of-line)
5682 (skip-chars-backward " \t") 6142 (verilog-backward-syntactic-ws)
6143 ;;(skip-chars-backward " \t")
5683 (1+ (current-column)))))) 6144 (1+ (current-column))))))
5684 6145
5685(defun verilog-get-lineup-indent-2 (myre b edpos) 6146(defun verilog-get-lineup-indent-2 (myre b edpos)
@@ -5747,7 +6208,7 @@ it displays a list of all possible completions.")
5747 '( 6208 '(
5748 "and" "buf" "bufif0" "bufif1" "cmos" "defparam" "inout" "input" 6209 "and" "buf" "bufif0" "bufif1" "cmos" "defparam" "inout" "input"
5749 "integer" "localparam" "logic" "mailbox" "nand" "nmos" "nor" "not" "notif0" 6210 "integer" "localparam" "logic" "mailbox" "nand" "nmos" "nor" "not" "notif0"
5750 "notif1" "or" "output" "parameter" "pmos" "pull0" "pull1" "pullup" 6211 "notif1" "or" "output" "parameter" "pmos" "pull0" "pull1" "pulldown" "pullup"
5751 "rcmos" "real" "realtime" "reg" "rnmos" "rpmos" "rtran" "rtranif0" 6212 "rcmos" "real" "realtime" "reg" "rnmos" "rpmos" "rtran" "rtranif0"
5752 "rtranif1" "semaphore" "time" "tran" "tranif0" "tranif1" "tri" "tri0" "tri1" 6213 "rtranif1" "semaphore" "time" "tran" "tranif0" "tranif1" "tri" "tri0" "tri1"
5753 "triand" "trior" "trireg" "wand" "wire" "wor" "xnor" "xor" 6214 "triand" "trior" "trireg" "wand" "wire" "wor" "xnor" "xor"
@@ -5809,6 +6270,39 @@ will be completed at runtime and should not be added to this list.")
5809Variables and function names defined within the Verilog program 6270Variables and function names defined within the Verilog program
5810will be completed at runtime and should not be added to this list.") 6271will be completed at runtime and should not be added to this list.")
5811 6272
6273(defvar verilog-gate-ios
6274 ;; All these have an implied {"input"...} at the end
6275 '(("and" "output")
6276 ("buf" "output")
6277 ("bufif0" "output")
6278 ("bufif1" "output")
6279 ("cmos" "output")
6280 ("nand" "output")
6281 ("nmos" "output")
6282 ("nor" "output")
6283 ("not" "output")
6284 ("notif0" "output")
6285 ("notif1" "output")
6286 ("or" "output")
6287 ("pmos" "output")
6288 ("pulldown" "output")
6289 ("pullup" "output")
6290 ("rcmos" "output")
6291 ("rnmos" "output")
6292 ("rpmos" "output")
6293 ("rtran" "inout" "inout")
6294 ("rtranif0" "inout" "inout")
6295 ("rtranif1" "inout" "inout")
6296 ("tran" "inout" "inout")
6297 ("tranif0" "inout" "inout")
6298 ("tranif1" "inout" "inout")
6299 ("xnor" "output")
6300 ("xor" "output"))
6301 "*Map of direction for each positional argument to each gate primitive.")
6302
6303(defvar verilog-gate-keywords (mapcar `car verilog-gate-ios)
6304 "*Keywords for gate primitives.")
6305
5812(defun verilog-string-diff (str1 str2) 6306(defun verilog-string-diff (str1 str2)
5813 "Return index of first letter where STR1 and STR2 differs." 6307 "Return index of first letter where STR1 and STR2 differs."
5814 (catch 'done 6308 (catch 'done
@@ -6139,7 +6633,7 @@ VERILOG-STR is an exact match, nil otherwise."
6139 (verilog-completion-response)))) 6633 (verilog-completion-response))))
6140 6634
6141(defun verilog-goto-defun () 6635(defun verilog-goto-defun ()
6142 "Move to specified Verilog module/task/function. 6636 "Move to specified Verilog module/interface/task/function.
6143The default is a name found in the buffer around point. 6637The default is a name found in the buffer around point.
6144If search fails, other files are checked based on 6638If search fails, other files are checked based on
6145`verilog-library-flags'." 6639`verilog-library-flags'."
@@ -6383,6 +6877,8 @@ See also `verilog-sk-header' for an alternative format."
6383;; 6877;;
6384 6878
6385;; Elements of a signal list 6879;; Elements of a signal list
6880(defsubst verilog-sig-new (name bits comment mem enum signed type multidim modport)
6881 (list name bits comment mem enum signed type multidim modport))
6386(defsubst verilog-sig-name (sig) 6882(defsubst verilog-sig-name (sig)
6387 (car sig)) 6883 (car sig))
6388(defsubst verilog-sig-bits (sig) 6884(defsubst verilog-sig-bits (sig)
@@ -6411,37 +6907,96 @@ See also `verilog-sk-header' for an alternative format."
6411(defsubst verilog-sig-width (sig) 6907(defsubst verilog-sig-width (sig)
6412 (verilog-make-width-expression (verilog-sig-bits sig))) 6908 (verilog-make-width-expression (verilog-sig-bits sig)))
6413 6909
6414(defsubst verilog-alw-get-inputs (sigs) 6910(defsubst verilog-alw-new (outputs temps inputs delayed)
6415 (nth 2 sigs)) 6911 (list outputs temps inputs delayed))
6416(defsubst verilog-alw-get-outputs (sigs) 6912(defsubst verilog-alw-get-outputs (sigs)
6417 (nth 0 sigs)) 6913 (nth 0 sigs))
6914(defsubst verilog-alw-get-temps (sigs)
6915 (nth 1 sigs))
6916(defsubst verilog-alw-get-inputs (sigs)
6917 (nth 2 sigs))
6418(defsubst verilog-alw-get-uses-delayed (sigs) 6918(defsubst verilog-alw-get-uses-delayed (sigs)
6419 (nth 3 sigs)) 6919 (nth 3 sigs))
6420 6920
6921(defsubst verilog-modi-new (name fob pt type)
6922 (vector name fob pt type))
6923(defsubst verilog-modi-name (modi)
6924 (aref modi 0))
6925(defsubst verilog-modi-file-or-buffer (modi)
6926 (aref modi 1))
6927(defsubst verilog-modi-get-point (modi)
6928 (aref modi 2))
6929(defsubst verilog-modi-get-type (modi) ;; "module" or "interface"
6930 (aref modi 3))
6931(defsubst verilog-modi-get-decls (modi)
6932 (verilog-modi-cache-results modi 'verilog-read-decls))
6933(defsubst verilog-modi-get-sub-decls (modi)
6934 (verilog-modi-cache-results modi 'verilog-read-sub-decls))
6935
6936;; Signal reading for given module
6937;; Note these all take modi's - as returned from verilog-modi-current
6938(defsubst verilog-decls-new (out inout in wires regs assigns consts gparams interfaces)
6939 (vector out inout in wires regs assigns consts gparams interfaces))
6940(defsubst verilog-decls-get-outputs (decls)
6941 (aref decls 0))
6942(defsubst verilog-decls-get-inouts (decls)
6943 (aref decls 1))
6944(defsubst verilog-decls-get-inputs (decls)
6945 (aref decls 2))
6946(defsubst verilog-decls-get-wires (decls)
6947 (aref decls 3))
6948(defsubst verilog-decls-get-regs (decls)
6949 (aref decls 4))
6950(defsubst verilog-decls-get-assigns (decls)
6951 (aref decls 5))
6952(defsubst verilog-decls-get-consts (decls)
6953 (aref decls 6))
6954(defsubst verilog-decls-get-gparams (decls)
6955 (aref decls 7))
6956(defsubst verilog-decls-get-interfaces (decls)
6957 (aref decls 8))
6958
6959(defsubst verilog-subdecls-new (out inout in intf intfd)
6960 (vector out inout in intf intfd))
6961(defsubst verilog-subdecls-get-outputs (subdecls)
6962 (aref subdecls 0))
6963(defsubst verilog-subdecls-get-inouts (subdecls)
6964 (aref subdecls 1))
6965(defsubst verilog-subdecls-get-inputs (subdecls)
6966 (aref subdecls 2))
6967(defsubst verilog-subdecls-get-interfaces (subdecls)
6968 (aref subdecls 3))
6969(defsubst verilog-subdecls-get-interfaced (subdecls)
6970 (aref subdecls 4))
6971
6421(defun verilog-signals-not-in (in-list not-list) 6972(defun verilog-signals-not-in (in-list not-list)
6422 "Return list of signals in IN-LIST that aren't also in NOT-LIST. 6973 "Return list of signals in IN-LIST that aren't also in NOT-LIST.
6423Also remove any duplicates in IN-LIST. 6974Also remove any duplicates in IN-LIST.
6424Signals must be in standard (base vector) form." 6975Signals must be in standard (base vector) form."
6425 (let (out-list) 6976 ;; This function is hot, so implemented as O(1)
6426 (while in-list 6977 (cond ((eval-when-compile (fboundp 'make-hash-table))
6427 (if (not (or (assoc (car (car in-list)) not-list) 6978 (let ((ht (make-hash-table :test 'equal :rehash-size 4.0))
6428 (assoc (car (car in-list)) out-list))) 6979 out-list)
6429 (setq out-list (cons (car in-list) out-list))) 6980 (while not-list
6430 (setq in-list (cdr in-list))) 6981 (puthash (car (car not-list)) t ht)
6431 (nreverse out-list))) 6982 (setq not-list (cdr not-list)))
6983 (while in-list
6984 (when (not (gethash (car (car in-list)) ht))
6985 (setq out-list (cons (car in-list) out-list))
6986 (puthash (car (car in-list)) t ht))
6987 (setq in-list (cdr in-list)))
6988 (nreverse out-list)))
6989 ;; Slower Fallback if no hash tables (pre Emacs 21.1/XEmacs 21.4)
6990 (t
6991 (let (out-list)
6992 (while in-list
6993 (if (not (or (assoc (car (car in-list)) not-list)
6994 (assoc (car (car in-list)) out-list)))
6995 (setq out-list (cons (car in-list) out-list)))
6996 (setq in-list (cdr in-list)))
6997 (nreverse out-list)))))
6432;;(verilog-signals-not-in '(("A" "") ("B" "") ("DEL" "[2:3]")) '(("DEL" "") ("EXT" ""))) 6998;;(verilog-signals-not-in '(("A" "") ("B" "") ("DEL" "[2:3]")) '(("DEL" "") ("EXT" "")))
6433 6999
6434(defun verilog-signals-in (in-list other-list)
6435 "Return list of signals in IN-LIST that are also in OTHER-LIST.
6436Signals must be in standard (base vector) form."
6437 (let (out-list)
6438 (while in-list
6439 (if (assoc (car (car in-list)) other-list)
6440 (setq out-list (cons (car in-list) out-list)))
6441 (setq in-list (cdr in-list)))
6442 (nreverse out-list)))
6443;;(verilog-signals-in '(("A" "") ("B" "") ("DEL" "[2:3]")) '(("DEL" "") ("EXT" "")))
6444
6445(defun verilog-signals-memory (in-list) 7000(defun verilog-signals-memory (in-list)
6446 "Return list of signals in IN-LIST that are memoried (multidimensional)." 7001 "Return list of signals in IN-LIST that are memoried (multidimensional)."
6447 (let (out-list) 7002 (let (out-list)
@@ -6535,15 +7090,15 @@ Duplicate signals are also removed. For example A[2] and A[1] become A[2:1]."
6535 ;; Note sig may also be nil for the last signal in the list 7090 ;; Note sig may also be nil for the last signal in the list
6536 (t 7091 (t
6537 (setq out-list 7092 (setq out-list
6538 (cons 7093 (cons (verilog-sig-new
6539 (list sv-name 7094 sv-name
6540 (or sv-busstring 7095 (or sv-busstring
6541 (if sv-highbit 7096 (if sv-highbit
6542 (concat "[" (int-to-string sv-highbit) ":" 7097 (concat "[" (int-to-string sv-highbit) ":"
6543 (int-to-string sv-lowbit) "]"))) 7098 (int-to-string sv-lowbit) "]")))
6544 (concat sv-comment combo buswarn) 7099 (concat sv-comment combo buswarn)
6545 sv-memory sv-enum sv-signed sv-type sv-multidim sv-modport) 7100 sv-memory sv-enum sv-signed sv-type sv-multidim sv-modport)
6546 out-list) 7101 out-list)
6547 sv-name nil)))) 7102 sv-name nil))))
6548 ;; 7103 ;;
6549 out-list)) 7104 out-list))
@@ -6581,20 +7136,26 @@ Ignore width if optional NO-WIDTH is set."
6581 (verilog-re-search-backward-quick "\\(\\b[a-zA-Z0-9`_\$]\\|\\]\\)" nil nil)) 7136 (verilog-re-search-backward-quick "\\(\\b[a-zA-Z0-9`_\$]\\|\\]\\)" nil nil))
6582 (skip-chars-backward "a-zA-Z0-9`_$")) 7137 (skip-chars-backward "a-zA-Z0-9`_$"))
6583 7138
7139(defun verilog-read-inst-module-matcher ()
7140 "Set match data 0 with module_name when point is inside instantiation."
7141 (verilog-read-inst-backward-name)
7142 ;; Skip over instantiation name
7143 (verilog-re-search-backward-quick "\\(\\b[a-zA-Z0-9`_\$]\\|)\\)" nil nil) ; ) isn't word boundary
7144 ;; Check for parameterized instantiations
7145 (when (looking-at ")")
7146 (verilog-backward-open-paren)
7147 (verilog-re-search-backward-quick "\\b[a-zA-Z0-9`_\$]" nil nil))
7148 (skip-chars-backward "a-zA-Z0-9'_$")
7149 (looking-at "[a-zA-Z0-9`_\$]+")
7150 ;; Important: don't use match string, this must work with Emacs 19 font-lock on
7151 (buffer-substring-no-properties (match-beginning 0) (match-end 0))
7152 ;; Caller assumes match-beginning/match-end is still set
7153 )
7154
6584(defun verilog-read-inst-module () 7155(defun verilog-read-inst-module ()
6585 "Return module_name when point is inside instantiation." 7156 "Return module_name when point is inside instantiation."
6586 (save-excursion 7157 (save-excursion
6587 (verilog-read-inst-backward-name) 7158 (verilog-read-inst-module-matcher)))
6588 ;; Skip over instantiation name
6589 (verilog-re-search-backward-quick "\\(\\b[a-zA-Z0-9`_\$]\\|)\\)" nil nil) ; ) isn't word boundary
6590 ;; Check for parameterized instantiations
6591 (when (looking-at ")")
6592 (verilog-backward-open-paren)
6593 (verilog-re-search-backward-quick "\\b[a-zA-Z0-9`_\$]" nil nil))
6594 (skip-chars-backward "a-zA-Z0-9'_$")
6595 (looking-at "[a-zA-Z0-9`_\$]+")
6596 ;; Important: don't use match string, this must work with Emacs 19 font-lock on
6597 (buffer-substring-no-properties (match-beginning 0) (match-end 0))))
6598 7159
6599(defun verilog-read-inst-name () 7160(defun verilog-read-inst-name ()
6600 "Return instance_name when point is inside instantiation." 7161 "Return instance_name when point is inside instantiation."
@@ -6666,6 +7227,7 @@ Optional NUM-PARAM and MAX-PARAM check for a specific number of parameters."
6666Return a array of [outputs inouts inputs wire reg assign const]." 7227Return a array of [outputs inouts inputs wire reg assign const]."
6667 (let ((end-mod-point (or (verilog-get-end-of-defun t) (point-max))) 7228 (let ((end-mod-point (or (verilog-get-end-of-defun t) (point-max)))
6668 (functask 0) (paren 0) (sig-paren 0) (v2kargs-ok t) 7229 (functask 0) (paren 0) (sig-paren 0) (v2kargs-ok t)
7230 in-modport
6669 sigs-in sigs-out sigs-inout sigs-wire sigs-reg sigs-assign sigs-const 7231 sigs-in sigs-out sigs-inout sigs-wire sigs-reg sigs-assign sigs-const
6670 sigs-gparam sigs-intf 7232 sigs-gparam sigs-intf
6671 vec expect-signal keywd newsig rvalue enum io signed typedefed multidim 7233 vec expect-signal keywd newsig rvalue enum io signed typedefed multidim
@@ -6674,7 +7236,7 @@ Return a array of [outputs inouts inputs wire reg assign const]."
6674 (verilog-beg-of-defun) 7236 (verilog-beg-of-defun)
6675 (setq sigs-const (verilog-read-auto-constants (point) end-mod-point)) 7237 (setq sigs-const (verilog-read-auto-constants (point) end-mod-point))
6676 (while (< (point) end-mod-point) 7238 (while (< (point) end-mod-point)
6677 ;;(if dbg (setq dbg (cons (format "Pt %s Vec %s Kwd'%s'\n" (point) vec keywd) dbg))) 7239 ;;(if dbg (setq dbg (concat dbg (format "Pt %s Vec %s C%c Kwd'%s'\n" (point) vec (following-char) keywd))))
6678 (cond 7240 (cond
6679 ((looking-at "//") 7241 ((looking-at "//")
6680 (if (looking-at "[^\n]*synopsys\\s +enum\\s +\\([a-zA-Z0-9_]+\\)") 7242 (if (looking-at "[^\n]*synopsys\\s +enum\\s +\\([a-zA-Z0-9_]+\\)")
@@ -6682,7 +7244,7 @@ Return a array of [outputs inouts inputs wire reg assign const]."
6682 (search-forward "\n")) 7244 (search-forward "\n"))
6683 ((looking-at "/\\*") 7245 ((looking-at "/\\*")
6684 (forward-char 2) 7246 (forward-char 2)
6685 (if (looking-at "[^*]*synopsys\\s +enum\\s +\\([a-zA-Z0-9_]+\\)") 7247 (if (looking-at "[^\n]*synopsys\\s +enum\\s +\\([a-zA-Z0-9_]+\\)")
6686 (setq enum (match-string 1))) 7248 (setq enum (match-string 1)))
6687 (or (search-forward "*/") 7249 (or (search-forward "*/")
6688 (error "%s: Unmatched /* */, at char %d" (verilog-point-text) (point)))) 7250 (error "%s: Unmatched /* */, at char %d" (verilog-point-text) (point))))
@@ -6696,7 +7258,7 @@ Return a array of [outputs inouts inputs wire reg assign const]."
6696 (error "%s: Unmatched quotes, at char %d" (verilog-point-text) (point)))) 7258 (error "%s: Unmatched quotes, at char %d" (verilog-point-text) (point))))
6697 ((eq ?\; (following-char)) 7259 ((eq ?\; (following-char))
6698 (setq vec nil io nil expect-signal nil newsig nil paren 0 rvalue nil 7260 (setq vec nil io nil expect-signal nil newsig nil paren 0 rvalue nil
6699 v2kargs-ok nil) 7261 v2kargs-ok nil in-modport nil)
6700 (forward-char 1)) 7262 (forward-char 1))
6701 ((eq ?= (following-char)) 7263 ((eq ?= (following-char))
6702 (setq rvalue t newsig nil) 7264 (setq rvalue t newsig nil)
@@ -6717,7 +7279,10 @@ Return a array of [outputs inouts inputs wire reg assign const]."
6717 ((looking-at "\\s-*\\(\\[[^]]+\\]\\)") 7279 ((looking-at "\\s-*\\(\\[[^]]+\\]\\)")
6718 (goto-char (match-end 0)) 7280 (goto-char (match-end 0))
6719 (cond (newsig ; Memory, not just width. Patch last signal added's memory (nth 3) 7281 (cond (newsig ; Memory, not just width. Patch last signal added's memory (nth 3)
6720 (setcar (cdr (cdr (cdr newsig))) (match-string 1))) 7282 (setcar (cdr (cdr (cdr newsig)))
7283 (if (verilog-sig-memory newsig)
7284 (concat (verilog-sig-memory newsig) (match-string 1))
7285 (match-string 1))))
6721 (vec ;; Multidimensional 7286 (vec ;; Multidimensional
6722 (setq multidim (cons vec multidim)) 7287 (setq multidim (cons vec multidim))
6723 (setq vec (verilog-string-replace-matches 7288 (setq vec (verilog-string-replace-matches
@@ -6754,7 +7319,9 @@ Return a array of [outputs inouts inputs wire reg assign const]."
6754 expect-signal 'sigs-wire modport nil))) 7319 expect-signal 'sigs-wire modport nil)))
6755 ((member keywd '("reg" "trireg" 7320 ((member keywd '("reg" "trireg"
6756 "byte" "shortint" "int" "longint" "integer" "time" 7321 "byte" "shortint" "int" "longint" "integer" "time"
6757 "bit" "logic")) 7322 "bit" "logic"
7323 "shortreal" "real" "realtime"
7324 "string" "event" "chandle"))
6758 (unless io (setq vec nil enum nil rvalue nil signed nil typedefed nil multidim nil sig-paren paren 7325 (unless io (setq vec nil enum nil rvalue nil signed nil typedefed nil multidim nil sig-paren paren
6759 expect-signal 'sigs-reg modport nil))) 7326 expect-signal 'sigs-reg modport nil)))
6760 ((equal keywd "assign") 7327 ((equal keywd "assign")
@@ -6772,8 +7339,10 @@ Return a array of [outputs inouts inputs wire reg assign const]."
6772 ((member keywd '("endclass" "endclocking" "endgroup" "endfunction" 7339 ((member keywd '("endclass" "endclocking" "endgroup" "endfunction"
6773 "endproperty" "endsequence" "endtask")) 7340 "endproperty" "endsequence" "endtask"))
6774 (setq functask (1- functask))) 7341 (setq functask (1- functask)))
7342 ((equal keywd "modport")
7343 (setq in-modport t))
6775 ;; Ifdef? Ignore name of define 7344 ;; Ifdef? Ignore name of define
6776 ((member keywd '("`ifdef" "`ifndef")) 7345 ((member keywd '("`ifdef" "`ifndef" "`elsif"))
6777 (setq rvalue t)) 7346 (setq rvalue t))
6778 ;; Type? 7347 ;; Type?
6779 ((verilog-typedef-name-p keywd) 7348 ((verilog-typedef-name-p keywd)
@@ -6782,32 +7351,45 @@ Return a array of [outputs inouts inputs wire reg assign const]."
6782 ;; Skip over parsing modport, and take the interface name as the type 7351 ;; Skip over parsing modport, and take the interface name as the type
6783 ((and v2kargs-ok 7352 ((and v2kargs-ok
6784 (eq paren 1) 7353 (eq paren 1)
6785 (looking-at "\\s-*\\(\\.\\(\\s-*[a-zA-Z0-9`_$]+\\)\\|\\)\\s-*[a-zA-Z0-9`_$]+")) 7354 (not rvalue)
7355 (looking-at "\\s-*\\(\\.\\(\\s-*[a-zA-Z`_$][a-zA-Z0-9`_$]*\\)\\|\\)\\s-*[a-zA-Z`_$][a-zA-Z0-9`_$]*"))
6786 (when (match-end 2) (goto-char (match-end 2))) 7356 (when (match-end 2) (goto-char (match-end 2)))
6787 (setq vec nil enum nil rvalue nil newsig nil signed nil typedefed keywd multidim nil sig-paren paren 7357 (setq vec nil enum nil rvalue nil newsig nil signed nil typedefed keywd multidim nil sig-paren paren
6788 expect-signal 'sigs-intf io t modport (match-string 2))) 7358 expect-signal 'sigs-intf io t modport (match-string 2)))
7359 ;; Ignore dotted LHS assignments: "assign foo.bar = z;"
7360 ((looking-at "\\s-*\\.")
7361 (goto-char (match-end 0))
7362 (when (not rvalue)
7363 (setq expect-signal nil)))
6789 ;; New signal, maybe? 7364 ;; New signal, maybe?
6790 ((and expect-signal 7365 ((and expect-signal
6791 (eq functask 0)
6792 (not rvalue) 7366 (not rvalue)
7367 (eq functask 0)
7368 (not in-modport)
6793 (not (member keywd verilog-keywords))) 7369 (not (member keywd verilog-keywords)))
6794 ;; Add new signal to expect-signal's variable 7370 ;; Add new signal to expect-signal's variable
6795 (setq newsig (list keywd vec nil nil enum signed typedefed multidim modport)) 7371 (setq newsig (verilog-sig-new keywd vec nil nil enum signed typedefed multidim modport))
6796 (set expect-signal (cons newsig 7372 (set expect-signal (cons newsig
6797 (symbol-value expect-signal)))))) 7373 (symbol-value expect-signal))))))
6798 (t 7374 (t
6799 (forward-char 1))) 7375 (forward-char 1)))
6800 (skip-syntax-forward " ")) 7376 (skip-syntax-forward " "))
6801 ;; Return arguments 7377 ;; Return arguments
6802 (vector (nreverse sigs-out) 7378 (verilog-decls-new (nreverse sigs-out)
6803 (nreverse sigs-inout) 7379 (nreverse sigs-inout)
6804 (nreverse sigs-in) 7380 (nreverse sigs-in)
6805 (nreverse sigs-wire) 7381 (nreverse sigs-wire)
6806 (nreverse sigs-reg) 7382 (nreverse sigs-reg)
6807 (nreverse sigs-assign) 7383 (nreverse sigs-assign)
6808 (nreverse sigs-const) 7384 (nreverse sigs-const)
6809 (nreverse sigs-gparam) 7385 (nreverse sigs-gparam)
6810 (nreverse sigs-intf))))) 7386 (nreverse sigs-intf)))))
7387
7388(defvar verilog-read-sub-decls-in-interfaced nil
7389 "For `verilog-read-sub-decls', process next signal as under interfaced block.")
7390
7391(defvar verilog-read-sub-decls-gate-ios nil
7392 "For `verilog-read-sub-decls', gate IO pins remaining, nil if non-primitive.")
6811 7393
6812(eval-when-compile 7394(eval-when-compile
6813 ;; Prevent compile warnings; these are let's, not globals 7395 ;; Prevent compile warnings; these are let's, not globals
@@ -6816,82 +7398,87 @@ Return a array of [outputs inouts inputs wire reg assign const]."
6816 (defvar sigs-in) 7398 (defvar sigs-in)
6817 (defvar sigs-inout) 7399 (defvar sigs-inout)
6818 (defvar sigs-out) 7400 (defvar sigs-out)
6819 (defvar sigs-intf)) 7401 (defvar sigs-intf)
6820 7402 (defvar sigs-intfd))
6821
6822(defsubst verilog-modi-get-decls (modi)
6823 (verilog-modi-cache-results modi 'verilog-read-decls))
6824
6825(defsubst verilog-modi-get-sub-decls (modi)
6826 (verilog-modi-cache-results modi 'verilog-read-sub-decls))
6827
6828
6829;; Signal reading for given module
6830;; Note these all take modi's - as returned from the
6831;; verilog-modi-current function.
6832(defsubst verilog-decls-get-outputs (decls)
6833 (aref decls 0))
6834(defsubst verilog-decls-get-inouts (decls)
6835 (aref decls 1))
6836(defsubst verilog-decls-get-inputs (decls)
6837 (aref decls 2))
6838(defsubst verilog-decls-get-wires (decls)
6839 (aref decls 3))
6840(defsubst verilog-decls-get-regs (decls)
6841 (aref decls 4))
6842(defsubst verilog-decls-get-assigns (decls)
6843 (aref decls 5))
6844(defsubst verilog-decls-get-consts (decls)
6845 (aref decls 6))
6846(defsubst verilog-decls-get-gparams (decls)
6847 (aref decls 7))
6848(defsubst verilog-decls-get-interfaces (decls)
6849 (aref decls 8))
6850(defsubst verilog-subdecls-get-outputs (subdecls)
6851 (aref subdecls 0))
6852(defsubst verilog-subdecls-get-inouts (subdecls)
6853 (aref subdecls 1))
6854(defsubst verilog-subdecls-get-inputs (subdecls)
6855 (aref subdecls 2))
6856(defsubst verilog-subdecls-get-interfaces (subdecls)
6857 (aref subdecls 3))
6858
6859 7403
6860(defun verilog-read-sub-decls-sig (submoddecls comment port sig vec multidim) 7404(defun verilog-read-sub-decls-sig (submoddecls comment port sig vec multidim)
6861 "For `verilog-read-sub-decls-line', add a signal." 7405 "For `verilog-read-sub-decls-line', add a signal."
6862 (let (portdata) 7406 ;; sig eq t to indicate .name syntax
7407 ;;(message "vrsds: %s(%S)" port sig)
7408 (let ((dotname (eq sig t))
7409 portdata)
6863 (when sig 7410 (when sig
6864 (setq port (verilog-symbol-detick-denumber port)) 7411 (setq port (verilog-symbol-detick-denumber port))
6865 (setq sig (verilog-symbol-detick-denumber sig)) 7412 (setq sig (if dotname port (verilog-symbol-detick-denumber sig)))
6866 (if sig (setq sig (verilog-string-replace-matches "^\\s-*[---+~!|&]+\\s-*" "" nil nil sig)))
6867 (if vec (setq vec (verilog-symbol-detick-denumber vec))) 7413 (if vec (setq vec (verilog-symbol-detick-denumber vec)))
6868 (if multidim (setq multidim (mapcar `verilog-symbol-detick-denumber multidim))) 7414 (if multidim (setq multidim (mapcar `verilog-symbol-detick-denumber multidim)))
6869 (unless (or (not sig) 7415 (unless (or (not sig)
6870 (equal sig "")) ;; Ignore .foo(1'b1) assignments 7416 (equal sig "")) ;; Ignore .foo(1'b1) assignments
6871 (cond ((setq portdata (assoc port (verilog-decls-get-inouts submoddecls))) 7417 (cond ((or (setq portdata (assoc port (verilog-decls-get-inouts submoddecls)))
6872 (setq sigs-inout (cons (list sig vec (concat "To/From " comment) nil nil 7418 (equal "inout" verilog-read-sub-decls-gate-ios))
6873 (verilog-sig-signed portdata) 7419 (setq sigs-inout
6874 (verilog-sig-type portdata) 7420 (cons (verilog-sig-new
6875 multidim) 7421 sig
6876 sigs-inout))) 7422 (if dotname (verilog-sig-bits portdata) vec)
6877 ((setq portdata (assoc port (verilog-decls-get-outputs submoddecls))) 7423 (concat "To/From " comment)
6878 (setq sigs-out (cons (list sig vec (concat "From " comment) nil nil 7424 (verilog-sig-memory portdata)
6879 (verilog-sig-signed portdata) 7425 nil
6880 (verilog-sig-type portdata) 7426 (verilog-sig-signed portdata)
6881 multidim) 7427 (verilog-sig-type portdata)
6882 sigs-out))) 7428 multidim nil)
6883 ((setq portdata (assoc port (verilog-decls-get-inputs submoddecls))) 7429 sigs-inout)))
6884 (setq sigs-in (cons (list sig vec (concat "To " comment) nil nil 7430 ((or (setq portdata (assoc port (verilog-decls-get-outputs submoddecls)))
6885 (verilog-sig-signed portdata) 7431 (equal "output" verilog-read-sub-decls-gate-ios))
6886 (verilog-sig-type portdata) 7432 (setq sigs-out
6887 multidim) 7433 (cons (verilog-sig-new
6888 sigs-in))) 7434 sig
7435 (if dotname (verilog-sig-bits portdata) vec)
7436 (concat "From " comment)
7437 (verilog-sig-memory portdata)
7438 nil
7439 (verilog-sig-signed portdata)
7440 (verilog-sig-type portdata)
7441 multidim nil)
7442 sigs-out)))
7443 ((or (setq portdata (assoc port (verilog-decls-get-inputs submoddecls)))
7444 (equal "input" verilog-read-sub-decls-gate-ios))
7445 (setq sigs-in
7446 (cons (verilog-sig-new
7447 sig
7448 (if dotname (verilog-sig-bits portdata) vec)
7449 (concat "To " comment)
7450 (verilog-sig-memory portdata)
7451 nil
7452 (verilog-sig-signed portdata)
7453 (verilog-sig-type portdata)
7454 multidim nil)
7455 sigs-in)))
6889 ((setq portdata (assoc port (verilog-decls-get-interfaces submoddecls))) 7456 ((setq portdata (assoc port (verilog-decls-get-interfaces submoddecls)))
6890 (setq sigs-intf (cons (list sig vec (concat "To/From " comment) nil nil 7457 (setq sigs-intf
6891 (verilog-sig-signed portdata) 7458 (cons (verilog-sig-new
6892 (verilog-sig-type portdata) 7459 sig
6893 multidim) 7460 (if dotname (verilog-sig-bits portdata) vec)
6894 sigs-intf))) 7461 (concat "To/From " comment)
7462 (verilog-sig-memory portdata)
7463 nil
7464 (verilog-sig-signed portdata)
7465 (verilog-sig-type portdata)
7466 multidim nil)
7467 sigs-intf)))
7468 ((setq portdata (and verilog-read-sub-decls-in-interfaced
7469 (or (assoc port (verilog-decls-get-regs submoddecls))
7470 (assoc port (verilog-decls-get-wires submoddecls)))))
7471 (setq sigs-intfd
7472 (cons (verilog-sig-new
7473 sig
7474 (if dotname (verilog-sig-bits portdata) vec)
7475 (concat "To/From " comment)
7476 (verilog-sig-memory portdata)
7477 nil
7478 (verilog-sig-signed portdata)
7479 (verilog-sig-type portdata)
7480 multidim nil)
7481 sigs-intf)))
6895 ;; (t -- warning pin isn't defined.) ; Leave for lint tool 7482 ;; (t -- warning pin isn't defined.) ; Leave for lint tool
6896 ))))) 7483 )))))
6897 7484
@@ -6905,21 +7492,25 @@ Return a array of [outputs inouts inputs wire reg assign const]."
6905 ;; 7492 ;;
6906 (cond 7493 (cond
6907 ;; {..., a, b} requires us to recurse on a,b 7494 ;; {..., a, b} requires us to recurse on a,b
6908 ((string-match "^\\s-*{\\([^{}]*\\)}\\s-*$" expr) 7495 ;; To support {#{},{#{a,b}} we'll just split everything on [{},]
7496 ((string-match "^\\s-*{\\(.*\\)}\\s-*$" expr)
6909 (unless verilog-auto-ignore-concat 7497 (unless verilog-auto-ignore-concat
6910 (let ((mlst (split-string (match-string 1 expr) ",")) 7498 (let ((mlst (split-string (match-string 1 expr) "[{},]"))
6911 mstr) 7499 mstr)
6912 (while (setq mstr (pop mlst)) 7500 (while (setq mstr (pop mlst))
6913 (verilog-read-sub-decls-expr submoddecls comment port mstr))))) 7501 (verilog-read-sub-decls-expr submoddecls comment port mstr)))))
6914 (t 7502 (t
6915 (let (sig vec multidim) 7503 (let (sig vec multidim)
7504 ;; Remove leading reduction operators, etc
7505 (setq expr (verilog-string-replace-matches "^\\s-*[---+~!|&]+\\s-*" "" nil nil expr))
7506 ;;(message "vrsde-ptop: '%s'" expr)
6916 (cond ;; Find \signal. Final space is part of escaped signal name 7507 (cond ;; Find \signal. Final space is part of escaped signal name
6917 ((string-match "^\\s-*\\(\\\\[^ \t\n\f]+\\s-\\)" expr) 7508 ((string-match "^\\s-*\\(\\\\[^ \t\n\f]+\\s-\\)" expr)
6918 ;;(message "vrsde-s: '%s'" (match-string 1 expr)) 7509 ;;(message "vrsde-s: '%s'" (match-string 1 expr))
6919 (setq sig (match-string 1 expr) 7510 (setq sig (match-string 1 expr)
6920 expr (substring expr (match-end 0)))) 7511 expr (substring expr (match-end 0))))
6921 ;; Find signal 7512 ;; Find signal
6922 ((string-match "^\\s-*\\([^[({).\\]+\\)" expr) 7513 ((string-match "^\\s-*\\([a-zA-Z_][a-zA-Z_0-9]*\\)" expr)
6923 ;;(message "vrsde-s: '%s'" (match-string 1 expr)) 7514 ;;(message "vrsde-s: '%s'" (match-string 1 expr))
6924 (setq sig (verilog-string-remove-spaces (match-string 1 expr)) 7515 (setq sig (verilog-string-remove-spaces (match-string 1 expr))
6925 expr (substring expr (match-end 0))))) 7516 expr (substring expr (match-end 0)))))
@@ -6935,8 +7526,8 @@ Return a array of [outputs inouts inputs wire reg assign const]."
6935 (verilog-read-sub-decls-sig submoddecls comment port sig vec multidim)))))) 7526 (verilog-read-sub-decls-sig submoddecls comment port sig vec multidim))))))
6936 7527
6937(defun verilog-read-sub-decls-line (submoddecls comment) 7528(defun verilog-read-sub-decls-line (submoddecls comment)
6938 "For `verilog-read-sub-decls', read lines of port defs until none match anymore. 7529 "For `verilog-read-sub-decls', read lines of port defs until none match.
6939Return the list of signals found, using submodi to look up each port." 7530Inserts the list of signals found, using submodi to look up each port."
6940 (let (done port) 7531 (let (done port)
6941 (save-excursion 7532 (save-excursion
6942 (forward-line 1) 7533 (forward-line 1)
@@ -6945,9 +7536,23 @@ Return the list of signals found, using submodi to look up each port."
6945 (cond ((looking-at "\\s-*\\.\\s-*\\([a-zA-Z0-9`_$]*\\)\\s-*(\\s-*") 7536 (cond ((looking-at "\\s-*\\.\\s-*\\([a-zA-Z0-9`_$]*\\)\\s-*(\\s-*")
6946 (setq port (match-string 1)) 7537 (setq port (match-string 1))
6947 (goto-char (match-end 0))) 7538 (goto-char (match-end 0)))
7539 ;; .\escaped (
6948 ((looking-at "\\s-*\\.\\s-*\\(\\\\[^ \t\n\f]*\\)\\s-*(\\s-*") 7540 ((looking-at "\\s-*\\.\\s-*\\(\\\\[^ \t\n\f]*\\)\\s-*(\\s-*")
6949 (setq port (concat (match-string 1) " ")) ;; escaped id's need trailing space 7541 (setq port (concat (match-string 1) " ")) ;; escaped id's need trailing space
6950 (goto-char (match-end 0))) 7542 (goto-char (match-end 0)))
7543 ;; .name
7544 ((looking-at "\\s-*\\.\\s-*\\([a-zA-Z0-9`_$]*\\)\\s-*[,)/]")
7545 (verilog-read-sub-decls-sig
7546 submoddecls comment (match-string 1) t ; sig==t for .name
7547 nil nil) ; vec multidim
7548 (setq port nil))
7549 ;; .\escaped_name
7550 ((looking-at "\\s-*\\.\\s-*\\(\\\\[^ \t\n\f]*\\)\\s-*[,)/]")
7551 (verilog-read-sub-decls-sig
7552 submoddecls comment (concat (match-string 1) " ") t ; sig==t for .name
7553 nil nil) ; vec multidim
7554 (setq port nil))
7555 ;; random
6951 ((looking-at "\\s-*\\.[^(]*(") 7556 ((looking-at "\\s-*\\.[^(]*(")
6952 (setq port nil) ;; skip this line 7557 (setq port nil) ;; skip this line
6953 (goto-char (match-end 0))) 7558 (goto-char (match-end 0)))
@@ -6957,13 +7562,13 @@ Return the list of signals found, using submodi to look up each port."
6957 ;; We intentionally ignore (non-escaped) signals with .s in them 7562 ;; We intentionally ignore (non-escaped) signals with .s in them
6958 ;; this prevents AUTOWIRE etc from noticing hierarchical sigs. 7563 ;; this prevents AUTOWIRE etc from noticing hierarchical sigs.
6959 (when port 7564 (when port
6960 (cond ((looking-at "\\([^[({).\\]*\\)\\s-*)") 7565 (cond ((looking-at "\\([a-zA-Z_][a-zA-Z_0-9]*\\)\\s-*)")
6961 (verilog-read-sub-decls-sig 7566 (verilog-read-sub-decls-sig
6962 submoddecls comment port 7567 submoddecls comment port
6963 (verilog-string-remove-spaces (match-string 1)) ; sig 7568 (verilog-string-remove-spaces (match-string 1)) ; sig
6964 nil nil)) ; vec multidim 7569 nil nil)) ; vec multidim
6965 ;; 7570 ;;
6966 ((looking-at "\\([^[({).\\]*\\)\\s-*\\(\\[[^]]+\\]\\)\\s-*)") 7571 ((looking-at "\\([a-zA-Z_][a-zA-Z_0-9]*\\)\\s-*\\(\\[[^]]+\\]\\)\\s-*)")
6967 (verilog-read-sub-decls-sig 7572 (verilog-read-sub-decls-sig
6968 submoddecls comment port 7573 submoddecls comment port
6969 (verilog-string-remove-spaces (match-string 1)) ; sig 7574 (verilog-string-remove-spaces (match-string 1)) ; sig
@@ -6974,11 +7579,40 @@ Return the list of signals found, using submodi to look up each port."
6974 (verilog-read-sub-decls-expr 7579 (verilog-read-sub-decls-expr
6975 submoddecls comment port 7580 submoddecls comment port
6976 (buffer-substring 7581 (buffer-substring
6977 (point) (1- (progn (backward-char 1) ; start at ( 7582 (point) (1- (progn (search-backward "(") ; start at (
6978 (forward-sexp 1) (point)))))))) ; expr 7583 (forward-sexp 1) (point)))))))) ; expr
6979 ;; 7584 ;;
6980 (forward-line 1))))) 7585 (forward-line 1)))))
6981 7586
7587(defun verilog-read-sub-decls-gate (submoddecls comment submod end-inst-point)
7588 "For `verilog-read-sub-decls', read lines of UDP gate decl until none match.
7589Inserts the list of signals found."
7590 (save-excursion
7591 (let ((iolist (cdr (assoc submod verilog-gate-ios))))
7592 (while (< (point) end-inst-point)
7593 ;; Get primitive's signal name, as will never have port, and no trailing )
7594 (cond ((looking-at "//")
7595 (search-forward "\n"))
7596 ((looking-at "/\\*")
7597 (or (search-forward "*/")
7598 (error "%s: Unmatched /* */, at char %d" (verilog-point-text) (point))))
7599 ((looking-at "(\\*")
7600 (or (looking-at "(\\*\\s-*)") ; It's a "always @ (*)"
7601 (search-forward "*)")
7602 (error "%s: Unmatched (* *), at char %d" (verilog-point-text) (point))))
7603 ;; On pins, parse and advance to next pin
7604 ;; Looking at pin, but *not* an // Output comment, or ) to end the inst
7605 ((looking-at "\\s-*[a-zA-Z0-9`_$({}\\\\][^,]*")
7606 (goto-char (match-end 0))
7607 (setq verilog-read-sub-decls-gate-ios (or (car iolist) "input")
7608 iolist (cdr iolist))
7609 (verilog-read-sub-decls-expr
7610 submoddecls comment "primitive_port"
7611 (match-string 0)))
7612 (t
7613 (forward-char 1)
7614 (skip-syntax-forward " ")))))))
7615
6982(defun verilog-read-sub-decls () 7616(defun verilog-read-sub-decls ()
6983 "Internally parse signals going to modules under this module. 7617 "Internally parse signals going to modules under this module.
6984Return a array of [ outputs inouts inputs ] signals for modules that are 7618Return a array of [ outputs inouts inputs ] signals for modules that are
@@ -7001,7 +7635,7 @@ Outputs comments above subcell signals, for example:
7001 (let ((end-mod-point (verilog-get-end-of-defun t)) 7635 (let ((end-mod-point (verilog-get-end-of-defun t))
7002 st-point end-inst-point 7636 st-point end-inst-point
7003 ;; below 3 modified by verilog-read-sub-decls-line 7637 ;; below 3 modified by verilog-read-sub-decls-line
7004 sigs-out sigs-inout sigs-in sigs-intf) 7638 sigs-out sigs-inout sigs-in sigs-intf sigs-intfd)
7005 (verilog-beg-of-defun) 7639 (verilog-beg-of-defun)
7006 (while (verilog-re-search-forward "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-mod-point t) 7640 (while (verilog-re-search-forward "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-mod-point t)
7007 (save-excursion 7641 (save-excursion
@@ -7010,33 +7644,53 @@ Outputs comments above subcell signals, for example:
7010 ;; Attempt to snarf a comment 7644 ;; Attempt to snarf a comment
7011 (let* ((submod (verilog-read-inst-module)) 7645 (let* ((submod (verilog-read-inst-module))
7012 (inst (verilog-read-inst-name)) 7646 (inst (verilog-read-inst-name))
7647 (subprim (member submod verilog-gate-keywords))
7013 (comment (concat inst " of " submod ".v")) 7648 (comment (concat inst " of " submod ".v"))
7014 submodi submoddecls) 7649 submodi submoddecls)
7015 (when (setq submodi (verilog-modi-lookup submod t)) 7650 (cond
7016 (setq submoddecls (verilog-modi-get-decls submodi)) 7651 (subprim
7017 ;; This could have used a list created by verilog-auto-inst 7652 (setq submodi `primitive
7018 ;; However I want it to be runnable even on user's manually added signals 7653 submoddecls (verilog-decls-new nil nil nil nil nil nil nil nil nil)
7654 comment (concat inst " of " submod))
7019 (verilog-backward-open-paren) 7655 (verilog-backward-open-paren)
7020 (setq end-inst-point (save-excursion (forward-sexp 1) (point)) 7656 (setq end-inst-point (save-excursion (forward-sexp 1) (point))
7021 st-point (point)) 7657 st-point (point))
7022 (while (re-search-forward "\\s *(?\\s *// Interfaces" end-inst-point t) 7658 (forward-char 1)
7023 (verilog-read-sub-decls-line submoddecls comment)) ;; Modifies sigs-out 7659 (verilog-read-sub-decls-gate submoddecls comment submod end-inst-point))
7024 (goto-char st-point) 7660 ;; Non-primitive
7025 (while (re-search-forward "\\s *(?\\s *// Outputs" end-inst-point t) 7661 (t
7026 (verilog-read-sub-decls-line submoddecls comment)) ;; Modifies sigs-out 7662 (when (setq submodi (verilog-modi-lookup submod t))
7027 (goto-char st-point) 7663 (setq submoddecls (verilog-modi-get-decls submodi)
7028 (while (re-search-forward "\\s *(?\\s *// Inouts" end-inst-point t) 7664 verilog-read-sub-decls-gate-ios nil)
7029 (verilog-read-sub-decls-line submoddecls comment)) ;; Modifies sigs-inout 7665 (verilog-backward-open-paren)
7030 (goto-char st-point) 7666 (setq end-inst-point (save-excursion (forward-sexp 1) (point))
7031 (while (re-search-forward "\\s *(?\\s *// Inputs" end-inst-point t) 7667 st-point (point))
7032 (verilog-read-sub-decls-line submoddecls comment)) ;; Modifies sigs-in 7668 ;; This could have used a list created by verilog-auto-inst
7033 ))))) 7669 ;; However I want it to be runnable even on user's manually added signals
7670 (let ((verilog-read-sub-decls-in-interfaced t))
7671 (while (re-search-forward "\\s *(?\\s *// Interfaced" end-inst-point t)
7672 (verilog-read-sub-decls-line submoddecls comment))) ;; Modifies sigs-ifd
7673 (goto-char st-point)
7674 (while (re-search-forward "\\s *(?\\s *// Interfaces" end-inst-point t)
7675 (verilog-read-sub-decls-line submoddecls comment)) ;; Modifies sigs-out
7676 (goto-char st-point)
7677 (while (re-search-forward "\\s *(?\\s *// Outputs" end-inst-point t)
7678 (verilog-read-sub-decls-line submoddecls comment)) ;; Modifies sigs-out
7679 (goto-char st-point)
7680 (while (re-search-forward "\\s *(?\\s *// Inouts" end-inst-point t)
7681 (verilog-read-sub-decls-line submoddecls comment)) ;; Modifies sigs-inout
7682 (goto-char st-point)
7683 (while (re-search-forward "\\s *(?\\s *// Inputs" end-inst-point t)
7684 (verilog-read-sub-decls-line submoddecls comment)) ;; Modifies sigs-in
7685 )))))))
7034 ;; Combine duplicate bits 7686 ;; Combine duplicate bits
7035 ;;(setq rr (vector sigs-out sigs-inout sigs-in)) 7687 ;;(setq rr (vector sigs-out sigs-inout sigs-in))
7036 (vector (verilog-signals-combine-bus (nreverse sigs-out)) 7688 (verilog-subdecls-new
7037 (verilog-signals-combine-bus (nreverse sigs-inout)) 7689 (verilog-signals-combine-bus (nreverse sigs-out))
7038 (verilog-signals-combine-bus (nreverse sigs-in)) 7690 (verilog-signals-combine-bus (nreverse sigs-inout))
7039 (verilog-signals-combine-bus (nreverse sigs-intf)))))) 7691 (verilog-signals-combine-bus (nreverse sigs-in))
7692 (verilog-signals-combine-bus (nreverse sigs-intf))
7693 (verilog-signals-combine-bus (nreverse sigs-intfd))))))
7040 7694
7041(defun verilog-read-inst-pins () 7695(defun verilog-read-inst-pins ()
7042 "Return an array of [ pins ] for the current instantiation at point. 7696 "Return an array of [ pins ] for the current instantiation at point.
@@ -7084,16 +7738,27 @@ For example if declare A A (.B(SIG)) then B will be included in the list."
7084 (setq sig-list (cons (list (match-string 1) nil nil) sig-list)))) 7738 (setq sig-list (cons (list (match-string 1) nil nil) sig-list))))
7085 sig-list))) 7739 sig-list)))
7086 7740
7087(defun verilog-read-auto-lisp (start end) 7741(defvar verilog-cache-has-lisp nil "True if any AUTO_LISP in buffer.")
7088 "Look for and evaluate a AUTO_LISP between START and END." 7742(make-variable-buffer-local 'verilog-cache-has-lisp)
7743
7744(defun verilog-read-auto-lisp-present ()
7745 "Set `verilog-cache-has-lisp' if any AUTO_LISP in this buffer."
7089 (save-excursion 7746 (save-excursion
7090 (goto-char start) 7747 (setq verilog-cache-has-lisp (re-search-forward "\\<AUTO_LISP(" nil t))))
7091 (while (re-search-forward "\\<AUTO_LISP(" end t) 7748
7092 (backward-char) 7749(defun verilog-read-auto-lisp (start end)
7093 (let* ((beg-pt (prog1 (point) 7750 "Look for and evaluate a AUTO_LISP between START and END.
7094 (forward-sexp 1))) ;; Closing paren 7751Must call `verilog-read-auto-lisp-present' before this function."
7095 (end-pt (point))) 7752 ;; This function is expensive for large buffers, so we cache if any AUTO_LISP exists
7096 (eval-region beg-pt end-pt nil))))) 7753 (when verilog-cache-has-lisp
7754 (save-excursion
7755 (goto-char start)
7756 (while (re-search-forward "\\<AUTO_LISP(" end t)
7757 (backward-char)
7758 (let* ((beg-pt (prog1 (point)
7759 (forward-sexp 1))) ;; Closing paren
7760 (end-pt (point)))
7761 (eval-region beg-pt end-pt nil))))))
7097 7762
7098(eval-when-compile 7763(eval-when-compile
7099 ;; Prevent compile warnings; these are let's, not globals 7764 ;; Prevent compile warnings; these are let's, not globals
@@ -7101,20 +7766,20 @@ For example if declare A A (.B(SIG)) then B will be included in the list."
7101 ;; - we want a error when we are debugging this code if they are refed. 7766 ;; - we want a error when we are debugging this code if they are refed.
7102 (defvar sigs-in) 7767 (defvar sigs-in)
7103 (defvar sigs-out) 7768 (defvar sigs-out)
7104 (defvar got-sig) 7769 (defvar sigs-temp)
7105 (defvar got-rvalue)
7106 (defvar uses-delayed) 7770 (defvar uses-delayed)
7107 (defvar vector-skip-list)) 7771 (defvar vector-skip-list))
7108 7772
7109(defun verilog-read-always-signals-recurse 7773(defun verilog-read-always-signals-recurse
7110 (exit-keywd rvalue ignore-next) 7774 (exit-keywd rvalue temp-next)
7111 "Recursive routine for parentheses/bracket matching. 7775 "Recursive routine for parentheses/bracket matching.
7112EXIT-KEYWD is expression to stop at, nil if top level. 7776EXIT-KEYWD is expression to stop at, nil if top level.
7113RVALUE is true if at right hand side of equal. 7777RVALUE is true if at right hand side of equal.
7114IGNORE-NEXT is true to ignore next token, fake from inside case statement." 7778IGNORE-NEXT is true to ignore next token, fake from inside case statement."
7115 (let* ((semi-rvalue (equal "endcase" exit-keywd)) ;; true if after a ; we are looking for rvalue 7779 (let* ((semi-rvalue (equal "endcase" exit-keywd)) ;; true if after a ; we are looking for rvalue
7116 keywd last-keywd sig-tolk sig-last-tolk gotend got-sig got-rvalue end-else-check) 7780 keywd last-keywd sig-tolk sig-last-tolk gotend got-sig got-list end-else-check
7117 ;;(if dbg (setq dbg (concat dbg (format "Recursion %S %S %S\n" exit-keywd rvalue ignore-next)))) 7781 ignore-next)
7782 ;;(if dbg (setq dbg (concat dbg (format "Recursion %S %S %S\n" exit-keywd rvalue temp-next))))
7118 (while (not (or (eobp) gotend)) 7783 (while (not (or (eobp) gotend))
7119 (cond 7784 (cond
7120 ((looking-at "//") 7785 ((looking-at "//")
@@ -7192,7 +7857,9 @@ IGNORE-NEXT is true to ignore next token, fake from inside case statement."
7192 (cond (sig-last-tolk ;; Function call; zap last signal 7857 (cond (sig-last-tolk ;; Function call; zap last signal
7193 (setq got-sig nil))) 7858 (setq got-sig nil)))
7194 (cond ((equal last-keywd "for") 7859 (cond ((equal last-keywd "for")
7195 (verilog-read-always-signals-recurse ";" nil nil) 7860 ;; temp-next: Variables on LHS are lvalues, but generally we want
7861 ;; to ignore them, assuming they are loop increments
7862 (verilog-read-always-signals-recurse ";" nil t)
7196 (verilog-read-always-signals-recurse ";" t nil) 7863 (verilog-read-always-signals-recurse ";" t nil)
7197 (verilog-read-always-signals-recurse ")" nil nil)) 7864 (verilog-read-always-signals-recurse ")" nil nil))
7198 (t (verilog-read-always-signals-recurse ")" t nil)))) 7865 (t (verilog-read-always-signals-recurse ")" t nil))))
@@ -7202,16 +7869,13 @@ IGNORE-NEXT is true to ignore next token, fake from inside case statement."
7202 ;;(if dbg (setq dbg (concat dbg (format "\tgot-end %s\n" exit-keywd)))) 7869 ;;(if dbg (setq dbg (concat dbg (format "\tgot-end %s\n" exit-keywd))))
7203 (setq ignore-next nil rvalue semi-rvalue) 7870 (setq ignore-next nil rvalue semi-rvalue)
7204 (if (not exit-keywd) (setq end-else-check t))) 7871 (if (not exit-keywd) (setq end-else-check t)))
7205 ((or (equal keywd "case") 7872 ((member keywd '("case" "casex" "casez"))
7206 (equal keywd "casex")
7207 (equal keywd "casez"))
7208 (skip-syntax-forward "w_") 7873 (skip-syntax-forward "w_")
7209 (verilog-read-always-signals-recurse "endcase" t nil) 7874 (verilog-read-always-signals-recurse "endcase" t nil)
7210 (setq ignore-next nil rvalue semi-rvalue) 7875 (setq ignore-next nil rvalue semi-rvalue)
7211 (if (not exit-keywd) (setq gotend t))) ;; top level begin/end 7876 (if (not exit-keywd) (setq gotend t))) ;; top level begin/end
7212 ((string-match "^[$`a-zA-Z_]" keywd) ;; not exactly word constituent 7877 ((string-match "^[$`a-zA-Z_]" keywd) ;; not exactly word constituent
7213 (cond ((or (equal keywd "`ifdef") 7878 (cond ((member keywd '("`ifdef" "`ifndef" "`elsif"))
7214 (equal keywd "`ifndef"))
7215 (setq ignore-next t)) 7879 (setq ignore-next t))
7216 ((or ignore-next 7880 ((or ignore-next
7217 (member keywd verilog-keywords) 7881 (member keywd verilog-keywords)
@@ -7220,14 +7884,16 @@ IGNORE-NEXT is true to ignore next token, fake from inside case statement."
7220 (t 7884 (t
7221 (setq keywd (verilog-symbol-detick-denumber keywd)) 7885 (setq keywd (verilog-symbol-detick-denumber keywd))
7222 (when got-sig 7886 (when got-sig
7223 (if got-rvalue (setq sigs-in (cons got-sig sigs-in)) 7887 (set got-list (cons got-sig (symbol-value got-list)))
7224 (setq sigs-out (cons got-sig sigs-out))) 7888 ;;(if dbg (setq dbg (concat dbg (format "\t\tgot-sig=%S got-list=%S\n" got-sig got-list))))
7225 ;;(if dbg (setq dbg (concat dbg (format "\t\tgot-sig=%S rv=%S\n" got-sig got-rvalue))))
7226 ) 7889 )
7227 (setq got-rvalue rvalue 7890 (setq got-list (cond (temp-next 'sigs-temp)
7891 (rvalue 'sigs-in)
7892 (t 'sigs-out))
7228 got-sig (if (or (not keywd) 7893 got-sig (if (or (not keywd)
7229 (assoc keywd (if got-rvalue sigs-in sigs-out))) 7894 (assoc keywd (symbol-value got-list)))
7230 nil (list keywd nil nil)) 7895 nil (list keywd nil nil))
7896 temp-next nil
7231 sig-tolk t))) 7897 sig-tolk t)))
7232 (skip-chars-forward "a-zA-Z0-9$_.%`")) 7898 (skip-chars-forward "a-zA-Z0-9$_.%`"))
7233 (t 7899 (t
@@ -7237,25 +7903,23 @@ IGNORE-NEXT is true to ignore next token, fake from inside case statement."
7237 (skip-syntax-forward " ")) 7903 (skip-syntax-forward " "))
7238 ;; Append the final pending signal 7904 ;; Append the final pending signal
7239 (when got-sig 7905 (when got-sig
7240 (if got-rvalue (setq sigs-in (cons got-sig sigs-in)) 7906 ;;(if dbg (setq dbg (concat dbg (format "\t\tfinal got-sig=%S got-list=%s\n" got-sig got-list))))
7241 (setq sigs-out (cons got-sig sigs-out))) 7907 (set got-list (cons got-sig (symbol-value got-list)))
7242 ;;(if dbg (setq dbg (concat dbg (format "\t\tgot-sig=%S rv=%S\n" got-sig got-rvalue))))
7243 (setq got-sig nil)) 7908 (setq got-sig nil))
7244 ;;(if dbg (setq dbg (concat dbg (format "ENDRecursion %s\n" exit-keywd)))) 7909 ;;(if dbg (setq dbg (concat dbg (format "ENDRecursion %s\n" exit-keywd))))
7245 )) 7910 ))
7246 7911
7247(defun verilog-read-always-signals () 7912(defun verilog-read-always-signals ()
7248 "Parse always block at point and return list of (outputs inout inputs)." 7913 "Parse always block at point and return list of (outputs inout inputs)."
7249 ;; Insert new
7250 (save-excursion 7914 (save-excursion
7251 (let* (;;(dbg "") 7915 (let* (;;(dbg "")
7252 sigs-in sigs-out 7916 sigs-out sigs-temp sigs-in
7253 uses-delayed) ;; Found signal/rvalue; push if not function 7917 uses-delayed) ;; Found signal/rvalue; push if not function
7254 (search-forward ")") 7918 (search-forward ")")
7255 (verilog-read-always-signals-recurse nil nil nil) 7919 (verilog-read-always-signals-recurse nil nil nil)
7256 ;;(if dbg (with-current-buffer (get-buffer-create "*vl-dbg*")) (delete-region (point-min) (point-max)) (insert dbg) (setq dbg "")) 7920 ;;(if dbg (with-current-buffer (get-buffer-create "*vl-dbg*")) (delete-region (point-min) (point-max)) (insert dbg) (setq dbg ""))
7257 ;; Return what was found 7921 ;; Return what was found
7258 (list sigs-out nil sigs-in uses-delayed)))) 7922 (verilog-alw-new sigs-out sigs-temp sigs-in uses-delayed))))
7259 7923
7260(defun verilog-read-instants () 7924(defun verilog-read-instants ()
7261 "Parse module at point and return list of ( ( file instance ) ... )." 7925 "Parse module at point and return list of ( ( file instance ) ... )."
@@ -7292,15 +7956,29 @@ list of ( (signal_name connection_name)... )."
7292 (let ((tpl-regexp "\\([0-9]+\\)") 7956 (let ((tpl-regexp "\\([0-9]+\\)")
7293 (lineno 0) 7957 (lineno 0)
7294 (templateno 0) 7958 (templateno 0)
7959 (pt (point))
7295 tpl-sig-list tpl-wild-list tpl-end-pt rep) 7960 tpl-sig-list tpl-wild-list tpl-end-pt rep)
7961 ;; Note this search is expensive, as we hunt from mod-begin to point
7962 ;; for every instantiation. Likewise in verilog-read-auto-lisp.
7963 ;; So, we look first for an exact string rather than a slow regexp.
7964 ;; Someday we may keep a cache of every template, but this would also
7965 ;; need to record the relative position of each AUTOINST, as multiple
7966 ;; templates exist for each module, and we're inserting lines.
7296 (cond ((or 7967 (cond ((or
7297 (re-search-backward (concat "^\\s-*/?\\*?\\s-*" module "\\s-+AUTO_TEMPLATE") nil t) 7968 (verilog-re-search-backward-substr
7298 (progn 7969 "AUTO_TEMPLATE"
7299 (goto-char (point-min)) 7970 (concat "^\\s-*/?\\*?\\s-*" module "\\s-+AUTO_TEMPLATE") nil t)
7300 (re-search-forward (concat "^\\s-*/?\\*?\\s-*" module "\\s-+AUTO_TEMPLATE") nil t))) 7971 ;; Also try forward of this AUTOINST
7972 ;; This is for historical support; this isn't speced as working
7973 (progn
7974 (goto-char pt)
7975 (verilog-re-search-forward-substr
7976 "AUTO_TEMPLATE"
7977 (concat "^\\s-*/?\\*?\\s-*" module "\\s-+AUTO_TEMPLATE") nil t)))
7301 (goto-char (match-end 0)) 7978 (goto-char (match-end 0))
7302 ;; Parse "REGEXP" 7979 ;; Parse "REGEXP"
7303 ;; We reserve @"..." for future lisp expressions that evaluate once-per-AUTOINST 7980 ;; We reserve @"..." for future lisp expressions that evaluate
7981 ;; once-per-AUTOINST
7304 (when (looking-at "\\s-*\"\\([^\"]*\\)\"") 7982 (when (looking-at "\\s-*\"\\([^\"]*\\)\"")
7305 (setq tpl-regexp (match-string 1)) 7983 (setq tpl-regexp (match-string 1))
7306 (goto-char (match-end 0))) 7984 (goto-char (match-end 0)))
@@ -7431,7 +8109,8 @@ warning message, you need to add to your .emacs file:
7431 (when recurse 8109 (when recurse
7432 (goto-char (point-min)) 8110 (goto-char (point-min))
7433 (while (re-search-forward "^\\s-*`include\\s-+\\([^ \t\n\f]+\\)" nil t) 8111 (while (re-search-forward "^\\s-*`include\\s-+\\([^ \t\n\f]+\\)" nil t)
7434 (let ((inc (verilog-string-replace-matches "\"" "" nil nil (match-string-no-properties 1)))) 8112 (let ((inc (verilog-string-replace-matches
8113 "\"" "" nil nil (match-string-no-properties 1))))
7435 (unless (verilog-inside-comment-p) 8114 (unless (verilog-inside-comment-p)
7436 (verilog-read-defines inc recurse t))))) 8115 (verilog-read-defines inc recurse t)))))
7437 ;; Read `defines 8116 ;; Read `defines
@@ -7454,7 +8133,8 @@ warning message, you need to add to your .emacs file:
7454 (setq enumname (match-string-no-properties 1))) 8133 (setq enumname (match-string-no-properties 1)))
7455 (forward-comment 999) 8134 (forward-comment 999)
7456 (while (looking-at "\\s-*,?\\s-*\\([a-zA-Z0-9_$]+\\)\\s-*=\\s-*\\([^;,]*\\),?\\s-*") 8135 (while (looking-at "\\s-*,?\\s-*\\([a-zA-Z0-9_$]+\\)\\s-*=\\s-*\\([^;,]*\\),?\\s-*")
7457 (verilog-set-define (match-string-no-properties 1) (match-string-no-properties 2) origbuf enumname) 8136 (verilog-set-define (match-string-no-properties 1)
8137 (match-string-no-properties 2) origbuf enumname)
7458 (goto-char (match-end 0)) 8138 (goto-char (match-end 0))
7459 (forward-comment 999))))))) 8139 (forward-comment 999)))))))
7460 8140
@@ -7638,6 +8318,20 @@ unless it is already a member of the variable's list."
7638 varref) 8318 varref)
7639;;(progn (setq l '()) (verilog-add-list-unique `l "a") (verilog-add-list-unique `l "a") l) 8319;;(progn (setq l '()) (verilog-add-list-unique `l "a") (verilog-add-list-unique `l "a") l)
7640 8320
8321(defun verilog-current-flags ()
8322 "Convert `verilog-library-flags' and similar variables to command line.
8323Used for __FLAGS__ in `verilog-expand-command'."
8324 (let ((cmd (mapconcat `concat verilog-library-flags " ")))
8325 (when (equal cmd "")
8326 (setq cmd (concat
8327 "+libext+" (mapconcat `concat verilog-library-extensions "+")
8328 (mapconcat (lambda (i) (concat " -y " i " +incdir+" i))
8329 verilog-library-directories "")
8330 (mapconcat (lambda (i) (concat " -v " i))
8331 verilog-library-files ""))))
8332 cmd))
8333;;(verilog-current-flags)
8334
7641 8335
7642;; 8336;;
7643;; Cached directory support 8337;; Cached directory support
@@ -7657,7 +8351,7 @@ See `verilog-dir-exists-p' and `verilog-dir-files'.")
7657 "Execute the BODY forms, allowing directory cache preservation within BODY. 8351 "Execute the BODY forms, allowing directory cache preservation within BODY.
7658This means that changes inside BODY made to the file system will not be 8352This means that changes inside BODY made to the file system will not be
7659seen by the `verilog-dir-files' and related functions." 8353seen by the `verilog-dir-files' and related functions."
7660 `(let ((verilog-dir-cache-preserving t) 8354 `(let ((verilog-dir-cache-preserving (current-buffer))
7661 verilog-dir-cache-list 8355 verilog-dir-cache-list
7662 verilog-dir-cache-lib-filenames) 8356 verilog-dir-cache-lib-filenames)
7663 (progn ,@body))) 8357 (progn ,@body)))
@@ -7707,23 +8401,24 @@ Like `file-exists-p' but results are cached if inside
7707;; 8401;;
7708 8402
7709(defun verilog-module-inside-filename-p (module filename) 8403(defun verilog-module-inside-filename-p (module filename)
7710 "Return point if MODULE is specified inside FILENAME, else nil. 8404 "Return modi if MODULE is specified inside FILENAME, else nil.
7711Allows version control to check out the file if need be." 8405Allows version control to check out the file if need be."
7712 (and (or (file-exists-p filename) 8406 (and (or (file-exists-p filename)
7713 (and (fboundp 'vc-backend) 8407 (and (fboundp 'vc-backend)
7714 (vc-backend filename))) 8408 (vc-backend filename)))
7715 (let (pt) 8409 (let (modi type)
7716 (with-current-buffer (find-file-noselect filename) 8410 (with-current-buffer (find-file-noselect filename)
7717 (save-excursion 8411 (save-excursion
7718 (goto-char (point-min)) 8412 (goto-char (point-min))
7719 (while (and 8413 (while (and
7720 ;; It may be tempting to look for verilog-defun-re, 8414 ;; It may be tempting to look for verilog-defun-re,
7721 ;; don't, it slows things down a lot! 8415 ;; don't, it slows things down a lot!
7722 (verilog-re-search-forward-quick "\\<module\\>" nil t) 8416 (verilog-re-search-forward-quick "\\<\\(module\\|interface\\)\\>" nil t)
8417 (setq type (match-string-no-properties 0))
7723 (verilog-re-search-forward-quick "[(;]" nil t)) 8418 (verilog-re-search-forward-quick "[(;]" nil t))
7724 (if (equal module (verilog-read-module-name)) 8419 (if (equal module (verilog-read-module-name))
7725 (setq pt (point)))) 8420 (setq modi (verilog-modi-new module filename (point) type))))
7726 pt))))) 8421 modi)))))
7727 8422
7728(defun verilog-is-number (symbol) 8423(defun verilog-is-number (symbol)
7729 "Return true if SYMBOL is number-like." 8424 "Return true if SYMBOL is number-like."
@@ -7889,7 +8584,6 @@ variables to build the path."
7889 "Cache of ((Module Function) Buf-Tick Buf-Modtime Func-Returns)... 8584 "Cache of ((Module Function) Buf-Tick Buf-Modtime Func-Returns)...
7890For speeding up verilog-modi-get-* commands. 8585For speeding up verilog-modi-get-* commands.
7891Buffer-local.") 8586Buffer-local.")
7892
7893(make-variable-buffer-local 'verilog-modi-cache-list) 8587(make-variable-buffer-local 'verilog-modi-cache-list)
7894 8588
7895(defvar verilog-modi-cache-preserve-tick nil 8589(defvar verilog-modi-cache-preserve-tick nil
@@ -7898,47 +8592,80 @@ Use `verilog-preserve-modi-cache' to set it.")
7898(defvar verilog-modi-cache-preserve-buffer nil 8592(defvar verilog-modi-cache-preserve-buffer nil
7899 "Modification tick after which the cache is still considered valid. 8593 "Modification tick after which the cache is still considered valid.
7900Use `verilog-preserve-modi-cache' to set it.") 8594Use `verilog-preserve-modi-cache' to set it.")
8595(defvar verilog-modi-cache-current-enable nil
8596 "If true, allow caching `verilog-modi-current', set by let().")
8597(defvar verilog-modi-cache-current nil
8598 "Currently active `verilog-modi-current', if any, set by let().")
8599(defvar verilog-modi-cache-current-max nil
8600 "Current endmodule point for `verilog-modi-cache-current', if any.")
7901 8601
7902(defun verilog-modi-current () 8602(defun verilog-modi-current ()
8603 "Return the modi structure for the module currently at point, possibly cached."
8604 (cond ((and verilog-modi-cache-current
8605 (>= (point) (verilog-modi-get-point verilog-modi-cache-current))
8606 (<= (point) verilog-modi-cache-current-max))
8607 ;; Slow assertion, for debugging the cache:
8608 ;;(or (equal verilog-modi-cache-current (verilog-modi-current-get)) (debug))
8609 verilog-modi-cache-current)
8610 (verilog-modi-cache-current-enable
8611 (setq verilog-modi-cache-current (verilog-modi-current-get)
8612 verilog-modi-cache-current-max
8613 ;; The cache expires when we pass "endmodule" as then the
8614 ;; current modi may change to the next module
8615 ;; This relies on the AUTOs generally inserting, not deleting text
8616 (save-excursion
8617 (verilog-re-search-forward-quick verilog-end-defun-re nil nil)))
8618 verilog-modi-cache-current)
8619 (t
8620 (verilog-modi-current-get))))
8621
8622(defun verilog-modi-current-get ()
7903 "Return the modi structure for the module currently at point." 8623 "Return the modi structure for the module currently at point."
7904 (let* (name pt) 8624 (let* (name type pt)
7905 ;; read current module's name 8625 ;; read current module's name
7906 (save-excursion 8626 (save-excursion
7907 (verilog-re-search-backward-quick verilog-defun-re nil nil) 8627 (verilog-re-search-backward-quick verilog-defun-re nil nil)
8628 (setq type (match-string-no-properties 0))
7908 (verilog-re-search-forward-quick "(" nil nil) 8629 (verilog-re-search-forward-quick "(" nil nil)
7909 (setq name (verilog-read-module-name)) 8630 (setq name (verilog-read-module-name))
7910 (setq pt (point))) 8631 (setq pt (point)))
7911 ;; return 8632 ;; return modi - note this vector built two places
7912 (vector name (or (buffer-file-name) (current-buffer)) pt))) 8633 (verilog-modi-new name (or (buffer-file-name) (current-buffer)) pt type)))
7913 8634
7914(defvar verilog-modi-lookup-last-mod nil "Cache of last module looked up.") 8635(defvar verilog-modi-lookup-cache nil "Hash of (modulename modi).")
7915(defvar verilog-modi-lookup-last-modi nil "Cache of last modi returned.") 8636(make-variable-buffer-local 'verilog-modi-lookup-cache)
7916(defvar verilog-modi-lookup-last-current nil "Cache of last `current-buffer' looked up.") 8637(defvar verilog-modi-lookup-last-current nil "Cache of `current-buffer' at last lookup.")
7917(defvar verilog-modi-lookup-last-tick nil "Cache of last `buffer-modified-tick' looked up.") 8638(defvar verilog-modi-lookup-last-tick nil "Cache of `buffer-chars-modified-tick' at last lookup.")
7918 8639
7919(defun verilog-modi-lookup (module allow-cache &optional ignore-error) 8640(defun verilog-modi-lookup (module allow-cache &optional ignore-error)
7920 "Find the file and point at which MODULE is defined. 8641 "Find the file and point at which MODULE is defined.
7921If ALLOW-CACHE is set, check and remember cache of previous lookups. 8642If ALLOW-CACHE is set, check and remember cache of previous lookups.
7922Return modi if successful, else print message unless IGNORE-ERROR is true." 8643Return modi if successful, else print message unless IGNORE-ERROR is true."
7923 (let* ((current (or (buffer-file-name) (current-buffer)))) 8644 (let* ((current (or (buffer-file-name) (current-buffer)))
7924 (cond ((and verilog-modi-lookup-last-modi 8645 modi)
8646 ;; Check cache
8647 ;;(message "verilog-modi-lookup: %s" module)
8648 (cond ((and verilog-modi-lookup-cache
7925 verilog-cache-enabled 8649 verilog-cache-enabled
7926 allow-cache 8650 allow-cache
7927 (equal verilog-modi-lookup-last-mod module) 8651 (setq modi (gethash module verilog-modi-lookup-cache))
7928 (equal verilog-modi-lookup-last-current current) 8652 (equal verilog-modi-lookup-last-current current)
7929 (equal verilog-modi-lookup-last-tick (buffer-modified-tick))) 8653 ;; Iff hit is in current buffer, then tick must match
7930 ;; ok as is 8654 (or (equal verilog-modi-lookup-last-tick (buffer-chars-modified-tick))
7931 ) 8655 (not (equal current (verilog-modi-file-or-buffer modi)))))
8656 ;;(message "verilog-modi-lookup: HIT %S" modi)
8657 modi)
8658 ;; Miss
7932 (t (let* ((realmod (verilog-symbol-detick module t)) 8659 (t (let* ((realmod (verilog-symbol-detick module t))
7933 (orig-filenames (verilog-module-filenames realmod current)) 8660 (orig-filenames (verilog-module-filenames realmod current))
7934 (filenames orig-filenames) 8661 (filenames orig-filenames)
7935 pt) 8662 mif)
7936 (while (and filenames (not pt)) 8663 (while (and filenames (not mif))
7937 (if (not (setq pt (verilog-module-inside-filename-p realmod (car filenames)))) 8664 (if (not (setq mif (verilog-module-inside-filename-p realmod (car filenames))))
7938 (setq filenames (cdr filenames)))) 8665 (setq filenames (cdr filenames))))
7939 (cond (pt (setq verilog-modi-lookup-last-modi 8666 ;; mif has correct form to become later elements of modi
7940 (vector realmod (car filenames) pt))) 8667 (cond (mif (setq modi mif))
7941 (t (setq verilog-modi-lookup-last-modi nil) 8668 (t (setq modi nil)
7942 (or ignore-error 8669 (or ignore-error
7943 (error (concat (verilog-point-text) 8670 (error (concat (verilog-point-text)
7944 ": Can't locate " module " module definition" 8671 ": Can't locate " module " module definition"
@@ -7948,17 +8675,14 @@ Return modi if successful, else print message unless IGNORE-ERROR is true."
7948 "\n Check the verilog-library-directories variable." 8675 "\n Check the verilog-library-directories variable."
7949 "\n I looked in (if not listed, doesn't exist):\n\t" 8676 "\n I looked in (if not listed, doesn't exist):\n\t"
7950 (mapconcat 'concat orig-filenames "\n\t")))))) 8677 (mapconcat 'concat orig-filenames "\n\t"))))))
7951 (setq verilog-modi-lookup-last-mod module 8678 (when (eval-when-compile (fboundp 'make-hash-table))
7952 verilog-modi-lookup-last-current current 8679 (unless verilog-modi-lookup-cache
7953 verilog-modi-lookup-last-tick (buffer-modified-tick))))) 8680 (setq verilog-modi-lookup-cache
7954 verilog-modi-lookup-last-modi)) 8681 (make-hash-table :test 'equal :rehash-size 4.0)))
7955 8682 (puthash module modi verilog-modi-lookup-cache))
7956(defsubst verilog-modi-name (modi) 8683 (setq verilog-modi-lookup-last-current current
7957 (aref modi 0)) 8684 verilog-modi-lookup-last-tick (buffer-chars-modified-tick)))))
7958(defsubst verilog-modi-file-or-buffer (modi) 8685 modi))
7959 (aref modi 1))
7960(defsubst verilog-modi-point (modi)
7961 (aref modi 2))
7962 8686
7963(defun verilog-modi-filename (modi) 8687(defun verilog-modi-filename (modi)
7964 "Filename of MODI, or name of buffer if it's never been saved." 8688 "Filename of MODI, or name of buffer if it's never been saved."
@@ -7975,7 +8699,7 @@ Return modi if successful, else print message unless IGNORE-ERROR is true."
7975 (find-file-noselect (verilog-modi-file-or-buffer modi)))) 8699 (find-file-noselect (verilog-modi-file-or-buffer modi))))
7976 (or (equal major-mode `verilog-mode) ;; Put into Verilog mode to get syntax 8700 (or (equal major-mode `verilog-mode) ;; Put into Verilog mode to get syntax
7977 (verilog-mode)) 8701 (verilog-mode))
7978 (goto-char (verilog-modi-point modi))) 8702 (goto-char (verilog-modi-get-point modi)))
7979 8703
7980(defun verilog-goto-defun-file (module) 8704(defun verilog-goto-defun-file (module)
7981 "Move point to the file at which a given MODULE is defined." 8705 "Move point to the file at which a given MODULE is defined."
@@ -7995,7 +8719,7 @@ Cache the output of function so next call may have faster access."
7995 verilog-modi-cache-list)) 8719 verilog-modi-cache-list))
7996 ;; Destroy caching when incorrect; Modified or file changed 8720 ;; Destroy caching when incorrect; Modified or file changed
7997 (not (and verilog-cache-enabled 8721 (not (and verilog-cache-enabled
7998 (or (equal (buffer-modified-tick) (nth 1 fass)) 8722 (or (equal (buffer-chars-modified-tick) (nth 1 fass))
7999 (and verilog-modi-cache-preserve-tick 8723 (and verilog-modi-cache-preserve-tick
8000 (<= verilog-modi-cache-preserve-tick (nth 1 fass)) 8724 (<= verilog-modi-cache-preserve-tick (nth 1 fass))
8001 (equal verilog-modi-cache-preserve-buffer (current-buffer)))) 8725 (equal verilog-modi-cache-preserve-buffer (current-buffer))))
@@ -8018,7 +8742,7 @@ Cache the output of function so next call may have faster access."
8018 ;; Cache for next time 8742 ;; Cache for next time
8019 (setq verilog-modi-cache-list 8743 (setq verilog-modi-cache-list
8020 (cons (list (list modi function) 8744 (cons (list (list modi function)
8021 (buffer-modified-tick) 8745 (buffer-chars-modified-tick)
8022 (visited-file-modtime) 8746 (visited-file-modtime)
8023 func-returns) 8747 func-returns)
8024 verilog-modi-cache-list)) 8748 verilog-modi-cache-list))
@@ -8044,7 +8768,7 @@ flushed. If the changes affect the modsig state, they must call the
8044modsig-cache-add-* function, else the results of later calls may be 8768modsig-cache-add-* function, else the results of later calls may be
8045incorrect. Without this, changes are assumed to be adding/removing signals 8769incorrect. Without this, changes are assumed to be adding/removing signals
8046and invalidating the cache." 8770and invalidating the cache."
8047 `(let ((verilog-modi-cache-preserve-tick (buffer-modified-tick)) 8771 `(let ((verilog-modi-cache-preserve-tick (buffer-chars-modified-tick))
8048 (verilog-modi-cache-preserve-buffer (current-buffer))) 8772 (verilog-modi-cache-preserve-buffer (current-buffer)))
8049 (progn ,@body))) 8773 (progn ,@body)))
8050 8774
@@ -8165,7 +8889,9 @@ with appropriate INDENT-PT indentation."
8165 (indent-to (max 24 (+ indent-pt 16))) 8889 (indent-to (max 24 (+ indent-pt 16)))
8166 (unless (= (char-syntax (preceding-char)) ?\ ) 8890 (unless (= (char-syntax (preceding-char)) ?\ )
8167 (insert " ")) ; Need space between "]name" if indent-to did nothing 8891 (insert " ")) ; Need space between "]name" if indent-to did nothing
8168 (insert (verilog-sig-name sig))) 8892 (insert (verilog-sig-name sig))
8893 (when (verilog-sig-memory sig)
8894 (insert " " (verilog-sig-memory sig))))
8169 8895
8170(defun verilog-insert-definition (sigs direction indent-pt v2k &optional dont-sort) 8896(defun verilog-insert-definition (sigs direction indent-pt v2k &optional dont-sort)
8171 "Print out a definition for a list of SIGS of the given DIRECTION, 8897 "Print out a definition for a list of SIGS of the given DIRECTION,
@@ -8190,7 +8916,7 @@ format. Sort unless DONT-SORT. DIRECTION is normally wire/reg/output."
8190 (equal "" (verilog-sig-comment sig))) 8916 (equal "" (verilog-sig-comment sig)))
8191 (insert "\n") 8917 (insert "\n")
8192 (indent-to (max 48 (+ indent-pt 40))) 8918 (indent-to (max 48 (+ indent-pt 40)))
8193 (insert (concat "// " (verilog-sig-comment sig) "\n"))) 8919 (verilog-insert "// " (verilog-sig-comment sig) "\n"))
8194 (setq sigs (cdr sigs))))) 8920 (setq sigs (cdr sigs)))))
8195 8921
8196(eval-when-compile 8922(eval-when-compile
@@ -8204,7 +8930,7 @@ Presumes that any newlines end a list element."
8204 (while stuff 8930 (while stuff
8205 (if need-indent (indent-to indent-pt)) 8931 (if need-indent (indent-to indent-pt))
8206 (setq need-indent nil) 8932 (setq need-indent nil)
8207 (insert (car stuff)) 8933 (verilog-insert (car stuff))
8208 (setq need-indent (string-match "\n$" (car stuff)) 8934 (setq need-indent (string-match "\n$" (car stuff))
8209 stuff (cdr stuff))))) 8935 stuff (cdr stuff)))))
8210;;(let ((indent-pt 10)) (verilog-insert-indent "hello\n" "addon" "there\n")) 8936;;(let ((indent-pt 10)) (verilog-insert-indent "hello\n" "addon" "there\n"))
@@ -8436,42 +9162,44 @@ called before and after this function, respectively."
8436 (save-excursion 9162 (save-excursion
8437 (if (buffer-file-name) 9163 (if (buffer-file-name)
8438 (find-file-noselect (buffer-file-name))) ;; To check we have latest version 9164 (find-file-noselect (buffer-file-name))) ;; To check we have latest version
8439 ;; Allow user to customize 9165 (verilog-save-no-change-functions
8440 (run-hooks 'verilog-before-delete-auto-hook) 9166 (verilog-save-scan-cache
8441 9167 ;; Allow user to customize
8442 ;; Remove those that have multi-line insertions, possibly with parameters 9168 (run-hooks 'verilog-before-delete-auto-hook)
8443 (verilog-auto-re-search-do 9169
8444 (concat "/\\*" 9170 ;; Remove those that have multi-line insertions, possibly with parameters
8445 (eval-when-compile 9171 (verilog-auto-re-search-do
8446 (verilog-regexp-words 9172 (concat "/\\*"
8447 `("AUTOASCIIENUM" "AUTOCONCATCOMMENT" "AUTODEFINEVALUE" 9173 (eval-when-compile
8448 "AUTOINOUT" "AUTOINOUTCOMP" "AUTOINOUTMODULE" 9174 (verilog-regexp-words
8449 "AUTOINPUT" "AUTOINSERTLISP" "AUTOOUTPUT" "AUTOOUTPUTEVERY" 9175 `("AUTOASCIIENUM" "AUTOCONCATCOMMENT" "AUTODEFINEVALUE"
8450 "AUTOREG" "AUTOREGINPUT" "AUTORESET" "AUTOTIEOFF" 9176 "AUTOINOUT" "AUTOINOUTCOMP" "AUTOINOUTMODULE"
8451 "AUTOUNUSED" "AUTOWIRE"))) 9177 "AUTOINPUT" "AUTOINSERTLISP" "AUTOOUTPUT" "AUTOOUTPUTEVERY"
8452 ;; Optional parens or quoted parameter or .* for (((...))) 9178 "AUTOREG" "AUTOREGINPUT" "AUTORESET" "AUTOTIEOFF"
8453 "\\(\\|([^)]*)\\|(\"[^\"]*\")\\).*?" 9179 "AUTOUNUSED" "AUTOWIRE")))
8454 "\\*/") 9180 ;; Optional parens or quoted parameter or .* for (((...)))
8455 'verilog-delete-autos-lined) 9181 "\\(\\|([^)]*)\\|(\"[^\"]*\")\\).*?"
8456 ;; Remove those that are in parenthesis 9182 "\\*/")
8457 (verilog-auto-re-search-do 9183 'verilog-delete-autos-lined)
8458 (concat "/\\*" 9184 ;; Remove those that are in parenthesis
8459 (eval-when-compile 9185 (verilog-auto-re-search-do
8460 (verilog-regexp-words 9186 (concat "/\\*"
8461 `("AS" "AUTOARG" "AUTOCONCATWIDTH" "AUTOINST" "AUTOINSTPARAM" 9187 (eval-when-compile
8462 "AUTOSENSE"))) 9188 (verilog-regexp-words
8463 "\\*/") 9189 `("AS" "AUTOARG" "AUTOCONCATWIDTH" "AUTOINST" "AUTOINSTPARAM"
8464 'verilog-delete-to-paren) 9190 "AUTOSENSE")))
8465 ;; Do .* instantiations, but avoid removing any user pins by looking for our magic comments 9191 "\\*/")
8466 (verilog-auto-re-search-do "\\.\\*" 9192 'verilog-delete-to-paren)
8467 'verilog-delete-auto-star-all) 9193 ;; Do .* instantiations, but avoid removing any user pins by looking for our magic comments
8468 ;; Remove template comments ... anywhere in case was pasted after AUTOINST removed 9194 (verilog-auto-re-search-do "\\.\\*"
8469 (goto-char (point-min)) 9195 'verilog-delete-auto-star-all)
8470 (while (re-search-forward "\\s-*// \\(Templated\\|Implicit \\.\\*\\)[ \tLT0-9]*$" nil t) 9196 ;; Remove template comments ... anywhere in case was pasted after AUTOINST removed
8471 (replace-match "")) 9197 (goto-char (point-min))
9198 (while (re-search-forward "\\s-*// \\(Templated\\|Implicit \\.\\*\\)[ \tLT0-9]*$" nil t)
9199 (replace-match ""))
8472 9200
8473 ;; Final customize 9201 ;; Final customize
8474 (run-hooks 'verilog-delete-auto-hook))) 9202 (run-hooks 'verilog-delete-auto-hook)))))
8475 9203
8476;; 9204;;
8477;; Auto inject 9205;; Auto inject
@@ -8536,7 +9264,7 @@ Typing \\[verilog-inject-auto] will make this into:
8536 (verilog-backward-syntactic-ws) 9264 (verilog-backward-syntactic-ws)
8537 (backward-char 1) ; Moves to paren that closes argdecl's 9265 (backward-char 1) ; Moves to paren that closes argdecl's
8538 (when (looking-at ")") 9266 (when (looking-at ")")
8539 (insert "/*AUTOARG*/"))))))) 9267 (verilog-insert "/*AUTOARG*/")))))))
8540 9268
8541(defun verilog-inject-sense () 9269(defun verilog-inject-sense ()
8542 "Inject AUTOSENSE into new code. See `verilog-inject-auto'." 9270 "Inject AUTOSENSE into new code. See `verilog-inject-auto'."
@@ -8558,7 +9286,7 @@ Typing \\[verilog-inject-auto] will make this into:
8558 (when (not (or (verilog-signals-not-in pre-sigs got-sigs) ; Both are equal? 9286 (when (not (or (verilog-signals-not-in pre-sigs got-sigs) ; Both are equal?
8559 (verilog-signals-not-in got-sigs pre-sigs))) 9287 (verilog-signals-not-in got-sigs pre-sigs)))
8560 (delete-region start-pt (point)) 9288 (delete-region start-pt (point))
8561 (insert "/*AS*/"))))))) 9289 (verilog-insert "/*AS*/")))))))
8562 9290
8563(defun verilog-inject-inst () 9291(defun verilog-inject-inst ()
8564 "Inject AUTOINST into new code. See `verilog-inject-auto'." 9292 "Inject AUTOINST into new code. See `verilog-inject-auto'."
@@ -8592,9 +9320,8 @@ Typing \\[verilog-inject-auto] will make this into:
8592 ;; Not verilog-re-search, as we don't want to strip comments 9320 ;; Not verilog-re-search, as we don't want to strip comments
8593 (while (re-search-backward "[ \t\n\f]+" (- (point) 1) t) 9321 (while (re-search-backward "[ \t\n\f]+" (- (point) 1) t)
8594 (delete-region (match-beginning 0) (match-end 0))) 9322 (delete-region (match-beginning 0) (match-end 0)))
8595 (insert "\n") 9323 (verilog-insert "\n")
8596 (indent-to indent-pt) 9324 (verilog-insert-indent "/*AUTOINST*/")))))))))
8597 (insert "/*AUTOINST*/")))))))))
8598 9325
8599;; 9326;;
8600;; Auto save 9327;; Auto save
@@ -8611,14 +9338,14 @@ Typing \\[verilog-inject-auto] will make this into:
8611 ((eq verilog-auto-save-policy 'force) 9338 ((eq verilog-auto-save-policy 'force)
8612 (verilog-auto)) 9339 (verilog-auto))
8613 ((not (buffer-modified-p))) 9340 ((not (buffer-modified-p)))
8614 ((eq verilog-auto-update-tick (buffer-modified-tick))) ; up-to-date 9341 ((eq verilog-auto-update-tick (buffer-chars-modified-tick))) ; up-to-date
8615 ((eq verilog-auto-save-policy 'detect) 9342 ((eq verilog-auto-save-policy 'detect)
8616 (verilog-auto)) 9343 (verilog-auto))
8617 (t 9344 (t
8618 (when (yes-or-no-p "AUTO statements not recomputed, do it now? ") 9345 (when (yes-or-no-p "AUTO statements not recomputed, do it now? ")
8619 (verilog-auto)) 9346 (verilog-auto))
8620 ;; Don't ask again if didn't update 9347 ;; Don't ask again if didn't update
8621 (set (make-local-variable 'verilog-auto-update-tick) (buffer-modified-tick)))) 9348 (set (make-local-variable 'verilog-auto-update-tick) (buffer-chars-modified-tick))))
8622 (when (not verilog-auto-star-save) 9349 (when (not verilog-auto-star-save)
8623 (verilog-delete-auto-star-implicit)) 9350 (verilog-delete-auto-star-implicit))
8624 nil) ;; Always return nil -- we don't write the file ourselves 9351 nil) ;; Always return nil -- we don't write the file ourselves
@@ -8747,6 +9474,8 @@ Avoid declaring ports manually, as it makes code harder to maintain."
8747(defvar vl-name nil "See `verilog-auto-inst'.") ; Prevent compile warning 9474(defvar vl-name nil "See `verilog-auto-inst'.") ; Prevent compile warning
8748(defvar vl-width nil "See `verilog-auto-inst'.") ; Prevent compile warning 9475(defvar vl-width nil "See `verilog-auto-inst'.") ; Prevent compile warning
8749(defvar vl-dir nil "See `verilog-auto-inst'.") ; Prevent compile warning 9476(defvar vl-dir nil "See `verilog-auto-inst'.") ; Prevent compile warning
9477(defvar vl-bits nil "See `verilog-auto-inst'.") ; Prevent compile warning
9478(defvar vl-mbits nil "See `verilog-auto-inst'.") ; Prevent compile warning
8750 9479
8751(defun verilog-auto-inst-port (port-st indent-pt tpl-list tpl-num for-star par-values) 9480(defun verilog-auto-inst-port (port-st indent-pt tpl-list tpl-num for-star par-values)
8752 "Print out a instantiation connection for this PORT-ST. 9481 "Print out a instantiation connection for this PORT-ST.
@@ -8762,6 +9491,8 @@ If PAR-VALUES replace final strings with these parameter values."
8762 (vl-name (verilog-sig-name port-st)) 9491 (vl-name (verilog-sig-name port-st))
8763 (vl-width (verilog-sig-width port-st)) 9492 (vl-width (verilog-sig-width port-st))
8764 (vl-modport (verilog-sig-modport port-st)) 9493 (vl-modport (verilog-sig-modport port-st))
9494 (vl-mbits (if (verilog-sig-multidim port-st)
9495 (verilog-sig-multidim-string port-st) ""))
8765 (vl-bits (if (or verilog-auto-inst-vector 9496 (vl-bits (if (or verilog-auto-inst-vector
8766 (not (assoc port vector-skip-list)) 9497 (not (assoc port vector-skip-list))
8767 (not (equal (verilog-sig-bits port-st) 9498 (not (equal (verilog-sig-bits port-st)
@@ -8824,19 +9555,23 @@ If PAR-VALUES replace final strings with these parameter values."
8824 ;; Insert it 9555 ;; Insert it
8825 (indent-to indent-pt) 9556 (indent-to indent-pt)
8826 (insert "." port) 9557 (insert "." port)
8827 (indent-to verilog-auto-inst-column) 9558 (unless (and verilog-auto-inst-dot-name
8828 (insert "(" tpl-net "),") 9559 (equal port tpl-net))
9560 (indent-to verilog-auto-inst-column)
9561 (insert "(" tpl-net ")"))
9562 (insert ",")
8829 (cond (tpl-ass 9563 (cond (tpl-ass
8830 (indent-to (+ (if (< verilog-auto-inst-column 48) 24 16) 9564 (indent-to (+ (if (< verilog-auto-inst-column 48) 24 16)
8831 verilog-auto-inst-column)) 9565 verilog-auto-inst-column))
8832 (insert " // Templated") 9566 (if verilog-auto-inst-template-numbers
8833 (when verilog-auto-inst-template-numbers 9567 (verilog-insert " // Templated"
8834 (insert " T" (int-to-string (nth 2 tpl-ass)) 9568 " T" (int-to-string (nth 2 tpl-ass))
8835 " L" (int-to-string (nth 3 tpl-ass))))) 9569 " L" (int-to-string (nth 3 tpl-ass)))
9570 (verilog-insert " // Templated")))
8836 (for-star 9571 (for-star
8837 (indent-to (+ (if (< verilog-auto-inst-column 48) 24 16) 9572 (indent-to (+ (if (< verilog-auto-inst-column 48) 24 16)
8838 verilog-auto-inst-column)) 9573 verilog-auto-inst-column))
8839 (insert " // Implicit .\*"))) ;For some reason the . or * must be escaped... 9574 (verilog-insert " // Implicit .\*"))) ;For some reason the . or * must be escaped...
8840 (insert "\n"))) 9575 (insert "\n")))
8841;;(verilog-auto-inst-port (list "foo" "[5:0]") 10 (list (list "foo" "a@\"(% (+ @ 1) 4)\"a")) "3") 9576;;(verilog-auto-inst-port (list "foo" "[5:0]") 10 (list (list "foo" "a@\"(% (+ @ 1) 4)\"a")) "3")
8842;;(x "incom[@\"(+ (* 8 @) 7)\":@\"(* 8 @)\"]") 9577;;(x "incom[@\"(+ (* 8 @) 7)\":@\"(* 8 @)\"]")
@@ -8876,8 +9611,9 @@ See `verilog-auto-inst' for examples, templates, and more information."
8876 9611
8877(defun verilog-auto-inst () 9612(defun verilog-auto-inst ()
8878 "Expand AUTOINST statements, as part of \\[verilog-auto]. 9613 "Expand AUTOINST statements, as part of \\[verilog-auto].
8879Replace the pin connections to an instantiation with ones 9614Replace the pin connections to an instantiation or interface
8880automatically derived from the module header of the instantiated netlist. 9615declaration with ones automatically derived from the module or
9616interface header of the instantiated item.
8881 9617
8882If `verilog-auto-star-expand' is set, also expand SystemVerilog .* ports, 9618If `verilog-auto-star-expand' is set, also expand SystemVerilog .* ports,
8883and delete them before saving unless `verilog-auto-star-save' is set. 9619and delete them before saving unless `verilog-auto-star-save' is set.
@@ -8897,12 +9633,18 @@ Limitations:
8897 9633
8898 SystemVerilog multidimensional input/output has only experimental support. 9634 SystemVerilog multidimensional input/output has only experimental support.
8899 9635
9636 SystemVerilog .name syntax is used if `verilog-auto-inst-dot-name' is set.
9637
8900 Parameters referenced by the instantiation will remain symbolic, unless 9638 Parameters referenced by the instantiation will remain symbolic, unless
8901 `verilog-auto-inst-param-value' is set. 9639 `verilog-auto-inst-param-value' is set.
8902 9640
9641 Gate primitives (and/or) may have AUTOINST for the purpose of
9642 AUTOWIRE declarations, etc. Gates are the only case when
9643 position based connections are passed.
9644
8903For example, first take the submodule InstModule.v: 9645For example, first take the submodule InstModule.v:
8904 9646
8905 module InstModule (o,i) 9647 module InstModule (o,i);
8906 output [31:0] o; 9648 output [31:0] o;
8907 input i; 9649 input i;
8908 wire [31:0] o = {32{i}}; 9650 wire [31:0] o = {32{i}};
@@ -8910,7 +9652,7 @@ For example, first take the submodule InstModule.v:
8910 9652
8911This is then used in a upper level module: 9653This is then used in a upper level module:
8912 9654
8913 module ExampInst (o,i) 9655 module ExampInst (o,i);
8914 output o; 9656 output o;
8915 input i; 9657 input i;
8916 InstModule instName 9658 InstModule instName
@@ -8919,7 +9661,7 @@ This is then used in a upper level module:
8919 9661
8920Typing \\[verilog-auto] will make this into: 9662Typing \\[verilog-auto] will make this into:
8921 9663
8922 module ExampInst (o,i) 9664 module ExampInst (o,i);
8923 output o; 9665 output o;
8924 input i; 9666 input i;
8925 InstModule instName 9667 InstModule instName
@@ -9110,6 +9852,7 @@ Lisp Templates:
9110 9852
9111 vl-name Name portion of the input/output port. 9853 vl-name Name portion of the input/output port.
9112 vl-bits Bus bits portion of the input/output port ('[2:0]'). 9854 vl-bits Bus bits portion of the input/output port ('[2:0]').
9855 vl-mbits Multidimensional array bits for port ('[2:0][3:0]').
9113 vl-width Width of the input/output port ('3' for [2:0]). 9856 vl-width Width of the input/output port ('3' for [2:0]).
9114 May be a (...) expression if bits isn't a constant. 9857 May be a (...) expression if bits isn't a constant.
9115 vl-dir Direction of the pin input/output/inout/interface. 9858 vl-dir Direction of the pin input/output/inout/interface.
@@ -9169,7 +9912,8 @@ For more information see the \\[verilog-faq] and forums at URL
9169 9912
9170 ;; Lookup position, etc of submodule 9913 ;; Lookup position, etc of submodule
9171 ;; Note this may raise an error 9914 ;; Note this may raise an error
9172 (when (setq submodi (verilog-modi-lookup submod t)) 9915 (when (and (not (member submod verilog-gate-keywords))
9916 (setq submodi (verilog-modi-lookup submod t)))
9173 (setq submoddecls (verilog-modi-get-decls submodi)) 9917 (setq submoddecls (verilog-modi-get-decls submodi))
9174 ;; If there's a number in the instantiation, it may be a argument to the 9918 ;; If there's a number in the instantiation, it may be a argument to the
9175 ;; automatic variable instantiation program. 9919 ;; automatic variable instantiation program.
@@ -9180,15 +9924,28 @@ For more information see the \\[verilog-faq] and forums at URL
9180 "") 9924 "")
9181 tpl-list (aref tpl-info 1))) 9925 tpl-list (aref tpl-info 1)))
9182 ;; Find submodule's signals and dump 9926 ;; Find submodule's signals and dump
9927 (let ((sig-list (and (equal (verilog-modi-get-type submodi) "interface")
9928 (verilog-signals-not-in
9929 (append (verilog-decls-get-wires submoddecls)
9930 (verilog-decls-get-regs submoddecls))
9931 skip-pins)))
9932 (vl-dir "interfaced"))
9933 (when sig-list
9934 (when (not did-first) (verilog-auto-inst-first) (setq did-first t))
9935 ;; Note these are searched for in verilog-read-sub-decls.
9936 (verilog-insert-indent "// Interfaced\n")
9937 (mapc (lambda (port)
9938 (verilog-auto-inst-port port indent-pt
9939 tpl-list tpl-num for-star par-values))
9940 sig-list)))
9183 (let ((sig-list (verilog-signals-not-in 9941 (let ((sig-list (verilog-signals-not-in
9184 (verilog-decls-get-interfaces submoddecls) 9942 (verilog-decls-get-interfaces submoddecls)
9185 skip-pins)) 9943 skip-pins))
9186 (vl-dir "interface")) 9944 (vl-dir "interface"))
9187 (when sig-list 9945 (when sig-list
9188 (when (not did-first) (verilog-auto-inst-first) (setq did-first t)) 9946 (when (not did-first) (verilog-auto-inst-first) (setq did-first t))
9189 (indent-to indent-pt)
9190 ;; Note these are searched for in verilog-read-sub-decls. 9947 ;; Note these are searched for in verilog-read-sub-decls.
9191 (insert "// Interfaces\n") 9948 (verilog-insert-indent "// Interfaces\n")
9192 (mapc (lambda (port) 9949 (mapc (lambda (port)
9193 (verilog-auto-inst-port port indent-pt 9950 (verilog-auto-inst-port port indent-pt
9194 tpl-list tpl-num for-star par-values)) 9951 tpl-list tpl-num for-star par-values))
@@ -9199,8 +9956,7 @@ For more information see the \\[verilog-faq] and forums at URL
9199 (vl-dir "output")) 9956 (vl-dir "output"))
9200 (when sig-list 9957 (when sig-list
9201 (when (not did-first) (verilog-auto-inst-first) (setq did-first t)) 9958 (when (not did-first) (verilog-auto-inst-first) (setq did-first t))
9202 (indent-to indent-pt) 9959 (verilog-insert-indent "// Outputs\n")
9203 (insert "// Outputs\n")
9204 (mapc (lambda (port) 9960 (mapc (lambda (port)
9205 (verilog-auto-inst-port port indent-pt 9961 (verilog-auto-inst-port port indent-pt
9206 tpl-list tpl-num for-star par-values)) 9962 tpl-list tpl-num for-star par-values))
@@ -9211,8 +9967,7 @@ For more information see the \\[verilog-faq] and forums at URL
9211 (vl-dir "inout")) 9967 (vl-dir "inout"))
9212 (when sig-list 9968 (when sig-list
9213 (when (not did-first) (verilog-auto-inst-first) (setq did-first t)) 9969 (when (not did-first) (verilog-auto-inst-first) (setq did-first t))
9214 (indent-to indent-pt) 9970 (verilog-insert-indent "// Inouts\n")
9215 (insert "// Inouts\n")
9216 (mapc (lambda (port) 9971 (mapc (lambda (port)
9217 (verilog-auto-inst-port port indent-pt 9972 (verilog-auto-inst-port port indent-pt
9218 tpl-list tpl-num for-star par-values)) 9973 tpl-list tpl-num for-star par-values))
@@ -9223,8 +9978,7 @@ For more information see the \\[verilog-faq] and forums at URL
9223 (vl-dir "input")) 9978 (vl-dir "input"))
9224 (when sig-list 9979 (when sig-list
9225 (when (not did-first) (verilog-auto-inst-first) (setq did-first t)) 9980 (when (not did-first) (verilog-auto-inst-first) (setq did-first t))
9226 (indent-to indent-pt) 9981 (verilog-insert-indent "// Inputs\n")
9227 (insert "// Inputs\n")
9228 (mapc (lambda (port) 9982 (mapc (lambda (port)
9229 (verilog-auto-inst-port port indent-pt 9983 (verilog-auto-inst-port port indent-pt
9230 tpl-list tpl-num for-star par-values)) 9984 tpl-list tpl-num for-star par-values))
@@ -9236,11 +9990,11 @@ For more information see the \\[verilog-faq] and forums at URL
9236 (delete-char 1) 9990 (delete-char 1)
9237 (insert ");") 9991 (insert ");")
9238 (search-forward "\n") ;; Added by inst-port 9992 (search-forward "\n") ;; Added by inst-port
9239 (delete-backward-char 1) 9993 (delete-char -1)
9240 (if (search-forward ")" nil t) ;; From user, moved up a line 9994 (if (search-forward ")" nil t) ;; From user, moved up a line
9241 (delete-backward-char 1)) 9995 (delete-char -1))
9242 (if (search-forward ";" nil t) ;; Don't error if user had syntax error and forgot it 9996 (if (search-forward ";" nil t) ;; Don't error if user had syntax error and forgot it
9243 (delete-backward-char 1))))))))) 9997 (delete-char -1)))))))))
9244 9998
9245(defun verilog-auto-inst-param () 9999(defun verilog-auto-inst-param ()
9246 "Expand AUTOINSTPARAM statements, as part of \\[verilog-auto]. 10000 "Expand AUTOINSTPARAM statements, as part of \\[verilog-auto].
@@ -9252,13 +10006,13 @@ output.
9252 10006
9253For example, first take the submodule InstModule.v: 10007For example, first take the submodule InstModule.v:
9254 10008
9255 module InstModule (o,i) 10009 module InstModule (o,i);
9256 parameter PAR; 10010 parameter PAR;
9257 endmodule 10011 endmodule
9258 10012
9259This is then used in a upper level module: 10013This is then used in a upper level module:
9260 10014
9261 module ExampInst (o,i) 10015 module ExampInst (o,i);
9262 parameter PAR; 10016 parameter PAR;
9263 InstModule #(/*AUTOINSTPARAM*/) 10017 InstModule #(/*AUTOINSTPARAM*/)
9264 instName (/*AUTOINST*/); 10018 instName (/*AUTOINST*/);
@@ -9266,7 +10020,7 @@ This is then used in a upper level module:
9266 10020
9267Typing \\[verilog-auto] will make this into: 10021Typing \\[verilog-auto] will make this into:
9268 10022
9269 module ExampInst (o,i) 10023 module ExampInst (o,i);
9270 output o; 10024 output o;
9271 input i; 10025 input i;
9272 InstModule #(/*AUTOINSTPARAM*/ 10026 InstModule #(/*AUTOINSTPARAM*/
@@ -9329,9 +10083,8 @@ Templates:
9329 (vl-dir "parameter")) 10083 (vl-dir "parameter"))
9330 (when sig-list 10084 (when sig-list
9331 (when (not did-first) (verilog-auto-inst-first) (setq did-first t)) 10085 (when (not did-first) (verilog-auto-inst-first) (setq did-first t))
9332 (indent-to indent-pt)
9333 ;; Note these are searched for in verilog-read-sub-decls. 10086 ;; Note these are searched for in verilog-read-sub-decls.
9334 (insert "// Parameters\n") 10087 (verilog-insert-indent "// Parameters\n")
9335 (mapc (lambda (port) 10088 (mapc (lambda (port)
9336 (verilog-auto-inst-port port indent-pt 10089 (verilog-auto-inst-port port indent-pt
9337 tpl-list tpl-num nil nil)) 10090 tpl-list tpl-num nil nil))
@@ -9343,9 +10096,9 @@ Templates:
9343 (delete-char 1) 10096 (delete-char 1)
9344 (insert ")") 10097 (insert ")")
9345 (search-forward "\n") ;; Added by inst-port 10098 (search-forward "\n") ;; Added by inst-port
9346 (delete-backward-char 1) 10099 (delete-char -1)
9347 (if (search-forward ")" nil t) ;; From user, moved up a line 10100 (if (search-forward ")" nil t) ;; From user, moved up a line
9348 (delete-backward-char 1))))))))) 10101 (delete-char -1)))))))))
9349 10102
9350(defun verilog-auto-reg () 10103(defun verilog-auto-reg ()
9351 "Expand AUTOREG statements, as part of \\[verilog-auto]. 10104 "Expand AUTOREG statements, as part of \\[verilog-auto].
@@ -9359,7 +10112,7 @@ Limitations:
9359 10112
9360An example: 10113An example:
9361 10114
9362 module ExampReg (o,i) 10115 module ExampReg (o,i);
9363 output o; 10116 output o;
9364 input i; 10117 input i;
9365 /*AUTOREG*/ 10118 /*AUTOREG*/
@@ -9368,7 +10121,7 @@ An example:
9368 10121
9369Typing \\[verilog-auto] will make this into: 10122Typing \\[verilog-auto] will make this into:
9370 10123
9371 module ExampReg (o,i) 10124 module ExampReg (o,i);
9372 output o; 10125 output o;
9373 input i; 10126 input i;
9374 /*AUTOREG*/ 10127 /*AUTOREG*/
@@ -9390,6 +10143,7 @@ Typing \\[verilog-auto] will make this into:
9390 (verilog-decls-get-assigns moddecls) 10143 (verilog-decls-get-assigns moddecls)
9391 (verilog-decls-get-consts moddecls) 10144 (verilog-decls-get-consts moddecls)
9392 (verilog-decls-get-gparams moddecls) 10145 (verilog-decls-get-gparams moddecls)
10146 (verilog-subdecls-get-interfaced modsubdecls)
9393 (verilog-subdecls-get-outputs modsubdecls) 10147 (verilog-subdecls-get-outputs modsubdecls)
9394 (verilog-subdecls-get-inouts modsubdecls))))) 10148 (verilog-subdecls-get-inouts modsubdecls)))))
9395 (forward-line 1) 10149 (forward-line 1)
@@ -9412,7 +10166,7 @@ Limitations:
9412 10166
9413An example (see `verilog-auto-inst' for what else is going on here): 10167An example (see `verilog-auto-inst' for what else is going on here):
9414 10168
9415 module ExampRegInput (o,i) 10169 module ExampRegInput (o,i);
9416 output o; 10170 output o;
9417 input i; 10171 input i;
9418 /*AUTOREGINPUT*/ 10172 /*AUTOREGINPUT*/
@@ -9422,7 +10176,7 @@ An example (see `verilog-auto-inst' for what else is going on here):
9422 10176
9423Typing \\[verilog-auto] will make this into: 10177Typing \\[verilog-auto] will make this into:
9424 10178
9425 module ExampRegInput (o,i) 10179 module ExampRegInput (o,i);
9426 output o; 10180 output o;
9427 input i; 10181 input i;
9428 /*AUTOREGINPUT*/ 10182 /*AUTOREGINPUT*/
@@ -9474,7 +10228,7 @@ Limitations:
9474 10228
9475An example (see `verilog-auto-inst' for what else is going on here): 10229An example (see `verilog-auto-inst' for what else is going on here):
9476 10230
9477 module ExampWire (o,i) 10231 module ExampWire (o,i);
9478 output o; 10232 output o;
9479 input i; 10233 input i;
9480 /*AUTOWIRE*/ 10234 /*AUTOWIRE*/
@@ -9484,7 +10238,7 @@ An example (see `verilog-auto-inst' for what else is going on here):
9484 10238
9485Typing \\[verilog-auto] will make this into: 10239Typing \\[verilog-auto] will make this into:
9486 10240
9487 module ExampWire (o,i) 10241 module ExampWire (o,i);
9488 output o; 10242 output o;
9489 input i; 10243 input i;
9490 /*AUTOWIRE*/ 10244 /*AUTOWIRE*/
@@ -9544,7 +10298,7 @@ Limitations:
9544 10298
9545An example (see `verilog-auto-inst' for what else is going on here): 10299An example (see `verilog-auto-inst' for what else is going on here):
9546 10300
9547 module ExampOutput (ov,i) 10301 module ExampOutput (ov,i);
9548 input i; 10302 input i;
9549 /*AUTOOUTPUT*/ 10303 /*AUTOOUTPUT*/
9550 InstModule instName 10304 InstModule instName
@@ -9553,7 +10307,7 @@ An example (see `verilog-auto-inst' for what else is going on here):
9553 10307
9554Typing \\[verilog-auto] will make this into: 10308Typing \\[verilog-auto] will make this into:
9555 10309
9556 module ExampOutput (ov,i) 10310 module ExampOutput (ov,i);
9557 input i; 10311 input i;
9558 /*AUTOOUTPUT*/ 10312 /*AUTOOUTPUT*/
9559 // Beginning of automatic outputs (from unused autoinst outputs) 10313 // Beginning of automatic outputs (from unused autoinst outputs)
@@ -9610,7 +10364,7 @@ won't optimize away the outputs.
9610 10364
9611An example: 10365An example:
9612 10366
9613 module ExampOutputEvery (o,i,tempa,tempb) 10367 module ExampOutputEvery (o,i,tempa,tempb);
9614 output o; 10368 output o;
9615 input i; 10369 input i;
9616 /*AUTOOUTPUTEVERY*/ 10370 /*AUTOOUTPUTEVERY*/
@@ -9621,7 +10375,7 @@ An example:
9621 10375
9622Typing \\[verilog-auto] will make this into: 10376Typing \\[verilog-auto] will make this into:
9623 10377
9624 module ExampOutputEvery (o,i,tempa,tempb) 10378 module ExampOutputEvery (o,i,tempa,tempb);
9625 output o; 10379 output o;
9626 input i; 10380 input i;
9627 /*AUTOOUTPUTEVERY*/ 10381 /*AUTOOUTPUTEVERY*/
@@ -9673,7 +10427,7 @@ Limitations:
9673 10427
9674An example (see `verilog-auto-inst' for what else is going on here): 10428An example (see `verilog-auto-inst' for what else is going on here):
9675 10429
9676 module ExampInput (ov,i) 10430 module ExampInput (ov,i);
9677 output [31:0] ov; 10431 output [31:0] ov;
9678 /*AUTOINPUT*/ 10432 /*AUTOINPUT*/
9679 InstModule instName 10433 InstModule instName
@@ -9682,7 +10436,7 @@ An example (see `verilog-auto-inst' for what else is going on here):
9682 10436
9683Typing \\[verilog-auto] will make this into: 10437Typing \\[verilog-auto] will make this into:
9684 10438
9685 module ExampInput (ov,i) 10439 module ExampInput (ov,i);
9686 output [31:0] ov; 10440 output [31:0] ov;
9687 /*AUTOINPUT*/ 10441 /*AUTOINPUT*/
9688 // Beginning of automatic inputs (from unused autoinst inputs) 10442 // Beginning of automatic inputs (from unused autoinst inputs)
@@ -9717,6 +10471,7 @@ same expansion will result from only extracting inputs starting with i:
9717 (verilog-decls-get-regs moddecls) 10471 (verilog-decls-get-regs moddecls)
9718 (verilog-decls-get-consts moddecls) 10472 (verilog-decls-get-consts moddecls)
9719 (verilog-decls-get-gparams moddecls) 10473 (verilog-decls-get-gparams moddecls)
10474 (verilog-subdecls-get-interfaced modsubdecls)
9720 (verilog-subdecls-get-outputs modsubdecls) 10475 (verilog-subdecls-get-outputs modsubdecls)
9721 (verilog-subdecls-get-inouts modsubdecls))))) 10476 (verilog-subdecls-get-inouts modsubdecls)))))
9722 (when regexp 10477 (when regexp
@@ -9753,7 +10508,7 @@ Limitations:
9753 10508
9754An example (see `verilog-auto-inst' for what else is going on here): 10509An example (see `verilog-auto-inst' for what else is going on here):
9755 10510
9756 module ExampInout (ov,i) 10511 module ExampInout (ov,i);
9757 input i; 10512 input i;
9758 /*AUTOINOUT*/ 10513 /*AUTOINOUT*/
9759 InstModule instName 10514 InstModule instName
@@ -9762,7 +10517,7 @@ An example (see `verilog-auto-inst' for what else is going on here):
9762 10517
9763Typing \\[verilog-auto] will make this into: 10518Typing \\[verilog-auto] will make this into:
9764 10519
9765 module ExampInout (ov,i) 10520 module ExampInout (ov,i);
9766 input i; 10521 input i;
9767 /*AUTOINOUT*/ 10522 /*AUTOINOUT*/
9768 // Beginning of automatic inouts (from unused autoinst inouts) 10523 // Beginning of automatic inouts (from unused autoinst inouts)
@@ -9817,6 +10572,7 @@ Take input/output/inout statements from the specified module and insert
9817into the current module. This is useful for making null templates and 10572into the current module. This is useful for making null templates and
9818shell modules which need to have identical I/O with another module. 10573shell modules which need to have identical I/O with another module.
9819Any I/O which are already defined in this module will not be redefined. 10574Any I/O which are already defined in this module will not be redefined.
10575For the complement of this function, see `verilog-auto-inout-comp'.
9820 10576
9821Limitations: 10577Limitations:
9822 If placed inside the parenthesis of a module declaration, it creates 10578 If placed inside the parenthesis of a module declaration, it creates
@@ -9832,11 +10588,11 @@ Limitations:
9832 10588
9833An example: 10589An example:
9834 10590
9835 module ExampShell (/*AUTOARG*/) 10591 module ExampShell (/*AUTOARG*/);
9836 /*AUTOINOUTMODULE(\"ExampMain\")*/ 10592 /*AUTOINOUTMODULE(\"ExampMain\")*/
9837 endmodule 10593 endmodule
9838 10594
9839 module ExampMain (i,o,io) 10595 module ExampMain (i,o,io);
9840 input i; 10596 input i;
9841 output o; 10597 output o;
9842 inout io; 10598 inout io;
@@ -9844,7 +10600,7 @@ An example:
9844 10600
9845Typing \\[verilog-auto] will make this into: 10601Typing \\[verilog-auto] will make this into:
9846 10602
9847 module ExampShell (/*AUTOARG*/i,o,io) 10603 module ExampShell (/*AUTOARG*/i,o,io);
9848 /*AUTOINOUTMODULE(\"ExampMain\")*/ 10604 /*AUTOINOUTMODULE(\"ExampMain\")*/
9849 // Beginning of automatic in/out/inouts (from specific module) 10605 // Beginning of automatic in/out/inouts (from specific module)
9850 output o; 10606 output o;
@@ -9935,7 +10691,8 @@ insert the inverse into the current module (inputs become outputs
9935and vice-versa.) This is useful for making test and stimulus 10691and vice-versa.) This is useful for making test and stimulus
9936modules which need to have complementing I/O with another module. 10692modules which need to have complementing I/O with another module.
9937Any I/O which are already defined in this module will not be 10693Any I/O which are already defined in this module will not be
9938redefined. 10694redefined. For the complement of this function, see
10695`verilog-auto-inout-module'.
9939 10696
9940Limitations: 10697Limitations:
9941 If placed inside the parenthesis of a module declaration, it creates 10698 If placed inside the parenthesis of a module declaration, it creates
@@ -9951,11 +10708,11 @@ Limitations:
9951 10708
9952An example: 10709An example:
9953 10710
9954 module ExampShell (/*AUTOARG*/) 10711 module ExampShell (/*AUTOARG*/);
9955 /*AUTOINOUTCOMP(\"ExampMain\")*/ 10712 /*AUTOINOUTCOMP(\"ExampMain\")*/
9956 endmodule 10713 endmodule
9957 10714
9958 module ExampMain (i,o,io) 10715 module ExampMain (i,o,io);
9959 input i; 10716 input i;
9960 output o; 10717 output o;
9961 inout io; 10718 inout io;
@@ -9963,7 +10720,7 @@ An example:
9963 10720
9964Typing \\[verilog-auto] will make this into: 10721Typing \\[verilog-auto] will make this into:
9965 10722
9966 module ExampShell (/*AUTOARG*/i,o,io) 10723 module ExampShell (/*AUTOARG*/i,o,io);
9967 /*AUTOINOUTCOMP(\"ExampMain\")*/ 10724 /*AUTOINOUTCOMP(\"ExampMain\")*/
9968 // Beginning of automatic in/out/inouts (from specific module) 10725 // Beginning of automatic in/out/inouts (from specific module)
9969 output i; 10726 output i;
@@ -10037,6 +10794,7 @@ text:
10037 (forward-line -1) 10794 (forward-line -1)
10038 (eval (read cmd)) 10795 (eval (read cmd))
10039 (forward-line -1) 10796 (forward-line -1)
10797 (setq verilog-scan-cache-tick nil) ;; Clear cache; inserted unknown text
10040 (verilog-delete-empty-auto-pair)))) 10798 (verilog-delete-empty-auto-pair))))
10041 10799
10042(defun verilog-auto-sense-sigs (moddecls presense-sigs) 10800(defun verilog-auto-sense-sigs (moddecls presense-sigs)
@@ -10046,6 +10804,7 @@ text:
10046 (verilog-signals-not-in (verilog-alw-get-inputs sigss) 10804 (verilog-signals-not-in (verilog-alw-get-inputs sigss)
10047 (append (and (not verilog-auto-sense-include-inputs) 10805 (append (and (not verilog-auto-sense-include-inputs)
10048 (verilog-alw-get-outputs sigss)) 10806 (verilog-alw-get-outputs sigss))
10807 (verilog-alw-get-temps sigss)
10049 (verilog-decls-get-consts moddecls) 10808 (verilog-decls-get-consts moddecls)
10050 (verilog-decls-get-gparams moddecls) 10809 (verilog-decls-get-gparams moddecls)
10051 presense-sigs))))) 10810 presense-sigs)))))
@@ -10128,7 +10887,7 @@ operator. (This was added to the language in part due to AUTOSENSE!)
10128 (when sig-memories 10887 (when sig-memories
10129 (let ((tlen (length sig-list))) 10888 (let ((tlen (length sig-list)))
10130 (setq sig-list (verilog-signals-not-in sig-list sig-memories)) 10889 (setq sig-list (verilog-signals-not-in sig-list sig-memories))
10131 (if (not (eq tlen (length sig-list))) (insert " /*memory or*/ ")))) 10890 (if (not (eq tlen (length sig-list))) (verilog-insert " /*memory or*/ "))))
10132 (if (and presense-sigs ;; Add a "or" if not "(.... or /*AUTOSENSE*/" 10891 (if (and presense-sigs ;; Add a "or" if not "(.... or /*AUTOSENSE*/"
10133 (save-excursion (goto-char (point)) 10892 (save-excursion (goto-char (point))
10134 (verilog-re-search-backward "[a-zA-Z0-9$_.%`]+" start-pt t) 10893 (verilog-re-search-backward "[a-zA-Z0-9$_.%`]+" start-pt t)
@@ -10228,12 +10987,13 @@ Typing \\[verilog-auto] will make this into:
10228 (concat " <= " verilog-assignment-delay) 10987 (concat " <= " verilog-assignment-delay)
10229 " = ")) 10988 " = "))
10230 (setq sig-list (verilog-signals-not-in (verilog-alw-get-outputs sigss) 10989 (setq sig-list (verilog-signals-not-in (verilog-alw-get-outputs sigss)
10231 prereset-sigs)) 10990 (append
10991 (verilog-alw-get-temps sigss)
10992 prereset-sigs)))
10232 (setq sig-list (sort sig-list `verilog-signals-sort-compare)) 10993 (setq sig-list (sort sig-list `verilog-signals-sort-compare))
10233 (when sig-list 10994 (when sig-list
10234 (insert "\n"); 10995 (insert "\n");
10235 (indent-to indent-pt) 10996 (verilog-insert-indent "// Beginning of autoreset for uninitialized flops\n");
10236 (insert "// Beginning of autoreset for uninitialized flops\n");
10237 (indent-to indent-pt) 10997 (indent-to indent-pt)
10238 (while sig-list 10998 (while sig-list
10239 (let ((sig (or (assoc (verilog-sig-name (car sig-list)) all-list) ;; As sig-list has no widths 10999 (let ((sig (or (assoc (verilog-sig-name (car sig-list)) all-list) ;; As sig-list has no widths
@@ -10244,7 +11004,7 @@ Typing \\[verilog-auto] will make this into:
10244 ";\n") 11004 ";\n")
10245 (indent-to indent-pt) 11005 (indent-to indent-pt)
10246 (setq sig-list (cdr sig-list)))) 11006 (setq sig-list (cdr sig-list))))
10247 (insert "// End of automatics"))))) 11007 (verilog-insert "// End of automatics")))))
10248 11008
10249(defun verilog-auto-tieoff () 11009(defun verilog-auto-tieoff ()
10250 "Expand AUTOTIEOFF statements, as part of \\[verilog-auto]. 11010 "Expand AUTOTIEOFF statements, as part of \\[verilog-auto].
@@ -10260,6 +11020,9 @@ AUTORESET ties signals to deasserted, which is presumed to be zero.
10260Signals that match `verilog-active-low-regexp' will be deasserted by tieing 11020Signals that match `verilog-active-low-regexp' will be deasserted by tieing
10261them to a one. 11021them to a one.
10262 11022
11023You can add signals you do not want included in AUTOTIEOFF with
11024`verilog-auto-tieoff-ignore-regexp'.
11025
10263An example of making a stub for another module: 11026An example of making a stub for another module:
10264 11027
10265 module ExampStub (/*AUTOINST*/); 11028 module ExampStub (/*AUTOINST*/);
@@ -10300,8 +11063,11 @@ Typing \\[verilog-auto] will make this into:
10300 (verilog-decls-get-assigns moddecls) 11063 (verilog-decls-get-assigns moddecls)
10301 (verilog-decls-get-consts moddecls) 11064 (verilog-decls-get-consts moddecls)
10302 (verilog-decls-get-gparams moddecls) 11065 (verilog-decls-get-gparams moddecls)
11066 (verilog-subdecls-get-interfaced modsubdecls)
10303 (verilog-subdecls-get-outputs modsubdecls) 11067 (verilog-subdecls-get-outputs modsubdecls)
10304 (verilog-subdecls-get-inouts modsubdecls))))) 11068 (verilog-subdecls-get-inouts modsubdecls)))))
11069 (setq sig-list (verilog-signals-not-matching-regexp
11070 sig-list verilog-auto-tieoff-ignore-regexp))
10305 (when sig-list 11071 (when sig-list
10306 (forward-line 1) 11072 (forward-line 1)
10307 (verilog-insert-indent "// Beginning of automatic tieoffs (for this module's unterminated outputs)\n") 11073 (verilog-insert-indent "// Beginning of automatic tieoffs (for this module's unterminated outputs)\n")
@@ -10553,13 +11319,16 @@ Typing \\[verilog-auto] will make this into:
10553 "Replace Templated relative line numbers with absolute line numbers. 11319 "Replace Templated relative line numbers with absolute line numbers.
10554Internal use only. This hacks around the line numbers in AUTOINST Templates 11320Internal use only. This hacks around the line numbers in AUTOINST Templates
10555being different from the final output's line numbering." 11321being different from the final output's line numbering."
10556 (let ((templateno 0) (template-line (list 0))) 11322 (let ((templateno 0) (template-line (list 0)) (buf-line 1))
10557 ;; Find line number each template is on 11323 ;; Find line number each template is on
11324 ;; Count lines as we go, as otherwise it's O(n^2) to use count-lines
10558 (goto-char (point-min)) 11325 (goto-char (point-min))
10559 (while (search-forward "AUTO_TEMPLATE" nil t) 11326 (while (not (eobp))
10560 (setq templateno (1+ templateno)) 11327 (when (looking-at ".*AUTO_TEMPLATE")
10561 (setq template-line 11328 (setq templateno (1+ templateno))
10562 (cons (count-lines (point-min) (point)) template-line))) 11329 (setq template-line (cons buf-line template-line)))
11330 (setq buf-line (1+ buf-line))
11331 (forward-line 1))
10563 (setq template-line (nreverse template-line)) 11332 (setq template-line (nreverse template-line))
10564 ;; Replace T# L# with absolute line number 11333 ;; Replace T# L# with absolute line number
10565 (goto-char (point-min)) 11334 (goto-char (point-min))
@@ -10592,7 +11361,7 @@ The hooks `verilog-before-auto-hook' and `verilog-auto-hook' are
10592called before and after this function, respectively. 11361called before and after this function, respectively.
10593 11362
10594For example: 11363For example:
10595 module ModuleName (/*AUTOARG*/) 11364 module ModuleName (/*AUTOARG*/);
10596 /*AUTOINPUT*/ 11365 /*AUTOINPUT*/
10597 /*AUTOOUTPUT*/ 11366 /*AUTOOUTPUT*/
10598 /*AUTOWIRE*/ 11367 /*AUTOWIRE*/
@@ -10648,89 +11417,102 @@ Wilson Snyder (wsnyder@wsnyder.org)."
10648 (font-lock-mode 0) 11417 (font-lock-mode 0)
10649 t)) 11418 t))
10650 ;; Cache directories; we don't write new files, so can't change 11419 ;; Cache directories; we don't write new files, so can't change
10651 (verilog-dir-cache-preserving t)) 11420 (verilog-dir-cache-preserving t)
10652 (unwind-protect 11421 ;; Cache current module
10653 (save-excursion 11422 (verilog-modi-cache-current-enable t)
10654 ;; If we're not in verilog-mode, change syntax table so parsing works right 11423 (verilog-modi-cache-current-max (point-min)) ; IE it's invalid
10655 (unless (eq major-mode `verilog-mode) (verilog-mode)) 11424 verilog-modi-cache-current)
10656 ;; Allow user to customize 11425 (unwind-protect
10657 (run-hooks 'verilog-before-auto-hook) 11426 ;; Disable change hooks for speed
10658 ;; Try to save the user from needing to revert-file to reread file local-variables 11427 ;; This let can't be part of above let; must restore
10659 (verilog-auto-reeval-locals) 11428 ;; after-change-functions before font-lock resumes
10660 (verilog-read-auto-lisp (point-min) (point-max)) 11429 (verilog-save-no-change-functions
10661 (verilog-getopt-flags) 11430 (verilog-save-scan-cache
10662 ;; From here on out, we can cache anything we read from disk 11431 (save-excursion
10663 (verilog-preserve-dir-cache 11432 ;; If we're not in verilog-mode, change syntax table so parsing works right
10664 ;; These two may seem obvious to do always, but on large includes it can be way too slow 11433 (unless (eq major-mode `verilog-mode) (verilog-mode))
10665 (when verilog-auto-read-includes 11434 ;; Allow user to customize
10666 (verilog-read-includes) 11435 (run-hooks 'verilog-before-auto-hook)
10667 (verilog-read-defines nil nil t)) 11436 ;; Try to save the user from needing to revert-file to reread file local-variables
10668 ;; This particular ordering is important 11437 (verilog-auto-reeval-locals)
10669 ;; INST: Lower modules correct, no internal dependencies, FIRST 11438 (verilog-read-auto-lisp-present)
10670 (verilog-preserve-modi-cache 11439 (verilog-read-auto-lisp (point-min) (point-max))
10671 ;; Clear existing autos else we'll be screwed by existing ones 11440 (verilog-getopt-flags)
10672 (verilog-delete-auto) 11441 ;; From here on out, we can cache anything we read from disk
10673 ;; Injection if appropriate 11442 (verilog-preserve-dir-cache
10674 (when inject 11443 ;; These two may seem obvious to do always, but on large includes it can be way too slow
10675 (verilog-inject-inst) 11444 (when verilog-auto-read-includes
10676 (verilog-inject-sense) 11445 (verilog-read-includes)
10677 (verilog-inject-arg)) 11446 (verilog-read-defines nil nil t))
10678 ;; 11447 ;; This particular ordering is important
10679 ;; Do user inserts first, so their code can insert AUTOs 11448 ;; INST: Lower modules correct, no internal dependencies, FIRST
10680 ;; We may provide a AUTOINSERTLISPLAST if another cleanup pass is needed 11449 (verilog-preserve-modi-cache
10681 (verilog-auto-re-search-do "/\\*AUTOINSERTLISP(.*?)\\*/" 11450 ;; Clear existing autos else we'll be screwed by existing ones
10682 'verilog-auto-insert-lisp) 11451 (verilog-delete-auto)
10683 ;; Expand instances before need the signals the instances input/output 11452 ;; Injection if appropriate
10684 (verilog-auto-re-search-do "/\\*AUTOINSTPARAM\\*/" 'verilog-auto-inst-param) 11453 (when inject
10685 (verilog-auto-re-search-do "/\\*AUTOINST\\*/" 'verilog-auto-inst) 11454 (verilog-inject-inst)
10686 (verilog-auto-re-search-do "\\.\\*" 'verilog-auto-star) 11455 (verilog-inject-sense)
10687 ;; Doesn't matter when done, but combine it with a common changer 11456 (verilog-inject-arg))
10688 (verilog-auto-re-search-do "/\\*\\(AUTOSENSE\\|AS\\)\\*/" 'verilog-auto-sense) 11457 ;;
10689 (verilog-auto-re-search-do "/\\*AUTORESET\\*/" 'verilog-auto-reset) 11458 ;; Do user inserts first, so their code can insert AUTOs
10690 ;; Must be done before autoin/out as creates a reg 11459 ;; We may provide a AUTOINSERTLISPLAST if another cleanup pass is needed
10691 (verilog-auto-re-search-do "/\\*AUTOASCIIENUM([^)]*)\\*/" 'verilog-auto-ascii-enum) 11460 (verilog-auto-re-search-do "/\\*AUTOINSERTLISP(.*?)\\*/"
10692 ;; 11461 'verilog-auto-insert-lisp)
10693 ;; first in/outs from other files 11462 ;; Expand instances before need the signals the instances input/output
10694 (verilog-auto-re-search-do "/\\*AUTOINOUTMODULE([^)]*)\\*/" 'verilog-auto-inout-module) 11463 (verilog-auto-re-search-do "/\\*AUTOINSTPARAM\\*/" 'verilog-auto-inst-param)
10695 (verilog-auto-re-search-do "/\\*AUTOINOUTCOMP([^)]*)\\*/" 'verilog-auto-inout-comp) 11464 (verilog-auto-re-search-do "/\\*AUTOINST\\*/" 'verilog-auto-inst)
10696 ;; next in/outs which need previous sucked inputs first 11465 (verilog-auto-re-search-do "\\.\\*" 'verilog-auto-star)
10697 (verilog-auto-re-search-do "/\\*AUTOOUTPUT\\((\"[^\"]*\")\\)\\*/" 11466 ;; Doesn't matter when done, but combine it with a common changer
10698 '(lambda () (verilog-auto-output t))) 11467 (verilog-auto-re-search-do "/\\*\\(AUTOSENSE\\|AS\\)\\*/" 'verilog-auto-sense)
10699 (verilog-auto-re-search-do "/\\*AUTOOUTPUT\\*/" 'verilog-auto-output) 11468 (verilog-auto-re-search-do "/\\*AUTORESET\\*/" 'verilog-auto-reset)
10700 (verilog-auto-re-search-do "/\\*AUTOINPUT\\((\"[^\"]*\")\\)\\*/" 11469 ;; Must be done before autoin/out as creates a reg
10701 '(lambda () (verilog-auto-input t))) 11470 (verilog-auto-re-search-do "/\\*AUTOASCIIENUM([^)]*)\\*/" 'verilog-auto-ascii-enum)
10702 (verilog-auto-re-search-do "/\\*AUTOINPUT\\*/" 'verilog-auto-input) 11471 ;;
10703 (verilog-auto-re-search-do "/\\*AUTOINOUT\\((\"[^\"]*\")\\)\\*/" 11472 ;; first in/outs from other files
10704 '(lambda () (verilog-auto-inout t))) 11473 (verilog-auto-re-search-do "/\\*AUTOINOUTMODULE([^)]*)\\*/" 'verilog-auto-inout-module)
10705 (verilog-auto-re-search-do "/\\*AUTOINOUT\\*/" 'verilog-auto-inout) 11474 (verilog-auto-re-search-do "/\\*AUTOINOUTCOMP([^)]*)\\*/" 'verilog-auto-inout-comp)
10706 ;; Then tie off those in/outs 11475 ;; next in/outs which need previous sucked inputs first
10707 (verilog-auto-re-search-do "/\\*AUTOTIEOFF\\*/" 'verilog-auto-tieoff) 11476 (verilog-auto-re-search-do "/\\*AUTOOUTPUT\\((\"[^\"]*\")\\)\\*/"
10708 ;; Wires/regs must be after inputs/outputs 11477 '(lambda () (verilog-auto-output t)))
10709 (verilog-auto-re-search-do "/\\*AUTOWIRE\\*/" 'verilog-auto-wire) 11478 (verilog-auto-re-search-do "/\\*AUTOOUTPUT\\*/" 'verilog-auto-output)
10710 (verilog-auto-re-search-do "/\\*AUTOREG\\*/" 'verilog-auto-reg) 11479 (verilog-auto-re-search-do "/\\*AUTOINPUT\\((\"[^\"]*\")\\)\\*/"
10711 (verilog-auto-re-search-do "/\\*AUTOREGINPUT\\*/" 'verilog-auto-reg-input) 11480 '(lambda () (verilog-auto-input t)))
10712 ;; outputevery needs AUTOOUTPUTs done first 11481 (verilog-auto-re-search-do "/\\*AUTOINPUT\\*/" 'verilog-auto-input)
10713 (verilog-auto-re-search-do "/\\*AUTOOUTPUTEVERY\\*/" 'verilog-auto-output-every) 11482 (verilog-auto-re-search-do "/\\*AUTOINOUT\\((\"[^\"]*\")\\)\\*/"
10714 ;; After we've created all new variables 11483 '(lambda () (verilog-auto-inout t)))
10715 (verilog-auto-re-search-do "/\\*AUTOUNUSED\\*/" 'verilog-auto-unused) 11484 (verilog-auto-re-search-do "/\\*AUTOINOUT\\*/" 'verilog-auto-inout)
10716 ;; Must be after all inputs outputs are generated 11485 ;; Then tie off those in/outs
10717 (verilog-auto-re-search-do "/\\*AUTOARG\\*/" 'verilog-auto-arg) 11486 (verilog-auto-re-search-do "/\\*AUTOTIEOFF\\*/" 'verilog-auto-tieoff)
10718 ;; Fix line numbers (comments only) 11487 ;; Wires/regs must be after inputs/outputs
10719 (verilog-auto-templated-rel))) 11488 (verilog-auto-re-search-do "/\\*AUTOWIRE\\*/" 'verilog-auto-wire)
10720 ;; 11489 (verilog-auto-re-search-do "/\\*AUTOREG\\*/" 'verilog-auto-reg)
10721 (run-hooks 'verilog-auto-hook) 11490 (verilog-auto-re-search-do "/\\*AUTOREGINPUT\\*/" 'verilog-auto-reg-input)
10722 ;; 11491 ;; outputevery needs AUTOOUTPUTs done first
10723 (set (make-local-variable 'verilog-auto-update-tick) (buffer-modified-tick)) 11492 (verilog-auto-re-search-do "/\\*AUTOOUTPUTEVERY\\*/" 'verilog-auto-output-every)
10724 ;; 11493 ;; After we've created all new variables
10725 ;; If end result is same as when started, clear modified flag 11494 (verilog-auto-re-search-do "/\\*AUTOUNUSED\\*/" 'verilog-auto-unused)
10726 (cond ((and oldbuf (equal oldbuf (buffer-string))) 11495 ;; Must be after all inputs outputs are generated
10727 (set-buffer-modified-p nil) 11496 (verilog-auto-re-search-do "/\\*AUTOARG\\*/" 'verilog-auto-arg)
10728 (unless noninteractive (message "Updating AUTOs...done (no changes)"))) 11497 ;; Fix line numbers (comments only)
10729 (t (unless noninteractive (message "Updating AUTOs...done"))))) 11498 (when verilog-auto-inst-template-numbers
10730 ;; Unwind forms 11499 (verilog-auto-templated-rel))))
10731 (progn 11500 ;;
10732 ;; Restore font-lock 11501 (run-hooks 'verilog-auto-hook)
10733 (when fontlocked (font-lock-mode t)))))) 11502 ;;
11503 (set (make-local-variable 'verilog-auto-update-tick) (buffer-chars-modified-tick))
11504 ;;
11505 ;; If end result is same as when started, clear modified flag
11506 (cond ((and oldbuf (equal oldbuf (buffer-string)))
11507 (set-buffer-modified-p nil)
11508 (unless noninteractive (message "Updating AUTOs...done (no changes)")))
11509 (t (unless noninteractive (message "Updating AUTOs...done"))))
11510 ;; End of after-change protection
11511 )))
11512 ;; Unwind forms
11513 (progn
11514 ;; Restore font-lock
11515 (when fontlocked (font-lock-mode t))))))
10734 11516
10735 11517
10736;; 11518;;
@@ -11122,91 +11904,119 @@ and the case items."
11122 "Map containing mouse bindings for `verilog-mode'.") 11904 "Map containing mouse bindings for `verilog-mode'.")
11123 11905
11124 11906
11125(defun verilog-colorize-include-files (beg end old-len) 11907(defun verilog-highlight-region (beg end old-len)
11126 "This function colorizes included files when the mouse passes over them. 11908 "Colorize included files and modules in the (changed?) region.
11127Clicking on the middle-mouse button loads them in a buffer (as in dired)." 11909Clicking on the middle-mouse button loads them in a buffer (as in dired)."
11128 (save-excursion 11910 (when (or verilog-highlight-includes
11129 (save-match-data 11911 verilog-highlight-modules)
11130 (let (end-point) 11912 (save-excursion
11131 (goto-char end) 11913 (save-match-data ;; A query-replace may call this function - do not disturb
11132 (setq end-point (verilog-get-end-of-line)) 11914 (verilog-save-buffer-state
11133 (goto-char beg) 11915 (verilog-save-scan-cache
11134 (beginning-of-line) ; scan entire line ! 11916 (let (end-point)
11135 ;; delete overlays existing on this line 11917 (goto-char end)
11136 (let ((overlays (overlays-in (point) end-point))) 11918 (setq end-point (verilog-get-end-of-line))
11137 (while overlays 11919 (goto-char beg)
11138 (if (and 11920 (beginning-of-line) ; scan entire line
11139 (overlay-get (car overlays) 'detachable) 11921 ;; delete overlays existing on this line
11140 (overlay-get (car overlays) 'verilog-include-file)) 11922 (let ((overlays (overlays-in (point) end-point)))
11141 (delete-overlay (car overlays))) 11923 (while overlays
11142 (setq overlays (cdr overlays)))) ; let 11924 (if (and
11143 ;; make new ones, could reuse deleted one ? 11925 (overlay-get (car overlays) 'detachable)
11144 (while (search-forward-regexp verilog-include-file-regexp end-point t) 11926 (or (overlay-get (car overlays) 'verilog-include-file)
11145 (let (ov) 11927 (overlay-get (car overlays) 'verilog-inst-module)))
11146 (goto-char (match-beginning 1)) 11928 (delete-overlay (car overlays)))
11147 (setq ov (make-overlay (match-beginning 1) (match-end 1))) 11929 (setq overlays (cdr overlays))))
11148 (overlay-put ov 'start-closed 't) 11930 ;;
11149 (overlay-put ov 'end-closed 't) 11931 ;; make new include overlays
11150 (overlay-put ov 'evaporate 't) 11932 (when verilog-highlight-includes
11151 (overlay-put ov 'verilog-include-file 't) 11933 (while (search-forward-regexp verilog-include-file-regexp end-point t)
11152 (overlay-put ov 'mouse-face 'highlight) 11934 (goto-char (match-beginning 1))
11153 (overlay-put ov 'local-map verilog-mode-mouse-map))))))) 11935 (let ((ov (make-overlay (match-beginning 1) (match-end 1))))
11154 11936 (overlay-put ov 'start-closed 't)
11155 11937 (overlay-put ov 'end-closed 't)
11156(defun verilog-colorize-include-files-buffer () 11938 (overlay-put ov 'evaporate 't)
11157 "Colorize an include file." 11939 (overlay-put ov 'verilog-include-file 't)
11940 (overlay-put ov 'mouse-face 'highlight)
11941 (overlay-put ov 'local-map verilog-mode-mouse-map))))
11942 ;;
11943 ;; make new module overlays
11944 (goto-char beg)
11945 ;; This scanner is syntax-fragile, so don't get bent
11946 (when verilog-highlight-modules
11947 (condition-case nil
11948 (while (verilog-re-search-forward "\\(/\\*AUTOINST\\*/\\|\\.\\*\\)" end-point t)
11949 (save-excursion
11950 (goto-char (match-beginning 0))
11951 (unless (verilog-inside-comment-p)
11952 (verilog-read-inst-module-matcher) ;; sets match 0
11953 (let* ((ov (make-overlay (match-beginning 0) (match-end 0))))
11954 (overlay-put ov 'start-closed 't)
11955 (overlay-put ov 'end-closed 't)
11956 (overlay-put ov 'evaporate 't)
11957 (overlay-put ov 'verilog-inst-module 't)
11958 (overlay-put ov 'mouse-face 'highlight)
11959 (overlay-put ov 'local-map verilog-mode-mouse-map)))))
11960 (error nil)))
11961 ;;
11962 ;; Future highlights:
11963 ;; variables - make an Occur buffer of where referenced
11964 ;; pins - make an Occur buffer of the sig in the declaration module
11965 )))))))
11966
11967(defun verilog-highlight-buffer ()
11968 "Colorize included files and modules across the whole buffer."
11969 ;; Invoked via verilog-mode calling font-lock then `font-lock-mode-hook'
11158 (interactive) 11970 (interactive)
11159 ;; delete overlays 11971 ;; delete and remake overlays
11160 (let ((overlays (overlays-in (point-min) (point-max)))) 11972 (verilog-highlight-region (point-min) (point-max) nil))
11161 (while overlays 11973
11162 (if (and 11974;; Deprecated, but was interactive, so we'll keep it around
11163 (overlay-get (car overlays) 'detachable) 11975(defalias 'verilog-colorize-include-files-buffer 'verilog-highlight-buffer)
11164 (overlay-get (car overlays) 'verilog-include-file))
11165 (delete-overlay (car overlays)))
11166 (setq overlays (cdr overlays)))) ; let
11167 ;; remake overlays
11168 (verilog-colorize-include-files (point-min) (point-max) nil))
11169 11976
11170;; ffap-at-mouse isn't useful for Verilog mode. It uses library paths. 11977;; ffap-at-mouse isn't useful for Verilog mode. It uses library paths.
11171;; so define this function to do more or less the same as ffap-at-mouse 11978;; so define this function to do more or less the same as ffap-at-mouse
11172;; but first resolve filename... 11979;; but first resolve filename...
11173(defun verilog-load-file-at-mouse (event) 11980(defun verilog-load-file-at-mouse (event)
11174 "Load file under button 2 click's EVENT. 11981 "Load file under button 2 click's EVENT.
11175Files are checked based on `verilog-library-directories'." 11982Files are checked based on `verilog-library-flags'."
11176 (interactive "@e") 11983 (interactive "@e")
11177 (save-excursion ;; implement a Verilog specific ffap-at-mouse 11984 (save-excursion ;; implement a Verilog specific ffap-at-mouse
11178 (mouse-set-point event) 11985 (mouse-set-point event)
11179 (beginning-of-line) 11986 (verilog-load-file-at-point t)))
11180 (if (looking-at verilog-include-file-regexp)
11181 (if (and (car (verilog-library-filenames
11182 (match-string 1) (buffer-file-name)))
11183 (file-readable-p (car (verilog-library-filenames
11184 (match-string 1) (buffer-file-name)))))
11185 (find-file (car (verilog-library-filenames
11186 (match-string 1) (buffer-file-name))))
11187 (progn
11188 (message
11189 "File '%s' isn't readable, use shift-mouse2 to paste in this field"
11190 (match-string 1)))))))
11191 11987
11192;; ffap isn't useable for Verilog mode. It uses library paths. 11988;; ffap isn't useable for Verilog mode. It uses library paths.
11193;; so define this function to do more or less the same as ffap 11989;; so define this function to do more or less the same as ffap
11194;; but first resolve filename... 11990;; but first resolve filename...
11195(defun verilog-load-file-at-point () 11991(defun verilog-load-file-at-point (&optional warn)
11196 "Load file under point. 11992 "Load file under point.
11197Files are checked based on `verilog-library-directories'." 11993If WARN, throw warning if not found.
11994Files are checked based on `verilog-library-flags'."
11198 (interactive) 11995 (interactive)
11199 (save-excursion ;; implement a Verilog specific ffap 11996 (save-excursion ;; implement a Verilog specific ffap
11200 (beginning-of-line) 11997 (let ((overlays (overlays-in (point) (point)))
11201 (if (looking-at verilog-include-file-regexp) 11998 hit)
11202 (if (and 11999 (while (and overlays (not hit))
11203 (car (verilog-library-filenames 12000 (when (overlay-get (car overlays) 'verilog-inst-module)
11204 (match-string 1) (buffer-file-name))) 12001 (verilog-goto-defun-file (buffer-substring
11205 (file-readable-p (car (verilog-library-filenames 12002 (overlay-start (car overlays))
11206 (match-string 1) (buffer-file-name))))) 12003 (overlay-end (car overlays))))
12004 (setq hit t))
12005 (setq overlays (cdr overlays)))
12006 ;; Include?
12007 (beginning-of-line)
12008 (when (and (not hit)
12009 (looking-at verilog-include-file-regexp))
12010 (if (and (car (verilog-library-filenames
12011 (match-string 1) (buffer-file-name)))
12012 (file-readable-p (car (verilog-library-filenames
12013 (match-string 1) (buffer-file-name)))))
11207 (find-file (car (verilog-library-filenames 12014 (find-file (car (verilog-library-filenames
11208 (match-string 1) (buffer-file-name)))))))) 12015 (match-string 1) (buffer-file-name))))
11209 12016 (when warn
12017 (message
12018 "File '%s' isn't readable, use shift-mouse2 to paste in this field"
12019 (match-string 1))))))))
11210 12020
11211;; 12021;;
11212;; Bug reporting 12022;; Bug reporting
@@ -11236,22 +12046,43 @@ Files are checked based on `verilog-library-directories'."
11236 "mac@verilog.com, wsnyder@wsnyder.org" 12046 "mac@verilog.com, wsnyder@wsnyder.org"
11237 (concat "verilog-mode v" verilog-mode-version) 12047 (concat "verilog-mode v" verilog-mode-version)
11238 '( 12048 '(
12049 verilog-active-low-regexp
11239 verilog-align-ifelse 12050 verilog-align-ifelse
12051 verilog-assignment-delay
12052 verilog-auto-arg-sort
11240 verilog-auto-endcomments 12053 verilog-auto-endcomments
11241 verilog-auto-hook 12054 verilog-auto-hook
12055 verilog-auto-ignore-concat
11242 verilog-auto-indent-on-newline 12056 verilog-auto-indent-on-newline
11243 verilog-auto-inst-vector 12057 verilog-auto-inout-ignore-regexp
12058 verilog-auto-input-ignore-regexp
12059 verilog-auto-inst-column
12060 verilog-auto-inst-dot-name
12061 verilog-auto-inst-param-value
11244 verilog-auto-inst-template-numbers 12062 verilog-auto-inst-template-numbers
12063 verilog-auto-inst-vector
11245 verilog-auto-lineup 12064 verilog-auto-lineup
11246 verilog-auto-newline 12065 verilog-auto-newline
12066 verilog-auto-output-ignore-regexp
12067 verilog-auto-read-includes
12068 verilog-auto-reset-widths
11247 verilog-auto-save-policy 12069 verilog-auto-save-policy
11248 verilog-auto-sense-defines-constant 12070 verilog-auto-sense-defines-constant
11249 verilog-auto-sense-include-inputs 12071 verilog-auto-sense-include-inputs
12072 verilog-auto-star-expand
12073 verilog-auto-star-save
12074 verilog-auto-unused-ignore-regexp
11250 verilog-before-auto-hook 12075 verilog-before-auto-hook
12076 verilog-before-delete-auto-hook
12077 verilog-before-getopt-flags-hook
11251 verilog-case-indent 12078 verilog-case-indent
11252 verilog-cexp-indent 12079 verilog-cexp-indent
11253 verilog-compiler 12080 verilog-compiler
11254 verilog-coverage 12081 verilog-coverage
12082 verilog-delete-auto-hook
12083 verilog-getopt-flags-hook
12084 verilog-highlight-grouping-keywords
12085 verilog-highlight-p1800-keywords
11255 verilog-highlight-translate-off 12086 verilog-highlight-translate-off
11256 verilog-indent-begin-after-if 12087 verilog-indent-begin-after-if
11257 verilog-indent-declaration-macros 12088 verilog-indent-declaration-macros
@@ -11261,16 +12092,18 @@ Files are checked based on `verilog-library-directories'."
11261 verilog-indent-level-directive 12092 verilog-indent-level-directive
11262 verilog-indent-level-module 12093 verilog-indent-level-module
11263 verilog-indent-lists 12094 verilog-indent-lists
11264 verilog-library-flags
11265 verilog-library-directories 12095 verilog-library-directories
11266 verilog-library-extensions 12096 verilog-library-extensions
11267 verilog-library-files 12097 verilog-library-files
12098 verilog-library-flags
11268 verilog-linter 12099 verilog-linter
11269 verilog-minimum-comment-distance 12100 verilog-minimum-comment-distance
11270 verilog-mode-hook 12101 verilog-mode-hook
12102 verilog-preprocessor
11271 verilog-simulator 12103 verilog-simulator
11272 verilog-tab-always-indent 12104 verilog-tab-always-indent
11273 verilog-tab-to-comment 12105 verilog-tab-to-comment
12106 verilog-typedef-regexp
11274 ) 12107 )
11275 nil nil 12108 nil nil
11276 (concat "Hi Mac, 12109 (concat "Hi Mac,
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index 469786e04dd..049d708d191 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -154,7 +154,7 @@ mouse-3: go to end")
154 :type 'sexp) 154 :type 'sexp)
155;;;###autoload (put 'which-func-format 'risky-local-variable t) 155;;;###autoload (put 'which-func-format 'risky-local-variable t)
156 156
157(defvar which-func-imenu-joiner-function #'last 157(defvar which-func-imenu-joiner-function (lambda (x) (car (last x)))
158 "Function to join together multiple levels of imenu nomenclature. 158 "Function to join together multiple levels of imenu nomenclature.
159Called with a single argument, a list of strings giving the names 159Called with a single argument, a list of strings giving the names
160of the menus we had to traverse to get to the item. Returns a 160of the menus we had to traverse to get to the item. Returns a
@@ -242,6 +242,9 @@ continuously displayed in the mode line, in certain major modes.
242With prefix ARG, turn Which Function mode on if arg is positive, 242With prefix ARG, turn Which Function mode on if arg is positive,
243and off otherwise." 243and off otherwise."
244 :global t :group 'which-func 244 :global t :group 'which-func
245 (when (timerp which-func-update-timer)
246 (cancel-timer which-func-update-timer))
247 (setq which-func-update-timer nil)
245 (if which-function-mode 248 (if which-function-mode
246 ;;Turn it on 249 ;;Turn it on
247 (progn 250 (progn
@@ -253,9 +256,6 @@ and off otherwise."
253 (or (eq which-func-modes t) 256 (or (eq which-func-modes t)
254 (member major-mode which-func-modes)))))) 257 (member major-mode which-func-modes))))))
255 ;; Turn it off 258 ;; Turn it off
256 (when (timerp which-func-update-timer)
257 (cancel-timer which-func-update-timer))
258 (setq which-func-update-timer nil)
259 (dolist (buf (buffer-list)) 259 (dolist (buf (buffer-list))
260 (with-current-buffer buf (setq which-func-mode nil))))) 260 (with-current-buffer buf (setq which-func-mode nil)))))
261 261
diff --git a/lisp/select.el b/lisp/select.el
index 842c250df60..bada2e70e75 100644
--- a/lisp/select.el
+++ b/lisp/select.el
@@ -67,8 +67,9 @@ variable is set to nil.")
67(declare-function x-get-selection-internal "xselect.c" 67(declare-function x-get-selection-internal "xselect.c"
68 (selection-symbol target-type &optional time-stamp)) 68 (selection-symbol target-type &optional time-stamp))
69 69
70;; This is for temporary compatibility with pre-release Emacs 19. 70;; Only declared obsolete in 23.3.
71(defalias 'x-selection 'x-get-selection) 71(define-obsolete-function-alias 'x-selection 'x-get-selection "at least 19.34")
72
72(defun x-get-selection (&optional type data-type) 73(defun x-get-selection (&optional type data-type)
73 "Return the value of an X Windows selection. 74 "Return the value of an X Windows selection.
74The argument TYPE (default `PRIMARY') says which selection, 75The argument TYPE (default `PRIMARY') says which selection,
@@ -410,5 +411,4 @@ This function returns the string \"emacs\"."
410 411
411(provide 'select) 412(provide 'select)
412 413
413;; arch-tag: bb634f97-8a3b-4b0a-b940-f6e09982328c
414;;; select.el ends here 414;;; select.el ends here
diff --git a/lisp/server.el b/lisp/server.el
index 265b422e957..6297cc82ab0 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -485,7 +485,7 @@ See variable `server-auth-dir' for details."
485 (error "The directory `%s' is unsafe" dir))))) 485 (error "The directory `%s' is unsafe" dir)))))
486 486
487;;;###autoload 487;;;###autoload
488(defun server-start (&optional leave-dead) 488(defun server-start (&optional leave-dead inhibit-prompt)
489 "Allow this Emacs process to be a server for client processes. 489 "Allow this Emacs process to be a server for client processes.
490This starts a server communications subprocess through which 490This starts a server communications subprocess through which
491client \"editors\" can send your editing commands to this Emacs 491client \"editors\" can send your editing commands to this Emacs
@@ -495,7 +495,10 @@ Emacs distribution as your standard \"editor\".
495Optional argument LEAVE-DEAD (interactively, a prefix arg) means just 495Optional argument LEAVE-DEAD (interactively, a prefix arg) means just
496kill any existing server communications subprocess. 496kill any existing server communications subprocess.
497 497
498If a server is already running, the server is not started. 498If a server is already running, restart it. If clients are
499running, ask the user for confirmation first, unless optional
500argument INHIBIT-PROMPT is non-nil.
501
499To force-start a server, do \\[server-force-delete] and then 502To force-start a server, do \\[server-force-delete] and then
500\\[server-start]." 503\\[server-start]."
501 (interactive "P") 504 (interactive "P")
@@ -503,12 +506,14 @@ To force-start a server, do \\[server-force-delete] and then
503 ;; Ask the user before deleting existing clients---except 506 ;; Ask the user before deleting existing clients---except
504 ;; when we can't get user input, which may happen when 507 ;; when we can't get user input, which may happen when
505 ;; doing emacsclient --eval "(kill-emacs)" in daemon mode. 508 ;; doing emacsclient --eval "(kill-emacs)" in daemon mode.
506 (if (and (daemonp) 509 (cond
507 (null (cdr (frame-list))) 510 ((and (daemonp)
508 (eq (selected-frame) terminal-frame)) 511 (null (cdr (frame-list)))
509 leave-dead 512 (eq (selected-frame) terminal-frame))
510 (yes-or-no-p 513 leave-dead)
511 "The current server still has clients; delete them? "))) 514 (inhibit-prompt t)
515 (t (yes-or-no-p
516 "The current server still has clients; delete them? "))))
512 (let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir)) 517 (let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir))
513 (server-file (expand-file-name server-name server-dir))) 518 (server-file (expand-file-name server-name server-dir)))
514 (when server-process 519 (when server-process
@@ -545,7 +550,7 @@ server or call `M-x server-force-delete' to forcibly disconnect it.")
545 (add-hook 'delete-frame-functions 'server-handle-delete-frame) 550 (add-hook 'delete-frame-functions 'server-handle-delete-frame)
546 (add-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function) 551 (add-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function)
547 (add-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function) 552 (add-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function)
548 (add-hook 'kill-emacs-hook (lambda () (server-mode -1))) ;Cleanup upon exit. 553 (add-hook 'kill-emacs-hook 'server-force-stop) ;Cleanup upon exit.
549 (setq server-process 554 (setq server-process
550 (apply #'make-network-process 555 (apply #'make-network-process
551 :name server-name 556 :name server-name
@@ -586,6 +591,11 @@ server or call `M-x server-force-delete' to forcibly disconnect it.")
586 " " (int-to-string (emacs-pid)) 591 " " (int-to-string (emacs-pid))
587 "\n" auth-key))))))))) 592 "\n" auth-key)))))))))
588 593
594(defun server-force-stop ()
595 "Kill all connections to the current server.
596This function is meant to be called from `kill-emacs-hook'."
597 (server-start t t))
598
589;;;###autoload 599;;;###autoload
590(defun server-force-delete (&optional name) 600(defun server-force-delete (&optional name)
591 "Unconditionally delete connection file for server NAME. 601 "Unconditionally delete connection file for server NAME.
diff --git a/lisp/simple.el b/lisp/simple.el
index ba7788ead2d..3f4e12133b5 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -2831,11 +2831,6 @@ If `interprogram-cut-function' is non-nil, apply it to STRING.
2831Optional second argument REPLACE non-nil means that STRING will replace 2831Optional second argument REPLACE non-nil means that STRING will replace
2832the front of the kill ring, rather than being added to the list. 2832the front of the kill ring, rather than being added to the list.
2833 2833
2834Optional third arguments YANK-HANDLER controls how the STRING is later
2835inserted into a buffer; see `insert-for-yank' for details.
2836When a yank handler is specified, STRING must be non-empty (the yank
2837handler, if non-nil, is stored as a `yank-handler' text property on STRING).
2838
2839When `save-interprogram-paste-before-kill' and `interprogram-paste-function' 2834When `save-interprogram-paste-before-kill' and `interprogram-paste-function'
2840are non-nil, saves the interprogram paste string(s) into `kill-ring' before 2835are non-nil, saves the interprogram paste string(s) into `kill-ring' before
2841STRING. 2836STRING.
@@ -2872,22 +2867,19 @@ argument should still be a \"useful\" string for such uses."
2872 (setq kill-ring-yank-pointer kill-ring) 2867 (setq kill-ring-yank-pointer kill-ring)
2873 (if interprogram-cut-function 2868 (if interprogram-cut-function
2874 (funcall interprogram-cut-function string (not replace)))) 2869 (funcall interprogram-cut-function string (not replace))))
2870(set-advertised-calling-convention
2871 'kill-new '(string &optional replace) "23.3")
2875 2872
2876(defun kill-append (string before-p &optional yank-handler) 2873(defun kill-append (string before-p &optional yank-handler)
2877 "Append STRING to the end of the latest kill in the kill ring. 2874 "Append STRING to the end of the latest kill in the kill ring.
2878If BEFORE-P is non-nil, prepend STRING to the kill. 2875If BEFORE-P is non-nil, prepend STRING to the kill.
2879Optional third argument YANK-HANDLER, if non-nil, specifies the
2880yank-handler text property to be set on the combined kill ring
2881string. If the specified yank-handler arg differs from the
2882yank-handler property of the latest kill string, this function
2883adds the combined string to the kill ring as a new element,
2884instead of replacing the last kill with it.
2885If `interprogram-cut-function' is set, pass the resulting kill to it." 2876If `interprogram-cut-function' is set, pass the resulting kill to it."
2886 (let* ((cur (car kill-ring))) 2877 (let* ((cur (car kill-ring)))
2887 (kill-new (if before-p (concat string cur) (concat cur string)) 2878 (kill-new (if before-p (concat string cur) (concat cur string))
2888 (or (= (length cur) 0) 2879 (or (= (length cur) 0)
2889 (equal yank-handler (get-text-property 0 'yank-handler cur))) 2880 (equal yank-handler (get-text-property 0 'yank-handler cur)))
2890 yank-handler))) 2881 yank-handler)))
2882(set-advertised-calling-convention 'kill-append '(string before-p) "23.3")
2891 2883
2892(defcustom yank-pop-change-selection nil 2884(defcustom yank-pop-change-selection nil
2893 "If non-nil, rotating the kill ring changes the window system selection." 2885 "If non-nil, rotating the kill ring changes the window system selection."
@@ -2968,11 +2960,7 @@ Supply two arguments, character positions indicating the stretch of text
2968Any command that calls this function is a \"kill command\". 2960Any command that calls this function is a \"kill command\".
2969If the previous command was also a kill command, 2961If the previous command was also a kill command,
2970the text killed this time appends to the text killed last time 2962the text killed this time appends to the text killed last time
2971to make one entry in the kill ring. 2963to make one entry in the kill ring."
2972
2973In Lisp code, optional third arg YANK-HANDLER, if non-nil,
2974specifies the yank-handler text property to be set on the killed
2975text. See `insert-for-yank'."
2976 ;; Pass point first, then mark, because the order matters 2964 ;; Pass point first, then mark, because the order matters
2977 ;; when calling kill-append. 2965 ;; when calling kill-append.
2978 (interactive (list (point) (mark))) 2966 (interactive (list (point) (mark)))
@@ -3004,6 +2992,7 @@ text. See `insert-for-yank'."
3004 (barf-if-buffer-read-only) 2992 (barf-if-buffer-read-only)
3005 ;; If the buffer isn't read-only, the text is. 2993 ;; If the buffer isn't read-only, the text is.
3006 (signal 'text-read-only (list (current-buffer))))))) 2994 (signal 'text-read-only (list (current-buffer)))))))
2995(set-advertised-calling-convention 'kill-region '(beg end) "23.3")
3007 2996
3008;; copy-region-as-kill no longer sets this-command, because it's confusing 2997;; copy-region-as-kill no longer sets this-command, because it's confusing
3009;; to get two copies of the text when the user accidentally types M-w and 2998;; to get two copies of the text when the user accidentally types M-w and
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index 60c1ff6b170..d46dba39e85 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -1,7 +1,8 @@
1;;; speedbar --- quick access to files and tags in a frame 1;;; speedbar --- quick access to files and tags in a frame
2 2
3;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 3;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4;; 2005, 2006, 2007, 2008, 2009, 2010
5;; Free Software Foundation, Inc.
5 6
6;; Author: Eric M. Ludlam <zappo@gnu.org> 7;; Author: Eric M. Ludlam <zappo@gnu.org>
7;; Keywords: file, tags, tools 8;; Keywords: file, tags, tools
@@ -1128,9 +1129,9 @@ in the selected file.
1128 (setq font-lock-keywords nil) ;; no font-locking please 1129 (setq font-lock-keywords nil) ;; no font-locking please
1129 (setq truncate-lines t) 1130 (setq truncate-lines t)
1130 (make-local-variable 'frame-title-format) 1131 (make-local-variable 'frame-title-format)
1131 (setq frame-title-format (concat "Speedbar " speedbar-version)) 1132 (setq frame-title-format (concat "Speedbar " speedbar-version)
1132 (setq case-fold-search nil) 1133 case-fold-search nil
1133 (toggle-read-only 1) 1134 buffer-read-only t)
1134 (speedbar-set-mode-line-format) 1135 (speedbar-set-mode-line-format)
1135 ;; Add in our dframe hooks. 1136 ;; Add in our dframe hooks.
1136 (if speedbar-track-mouse-flag 1137 (if speedbar-track-mouse-flag
@@ -1693,8 +1694,7 @@ variable `speedbar-obj-alist'."
1693 (speedbar-enable-update))) 1694 (speedbar-enable-update)))
1694 1695
1695(defun speedbar-toggle-images () 1696(defun speedbar-toggle-images ()
1696 "Toggle use of images in the speedbar frame. 1697 "Toggle use of images in the speedbar frame."
1697Images are not available in Emacs 20 or earlier."
1698 (interactive) 1698 (interactive)
1699 (setq speedbar-use-images (not speedbar-use-images)) 1699 (setq speedbar-use-images (not speedbar-use-images))
1700 (speedbar-refresh)) 1700 (speedbar-refresh))
@@ -4142,5 +4142,4 @@ TEXT is the buffer's name, TOKEN and INDENT are unused."
4142;; run load-time hooks 4142;; run load-time hooks
4143(run-hooks 'speedbar-load-hook) 4143(run-hooks 'speedbar-load-hook)
4144 4144
4145;; arch-tag: 4477e6d1-f78c-48b9-a503-387d3c9767d5
4146;;; speedbar ends here 4145;;; speedbar ends here
diff --git a/lisp/subr.el b/lisp/subr.el
index 41697faeaca..7449295421c 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -955,7 +955,8 @@ and `event-end' functions."
955 ((null spacing) 955 ((null spacing)
956 (setq spacing 0))) 956 (setq spacing 0)))
957 (cons (/ (car pair) (frame-char-width frame)) 957 (cons (/ (car pair) (frame-char-width frame))
958 (/ (cdr pair) (+ (frame-char-height frame) spacing)))))))) 958 (- (/ (cdr pair) (+ (frame-char-height frame) spacing))
959 (if (null header-line-format) 0 1))))))))
959 960
960(defun posn-actual-col-row (position) 961(defun posn-actual-col-row (position)
961 "Return the actual column and row in POSITION, measured in characters. 962 "Return the actual column and row in POSITION, measured in characters.
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
index c002426daca..682adbb5a25 100644
--- a/lisp/textmodes/bibtex.el
+++ b/lisp/textmodes/bibtex.el
@@ -1,7 +1,8 @@
1;;; bibtex.el --- BibTeX mode for GNU Emacs 1;;; bibtex.el --- BibTeX mode for GNU Emacs
2 2
3;; Copyright (C) 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 3;; Copyright (C) 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
4;; 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4;; 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5;; Free Software Foundation, Inc.
5 6
6;; Author: Stefan Schoef <schoef@offis.uni-oldenburg.de> 7;; Author: Stefan Schoef <schoef@offis.uni-oldenburg.de>
7;; Bengt Martensson <bengt@mathematik.uni-Bremen.de> 8;; Bengt Martensson <bengt@mathematik.uni-Bremen.de>
@@ -3833,16 +3834,16 @@ Return t if test was successful, nil otherwise."
3833 (with-current-buffer (get-buffer-create err-buf) 3834 (with-current-buffer (get-buffer-create err-buf)
3834 (setq default-directory dir) 3835 (setq default-directory dir)
3835 (unless (eq major-mode 'compilation-mode) (compilation-mode)) 3836 (unless (eq major-mode 'compilation-mode) (compilation-mode))
3836 (toggle-read-only -1) 3837 (let ((inhibit-read-only t))
3837 (delete-region (point-min) (point-max)) 3838 (delete-region (point-min) (point-max))
3838 (insert "BibTeX mode command `bibtex-validate'\n" 3839 (insert "BibTeX mode command `bibtex-validate'\n"
3839 (if syntax-error 3840 (if syntax-error
3840 "Maybe undetected errors due to syntax errors. Correct and validate again.\n" 3841 "Maybe undetected errors due to syntax errors. \
3841 "\n")) 3842Correct and validate again.\n"
3842 (dolist (err error-list) 3843 "\n"))
3843 (insert (format "%s:%d: %s\n" file (car err) (cdr err)))) 3844 (dolist (err error-list)
3844 (set-buffer-modified-p nil) 3845 (insert (format "%s:%d: %s\n" file (car err) (cdr err))))
3845 (toggle-read-only 1) 3846 (set-buffer-modified-p nil))
3846 (goto-char (point-min)) 3847 (goto-char (point-min))
3847 (forward-line 2)) ; first error message 3848 (forward-line 2)) ; first error message
3848 (display-buffer err-buf) 3849 (display-buffer err-buf)
@@ -3894,12 +3895,11 @@ Return t if test was successful, nil otherwise."
3894 (let ((err-buf "*BibTeX validation errors*")) 3895 (let ((err-buf "*BibTeX validation errors*"))
3895 (with-current-buffer (get-buffer-create err-buf) 3896 (with-current-buffer (get-buffer-create err-buf)
3896 (unless (eq major-mode 'compilation-mode) (compilation-mode)) 3897 (unless (eq major-mode 'compilation-mode) (compilation-mode))
3897 (toggle-read-only -1) 3898 (let ((inhibit-read-only t))
3898 (delete-region (point-min) (point-max)) 3899 (delete-region (point-min) (point-max))
3899 (insert "BibTeX mode command `bibtex-validate-globally'\n\n") 3900 (insert "BibTeX mode command `bibtex-validate-globally'\n\n")
3900 (dolist (err (sort error-list 'string-lessp)) (insert err)) 3901 (dolist (err (sort error-list 'string-lessp)) (insert err))
3901 (set-buffer-modified-p nil) 3902 (set-buffer-modified-p nil))
3902 (toggle-read-only 1)
3903 (goto-char (point-min)) 3903 (goto-char (point-min))
3904 (forward-line 2)) ; first error message 3904 (forward-line 2)) ; first error message
3905 (display-buffer err-buf) 3905 (display-buffer err-buf)
@@ -4776,5 +4776,4 @@ Return the URL or nil if none can be generated."
4776 4776
4777(provide 'bibtex) 4777(provide 'bibtex)
4778 4778
4779;; arch-tag: ee2be3af-caad-427f-b42a-d20fad630d04
4780;;; bibtex.el ends here 4779;;; bibtex.el ends here
diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el
index 2673ee15457..f1bb9957125 100644
--- a/lisp/textmodes/picture.el
+++ b/lisp/textmodes/picture.el
@@ -226,16 +226,30 @@ Do \\[command-apropos] picture-movement to see commands which control motion."
226 (picture-motion (- arg))) 226 (picture-motion (- arg)))
227 227
228(defun picture-mouse-set-point (event) 228(defun picture-mouse-set-point (event)
229 "Move point to the position clicked on, making whitespace if necessary." 229 "Move point to the position of EVENT, making whitespace if necessary."
230 (interactive "e") 230 (interactive "e")
231 (let* ((pos (posn-col-row (event-start event))) 231 (let ((position (event-start event)))
232 (x (car pos)) 232 (unless (posn-area position) ; Ignore EVENT unless in text area
233 (y (cdr pos)) 233 (let* ((window (posn-window position))
234 (current-row (count-lines (window-start) (line-beginning-position)))) 234 (frame (if (framep window) window (window-frame window)))
235 (unless (equal x (current-column)) 235 (pair (posn-x-y position))
236 (picture-forward-column (- x (current-column)))) 236 (start-pos (window-start window))
237 (unless (equal y current-row) 237 (start-pair (posn-x-y (posn-at-point start-pos)))
238 (picture-move-down (- y current-row))))) 238 (dx (- (car pair) (car start-pair)))
239 (dy (- (cdr pair) (cdr start-pair)))
240 (char-ht (frame-char-height frame))
241 (spacing (when (display-graphic-p frame)
242 (or (with-current-buffer (window-buffer window)
243 line-spacing)
244 (frame-parameter frame 'line-spacing))))
245 rows cols)
246 (cond ((floatp spacing)
247 (setq spacing (truncate (* spacing char-ht))))
248 ((null spacing)
249 (setq spacing 0)))
250 (goto-char start-pos)
251 (picture-move-down (/ dy (+ char-ht spacing)))
252 (picture-forward-column (/ dx (frame-char-width frame)))))))
239 253
240 254
241;; Picture insertion and deletion. 255;; Picture insertion and deletion.
diff --git a/lisp/vc-arch.el b/lisp/vc-arch.el
index b99c3de6875..d9002f9f7d5 100644
--- a/lisp/vc-arch.el
+++ b/lisp/vc-arch.el
@@ -254,8 +254,7 @@ Only the value `maybe' can be trusted :-(."
254 (buffer-substring (point-min) (1- (point-max))))))))) 254 (buffer-substring (point-min) (1- (point-max)))))))))
255 255
256(defun vc-arch-workfile-unchanged-p (file) 256(defun vc-arch-workfile-unchanged-p (file)
257 "Check if FILE is unchanged by diffing against the master version. 257 "Stub: arch workfiles are always considered to be in a changed state,"
258Return non-nil if FILE is unchanged."
259 nil) 258 nil)
260 259
261(defun vc-arch-state (file) 260(defun vc-arch-state (file)
diff --git a/lisp/vc-bzr.el b/lisp/vc-bzr.el
index 8396547bdcb..39736bb0377 100644
--- a/lisp/vc-bzr.el
+++ b/lisp/vc-bzr.el
@@ -451,11 +451,17 @@ or a superior directory.")
451 "Unregister FILE from bzr." 451 "Unregister FILE from bzr."
452 (vc-bzr-command "remove" nil 0 file "--keep")) 452 (vc-bzr-command "remove" nil 0 file "--keep"))
453 453
454(declare-function log-edit-extract-headers "log-edit" (headers string))
455
454(defun vc-bzr-checkin (files rev comment) 456(defun vc-bzr-checkin (files rev comment)
455 "Check FILE in to bzr with log message COMMENT. 457 "Check FILE in to bzr with log message COMMENT.
456REV non-nil gets an error." 458REV non-nil gets an error."
457 (if rev (error "Can't check in a specific revision with bzr")) 459 (if rev (error "Can't check in a specific revision with bzr"))
458 (vc-bzr-command "commit" nil 0 files "-m" comment)) 460 (apply 'vc-bzr-command "commit" nil 0
461 files (cons "-m" (log-edit-extract-headers '(("Author" . "--author")
462 ("Date" . "--commit-time")
463 ("Fixes" . "--fixes"))
464 comment))))
459 465
460(defun vc-bzr-find-revision (file rev buffer) 466(defun vc-bzr-find-revision (file rev buffer)
461 "Fetch revision REV of file FILE and put it into BUFFER." 467 "Fetch revision REV of file FILE and put it into BUFFER."
@@ -478,7 +484,6 @@ REV non-nil gets an error."
478(defvar log-view-font-lock-keywords) 484(defvar log-view-font-lock-keywords)
479(defvar log-view-current-tag-function) 485(defvar log-view-current-tag-function)
480(defvar log-view-per-file-logs) 486(defvar log-view-per-file-logs)
481(defvar vc-short-log)
482 487
483(define-derived-mode vc-bzr-log-view-mode log-view-mode "Bzr-Log-View" 488(define-derived-mode vc-bzr-log-view-mode log-view-mode "Bzr-Log-View"
484 (remove-hook 'log-view-mode-hook 'vc-bzr-log-view-mode) ;Deactivate the hack. 489 (remove-hook 'log-view-mode-hook 'vc-bzr-log-view-mode) ;Deactivate the hack.
@@ -486,13 +491,13 @@ REV non-nil gets an error."
486 (set (make-local-variable 'log-view-per-file-logs) nil) 491 (set (make-local-variable 'log-view-per-file-logs) nil)
487 (set (make-local-variable 'log-view-file-re) "\\`a\\`") 492 (set (make-local-variable 'log-view-file-re) "\\`a\\`")
488 (set (make-local-variable 'log-view-message-re) 493 (set (make-local-variable 'log-view-message-re)
489 (if vc-short-log 494 (if (eq vc-log-view-type 'short)
490 "^ *\\([0-9.]+\\): \\(.*?\\)[ \t]+\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)\\( \\[merge\\]\\)?" 495 "^ *\\([0-9.]+\\): \\(.*?\\)[ \t]+\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\)\\( \\[merge\\]\\)?"
491 "^ *\\(?:revno: \\([0-9.]+\\)\\|merged: .+\\)")) 496 "^ *\\(?:revno: \\([0-9.]+\\)\\|merged: .+\\)"))
492 (set (make-local-variable 'log-view-font-lock-keywords) 497 (set (make-local-variable 'log-view-font-lock-keywords)
493 ;; log-view-font-lock-keywords is careful to use the buffer-local 498 ;; log-view-font-lock-keywords is careful to use the buffer-local
494 ;; value of log-view-message-re only since Emacs-23. 499 ;; value of log-view-message-re only since Emacs-23.
495 (if vc-short-log 500 (if (eq vc-log-view-type 'short)
496 (append `((,log-view-message-re 501 (append `((,log-view-message-re
497 (1 'log-view-message-face) 502 (1 'log-view-message-face)
498 (2 'change-log-name) 503 (2 'change-log-name)
@@ -526,6 +531,14 @@ REV non-nil gets an error."
526 (list vc-bzr-log-switches) 531 (list vc-bzr-log-switches)
527 vc-bzr-log-switches))))) 532 vc-bzr-log-switches)))))
528 533
534(defun vc-bzr-log-incoming (buffer remote-location)
535 (apply 'vc-bzr-command "missing" buffer 'async nil
536 (list "--theirs-only" (unless (string= remote-location "") remote-location))))
537
538(defun vc-bzr-log-outgoing (buffer remote-location)
539 (apply 'vc-bzr-command "missing" buffer 'async nil
540 (list "--mine-only" (unless (string= remote-location "") remote-location))))
541
529(defun vc-bzr-show-log-entry (revision) 542(defun vc-bzr-show-log-entry (revision)
530 "Find entry for patch name REVISION in bzr change log buffer." 543 "Find entry for patch name REVISION in bzr change log buffer."
531 (goto-char (point-min)) 544 (goto-char (point-min))
@@ -758,9 +771,11 @@ stream. Standard error output is discarded."
758 771
759 (define-key map [down-mouse-3] 'vc-bzr-shelve-menu) 772 (define-key map [down-mouse-3] 'vc-bzr-shelve-menu)
760 (define-key map "\C-k" 'vc-bzr-shelve-delete-at-point) 773 (define-key map "\C-k" 'vc-bzr-shelve-delete-at-point)
761 ;; (define-key map "=" 'vc-bzr-shelve-show-at-point) 774 (define-key map "=" 'vc-bzr-shelve-show-at-point)
762 ;; (define-key map "\C-m" 'vc-bzr-shelve-show-at-point) 775 (define-key map "\C-m" 'vc-bzr-shelve-show-at-point)
776 (define-key map "A" 'vc-bzr-shelve-apply-and-keep-at-point)
763 (define-key map "P" 'vc-bzr-shelve-apply-at-point) 777 (define-key map "P" 'vc-bzr-shelve-apply-at-point)
778 (define-key map "S" 'vc-bzr-shelve-snapshot)
764 map)) 779 map))
765 780
766(defvar vc-bzr-shelve-menu-map 781(defvar vc-bzr-shelve-menu-map
@@ -768,16 +783,22 @@ stream. Standard error output is discarded."
768 (define-key map [de] 783 (define-key map [de]
769 '(menu-item "Delete shelf" vc-bzr-shelve-delete-at-point 784 '(menu-item "Delete shelf" vc-bzr-shelve-delete-at-point
770 :help "Delete the current shelf")) 785 :help "Delete the current shelf"))
786 (define-key map [ap]
787 '(menu-item "Apply and keep shelf" vc-bzr-shelve-apply-and-keep-at-point
788 :help "Apply the current shelf and keep it"))
771 (define-key map [po] 789 (define-key map [po]
772 '(menu-item "Apply and remove shelf (pop)" vc-bzr-shelve-apply-at-point 790 '(menu-item "Apply and remove shelf (pop)" vc-bzr-shelve-apply-at-point
773 :help "Apply the current shelf and remove it")) 791 :help "Apply the current shelf and remove it"))
774 ;; (define-key map [sh] 792 (define-key map [sh]
775 ;; '(menu-item "Show shelve" vc-bzr-shelve-show-at-point 793 '(menu-item "Show shelve" vc-bzr-shelve-show-at-point
776 ;; :help "Show the contents of the current shelve")) 794 :help "Show the contents of the current shelve"))
777 map)) 795 map))
778 796
779(defvar vc-bzr-extra-menu-map 797(defvar vc-bzr-extra-menu-map
780 (let ((map (make-sparse-keymap))) 798 (let ((map (make-sparse-keymap)))
799 (define-key map [bzr-sn]
800 '(menu-item "Shelve a snapshot" vc-bzr-shelve-snapshot
801 :help "Shelve the current state of the tree and keep the current state"))
781 (define-key map [bzr-sh] 802 (define-key map [bzr-sh]
782 '(menu-item "Shelve..." vc-bzr-shelve 803 '(menu-item "Shelve..." vc-bzr-shelve
783 :help "Shelve changes")) 804 :help "Shelve changes"))
@@ -864,21 +885,38 @@ stream. Standard error output is discarded."
864 (vc-bzr-command "shelve" nil 0 nil "--all" "-m" name) 885 (vc-bzr-command "shelve" nil 0 nil "--all" "-m" name)
865 (vc-resynch-buffer root t t)))) 886 (vc-resynch-buffer root t t))))
866 887
867;; (defun vc-bzr-shelve-show (name) 888(defun vc-bzr-shelve-show (name)
868;; "Show the contents of shelve NAME." 889 "Show the contents of shelve NAME."
869;; (interactive "sShelve name: ") 890 (interactive "sShelve name: ")
870;; (vc-setup-buffer "*vc-bzr-shelve*") 891 (vc-setup-buffer "*vc-diff*")
871;; ;; FIXME: how can you show the contents of a shelf? 892 ;; FIXME: how can you show the contents of a shelf?
872;; (vc-bzr-command "shelve" "*vc-bzr-shelve*" 'async nil name) 893 (vc-bzr-command "unshelve" "*vc-diff*" 'async nil "--preview" name)
873;; (set-buffer "*vc-bzr-shelve*") 894 (set-buffer "*vc-diff*")
874;; (diff-mode) 895 (diff-mode)
875;; (setq buffer-read-only t) 896 (setq buffer-read-only t)
876;; (pop-to-buffer (current-buffer))) 897 (pop-to-buffer (current-buffer)))
877 898
878(defun vc-bzr-shelve-apply (name) 899(defun vc-bzr-shelve-apply (name)
879 "Apply shelve NAME and remove it afterwards." 900 "Apply shelve NAME and remove it afterwards."
880 (interactive "sApply (and remove) shelf: ") 901 (interactive "sApply (and remove) shelf: ")
881 (vc-bzr-command "unshelve" "*vc-bzr-shelve*" 0 nil "--apply" name) 902 (vc-bzr-command "unshelve" nil 0 nil "--apply" name)
903 (vc-resynch-buffer (vc-bzr-root default-directory) t t))
904
905(defun vc-bzr-shelve-apply-and-keep (name)
906 "Apply shelve NAME and keep it afterwards."
907 (interactive "sApply (and keep) shelf: ")
908 (vc-bzr-command "unshelve" nil 0 nil "--apply" "--keep" name)
909 (vc-resynch-buffer (vc-bzr-root default-directory) t t))
910
911(defun vc-bzr-shelve-snapshot ()
912 "Create a stash with the current tree state."
913 (interactive)
914 (vc-bzr-command "shelve" nil 0 nil "--all" "-m"
915 (let ((ct (current-time)))
916 (concat
917 (format-time-string "Snapshot on %Y-%m-%d" ct)
918 (format-time-string " at %H:%M" ct))))
919 (vc-bzr-command "unshelve" nil 0 nil "--apply" "--keep")
882 (vc-resynch-buffer (vc-bzr-root default-directory) t t)) 920 (vc-resynch-buffer (vc-bzr-root default-directory) t t))
883 921
884(defun vc-bzr-shelve-list () 922(defun vc-bzr-shelve-list ()
@@ -905,14 +943,18 @@ stream. Standard error output is discarded."
905 (vc-bzr-command "unshelve" nil 0 nil "--delete-only" shelve) 943 (vc-bzr-command "unshelve" nil 0 nil "--delete-only" shelve)
906 (vc-dir-refresh)))) 944 (vc-dir-refresh))))
907 945
908;; (defun vc-bzr-shelve-show-at-point () 946(defun vc-bzr-shelve-show-at-point ()
909;; (interactive) 947 (interactive)
910;; (vc-bzr-shelve-show (vc-bzr-shelve-get-at-point (point)))) 948 (vc-bzr-shelve-show (vc-bzr-shelve-get-at-point (point))))
911 949
912(defun vc-bzr-shelve-apply-at-point () 950(defun vc-bzr-shelve-apply-at-point ()
913 (interactive) 951 (interactive)
914 (vc-bzr-shelve-apply (vc-bzr-shelve-get-at-point (point)))) 952 (vc-bzr-shelve-apply (vc-bzr-shelve-get-at-point (point))))
915 953
954(defun vc-bzr-shelve-apply-and-keep-at-point ()
955 (interactive)
956 (vc-bzr-shelve-apply-and-keep (vc-bzr-shelve-get-at-point (point))))
957
916(defun vc-bzr-shelve-menu (e) 958(defun vc-bzr-shelve-menu (e)
917 (interactive "e") 959 (interactive "e")
918 (vc-dir-at-event e (popup-menu vc-bzr-shelve-menu-map e))) 960 (vc-dir-at-event e (popup-menu vc-bzr-shelve-menu-map e)))
@@ -930,6 +972,19 @@ stream. Standard error output is discarded."
930 (setq loglines (buffer-substring-no-properties start (point-max)))))) 972 (setq loglines (buffer-substring-no-properties start (point-max))))))
931 vc-bzr-revisions)) 973 vc-bzr-revisions))
932 974
975(defun vc-bzr-conflicted-files (dir)
976 (let ((default-directory (vc-bzr-root dir))
977 (files ()))
978 (with-temp-buffer
979 (vc-bzr-command "status" t 0 default-directory)
980 (goto-char (point-min))
981 (when (re-search-forward "^conflicts:\n" nil t)
982 (while (looking-at " \\(?:Text conflict in \\(.*\\)\\|.*\\)\n")
983 (if (match-end 1)
984 (push (expand-file-name (match-string 1)) files))
985 (goto-char (match-end 0)))))
986 files))
987
933;;; Revision completion 988;;; Revision completion
934 989
935(eval-and-compile 990(eval-and-compile
diff --git a/lisp/vc-dir.el b/lisp/vc-dir.el
index a32e5b35e08..96eb67085b6 100644
--- a/lisp/vc-dir.el
+++ b/lisp/vc-dir.el
@@ -188,9 +188,18 @@ See `run-hooks'."
188 (define-key map [diff] 188 (define-key map [diff]
189 '(menu-item "Compare with Base Version" vc-diff 189 '(menu-item "Compare with Base Version" vc-diff
190 :help "Compare file set with the base version")) 190 :help "Compare file set with the base version"))
191 (define-key map [logo]
192 '(menu-item "Show Outgoing Log" vc-log-outgoing
193 :help "Show a log of changes that will be sent with a push operation"))
194 (define-key map [logi]
195 '(menu-item "Show Incoming Log" vc-log-incoming
196 :help "Show a log of changes that will be received with a pull operation"))
191 (define-key map [log] 197 (define-key map [log]
192 '(menu-item "Show history" vc-print-log 198 '(menu-item "Show history" vc-print-log
193 :help "List the change log of the current file set in a window")) 199 :help "List the change log of the current file set in a window"))
200 (define-key map [rlog]
201 '(menu-item "Show Top of the Tree History " vc-print-root-log
202 :help "List the change log for the current tree in a window"))
194 ;; VC commands. 203 ;; VC commands.
195 (define-key map [sepvccmd] '("--")) 204 (define-key map [sepvccmd] '("--"))
196 (define-key map [update] 205 (define-key map [update]
@@ -263,6 +272,7 @@ See `run-hooks'."
263 (define-key map [mouse-2] 'vc-dir-toggle-mark) 272 (define-key map [mouse-2] 'vc-dir-toggle-mark)
264 (define-key map [follow-link] 'mouse-face) 273 (define-key map [follow-link] 'mouse-face)
265 (define-key map "x" 'vc-dir-hide-up-to-date) 274 (define-key map "x" 'vc-dir-hide-up-to-date)
275 (define-key map [?\C-k] 'vc-dir-kill-line)
266 (define-key map "S" 'vc-dir-search) ;; FIXME: Maybe use A like dired? 276 (define-key map "S" 'vc-dir-search) ;; FIXME: Maybe use A like dired?
267 (define-key map "Q" 'vc-dir-query-replace-regexp) 277 (define-key map "Q" 'vc-dir-query-replace-regexp)
268 (define-key map (kbd "M-s a C-s") 'vc-dir-isearch) 278 (define-key map (kbd "M-s a C-s") 'vc-dir-isearch)
@@ -963,7 +973,8 @@ specific headers."
963 (propertize "VC backend : " 'face 'font-lock-type-face) 973 (propertize "VC backend : " 'face 'font-lock-type-face)
964 (propertize (format "%s\n" backend) 'face 'font-lock-variable-name-face) 974 (propertize (format "%s\n" backend) 'face 'font-lock-variable-name-face)
965 (propertize "Working dir: " 'face 'font-lock-type-face) 975 (propertize "Working dir: " 'face 'font-lock-type-face)
966 (propertize (format "%s\n" dir) 'face 'font-lock-variable-name-face) 976 (propertize (format "%s\n" (abbreviate-file-name dir))
977 'face 'font-lock-variable-name-face)
967 ;; Then the backend specific ones. 978 ;; Then the backend specific ones.
968 (vc-call-backend backend 'dir-extra-headers dir) 979 (vc-call-backend backend 'dir-extra-headers dir)
969 "\n")) 980 "\n"))
@@ -1100,6 +1111,13 @@ outside of VC) and one wants to do some operation on it."
1100 (ewoc-delete vc-ewoc crt)) 1111 (ewoc-delete vc-ewoc crt))
1101 (setq crt prev))))) 1112 (setq crt prev)))))
1102 1113
1114(defun vc-dir-kill-line ()
1115 "Remove the current line from display."
1116 (interactive)
1117 (let ((crt (ewoc-locate vc-ewoc))
1118 (inhibit-read-only t))
1119 (ewoc-delete vc-ewoc crt)))
1120
1103(defun vc-dir-printer (fileentry) 1121(defun vc-dir-printer (fileentry)
1104 (vc-call-backend vc-dir-backend 'dir-printer fileentry)) 1122 (vc-call-backend vc-dir-backend 'dir-printer fileentry))
1105 1123
@@ -1169,7 +1187,8 @@ These are the commands available for use in the file status buffer:
1169 nil t nil nil))))) 1187 nil t nil nil)))))
1170 (unless backend 1188 (unless backend
1171 (setq backend (vc-responsible-backend dir))) 1189 (setq backend (vc-responsible-backend dir)))
1172 (pop-to-buffer (vc-dir-prepare-status-buffer "*vc-dir*" dir backend)) 1190 (let (pop-up-windows) ; based on cvs-examine; bug#6204
1191 (pop-to-buffer (vc-dir-prepare-status-buffer "*vc-dir*" dir backend)))
1173 (if (derived-mode-p 'vc-dir-mode) 1192 (if (derived-mode-p 'vc-dir-mode)
1174 (vc-dir-refresh) 1193 (vc-dir-refresh)
1175 ;; FIXME: find a better way to pass the backend to `vc-dir-mode'. 1194 ;; FIXME: find a better way to pass the backend to `vc-dir-mode'.
diff --git a/lisp/vc-dispatcher.el b/lisp/vc-dispatcher.el
index 0c3820bc529..d0648570bec 100644
--- a/lisp/vc-dispatcher.el
+++ b/lisp/vc-dispatcher.el
@@ -141,7 +141,6 @@ preserve the setting."
141(defvar vc-log-operation nil) 141(defvar vc-log-operation nil)
142(defvar vc-log-after-operation-hook nil) 142(defvar vc-log-after-operation-hook nil)
143(defvar vc-log-fileset) 143(defvar vc-log-fileset)
144(defvar vc-log-extra)
145 144
146;; In a log entry buffer, this is a local variable 145;; In a log entry buffer, this is a local variable
147;; that points to the buffer for which it was made 146;; that points to the buffer for which it was made
@@ -458,7 +457,7 @@ ARG and NO-CONFIRM are passed on to `revert-buffer'."
458(make-variable-buffer-local 'vc-mode-line-hook) 457(make-variable-buffer-local 'vc-mode-line-hook)
459(put 'vc-mode-line-hook 'permanent-local t) 458(put 'vc-mode-line-hook 'permanent-local t)
460 459
461(defun vc-resynch-window (file &optional keep noquery) 460(defun vc-resynch-window (file &optional keep noquery reset-vc-info)
462 "If FILE is in the current buffer, either revert or unvisit it. 461 "If FILE is in the current buffer, either revert or unvisit it.
463The choice between revert (to see expanded keywords) and unvisit 462The choice between revert (to see expanded keywords) and unvisit
464depends on KEEP. NOQUERY if non-nil inhibits confirmation for 463depends on KEEP. NOQUERY if non-nil inhibits confirmation for
@@ -469,6 +468,8 @@ editing!"
469 (and (string= buffer-file-name file) 468 (and (string= buffer-file-name file)
470 (if keep 469 (if keep
471 (when (file-exists-p file) 470 (when (file-exists-p file)
471 (when reset-vc-info
472 (vc-file-clearprops file))
472 (vc-revert-buffer-internal t noquery) 473 (vc-revert-buffer-internal t noquery)
473 474
474 ;; VC operations might toggle the read-only state. In 475 ;; VC operations might toggle the read-only state. In
@@ -490,24 +491,24 @@ editing!"
490(declare-function vc-dir-resynch-file "vc-dir" (&optional fname)) 491(declare-function vc-dir-resynch-file "vc-dir" (&optional fname))
491(declare-function vc-string-prefix-p "vc" (prefix string)) 492(declare-function vc-string-prefix-p "vc" (prefix string))
492 493
493(defun vc-resynch-buffers-in-directory (directory &optional keep noquery) 494(defun vc-resynch-buffers-in-directory (directory &optional keep noquery reset-vc-info)
494 "Resync all buffers that visit files in DIRECTORY." 495 "Resync all buffers that visit files in DIRECTORY."
495 (dolist (buffer (buffer-list)) 496 (dolist (buffer (buffer-list))
496 (let ((fname (buffer-file-name buffer))) 497 (let ((fname (buffer-file-name buffer)))
497 (when (and fname (vc-string-prefix-p directory fname)) 498 (when (and fname (vc-string-prefix-p directory fname))
498 (with-current-buffer buffer 499 (with-current-buffer buffer
499 (vc-resynch-buffer fname keep noquery)))))) 500 (vc-resynch-buffer fname keep noquery reset-vc-info))))))
500 501
501(defun vc-resynch-buffer (file &optional keep noquery) 502(defun vc-resynch-buffer (file &optional keep noquery reset-vc-info)
502 "If FILE is currently visited, resynch its buffer." 503 "If FILE is currently visited, resynch its buffer."
503 (if (string= buffer-file-name file) 504 (if (string= buffer-file-name file)
504 (vc-resynch-window file keep noquery) 505 (vc-resynch-window file keep noquery reset-vc-info)
505 (if (file-directory-p file) 506 (if (file-directory-p file)
506 (vc-resynch-buffers-in-directory file keep noquery) 507 (vc-resynch-buffers-in-directory file keep noquery reset-vc-info)
507 (let ((buffer (get-file-buffer file))) 508 (let ((buffer (get-file-buffer file)))
508 (when buffer 509 (when buffer
509 (with-current-buffer buffer 510 (with-current-buffer buffer
510 (vc-resynch-window file keep noquery)))))) 511 (vc-resynch-window file keep noquery reset-vc-info))))))
511 ;; Try to avoid unnecessary work, a *vc-dir* buffer is only present 512 ;; Try to avoid unnecessary work, a *vc-dir* buffer is only present
512 ;; if this is true. 513 ;; if this is true.
513 (when vc-dir-buffers 514 (when vc-dir-buffers
@@ -527,21 +528,26 @@ NOT-URGENT means it is ok to continue if the user says not to save."
527 528
528;; Set up key bindings for use while editing log messages 529;; Set up key bindings for use while editing log messages
529 530
530(defun vc-log-edit (fileset) 531(defun vc-log-edit (fileset mode)
531 "Set up `log-edit' for use on FILE." 532 "Set up `log-edit' for use on FILE."
532 (setq default-directory 533 (setq default-directory
533 (with-current-buffer vc-parent-buffer default-directory)) 534 (with-current-buffer vc-parent-buffer default-directory))
534 (log-edit 'vc-finish-logentry 535 (log-edit 'vc-finish-logentry
535 nil 536 nil
536 `((log-edit-listfun . (lambda () ',fileset)) 537 `((log-edit-listfun . (lambda ()
537 (log-edit-diff-function . (lambda () (vc-diff nil))))) 538 ;; FIXME: Should expand the list
539 ;; for directories.
540 (mapcar 'file-relative-name
541 ',fileset)))
542 (log-edit-diff-function . (lambda () (vc-diff nil))))
543 nil
544 mode)
538 (set (make-local-variable 'vc-log-fileset) fileset) 545 (set (make-local-variable 'vc-log-fileset) fileset)
539 (make-local-variable 'vc-log-extra)
540 (set-buffer-modified-p nil) 546 (set-buffer-modified-p nil)
541 (setq buffer-file-name nil)) 547 (setq buffer-file-name nil))
542 548
543(defun vc-start-logentry (files extra comment initial-contents msg logbuf action &optional after-hook) 549(defun vc-start-logentry (files comment initial-contents msg logbuf mode action &optional after-hook)
544 "Accept a comment for an operation on FILES with extra data EXTRA. 550 "Accept a comment for an operation on FILES.
545If COMMENT is nil, pop up a LOGBUF buffer, emit MSG, and set the 551If COMMENT is nil, pop up a LOGBUF buffer, emit MSG, and set the
546action on close to ACTION. If COMMENT is a string and 552action on close to ACTION. If COMMENT is a string and
547INITIAL-CONTENTS is non-nil, then COMMENT is used as the initial 553INITIAL-CONTENTS is non-nil, then COMMENT is used as the initial
@@ -549,8 +555,9 @@ contents of the log entry buffer. If COMMENT is a string and
549INITIAL-CONTENTS is nil, do action immediately as if the user had 555INITIAL-CONTENTS is nil, do action immediately as if the user had
550entered COMMENT. If COMMENT is t, also do action immediately with an 556entered COMMENT. If COMMENT is t, also do action immediately with an
551empty comment. Remember the file's buffer in `vc-parent-buffer' 557empty comment. Remember the file's buffer in `vc-parent-buffer'
552\(current one if no file). AFTER-HOOK specifies the local value 558\(current one if no file). Puts the log-entry buffer in major-mode
553for `vc-log-after-operation-hook'." 559MODE, defaulting to `log-edit-mode' if MODE is nil.
560AFTER-HOOK specifies the local value for `vc-log-after-operation-hook'."
554 (let ((parent 561 (let ((parent
555 (if (vc-dispatcher-browsing) 562 (if (vc-dispatcher-browsing)
556 ;; If we are called from a directory browser, the parent buffer is 563 ;; If we are called from a directory browser, the parent buffer is
@@ -565,12 +572,11 @@ for `vc-log-after-operation-hook'."
565 (set (make-local-variable 'vc-parent-buffer) parent) 572 (set (make-local-variable 'vc-parent-buffer) parent)
566 (set (make-local-variable 'vc-parent-buffer-name) 573 (set (make-local-variable 'vc-parent-buffer-name)
567 (concat " from " (buffer-name vc-parent-buffer))) 574 (concat " from " (buffer-name vc-parent-buffer)))
568 (vc-log-edit files) 575 (vc-log-edit files mode)
569 (make-local-variable 'vc-log-after-operation-hook) 576 (make-local-variable 'vc-log-after-operation-hook)
570 (when after-hook 577 (when after-hook
571 (setq vc-log-after-operation-hook after-hook)) 578 (setq vc-log-after-operation-hook after-hook))
572 (setq vc-log-operation action) 579 (setq vc-log-operation action)
573 (setq vc-log-extra extra)
574 (when comment 580 (when comment
575 (erase-buffer) 581 (erase-buffer)
576 (when (stringp comment) (insert comment))) 582 (when (stringp comment) (insert comment)))
@@ -579,7 +585,8 @@ for `vc-log-after-operation-hook'."
579 (vc-finish-logentry (eq comment t))))) 585 (vc-finish-logentry (eq comment t)))))
580 586
581(declare-function vc-dir-move-to-goal-column "vc-dir" ()) 587(declare-function vc-dir-move-to-goal-column "vc-dir" ())
582 588;; vc-finish-logentry is typically called from a log-edit buffer (see
589;; vc-start-logentry).
583(defun vc-finish-logentry (&optional nocomment) 590(defun vc-finish-logentry (&optional nocomment)
584 "Complete the operation implied by the current log entry. 591 "Complete the operation implied by the current log entry.
585Use the contents of the current buffer as a check-in or registration 592Use the contents of the current buffer as a check-in or registration
@@ -595,20 +602,21 @@ the buffer contents as a comment."
595 (or (vc-dispatcher-browsing) (vc-buffer-sync))) 602 (or (vc-dispatcher-browsing) (vc-buffer-sync)))
596 (unless vc-log-operation 603 (unless vc-log-operation
597 (error "No log operation is pending")) 604 (error "No log operation is pending"))
605
598 ;; save the parameters held in buffer-local variables 606 ;; save the parameters held in buffer-local variables
599 (let ((logbuf (current-buffer)) 607 (let ((logbuf (current-buffer))
600 (log-operation vc-log-operation) 608 (log-operation vc-log-operation)
609 ;; FIXME: When coming from VC-Dir, we should check that the
610 ;; set of selected files is still equal to vc-log-fileset,
611 ;; to avoid surprises.
601 (log-fileset vc-log-fileset) 612 (log-fileset vc-log-fileset)
602 (log-extra vc-log-extra)
603 (log-entry (buffer-string)) 613 (log-entry (buffer-string))
604 (after-hook vc-log-after-operation-hook) 614 (after-hook vc-log-after-operation-hook))
605 (tmp-vc-parent-buffer vc-parent-buffer))
606 (pop-to-buffer vc-parent-buffer) 615 (pop-to-buffer vc-parent-buffer)
607 ;; OK, do it to it 616 ;; OK, do it to it
608 (save-excursion 617 (save-excursion
609 (funcall log-operation 618 (funcall log-operation
610 log-fileset 619 log-fileset
611 log-extra
612 log-entry)) 620 log-entry))
613 ;; Remove checkin window (after the checkin so that if that fails 621 ;; Remove checkin window (after the checkin so that if that fails
614 ;; we don't zap the log buffer and the typing therein). 622 ;; we don't zap the log buffer and the typing therein).
@@ -617,9 +625,11 @@ the buffer contents as a comment."
617 (delete-windows-on logbuf (selected-frame)) 625 (delete-windows-on logbuf (selected-frame))
618 ;; Kill buffer and delete any other dedicated windows/frames. 626 ;; Kill buffer and delete any other dedicated windows/frames.
619 (kill-buffer logbuf)) 627 (kill-buffer logbuf))
620 (logbuf (pop-to-buffer logbuf) 628 (logbuf
621 (bury-buffer) 629 (with-selected-window (or (get-buffer-window logbuf 0)
622 (pop-to-buffer tmp-vc-parent-buffer))) 630 (selected-window))
631 (with-current-buffer logbuf
632 (bury-buffer)))))
623 ;; Now make sure we see the expanded headers 633 ;; Now make sure we see the expanded headers
624 (when log-fileset 634 (when log-fileset
625 (mapc 635 (mapc
diff --git a/lisp/vc-git.el b/lisp/vc-git.el
index 24062a0f4f6..4383e609adb 100644
--- a/lisp/vc-git.el
+++ b/lisp/vc-git.el
@@ -118,7 +118,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
118 :version "23.1" 118 :version "23.1"
119 :group 'vc) 119 :group 'vc)
120 120
121(defvar git-commits-coding-system 'utf-8 121(defvar vc-git-commits-coding-system 'utf-8
122 "Default coding system for git commits.") 122 "Default coding system for git commits.")
123 123
124;;; BACKEND PROPERTIES 124;;; BACKEND PROPERTIES
@@ -171,7 +171,14 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
171 171
172(defun vc-git-state (file) 172(defun vc-git-state (file)
173 "Git-specific version of `vc-state'." 173 "Git-specific version of `vc-state'."
174 ;; FIXME: This can't set 'ignored yet 174 ;; FIXME: This can't set 'ignored or 'conflict yet
175 ;; The 'ignored state could be detected with `git ls-files -i -o
176 ;; --exclude-standard` It also can't set 'needs-update or
177 ;; 'needs-merge. The rough equivalent would be that upstream branch
178 ;; for current branch is in fast-forward state i.e. current branch
179 ;; is direct ancestor of corresponding upstream branch, and the file
180 ;; was modified upstream. But we can't check that without a network
181 ;; operation.
175 (if (not (vc-git-registered file)) 182 (if (not (vc-git-registered file))
176 'unregistered 183 'unregistered
177 (vc-git--call nil "add" "--refresh" "--" (file-relative-name file)) 184 (vc-git--call nil "add" "--refresh" "--" (file-relative-name file))
@@ -541,11 +548,16 @@ or an empty string if none."
541(defun vc-git-unregister (file) 548(defun vc-git-unregister (file)
542 (vc-git-command nil 0 file "rm" "-f" "--cached" "--")) 549 (vc-git-command nil 0 file "rm" "-f" "--cached" "--"))
543 550
551(declare-function log-edit-extract-headers "log-edit" (headers string))
544 552
545(defun vc-git-checkin (files rev comment) 553(defun vc-git-checkin (files rev comment)
546 (let ((coding-system-for-write git-commits-coding-system)) 554 (let ((coding-system-for-write vc-git-commits-coding-system))
547 (vc-git-command nil 0 files "commit" 555 (apply 'vc-git-command nil 0 files
548 "-m" comment "--only" "--"))) 556 (nconc (list "commit" "-m")
557 (log-edit-extract-headers '(("Author" . "--author")
558 ("Date" . "--date"))
559 comment)
560 (list "--only" "--")))))
549 561
550(defun vc-git-find-revision (file rev buffer) 562(defun vc-git-find-revision (file rev buffer)
551 (let* (process-file-side-effects 563 (let* (process-file-side-effects
@@ -580,7 +592,7 @@ or an empty string if none."
580 "Get change log associated with FILES. 592 "Get change log associated with FILES.
581Note that using SHORTLOG requires at least Git version 1.5.6, 593Note that using SHORTLOG requires at least Git version 1.5.6,
582for the --graph option." 594for the --graph option."
583 (let ((coding-system-for-read git-commits-coding-system)) 595 (let ((coding-system-for-read vc-git-commits-coding-system))
584 ;; `vc-do-command' creates the buffer, but we need it before running 596 ;; `vc-do-command' creates the buffer, but we need it before running
585 ;; the command. 597 ;; the command.
586 (vc-setup-buffer buffer) 598 (vc-setup-buffer buffer)
@@ -600,25 +612,46 @@ for the --graph option."
600 (when start-revision (list start-revision)) 612 (when start-revision (list start-revision))
601 '("--"))))))) 613 '("--")))))))
602 614
615(defun vc-git-log-outgoing (buffer remote-location)
616 (interactive)
617 (vc-git-command
618 buffer 0 nil
619 "log"
620 "--no-color" "--graph" "--decorate" "--date=short"
621 "--pretty=tformat:%d%h %ad %s" "--abbrev-commit"
622 (concat (if (string= remote-location "")
623 "@{upstream}"
624 remote-location)
625 "..HEAD")))
626
627(defun vc-git-log-incoming (buffer remote-location)
628 (interactive)
629 (vc-git-command nil 0 nil "fetch")
630 (vc-git-command
631 buffer 0 nil
632 "log"
633 "--no-color" "--graph" "--decorate" "--date=short"
634 "--pretty=tformat:%d%h %ad %s" "--abbrev-commit"
635 (concat "HEAD.." (if (string= remote-location "")
636 "@{upstream}"
637 remote-location))))
638
603(defvar log-view-message-re) 639(defvar log-view-message-re)
604(defvar log-view-file-re) 640(defvar log-view-file-re)
605(defvar log-view-font-lock-keywords) 641(defvar log-view-font-lock-keywords)
606(defvar log-view-per-file-logs) 642(defvar log-view-per-file-logs)
607 643
608;; Dynamically bound.
609(defvar vc-short-log)
610
611(define-derived-mode vc-git-log-view-mode log-view-mode "Git-Log-View" 644(define-derived-mode vc-git-log-view-mode log-view-mode "Git-Log-View"
612 (require 'add-log) ;; We need the faces add-log. 645 (require 'add-log) ;; We need the faces add-log.
613 ;; Don't have file markers, so use impossible regexp. 646 ;; Don't have file markers, so use impossible regexp.
614 (set (make-local-variable 'log-view-file-re) "\\`a\\`") 647 (set (make-local-variable 'log-view-file-re) "\\`a\\`")
615 (set (make-local-variable 'log-view-per-file-logs) nil) 648 (set (make-local-variable 'log-view-per-file-logs) nil)
616 (set (make-local-variable 'log-view-message-re) 649 (set (make-local-variable 'log-view-message-re)
617 (if vc-short-log 650 (if (not (eq vc-log-view-type 'long))
618 "^\\(?:[*/\\| ]+ \\)?\\(?: ([^)]+)\\)?\\([0-9a-z]+\\) \\([-a-z0-9]+\\) \\(.*\\)" 651 "^\\(?:[*/\\| ]+ \\)?\\(?: ([^)]+)\\)?\\([0-9a-z]+\\) \\([-a-z0-9]+\\) \\(.*\\)"
619 "^commit *\\([0-9a-z]+\\)")) 652 "^commit *\\([0-9a-z]+\\)"))
620 (set (make-local-variable 'log-view-font-lock-keywords) 653 (set (make-local-variable 'log-view-font-lock-keywords)
621 (if vc-short-log 654 (if (not (eq vc-log-view-type 'long))
622 '( 655 '(
623 ;; Same as log-view-message-re, except that we don't 656 ;; Same as log-view-message-re, except that we don't
624 ;; want the shy group for the tag name. 657 ;; want the shy group for the tag name.
@@ -681,7 +714,8 @@ or BRANCH^ (where \"^\" can be repeated)."
681 (with-temp-buffer 714 (with-temp-buffer
682 (vc-git-command t nil nil "for-each-ref" "--format=%(refname)") 715 (vc-git-command t nil nil "for-each-ref" "--format=%(refname)")
683 (goto-char (point-min)) 716 (goto-char (point-min))
684 (while (re-search-forward "^refs/\\(heads\\|tags\\)/\\(.*\\)$" nil t) 717 (while (re-search-forward "^refs/\\(heads\\|tags\\|remotes\\)/\\(.*\\)$"
718 nil t)
685 (push (match-string 2) table))) 719 (push (match-string 2) table)))
686 table)) 720 table))
687 721
diff --git a/lisp/vc-hg.el b/lisp/vc-hg.el
index b29f229e26f..52b74870427 100644
--- a/lisp/vc-hg.el
+++ b/lisp/vc-hg.el
@@ -133,6 +133,10 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
133 :version "23.1" 133 :version "23.1"
134 :group 'vc) 134 :group 'vc)
135 135
136(defcustom vc-hg-program "hg"
137 "Name of the Mercurial executable (excluding any arguments)."
138 :type 'string
139 :group 'vc)
136 140
137;;; Properties of the backend 141;;; Properties of the backend
138 142
@@ -173,7 +177,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
173 (append (list "TERM=dumb" "LANGUAGE=C") 177 (append (list "TERM=dumb" "LANGUAGE=C")
174 process-environment))) 178 process-environment)))
175 (process-file 179 (process-file
176 "hg" nil t nil 180 vc-hg-program nil t nil
177 "--config" "alias.status=status" 181 "--config" "alias.status=status"
178 "--config" "defaults.status=" 182 "--config" "defaults.status="
179 "status" "-A" (file-relative-name file))) 183 "status" "-A" (file-relative-name file)))
@@ -211,7 +215,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
211 (let ((process-environment avoid-local-env)) 215 (let ((process-environment avoid-local-env))
212 ;; Ignore all errors. 216 ;; Ignore all errors.
213 (process-file 217 (process-file
214 "hg" nil t nil 218 vc-hg-program nil t nil
215 "--config" "alias.parents=parents" 219 "--config" "alias.parents=parents"
216 "--config" "defaults.parents=" 220 "--config" "defaults.parents="
217 "parents" "--template" "{rev}" (file-relative-name file))) 221 "parents" "--template" "{rev}" (file-relative-name file)))
@@ -226,7 +230,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
226 (condition-case nil 230 (condition-case nil
227 (let ((process-environment avoid-local-env)) 231 (let ((process-environment avoid-local-env))
228 (process-file 232 (process-file
229 "hg" nil nil nil 233 vc-hg-program nil nil nil
230 ;; We use "log" here, if there's a faster command 234 ;; We use "log" here, if there's a faster command
231 ;; that returns true for an 'added file and false 235 ;; that returns true for an 'added file and false
232 ;; for an 'unregistered one, we could use that. 236 ;; for an 'unregistered one, we could use that.
@@ -256,33 +260,33 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
256 (with-current-buffer 260 (with-current-buffer
257 buffer 261 buffer
258 (apply 'vc-hg-command buffer 0 files "log" 262 (apply 'vc-hg-command buffer 0 files "log"
259 (append 263 (nconc
260 (when start-revision (list (format "-r%s:" start-revision))) 264 (when start-revision (list (format "-r%s:" start-revision)))
261 (when limit (list "-l" (format "%s" limit))) 265 (when limit (list "-l" (format "%s" limit)))
262 (when shortlog '("--style" "compact")) 266 (when shortlog (list "--style" "compact"))
263 vc-hg-log-switches))))) 267 vc-hg-log-switches)))))
264 268
265(defvar log-view-message-re) 269(defvar log-view-message-re)
266(defvar log-view-file-re) 270(defvar log-view-file-re)
267(defvar log-view-font-lock-keywords) 271(defvar log-view-font-lock-keywords)
268(defvar log-view-per-file-logs) 272(defvar log-view-per-file-logs)
269(defvar vc-short-log)
270 273
271(define-derived-mode vc-hg-log-view-mode log-view-mode "Hg-Log-View" 274(define-derived-mode vc-hg-log-view-mode log-view-mode "Hg-Log-View"
272 (require 'add-log) ;; we need the add-log faces 275 (require 'add-log) ;; we need the add-log faces
273 (set (make-local-variable 'log-view-file-re) "\\`a\\`") 276 (set (make-local-variable 'log-view-file-re) "\\`a\\`")
274 (set (make-local-variable 'log-view-per-file-logs) nil) 277 (set (make-local-variable 'log-view-per-file-logs) nil)
275 (set (make-local-variable 'log-view-message-re) 278 (set (make-local-variable 'log-view-message-re)
276 (if vc-short-log 279 (if (eq vc-log-view-type 'short)
277 "^\\([0-9]+\\)\\(?:\\[.*\\]\\)? +\\([0-9a-z]\\{12\\}\\) +\\(\\(?:[0-9]+\\)-\\(?:[0-9]+\\)-\\(?:[0-9]+\\) \\(?:[0-9]+\\):\\(?:[0-9]+\\) \\(?:[-+0-9]+\\)\\) +\\(.*\\)$" 280 "^\\([0-9]+\\)\\(\\[.*\\]\\)? +\\([0-9a-z]\\{12\\}\\) +\\(\\(?:[0-9]+\\)-\\(?:[0-9]+\\)-\\(?:[0-9]+\\) \\(?:[0-9]+\\):\\(?:[0-9]+\\) \\(?:[-+0-9]+\\)\\) +\\(.*\\)$"
278 "^changeset:[ \t]*\\([0-9]+\\):\\(.+\\)")) 281 "^changeset:[ \t]*\\([0-9]+\\):\\(.+\\)"))
279 (set (make-local-variable 'log-view-font-lock-keywords) 282 (set (make-local-variable 'log-view-font-lock-keywords)
280 (if vc-short-log 283 (if (eq vc-log-view-type 'short)
281 (append `((,log-view-message-re 284 (append `((,log-view-message-re
282 (1 'log-view-message-face) 285 (1 'log-view-message-face)
283 (2 'log-view-message-face) 286 (2 'highlight nil lax)
284 (3 'change-log-date) 287 (3 'log-view-message-face)
285 (4 'change-log-name)))) 288 (4 'change-log-date)
289 (5 'change-log-name))))
286 (append 290 (append
287 log-view-font-lock-keywords 291 log-view-font-lock-keywords
288 '( 292 '(
@@ -298,7 +302,8 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
298 ("^user:[ \t]+\\([A-Za-z0-9_.+-]+\\(?:@[A-Za-z0-9_.-]+\\)?\\)" 302 ("^user:[ \t]+\\([A-Za-z0-9_.+-]+\\(?:@[A-Za-z0-9_.-]+\\)?\\)"
299 (1 'change-log-email)) 303 (1 'change-log-email))
300 ("^date: \\(.+\\)" (1 'change-log-date)) 304 ("^date: \\(.+\\)" (1 'change-log-date))
301 ("^summary:[ \t]+\\(.+\\)" (1 'log-view-message))))))) 305 ("^tag: +\\([^ ]+\\)$" (1 'highlight))
306 ("^summary:[ \t]+\\(.+\\)" (1 'log-view-message)))))))
302 307
303(defun vc-hg-diff (files &optional oldvers newvers buffer) 308(defun vc-hg-diff (files &optional oldvers newvers buffer)
304 "Get a difference report using hg between two revisions of FILES." 309 "Get a difference report using hg between two revisions of FILES."
@@ -423,10 +428,16 @@ COMMENT is ignored."
423;; "Unregister FILE from hg." 428;; "Unregister FILE from hg."
424;; (vc-hg-command nil nil file "remove")) 429;; (vc-hg-command nil nil file "remove"))
425 430
431(declare-function log-edit-extract-headers "log-edit" (headers string))
432
426(defun vc-hg-checkin (files rev comment) 433(defun vc-hg-checkin (files rev comment)
427 "Hg-specific version of `vc-backend-checkin'. 434 "Hg-specific version of `vc-backend-checkin'.
428REV is ignored." 435REV is ignored."
429 (vc-hg-command nil 0 files "commit" "-m" comment)) 436 (apply 'vc-hg-command nil 0 files
437 (nconc (list "commit" "-m")
438 (log-edit-extract-headers '(("Author" . "--user")
439 ("Date" . "--date"))
440 comment))))
430 441
431(defun vc-hg-find-revision (file rev buffer) 442(defun vc-hg-find-revision (file rev buffer)
432 (let ((coding-system-for-read 'binary) 443 (let ((coding-system-for-read 'binary)
@@ -460,8 +471,6 @@ REV is the revision to check out into WORKFILE."
460 471
461(defvar vc-hg-extra-menu-map 472(defvar vc-hg-extra-menu-map
462 (let ((map (make-sparse-keymap))) 473 (let ((map (make-sparse-keymap)))
463 (define-key map [incoming] '(menu-item "Show incoming" vc-hg-incoming))
464 (define-key map [outgoing] '(menu-item "Show outgoing" vc-hg-outgoing))
465 map)) 474 map))
466 475
467(defun vc-hg-extra-menu () vc-hg-extra-menu-map) 476(defun vc-hg-extra-menu () vc-hg-extra-menu-map)
@@ -470,14 +479,6 @@ REV is the revision to check out into WORKFILE."
470 479
471(defvar log-view-vc-backend) 480(defvar log-view-vc-backend)
472 481
473(define-derived-mode vc-hg-outgoing-mode vc-hg-log-view-mode "Hg-Outgoing"
474 "Mode for browsing Hg outgoing changes."
475 (set (make-local-variable 'log-view-vc-backend) 'Hg))
476
477(define-derived-mode vc-hg-incoming-mode vc-hg-log-view-mode "Hg-Incoming"
478 "Mode for browsing Hg incoming changes."
479 (set (make-local-variable 'log-view-vc-backend) 'Hg))
480
481(defstruct (vc-hg-extra-fileinfo 482(defstruct (vc-hg-extra-fileinfo
482 (:copier nil) 483 (:copier nil)
483 (:constructor vc-hg-create-extra-fileinfo (rename-state extra-name)) 484 (:constructor vc-hg-create-extra-fileinfo (rename-state extra-name))
@@ -583,33 +584,13 @@ REV is the revision to check out into WORKFILE."
583 ;; (vc-hg-dir-extra-header "Global id : " "id" "-i") 584 ;; (vc-hg-dir-extra-header "Global id : " "id" "-i")
584 ))) 585 )))
585 586
586;; FIXME: this adds another top level menu, instead figure out how to 587(defun vc-hg-log-incoming (buffer remote-location)
587;; replace the Log-View menu. 588 (vc-hg-command buffer 1 nil "incoming" "-n" (unless (string= remote-location "")
588(easy-menu-define log-view-mode-menu vc-hg-outgoing-mode-map 589 remote-location)))
589 "Hg-outgoing Display Menu"
590 `("Hg-outgoing"
591 ["Push selected" vc-hg-push]))
592 590
593(easy-menu-define log-view-mode-menu vc-hg-incoming-mode-map 591(defun vc-hg-log-outgoing (buffer remote-location)
594 "Hg-incoming Display Menu" 592 (vc-hg-command buffer 1 nil "outgoing" "-n" (unless (string= remote-location "")
595 `("Hg-incoming" 593 remote-location)))
596 ["Pull selected" vc-hg-pull]))
597
598(defun vc-hg-outgoing ()
599 (interactive)
600 (let ((bname "*Hg outgoing*")
601 (vc-short-log nil))
602 (vc-hg-command bname 1 nil "outgoing" "-n")
603 (pop-to-buffer bname)
604 (vc-hg-outgoing-mode)))
605
606(defun vc-hg-incoming ()
607 (interactive)
608 (let ((bname "*Hg incoming*")
609 (vc-short-log nil))
610 (vc-hg-command bname 0 nil "incoming" "-n")
611 (pop-to-buffer bname)
612 (vc-hg-incoming-mode)))
613 594
614(declare-function log-view-get-marked "log-view" ()) 595(declare-function log-view-get-marked "log-view" ())
615 596
@@ -618,22 +599,22 @@ REV is the revision to check out into WORKFILE."
618 (interactive) 599 (interactive)
619 (let ((marked-list (log-view-get-marked))) 600 (let ((marked-list (log-view-get-marked)))
620 (if marked-list 601 (if marked-list
621 (vc-hg-command 602 (apply #'vc-hg-command
622 nil 0 nil 603 nil 0 nil
623 (cons "push" 604 "push"
624 (apply 'nconc 605 (apply 'nconc
625 (mapcar (lambda (arg) (list "-r" arg)) marked-list)))) 606 (mapcar (lambda (arg) (list "-r" arg)) marked-list)))
626 (error "No log entries selected for push")))) 607 (error "No log entries selected for push"))))
627 608
628(defun vc-hg-pull () 609(defun vc-hg-pull ()
629 (interactive) 610 (interactive)
630 (let ((marked-list (log-view-get-marked))) 611 (let ((marked-list (log-view-get-marked)))
631 (if marked-list 612 (if marked-list
632 (vc-hg-command 613 (apply #'vc-hg-command
633 nil 0 nil 614 nil 0 nil
634 (cons "pull" 615 "pull"
635 (apply 'nconc 616 (apply 'nconc
636 (mapcar (lambda (arg) (list "-r" arg)) marked-list)))) 617 (mapcar (lambda (arg) (list "-r" arg)) marked-list)))
637 (error "No log entries selected for pull")))) 618 (error "No log entries selected for pull"))))
638 619
639;;; Internal functions 620;;; Internal functions
@@ -642,7 +623,7 @@ REV is the revision to check out into WORKFILE."
642 "A wrapper around `vc-do-command' for use in vc-hg.el. 623 "A wrapper around `vc-do-command' for use in vc-hg.el.
643The difference to vc-do-command is that this function always invokes `hg', 624The difference to vc-do-command is that this function always invokes `hg',
644and that it passes `vc-hg-global-switches' to it before FLAGS." 625and that it passes `vc-hg-global-switches' to it before FLAGS."
645 (apply 'vc-do-command (or buffer "*vc*") okstatus "hg" file-or-list 626 (apply 'vc-do-command (or buffer "*vc*") okstatus vc-hg-program file-or-list
646 (if (stringp vc-hg-global-switches) 627 (if (stringp vc-hg-global-switches)
647 (cons vc-hg-global-switches flags) 628 (cons vc-hg-global-switches flags)
648 (append vc-hg-global-switches 629 (append vc-hg-global-switches
diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el
index 70369df06fe..a0cf06fbe12 100644
--- a/lisp/vc-hooks.el
+++ b/lisp/vc-hooks.el
@@ -403,7 +403,7 @@ If the argument is a list, the files must all have the same back end."
403 403
404 404
405(defun vc-backend-subdirectory-name (file) 405(defun vc-backend-subdirectory-name (file)
406 "Return where the master and lock FILEs for the current directory are kept." 406 "Return where the repository for the current directory is kept."
407 (symbol-name (vc-backend file))) 407 (symbol-name (vc-backend file)))
408 408
409(defun vc-name (file) 409(defun vc-name (file)
@@ -471,13 +471,13 @@ For registered files, the value returned is one of:
471 USER The current version of the working file is locked by 471 USER The current version of the working file is locked by
472 some other USER (a string). 472 some other USER (a string).
473 473
474 'needs-update The file has not been edited by the user, but there is 474 'needs-update The file has not been edited by the user, but there is
475 a more recent version on the current branch stored 475 a more recent version on the current branch stored
476 in the master file. 476 in the repository.
477 477
478 'needs-merge The file has been edited by the user, and there is also 478 'needs-merge The file has been edited by the user, and there is also
479 a more recent version on the current branch stored in 479 a more recent version on the current branch stored in
480 the master file. This state can only occur if locking 480 the repository. This state can only occur if locking
481 is not used for the file. 481 is not used for the file.
482 482
483 'unlocked-changes The working version of the file is not locked, 483 'unlocked-changes The working version of the file is not locked,
@@ -556,7 +556,7 @@ and does not employ any heuristic at all."
556 unchanged)))) 556 unchanged))))
557 557
558(defun vc-default-workfile-unchanged-p (backend file) 558(defun vc-default-workfile-unchanged-p (backend file)
559 "Check if FILE is unchanged by diffing against the master version. 559 "Check if FILE is unchanged by diffing against the repository version.
560Return non-nil if FILE is unchanged." 560Return non-nil if FILE is unchanged."
561 (zerop (condition-case err 561 (zerop (condition-case err
562 ;; If the implementation supports it, let the output 562 ;; If the implementation supports it, let the output
@@ -818,6 +818,9 @@ Format:
818 \"BACKEND-REV\" if the file is up-to-date 818 \"BACKEND-REV\" if the file is up-to-date
819 \"BACKEND:REV\" if the file is edited (or locked by the calling user) 819 \"BACKEND:REV\" if the file is edited (or locked by the calling user)
820 \"BACKEND:LOCKER:REV\" if the file is locked by somebody else 820 \"BACKEND:LOCKER:REV\" if the file is locked by somebody else
821 \"BACKEND@REV\" if the file was locally added
822 \"BACKEND!REV\" if the file contains conflicts or was removed
823 \"BACKEND?REV\" if the file is under VC, but is missing
821 824
822This function assumes that the file is registered." 825This function assumes that the file is registered."
823 (let* ((backend-name (symbol-name backend)) 826 (let* ((backend-name (symbol-name backend))
@@ -947,6 +950,8 @@ current, and kill the buffer that visits the link."
947 (define-key map "i" 'vc-register) 950 (define-key map "i" 'vc-register)
948 (define-key map "l" 'vc-print-log) 951 (define-key map "l" 'vc-print-log)
949 (define-key map "L" 'vc-print-root-log) 952 (define-key map "L" 'vc-print-root-log)
953 (define-key map "I" 'vc-log-incoming)
954 (define-key map "O" 'vc-log-outgoing)
950 (define-key map "m" 'vc-merge) 955 (define-key map "m" 'vc-merge)
951 (define-key map "r" 'vc-retrieve-tag) 956 (define-key map "r" 'vc-retrieve-tag)
952 (define-key map "s" 'vc-create-tag) 957 (define-key map "s" 'vc-create-tag)
@@ -989,6 +994,12 @@ current, and kill the buffer that visits the link."
989 (define-key map [vc-update-change-log] 994 (define-key map [vc-update-change-log]
990 `(menu-item ,(purecopy "Update ChangeLog") vc-update-change-log 995 `(menu-item ,(purecopy "Update ChangeLog") vc-update-change-log
991 :help ,(purecopy "Find change log file and add entries from recent version control logs"))) 996 :help ,(purecopy "Find change log file and add entries from recent version control logs")))
997 (define-key map [vc-log-out]
998 `(menu-item ,(purecopy "Show Outgoing Log") vc-log-outgoing
999 :help ,(purecopy "Show a log of changes that will be sent with a push operation")))
1000 (define-key map [vc-log-in]
1001 `(menu-item ,(purecopy "Show Incoming Log") vc-log-incoming
1002 :help ,(purecopy "Show a log of changes that will be received with a pull operation")))
992 (define-key map [vc-print-log] 1003 (define-key map [vc-print-log]
993 `(menu-item ,(purecopy "Show History") vc-print-log 1004 `(menu-item ,(purecopy "Show History") vc-print-log
994 :help ,(purecopy "List the change log of the current file set in a window"))) 1005 :help ,(purecopy "List the change log of the current file set in a window")))
diff --git a/lisp/vc-mtn.el b/lisp/vc-mtn.el
index db9f5eb3333..f89b6a34d21 100644
--- a/lisp/vc-mtn.el
+++ b/lisp/vc-mtn.el
@@ -109,7 +109,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
109(defun vc-mtn-after-dir-status (update-function) 109(defun vc-mtn-after-dir-status (update-function)
110 (let (result) 110 (let (result)
111 (goto-char (point-min)) 111 (goto-char (point-min))
112 (re-search-forward "Current branch: \\(.*\\)\nChanges against parent \\(.*\\)" nil t) 112 (re-search-forward "\\(?:Current b\\|B\\)ranch: *\\(.*\\)\n?\nChanges against parent \\(.*\\)" nil t)
113 (while (re-search-forward 113 (while (re-search-forward
114 "^ \\(?:\\(patched \\)\\|\\(added \\)\\)\\(.*\\)$" nil t) 114 "^ \\(?:\\(patched \\)\\|\\(added \\)\\)\\(.*\\)$" nil t)
115 (cond ((match-end 1) (push (list (match-string 3) 'edited) result)) 115 (cond ((match-end 1) (push (list (match-string 3) 'edited) result))
@@ -128,7 +128,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
128 (with-temp-buffer 128 (with-temp-buffer
129 (vc-mtn-command t 0 file "status") 129 (vc-mtn-command t 0 file "status")
130 (goto-char (point-min)) 130 (goto-char (point-min))
131 (re-search-forward "Current branch: \\(.*\\)\nChanges against parent \\(.*\\)") 131 (re-search-forward "\\(?:Current b\\|B\\)ranch: *\\(.*\\)\n?\nChanges against parent \\(.*\\)")
132 (match-string 2)))) 132 (match-string 2))))
133 133
134(defun vc-mtn-workfile-branch (file) 134(defun vc-mtn-workfile-branch (file)
@@ -138,7 +138,7 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
138 (with-temp-buffer 138 (with-temp-buffer
139 (vc-mtn-command t 0 file "status") 139 (vc-mtn-command t 0 file "status")
140 (goto-char (point-min)) 140 (goto-char (point-min))
141 (re-search-forward "Current branch: \\(.*\\)\nChanges against parent \\(.*\\)") 141 (re-search-forward "\\(?:Current b\\|B\\)ranch: *\\(.*\\)\n?\nChanges against parent \\(.*\\)")
142 (match-string 1)))) 142 (match-string 1))))
143 143
144(defun vc-mtn-workfile-unchanged-p (file) 144(defun vc-mtn-workfile-unchanged-p (file)
@@ -172,8 +172,14 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
172(defun vc-mtn-responsible-p (file) (vc-mtn-root file)) 172(defun vc-mtn-responsible-p (file) (vc-mtn-root file))
173(defun vc-mtn-could-register (file) (vc-mtn-root file)) 173(defun vc-mtn-could-register (file) (vc-mtn-root file))
174 174
175(declare-function log-edit-extract-headers "log-edit" (headers string))
176
175(defun vc-mtn-checkin (files rev comment) 177(defun vc-mtn-checkin (files rev comment)
176 (vc-mtn-command nil 0 files "commit" "-m" comment)) 178 (apply 'vc-mtn-command nil 0 files
179 (nconc (list "commit" "-m")
180 (log-edit-extract-headers '(("Author" . "--author")
181 ("Date" . "--date"))
182 comment))))
177 183
178(defun vc-mtn-find-revision (file rev buffer) 184(defun vc-mtn-find-revision (file rev buffer)
179 (vc-mtn-command buffer 0 file "cat" "-r" rev)) 185 (vc-mtn-command buffer 0 file "cat" "-r" rev))
diff --git a/lisp/vc.el b/lisp/vc.el
index a7d4ec66391..7ba24821ef6 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -63,11 +63,18 @@
63;; although you might prefer to use C-c C-a (i.e. `log-edit-insert-changelog') 63;; although you might prefer to use C-c C-a (i.e. `log-edit-insert-changelog')
64;; from the commit buffer instead or to set `log-edit-setup-invert'. 64;; from the commit buffer instead or to set `log-edit-setup-invert'.
65;; 65;;
66;; The vc code maintains some internal state in order to reduce expensive 66;; When using SCCS, RCS, CVS: be careful not to do repo surgery, or
67;; version-control operations to a minimum. Some names are only computed 67;; operations like registrations and deletions and renames, outside VC
68;; once. If you perform version control operations with the backend while 68;; while VC is running. The support for these systems was designed
69;; vc's back is turned, or move/rename master files while vc is running, 69;; when disks were much slower, and the code maintains a lot of
70;; vc may get seriously confused. Don't do these things! 70;; internal state in order to reduce expensive operations to a
71;; minimum. Thus, if you mess with the repo while VC's back is turned,
72;; VC may get seriously confused.
73;;
74;; When using Subversion or a later system, anything you do outside VC
75;; *through the VCS tools* should safely interlock with VC
76;; operations. Under these VC does little state caching, because local
77;; operations are assumed to be fast. The dividing line is
71;; 78;;
72;; ADDING SUPPORT FOR OTHER BACKENDS 79;; ADDING SUPPORT FOR OTHER BACKENDS
73;; 80;;
@@ -196,7 +203,7 @@
196;; 203;;
197;; Return non-nil if FILE is unchanged from the working revision. 204;; Return non-nil if FILE is unchanged from the working revision.
198;; This function should do a brief comparison of FILE's contents 205;; This function should do a brief comparison of FILE's contents
199;; with those of the repository master of the working revision. If 206;; with those of the repository copy of the working revision. If
200;; the backend does not have such a brief-comparison feature, the 207;; the backend does not have such a brief-comparison feature, the
201;; default implementation of this function can be used, which 208;; default implementation of this function can be used, which
202;; delegates to a full vc-BACKEND-diff. (Note that vc-BACKEND-diff 209;; delegates to a full vc-BACKEND-diff. (Note that vc-BACKEND-diff
@@ -263,12 +270,10 @@
263;; 270;;
264;; * checkin (files rev comment) 271;; * checkin (files rev comment)
265;; 272;;
266;; Commit changes in FILES to this backend. If REV is non-nil, that 273;; Commit changes in FILES to this backend. REV is a historical artifact
267;; should become the new revision number (not all backends do 274;; and should be ignored. COMMENT is used as a check-in comment.
268;; anything with it). COMMENT is used as a check-in comment. The 275;; The implementation should pass the value of vc-checkin-switches to
269;; implementation should pass the value of vc-checkin-switches to 276;; the backend command.
270;; the backend command. (Note: in older versions of VC, this
271;; command took a single file argument and not a list.)
272;; 277;;
273;; * find-revision (file rev buffer) 278;; * find-revision (file rev buffer)
274;; 279;;
@@ -344,6 +349,16 @@
344;; revision. At this point START-REVISION is only required to work 349;; revision. At this point START-REVISION is only required to work
345;; in conjunction with LIMIT = 1. 350;; in conjunction with LIMIT = 1.
346;; 351;;
352;; * log-outgoing (backend remote-location)
353;;
354;; Insert in BUFFER the revision log for the changes that will be
355;; sent when performing a push operation to REMOTE-LOCATION.
356;;
357;; * log-incoming (backend remote-location)
358;;
359;; Insert in BUFFER the revision log for the changes that will be
360;; received when performing a pull operation from REMOTE-LOCATION.
361;;
347;; - log-view-mode () 362;; - log-view-mode ()
348;; 363;;
349;; Mode to use for the output of print-log. This defaults to 364;; Mode to use for the output of print-log. This defaults to
@@ -477,6 +492,12 @@
477;; Return the revision number that follows REV for FILE, or nil if no such 492;; Return the revision number that follows REV for FILE, or nil if no such
478;; revision exists. 493;; revision exists.
479;; 494;;
495;; - log-edit-mode ()
496;;
497;; Turn on the mode used for editing the check in log. This
498;; defaults to `log-edit-mode'. If changed, it should use a mode
499;; derived from`log-edit-mode'.
500;;
480;; - check-headers () 501;; - check-headers ()
481;; 502;;
482;; Return non-nil if the current buffer contains any version headers. 503;; Return non-nil if the current buffer contains any version headers.
@@ -524,6 +545,12 @@
524;; makes it possible to provide menu entries for functionality that 545;; makes it possible to provide menu entries for functionality that
525;; is specific to a backend and which does not map to any of the VC 546;; is specific to a backend and which does not map to any of the VC
526;; generic concepts. 547;; generic concepts.
548;;
549;; - conflicted-files (dir)
550;;
551;; Return the list of files where conflict resolution is needed in
552;; the project that contains DIR.
553;; FIXME: what should it do with non-text conflicts?
527 554
528;;; Todo: 555;;; Todo:
529 556
@@ -553,9 +580,6 @@
553;; display the branch name in the mode-line. Replace 580;; display the branch name in the mode-line. Replace
554;; vc-cvs-sticky-tag with that. 581;; vc-cvs-sticky-tag with that.
555;; 582;;
556;; - vc-create-tag and vc-retrieve-tag should update the
557;; buffers that might be visiting the affected files.
558;;
559;;;; Internal cleanups: 583;;;; Internal cleanups:
560;; 584;;
561;; - backends that care about vc-stay-local should try to take it into 585;; - backends that care about vc-stay-local should try to take it into
@@ -746,7 +770,7 @@ See `run-hooks'."
746 "\n#ifndef lint\nstatic char vcid[] = \"\%s\";\n#endif /* lint */\n")) 770 "\n#ifndef lint\nstatic char vcid[] = \"\%s\";\n#endif /* lint */\n"))
747 "Associate static header string templates with file types. 771 "Associate static header string templates with file types.
748A \%s in the template is replaced with the first string associated with 772A \%s in the template is replaced with the first string associated with
749the file's version control type in `vc-header-alist'." 773the file's version control type in `vc-BACKEND-header'."
750 :type '(repeat (cons :format "%v" 774 :type '(repeat (cons :format "%v"
751 (regexp :tag "File Type") 775 (regexp :tag "File Type")
752 (string :tag "Header String"))) 776 (string :tag "Header String")))
@@ -767,7 +791,7 @@ is sensitive to blank lines."
767(defcustom vc-checkout-carefully (= (user-uid) 0) 791(defcustom vc-checkout-carefully (= (user-uid) 0)
768 "Non-nil means be extra-careful in checkout. 792 "Non-nil means be extra-careful in checkout.
769Verify that the file really is not locked 793Verify that the file really is not locked
770and that its contents match what the master file says." 794and that its contents match what the repository version says."
771 :type 'boolean 795 :type 'boolean
772 :group 'vc) 796 :group 'vc)
773(make-obsolete-variable 'vc-checkout-carefully 797(make-obsolete-variable 'vc-checkout-carefully
@@ -889,6 +913,16 @@ Within directories, only files already under version control are noticed."
889 (nreverse flattened))) 913 (nreverse flattened)))
890 914
891(defvar vc-dir-backend) 915(defvar vc-dir-backend)
916(defvar log-view-vc-backend)
917(defvar diff-vc-backend)
918
919(defun vc-deduce-backend ()
920 (cond ((derived-mode-p 'vc-dir-mode) vc-dir-backend)
921 ((derived-mode-p 'log-view-mode) log-view-vc-backend)
922 ((derived-mode-p 'diff-mode) diff-vc-backend)
923 ((derived-mode-p 'dired-mode)
924 (vc-responsible-backend default-directory))
925 (vc-mode (vc-backend buffer-file-name))))
892 926
893(declare-function vc-dir-current-file "vc-dir" ()) 927(declare-function vc-dir-current-file "vc-dir" ())
894(declare-function vc-dir-deduce-fileset "vc-dir" (&optional state-model-only-files)) 928(declare-function vc-dir-deduce-fileset "vc-dir" (&optional state-model-only-files))
@@ -1030,8 +1064,7 @@ merge in the changes into your working copy."
1030 (state (nth 3 vc-fileset)) 1064 (state (nth 3 vc-fileset))
1031 ;; The backend should check that the checkout-model is consistent 1065 ;; The backend should check that the checkout-model is consistent
1032 ;; among all the `files'. 1066 ;; among all the `files'.
1033 (model (nth 4 vc-fileset)) 1067 (model (nth 4 vc-fileset)))
1034 revision)
1035 1068
1036 ;; Do the right thing 1069 ;; Do the right thing
1037 (cond 1070 (cond
@@ -1046,11 +1079,13 @@ merge in the changes into your working copy."
1046 (cond 1079 (cond
1047 (verbose 1080 (verbose
1048 ;; go to a different revision 1081 ;; go to a different revision
1049 (setq revision (read-string "Branch, revision, or backend to move to: ")) 1082 (let* ((revision
1050 (let ((revision-downcase (downcase revision))) 1083 (read-string "Branch, revision, or backend to move to: "))
1084 (revision-downcase (downcase revision)))
1051 (if (member 1085 (if (member
1052 revision-downcase 1086 revision-downcase
1053 (mapcar (lambda (arg) (downcase (symbol-name arg))) vc-handled-backends)) 1087 (mapcar (lambda (arg) (downcase (symbol-name arg)))
1088 vc-handled-backends))
1054 (let ((vsym (intern-soft revision-downcase))) 1089 (let ((vsym (intern-soft revision-downcase)))
1055 (dolist (file files) (vc-transfer-file file vsym))) 1090 (dolist (file files) (vc-transfer-file file vsym)))
1056 (dolist (file files) 1091 (dolist (file files)
@@ -1095,8 +1130,8 @@ merge in the changes into your working copy."
1095 (message "No files remain to be committed") 1130 (message "No files remain to be committed")
1096 (if (not verbose) 1131 (if (not verbose)
1097 (vc-checkin ready-for-commit backend) 1132 (vc-checkin ready-for-commit backend)
1098 (setq revision (read-string "New revision or backend: ")) 1133 (let* ((revision (read-string "New revision or backend: "))
1099 (let ((revision-downcase (downcase revision))) 1134 (revision-downcase (downcase revision)))
1100 (if (member 1135 (if (member
1101 revision-downcase 1136 revision-downcase
1102 (mapcar (lambda (arg) (downcase (symbol-name arg))) 1137 (mapcar (lambda (arg) (downcase (symbol-name arg)))
@@ -1341,7 +1376,7 @@ Type \\[vc-next-action] to check in changes.")
1341(defun vc-checkin (files backend &optional rev comment initial-contents) 1376(defun vc-checkin (files backend &optional rev comment initial-contents)
1342 "Check in FILES. 1377 "Check in FILES.
1343The optional argument REV may be a string specifying the new revision 1378The optional argument REV may be a string specifying the new revision
1344level (if nil increment the current level). COMMENT is a comment 1379level (strongly deprecated). COMMENT is a comment
1345string; if omitted, a buffer is popped up to accept a comment. If 1380string; if omitted, a buffer is popped up to accept a comment. If
1346INITIAL-CONTENTS is non-nil, then COMMENT is used as the initial contents 1381INITIAL-CONTENTS is non-nil, then COMMENT is used as the initial contents
1347of the log entry buffer. 1382of the log entry buffer.
@@ -1355,26 +1390,30 @@ Runs the normal hooks `vc-before-checkin-hook' and `vc-checkin-hook'."
1355 (lexical-let 1390 (lexical-let
1356 ((backend backend)) 1391 ((backend backend))
1357 (vc-start-logentry 1392 (vc-start-logentry
1358 files rev comment initial-contents 1393 files comment initial-contents
1359 "Enter a change comment." 1394 "Enter a change comment."
1360 "*VC-log*" 1395 "*VC-log*"
1361 (lambda (files rev comment) 1396 (lambda ()
1362 (message "Checking in %s..." (vc-delistify files)) 1397 (vc-call-backend backend 'log-edit-mode))
1363 ;; "This log message intentionally left almost blank". 1398 (lexical-let ((rev rev))
1364 ;; RCS 5.7 gripes about white-space-only comments too. 1399 (lambda (files comment)
1365 (or (and comment (string-match "[^\t\n ]" comment)) 1400 (message "Checking in %s..." (vc-delistify files))
1366 (setq comment "*** empty log message ***")) 1401 ;; "This log message intentionally left almost blank".
1367 (with-vc-properties 1402 ;; RCS 5.7 gripes about white-space-only comments too.
1368 files 1403 (or (and comment (string-match "[^\t\n ]" comment))
1369 ;; We used to change buffers to get local value of vc-checkin-switches, 1404 (setq comment "*** empty log message ***"))
1370 ;; but 'the' local buffer is not a well-defined concept for filesets. 1405 (with-vc-properties
1371 (progn 1406 files
1372 (vc-call-backend backend 'checkin files rev comment) 1407 ;; We used to change buffers to get local value of
1373 (mapc 'vc-delete-automatic-version-backups files)) 1408 ;; vc-checkin-switches, but 'the' local buffer is
1374 `((vc-state . up-to-date) 1409 ;; not a well-defined concept for filesets.
1375 (vc-checkout-time . ,(nth 5 (file-attributes file))) 1410 (progn
1376 (vc-working-revision . nil))) 1411 (vc-call-backend backend 'checkin files rev comment)
1377 (message "Checking in %s...done" (vc-delistify files))) 1412 (mapc 'vc-delete-automatic-version-backups files))
1413 `((vc-state . up-to-date)
1414 (vc-checkout-time . ,(nth 5 (file-attributes file)))
1415 (vc-working-revision . nil)))
1416 (message "Checking in %s...done" (vc-delistify files))))
1378 'vc-checkin-hook))) 1417 'vc-checkin-hook)))
1379 1418
1380;;; Additional entry points for examining version histories 1419;;; Additional entry points for examining version histories
@@ -1514,7 +1553,7 @@ returns t if the buffer had changes, nil otherwise."
1514 (not (string= (vc-working-revision file) "0"))) 1553 (not (string= (vc-working-revision file) "0")))
1515 (push file filtered) 1554 (push file filtered)
1516 ;; This file is added but not yet committed; 1555 ;; This file is added but not yet committed;
1517 ;; there is no master file to diff against. 1556 ;; there is no repository version to diff against.
1518 (if (or rev1 rev2) 1557 (if (or rev1 rev2)
1519 (error "No revisions of %s exist" file) 1558 (error "No revisions of %s exist" file)
1520 ;; We regard this as "changed". 1559 ;; We regard this as "changed".
@@ -1533,6 +1572,10 @@ returns t if the buffer had changes, nil otherwise."
1533 (message "%s" (cdr messages)) 1572 (message "%s" (cdr messages))
1534 nil) 1573 nil)
1535 (diff-mode) 1574 (diff-mode)
1575 (set (make-local-variable 'diff-vc-backend) (car vc-fileset))
1576 (set (make-local-variable 'revert-buffer-function)
1577 `(lambda (ignore-auto noconfirm)
1578 (vc-diff-internal ,async ',vc-fileset ,rev1 ,rev2 ,verbose)))
1536 ;; Make the *vc-diff* buffer read only, the diff-mode key 1579 ;; Make the *vc-diff* buffer read only, the diff-mode key
1537 ;; bindings are nicer for read only buffers. pcl-cvs does the 1580 ;; bindings are nicer for read only buffers. pcl-cvs does the
1538 ;; same thing. 1581 ;; same thing.
@@ -1639,18 +1682,20 @@ saving the buffer."
1639 ;; that's not what we want here, we want the diff for the VC root dir. 1682 ;; that's not what we want here, we want the diff for the VC root dir.
1640 (call-interactively 'vc-version-diff) 1683 (call-interactively 'vc-version-diff)
1641 (when buffer-file-name (vc-buffer-sync not-urgent)) 1684 (when buffer-file-name (vc-buffer-sync not-urgent))
1642 (let ((backend 1685 (let ((backend (vc-deduce-backend))
1643 (cond ((derived-mode-p 'vc-dir-mode) vc-dir-backend)
1644 ((derived-mode-p 'dired-mode) (vc-responsible-backend default-directory))
1645 (vc-mode (vc-backend buffer-file-name))))
1646 rootdir working-revision) 1686 rootdir working-revision)
1647 (unless backend 1687 (unless backend
1648 (error "Buffer is not version controlled")) 1688 (error "Buffer is not version controlled"))
1649 (setq rootdir (vc-call-backend backend 'root default-directory)) 1689 (setq rootdir (vc-call-backend backend 'root default-directory))
1650 (setq working-revision (vc-working-revision rootdir)) 1690 (setq working-revision (vc-working-revision rootdir))
1651 (vc-diff-internal 1691 ;; VC diff for the root directory produces output that is
1652 t (list backend (list rootdir) working-revision) nil nil 1692 ;; relative to it. Bind default-directory to the root directory
1653 (called-interactively-p 'interactive))))) 1693 ;; here, this way the *vc-diff* buffer is setup correctly, so
1694 ;; relative file names work.
1695 (let ((default-directory rootdir))
1696 (vc-diff-internal
1697 t (list backend (list rootdir) working-revision) nil nil
1698 (called-interactively-p 'interactive))))))
1654 1699
1655;;;###autoload 1700;;;###autoload
1656(defun vc-revision-other-window (rev) 1701(defun vc-revision-other-window (rev)
@@ -1754,17 +1799,19 @@ The headers are reset to their non-expanded form."
1754 1799
1755(defun vc-modify-change-comment (files rev oldcomment) 1800(defun vc-modify-change-comment (files rev oldcomment)
1756 "Edit the comment associated with the given files and revision." 1801 "Edit the comment associated with the given files and revision."
1757 (vc-start-logentry 1802 ;; Less of a kluge than it looks like; log-view mode only passes
1758 files rev oldcomment t 1803 ;; this function a singleton list. Arguments left in this form in
1759 "Enter a replacement change comment." 1804 ;; case the more general operation ever becomes meaningful.
1760 "*VC-log*" 1805 (let ((backend (vc-responsible-backend (car files))))
1761 (lambda (files rev comment) 1806 (vc-start-logentry
1762 (vc-call-backend 1807 files oldcomment t
1763 ;; Less of a kluge than it looks like; log-view mode only passes 1808 "Enter a replacement change comment."
1764 ;; this function a singleton list. Arguments left in this form in 1809 "*VC-log*"
1765 ;; case the more general operation ever becomes meaningful. 1810 (lambda () (vc-call-backend backend 'log-edit-mode))
1766 (vc-responsible-backend (car files)) 1811 (lexical-let ((rev rev))
1767 'modify-change-comment files rev comment)))) 1812 (lambda (files comment)
1813 (vc-call-backend backend
1814 'modify-change-comment files rev comment))))))
1768 1815
1769;;;###autoload 1816;;;###autoload
1770(defun vc-merge () 1817(defun vc-merge ()
@@ -1825,6 +1872,31 @@ See Info node `Merging'."
1825;;;###autoload 1872;;;###autoload
1826(defalias 'vc-resolve-conflicts 'smerge-ediff) 1873(defalias 'vc-resolve-conflicts 'smerge-ediff)
1827 1874
1875;; TODO: This is OK but maybe we could integrate it better.
1876;; E.g. it could be run semi-automatically (via a prompt?) when saving a file
1877;; that was conflicted (i.e. upon mark-resolved).
1878;; FIXME: should we add an "other-window" version? Or maybe we should
1879;; hook it inside find-file so it automatically works for
1880;; find-file-other-window as well. E.g. find-file could use a new
1881;; `default-next-file' variable for its default file (M-n), and
1882;; we could then set it upon mark-resolve, so C-x C-s C-x C-f M-n would
1883;; automatically offer the next conflicted file.
1884(defun vc-find-conflicted-file ()
1885 "Visit the next conflicted file in the current project."
1886 (interactive)
1887 (let* ((backend (or (if buffer-file-name (vc-backend buffer-file-name))
1888 (vc-responsible-backend default-directory)
1889 (error "No VC backend")))
1890 (files (vc-call-backend backend
1891 'conflicted-files default-directory)))
1892 ;; Don't try and visit the current file.
1893 (if (equal (car files) buffer-file-name) (pop files))
1894 (if (null files)
1895 (message "No more conflicted files")
1896 (find-file (pop files))
1897 (message "%s more conflicted files after this one"
1898 (if files (length files) "No")))))
1899
1828;; Named-configuration entry points 1900;; Named-configuration entry points
1829 1901
1830(defun vc-tag-precondition (dir) 1902(defun vc-tag-precondition (dir)
@@ -1850,13 +1922,22 @@ the named configuration. If the prefix argument BRANCHP is
1850given, the tag is made as a new branch and the files are 1922given, the tag is made as a new branch and the files are
1851checked out in that new branch." 1923checked out in that new branch."
1852 (interactive 1924 (interactive
1853 (list (read-file-name "Directory: " default-directory default-directory t) 1925 (let ((granularity
1854 (read-string "New tag name: ") 1926 (vc-call-backend (vc-responsible-backend default-directory)
1855 current-prefix-arg)) 1927 'revision-granularity)))
1928 (list
1929 (if (eq granularity 'repository)
1930 ;; For VC's that do not work at file level, it's pointless
1931 ;; to ask for a directory, branches are created at repository level.
1932 default-directory
1933 (read-file-name "Directory: " default-directory default-directory t))
1934 (read-string (if current-prefix-arg "New branch name: " "New tag name: "))
1935 current-prefix-arg)))
1856 (message "Making %s... " (if branchp "branch" "tag")) 1936 (message "Making %s... " (if branchp "branch" "tag"))
1857 (when (file-directory-p dir) (setq dir (file-name-as-directory dir))) 1937 (when (file-directory-p dir) (setq dir (file-name-as-directory dir)))
1858 (vc-call-backend (vc-responsible-backend dir) 1938 (vc-call-backend (vc-responsible-backend dir)
1859 'create-tag dir name branchp) 1939 'create-tag dir name branchp)
1940 (vc-resynch-buffer dir t t t)
1860 (message "Making %s... done" (if branchp "branch" "tag"))) 1941 (message "Making %s... done" (if branchp "branch" "tag")))
1861 1942
1862;;;###autoload 1943;;;###autoload
@@ -1867,8 +1948,16 @@ If locking is used for the files in DIR, then there must not be any
1867locked files at or below DIR (but if NAME is empty, locked files are 1948locked files at or below DIR (but if NAME is empty, locked files are
1868allowed and simply skipped)." 1949allowed and simply skipped)."
1869 (interactive 1950 (interactive
1870 (list (read-file-name "Directory: " default-directory default-directory t) 1951 (let ((granularity
1871 (read-string "Tag name to retrieve (default latest revisions): "))) 1952 (vc-call-backend (vc-responsible-backend default-directory)
1953 'revision-granularity)))
1954 (list
1955 (if (eq granularity 'repository)
1956 ;; For VC's that do not work at file level, it's pointless
1957 ;; to ask for a directory, branches are created at repository level.
1958 default-directory
1959 (read-file-name "Directory: " default-directory default-directory t))
1960 (read-string "Tag name to retrieve (default latest revisions): "))))
1872 (let ((update (yes-or-no-p "Update any affected buffers? ")) 1961 (let ((update (yes-or-no-p "Update any affected buffers? "))
1873 (msg (if (or (not name) (string= name "")) 1962 (msg (if (or (not name) (string= name ""))
1874 (format "Updating %s... " (abbreviate-file-name dir)) 1963 (format "Updating %s... " (abbreviate-file-name dir))
@@ -1877,8 +1966,10 @@ allowed and simply skipped)."
1877 (message "%s" msg) 1966 (message "%s" msg)
1878 (vc-call-backend (vc-responsible-backend dir) 1967 (vc-call-backend (vc-responsible-backend dir)
1879 'retrieve-tag dir name update) 1968 'retrieve-tag dir name update)
1969 (vc-resynch-buffer dir t t t)
1880 (message "%s" (concat msg "done")))) 1970 (message "%s" (concat msg "done"))))
1881 1971
1972
1882;; Miscellaneous other entry points 1973;; Miscellaneous other entry points
1883 1974
1884;; FIXME: this should be a defcustom 1975;; FIXME: this should be a defcustom
@@ -1891,9 +1982,31 @@ If it contains `directory' then if the fileset contains a directory show a short
1891If it contains `file' then show short logs for files. 1982If it contains `file' then show short logs for files.
1892Not all VC backends support short logs!") 1983Not all VC backends support short logs!")
1893 1984
1894(defvar log-view-vc-backend)
1895(defvar log-view-vc-fileset) 1985(defvar log-view-vc-fileset)
1896 1986
1987(defun vc-print-log-setup-buttons (working-revision is-start-revision limit pl-return)
1988 (when (and limit (not (eq 'limit-unsupported pl-return))
1989 (not is-start-revision))
1990 (goto-char (point-max))
1991 (lexical-let ((working-revision working-revision)
1992 (limit limit))
1993 (widget-create 'push-button
1994 :notify (lambda (&rest ignore)
1995 (vc-print-log-internal
1996 log-view-vc-backend log-view-vc-fileset
1997 working-revision nil (* 2 limit)))
1998 :help-echo "Show the log again, and double the number of log entries shown"
1999 "Show 2X entries")
2000 (widget-insert " ")
2001 (widget-create 'push-button
2002 :notify (lambda (&rest ignore)
2003 (vc-print-log-internal
2004 log-view-vc-backend log-view-vc-fileset
2005 working-revision nil nil))
2006 :help-echo "Show the log again, showing all entries"
2007 "Show unlimited entries"))
2008 (widget-setup)))
2009
1897(defun vc-print-log-internal (backend files working-revision 2010(defun vc-print-log-internal (backend files working-revision
1898 &optional is-start-revision limit) 2011 &optional is-start-revision limit)
1899 ;; Don't switch to the output buffer before running the command, 2012 ;; Don't switch to the output buffer before running the command,
@@ -1901,6 +2014,8 @@ Not all VC backends support short logs!")
1901 ;; buffer can be accessed by the command. 2014 ;; buffer can be accessed by the command.
1902 (let ((dir-present nil) 2015 (let ((dir-present nil)
1903 (vc-short-log nil) 2016 (vc-short-log nil)
2017 (buffer-name "*vc-change-log*")
2018 type
1904 pl-return) 2019 pl-return)
1905 (dolist (file files) 2020 (dolist (file files)
1906 (when (file-directory-p file) 2021 (when (file-directory-p file)
@@ -1909,44 +2024,78 @@ Not all VC backends support short logs!")
1909 (not (null (if dir-present 2024 (not (null (if dir-present
1910 (memq 'directory vc-log-short-style) 2025 (memq 'directory vc-log-short-style)
1911 (memq 'file vc-log-short-style))))) 2026 (memq 'file vc-log-short-style)))))
1912 2027 (setq type (if vc-short-log 'short 'long))
1913 (setq pl-return (vc-call-backend 2028 (lexical-let
1914 backend 'print-log files "*vc-change-log*" 2029 ((working-revision working-revision)
1915 vc-short-log (when is-start-revision working-revision) limit)) 2030 (backend backend)
1916 (pop-to-buffer "*vc-change-log*") 2031 (limit limit)
2032 (shortlog vc-short-log)
2033 (files files)
2034 (is-start-revision is-start-revision))
2035 (vc-log-internal-common
2036 backend buffer-name files type
2037 (lambda (bk buf type-arg files-arg)
2038 (vc-call-backend bk 'print-log files-arg buf
2039 shortlog (when is-start-revision working-revision) limit))
2040 (lambda (bk files-arg ret)
2041 (vc-print-log-setup-buttons working-revision
2042 is-start-revision limit ret))
2043 (lambda (bk)
2044 (vc-call-backend bk 'show-log-entry working-revision))
2045 (lambda (ignore-auto noconfirm)
2046 (vc-print-log-internal backend files working-revision is-start-revision limit))))))
2047
2048(defvar vc-log-view-type nil
2049 "Set this to differentiate the different types of logs.")
2050(put 'vc-log-view-type 'permanent-local t)
2051
2052(defun vc-log-internal-common (backend
2053 buffer-name
2054 files
2055 type
2056 backend-func
2057 setup-buttons-func
2058 goto-location-func
2059 rev-buff-func)
2060 (let (retval)
2061 (with-current-buffer (get-buffer-create buffer-name)
2062 (set (make-local-variable 'vc-log-view-type) type))
2063 (setq retval (funcall backend-func backend buffer-name type files))
2064 (pop-to-buffer buffer-name)
1917 (let ((inhibit-read-only t)) 2065 (let ((inhibit-read-only t))
1918 ;; log-view-mode used to be called with inhibit-read-only bound 2066 ;; log-view-mode used to be called with inhibit-read-only bound
1919 ;; to t, so let's keep doing it, just in case. 2067 ;; to t, so let's keep doing it, just in case.
1920 (vc-call-backend backend 'log-view-mode)) 2068 (vc-call-backend backend 'log-view-mode)
1921 (set (make-local-variable 'log-view-vc-backend) backend) 2069 (set (make-local-variable 'log-view-vc-backend) backend)
1922 (set (make-local-variable 'log-view-vc-fileset) files) 2070 (set (make-local-variable 'log-view-vc-fileset) files)
1923 2071 (set (make-local-variable 'revert-buffer-function)
2072 rev-buff-func))
1924 (vc-exec-after 2073 (vc-exec-after
1925 `(let ((inhibit-read-only t)) 2074 `(let ((inhibit-read-only t))
1926 (when (and ,limit (not ,(eq 'limit-unsupported pl-return)) 2075 (funcall ',setup-buttons-func ',backend ',files ',retval)
1927 (not ,is-start-revision))
1928 (goto-char (point-max))
1929 (widget-create 'push-button
1930 :notify (lambda (&rest ignore)
1931 (vc-print-log-internal
1932 ',backend ',files ',working-revision nil (* 2 ,limit)))
1933 :help-echo "Show the log again, and double the number of log entries shown"
1934 "Show 2X entries")
1935 (widget-insert " ")
1936 (widget-create 'push-button
1937 :notify (lambda (&rest ignore)
1938 (vc-print-log-internal
1939 ',backend ',files ',working-revision nil nil))
1940 :help-echo "Show the log again, showing all entries"
1941 "Show unlimited entries")
1942 (widget-setup))
1943
1944 (shrink-window-if-larger-than-buffer) 2076 (shrink-window-if-larger-than-buffer)
1945 ;; move point to the log entry for the working revision 2077 (funcall ',goto-location-func ',backend)
1946 (vc-call-backend ',backend 'show-log-entry ',working-revision)
1947 (setq vc-sentinel-movepoint (point)) 2078 (setq vc-sentinel-movepoint (point))
1948 (set-buffer-modified-p nil))))) 2079 (set-buffer-modified-p nil)))))
1949 2080
2081(defun vc-incoming-outgoing-internal (backend remote-location buffer-name type)
2082 (vc-log-internal-common
2083 backend buffer-name nil type
2084 (lexical-let
2085 ((remote-location remote-location))
2086 (lambda (bk buf type-arg files)
2087 (vc-call-backend bk type-arg buf remote-location)))
2088 (lambda (bk files-arg ret))
2089 (lambda (bk)
2090 (goto-char (point-min)))
2091 (lexical-let
2092 ((backend backend)
2093 (remote-location remote-location)
2094 (buffer-name buffer-name)
2095 (type type))
2096 (lambda (ignore-auto noconfirm)
2097 (vc-incoming-outgoing-internal backend remote-location buffer-name type)))))
2098
1950;;;###autoload 2099;;;###autoload
1951(defun vc-print-log (&optional working-revision limit) 2100(defun vc-print-log (&optional working-revision limit)
1952 "List the change log of the current fileset in a window. 2101 "List the change log of the current fileset in a window.
@@ -1995,10 +2144,7 @@ When called interactively with a prefix argument, prompt for LIMIT."
1995 (list lim))) 2144 (list lim)))
1996 (t 2145 (t
1997 (list (when (> vc-log-show-limit 0) vc-log-show-limit))))) 2146 (list (when (> vc-log-show-limit 0) vc-log-show-limit)))))
1998 (let ((backend 2147 (let ((backend (vc-deduce-backend))
1999 (cond ((derived-mode-p 'vc-dir-mode) vc-dir-backend)
2000 ((derived-mode-p 'dired-mode) (vc-responsible-backend default-directory))
2001 (vc-mode (vc-backend buffer-file-name))))
2002 rootdir working-revision) 2148 rootdir working-revision)
2003 (unless backend 2149 (unless backend
2004 (error "Buffer is not version controlled")) 2150 (error "Buffer is not version controlled"))
@@ -2007,6 +2153,32 @@ When called interactively with a prefix argument, prompt for LIMIT."
2007 (vc-print-log-internal backend (list rootdir) working-revision nil limit))) 2153 (vc-print-log-internal backend (list rootdir) working-revision nil limit)))
2008 2154
2009;;;###autoload 2155;;;###autoload
2156(defun vc-log-incoming (&optional remote-location)
2157 "Show a log of changes that will be received with a pull operation from REMOTE-LOCATION.
2158When called interactively with a prefix argument, prompt for REMOTE-LOCATION.."
2159 (interactive
2160 (when current-prefix-arg
2161 (list (read-string "Remote location (empty for default): "))))
2162 (let ((backend (vc-deduce-backend))
2163 rootdir working-revision)
2164 (unless backend
2165 (error "Buffer is not version controlled"))
2166 (vc-incoming-outgoing-internal backend remote-location "*vc-incoming*" 'log-incoming)))
2167
2168;;;###autoload
2169(defun vc-log-outgoing (&optional remote-location)
2170 "Show a log of changes that will be sent with a push operation to REMOTE-LOCATION.
2171When called interactively with a prefix argument, prompt for REMOTE-LOCATION."
2172 (interactive
2173 (when current-prefix-arg
2174 (list (read-string "Remote location (empty for default): "))))
2175 (let ((backend (vc-deduce-backend))
2176 rootdir working-revision)
2177 (unless backend
2178 (error "Buffer is not version controlled"))
2179 (vc-incoming-outgoing-internal backend remote-location "*vc-outgoing*" 'log-outgoing)))
2180
2181;;;###autoload
2010(defun vc-revert () 2182(defun vc-revert ()
2011 "Revert working copies of the selected fileset to their repository contents. 2183 "Revert working copies of the selected fileset to their repository contents.
2012This asks for confirmation if the buffer contents are not identical 2184This asks for confirmation if the buffer contents are not identical
@@ -2240,7 +2412,7 @@ backend to NEW-BACKEND, and unregister FILE from the current backend.
2240 (if unmodified-file 2412 (if unmodified-file
2241 (copy-file unmodified-file file 2413 (copy-file unmodified-file file
2242 'ok-if-already-exists 'keep-date) 2414 'ok-if-already-exists 'keep-date)
2243 (when (y-or-n-p "Get base revision from master? ") 2415 (when (y-or-n-p "Get base revision from repository? ")
2244 (vc-revert-file file)))) 2416 (vc-revert-file file))))
2245 (vc-call-backend new-backend 'receive-file file rev)) 2417 (vc-call-backend new-backend 'receive-file file rev))
2246 (when modified-file 2418 (when modified-file
@@ -2327,7 +2499,7 @@ backend to NEW-BACKEND, and unregister FILE from the current backend.
2327 2499
2328;;;###autoload 2500;;;###autoload
2329(defun vc-rename-file (old new) 2501(defun vc-rename-file (old new)
2330 "Rename file OLD to NEW, and rename its master file likewise." 2502 "Rename file OLD to NEW in both work area and repository."
2331 (interactive "fVC rename file: \nFRename to: ") 2503 (interactive "fVC rename file: \nFRename to: ")
2332 ;; in CL I would have said (setq new (merge-pathnames new old)) 2504 ;; in CL I would have said (setq new (merge-pathnames new old))
2333 (let ((old-base (file-name-nondirectory old))) 2505 (let ((old-base (file-name-nondirectory old)))
@@ -2451,6 +2623,10 @@ to provide the `find-revision' operation instead."
2451 2623
2452(defalias 'vc-default-check-headers 'ignore) 2624(defalias 'vc-default-check-headers 'ignore)
2453 2625
2626(declare-function log-edit-mode "log-edit" ())
2627
2628(defun vc-default-log-edit-mode (backend) (log-edit-mode))
2629
2454(defun vc-default-log-view-mode (backend) (log-view-mode)) 2630(defun vc-default-log-view-mode (backend) (log-view-mode))
2455 2631
2456(defun vc-default-show-log-entry (backend rev) 2632(defun vc-default-show-log-entry (backend rev)
diff --git a/lisp/version.el b/lisp/version.el
index 127fdec26f0..49c355d7020 100644
--- a/lisp/version.el
+++ b/lisp/version.el
@@ -32,7 +32,7 @@
32(defconst emacs-copyright "Copyright (C) 2010 Free Software Foundation, Inc." "\ 32(defconst emacs-copyright "Copyright (C) 2010 Free Software Foundation, Inc." "\
33Short copyright string for this version of Emacs.") 33Short copyright string for this version of Emacs.")
34 34
35(defconst emacs-version "23.2.50" "\ 35(defconst emacs-version "23.2.90" "\
36Version numbers of this version of Emacs.") 36Version numbers of this version of Emacs.")
37 37
38(defconst emacs-major-version (progn (string-match "^[0-9]+" emacs-version) (string-to-number (match-string 0 emacs-version))) "\ 38(defconst emacs-major-version (progn (string-match "^[0-9]+" emacs-version) (string-to-number (match-string 0 emacs-version))) "\
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index 0859f8fba56..e75aba22269 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -316,9 +316,8 @@ size field.")
316 316
317(defvar widget-field-use-before-change t 317(defvar widget-field-use-before-change t
318 "Non-nil means use `before-change-functions' to track editable fields. 318 "Non-nil means use `before-change-functions' to track editable fields.
319This enables the use of undo, but doesn't work on Emacs 19.34 and earlier. 319This enables the use of undo. Using before hooks also means that
320Using before hooks also means that the :notify function can't know the 320the :notify function can't know the new value.")
321new value.")
322 321
323(defun widget-specify-field (widget from to) 322(defun widget-specify-field (widget from to)
324 "Specify editable button for WIDGET between FROM and TO." 323 "Specify editable button for WIDGET between FROM and TO."
@@ -1053,7 +1052,7 @@ POS defaults to the value of (point)."
1053 1052
1054(defvar widget-use-overlay-change t 1053(defvar widget-use-overlay-change t
1055 "If non-nil, use overlay change functions to tab around in the buffer. 1054 "If non-nil, use overlay change functions to tab around in the buffer.
1056This is much faster, but doesn't work reliably on Emacs 19.34.") 1055This is much faster.")
1057 1056
1058(defun widget-move (arg) 1057(defun widget-move (arg)
1059 "Move point to the ARG next field or button. 1058 "Move point to the ARG next field or button.
@@ -3751,5 +3750,4 @@ example:
3751 3750
3752(provide 'wid-edit) 3751(provide 'wid-edit)
3753 3752
3754;; arch-tag: a076e75e-18a1-4b46-8be5-3f317bcbc707
3755;;; wid-edit.el ends here 3753;;; wid-edit.el ends here
diff --git a/lisp/woman.el b/lisp/woman.el
index eb21f01e564..63c61016b52 100644
--- a/lisp/woman.el
+++ b/lisp/woman.el
@@ -1507,7 +1507,7 @@ Also make each path-info component into a list.
1507 ;; (topic) 1507 ;; (topic)
1508 ;; (topic (path-index) (path-index) ... ) 1508 ;; (topic (path-index) (path-index) ... )
1509 ;; (topic (path-index filename) (path-index filename) ... ) 1509 ;; (topic (path-index filename) (path-index filename) ... )
1510 ;; where the are no duplicates in the value lists. 1510 ;; where there are no duplicates in the value lists.
1511 ;; Topic must match first `word' of filename, so ... 1511 ;; Topic must match first `word' of filename, so ...
1512 (let ((topic-regexp 1512 (let ((topic-regexp
1513 (concat 1513 (concat
diff --git a/nextstep/Cocoa/Emacs.base/Contents/Info.plist b/nextstep/Cocoa/Emacs.base/Contents/Info.plist
index 64ea836fbf6..77be3ecf7dd 100644
--- a/nextstep/Cocoa/Emacs.base/Contents/Info.plist
+++ b/nextstep/Cocoa/Emacs.base/Contents/Info.plist
@@ -553,7 +553,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
553 <key>CFBundleExecutable</key> 553 <key>CFBundleExecutable</key>
554 <string>Emacs</string> 554 <string>Emacs</string>
555 <key>CFBundleGetInfoString</key> 555 <key>CFBundleGetInfoString</key>
556 <string>Emacs 23.2.50 Copyright (C) 2010 Free Software Foundation, Inc.</string> 556 <string>Emacs 23.2.90 Copyright (C) 2010 Free Software Foundation, Inc.</string>
557 <key>CFBundleIconFile</key> 557 <key>CFBundleIconFile</key>
558 <string>Emacs.icns</string> 558 <string>Emacs.icns</string>
559 <key>CFBundleIdentifier</key> 559 <key>CFBundleIdentifier</key>
@@ -566,7 +566,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
566 <string>APPL</string> 566 <string>APPL</string>
567 <!-- This should be the emacs version number. --> 567 <!-- This should be the emacs version number. -->
568 <key>CFBundleShortVersionString</key> 568 <key>CFBundleShortVersionString</key>
569 <string>23.2.50</string> 569 <string>23.2.90</string>
570 <key>CFBundleSignature</key> 570 <key>CFBundleSignature</key>
571 <string>EMAx</string> 571 <string>EMAx</string>
572 <!-- This SHOULD be a build number. --> 572 <!-- This SHOULD be a build number. -->
diff --git a/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings b/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings
index ce2d9dfa404..c3edea0a204 100644
--- a/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings
+++ b/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings
@@ -1,6 +1,6 @@
1/* Localized versions of Info.plist keys */ 1/* Localized versions of Info.plist keys */
2 2
3CFBundleName = "Emacs"; 3CFBundleName = "Emacs";
4CFBundleShortVersionString = "Version 23.2.50"; 4CFBundleShortVersionString = "Version 23.2.90";
5CFBundleGetInfoString = "Emacs version 23.2.50, NS Windowing"; 5CFBundleGetInfoString = "Emacs version 23.2.90, NS Windowing";
6NSHumanReadableCopyright = "Copyright (C) 2010 Free Software Foundation, Inc."; 6NSHumanReadableCopyright = "Copyright (C) 2010 Free Software Foundation, Inc.";
diff --git a/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop b/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop
index 24402da3ea2..fc7293cc6b3 100644
--- a/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop
+++ b/nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop
@@ -1,7 +1,7 @@
1[Desktop Entry] 1[Desktop Entry]
2Encoding=UTF-8 2Encoding=UTF-8
3Type=Application 3Type=Application
4Version=23.2.50 4Version=23.2.90
5Categories=GNUstep 5Categories=GNUstep
6Name=Emacs 6Name=Emacs
7Comment=GNU Emacs for NeXT/Open/GNUstep and OS X 7Comment=GNU Emacs for NeXT/Open/GNUstep and OS X
diff --git a/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist b/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist
index a781b129b84..5e1a64679f7 100644
--- a/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist
+++ b/nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist
@@ -2,7 +2,7 @@
2 ApplicationDescription = "GNU Emacs for GNUstep / OS X"; 2 ApplicationDescription = "GNU Emacs for GNUstep / OS X";
3 ApplicationIcon = emacs.tiff; 3 ApplicationIcon = emacs.tiff;
4 ApplicationName = Emacs; 4 ApplicationName = Emacs;
5 ApplicationRelease = "23.2.50"; 5 ApplicationRelease = "23.2.90";
6 Authors = ( 6 Authors = (
7 "Adrian Robert (GNUstep)", 7 "Adrian Robert (GNUstep)",
8 "Christophe de Dinechin (MacOS X)", 8 "Christophe de Dinechin (MacOS X)",
@@ -13,7 +13,7 @@
13 ); 13 );
14 Copyright = "Copyright (C) 2010 Free Software Foundation, Inc."; 14 Copyright = "Copyright (C) 2010 Free Software Foundation, Inc.";
15 CopyrightDescription = "Released under the GNU General Public License Version 3 or later"; 15 CopyrightDescription = "Released under the GNU General Public License Version 3 or later";
16 FullVersionID = "Emacs 23.2.50, NS Windowing"; 16 FullVersionID = "Emacs 23.2.90, NS Windowing";
17 NSExecutable = Emacs; 17 NSExecutable = Emacs;
18 NSIcon = emacs.tiff; 18 NSIcon = emacs.tiff;
19 NSPrincipalClass = NSApplication; 19 NSPrincipalClass = NSApplication;
diff --git a/nt/INSTALL b/nt/INSTALL
index da36b4e3390..83986c4e7c2 100644
--- a/nt/INSTALL
+++ b/nt/INSTALL
@@ -105,9 +105,9 @@
105 since v1.3.3, include the MinGW headers and libraries as an integral 105 since v1.3.3, include the MinGW headers and libraries as an integral
106 part). 106 part).
107 107
108 Note that building Emacs with Visual Studio 2005 (VC++ 8.0) is not 108 Note that building Emacs with Visual Studio 2005 (VC++ 8.0) and
109 supported at this time, due to changes introduced by Microsoft into 109 later is not supported at this time, due to changes introduced by
110 the libraries shipped with the compiler. 110 Microsoft into the libraries shipped with the compiler.
111 111
112 The rest of this file assumes you have a working development 112 The rest of this file assumes you have a working development
113 environment. If you just installed such an environment, try 113 environment. If you just installed such an environment, try
diff --git a/nt/emacs.rc b/nt/emacs.rc
index 6fc08e6e267..1266c8b8171 100644
--- a/nt/emacs.rc
+++ b/nt/emacs.rc
@@ -7,8 +7,8 @@ Emacs ICON icons\emacs.ico
7#endif 7#endif
8 8
9VS_VERSION_INFO VERSIONINFO 9VS_VERSION_INFO VERSIONINFO
10 FILEVERSION 23,2,50,0 10 FILEVERSION 23,2,90,0
11 PRODUCTVERSION 23,2,50,0 11 PRODUCTVERSION 23,2,90,0
12 FILEFLAGSMASK 0x3FL 12 FILEFLAGSMASK 0x3FL
13#ifdef EMACSDEBUG 13#ifdef EMACSDEBUG
14 FILEFLAGS 0x1L 14 FILEFLAGS 0x1L
@@ -25,12 +25,12 @@ BEGIN
25 BEGIN 25 BEGIN
26 VALUE "CompanyName", "Free Software Foundation\0" 26 VALUE "CompanyName", "Free Software Foundation\0"
27 VALUE "FileDescription", "GNU Emacs: The extensible self-documenting text editor\0" 27 VALUE "FileDescription", "GNU Emacs: The extensible self-documenting text editor\0"
28 VALUE "FileVersion", "23, 2, 50, 0\0" 28 VALUE "FileVersion", "23, 2, 90, 0\0"
29 VALUE "InternalName", "Emacs\0" 29 VALUE "InternalName", "Emacs\0"
30 VALUE "LegalCopyright", "Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010\0" 30 VALUE "LegalCopyright", "Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010\0"
31 VALUE "OriginalFilename", "emacs.exe" 31 VALUE "OriginalFilename", "emacs.exe"
32 VALUE "ProductName", "Emacs\0" 32 VALUE "ProductName", "Emacs\0"
33 VALUE "ProductVersion", "23, 2, 50, 0\0" 33 VALUE "ProductVersion", "23, 2, 90, 0\0"
34 VALUE "OLESelfRegister", "\0" 34 VALUE "OLESelfRegister", "\0"
35 END 35 END
36 END 36 END
diff --git a/nt/emacsclient.rc b/nt/emacsclient.rc
index 6a3ae2401cd..9da7524e04d 100644
--- a/nt/emacsclient.rc
+++ b/nt/emacsclient.rc
@@ -5,8 +5,8 @@ Emacs ICON icons\emacs.ico
5#endif 5#endif
6 6
7VS_VERSION_INFO VERSIONINFO 7VS_VERSION_INFO VERSIONINFO
8 FILEVERSION 23,2,50,0 8 FILEVERSION 23,2,90,0
9 PRODUCTVERSION 23,2,50,0 9 PRODUCTVERSION 23,2,90,0
10 FILEFLAGSMASK 0x3FL 10 FILEFLAGSMASK 0x3FL
11#ifdef EMACSDEBUG 11#ifdef EMACSDEBUG
12 FILEFLAGS 0x1L 12 FILEFLAGS 0x1L
@@ -23,12 +23,12 @@ BEGIN
23 BEGIN 23 BEGIN
24 VALUE "CompanyName", "Free Software Foundation\0" 24 VALUE "CompanyName", "Free Software Foundation\0"
25 VALUE "FileDescription", "GNU EmacsClient: Client for the extensible self-documenting text editor\0" 25 VALUE "FileDescription", "GNU EmacsClient: Client for the extensible self-documenting text editor\0"
26 VALUE "FileVersion", "23, 2, 50, 0\0" 26 VALUE "FileVersion", "23, 2, 90, 0\0"
27 VALUE "InternalName", "EmacsClient\0" 27 VALUE "InternalName", "EmacsClient\0"
28 VALUE "LegalCopyright", "Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010\0" 28 VALUE "LegalCopyright", "Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010\0"
29 VALUE "OriginalFilename", "emacsclientw.exe" 29 VALUE "OriginalFilename", "emacsclientw.exe"
30 VALUE "ProductName", "EmacsClient\0" 30 VALUE "ProductName", "EmacsClient\0"
31 VALUE "ProductVersion", "23, 2, 50, 0\0" 31 VALUE "ProductVersion", "23, 2, 90, 0\0"
32 VALUE "OLESelfRegister", "\0" 32 VALUE "OLESelfRegister", "\0"
33 END 33 END
34 END 34 END
diff --git a/oldXMenu/ChangeLog b/oldXMenu/ChangeLog
index a7a1b849519..62cd79446e1 100644
--- a/oldXMenu/ChangeLog
+++ b/oldXMenu/ChangeLog
@@ -1,3 +1,9 @@
12010-11-01 Elias Pipping <pipping.elias@googlemail.com> (tiny change)
2
3 Make Emacs compile with clang (bug#7309).
4 * XMakeAssoc.c (XMakeAssoc):
5 * XDelAssoc.c (XDeleteAssoc): Declare the return type.
6
12010-05-07 Chong Yidong <cyd@stupidchicken.com> 72010-05-07 Chong Yidong <cyd@stupidchicken.com>
2 8
3 * Version 23.2 released. 9 * Version 23.2 released.
diff --git a/oldXMenu/XDelAssoc.c b/oldXMenu/XDelAssoc.c
index 11e8c35a774..e0f78b6acaa 100644
--- a/oldXMenu/XDelAssoc.c
+++ b/oldXMenu/XDelAssoc.c
@@ -17,6 +17,7 @@ struct qelem {
17 * an XId. An association may be removed only once. Redundant 17 * an XId. An association may be removed only once. Redundant
18 * deletes are meaningless (but cause no problems). 18 * deletes are meaningless (but cause no problems).
19 */ 19 */
20void
20XDeleteAssoc(dpy, table, x_id) 21XDeleteAssoc(dpy, table, x_id)
21 register Display *dpy; 22 register Display *dpy;
22 register XAssocTable *table; 23 register XAssocTable *table;
diff --git a/oldXMenu/XMakeAssoc.c b/oldXMenu/XMakeAssoc.c
index cf039c8f3c1..e46674db605 100644
--- a/oldXMenu/XMakeAssoc.c
+++ b/oldXMenu/XMakeAssoc.c
@@ -27,6 +27,7 @@ struct qelem {
27 * meaningless (but cause no problems). The queue in each association 27 * meaningless (but cause no problems). The queue in each association
28 * bucket is sorted (lowest XId to highest XId). 28 * bucket is sorted (lowest XId to highest XId).
29 */ 29 */
30void
30XMakeAssoc(dpy, table, x_id, data) 31XMakeAssoc(dpy, table, x_id, data)
31 register Display *dpy; 32 register Display *dpy;
32 register XAssocTable *table; 33 register XAssocTable *table;
diff --git a/src/ChangeLog b/src/ChangeLog
index 7daa09c703f..45aed177ef2 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -14,6 +14,155 @@
14 * lread.c (read_emacs_mule_char): Adjust for the change of 14 * lread.c (read_emacs_mule_char): Adjust for the change of
15 emacs_mule_charset. 15 emacs_mule_charset.
16 16
172010-11-22 Eli Zaretskii <eliz@gnu.org>
18
19 * w32.c (_PROCESS_MEMORY_COUNTERS_EX): Don't define with versions
20 of w32api >= 3.15. (Bug#6989) (Bug#7452)
21
222010-11-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
23
24 * alloc.c (mark_terminals): Ensure that the image cache is marked
25 even if the terminal object was marked earlier (Bug#6301).
26
272010-11-21 Chong Yidong <cyd@stupidchicken.com>
28
29 * editfns.c (Fbyte_to_string): Signal an error arg is not a byte.
30
312010-11-20 Jan Djärv <jan.h.d@swipnet.se>
32
33 * gtkutil.c (menubar_map_cb): New function (Bug#7425).
34 (xg_update_frame_menubar): Connect signal map to menubar_map_cb.
35 Use 23 as menubar height if 0. (Bug#7425).
36
372010-11-14 Jan Djärv <jan.h.d@swipnet.se>
38
39 * xsettings.c (init_gconf): Check HAVE_G_TYPE_INIT.
40
41 * config.in (HAVE_G_TYPE_INIT): New symbol.
42
432010-11-12 Eli Zaretskii <eliz@gnu.org>
44
45 * lread.c (Fload): Mention `load-in-progress' and
46 `load-file-name'. (Bug#7346)
47
482010-11-09 Eli Zaretskii <eliz@gnu.org>
49
50 * keyboard.c (kbd_buffer_nr_stored): Define only ifdef subprocesses.
51 (kbd_buffer_store_event_hold, kbd_buffer_get_event)
52 (tty_read_avail_input): Call kbd_buffer_nr_stored only ifdef
53 subprocesses. Use buffer_free only ifdef subprocesses.
54
55 * process.c (init_process) [subprocesses]: Init kbd_is_on_hold in
56 the subprocesses version, not in the non-subprocesses one.
57
58 * Makefile.in: Don't use ## comment, it breaks the MSDOS build.
59
60 * xfns.c (x_real_positions): Fix declaration-after-statement
61 problem.
62
632010-11-05 Chong Yidong <cyd@stupidchicken.com>
64
65 * image.c (free_image): Don't garbage the frame here, since this
66 function can be called while redisplaying (Bug#7210).
67 (uncache_image): Garbage the frame here (Bug#6426).
68
692010-11-04 Chong Yidong <cyd@stupidchicken.com>
70
71 * process.c (Fmake_network_process): Don't apply Bug#5173 fix for
72 Windows.
73
742010-11-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
75
76 * process.c (Fmake_network_process): Don't call turn_on_atimers around
77 `connect' (Bug#5723).
78
792010-11-04 Helmut Eller <eller.helmut@gmail.com>
80
81 * process.c (Fmake_network_process): Call `select' for interrupted
82 `connect' rather than creating new socket (Bug#5173).
83
842010-11-04 Kenichi Handa <handa@m17n.org>
85
86 * font.c (font_delete_unmatched): Check Vface_ignored_fonts.
87 Don't sheck SPEC if it is nil.
88 (font_list_entities): Call font_delete_unmatched if
89 Vface_ignored_fonts is non-nil.
90
912010-11-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
92
93 * dispextern.h (TRY_WINDOW_CHECK_MARGINS)
94 (TRY_WINDOW_IGNORE_FONTS_CHANGE): New defines.
95
96 * xdisp.c (try_window): Change arg from CHECK_MARGINS to FLAGS.
97 Don't abort with fonts change if TRY_WINDOW_IGNORE_FONTS_CHANGE is
98 set in FLAGS. Callers with non-zero CHECK_MARGINS changed to use
99 TRY_WINDOW_CHECK_MARGINS.
100
101 * xfns.c (Fx_show_tip): Undo last change. Call try_window with
102 TRY_WINDOW_IGNORE_FONTS_CHANGE (Bug#2423).
103
1042010-11-04 Jan Djärv <jan.h.d@swipnet.se>
105
106 * xfns.c (x_real_positions): Only use _NET_FRAME_EXTENTS if our
107 parent is the root window. Check this after traversing window tree.
108
109 * xterm.c (x_term_init): Initialize Xatom_net_frame_extents.
110
111 * xterm.h (struct x_display_info): Xatom_net_frame_extents is new.
112
113 * xfns.c (x_real_positions): Try to get _NET_FRAME_EXTENTS first
114 before traversing window tree (Bug#5721).
115
1162010-11-03 Glenn Morris <rgm@gnu.org>
117
118 * Makefile.in (CRT_DIR): New variable, set by configure.
119 * m/amdx86-64.h, m/ibms390x.h (START_FILES, LIB_STANDARD):
120 Use $CRT_DIR rather than HAVE_LIB64_DIR. (Bug#5655)
121
1222010-11-01 Jan Djärv <jan.h.d@swipnet.se>
123
124 * process.c (kbd_is_on_hold): New variable.
125 (hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p):
126 New functions.
127 (wait_reading_process_output): If kbd_on_hold_p returns non-zero,
128 select on empty input mask.
129 (init_process): Initialize kbd_is_on_hold to 0.
130
131 * process.h (hold_keyboard_input, unhold_keyboard_input)
132 (kbd_on_hold_p): Declare.
133
134 * keyboard.c (input_available_signal): Declare.
135 (kbd_buffer_nr_stored): New function.
136 (kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns
137 more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571).
138 (kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored
139 returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571).
140 (tty_read_avail_input): If input is on hold, return.
141 Don't read more that free slots in kbd_buffer (Bug#6571).
142
1432010-10-31 Chong Yidong <cyd@stupidchicken.com>
144
145 * xterm.c (x_connection_closed): Print informative error message
146 when aborting on GTK. This requires using shut_down_emacs
147 directly instead of Fkill_emacs.
148
1492010-10-25 Michael Albinus <michael.albinus@gmx.de>
150
151 * dbusbind.c (Fdbus_call_method_asynchronously)
152 (Fdbus_register_signal, Fdbus_register_method): Check, whether
153 `dbus-registered-objects-table' is initialized.
154
1552010-10-24 Chong Yidong <cyd@stupidchicken.com>
156
157 * xterm.c (x_connection_closed): Kill Emacs unconditionally.
158
1592010-10-22 Eli Zaretskii <eliz@gnu.org>
160
161 * frame.c (Fframep, Fwindow_system): Deprecate use as a predicate.
162
163 * dispnew.c (syms_of_display) <initial-window-system, window-system>:
164 Deprecate use as a boolean flag.
165
172010-10-18 Ken Brown <kbrown@cornell.edu> 1662010-10-18 Ken Brown <kbrown@cornell.edu>
18 167
19 * s/cygwin.h (SIGNALS_VIA_CHARACTERS): New define (bug#7225). 168 * s/cygwin.h (SIGNALS_VIA_CHARACTERS): New define (bug#7225).
diff --git a/src/Makefile.in b/src/Makefile.in
index 9caa01d9066..5187ff4922a 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -67,6 +67,9 @@ bootstrap_exe = ../src/bootstrap-emacs${EXEEXT}
67 67
68OTHER_FILES = @OTHER_FILES@ 68OTHER_FILES = @OTHER_FILES@
69 69
70# Only used by amdx86-64 and ibms390x GNU/Linux.
71CRT_DIR=@CRT_DIR@
72
70# ========================== start of cpp stuff ======================= 73# ========================== start of cpp stuff =======================
71/* From here on, comments must be done in C syntax. */ 74/* From here on, comments must be done in C syntax. */
72 75
diff --git a/src/alloc.c b/src/alloc.c
index da63fe0f82b..4d19d3ac479 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -5771,13 +5771,14 @@ mark_terminals (void)
5771 for (t = terminal_list; t; t = t->next_terminal) 5771 for (t = terminal_list; t; t = t->next_terminal)
5772 { 5772 {
5773 eassert (t->name != NULL); 5773 eassert (t->name != NULL);
5774 if (!VECTOR_MARKED_P (t))
5775 {
5776#ifdef HAVE_WINDOW_SYSTEM 5774#ifdef HAVE_WINDOW_SYSTEM
5777 mark_image_cache (t->image_cache); 5775 /* If a terminal object is reachable from a stacpro'ed object,
5776 it might have been marked already. Make sure the image cache
5777 gets marked. */
5778 mark_image_cache (t->image_cache);
5778#endif /* HAVE_WINDOW_SYSTEM */ 5779#endif /* HAVE_WINDOW_SYSTEM */
5779 mark_vectorlike ((struct Lisp_Vector *)t); 5780 if (!VECTOR_MARKED_P (t))
5780 } 5781 mark_vectorlike ((struct Lisp_Vector *)t);
5781 } 5782 }
5782} 5783}
5783 5784
diff --git a/src/atimer.c b/src/atimer.c
index 432e2590dad..bcd38632ebd 100644
--- a/src/atimer.c
+++ b/src/atimer.c
@@ -175,9 +175,9 @@ cancel_atimer (timer)
175 for (t = *list, prev = NULL; t && t != timer; prev = t, t = t->next) 175 for (t = *list, prev = NULL; t && t != timer; prev = t, t = t->next)
176 ; 176 ;
177 177
178 /* If it is, take it off the its list, and put in on the 178 /* If it is, take it off its list, and put in on the free-list.
179 free-list. We don't bother to arrange for setting a 179 We don't bother to arrange for setting a different alarm time,
180 different alarm time, since a too early one doesn't hurt. */ 180 since a too early one doesn't hurt. */
181 if (t) 181 if (t)
182 { 182 {
183 if (prev) 183 if (prev)
diff --git a/src/config.in b/src/config.in
index 4667c0feb28..f7c5bbc7daf 100644
--- a/src/config.in
+++ b/src/config.in
@@ -292,6 +292,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
292/* Define to 1 if GTK can handle more than one display. */ 292/* Define to 1 if GTK can handle more than one display. */
293#undef HAVE_GTK_MULTIDISPLAY 293#undef HAVE_GTK_MULTIDISPLAY
294 294
295/* Define to 1 if you have the `g_type_init' function. */
296#undef HAVE_G_TYPE_INIT
297
295/* Define to 1 if netdb.h declares h_errno. */ 298/* Define to 1 if netdb.h declares h_errno. */
296#undef HAVE_H_ERRNO 299#undef HAVE_H_ERRNO
297 300
@@ -334,9 +337,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
334/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */ 337/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
335#undef HAVE_LANGINFO_CODESET 338#undef HAVE_LANGINFO_CODESET
336 339
337/* Define to 1 if the directory /usr/lib64 exists. */
338#undef HAVE_LIB64_DIR
339
340/* Define to 1 if you have the `com_err' library (-lcom_err). */ 340/* Define to 1 if you have the `com_err' library (-lcom_err). */
341#undef HAVE_LIBCOM_ERR 341#undef HAVE_LIBCOM_ERR
342 342
@@ -1178,15 +1178,19 @@ extern char *getenv ();
1178#ifdef HAVE_STDLIB_H 1178#ifdef HAVE_STDLIB_H
1179#include <stdlib.h> 1179#include <stdlib.h>
1180#endif 1180#endif
1181#ifndef __GNUC__ 1181#ifdef HAVE_ALLOCA_H
1182# ifdef HAVE_ALLOCA_H 1182# include <alloca.h>
1183# include <alloca.h> 1183#elif defined __GNUC__
1184# else /* AIX files deal with #pragma. */ 1184# define alloca __builtin_alloca
1185# ifndef alloca /* predefined by HP cc +Olibcalls */ 1185#elif defined _AIX
1186char *alloca (); 1186# define alloca __alloca
1187# endif 1187#else
1188# endif /* HAVE_ALLOCA_H */ 1188# include <stddef.h>
1189#endif /* __GNUC__ */ 1189# ifdef __cplusplus
1190extern "C"
1191# endif
1192void *alloca (size_t);
1193#endif
1190#ifndef HAVE_SIZE_T 1194#ifndef HAVE_SIZE_T
1191typedef unsigned size_t; 1195typedef unsigned size_t;
1192#endif 1196#endif
diff --git a/src/dbusbind.c b/src/dbusbind.c
index 60697c8a4e9..37bfbf4badf 100644
--- a/src/dbusbind.c
+++ b/src/dbusbind.c
@@ -1175,6 +1175,10 @@ usage: (dbus-call-method-asynchronously BUS SERVICE PATH INTERFACE METHOD HANDLE
1175 SDATA (interface), 1175 SDATA (interface),
1176 SDATA (method)); 1176 SDATA (method));
1177 1177
1178 /* Check dbus-registered-objects-table. */
1179 if (!HASH_TABLE_P (Vdbus_registered_objects_table))
1180 XD_SIGNAL1 (build_string ("dbus.el is not loaded"));
1181
1178 /* Open a connection to the bus. */ 1182 /* Open a connection to the bus. */
1179 connection = xd_initialize (bus); 1183 connection = xd_initialize (bus);
1180 1184
@@ -1863,6 +1867,10 @@ usage: (dbus-register-signal BUS SERVICE PATH INTERFACE SIGNAL HANDLER &rest ARG
1863 wrong_type_argument (intern ("functionp"), handler); 1867 wrong_type_argument (intern ("functionp"), handler);
1864 GCPRO6 (bus, service, path, interface, signal, handler); 1868 GCPRO6 (bus, service, path, interface, signal, handler);
1865 1869
1870 /* Check dbus-registered-objects-table. */
1871 if (!HASH_TABLE_P (Vdbus_registered_objects_table))
1872 XD_SIGNAL1 (build_string ("dbus.el is not loaded"));
1873
1866 /* Retrieve unique name of service. If service is a known name, we 1874 /* Retrieve unique name of service. If service is a known name, we
1867 will register for the corresponding unique name, if any. Signals 1875 will register for the corresponding unique name, if any. Signals
1868 are sent always with the unique name as sender. Note: the unique 1876 are sent always with the unique name as sender. Note: the unique
@@ -1976,6 +1984,10 @@ used for composing the returning D-Bus message. */)
1976 /* TODO: We must check for a valid service name, otherwise there is 1984 /* TODO: We must check for a valid service name, otherwise there is
1977 a segmentation fault. */ 1985 a segmentation fault. */
1978 1986
1987 /* Check dbus-registered-objects-table. */
1988 if (!HASH_TABLE_P (Vdbus_registered_objects_table))
1989 XD_SIGNAL1 (build_string ("dbus.el is not loaded"));
1990
1979 /* Open a connection to the bus. */ 1991 /* Open a connection to the bus. */
1980 connection = xd_initialize (bus); 1992 connection = xd_initialize (bus);
1981 1993
diff --git a/src/dispextern.h b/src/dispextern.h
index ca91c5b6812..bc34aec2dd5 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -2841,6 +2841,10 @@ extern int x_intersect_rectangles P_ ((XRectangle *, XRectangle *,
2841 XRectangle *)); 2841 XRectangle *));
2842#endif 2842#endif
2843 2843
2844/* Flags passed to try_window. */
2845#define TRY_WINDOW_CHECK_MARGINS (1 << 0)
2846#define TRY_WINDOW_IGNORE_FONTS_CHANGE (1 << 1)
2847
2844/* Defined in fringe.c */ 2848/* Defined in fringe.c */
2845 2849
2846int lookup_fringe_bitmap (Lisp_Object); 2850int lookup_fringe_bitmap (Lisp_Object);
diff --git a/src/dispnew.c b/src/dispnew.c
index d32ce48cce6..b6149057a5a 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -7141,13 +7141,29 @@ It is up to you to set this variable if your terminal can do that. */);
7141 7141
7142 DEFVAR_LISP ("initial-window-system", &Vinitial_window_system, 7142 DEFVAR_LISP ("initial-window-system", &Vinitial_window_system,
7143 doc: /* Name of the window system that Emacs uses for the first frame. 7143 doc: /* Name of the window system that Emacs uses for the first frame.
7144The value is a symbol--for instance, `x' for X windows. 7144The value is a symbol:
7145The value is nil if Emacs is using a text-only terminal. */); 7145 nil for a termcap frame (a character-only terminal),
7146 'x' for an Emacs frame that is really an X window,
7147 'w32' for an Emacs frame that is a window on MS-Windows display,
7148 'ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display,
7149 'pc' for a direct-write MS-DOS frame.
7150
7151Use of this variable as a boolean is deprecated. Instead,
7152use `display-graphic-p' or any of the other `display-*-p'
7153predicates which report frame's specific UI-related capabilities. */);
7146 7154
7147 DEFVAR_KBOARD ("window-system", Vwindow_system, 7155 DEFVAR_KBOARD ("window-system", Vwindow_system,
7148 doc: /* Name of window system through which the selected frame is displayed. 7156 doc: /* Name of window system through which the selected frame is displayed.
7149The value is a symbol--for instance, `x' for X windows. 7157The value is a symbol:
7150The value is nil if the selected frame is on a text-only-terminal. */); 7158 nil for a termcap frame (a character-only terminal),
7159 'x' for an Emacs frame that is really an X window,
7160 'w32' for an Emacs frame that is a window on MS-Windows display,
7161 'ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display,
7162 'pc' for a direct-write MS-DOS frame.
7163
7164Use of this variable as a boolean is deprecated. Instead,
7165use `display-graphic-p' or any of the other `display-*-p'
7166predicates which report frame's specific UI-related capabilities. */);
7151 7167
7152 DEFVAR_LISP ("window-system-version", &Vwindow_system_version, 7168 DEFVAR_LISP ("window-system-version", &Vwindow_system_version,
7153 doc: /* The version number of the window system in use. 7169 doc: /* The version number of the window system in use.
diff --git a/src/editfns.c b/src/editfns.c
index ea279a462f2..910fd13aed4 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -222,12 +222,14 @@ usage: (char-to-string CHAR) */)
222} 222}
223 223
224DEFUN ("byte-to-string", Fbyte_to_string, Sbyte_to_string, 1, 1, 0, 224DEFUN ("byte-to-string", Fbyte_to_string, Sbyte_to_string, 1, 1, 0,
225 doc: /* Convert arg BYTE to a string containing that byte. */) 225 doc: /* Convert arg BYTE to a unibyte string containing that byte. */)
226 (byte) 226 (byte)
227 Lisp_Object byte; 227 Lisp_Object byte;
228{ 228{
229 unsigned char b; 229 unsigned char b;
230 CHECK_NUMBER (byte); 230 CHECK_NUMBER (byte);
231 if (XINT (byte) < 0 || XINT (byte) > 255)
232 error ("Invalid byte");
231 b = XINT (byte); 233 b = XINT (byte);
232 return make_string_from_bytes (&b, 1, 1); 234 return make_string_from_bytes (&b, 1, 1);
233} 235}
diff --git a/src/font.c b/src/font.c
index 77f43c81d71..f65b04255e2 100644
--- a/src/font.c
+++ b/src/font.c
@@ -2821,6 +2821,14 @@ font_clear_cache (f, cache, driver)
2821 2821
2822static Lisp_Object scratch_font_spec, scratch_font_prefer; 2822static Lisp_Object scratch_font_spec, scratch_font_prefer;
2823 2823
2824/* Check each font-entity in VEC, and return a list of font-entities
2825 that satisfy this condition:
2826 (1) matches with SPEC and SIZE if SPEC is not nil, and
2827 (2) doesn't match with any regexps in Vface_ignored_fonts (if non-nil).
2828*/
2829
2830extern Lisp_Object Vface_ignored_fonts;
2831
2824Lisp_Object 2832Lisp_Object
2825font_delete_unmatched (vec, spec, size) 2833font_delete_unmatched (vec, spec, size)
2826 Lisp_Object vec, spec; 2834 Lisp_Object vec, spec;
@@ -2833,6 +2841,29 @@ font_delete_unmatched (vec, spec, size)
2833 for (val = Qnil, i = ASIZE (vec) - 1; i >= 0; i--) 2841 for (val = Qnil, i = ASIZE (vec) - 1; i >= 0; i--)
2834 { 2842 {
2835 entity = AREF (vec, i); 2843 entity = AREF (vec, i);
2844 if (! NILP (Vface_ignored_fonts))
2845 {
2846 char name[256];
2847 Lisp_Object tail, regexp;
2848
2849 if (font_unparse_xlfd (entity, 0, name, 256) >= 0)
2850 {
2851 for (tail = Vface_ignored_fonts; CONSP (tail); tail = XCDR (tail))
2852 {
2853 regexp = XCAR (tail);
2854 if (STRINGP (regexp)
2855 && fast_c_string_match_ignore_case (regexp, name) >= 0)
2856 break;
2857 }
2858 if (CONSP (tail))
2859 continue;
2860 }
2861 }
2862 if (NILP (spec))
2863 {
2864 val = Fcons (entity, val);
2865 continue;
2866 }
2836 for (prop = FONT_WEIGHT_INDEX; prop < FONT_SIZE_INDEX; prop++) 2867 for (prop = FONT_WEIGHT_INDEX; prop < FONT_SIZE_INDEX; prop++)
2837 if (INTEGERP (AREF (spec, prop)) 2868 if (INTEGERP (AREF (spec, prop))
2838 && ((XINT (AREF (spec, prop)) >> 8) 2869 && ((XINT (AREF (spec, prop)) >> 8)
@@ -2932,8 +2963,10 @@ font_list_entities (frame, spec)
2932 ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); 2963 ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type);
2933 XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache))); 2964 XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache)));
2934 } 2965 }
2935 if (ASIZE (val) > 0 && need_filtering) 2966 if (ASIZE (val) > 0
2936 val = font_delete_unmatched (val, spec, size); 2967 && (need_filtering
2968 || ! NILP (Vface_ignored_fonts)))
2969 val = font_delete_unmatched (val, need_filtering ? spec : Qnil, size);
2937 if (ASIZE (val) > 0) 2970 if (ASIZE (val) > 0)
2938 list = Fcons (val, list); 2971 list = Fcons (val, list);
2939 } 2972 }
diff --git a/src/frame.c b/src/frame.c
index a30d1e18175..c542cae5f6d 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -211,11 +211,12 @@ extern Lisp_Object QCname, Qfont_param;
211 211
212DEFUN ("framep", Fframep, Sframep, 1, 1, 0, 212DEFUN ("framep", Fframep, Sframep, 1, 1, 0,
213 doc: /* Return non-nil if OBJECT is a frame. 213 doc: /* Return non-nil if OBJECT is a frame.
214Value is t for a termcap frame (a character-only terminal), 214Value is:
215`x' for an Emacs frame that is really an X window, 215 t for a termcap frame (a character-only terminal),
216`w32' for an Emacs frame that is a window on MS-Windows display, 216 'x' for an Emacs frame that is really an X window,
217`ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display, 217 'w32' for an Emacs frame that is a window on MS-Windows display,
218`pc' for a direct-write MS-DOS frame. 218 'ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display,
219 'pc' for a direct-write MS-DOS frame.
219See also `frame-live-p'. */) 220See also `frame-live-p'. */)
220 (object) 221 (object)
221 Lisp_Object object; 222 Lisp_Object object;
@@ -259,10 +260,18 @@ return values. */)
259 260
260DEFUN ("window-system", Fwindow_system, Swindow_system, 0, 1, 0, 261DEFUN ("window-system", Fwindow_system, Swindow_system, 0, 1, 0,
261 doc: /* The name of the window system that FRAME is displaying through. 262 doc: /* The name of the window system that FRAME is displaying through.
262The value is a symbol---for instance, 'x' for X windows. 263The value is a symbol:
263The value is nil if Emacs is using a text-only terminal. 264 nil for a termcap frame (a character-only terminal),
264 265 'x' for an Emacs frame that is really an X window,
265FRAME defaults to the currently selected frame. */) 266 'w32' for an Emacs frame that is a window on MS-Windows display,
267 'ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display,
268 'pc' for a direct-write MS-DOS frame.
269
270FRAME defaults to the currently selected frame.
271
272Use of this function as a predicate is deprecated. Instead,
273use `display-graphic-p' or any of the other `display-*-p'
274predicates which report frame's specific UI-related capabilities. */)
266 (frame) 275 (frame)
267 Lisp_Object frame; 276 Lisp_Object frame;
268{ 277{
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 7a25bbb1e3f..7102823a814 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -2936,6 +2936,23 @@ xg_modify_menubar_widgets (menubar, f, val, deep_p,
2936 gtk_widget_show_all (menubar); 2936 gtk_widget_show_all (menubar);
2937} 2937}
2938 2938
2939/* Callback called when the menu bar W is mapped.
2940 Used to find the height of the menu bar if we didn't get it
2941 after showing the widget. */
2942
2943static void
2944menubar_map_cb (GtkWidget *w, gpointer user_data)
2945{
2946 GtkRequisition req;
2947 FRAME_PTR f = (FRAME_PTR) user_data;
2948 gtk_widget_size_request (w, &req);
2949 if (FRAME_MENUBAR_HEIGHT (f) != req.height)
2950 {
2951 FRAME_MENUBAR_HEIGHT (f) = req.height;
2952 xg_height_changed (f);
2953 }
2954}
2955
2939/* Recompute all the widgets of frame F, when the menu bar has been 2956/* Recompute all the widgets of frame F, when the menu bar has been
2940 changed. Value is non-zero if widgets were updated. */ 2957 changed. Value is non-zero if widgets were updated. */
2941 2958
@@ -2958,10 +2975,19 @@ xg_update_frame_menubar (f)
2958 FALSE, FALSE, 0); 2975 FALSE, FALSE, 0);
2959 gtk_box_reorder_child (GTK_BOX (x->vbox_widget), x->menubar_widget, 0); 2976 gtk_box_reorder_child (GTK_BOX (x->vbox_widget), x->menubar_widget, 0);
2960 2977
2978 g_signal_connect (x->menubar_widget, "map", G_CALLBACK (menubar_map_cb), f);
2961 gtk_widget_show_all (x->menubar_widget); 2979 gtk_widget_show_all (x->menubar_widget);
2962 gtk_widget_size_request (x->menubar_widget, &req); 2980 gtk_widget_size_request (x->menubar_widget, &req);
2963 FRAME_MENUBAR_HEIGHT (f) = req.height; 2981 /* If menu bar doesn't know its height yet, cheat a little so the frame
2964 xg_height_changed (f); 2982 doesn't jump so much when resized later in menubar_map_cb. */
2983 if (req.height == 0)
2984 req.height = 23;
2985
2986 if (FRAME_MENUBAR_HEIGHT (f) != req.height)
2987 {
2988 FRAME_MENUBAR_HEIGHT (f) = req.height;
2989 xg_height_changed (f);
2990 }
2965 UNBLOCK_INPUT; 2991 UNBLOCK_INPUT;
2966 2992
2967 return 1; 2993 return 1;
diff --git a/src/image.c b/src/image.c
index e7db3a7df1b..0fa0a0cd064 100644
--- a/src/image.c
+++ b/src/image.c
@@ -1094,10 +1094,6 @@ free_image (f, img)
1094 /* Free resources, then free IMG. */ 1094 /* Free resources, then free IMG. */
1095 img->type->free (f, img); 1095 img->type->free (f, img);
1096 xfree (img); 1096 xfree (img);
1097
1098 /* As display glyphs may still be referring to the image ID, we
1099 must garbage the frame (Bug#6426). */
1100 SET_FRAME_GARBAGED (f);
1101 } 1097 }
1102} 1098}
1103 1099
@@ -1544,7 +1540,12 @@ uncache_image (f, spec)
1544{ 1540{
1545 struct image *img = search_image_cache (f, spec, sxhash (spec, 0)); 1541 struct image *img = search_image_cache (f, spec, sxhash (spec, 0));
1546 if (img) 1542 if (img)
1547 free_image (f, img); 1543 {
1544 free_image (f, img);
1545 /* As display glyphs may still be referring to the image ID, we
1546 must garbage the frame (Bug#6426). */
1547 SET_FRAME_GARBAGED (f);
1548 }
1548} 1549}
1549 1550
1550 1551
diff --git a/src/keyboard.c b/src/keyboard.c
index 22c58985a56..b35e4ae84e2 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -642,6 +642,9 @@ static Lisp_Object apply_modifiers P_ ((int, Lisp_Object));
642static void clear_event P_ ((struct input_event *)); 642static void clear_event P_ ((struct input_event *));
643static Lisp_Object restore_kboard_configuration P_ ((Lisp_Object)); 643static Lisp_Object restore_kboard_configuration P_ ((Lisp_Object));
644static SIGTYPE interrupt_signal P_ ((int signalnum)); 644static SIGTYPE interrupt_signal P_ ((int signalnum));
645#ifdef SIGIO
646static SIGTYPE input_available_signal (int signo);
647#endif
645static void handle_interrupt P_ ((void)); 648static void handle_interrupt P_ ((void));
646static void timer_start_idle P_ ((void)); 649static void timer_start_idle P_ ((void));
647static void timer_stop_idle P_ ((void)); 650static void timer_stop_idle P_ ((void));
@@ -3780,6 +3783,20 @@ event_to_kboard (event)
3780 return FRAME_KBOARD (XFRAME (frame)); 3783 return FRAME_KBOARD (XFRAME (frame));
3781} 3784}
3782 3785
3786#ifdef subprocesses
3787/* Return the number of slots occupied in kbd_buffer. */
3788
3789static int
3790kbd_buffer_nr_stored (void)
3791{
3792 return kbd_fetch_ptr == kbd_store_ptr
3793 ? 0
3794 : (kbd_fetch_ptr < kbd_store_ptr
3795 ? kbd_store_ptr - kbd_fetch_ptr
3796 : ((kbd_buffer + KBD_BUFFER_SIZE) - kbd_fetch_ptr
3797 + (kbd_store_ptr - kbd_buffer)));
3798}
3799#endif /* subprocesses */
3783 3800
3784Lisp_Object Vthrow_on_input; 3801Lisp_Object Vthrow_on_input;
3785 3802
@@ -3903,6 +3920,19 @@ kbd_buffer_store_event_hold (event, hold_quit)
3903 { 3920 {
3904 *kbd_store_ptr = *event; 3921 *kbd_store_ptr = *event;
3905 ++kbd_store_ptr; 3922 ++kbd_store_ptr;
3923#ifdef subprocesses
3924 if (kbd_buffer_nr_stored () > KBD_BUFFER_SIZE/2 && ! kbd_on_hold_p ())
3925 {
3926 /* Don't read keyboard input until we have processed kbd_buffer.
3927 This happens when pasting text longer than KBD_BUFFER_SIZE/2. */
3928 hold_keyboard_input ();
3929#ifdef SIGIO
3930 if (!noninteractive)
3931 signal (SIGIO, SIG_IGN);
3932#endif
3933 stop_polling ();
3934 }
3935#endif /* subprocesses */
3906 } 3936 }
3907 3937
3908 /* If we're inside while-no-input, and this event qualifies 3938 /* If we're inside while-no-input, and this event qualifies
@@ -4071,6 +4101,20 @@ kbd_buffer_get_event (kbp, used_mouse_menu, end_time)
4071 register int c; 4101 register int c;
4072 Lisp_Object obj; 4102 Lisp_Object obj;
4073 4103
4104#ifdef subprocesses
4105 if (kbd_on_hold_p () && kbd_buffer_nr_stored () < KBD_BUFFER_SIZE/4)
4106 {
4107 /* Start reading input again, we have processed enough so we can
4108 accept new events again. */
4109 unhold_keyboard_input ();
4110#ifdef SIGIO
4111 if (!noninteractive)
4112 signal (SIGIO, input_available_signal);
4113#endif /* SIGIO */
4114 start_polling ();
4115 }
4116#endif /* subprocesses */
4117
4074 if (noninteractive 4118 if (noninteractive
4075 /* In case we are running as a daemon, only do this before 4119 /* In case we are running as a daemon, only do this before
4076 detaching from the terminal. */ 4120 detaching from the terminal. */
@@ -7270,6 +7314,12 @@ tty_read_avail_input (struct terminal *terminal,
7270 int n_to_read, i; 7314 int n_to_read, i;
7271 struct tty_display_info *tty = terminal->display_info.tty; 7315 struct tty_display_info *tty = terminal->display_info.tty;
7272 int nread = 0; 7316 int nread = 0;
7317#ifdef subprocesses
7318 int buffer_free = KBD_BUFFER_SIZE - kbd_buffer_nr_stored () - 1;
7319
7320 if (kbd_on_hold_p () || buffer_free <= 0)
7321 return 0;
7322#endif /* subprocesses */
7273 7323
7274 if (!terminal->name) /* Don't read from a dead terminal. */ 7324 if (!terminal->name) /* Don't read from a dead terminal. */
7275 return 0; 7325 return 0;
@@ -7351,6 +7401,12 @@ tty_read_avail_input (struct terminal *terminal,
7351#endif 7401#endif
7352#endif 7402#endif
7353 7403
7404#ifdef subprocesses
7405 /* Don't read more than we can store. */
7406 if (n_to_read > buffer_free)
7407 n_to_read = buffer_free;
7408#endif /* subprocesses */
7409
7354 /* Now read; for one reason or another, this will not block. 7410 /* Now read; for one reason or another, this will not block.
7355 NREAD is set to the number of chars read. */ 7411 NREAD is set to the number of chars read. */
7356 do 7412 do
diff --git a/src/lread.c b/src/lread.c
index 13de4d01317..17861d3bb23 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1007,6 +1007,10 @@ Loading a file records its definitions, and its `provide' and
1007`require' calls, in an element of `load-history' whose 1007`require' calls, in an element of `load-history' whose
1008car is the file name loaded. See `load-history'. 1008car is the file name loaded. See `load-history'.
1009 1009
1010While the file is in the process of being loaded, the variable
1011`load-in-progress' is non-nil and the variable `load-file-name'
1012is bound to the file's name.
1013
1010Return t if the file exists and loads successfully. */) 1014Return t if the file exists and loads successfully. */)
1011 (file, noerror, nomessage, nosuffix, must_suffix) 1015 (file, noerror, nomessage, nosuffix, must_suffix)
1012 Lisp_Object file, noerror, nomessage, nosuffix, must_suffix; 1016 Lisp_Object file, noerror, nomessage, nosuffix, must_suffix;
diff --git a/src/m/amdx86-64.h b/src/m/amdx86-64.h
index 4bea30d12de..0401b8bf90f 100644
--- a/src/m/amdx86-64.h
+++ b/src/m/amdx86-64.h
@@ -80,7 +80,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
80 a native binary of Emacs on FreeBSD/amd64 we can just point to /usr/lib. */ 80 a native binary of Emacs on FreeBSD/amd64 we can just point to /usr/lib. */
81 81
82#undef START_FILES 82#undef START_FILES
83#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o 83#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o
84 84
85/* The duplicate -lgcc is intentional in the definition of LIB_STANDARD. 85/* The duplicate -lgcc is intentional in the definition of LIB_STANDARD.
86 The reason is that some functions in libgcc.a call functions from libc.a, 86 The reason is that some functions in libgcc.a call functions from libc.a,
@@ -88,14 +88,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
88 versions of ld are one-pass linkers, we need to mention -lgcc twice, 88 versions of ld are one-pass linkers, we need to mention -lgcc twice,
89 or else we risk getting unresolved externals. */ 89 or else we risk getting unresolved externals. */
90#undef LIB_STANDARD 90#undef LIB_STANDARD
91#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o 91#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o
92 92
93#elif defined(__OpenBSD__) 93#elif defined(__OpenBSD__)
94 94
95#undef START_FILES 95#undef START_FILES
96#define START_FILES pre-crt0.o /usr/lib/crt0.o /usr/lib/crtbegin.o 96#define START_FILES pre-crt0.o $(CRT_DIR)/crt0.o $(CRT_DIR)/crtbegin.o
97#undef LIB_STANDARD 97#undef LIB_STANDARD
98#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o 98#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtend.o
99 99
100#elif defined(__NetBSD__) 100#elif defined(__NetBSD__)
101 101
@@ -119,13 +119,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
119 or else we risk getting unresolved externals. */ 119 or else we risk getting unresolved externals. */
120#undef START_FILES 120#undef START_FILES
121#undef LIB_STANDARD 121#undef LIB_STANDARD
122#ifdef HAVE_LIB64_DIR 122#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o
123#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o 123#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o
124#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o
125#else
126#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o
127#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o
128#endif
129 124
130#endif /* __FreeBSD__ */ 125#endif /* __FreeBSD__ */
131#endif /* !i386 */ 126#endif /* !i386 */
diff --git a/src/m/ibms390x.h b/src/m/ibms390x.h
index 9429e4282bf..ea0fa11ec3f 100644
--- a/src/m/ibms390x.h
+++ b/src/m/ibms390x.h
@@ -91,18 +91,10 @@ NOTE-END */
91#define XPNTR(a) XUINT (a) 91#define XPNTR(a) XUINT (a)
92 92
93#undef START_FILES 93#undef START_FILES
94#ifdef HAVE_LIB64_DIR 94#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o
95#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o
96#else
97#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o
98#endif
99 95
100#undef LIB_STANDARD 96#undef LIB_STANDARD
101#ifdef HAVE_LIB64_DIR 97#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o
102#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o
103#else
104#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o
105#endif
106 98
107/* arch-tag: 4b87653c-6add-4663-8691-7d9dc17b5519 99/* arch-tag: 4b87653c-6add-4663-8691-7d9dc17b5519
108 (do not change this comment) */ 100 (do not change this comment) */
diff --git a/src/process.c b/src/process.c
index 3e2aa61ffe6..384a7acfccd 100644
--- a/src/process.c
+++ b/src/process.c
@@ -346,6 +346,9 @@ static int max_keyboard_desc;
346/* The largest descriptor currently in use for gpm mouse input. */ 346/* The largest descriptor currently in use for gpm mouse input. */
347static int max_gpm_desc; 347static int max_gpm_desc;
348 348
349/* Non-zero if keyboard input is on hold, zero otherwise. */
350static int kbd_is_on_hold;
351
349/* Nonzero means delete a process right away if it exits. */ 352/* Nonzero means delete a process right away if it exits. */
350static int delete_exited_processes; 353static int delete_exited_processes;
351 354
@@ -3653,23 +3656,9 @@ usage: (make-network-process &rest ARGS) */)
3653 immediate_quit = 1; 3656 immediate_quit = 1;
3654 QUIT; 3657 QUIT;
3655 3658
3656 /* This turns off all alarm-based interrupts; the
3657 bind_polling_period call above doesn't always turn all the
3658 short-interval ones off, especially if interrupt_input is
3659 set.
3660
3661 It'd be nice to be able to control the connect timeout
3662 though. Would non-blocking connect calls be portable?
3663
3664 This used to be conditioned by HAVE_GETADDRINFO. Why? */
3665
3666 turn_on_atimers (0);
3667
3668 ret = connect (s, lres->ai_addr, lres->ai_addrlen); 3659 ret = connect (s, lres->ai_addr, lres->ai_addrlen);
3669 xerrno = errno; 3660 xerrno = errno;
3670 3661
3671 turn_on_atimers (1);
3672
3673 if (ret == 0 || xerrno == EISCONN) 3662 if (ret == 0 || xerrno == EISCONN)
3674 { 3663 {
3675 /* The unwind-protect will be discarded afterwards. 3664 /* The unwind-protect will be discarded afterwards.
@@ -3689,6 +3678,40 @@ usage: (make-network-process &rest ARGS) */)
3689#endif 3678#endif
3690#endif 3679#endif
3691 3680
3681#ifndef WINDOWSNT
3682 if (xerrno == EINTR)
3683 {
3684 /* Unlike most other syscalls connect() cannot be called
3685 again. (That would return EALREADY.) The proper way to
3686 wait for completion is select(). */
3687 int sc, len;
3688 SELECT_TYPE fdset;
3689 retry_select:
3690 FD_ZERO (&fdset);
3691 FD_SET (s, &fdset);
3692 QUIT;
3693 sc = select (s + 1, (SELECT_TYPE *)0, &fdset, (SELECT_TYPE *)0,
3694 (EMACS_TIME *)0);
3695 if (sc == -1)
3696 {
3697 if (errno == EINTR)
3698 goto retry_select;
3699 else
3700 report_file_error ("select failed", Qnil);
3701 }
3702 eassert (sc > 0);
3703
3704 len = sizeof xerrno;
3705 eassert (FD_ISSET (s, &fdset));
3706 if (getsockopt (s, SOL_SOCKET, SO_ERROR, &xerrno, &len) == -1)
3707 report_file_error ("getsockopt failed", Qnil);
3708 if (xerrno)
3709 errno = xerrno, report_file_error ("error during connect", Qnil);
3710 else
3711 break;
3712 }
3713#endif /* !WINDOWSNT */
3714
3692 immediate_quit = 0; 3715 immediate_quit = 0;
3693 3716
3694 /* Discard the unwind protect closing S. */ 3717 /* Discard the unwind protect closing S. */
@@ -3696,8 +3719,10 @@ usage: (make-network-process &rest ARGS) */)
3696 emacs_close (s); 3719 emacs_close (s);
3697 s = -1; 3720 s = -1;
3698 3721
3722#ifdef WINDOWSNT
3699 if (xerrno == EINTR) 3723 if (xerrno == EINTR)
3700 goto retry_connect; 3724 goto retry_connect;
3725#endif
3701 } 3726 }
3702 3727
3703 if (s >= 0) 3728 if (s >= 0)
@@ -4795,7 +4820,11 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display,
4795 SELECT_TYPE Ctemp; 4820 SELECT_TYPE Ctemp;
4796#endif 4821#endif
4797 4822
4798 Atemp = input_wait_mask; 4823 if (kbd_on_hold_p ())
4824 FD_ZERO (&Atemp);
4825 else
4826 Atemp = input_wait_mask;
4827
4799 IF_NON_BLOCKING_CONNECT (Ctemp = connect_wait_mask); 4828 IF_NON_BLOCKING_CONNECT (Ctemp = connect_wait_mask);
4800 4829
4801 EMACS_SET_SECS_USECS (timeout, 0, 0); 4830 EMACS_SET_SECS_USECS (timeout, 0, 0);
@@ -7224,6 +7253,31 @@ keyboard_bit_set (mask)
7224 7253
7225 return 0; 7254 return 0;
7226} 7255}
7256
7257/* Stop reading input from keyboard sources. */
7258
7259void
7260hold_keyboard_input (void)
7261{
7262 kbd_is_on_hold = 1;
7263}
7264
7265/* Resume reading input from keyboard sources. */
7266
7267void
7268unhold_keyboard_input (void)
7269{
7270 kbd_is_on_hold = 0;
7271}
7272
7273/* Return non-zero if keyboard input is on hold, zero otherwise. */
7274
7275int
7276kbd_on_hold_p (void)
7277{
7278 return kbd_is_on_hold;
7279}
7280
7227 7281
7228/* Enumeration of and access to system processes a-la ps(1). */ 7282/* Enumeration of and access to system processes a-la ps(1). */
7229 7283
@@ -7302,6 +7356,7 @@ init_process ()
7302 register int i; 7356 register int i;
7303 7357
7304 inhibit_sentinels = 0; 7358 inhibit_sentinels = 0;
7359 kbd_is_on_hold = 0;
7305 7360
7306#ifdef SIGCHLD 7361#ifdef SIGCHLD
7307#ifndef CANNOT_DUMP 7362#ifndef CANNOT_DUMP
diff --git a/src/process.h b/src/process.h
index a8cd0a02da6..12b91d697b9 100644
--- a/src/process.h
+++ b/src/process.h
@@ -170,5 +170,9 @@ extern Lisp_Object Qtime, Qctime;
170extern Lisp_Object list_system_processes (void); 170extern Lisp_Object list_system_processes (void);
171extern Lisp_Object system_process_attributes (Lisp_Object); 171extern Lisp_Object system_process_attributes (Lisp_Object);
172 172
173extern void hold_keyboard_input (void);
174extern void unhold_keyboard_input (void);
175extern int kbd_on_hold_p (void);
176
173/* arch-tag: dffedfc4-d7bc-4b58-a26f-c16155449c72 177/* arch-tag: dffedfc4-d7bc-4b58-a26f-c16155449c72
174 (do not change this comment) */ 178 (do not change this comment) */
diff --git a/src/w32.c b/src/w32.c
index d96abd346f5..1b01a631850 100644
--- a/src/w32.c
+++ b/src/w32.c
@@ -94,8 +94,11 @@ typedef struct _MEMORY_STATUS_EX {
94 94
95#include <tlhelp32.h> 95#include <tlhelp32.h>
96#include <psapi.h> 96#include <psapi.h>
97#include <w32api.h>
98#if !defined(__MINGW32__) || __W32API_MAJOR_VERSION < 3 || (__W32API_MAJOR_VERSION == 3 && __W32API_MINOR_VERSION < 15)
97/* This either is not in psapi.h or guarded by higher value of 99/* This either is not in psapi.h or guarded by higher value of
98 _WIN32_WINNT than what we use. */ 100 _WIN32_WINNT than what we use. w32api supplied with MinGW 3.15
101 defines it in psapi.h */
99typedef struct _PROCESS_MEMORY_COUNTERS_EX { 102typedef struct _PROCESS_MEMORY_COUNTERS_EX {
100 DWORD cb; 103 DWORD cb;
101 DWORD PageFaultCount; 104 DWORD PageFaultCount;
@@ -109,6 +112,7 @@ typedef struct _PROCESS_MEMORY_COUNTERS_EX {
109 DWORD PeakPagefileUsage; 112 DWORD PeakPagefileUsage;
110 DWORD PrivateUsage; 113 DWORD PrivateUsage;
111} PROCESS_MEMORY_COUNTERS_EX,*PPROCESS_MEMORY_COUNTERS_EX; 114} PROCESS_MEMORY_COUNTERS_EX,*PPROCESS_MEMORY_COUNTERS_EX;
115#endif
112 116
113#ifdef HAVE_SOCKETS /* TCP connection support, if kernel can do it */ 117#ifdef HAVE_SOCKETS /* TCP connection support, if kernel can do it */
114#include <sys/socket.h> 118#include <sys/socket.h>
diff --git a/src/xdisp.c b/src/xdisp.c
index 59e38e440e4..a416c8ff435 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -13577,7 +13577,7 @@ redisplay_window (window, just_this_one_p)
13577 = try_window_reusing_current_matrix (w))) 13577 = try_window_reusing_current_matrix (w)))
13578 { 13578 {
13579 IF_DEBUG (debug_method_add (w, "1")); 13579 IF_DEBUG (debug_method_add (w, "1"));
13580 if (try_window (window, startp, 1) < 0) 13580 if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0)
13581 /* -1 means we need to scroll. 13581 /* -1 means we need to scroll.
13582 0 means we need new matrices, but fonts_changed_p 13582 0 means we need new matrices, but fonts_changed_p
13583 is set in that case, so we will detect it below. */ 13583 is set in that case, so we will detect it below. */
@@ -13936,13 +13936,15 @@ redisplay_window (window, just_this_one_p)
13936 Value is 1 if successful. It is zero if fonts were loaded during 13936 Value is 1 if successful. It is zero if fonts were loaded during
13937 redisplay which makes re-adjusting glyph matrices necessary, and -1 13937 redisplay which makes re-adjusting glyph matrices necessary, and -1
13938 if point would appear in the scroll margins. 13938 if point would appear in the scroll margins.
13939 (We check that only if CHECK_MARGINS is nonzero. */ 13939 (We check the former only if TRY_WINDOW_IGNORE_FONTS_CHANGE is
13940 unset in FLAGS, and the latter only if TRY_WINDOW_CHECK_MARGINS is
13941 set in FLAGS.) */
13940 13942
13941int 13943int
13942try_window (window, pos, check_margins) 13944try_window (window, pos, flags)
13943 Lisp_Object window; 13945 Lisp_Object window;
13944 struct text_pos pos; 13946 struct text_pos pos;
13945 int check_margins; 13947 int flags;
13946{ 13948{
13947 struct window *w = XWINDOW (window); 13949 struct window *w = XWINDOW (window);
13948 struct it it; 13950 struct it it;
@@ -13964,12 +13966,12 @@ try_window (window, pos, check_margins)
13964 { 13966 {
13965 if (display_line (&it)) 13967 if (display_line (&it))
13966 last_text_row = it.glyph_row - 1; 13968 last_text_row = it.glyph_row - 1;
13967 if (fonts_changed_p) 13969 if (fonts_changed_p && !(flags & TRY_WINDOW_IGNORE_FONTS_CHANGE))
13968 return 0; 13970 return 0;
13969 } 13971 }
13970 13972
13971 /* Don't let the cursor end in the scroll margins. */ 13973 /* Don't let the cursor end in the scroll margins. */
13972 if (check_margins 13974 if ((flags & TRY_WINDOW_CHECK_MARGINS)
13973 && !MINI_WINDOW_P (w)) 13975 && !MINI_WINDOW_P (w))
13974 { 13976 {
13975 int this_scroll_margin; 13977 int this_scroll_margin;
diff --git a/src/xfns.c b/src/xfns.c
index 1d7d3d03580..2e2bda49246 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -533,12 +533,20 @@ x_real_positions (f, xptr, yptr)
533 int real_x = 0, real_y = 0; 533 int real_x = 0, real_y = 0;
534 int had_errors = 0; 534 int had_errors = 0;
535 Window win = f->output_data.x->parent_desc; 535 Window win = f->output_data.x->parent_desc;
536 Atom actual_type;
537 unsigned long actual_size, bytes_remaining;
538 int i, rc, actual_format;
539 struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
540 long max_len = 400;
541 Display *dpy = FRAME_X_DISPLAY (f);
542 unsigned char *tmp_data = NULL;
543 Atom target_type = XA_CARDINAL;
536 544
537 BLOCK_INPUT; 545 BLOCK_INPUT;
538 546
539 x_catch_errors (FRAME_X_DISPLAY (f)); 547 x_catch_errors (dpy);
540 548
541 if (win == FRAME_X_DISPLAY_INFO (f)->root_window) 549 if (win == dpyinfo->root_window)
542 win = FRAME_OUTER_WINDOW (f); 550 win = FRAME_OUTER_WINDOW (f);
543 551
544 /* This loop traverses up the containment tree until we hit the root 552 /* This loop traverses up the containment tree until we hit the root
@@ -623,6 +631,33 @@ x_real_positions (f, xptr, yptr)
623 had_errors = x_had_errors_p (FRAME_X_DISPLAY (f)); 631 had_errors = x_had_errors_p (FRAME_X_DISPLAY (f));
624 } 632 }
625 633
634
635 if (dpyinfo->root_window == f->output_data.x->parent_desc)
636 {
637 /* Try _NET_FRAME_EXTENTS if our parent is the root window. */
638 rc = XGetWindowProperty (dpy, win, dpyinfo->Xatom_net_frame_extents,
639 0, max_len, False, target_type,
640 &actual_type, &actual_format, &actual_size,
641 &bytes_remaining, &tmp_data);
642
643 if (rc == Success && actual_type == target_type && !x_had_errors_p (dpy)
644 && actual_size == 4 && actual_format == 32)
645 {
646 int ign;
647 Window rootw;
648 long *fe = (long *)tmp_data;
649
650 XGetGeometry (FRAME_X_DISPLAY (f), win,
651 &rootw, &real_x, &real_y, &ign, &ign, &ign, &ign);
652 outer_x = -fe[0];
653 outer_y = -fe[2];
654 real_x -= fe[0];
655 real_y -= fe[2];
656 }
657 }
658
659 if (tmp_data) XFree (tmp_data);
660
626 x_uncatch_errors (); 661 x_uncatch_errors ();
627 662
628 UNBLOCK_INPUT; 663 UNBLOCK_INPUT;
@@ -5188,7 +5223,7 @@ Text larger than the specified size is clipped. */)
5188 clear_glyph_matrix (w->desired_matrix); 5223 clear_glyph_matrix (w->desired_matrix);
5189 clear_glyph_matrix (w->current_matrix); 5224 clear_glyph_matrix (w->current_matrix);
5190 SET_TEXT_POS (pos, BEGV, BEGV_BYTE); 5225 SET_TEXT_POS (pos, BEGV, BEGV_BYTE);
5191 try_window (FRAME_ROOT_WINDOW (f), pos, 0); 5226 try_window (FRAME_ROOT_WINDOW (f), pos, TRY_WINDOW_IGNORE_FONTS_CHANGE);
5192 5227
5193 /* Compute width and height of the tooltip. */ 5228 /* Compute width and height of the tooltip. */
5194 width = height = 0; 5229 width = height = 0;
diff --git a/src/xsettings.c b/src/xsettings.c
index 945007db2f0..de37063c741 100644
--- a/src/xsettings.c
+++ b/src/xsettings.c
@@ -563,7 +563,9 @@ init_gconf ()
563 int i; 563 int i;
564 char *s; 564 char *s;
565 565
566#ifdef HAVE_G_TYPE_INIT
566 g_type_init (); 567 g_type_init ();
568#endif
567 gconf_client = gconf_client_get_default (); 569 gconf_client = gconf_client_get_default ();
568 s = gconf_client_get_string (gconf_client, SYSTEM_MONO_FONT, NULL); 570 s = gconf_client_get_string (gconf_client, SYSTEM_MONO_FONT, NULL);
569 if (s) 571 if (s)
diff --git a/src/xterm.c b/src/xterm.c
index 1fee90754fc..22019e2279b 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -7882,45 +7882,44 @@ x_connection_closed (dpy, error_message)
7882 delete_frame (frame, Qnoelisp); 7882 delete_frame (frame, Qnoelisp);
7883 } 7883 }
7884 7884
7885 /* We have to close the display to inform Xt that it doesn't 7885 /* If DPYINFO is null, this means we didn't open the display in the
7886 exist anymore. If we don't, Xt will continue to wait for 7886 first place, so don't try to close it. */
7887 events from the display. As a consequence, a sequence of
7888
7889 M-x make-frame-on-display RET :1 RET
7890 ...kill the new frame, so that we get an IO error...
7891 M-x make-frame-on-display RET :1 RET
7892
7893 will indefinitely wait in Xt for events for display `:1', opened
7894 in the first call to make-frame-on-display.
7895
7896 Closing the display is reported to lead to a bus error on
7897 OpenWindows in certain situations. I suspect that is a bug
7898 in OpenWindows. I don't know how to circumvent it here. */
7899
7900 if (dpyinfo) 7887 if (dpyinfo)
7901 { 7888 {
7902#ifdef USE_X_TOOLKIT 7889#ifdef USE_X_TOOLKIT
7903 /* If DPYINFO is null, this means we didn't open the display 7890 /* We have to close the display to inform Xt that it doesn't
7904 in the first place, so don't try to close it. */ 7891 exist anymore. If we don't, Xt will continue to wait for
7905 { 7892 events from the display. As a consequence, a sequence of
7906 extern void (*fatal_error_signal_hook) P_ ((void)); 7893
7907 fatal_error_signal_hook = x_fatal_error_signal; 7894 M-x make-frame-on-display RET :1 RET
7908 XtCloseDisplay (dpy); 7895 ...kill the new frame, so that we get an IO error...
7909 fatal_error_signal_hook = NULL; 7896 M-x make-frame-on-display RET :1 RET
7910 } 7897
7911#endif 7898 will indefinitely wait in Xt for events for display `:1',
7899 opened in the first call to make-frame-on-display.
7900
7901 Closing the display is reported to lead to a bus error on
7902 OpenWindows in certain situations. I suspect that is a bug
7903 in OpenWindows. I don't know how to circumvent it here. */
7904 extern void (*fatal_error_signal_hook) P_ ((void));
7905 fatal_error_signal_hook = x_fatal_error_signal;
7906 XtCloseDisplay (dpy);
7907 fatal_error_signal_hook = NULL;
7908#endif /* USE_X_TOOLKIT */
7912 7909
7913#ifdef USE_GTK 7910#ifdef USE_GTK
7914 /* Due to bugs in some Gtk+ versions, just exit here if this 7911 /* A long-standing GTK bug prevents proper disconnect handling
7915 is the last display/terminal. */ 7912 (https://bugzilla.gnome.org/show_bug.cgi?id=85715). Once,
7916 if (terminal_list->next_terminal == NULL) 7913 the resulting Glib error message loop filled a user's disk.
7917 { 7914 To avoid this, kill Emacs unconditionally on disconnect. */
7918 fprintf (stderr, "%s\n", error_msg); 7915 shut_down_emacs (0, 0, Qnil);
7919 shut_down_emacs (0, 0, Qnil); 7916 fprintf (stderr, "%s\n\
7920 exit (70); 7917When compiled with GTK, Emacs cannot recover from X disconnects.\n\
7921 } 7918This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715\n\
7922 xg_display_close (dpyinfo->display); 7919For details, see etc/PROBLEMS.\n",
7923#endif 7920 error_msg);
7921 abort ();
7922#endif /* USE_GTK */
7924 7923
7925 /* Indicate that this display is dead. */ 7924 /* Indicate that this display is dead. */
7926 dpyinfo->display = 0; 7925 dpyinfo->display = 0;
@@ -10523,7 +10522,8 @@ x_term_init (display_name, xrm_option, resource_name)
10523 = XInternAtom (dpyinfo->display, "_NET_WM_WINDOW_TYPE", False); 10522 = XInternAtom (dpyinfo->display, "_NET_WM_WINDOW_TYPE", False);
10524 dpyinfo->Xatom_net_window_type_tooltip 10523 dpyinfo->Xatom_net_window_type_tooltip
10525 = XInternAtom (dpyinfo->display, "_NET_WM_WINDOW_TYPE_TOOLTIP", False); 10524 = XInternAtom (dpyinfo->display, "_NET_WM_WINDOW_TYPE_TOOLTIP", False);
10526 10525 dpyinfo->Xatom_net_frame_extents
10526 = XInternAtom (dpyinfo->display, "_NET_FRAME_EXTENTS", False);
10527 dpyinfo->cut_buffers_initialized = 0; 10527 dpyinfo->cut_buffers_initialized = 0;
10528 10528
10529 dpyinfo->x_dnd_atoms_size = 8; 10529 dpyinfo->x_dnd_atoms_size = 8;
diff --git a/src/xterm.h b/src/xterm.h
index c8601b8c43d..07eaec3060c 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -362,10 +362,10 @@ struct x_display_info
362 Window net_supported_window; 362 Window net_supported_window;
363 Atom Xatom_net_window_type, Xatom_net_window_type_tooltip; 363 Atom Xatom_net_window_type, Xatom_net_window_type_tooltip;
364 364
365 /* Atoms dealing with maximization and fullscreen */ 365 /* Atoms dealing with EWMH (i.e. _NET_...) */
366 Atom Xatom_net_wm_state, Xatom_net_wm_state_fullscreen_atom, 366 Atom Xatom_net_wm_state, Xatom_net_wm_state_fullscreen_atom,
367 Xatom_net_wm_state_maximized_horz, Xatom_net_wm_state_maximized_vert, 367 Xatom_net_wm_state_maximized_horz, Xatom_net_wm_state_maximized_vert,
368 Xatom_net_wm_state_sticky; 368 Xatom_net_wm_state_sticky, Xatom_net_frame_extents;
369 369
370 /* XSettings atoms and windows. */ 370 /* XSettings atoms and windows. */
371 Atom Xatom_xsettings_sel, Xatom_xsettings_prop, Xatom_xsettings_mgr; 371 Atom Xatom_xsettings_sel, Xatom_xsettings_prop, Xatom_xsettings_mgr;