not compiling yet

This commit is contained in:
Joakim Verona 2012-09-19 01:09:51 +02:00
commit 6c86337db3
307 changed files with 2417 additions and 2375 deletions

105
ChangeLog
View file

@ -1,3 +1,108 @@
2012-09-17 Andreas Schwab <schwab@linux-m68k.org>
* Makefile.in (bootstrap): Revert last change. Run config.status
after config.status --recheck, run configure from $(srcdir).
(config.status): Run configure from $(srcdir).
2012-09-17 Paul Eggert <eggert@cs.ucla.edu>
* Makefile.in: Fix build error on FreeBSD.
($(MAKEFILE_NAME)): Pass MAKE='$(MAKE)' to config.status's env.
Suggested by Wolfgang Jenker in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00430.html>.
(MAKE_CONFIG_STATUS): Remove. Remaining use expanded.
This undoes part of the 2012-09-10 patch.
(bootstrap): Run ./configure, rather than trying to run config.status
if it exists. That builds src/epaths.h more reliably.
Run autogen/copy_autogen if autogen.sh fails,
to create 'configure'; problem reported by Andreas Schwab in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00438.html>.
* autogen.sh: Exit with status 1 when failing due to missing tools,
reverting the 2012-09-10 change to this file.
* autogen/copy_autogen: Fail if one of the subsidiary actions fail.
Use 'cp -f' for the build-aux files, since the destinations are
typically read-only.
Remove no-longer-needed Solaris 2.4 vfork bug workaround.
* configure.ac (ac_cv_func_vfork_works): Default to 'no' on
Solaris 2.4, so that AC_FUNC_VFORK doesn't think vfork works.
2012-09-17 Glenn Morris <rgm@gnu.org>
* configure.ac (copyright): New output variable.
(COPYRIGHT): New AC_DEFINE.
2012-09-16 Paul Eggert <eggert@cs.ucla.edu>
Remove configure's --without-sync-input option (Bug#12450).
* configure.ac (SYNC_INPUT, BROKEN_SA_RESTART): Remove.
2012-09-16 Glenn Morris <rgm@gnu.org>
Increase compartmentalization of Nextstep builds rules,
and store Emacs version number in fewer versioned files.
* configure.ac (ns_appsrc): Use relative names.
(ns_frag): Remove.
(Info-gnustep.plist, Emacs.desktop, Info.plist, InfoPlist.strings)
(nextstep/Makefile): Generate these nextstep files.
(SUBDIR_MAKEFILES): Add nextstep.
* Makefile.in (clean, distclean, bootstrap-clean): Add nextstep.
* make-dist (nextstep/templates): Add directory.
(nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj): Remove.
(nextstep/Cocoa/Emacs.base/Contents)
(nextstep, nextstep/GNUstep/Emacs.base/Resources): Update contents.
2012-09-15 Paul Eggert <eggert@cs.ucla.edu>
Port better to POSIX hosts lacking _setjmp (Bug#12446).
* configure.ac (HAVE__SETJMP, HAVE_SIGSETJMP): New symbols.
(_setjmp, _longjmp): Remove.
2012-09-14 Paul Eggert <eggert@cs.ucla.edu>
* configure.ac (--without-sync-input): Fix typo in usage message.
* configure.ac: Port to hosts lacking gtk.
(PKG_CHECK_MODULES): Capture pkg-config diagnostics
better, in particular, problems in invoking pkg-config itself.
This is useful on hosts that don't have pkg-config.
(GTK_MODULES): Do not exit 'configure' simply because gtk3
and gtk2 are both missing. Problem found on Solaris 8.
2012-09-13 Jan Djärv <jan.h.d@swipnet.se>
* configure.ac: Reorder Xaw3d messages.
Report Gtk+ 3 as GTK.
2012-09-13 Paul Eggert <eggert@cs.ucla.edu>
Simplify SIGIO usage (Bug#12408).
* configure.ac (NO_TERMIO, BROKEN_FIONREAD, BROKEN_SIGAIO)
(BROKEN_SIGPOLL, BROKEN_SIGPTY): Remove.
(USABLE_FIONREAD, USABLE_SIGIO): New symbols. All uses of
'defined SIGIO' replaced with 'defined USABLE_SIGIO', with no need
to #undef SIGIO now (which was error-prone). Likewise, all uses
of 'defined FIONREAD' replaced with 'defined USABLE_FIONREAD'.
2012-09-12 Jan Djärv <jan.h.d@swipnet.se>
* configure.ac: No --with-x-toolkit given: Try gtk3 toolkit first
and then gtk2 if not found.
--with-x-toolkit=gtk|yes: As above, but fail if gtk2 or gt3 not found.
--with-x-toolkit=gtk2: Only try gtk2, fail if not found.
--with-x-toolkit=gtk3: Only try gtk3, fail if not found.
2012-09-11 Glenn Morris <rgm@gnu.org>
* Makefile.in (install-arch-dep, install-arch-indep, install-doc):
Be more explicit about dependencies, for parallel `make install'.
2012-09-11 Paul Eggert <eggert@cs.ucla.edu>
Simplify, document, and port floating-point (Bug#12381).
* configure.ac (logb, cbrt): Do not check for these functions,
as they are not being used.
2012-09-10 Paul Eggert <eggert@cs.ucla.edu>
Improve robustness of 'make bootstrap' (Bug#12376).

View file

@ -358,19 +358,17 @@ blessmail: Makefile src FRC
MAKEFILE_NAME = Makefile
$(MAKEFILE_NAME): config.status $(srcdir)/src/config.in \
$(srcdir)/Makefile.in $(SUBDIR_MAKEFILES_IN)
./config.status
MAKE='$(MAKE)' ./config.status
# Don't erase these files if make is interrupted while refreshing them.
.PRECIOUS: Makefile config.status
MAKE_CONFIG_STATUS = \
config.status: ${srcdir}/configure ${srcdir}/lisp/version.el
if [ -x ./config.status ]; then \
./config.status --recheck; \
else \
./configure $(CONFIGURE_FLAGS); \
$(srcdir)/configure $(CONFIGURE_FLAGS); \
fi
config.status: ${srcdir}/configure ${srcdir}/lisp/version.el
$(MAKE_CONFIG_STATUS)
AUTOCONF_INPUTS = $(srcdir)/configure.ac $(srcdir)/aclocal.m4
@ -737,6 +735,7 @@ clean: FRC
-(cd doc/lispref && $(MAKE) $(MFLAGS) clean)
-(cd doc/lispintro && $(MAKE) $(MFLAGS) clean)
(cd leim; $(MAKE) $(MFLAGS) clean)
(cd nextstep && $(MAKE) $(MFLAGS) clean)
### `bootclean'
### Delete all files that need to be remade for a clean bootstrap.
@ -763,6 +762,7 @@ distclean: FRC
(cd doc/lispintro && $(MAKE) $(MFLAGS) distclean)
(cd leim; $(MAKE) $(MFLAGS) distclean)
(cd lisp; $(MAKE) $(MFLAGS) distclean)
(cd nextstep && $(MAKE) $(MFLAGS) distclean)
${top_distclean}
### `bootstrap-clean'
@ -780,6 +780,7 @@ bootstrap-clean: FRC
-(cd doc/lispintro && $(MAKE) $(MFLAGS) maintainer-clean)
(cd leim; $(MAKE) $(MFLAGS) maintainer-clean)
(cd lisp; $(MAKE) $(MFLAGS) bootstrap-clean)
(cd nextstep && $(MAKE) $(MFLAGS) maintainer-clean)
[ ! -f config.log ] || mv -f config.log config.log~
${top_bootclean}
@ -889,12 +890,17 @@ dvi:
# Bootstrapping does the following:
# * Remove files to start from a clean slate.
# * Run autogen.sh, but don't worry about exit status 101 (missing tools).
# * Run autogen.sh, falling back on copy_autogen if autogen.sh fails.
# * Build Makefile, to build the build procedure itself.
# * Do the actual build.
bootstrap: bootstrap-clean FRC
cd $(srcdir) && { ./autogen.sh || test $$? -eq 101; }
$(MAKE_CONFIG_STATUS)
cd $(srcdir) && { ./autogen.sh || autogen/copy_autogen; }
if [ -x config.status ]; then \
./config.status --recheck && \
./config.status; \
else \
$(srcdir)/configure $(CONFIGURE_FLAGS); \
fi
$(MAKE) $(MFLAGS) info all
.PHONY: check-declare

View file

@ -90,11 +90,6 @@ BROKEN_GETWD
BROKEN_GET_CURRENT_DIR_NAME
BROKEN_NON_BLOCKING_CONNECT
BROKEN_PTY_READ_AFTER_EAGAIN
BROKEN_SA_RESTART
BROKEN_SIGAIO
BROKEN_SIGIO
BROKEN_SIGPOLL
BROKEN_SIGPTY
CLASH_DETECTION
DATA_SEG_BITS
DATA_START
@ -423,7 +418,6 @@ MAIL_USE_SYSTEM_LOCK
MAXPATHLEN
NLIST_STRUCT
NO_EDITRES
NO_TERMIO
NSIG
NSIG_MINIMUM
NULL_DEVICE
@ -439,7 +433,6 @@ PTY_OPEN
PTY_TTY_NAME_SPRINTF
PURESIZE
RUN_TIME_REMAP
SA_RESTART
SETPGRP_RELEASES_CTTY
SETUP_SLAVE_PTY
SIGALRM

View file

@ -1,3 +1,38 @@
2012-09-17 Glenn Morris <rgm@gnu.org>
* admin.el (add-log-time-format): Declare.
* admin.el (cusver-scan, cusver-check): Bind local variables.
* admin.el (set-version): Set major version in
etc/refcards/ru-refcard.tex and etc/refcards/emacsver.tex.
(set-copyright): In etc/refcards, only change ru-refcard.tex
and emacsver.tex.
* admin.el (set-copyright): No more need to set copyrights for
nextstep, or .c files. Add configure.ac and config.nt.
2012-09-16 Paul Eggert <eggert@cs.ucla.edu>
Remove configure's --without-sync-input option (Bug#12450).
* CPP-DEFINES (BROKEN_SA_RESTART, SA_RESTART): Remove.
2012-09-16 Glenn Morris <rgm@gnu.org>
* admin.el (set-version): No more need to set nextstep versions.
(set-copyright): Update for moved nextstep files.
2012-09-13 Paul Eggert <eggert@cs.ucla.edu>
Simplify SIGIO usage (Bug#12408).
* CPP_DEFINES (BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL)
(BROKEN_SIGPTY, NO_TERMIO): Remove.
2012-09-11 Paul Eggert <eggert@cs.ucla.edu>
Simplify, document, and port floating-point (Bug#12381).
* CPP-DEFINES (HAVE_CBRT, HAVE_LOGB, logb): Remove.
2012-09-09 Paul Eggert <eggert@cs.ucla.edu>
Assume C89 or later for math functions (Bug#12381).

View file

@ -26,6 +26,8 @@
;;; Code:
(defvar add-log-time-format) ; in add-log
(defun add-release-logs (root version)
"Add \"Version VERSION released.\" change log entries in ROOT.
Root must be the root of an Emacs source tree."
@ -126,39 +128,16 @@ Root must be the root of an Emacs source tree."
(set-version-in-file root "nt/emacsclient.rc" comma-space-version
(rx (and "\"ProductVersion\"" (0+ space) ?,
(0+ space) ?\" (submatch (1+ (in "0-9, ")))
"\\0\""))))
;; nextstep.
(set-version-in-file
root "nextstep/Cocoa/Emacs.base/Contents/Info.plist"
version (rx (and "CFBundleGetInfoString" (1+ anything) "Emacs" (1+ space)
(submatch (1+ (in "0-9."))))))
(set-version-in-file
root "nextstep/Cocoa/Emacs.base/Contents/Info.plist"
version (rx (and "CFBundleShortVersionString" (1+ not-newline) ?\n
(0+ not-newline) "<string>" (0+ space)
(submatch (1+ (in "0-9."))))))
(set-version-in-file
root "nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings"
version (rx (and "CFBundleShortVersionString" (0+ space) ?= (0+ space)
?\" (0+ space) "Version" (1+ space)
(submatch (1+ (in "0-9."))))))
(set-version-in-file
root "nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings"
version (rx (and "CFBundleGetInfoString" (0+ space) ?= (0+ space)
?\" (0+ space) "Emacs version" (1+ space)
(submatch (1+ (in "0-9."))))))
(set-version-in-file
root "nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist"
version (rx (and "ApplicationRelease" (0+ space) ?= (0+ space)
?\" (0+ space) (submatch (1+ (in "0-9."))))))
(set-version-in-file
root "nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist"
version (rx (and "FullVersionID" (0+ space) ?= (0+ space)
?\" (0+ space) "Emacs" (1+ space)
(submatch (1+ (in "0-9."))))))
(set-version-in-file
root "nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop"
version (rx (and "Version=" (submatch (1+ (in "0-9.")))))))
"\\0\"")))
(when (string-match "\\([0-9]\\{2,\\}\\)" version)
(setq version (match-string 1 version))
(set-version-in-file root "etc/refcards/ru-refcard.tex" version
"\\\\newcommand{\\\\versionemacs}\\[0\\]\
{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs")
(set-version-in-file root "etc/refcards/emacsver.tex" version
"\\\\def\\\\versionemacs\
{\\([0-9]\\{2,\\}\\)}.+%.+version of Emacs"))))
;; Note this makes some assumptions about form of short copyright.
(defun set-copyright (root copyright)
@ -172,45 +151,24 @@ Root must be the root of an Emacs source tree."
(format-time-string "%Y")))))
(unless (file-exists-p (expand-file-name "src/emacs.c" root))
(error "%s doesn't seem to be the root of an Emacs source tree" root))
(set-version-in-file root "src/emacs.c" copyright
(rx (and "emacs_copyright" (0+ (not (in ?\")))
?\" (submatch (1+ (not (in ?\")))) ?\")))
(set-version-in-file root "lib-src/ebrowse.c" copyright
(rx (and "emacs_copyright" (0+ (not (in ?\")))
?\" (submatch (1+ (not (in ?\")))) ?\")))
(set-version-in-file root "lib-src/etags.c" copyright
(rx (and "emacs_copyright" (0+ (not (in ?\")))
(set-version-in-file root "configure.ac" copyright
(rx (and bol "copyright" (0+ (not (in ?\")))
?\" (submatch (1+ (not (in ?\")))) ?\")))
(set-version-in-file root "nt/config.nt" copyright
(rx (and bol "#" (0+ blank) "define" (1+ blank)
"COPYRIGHT" (1+ blank)
?\" (submatch (1+ (not (in ?\")))) ?\")))
(set-version-in-file root "lib-src/rcs2log" copyright
(rx (and "Copyright" (0+ space) ?= (0+ space)
?\' (submatch (1+ nonl)))))
;; This one is a nuisance, as it needs to be split over two lines.
(string-match "\\(.*[0-9]\\{4\\} *\\)\\(.*\\)" copyright)
;; nextstep.
(set-version-in-file
root "nextstep/Cocoa/Emacs.base/Contents/Info.plist"
copyright (rx (and "CFBundleGetInfoString" (1+ anything) "Emacs" (1+ space)
(1+ (in "0-9.")) (1+ space)
(submatch (1+ (not (in ?\<)))))))
(set-version-in-file
root "nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings"
copyright (rx (and "NSHumanReadableCopyright" (0+ space) ?\= (0+ space)
?\" (submatch (1+ (not (in ?\")))))))
(set-version-in-file
root "nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist"
copyright (rx (and "Copyright" (0+ space) ?\= (0+ space)
?\" (submatch (1+ (not (in ?\")))))))
(when (string-match "\\([0-9]\\{4\\}\\)" copyright)
(setq copyright (match-string 1 copyright))
(dolist (file (directory-files (expand-file-name "etc/refcards" root)
t "\\.tex\\'"))
(unless (string-match "gnus-refcard\\.tex" file)
(set-version-in-file
root file copyright
(concat (if (string-match "ru-refcard\\.tex" file)
"\\\\newcommand{\\\\cyear}\\[0\\]{"
"\\\\def\\\\year{")
"\\([0-9]\\{4\\}\\)}.+%.+copyright year"))))))
(set-version-in-file root "etc/refcards/ru-refcard.tex" copyright
"\\\\newcommand{\\\\cyear}\\[0\\]\
{\\([0-9]\\{4\\}\\)}.+%.+copyright year")
(set-version-in-file root "etc/refcards/emacsver.tex" copyright
"\\\\def\\\\year\
{\\([0-9]\\{4\\}\\)}.+%.+copyright year")))
;;; Various bits of magic for generating the web manuals
@ -459,7 +417,7 @@ Also generate PostScript output in PS-DEST."
(setq done t))
(t
(if (eobp)
(error "Parse error in %s" f))
(error "Parse error in %s" f)) ; f is bound in manual-html-node
(unless open-td
(setq done t))))
(forward-line 1))))
@ -491,7 +449,7 @@ If optional argument OLD is non-nil, also scan for defvars."
(let ((m (format "Scanning %s..." file))
(re (format "^[ \t]*\\((def%s\\)[ \t\n]"
(if old "\\(?:custom\\|var\\)" "custom")))
alist var ver)
alist var ver form)
(message "%s" m)
(with-temp-buffer
(insert-file-contents file)
@ -550,7 +508,7 @@ changes (in a non-trivial way). This function does not check for that."
(mapcar
(lambda (file)
(cons file (cusver-scan file))) newfiles)))
oldcus result thisfile)
oldcus result thisfile file)
(message "Reading old defcustoms...")
(dolist (file oldfiles)
(setq oldcus (append oldcus (cusver-scan file t))))

View file

@ -201,7 +201,7 @@ This is not recommended - see the comments in \`copy_autogen'.
Please report any problems with this script to bug-gnu-emacs@gnu.org .
EOF
exit 101 # Exit status 101 means tools were missing.
exit 1
fi
echo "Your system has the required tools, running autoreconf..."

View file

@ -787,6 +787,7 @@ builddir = @builddir@
cache_file = @cache_file@
canonical = @canonical@
configuration = @configuration@
copyright = @copyright@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@

View file

@ -50,9 +50,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to the number of bits in type 'wint_t'. */
#undef BITSIZEOF_WINT_T
/* Define if FIONREAD should not be used. */
#undef BROKEN_FIONREAD
/* Define if getwd should not be used. */
#undef BROKEN_GETWD
@ -62,21 +59,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define on FreeBSD to work around an issue when reading from a PTY. */
#undef BROKEN_PTY_READ_AFTER_EAGAIN
/* Define if SA_RESTART should only be used in batch mode. */
#undef BROKEN_SA_RESTART
/* Define if SIGAIO should not be used. */
#undef BROKEN_SIGAIO
/* Define if SIGIO should not be used. */
#undef BROKEN_SIGIO
/* Define if SIGPOLL should not be used. */
#undef BROKEN_SIGPOLL
/* Define if SIGPTY should not be used. */
#undef BROKEN_SIGPTY
/* Define if the system is compatible with BSD 4.2. */
#undef BSD4_2
@ -97,6 +79,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
his/her Emacs. */
#undef CLASH_DETECTION
/* Short copyright string for this version of Emacs. */
#undef COPYRIGHT
/* Define to one of '_getb67', 'GETB67', 'getb67' for Cray-2 and Cray-YMP
systems. This function is required for 'alloca.c' support on those systems.
*/
@ -806,6 +791,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if 'wint_t' is a signed integer type. */
#undef HAVE_SIGNED_WINT_T
/* Define to 1 if sigsetjmp and siglongjmp work. The value of this symbol is
irrelevant if HAVE__SETJMP is defined. */
#undef HAVE_SIGSETJMP
/* Define to 1 if the system has the type `sigset_t'. */
#undef HAVE_SIGSET_T
@ -1089,6 +1078,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the `_ftime' function. */
#undef HAVE__FTIME
/* Define to 1 if _setjmp and _longjmp work. */
#undef HAVE__SETJMP
/* Define to 1 if you have the `__builtin_unwind_init' function. */
#undef HAVE___BUILTIN_UNWIND_INIT
@ -1166,9 +1158,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
/* Define if termio.h should not be included. */
#undef NO_TERMIO
/* Minimum value of NSIG. */
#undef NSIG_MINIMUM
@ -1306,9 +1295,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 on System V Release 4. */
#undef SVR4
/* Process async input synchronously. */
#undef SYNC_INPUT
/* Define to use system malloc. */
#undef SYSTEM_MALLOC
@ -1353,6 +1339,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define if the system has Unix98 PTYs. */
#undef UNIX98_PTYS
/* Define to 1 if FIONREAD is usable. */
#undef USABLE_FIONREAD
/* Define to 1 if SIGIO is usable. */
#undef USABLE_SIGIO
/* How to get a user's full name. */
#undef USER_FULL_NAME
@ -1514,14 +1506,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
declarations. Define as empty for no equivalent. */
#undef __restrict_arr
/* Define to longjmp if _setjmp and _longjmp do not work. Because longjmp may
alter signal masks, callers of _longjmp should not assume that it leaves
signal masks alone. */
#undef _longjmp
/* Define to setjmp if _setjmp and _longjmp do not work. See _longjmp. */
#undef _setjmp
/* Some platforms that do not use configure define this to include extra
configuration information. */
#undef config_opsysfile

340
autogen/configure vendored
View file

@ -1143,6 +1143,7 @@ srcdir
canonical
configuration
version
copyright
KRB4LIB
DESLIB
KRB5LIB
@ -1330,8 +1331,7 @@ PACKAGE_NAME
PATH_SEPARATOR
SHELL'
ac_subst_files='deps_frag
lisp_frag
ns_frag'
lisp_frag'
ac_user_opts='
enable_option_checking
with_all
@ -1343,7 +1343,6 @@ with_mmdf
with_mail_unlink
with_mailhost
with_sound
with_sync_input
with_x_toolkit
with_wide_int
with_xpm
@ -2061,9 +2060,8 @@ Optional Packages:
--with-mailhost=HOSTNAME
string giving default POP mail host
--without-sound don't compile with sound support
--without-sync-input process async input synchronously
--with-x-toolkit=KIT use an X toolkit (KIT one of: yes or gtk, gtk3,
lucid or athena, motif, no)
--with-x-toolkit=KIT use an X toolkit (KIT one of: yes or gtk, gtk2,
gtk3, lucid or athena, motif, no)
--with-wide-int prefer wide Emacs integers (typically 62-bit)
--without-xpm don't compile with XPM image support
--without-jpeg don't compile with JPEG image support
@ -3933,20 +3931,6 @@ fi
# Check whether --with-sync-input was given.
if test "${with_sync_input+set}" = set; then :
withval=$with_sync_input;
else
with_sync_input=$with_features
fi
if test "$with_sync_input" = yes; then
$as_echo "#define SYNC_INPUT 1" >>confdefs.h
fi
# Check whether --with-x-toolkit was given.
if test "${with_x_toolkit+set}" = set; then :
withval=$with_x_toolkit; case "${withval}" in
@ -3956,11 +3940,13 @@ if test "${with_x_toolkit+set}" = set; then :
a | at | ath | athe | athen | athena ) val=athena ;;
m | mo | mot | moti | motif ) val=motif ;;
g | gt | gtk ) val=gtk ;;
gtk2 ) val=gtk2 ;;
gtk3 ) val=gtk3 ;;
* )
as_fn_error "\`--with-x-toolkit=$withval' is invalid;
this option's value should be \`yes', \`no', \`lucid', \`athena', \`motif', \`gtk' or
\`gtk3'. \`yes' and \`gtk' are synonyms. \`athena' and \`lucid' are synonyms." "$LINENO" 5
this option's value should be \`yes', \`no', \`lucid', \`athena', \`motif', \`gtk',
\`gtk2' or \`gtk3'. \`yes' and \`gtk' are synonyms.
\`athena' and \`lucid' are synonyms." "$LINENO" 5
;;
esac
with_x_toolkit=$val
@ -8576,8 +8562,9 @@ $as_echo "no" >&6; }
ALSA_CFLAGS=""
ALSA_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
ALSA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$ALSA_MODULES"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
ALSA_PKG_ERRORS=`($PKG_CONFIG --print-errors "$ALSA_MODULES") 2>&1`
fi
@ -9411,13 +9398,13 @@ if test "${with_ns}" != no; then
ns_appdir=`pwd`/nextstep/Emacs.app
ns_appbindir=${ns_appdir}/Contents/MacOS
ns_appresdir=${ns_appdir}/Contents/Resources
ns_appsrc=${srcdir}/nextstep/Cocoa/Emacs.base
ns_appsrc=Cocoa/Emacs.base
elif test -f $GNUSTEP_CONFIG_FILE; then
NS_IMPL_GNUSTEP=yes
ns_appdir=`pwd`/nextstep/Emacs.app
ns_appbindir=${ns_appdir}
ns_appresdir=${ns_appdir}/Resources
ns_appsrc=${srcdir}/nextstep/GNUstep/Emacs.base
ns_appsrc=GNUstep/Emacs.base
GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)"
GNUSTEP_SYSTEM_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_LIBRARIES)"
GNUSTEP_LOCAL_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_LOCAL_HEADERS)"
@ -9507,7 +9494,6 @@ fi
INSTALL_ARCH_INDEP_EXTRA=install-etc
ns_self_contained=no
ns_frag=/dev/null
NS_OBJ=
NS_OBJC_OBJ=
if test "${HAVE_NS}" = yes; then
@ -9531,7 +9517,6 @@ if test "${HAVE_NS}" = yes; then
leimdir="\${ns_appresdir}/leim"
INSTALL_ARCH_INDEP_EXTRA=
fi
ns_frag=$srcdir/src/ns.mk
NS_OBJC_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o"
fi
CFLAGS="$tmp_CFLAGS"
@ -9542,7 +9527,6 @@ CPPFLAGS="$tmp_CPPFLAGS"
## $window_system is now set to the window system we will
## ultimately use.
@ -9562,6 +9546,9 @@ case "${window_system}" in
gtk ) with_gtk=yes
term_header=gtkutil.h
USE_X_TOOLKIT=none ;;
gtk2 ) with_gtk2=yes
term_header=gtkutil.h
USE_X_TOOLKIT=none ;;
gtk3 ) with_gtk3=yes
term_header=gtkutil.h
USE_X_TOOLKIT=none ;;
@ -10393,8 +10380,9 @@ $as_echo "no" >&6; }
RSVG_CFLAGS=""
RSVG_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
RSVG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$RSVG_MODULE"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
RSVG_PKG_ERRORS=`($PKG_CONFIG --print-errors "$RSVG_MODULE") 2>&1`
fi
@ -10463,8 +10451,9 @@ $as_echo "no" >&6; }
IMAGEMAGICK_CFLAGS=""
IMAGEMAGICK_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
IMAGEMAGICK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$IMAGEMAGICK_MODULE"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
IMAGEMAGICK_PKG_ERRORS=`($PKG_CONFIG --print-errors "$IMAGEMAGICK_MODULE") 2>&1`
fi
@ -10511,7 +10500,9 @@ fi
HAVE_GTK=no
GTK_OBJ=
if test "${with_gtk3}" = "yes"; then
check_gtk2=no
gtk3_pkg_errors=
if test "${with_gtk3}" = "yes" || test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then
GLIB_REQUIRED=2.28
GTK_REQUIRED=3.0
GTK_MODULES="gtk+-3.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED"
@ -10547,8 +10538,9 @@ $as_echo "no" >&6; }
GTK_CFLAGS=""
GTK_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$GTK_MODULES"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
GTK_PKG_ERRORS=`($PKG_CONFIG --print-errors "$GTK_MODULES") 2>&1`
fi
@ -10566,19 +10558,22 @@ $as_echo "no" >&6; }
pkg_check_gtk=no
fi
if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then
if test "$pkg_check_gtk" = "no" && test "$with_gtk3" = "yes"; then
as_fn_error "$GTK_PKG_ERRORS" "$LINENO" 5
fi
if test "$pkg_check_gtk" = "yes"; then
$as_echo "#define HAVE_GTK3 1" >>confdefs.h
GTK_OBJ=emacsgtkfixed.o
term_header=gtkutil.h
GTK_OBJ=emacsgtkfixed.o
term_header=gtkutil.h
else
check_gtk2=yes
gtk3_pkg_errors="$GTK_PKG_ERRORS "
fi
fi
if test "$pkg_check_gtk" != "yes"; then
HAVE_GTK=no
if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then
if test "${with_gtk2}" = "yes" || test "$check_gtk2" = "yes"; then
GLIB_REQUIRED=2.10
GTK_REQUIRED=2.10
GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED"
@ -10614,8 +10609,9 @@ $as_echo "no" >&6; }
GTK_CFLAGS=""
GTK_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$GTK_MODULES"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
GTK_PKG_ERRORS=`($PKG_CONFIG --print-errors "$GTK_MODULES") 2>&1`
fi
@ -10633,11 +10629,12 @@ $as_echo "no" >&6; }
pkg_check_gtk=no
fi
if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then
as_fn_error "$GTK_PKG_ERRORS" "$LINENO" 5
if test "$pkg_check_gtk" = "no" &&
{ test "$with_gtk" = yes || test "$with_gtk2" = "yes"; }
then
as_fn_error "$gtk3_pkg_errors$GTK_PKG_ERRORS" "$LINENO" 5
fi
fi
fi
if test x"$pkg_check_gtk" = xyes; then
@ -10774,8 +10771,9 @@ $as_echo "no" >&6; }
DBUS_CFLAGS=""
DBUS_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
DBUS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "dbus-1 >= 1.0"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
DBUS_PKG_ERRORS=`($PKG_CONFIG --print-errors "dbus-1 >= 1.0") 2>&1`
fi
@ -10854,8 +10852,9 @@ $as_echo "no" >&6; }
GSETTINGS_CFLAGS=""
GSETTINGS_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
GSETTINGS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gio-2.0 >= 2.26"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
GSETTINGS_PKG_ERRORS=`($PKG_CONFIG --print-errors "gio-2.0 >= 2.26") 2>&1`
fi
@ -10915,8 +10914,9 @@ $as_echo "no" >&6; }
GCONF_CFLAGS=""
GCONF_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
GCONF_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gconf-2.0 >= 2.13"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
GCONF_PKG_ERRORS=`($PKG_CONFIG --print-errors "gconf-2.0 >= 2.13") 2>&1`
fi
@ -10975,8 +10975,9 @@ $as_echo "no" >&6; }
GOBJECT_CFLAGS=""
GOBJECT_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
GOBJECT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gobject-2.0 >= 2.0"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
GOBJECT_PKG_ERRORS=`($PKG_CONFIG --print-errors "gobject-2.0 >= 2.0") 2>&1`
fi
@ -11108,8 +11109,9 @@ $as_echo "no" >&6; }
LIBGNUTLS_CFLAGS=""
LIBGNUTLS_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
LIBGNUTLS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls >= 2.6.6"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
LIBGNUTLS_PKG_ERRORS=`($PKG_CONFIG --print-errors "gnutls >= 2.6.6") 2>&1`
fi
@ -11161,8 +11163,6 @@ HAVE_XAW3D=no
LUCID_LIBW=
if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then
if test "$with_xaw3d" != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xaw3d" >&5
$as_echo_n "checking for xaw3d... " >&6; }
if test "${emacs_cv_xaw3d+set}" = set; then :
$as_echo_n "(cached) " >&6
else
@ -11233,6 +11233,8 @@ fi
emacs_cv_xaw3d=no
fi
if test $emacs_cv_xaw3d = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xaw3d" >&5
$as_echo_n "checking for xaw3d... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes; using Lucid toolkit" >&5
$as_echo "yes; using Lucid toolkit" >&6; }
USE_X_TOOLKIT=LUCID
@ -11242,6 +11244,8 @@ $as_echo "yes; using Lucid toolkit" >&6; }
$as_echo "#define HAVE_XAW3D 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for xaw3d" >&5
$as_echo_n "checking for xaw3d... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libXaw" >&5
@ -11735,8 +11739,9 @@ $as_echo "no" >&6; }
FONTCONFIG_CFLAGS=""
FONTCONFIG_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
FONTCONFIG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fontconfig >= 2.2.0"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
FONTCONFIG_PKG_ERRORS=`($PKG_CONFIG --print-errors "fontconfig >= 2.2.0") 2>&1`
fi
@ -11793,8 +11798,9 @@ $as_echo "no" >&6; }
XFT_CFLAGS=""
XFT_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
XFT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xft >= 0.13.0"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
XFT_PKG_ERRORS=`($PKG_CONFIG --print-errors "xft >= 0.13.0") 2>&1`
fi
@ -11960,8 +11966,9 @@ $as_echo "no" >&6; }
FREETYPE_CFLAGS=""
FREETYPE_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
FREETYPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "freetype2"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
FREETYPE_PKG_ERRORS=`($PKG_CONFIG --print-errors "freetype2") 2>&1`
fi
@ -12020,8 +12027,9 @@ $as_echo "no" >&6; }
LIBOTF_CFLAGS=""
LIBOTF_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
LIBOTF_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libotf"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
LIBOTF_PKG_ERRORS=`($PKG_CONFIG --print-errors "libotf") 2>&1`
fi
@ -12128,8 +12136,9 @@ $as_echo "no" >&6; }
M17N_FLT_CFLAGS=""
M17N_FLT_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
M17N_FLT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "m17n-flt"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
M17N_FLT_PKG_ERRORS=`($PKG_CONFIG --print-errors "m17n-flt") 2>&1`
fi
@ -12817,8 +12826,9 @@ $as_echo "no" >&6; }
LIBXML2_CFLAGS=""
LIBXML2_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
LIBXML2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml-2.0 > 2.6.17"`
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
LIBXML2_PKG_ERRORS=`($PKG_CONFIG --print-errors "libxml-2.0 > 2.6.17") 2>&1`
fi
@ -12926,8 +12936,8 @@ $as_echo "#define HAVE_H_ERRNO 1" >>confdefs.h
fi
# fmod, logb, and frexp are found in -lm on most systems.
# On HPUX 9.01, -lm does not contain logb, so check for sqrt.
# sqrt and other floating-point functions such as fmod and frexp
# are found in -lm on most systems.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrt in -lm" >&5
$as_echo_n "checking for sqrt in -lm... " >&6; }
if test "${ac_cv_lib_m_sqrt+set}" = set; then :
@ -13177,7 +13187,7 @@ esac
for ac_func in gethostname \
closedir getrusage get_current_dir_name \
lrand48 logb cbrt setsid \
lrand48 setsid \
fpathconf select euidaccess getpagesize setlocale \
utimes getrlimit setrlimit setpgid getcwd shutdown getaddrinfo \
__fpending strsignal setitimer \
@ -14479,6 +14489,11 @@ else
$as_echo "no" >&6; }
fi
case $canonical in
*-solaris2.4 | *-solaris2.4.*)
: ${ac_cv_func_vfork_works=no};;
esac
ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default"
if test "x$ac_cv_type_pid_t" = x""yes; then :
@ -14891,12 +14906,6 @@ esac
case $opsys in
darwin | gnu | hpux* | *bsd )
$as_echo "#define NO_TERMIO 1" >>confdefs.h
;;
irix6-5 | sol2* | unixware )
$as_echo "#define NSIG_MINIMUM 32" >>confdefs.h
@ -14904,29 +14913,15 @@ $as_echo "#define NSIG_MINIMUM 32" >>confdefs.h
;;
esac
emacs_broken_SIGIO=no
case $opsys in
hpux* | irix6-5 | openbsd | sol2* | unixware )
$as_echo "#define BROKEN_SIGIO 1" >>confdefs.h
emacs_broken_SIGIO=yes
;;
aix4-2)
$as_echo "#define BROKEN_FIONREAD 1" >>confdefs.h
$as_echo "#define BROKEN_SIGAIO 1" >>confdefs.h
$as_echo "#define BROKEN_SIGPOLL 1" >>confdefs.h
$as_echo "#define BROKEN_SIGPTY 1" >>confdefs.h
$as_echo "#define BROKEN_GET_CURRENT_DIR_NAME 1" >>confdefs.h
;;
@ -15468,13 +15463,45 @@ rm -f core conftest.err conftest.$ac_objext \
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_func__setjmp" >&5
$as_echo "$emacs_cv_func__setjmp" >&6; }
if test $emacs_cv_func__setjmp = no; then
if test $emacs_cv_func__setjmp = yes; then
$as_echo "#define _setjmp setjmp" >>confdefs.h
$as_echo "#define HAVE__SETJMP 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sigsetjmp" >&5
$as_echo_n "checking for sigsetjmp... " >&6; }
if test "${emacs_cv_func_sigsetjmp+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <setjmp.h>
$as_echo "#define _longjmp longjmp" >>confdefs.h
int
main ()
{
sigjmp_buf j;
if (! sigsetjmp (j, 1))
siglongjmp (j, 1);
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
emacs_cv_func_sigsetjmp=yes
else
emacs_cv_func_sigsetjmp=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_func_sigsetjmp" >&5
$as_echo "$emacs_cv_func_sigsetjmp" >&6; }
if test $emacs_cv_func_sigsetjmp = yes; then
$as_echo "#define HAVE_SIGSETJMP 1" >>confdefs.h
fi
fi
case $opsys in
@ -15637,6 +15664,85 @@ $as_echo "#define SOLARIS2 /**/" >>confdefs.h
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for usable FIONREAD" >&5
$as_echo_n "checking for usable FIONREAD... " >&6; }
if test "${emacs_cv_usable_FIONREAD+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $opsys in
aix4-2)
emacs_cv_usable_FIONREAD=no
;;
*)
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
#include <sys/ioctl.h>
#ifdef USG5_4
# include <sys/filio.h>
#endif
int
main ()
{
int foo = ioctl (0, FIONREAD, &foo);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
emacs_cv_usable_FIONREAD=yes
else
emacs_cv_usable_FIONREAD=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
;;
esac
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_usable_FIONREAD" >&5
$as_echo "$emacs_cv_usable_FIONREAD" >&6; }
if test $emacs_cv_usable_FIONREAD = yes; then
$as_echo "#define USABLE_FIONREAD 1" >>confdefs.h
if test $emacs_broken_SIGIO = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for usable SIGIO" >&5
$as_echo_n "checking for usable SIGIO... " >&6; }
if test "${emacs_cv_usable_SIGIO+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <fcntl.h>
#include <signal.h>
int
main ()
{
int foo = SIGIO | F_SETFL | FASYNC;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
emacs_cv_usable_SIGIO=yes
else
emacs_cv_usable_SIGIO=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_usable_SIGIO" >&5
$as_echo "$emacs_cv_usable_SIGIO" >&6; }
if test $emacs_cv_usable_SIGIO = yes; then
$as_echo "#define USABLE_SIGIO 1" >>confdefs.h
fi
fi
fi
case $opsys in
cygwin)
@ -15647,9 +15753,6 @@ $as_echo "#define G_SLICE_ALWAYS_MALLOC 1" >>confdefs.h
hpux11)
$as_echo "#define BROKEN_SA_RESTART 1" >>confdefs.h
$as_echo "#define USG_SUBTTY_WORKS 1" >>confdefs.h
;;
@ -15684,6 +15787,14 @@ fi
version=$PACKAGE_VERSION
copyright="Copyright (C) 2012 Free Software Foundation, Inc."
cat >>confdefs.h <<_ACEOF
#define COPYRIGHT "$copyright"
_ACEOF
### Specify what sort of things we'll be editing into Makefile and config.h.
### Use configuration here uncanonicalized to avoid exceeding size limits.
@ -24182,11 +24293,7 @@ fi
#### It makes printing result more understandable as using GTK sets
#### toolkit_scroll_bars to yes by default.
if test "${HAVE_GTK}" = "yes"; then
if test "${with_gtk3}" = "yes"; then
USE_X_TOOLKIT=GTK3
else
USE_X_TOOLKIT=GTK
fi
USE_X_TOOLKIT=GTK
fi
echo "
@ -24275,9 +24382,19 @@ test "${prefix}" != NONE &&
test "${exec_prefix}" != NONE &&
exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`
SUBDIR_MAKEFILES="lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile"
if test "$HAVE_NS" = "yes"; then
if test "$NS_IMPL_GNUSTEP" = yes; then
ac_config_files="$ac_config_files nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:nextstep/templates/Info-gnustep.plist.in nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop:nextstep/templates/Emacs.desktop.in"
ac_config_files="$ac_config_files Makefile lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile"
else
ac_config_files="$ac_config_files nextstep/Cocoa/Emacs.base/Contents/Info.plist:nextstep/templates/Info.plist.in nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:nextstep/templates/InfoPlist.strings.in"
fi
fi
SUBDIR_MAKEFILES="lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile nextstep/Makefile"
ac_config_files="$ac_config_files Makefile lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile nextstep/Makefile"
opt_makefile=test/automated/Makefile
@ -25117,6 +25234,10 @@ do
case $ac_config_target in
"src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h:src/config.in" ;;
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist") CONFIG_FILES="$CONFIG_FILES nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:nextstep/templates/Info-gnustep.plist.in" ;;
"nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop") CONFIG_FILES="$CONFIG_FILES nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop:nextstep/templates/Emacs.desktop.in" ;;
"nextstep/Cocoa/Emacs.base/Contents/Info.plist") CONFIG_FILES="$CONFIG_FILES nextstep/Cocoa/Emacs.base/Contents/Info.plist:nextstep/templates/Info.plist.in" ;;
"nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings") CONFIG_FILES="$CONFIG_FILES nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:nextstep/templates/InfoPlist.strings.in" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
"lib-src/Makefile") CONFIG_FILES="$CONFIG_FILES lib-src/Makefile" ;;
@ -25129,6 +25250,7 @@ do
"lwlib/Makefile") CONFIG_FILES="$CONFIG_FILES lwlib/Makefile" ;;
"lisp/Makefile") CONFIG_FILES="$CONFIG_FILES lisp/Makefile" ;;
"leim/Makefile") CONFIG_FILES="$CONFIG_FILES leim/Makefile" ;;
"nextstep/Makefile") CONFIG_FILES="$CONFIG_FILES nextstep/Makefile" ;;
"test/automated/Makefile") CONFIG_FILES="$CONFIG_FILES test/automated/Makefile" ;;
"admin/unidata/Makefile") CONFIG_FILES="$CONFIG_FILES admin/unidata/Makefile" ;;
"mkdirs") CONFIG_COMMANDS="$CONFIG_COMMANDS mkdirs" ;;

View file

@ -8,7 +8,7 @@
## regenerate configure and will fail if you do not have the required
## tools. You will have to run this script again.
test -d autogen && cd autogen
test ! -d autogen || cd autogen || exit
if test ! -e config.in; then
echo "Cannot find autogen/ directory."
@ -16,11 +16,12 @@ if test ! -e config.in; then
fi
## Order implied by top-level Makefile's rules, for time-stamps.
cp compile config.guess config.sub depcomp install-sh missing ../build-aux
cp aclocal.m4 ../
cp configure ../
touch ../src/stamp-h.in
cp config.in ../src/
cp Makefile.in ../lib/
cp -f compile config.guess config.sub depcomp install-sh missing \
../build-aux &&
cp aclocal.m4 ../ &&
cp configure ../ &&
touch ../src/stamp-h.in &&
cp config.in ../src/ &&
cp Makefile.in ../lib/ &&
echo "You can now run configure"

View file

@ -128,17 +128,12 @@ AC_ARG_WITH([mailhost],[AS_HELP_STRING([--with-mailhost=HOSTNAME],
OPTION_DEFAULT_ON([sound],[don't compile with sound support])
OPTION_DEFAULT_ON([sync-input],[process async input synchronously])
if test "$with_sync_input" = yes; then
AC_DEFINE(SYNC_INPUT, 1, [Process async input synchronously.])
fi
dnl FIXME currently it is not the last.
dnl This should be the last --with option, because --with-x is
dnl added later on when we find the path of X, and it's best to
dnl keep them together visually.
AC_ARG_WITH([x-toolkit],[AS_HELP_STRING([--with-x-toolkit=KIT],
[use an X toolkit (KIT one of: yes or gtk, gtk3, lucid or athena, motif, no)])],
[use an X toolkit (KIT one of: yes or gtk, gtk2, gtk3, lucid or athena, motif, no)])],
[ case "${withval}" in
y | ye | yes ) val=gtk ;;
n | no ) val=no ;;
@ -146,11 +141,13 @@ AC_ARG_WITH([x-toolkit],[AS_HELP_STRING([--with-x-toolkit=KIT],
a | at | ath | athe | athen | athena ) val=athena ;;
m | mo | mot | moti | motif ) val=motif ;;
g | gt | gtk ) val=gtk ;;
gtk2 ) val=gtk2 ;;
gtk3 ) val=gtk3 ;;
* )
AC_MSG_ERROR([`--with-x-toolkit=$withval' is invalid;
this option's value should be `yes', `no', `lucid', `athena', `motif', `gtk' or
`gtk3'. `yes' and `gtk' are synonyms. `athena' and `lucid' are synonyms.])
this option's value should be `yes', `no', `lucid', `athena', `motif', `gtk',
`gtk2' or `gtk3'. `yes' and `gtk' are synonyms.
`athena' and `lucid' are synonyms.])
;;
esac
with_x_toolkit=$val
@ -1189,9 +1186,10 @@ AC_DEFUN([PKG_CHECK_MODULES], [
$1_CFLAGS=""
$1_LIBS=""
## If we have a custom action on failure, don't print errors, but
## do set a variable so people can do so.
$1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
ifelse([$4], ,echo $$1_PKG_ERRORS,)
## do set a variable so people can do so. Do it in a subshell
## to capture any diagnostics in invoking pkg-config.
$1_PKG_ERRORS=`($PKG_CONFIG --print-errors "$2") 2>&1`
ifelse([$4], ,echo "$$1_PKG_ERRORS",)
fi
AC_SUBST($1_CFLAGS)
@ -1460,13 +1458,13 @@ if test "${with_ns}" != no; then
ns_appdir=`pwd`/nextstep/Emacs.app
ns_appbindir=${ns_appdir}/Contents/MacOS
ns_appresdir=${ns_appdir}/Contents/Resources
ns_appsrc=${srcdir}/nextstep/Cocoa/Emacs.base
ns_appsrc=Cocoa/Emacs.base
elif test -f $GNUSTEP_CONFIG_FILE; then
NS_IMPL_GNUSTEP=yes
ns_appdir=`pwd`/nextstep/Emacs.app
ns_appbindir=${ns_appdir}
ns_appresdir=${ns_appdir}/Resources
ns_appsrc=${srcdir}/nextstep/GNUstep/Emacs.base
ns_appsrc=GNUstep/Emacs.base
dnl FIXME sourcing this several times in subshells seems inefficient.
GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)"
GNUSTEP_SYSTEM_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_LIBRARIES)"
@ -1520,7 +1518,6 @@ AC_SUBST(TEMACS_LDFLAGS2)
INSTALL_ARCH_INDEP_EXTRA=install-etc
ns_self_contained=no
ns_frag=/dev/null
NS_OBJ=
NS_OBJC_OBJ=
if test "${HAVE_NS}" = yes; then
@ -1547,7 +1544,6 @@ if test "${HAVE_NS}" = yes; then
leimdir="\${ns_appresdir}/leim"
INSTALL_ARCH_INDEP_EXTRA=
fi
ns_frag=$srcdir/src/ns.mk
NS_OBJC_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o"
fi
CFLAGS="$tmp_CFLAGS"
@ -1557,7 +1553,6 @@ AC_SUBST(ns_self_contained)
AC_SUBST(NS_OBJ)
AC_SUBST(NS_OBJC_OBJ)
AC_SUBST(LIB_STANDARD)
AC_SUBST_FILE(ns_frag)
## $window_system is now set to the window system we will
## ultimately use.
@ -1580,6 +1575,9 @@ case "${window_system}" in
dnl Don't set this for GTK. A lot of tests below assumes Xt when
dnl USE_X_TOOLKIT is set.
USE_X_TOOLKIT=none ;;
gtk2 ) with_gtk2=yes
term_header=gtkutil.h
USE_X_TOOLKIT=none ;;
gtk3 ) with_gtk3=yes
term_header=gtkutil.h
USE_X_TOOLKIT=none ;;
@ -1902,35 +1900,41 @@ fi
HAVE_GTK=no
GTK_OBJ=
if test "${with_gtk3}" = "yes"; then
check_gtk2=no
gtk3_pkg_errors=
if test "${with_gtk3}" = "yes" || test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then
GLIB_REQUIRED=2.28
GTK_REQUIRED=3.0
GTK_MODULES="gtk+-3.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED"
dnl Checks for libraries.
PKG_CHECK_MODULES(GTK, $GTK_MODULES, pkg_check_gtk=yes, pkg_check_gtk=no)
if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then
if test "$pkg_check_gtk" = "no" && test "$with_gtk3" = "yes"; then
AC_MSG_ERROR($GTK_PKG_ERRORS)
fi
AC_DEFINE(HAVE_GTK3, 1, [Define to 1 if using GTK 3 or later.])
GTK_OBJ=emacsgtkfixed.o
term_header=gtkutil.h
if test "$pkg_check_gtk" = "yes"; then
AC_DEFINE(HAVE_GTK3, 1, [Define to 1 if using GTK 3 or later.])
GTK_OBJ=emacsgtkfixed.o
term_header=gtkutil.h
else
check_gtk2=yes
gtk3_pkg_errors="$GTK_PKG_ERRORS "
fi
fi
if test "$pkg_check_gtk" != "yes"; then
HAVE_GTK=no
if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then
if test "${with_gtk2}" = "yes" || test "$check_gtk2" = "yes"; then
GLIB_REQUIRED=2.10
GTK_REQUIRED=2.10
GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED"
dnl Checks for libraries.
PKG_CHECK_MODULES(GTK, $GTK_MODULES, pkg_check_gtk=yes, pkg_check_gtk=no)
if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then
AC_MSG_ERROR($GTK_PKG_ERRORS)
if test "$pkg_check_gtk" = "no" &&
{ test "$with_gtk" = yes || test "$with_gtk2" = "yes"; }
then
AC_MSG_ERROR($gtk3_pkg_errors$GTK_PKG_ERRORS)
fi
fi
fi
if test x"$pkg_check_gtk" = xyes; then
@ -2159,7 +2163,6 @@ HAVE_XAW3D=no
LUCID_LIBW=
if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then
if test "$with_xaw3d" != no; then
AC_MSG_CHECKING(for xaw3d)
AC_CACHE_VAL(emacs_cv_xaw3d,
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <X11/Intrinsic.h>
@ -2172,6 +2175,7 @@ if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then
emacs_cv_xaw3d=no
fi
if test $emacs_cv_xaw3d = yes; then
AC_MSG_CHECKING(for xaw3d)
AC_MSG_RESULT([yes; using Lucid toolkit])
USE_X_TOOLKIT=LUCID
HAVE_XAW3D=yes
@ -2179,6 +2183,7 @@ if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then
AC_DEFINE(HAVE_XAW3D, 1,
[Define to 1 if you have the Xaw3d library (-lXaw3d).])
else
AC_MSG_CHECKING(for xaw3d)
AC_MSG_RESULT(no)
AC_MSG_CHECKING(for libXaw)
AC_CACHE_VAL(emacs_cv_xaw,
@ -2750,8 +2755,8 @@ if test $emacs_cv_netdb_declares_h_errno = yes; then
AC_DEFINE(HAVE_H_ERRNO, 1, [Define to 1 if netdb.h declares h_errno.])
fi
# fmod, logb, and frexp are found in -lm on most systems.
# On HPUX 9.01, -lm does not contain logb, so check for sqrt.
# sqrt and other floating-point functions such as fmod and frexp
# are found in -lm on most systems.
AC_CHECK_LIB(m, sqrt)
# Check for mail-locking functions in a "mail" library. Probably this should
@ -2831,7 +2836,7 @@ AC_SUBST(BLESSMAIL_TARGET)
AC_CHECK_FUNCS(gethostname \
closedir getrusage get_current_dir_name \
lrand48 logb cbrt setsid \
lrand48 setsid \
fpathconf select euidaccess getpagesize setlocale \
utimes getrlimit setrlimit setpgid getcwd shutdown getaddrinfo \
__fpending strsignal setitimer \
@ -3211,6 +3216,14 @@ else
AC_MSG_RESULT(no)
fi
dnl Check for a Solaris 2.4 vfork bug that Autoconf misses (through 2.69).
dnl This can be removed once we assume Autoconf 2.70.
case $canonical in
*-solaris2.4 | *-solaris2.4.*)
dnl Disable the Autoconf-generated vfork test.
: ${ac_cv_func_vfork_works=no};;
esac
AC_FUNC_FORK
AC_CHECK_FUNCS(snprintf)
@ -3321,10 +3334,6 @@ esac
case $opsys in
darwin | gnu | hpux* | *bsd )
AC_DEFINE(NO_TERMIO, 1, [Define if termio.h should not be included.])
;;
irix6-5 | sol2* | unixware )
dnl Some SVr4s don't define NSIG in sys/signal.h for ANSI environments;
dnl instead, there's a system variable _sys_nsig. Unfortunately, we
@ -3334,26 +3343,16 @@ case $opsys in
;;
esac
emacs_broken_SIGIO=no
case $opsys in
dnl SIGIO exists, but the feature doesn't work in the way Emacs needs.
dnl See eg <http://article.gmane.org/gmane.os.openbsd.ports/46831>.
hpux* | irix6-5 | openbsd | sol2* | unixware )
AC_DEFINE(BROKEN_SIGIO, 1, [Define if SIGIO should not be used.])
emacs_broken_SIGIO=yes
;;
aix4-2)
dnl BUILD 9008 - FIONREAD problem still exists in X-Windows.
AC_DEFINE(BROKEN_FIONREAD, 1, [Define if FIONREAD should not be used.])
dnl As we define BROKEN_FIONREAD, SIGIO will be undefined in systty.h.
dnl But, on AIX, SIGAIO, SIGPTY, and SIGPOLL are defined as SIGIO,
dnl which causes compilation error at init_signals in sysdep.c.
dnl So, we define these macros so that syssignal.h detects them
dnl and undefine SIGAIO, SIGPTY and SIGPOLL.
AC_DEFINE(BROKEN_SIGAIO, 1, [Define if SIGAIO should not be used.])
AC_DEFINE(BROKEN_SIGPOLL,1, [Define if SIGPOLL should not be used.])
AC_DEFINE(BROKEN_SIGPTY, 1, [Define if SIGPTY should not be used.])
dnl On AIX Emacs uses the gmalloc.c malloc implementation. But given
dnl the way this system works, libc functions that return malloced
dnl memory use the libc malloc implementation. Calling xfree or
@ -3429,7 +3428,7 @@ dnl The choice is controlled by the variable interrupt_input.
dnl
dnl Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
dnl
dnl Emacs uses the presence or absence of the SIGIO and BROKEN_SIGIO macros
dnl Emacs uses the presence of the USABLE_SIGIO macro
dnl to indicate whether or not signal-driven I/O is possible. It uses
dnl INTERRUPT_INPUT to decide whether to use it by default.
dnl
@ -3836,13 +3835,24 @@ AC_CACHE_CHECK([for _setjmp], [emacs_cv_func__setjmp],
_longjmp (j, 1);]])],
[emacs_cv_func__setjmp=yes],
[emacs_cv_func__setjmp=no])])
if test $emacs_cv_func__setjmp = no; then
AC_DEFINE([_setjmp], [setjmp],
[Define to setjmp if _setjmp and _longjmp do not work. See _longjmp.])
AC_DEFINE([_longjmp], [longjmp],
[Define to longjmp if _setjmp and _longjmp do not work.
Because longjmp may alter signal masks, callers of _longjmp
should not assume that it leaves signal masks alone.])
if test $emacs_cv_func__setjmp = yes; then
AC_DEFINE([HAVE__SETJMP], 1, [Define to 1 if _setjmp and _longjmp work.])
else
AC_CACHE_CHECK([for sigsetjmp], [emacs_cv_func_sigsetjmp],
[AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[#include <setjmp.h>
]],
[[sigjmp_buf j;
if (! sigsetjmp (j, 1))
siglongjmp (j, 1);]])],
[emacs_cv_func_sigsetjmp=yes],
[emacs_cv_func_sigsetjmp=no])])
if test $emacs_cv_func_sigsetjmp = yes; then
AC_DEFINE([HAVE_SIGSETJMP], 1,
[Define to 1 if sigsetjmp and siglongjmp work.
The value of this symbol is irrelevant if HAVE__SETJMP is defined.])
fi
fi
case $opsys in
@ -3950,6 +3960,46 @@ case $opsys in
;;
esac
AC_CACHE_CHECK([for usable FIONREAD], [emacs_cv_usable_FIONREAD],
[case $opsys in
aix4-2)
dnl BUILD 9008 - FIONREAD problem still exists in X-Windows.
emacs_cv_usable_FIONREAD=no
;;
*)
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <sys/types.h>
#include <sys/ioctl.h>
#ifdef USG5_4
# include <sys/filio.h>
#endif
]],
[[int foo = ioctl (0, FIONREAD, &foo);]])],
[emacs_cv_usable_FIONREAD=yes],
[emacs_cv_usable_FIONREAD=no])
;;
esac])
if test $emacs_cv_usable_FIONREAD = yes; then
AC_DEFINE([USABLE_FIONREAD], [1], [Define to 1 if FIONREAD is usable.])
if test $emacs_broken_SIGIO = no; then
AC_CACHE_CHECK([for usable SIGIO], [emacs_cv_usable_SIGIO],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <fcntl.h>
#include <signal.h>
]],
[[int foo = SIGIO | F_SETFL | FASYNC;]])],
[emacs_cv_usable_SIGIO=yes],
[emacs_cv_usable_SIGIO=no])],
[emacs_cv_usable_SIGIO=yes],
[emacs_cv_usable_SIGIO=no])
if test $emacs_cv_usable_SIGIO = yes; then
AC_DEFINE([USABLE_SIGIO], [1], [Define to 1 if SIGIO is usable.])
fi
fi
fi
case $opsys in
dnl Emacs supplies its own malloc, but glib (part of Gtk+) calls
@ -3963,11 +4013,6 @@ case $opsys in
;;
hpux11)
dnl See comments in sysdep.c:sys_signal.
dnl SA_RESTART resets the timeout of `select' on hpux11.
dnl Defining BROKEN_SA_RESTART is not the same as undef'ing SA_RESTART.
AC_DEFINE(BROKEN_SA_RESTART, 1, [Define if SA_RESTART should only
be used in batch mode.])
dnl It works to open the pty's tty in the parent (Emacs), then
dnl close and reopen it in the child.
AC_DEFINE(USG_SUBTTY_WORKS, 1, [Define for USG systems where it
@ -4002,6 +4047,11 @@ fi
version=$PACKAGE_VERSION
copyright="Copyright (C) 2012 Free Software Foundation, Inc."
AC_DEFINE_UNQUOTED(COPYRIGHT, ["$copyright"],
[Short copyright string for this version of Emacs.])
AC_SUBST(copyright)
### Specify what sort of things we'll be editing into Makefile and config.h.
### Use configuration here uncanonicalized to avoid exceeding size limits.
AC_SUBST(version)
@ -4407,11 +4457,7 @@ End:
#### It makes printing result more understandable as using GTK sets
#### toolkit_scroll_bars to yes by default.
if test "${HAVE_GTK}" = "yes"; then
if test "${with_gtk3}" = "yes"; then
USE_X_TOOLKIT=GTK3
else
USE_X_TOOLKIT=GTK
fi
USE_X_TOOLKIT=GTK
fi
echo "
@ -4505,6 +4551,16 @@ fi
test "${exec_prefix}" != NONE &&
exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`]
if test "$HAVE_NS" = "yes"; then
if test "$NS_IMPL_GNUSTEP" = yes; then
AC_CONFIG_FILES([nextstep/GNUstep/Emacs.base/Resources/Info-gnustep.plist:nextstep/templates/Info-gnustep.plist.in \
nextstep/GNUstep/Emacs.base/Resources/Emacs.desktop:nextstep/templates/Emacs.desktop.in])
else
AC_CONFIG_FILES([nextstep/Cocoa/Emacs.base/Contents/Info.plist:nextstep/templates/Info.plist.in \
nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj/InfoPlist.strings:nextstep/templates/InfoPlist.strings.in])
fi
fi
dnl Obviously there is duplication here wrt $SUBDIR_MAKEFILES.
dnl You _can_ use that variable in AC_CONFIG_FILES, so long as any directory
dnl using automake (ie lib/) is explicitly listed and not "hidden" in a variable
@ -4513,12 +4569,12 @@ dnl This will work, but you get a config.status that is not quite right
dnl (see http://lists.gnu.org/archive/html/bug-autoconf/2008-08/msg00028.html).
dnl That doesn't have any obvious consequences for Emacs, but on the whole
dnl it seems better to just live with the duplication.
SUBDIR_MAKEFILES="lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile"
SUBDIR_MAKEFILES="lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile nextstep/Makefile"
AC_CONFIG_FILES([Makefile lib/Makefile lib-src/Makefile oldXMenu/Makefile \
doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile \
doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile \
leim/Makefile])
leim/Makefile nextstep/Makefile])
dnl test/ is not present in release tarfiles.
opt_makefile=test/automated/Makefile

View file

@ -1,3 +1,8 @@
2012-09-17 Chong Yidong <cyd@gnu.org>
* building.texi (GDB User Interface Layout): Remove reference to
removed variable gdb-use-separate-io-buffer (Bug#12454).
2012-09-08 Jambunathan K <kjambunathan@gmail.com>
* regs.texi (Text Registers): `C-x r +' can now be used instead of

View file

@ -888,10 +888,6 @@ displays the following frame layout:
@end group
@end smallexample
However, if @code{gdb-use-separate-io-buffer} is @code{nil}, the I/O
buffer does not appear and the primary source buffer occupies the full
width of the frame.
@findex gdb-restore-windows
@findex gdb-many-windows
If you ever change the window layout, you can restore the ``many

View file

@ -1,3 +1,30 @@
2012-09-18 Chong Yidong <cyd@gnu.org>
* display.texi (Faces): Discuss anonymous faces.
(Face Attributes): Tweak intro.
(Defining Faces): Move after the Face Attributes node. Copyedits.
(Displaying Faces): Describe role of inheritance.
* customize.texi (Customization): Define customization more
carefully (Bug#11440).
(Common Keywords): Add xref to Constant Variables.
* variables.texi (Defining Variables): Link to defcustom's node
instead of the higher-level Customization chapter.
2012-09-11 Paul Eggert <eggert@cs.ucla.edu>
Simplify, document, and port floating-point (Bug#12381).
* numbers.texi (Float Basics, Arithmetic Operations, Math Functions):
Document that / and mod (with floating point arguments), along
with asin, acos, log, log10, expt and sqrt, return special values
instead of signaling exceptions.
(Float Basics): Document that logb operates on the absolute value
of its argument.
(Math Functions): Document that (log ARG BASE) also returns NaN if
BASE is negative. Document that (expt X Y) returns NaN if X is a
finite negative number and Y a finite non-integer.
2012-09-09 Chong Yidong <cyd@gnu.org>
* lists.texi (Sets And Lists): Explain that the return value for

View file

@ -6,13 +6,30 @@
@chapter Customization Settings
@cindex customization item
This chapter describes how to declare customizable variables and
customization groups for classifying them. We use the term
@dfn{customization item} to include customizable variables,
customization groups, as well as faces.
Users of Emacs can customize variables and faces without writing
Lisp code, by using the Customize interface. @xref{Easy
Customization,,, emacs, The GNU Emacs Manual}. This chapter describes
how to define @dfn{customization items} that users can interact with
through the Customize interface.
@xref{Defining Faces}, for the @code{defface} macro, which is used
for declaring customizable faces.
Customization items include customizable variables, which are
defined with the
@ifinfo
@code{defcustom} macro (@pxref{Variable Definitions});
@end ifinfo
@ifnotinfo
@code{defcustom} macro;
@end ifnotinfo
customizable faces, which are defined with @code{defface} (described
separately in @ref{Defining Faces}); and @dfn{customization groups},
defined with
@ifinfo
@code{defgroup} (@pxref{Group Definitions}),
@end ifinfo
@ifnotinfo
@code{defgroup},
@end ifnotinfo
which act as containers for groups of related customization items.
@menu
* Common Keywords:: Common keyword arguments for all kinds of
@ -29,9 +46,10 @@ for declaring customizable faces.
@cindex customization keywords
The customization declarations that we will describe in the next few
sections (@code{defcustom}, @code{defgroup}, etc.) all accept keyword
arguments for specifying various information. This section describes
keywords that apply to all types of customization declarations.
sections---@code{defcustom}, @code{defgroup}, etc.---all accept
keyword arguments (@pxref{Constant Variables}) for specifying various
information. This section describes keywords that apply to all types
of customization declarations.
All of these keywords, except @code{:tag}, can be used more than once
in a given item. Each use of the keyword has an independent effect.
@ -188,14 +206,14 @@ choice is the official name of the package, such as MH-E or Gnus.
@cindex define customization group
@cindex customization groups, defining
Each Emacs Lisp package should have one main customization group which
contains all the options, faces and other groups in the package. If the
package has a small number of options and faces, use just one group and
put everything in it. When there are more than twelve or so options and
faces, then you should structure them into subgroups, and put the
subgroups under the package's main customization group. It is OK to
put some of the options and faces in the package's main group alongside
the subgroups.
Each Emacs Lisp package should have one main customization group
which contains all the options, faces and other groups in the package.
If the package has a small number of options and faces, use just one
group and put everything in it. When there are more than twenty or so
options and faces, then you should structure them into subgroups, and
put the subgroups under the package's main customization group. It is
OK to put some of the options and faces in the package's main group
alongside the subgroups.
The package's main or only group should be a member of one or more of
the standard customization groups. (To display the full list of them,
@ -251,7 +269,17 @@ confusing names for options and faces.
@node Variable Definitions
@section Defining Customization Variables
@cindex define customization options
@cindex customization variables, how to define
@cindex customizable variables, how to define
@cindex user options, how to define
@dfn{Customizable variables}, also called @dfn{user options}, are
global Lisp variables whose values can be set through the Customize
interface. Unlike other global variables, which are defined with
@code{defvar} (@pxref{Defining Variables}), customizable variables are
defined using the @code{defcustom} macro. In addition to calling
@code{defvar} as a subroutine, @code{defcustom} states how the
variable should be displayed in the Customize interface, the values it
is allowed to take, etc.
@defmac defcustom option standard doc [keyword value]@dots{}
This macro declares @var{option} as a user option (i.e.@: a
@ -291,13 +319,14 @@ has not been assigned the right value yet. In that case, use
standard value after Emacs starts up.
@end defmac
@code{defcustom} accepts the following additional keywords:
In addition to the keywords listed in @ref{Common Keywords}, this
macro accepts the following keywords:
@table @code
@item :type @var{type}
Use @var{type} as the data type for this option. It specifies which
values are legitimate, and how to display the value.
@xref{Customization Types}, for more information.
values are legitimate, and how to display the value
(@pxref{Customization Types}).
@item :options @var{value-list}
@kindex options@r{, @code{defcustom} keyword}

View file

@ -1863,20 +1863,36 @@ height.
A @dfn{face} is a collection of graphical @dfn{attributes} for
displaying text: font, foreground color, background color, optional
underlining, and so on. Faces control how Emacs displays text in
buffers, as well as other parts of the frame such as the mode line.
@xref{Standard Faces,,, emacs, The GNU Emacs Manual}, for the list of
faces Emacs normally comes with.
underlining, etc. Faces control how Emacs displays text in buffers,
as well as other parts of the frame such as the mode line.
@cindex face id
For most purposes, you refer to a face in Lisp programs using its
@dfn{face name}, which is usually a Lisp symbol. For backward
compatibility, a face name can also be a string, which is equivalent
to a Lisp symbol of the same name.
@cindex anonymous face
One way to represent a face is as a property list of attributes,
like @code{(:foreground "red" :weight bold)}. For example, you can
assign such an @dfn{anonymous face} as the value of the @code{face}
text property; this causes Emacs to display the underlying text with
the specified attributes. @xref{Special Properties}.
@cindex face name
More commonly, a face is referred to via a @dfn{face name}: a Lisp
symbol which is associated with a set of face attributes. Named faces
are defined using the @code{defface} macro (@pxref{Defining Faces}).
Emacs defines several standard named faces; @xref{Standard Faces,,,
emacs, The GNU Emacs Manual}.
Many parts of Emacs require named faces, and do not accept anonymous
faces. These include the functions documented in @ref{Attribute
Functions}, and the variable @code{font-lock-keywords}
(@pxref{Search-based Fontification}). Unless otherwise stated, we
will use the term @dfn{face} to refer only to named faces.
For backward compatibility, you can also use a string to specify a
face name; that is equivalent to a Lisp symbol with the same name.
@defun facep object
This function returns a non-@code{nil} value if @var{object} is a Lisp
symbol or string that names a face. Otherwise, it returns @code{nil}.
This function returns a non-@code{nil} value if @var{object} is a
named face: a Lisp symbol or string which serves as a face name.
Otherwise, it returns @code{nil}.
@end defun
By default, each face name corresponds to the same set of attributes
@ -1884,8 +1900,8 @@ in all frames. But you can also assign a face name a special set of
attributes in one frame (@pxref{Attribute Functions}).
@menu
* Defining Faces:: How to define a face.
* Face Attributes:: What is in a face?
* Defining Faces:: How to define a face.
* Attribute Functions:: Functions to examine and set face attributes.
* Displaying Faces:: How Emacs combines the faces specified for a character.
* Face Remapping:: Remapping faces to alternative definitions.
@ -1900,161 +1916,21 @@ attributes in one frame (@pxref{Attribute Functions}).
* Low-Level Font:: Lisp representation for character display fonts.
@end menu
@node Defining Faces
@subsection Defining Faces
The @code{defface} macro defines a face and specifies its default
appearance. The user can subsequently customize the face using the
Customize interface (@pxref{Customization}).
@defmac defface face spec doc [keyword value]@dots{}
This macro declares @var{face} as a customizable face whose default
attributes are given by @var{spec}. You should not quote the symbol
@var{face}, and it should not end in @samp{-face} (that would be
redundant). The argument @var{doc} is a documentation string for the
face. The additional @var{keyword} arguments have the same meanings
as in @code{defgroup} and @code{defcustom} (@pxref{Common Keywords}).
When @code{defface} executes, it defines the face according to
@var{spec}, then uses any customizations that were read from the
init file (@pxref{Init File}) to override that specification.
When you evaluate a @code{defface} form with @kbd{C-M-x} in Emacs
Lisp mode (@code{eval-defun}), a special feature of @code{eval-defun}
overrides any customizations of the face. This way, the face reflects
exactly what the @code{defface} says.
@cindex face specification
The @var{spec} argument is a @dfn{face specification}, which states
how the face should appear on different kinds of terminals. It should
be an alist whose elements each have the form
@example
(@var{display} . @var{plist})
@end example
@noindent
@var{display} specifies a class of terminals (see below), while
@var{plist} is a property list of face attributes and their values,
specifying how the face appears on such terminals
@iftex
(see the next section for details about face attributes).
@end iftex
@ifnottex
(@pxref{Face Attributes}, for details about face attributes).
@end ifnottex
The @var{display} part of an element of @var{spec} determines which
frames the element matches. If more than one element of @var{spec}
matches a given frame, the first element that matches is the one used
for that frame. There are three possibilities for @var{display}:
@table @asis
@item @code{default}
This element of @var{spec} doesn't match any frames; instead, it
specifies defaults that apply to all frames. This element, if used,
must be the first element of @var{spec}. Each of the following
elements can override any or all of these defaults.
@item @code{t}
This element of @var{spec} matches all frames. Therefore, any
subsequent elements of @var{spec} are never used. Normally
@code{t} is used in the last (or only) element of @var{spec}.
@item a list
If @var{display} is a list, each element should have the form
@code{(@var{characteristic} @var{value}@dots{})}. Here
@var{characteristic} specifies a way of classifying frames, and the
@var{value}s are possible classifications which @var{display} should
apply to. Here are the possible values of @var{characteristic}:
@table @code
@item type
The kind of window system the frame uses---either @code{graphic} (any
graphics-capable display), @code{x}, @code{pc} (for the MS-DOS console),
@code{w32} (for MS Windows 9X/NT/2K/XP), or @code{tty}
(a non-graphics-capable display).
@xref{Window Systems, window-system}.
@item class
What kinds of colors the frame supports---either @code{color},
@code{grayscale}, or @code{mono}.
@item background
The kind of background---either @code{light} or @code{dark}.
@item min-colors
An integer that represents the minimum number of colors the frame
should support. This matches a frame if its
@code{display-color-cells} value is at least the specified integer.
@item supports
Whether or not the frame can display the face attributes given in
@var{value}@dots{} (@pxref{Face Attributes}). @xref{Display Face
Attribute Testing}, for more information on exactly how this testing
is done.
@end table
If an element of @var{display} specifies more than one @var{value} for a
given @var{characteristic}, any of those values is acceptable. If
@var{display} has more than one element, each element should specify a
different @var{characteristic}; then @emph{each} characteristic of the
frame must match one of the @var{value}s specified for it in
@var{display}.
@end table
@end defmac
Here's how the standard face @code{highlight} is defined:
@example
(defface highlight
'((((class color) (min-colors 88) (background light))
:background "darkseagreen2")
(((class color) (min-colors 88) (background dark))
:background "darkolivegreen")
(((class color) (min-colors 16) (background light))
:background "darkseagreen2")
(((class color) (min-colors 16) (background dark))
:background "darkolivegreen")
(((class color) (min-colors 8))
:background "green" :foreground "black")
(t :inverse-video t))
"Basic face for highlighting."
:group 'basic-faces)
@end example
Internally, Emacs stores the face's default specification in its
@code{face-defface-spec} symbol property (@pxref{Property Lists}).
The @code{saved-face} property stores the face specification saved by
the user, using the customization buffer; the @code{customized-face}
property stores the face specification customized for the current
session, but not saved; and the @code{theme-face} property stores an
alist associating the active customization settings and Custom themes
with their specifications for that face. The face's documentation
string is stored in the @code{face-documentation} property. But
normally you should not try to set any of these properties directly.
@xref{Applying Customizations}, for the @code{custom-set-faces}
function, which is used to apply customized face settings.
People are sometimes tempted to create variables whose values
specify a face to use. In the vast majority of cases, this is not
necessary; it is preferable to simply use faces directly.
@node Face Attributes
@subsection Face Attributes
@cindex face attributes
The effect of using a face is determined by a fixed set of @dfn{face
attributes}. This table lists all the face attributes, their possible
values, and their effects. You can specify more than one face for a
given piece of text; Emacs merges the attributes of all the faces to
determine how to display the text. @xref{Displaying Faces}.
@dfn{Face attributes} determine the visual appearance of a face.
The following table lists all the face attributes, their possible
values, and their effects.
In addition to the values given below, each face attribute can also
have the value @code{unspecified}. This special value means the face
doesn't specify that attribute. In face merging, when the first face
fails to specify a particular attribute, the next face gets a chance.
However, the @code{default} face must specify all attributes.
Apart from the values given below, each face attribute can have the
value @code{unspecified}. This special value means that the face
doesn't specify that attribute directly. An @code{unspecified}
attribute tells Emacs to refer instead to a parent face (see the
description @code{:inherit} attribute below); or, failing that, to an
underlying face (@pxref{Displaying Faces}). The @code{default} face
must specify all attributes.
Some of these attributes are meaningful only on certain kinds of
displays. If your display cannot handle a certain attribute, the
@ -2063,7 +1939,7 @@ attribute is ignored.
@table @code
@item :family
Font family or fontset (a string). @xref{Fonts,,, emacs, The GNU
Emacs Manual}, for more information about font families; the function
Emacs Manual}, for more information about font families. The function
@code{font-family-list} (see below) returns a list of available family
names. @xref{Fontsets}, for information about fontsets.
@ -2083,9 +1959,8 @@ The height of the font. In the simplest case, this is an integer in
units of 1/10 point.
The value can also be a floating point number or a function, which
specifies the height relative to an @dfn{underlying face} (i.e., a
face that has a lower priority in the list described in
@ref{Displaying Faces}). If the value is a floating point number,
specifies the height relative to an @dfn{underlying face}
(@pxref{Displaying Faces}). If the value is a floating point number,
that specifies the amount by which to scale the height of the
underlying face. If the value is a function, that function is called
with one argument, the height of the underlying face, and returns the
@ -2261,11 +2136,147 @@ suitable for use with @code{:stipple} (see above). It returns
@code{nil} otherwise.
@end defun
@node Defining Faces
@subsection Defining Faces
The usual way to define a face is through the @code{defface} macro.
This macro defines a face name, and associates that name with a set of
face attributes. It also sets up the face so that the user can
customize it via the Customize interface (@pxref{Customization}).
@defmac defface face spec doc [keyword value]@dots{}
This macro declares @var{face} as a customizable face whose default
attributes are given by @var{spec}. You should not quote the symbol
@var{face}, and it should not end in @samp{-face} (that would be
redundant). The argument @var{doc} is a documentation string for the
face. The additional @var{keyword} arguments have the same meanings
as in @code{defgroup} and @code{defcustom} (@pxref{Common Keywords}).
When @code{defface} executes, it defines the face according to
@var{spec}, then uses any customizations that were read from the
init file (@pxref{Init File}) to override that specification.
When you evaluate a @code{defface} form with @kbd{C-M-x} in Emacs
Lisp mode (@code{eval-defun}), a special feature of @code{eval-defun}
overrides any customizations of the face. This way, the face reflects
exactly what the @code{defface} says.
@cindex face specification
The @var{spec} argument is a @dfn{face specification}, which states
how the face should appear on different kinds of terminals. It should
be an alist whose elements each have the form
@example
(@var{display} . @var{plist})
@end example
@noindent
@var{display} specifies a class of terminals (see below). @var{plist}
is a property list of face attributes and their values, specifying how
the face appears on such terminals. For backward compatibility, you
can also write an element as @code{(@var{display} @var{plist})}.
The @var{display} part of an element of @var{spec} determines which
terminals the element matches. If more than one element of @var{spec}
matches a given terminal, the first element that matches is the one
used for that terminal. There are three possibilities for
@var{display}:
@table @asis
@item @code{default}
This element of @var{spec} doesn't match any terminal; instead, it
specifies defaults that apply to all terminals. This element, if
used, must be the first element of @var{spec}. Each of the following
elements can override any or all of these defaults.
@item @code{t}
This element of @var{spec} matches all terminals. Therefore, any
subsequent elements of @var{spec} are never used. Normally @code{t}
is used in the last (or only) element of @var{spec}.
@item a list
If @var{display} is a list, each element should have the form
@code{(@var{characteristic} @var{value}@dots{})}. Here
@var{characteristic} specifies a way of classifying terminals, and the
@var{value}s are possible classifications which @var{display} should
apply to. Here are the possible values of @var{characteristic}:
@table @code
@item type
The kind of window system the terminal uses---either @code{graphic}
(any graphics-capable display), @code{x}, @code{pc} (for the MS-DOS
console), @code{w32} (for MS Windows 9X/NT/2K/XP), or @code{tty} (a
non-graphics-capable display). @xref{Window Systems, window-system}.
@item class
What kinds of colors the terminal supports---either @code{color},
@code{grayscale}, or @code{mono}.
@item background
The kind of background---either @code{light} or @code{dark}.
@item min-colors
An integer that represents the minimum number of colors the terminal
should support. This matches a terminal if its
@code{display-color-cells} value is at least the specified integer.
@item supports
Whether or not the terminal can display the face attributes given in
@var{value}@dots{} (@pxref{Face Attributes}). @xref{Display Face
Attribute Testing}, for more information on exactly how this testing
is done.
@end table
If an element of @var{display} specifies more than one @var{value} for
a given @var{characteristic}, any of those values is acceptable. If
@var{display} has more than one element, each element should specify a
different @var{characteristic}; then @emph{each} characteristic of the
terminal must match one of the @var{value}s specified for it in
@var{display}.
@end table
@end defmac
Here's how the standard face @code{highlight} is defined:
@example
(defface highlight
'((((class color) (min-colors 88) (background light))
:background "darkseagreen2")
(((class color) (min-colors 88) (background dark))
:background "darkolivegreen")
(((class color) (min-colors 16) (background light))
:background "darkseagreen2")
(((class color) (min-colors 16) (background dark))
:background "darkolivegreen")
(((class color) (min-colors 8))
:background "green" :foreground "black")
(t :inverse-video t))
"Basic face for highlighting."
:group 'basic-faces)
@end example
Internally, Emacs stores the face's default specification in its
@code{face-defface-spec} symbol property (@pxref{Property Lists}).
The @code{saved-face} property stores the face specification saved by
the user, using the customization buffer; the @code{customized-face}
property stores the face specification customized for the current
session, but not saved; and the @code{theme-face} property stores an
alist associating the active customization settings and Custom themes
with their specifications for that face. The face's documentation
string is stored in the @code{face-documentation} property. But
normally you should not try to set any of these properties directly.
@xref{Applying Customizations}, for the @code{custom-set-faces}
function, which is used to apply customized face settings.
People are sometimes tempted to create variables whose values
specify a face to use. In the vast majority of cases, this is not
necessary; it is preferable to simply use faces directly.
@node Attribute Functions
@subsection Face Attribute Functions
This section describes the functions for accessing and modifying the
attributes of an existing face.
attributes of an existing named face.
@defun set-face-attribute face frame &rest arguments
This function sets one or more attributes of @var{face} for
@ -2467,8 +2478,12 @@ This function returns the @code{:inverse-video} attribute of face @var{face}.
@node Displaying Faces
@subsection Displaying Faces
Here is how Emacs determines the face to use for displaying any
given piece of text:
When Emacs displays a given piece of text, the visual appearance of
the text may be determined by faces drawn from different sources. If
these various sources together specify more than one face for a
particular character, Emacs merges the attributes of the various
faces. Here is the order in which Emacs merges the faces, from
highest to lowest priority:
@itemize @bullet
@item
@ -2482,11 +2497,11 @@ Manual}.
@item
If the text lies within an overlay with a non-@code{nil} @code{face}
property, Emacs applies the face or face attributes specified by that
property. If the overlay has a @code{mouse-face} property and the
mouse is ``near enough'' to the overlay, Emacs applies the face or
face attributes specified by the @code{mouse-face} property instead.
@xref{Overlay Properties}.
property, Emacs applies the face(s) specified by that property. If
the overlay has a @code{mouse-face} property and the mouse is ``near
enough'' to the overlay, Emacs applies the face or face attributes
specified by the @code{mouse-face} property instead. @xref{Overlay
Properties}.
When multiple overlays cover one character, an overlay with higher
priority overrides those with lower priority. @xref{Overlays}.
@ -2508,11 +2523,12 @@ If any given attribute has not been specified during the preceding
steps, Emacs applies the attribute of the @code{default} face.
@end itemize
If these various sources together specify more than one face for a
particular character, Emacs merges the attributes of the various faces
specified. For each attribute, Emacs tries using the above order
(i.e.@: first the face of any special glyph; then the face for region
highlighting, if appropriate; and so on).
At each stage, if a face has a valid @code{:inherit} attribute,
Emacs treats any attribute with an @code{unspecified} value as having
the corresponding value drawn from the parent face(s). @pxref{Face
Attributes}. Note that the parent face(s) may also leave the
attribute unspecified; in that case, the attribute remains unspecified
at the next level of face merging.
@node Face Remapping
@subsection Face Remapping

View file

@ -1366,8 +1366,8 @@ Overlays
Faces
* Defining Faces:: How to define a face.
* Face Attributes:: What is in a face?
* Defining Faces:: How to define a face.
* Attribute Functions:: Functions to examine and set face attributes.
* Displaying Faces:: How Emacs combines the faces specified for
a character.

View file

@ -2999,12 +2999,11 @@ can be the following:
A face name (a symbol or string).
@item
A property list of face attributes. This has the
form (@var{keyword} @var{value} @dots{}), where each @var{keyword} is a
face attribute name and @var{value} is a meaningful value for that
attribute. With this feature, you do not need to create a face each
time you want to specify a particular attribute for certain text.
@xref{Face Attributes}.
A property list of face attributes. This has the form (@var{keyword}
@var{value} @dots{}), where each @var{keyword} is a face attribute
name and @var{value} is a meaningful value for that attribute. With
this feature, you do not need to create a face each time you want to
specify a particular attribute for certain text.
@item
A list of faces. This specifies a face which is an aggregate of the

View file

@ -403,7 +403,8 @@ unconditionally initializes the variable, whereas @code{defvar}
initializes it only if it is originally void.
To define a customizable variable, you should use @code{defcustom}
(which calls @code{defvar} as a subroutine). @xref{Customization}.
(which calls @code{defvar} as a subroutine). @xref{Variable
Definitions}.
@defspec defvar symbol [value [doc-string]]
This special form defines @var{symbol} as a variable. Note that

View file

@ -1,3 +1,47 @@
2012-09-17 Glenn Morris <rgm@gnu.org>
* refcards/emacsver.tex: New file.
* refcards/calccard.tex, refcards/cs-dired-ref.tex:
* refcards/cs-refcard.tex, refcards/cs-survival.tex:
* refcards/de-refcard.tex, refcards/dired-ref.tex:
* refcards/emacsver.tex, refcards/fr-dired-ref.tex:
* refcards/fr-refcard.tex, refcards/fr-survival.tex:
* refcards/orgcard.tex, refcards/pl-refcard.tex:
* refcards/pt-br-refcard.tex, refcards/refcard.tex:
* refcards/sk-dired-ref.tex, refcards/sk-refcard.tex:
* refcards/sk-survival.tex, refcards/survival.tex:
* refcards/vipcard.tex, refcards/viperCard.tex: Include emacsver.tex.
* refcards/calccard.tex (\emacsversionnumber):
Rename to \versionemacs, same as all the other refcards.
* refcards/Makefile (ENVADD): New variable.
(sk-dired-ref.pdf, sk-survival.pdf, pl-refcard.pdf)
(%.pdf, %,dvi, sk-dired-ref.dvi, sk-survival.dvi, pl-refcard.dvi):
Depend on emacsver.tex. Add "." to TEXINPUTS for TeX commands.
2012-09-16 Paul Eggert <eggert@cs.ucla.edu>
Remove configure's --without-sync-input option (Bug#12450).
* TODO (Make SYNC_INPUT the default): Remove, as the code now
behaves as if SYNC_INPUT is always true.
2012-09-13 Paul Eggert <eggert@cs.ucla.edu>
Use a more backwards-compatible timer format (Bug#12430).
* NEWS: Document it, plus fix a typo.
2012-09-13 Jan Djärv <jan.h.d@swipnet.se>
* NEWS (--with-x-toolkit): Mention that Gtk+ 3 is now default.
2012-09-13 Paul Eggert <eggert@cs.ucla.edu>
* NEWS: Document timer format change (Bug#12430).
2012-09-11 Paul Eggert <eggert@cs.ucla.edu>
Simplify, document, and port floating-point (Bug#12381).
* NEWS: Document NaNs versus signaling-error change.
2012-09-04 Paul Eggert <eggert@cs.ucla.edu>
Give more-useful info on a fatal error (Bug#12328).

View file

@ -65,6 +65,14 @@ renamed to '--enable-check-lisp-object-type', as the resulting
Lisp_Object type no longer uses a union to implement the compile time
check that this option enables.
---
** The default toolkit has been changed to Gtk+ version 3.
If you don't pass --with-x-toolkit to configure or if you pass
--with-x-toolkit=gtk or --with-x-toolkit=yes, configure will try to build
with Gtk+ version 3, and if that fails, try Gtk+ version 2.
You can explicitly require a specific version by passing
--with-x-toolkit=gtk2 or --with-x-toolkit=gtk3 to configure.
* Startup Changes in Emacs 24.3
@ -101,6 +109,11 @@ machines. Other functions that use this format, such as
file-attributes and format-time-string, have been changed accordingly.
Old-format time stamps are still accepted.
** The format of timers in timer-list and timer-idle-list is now
[TRIGGERED-P HI-SECS LO-SECS USECS REPEAT-DELAY FUNCTION ARGS IDLE-DELAY PSECS].
The PSECS slot is new, and uses picosecond resolution. It can be
accessed via the new timer--psecs accessor.
** Emacs now generates backtraces on fatal errors.
On encountering a fatal error, Emacs now outputs a textual description
of the fatal signal, and a short backtrace on platforms like glibc
@ -722,6 +735,7 @@ in Emacs 24.1:
**** `special-display-frame-alist'
**** `special-display-buffer-names'
**** `special-display-function'
**** `display-buffer-function'
** Completion

View file

@ -1229,13 +1229,6 @@ systems for HTML/XML files automatically."
For use by sml-mode, python-mode, tex-mode, scheme-mode, lisp-mode,
haskell-mode, tuareg-mode, ...
** Make SYNC_INPUT the default. [true since 2008-03-11]
All loops using immediate_quit need to be checked to ensure that
C-g can interrupt them, in case of an infinite loop. Once we
switch to using SYNC_INPUT, we can remove the BLOCK_INPUTs in the
allocation functions (allocate_string etc.) without worrying about
data munging.
** Add "link" button class
Add a standard button-class named "link", and make all other link-like
button classes inherit from it. Set the default face of the "link" button

View file

@ -47,26 +47,27 @@ VIPER_CARDS_PDF = vipcard.pdf viperCard.pdf
viper-cards_pdf: ${VIPER_CARDS_PDF}
viper-cards_ps: ${VIPER_CARDS_PDF:.pdf=.ps}
ENVADD = TEXINPUTS=".:"
## PDF files.
## The page layouts (a4/letter) are written directly in the .tex files.
cs-refcard.pdf cs-dired-ref.pdf cs-survival.pdf sk-refcard.pdf \
sk-dired-ref.pdf sk-survival.pdf: %.pdf: %.tex
sk-dired-ref.pdf sk-survival.pdf: %.pdf: %.tex emacsver.tex
if pdfcsplain --version > /dev/null 2> /dev/null; then \
pdfcsplain $<; \
${ENVADD} pdfcsplain $<; \
else \
csplain "\pdfoutput=1\input $<"; \
${ENVADD} csplain "\pdfoutput=1\input $<"; \
fi
## Some versions of pdfmex seem to create dvi by default, hence output-format.
pl-refcard.pdf: %.pdf: %.tex
pl-refcard.pdf: %.pdf: %.tex emacsver.tex
if ! kpsewhich -format=fmt mex > /dev/null && \
! pdfmex --version > /dev/null 2> /dev/null; then \
echo "No mex format found."; false; \
fi
pdftex -output-format=pdf $<
${ENVADD} pdftex -output-format=pdf $<
ru-refcard.pdf: %.pdf: %.tex
pdflatex $<
@ -81,21 +82,21 @@ gnus-booklet.pdf: gnus-refcard.tex gnus-logo.pdf
pdflatex -jobname=gnus-booklet '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
## Everything not explicitly listed above.
%.pdf: %.tex
pdftex $<
%.pdf: %.tex emacsver.tex
${ENVADD} pdftex $<
## dvi files.
cs-refcard.dvi cs-dired-ref.dvi cs-survival.dvi sk-refcard.dvi \
sk-dired-ref.dvi sk-survival.dvi: %.dvi: %.tex
csplain $<
sk-dired-ref.dvi sk-survival.dvi: %.dvi: %.tex emacsver.tex
${ENVADD} csplain $<
pl-refcard.dvi: %.dvi: %.tex
pl-refcard.dvi: %.dvi: %.tex emacsver.tex
if ! kpsewhich -format=fmt mex > /dev/null; then \
echo "No mex format found."; false; \
fi
tex $<
${ENVADD} tex $<
ru-refcard.dvi gnus-refcard.dvi: %.dvi: %.tex
latex $<
@ -105,8 +106,8 @@ gnus-booklet.dvi: gnus-refcard.tex
mv gnus-refcard.dvi $@
## Everything not explicitly listed above.
%.dvi: %.tex
tex $<
%.dvi: %.tex emacsver.tex
${ENVADD} tex $<
## PostScript files.

View file

@ -63,8 +63,7 @@
% UUCP: mit-erl!gildea
% Internet: gildea@stop.mail-abuse.org
\def\emacsversionnumber{24}
\def\year{2012} % latest copyright year
\input emacsver.tex
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
\centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
@ -276,7 +275,7 @@
\title{GNU Calc Reference Card}
\centerline{(for GNU Emacs version \emacsversionnumber)}
\centerline{(for GNU Emacs version \versionemacs)}
\section{Starting and Stopping}

View file

@ -41,8 +41,7 @@
\input pdflayout.sty
\pdflayout=(0)
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
% Nothing else needs to be changed.

View file

@ -59,8 +59,7 @@
\input pdflayout.sty
\pdflayout=(0)
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
% Nothing else needs to be changed.

View file

@ -54,8 +54,7 @@
% Czech hyphenation rules applied
\chyph
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
\def\copyrightnotice{\penalty-1\vfill
\vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter

View file

@ -60,8 +60,7 @@
\input german.sty
\mdqoff % deactivates the "-char
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
% Nothing else needs to be changed below this line.

View file

@ -43,8 +43,7 @@
\input pdflayout.sty
\pdflayout=(1)
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
% Nothing else needs to be changed.

View file

@ -0,0 +1,4 @@
%% This file is not generated by configure, because then the provided
%% pdf files would always appear out-of-date.
\def\versionemacs{24} % major version of emacs
\def\year{2012} % latest copyright year

View file

@ -35,8 +35,7 @@
\input pdflayout.sty
\pdflayout=(0)
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
% Nothing else needs to be changed.

View file

@ -56,8 +56,7 @@
\input pdflayout.sty
\pdflayout=(0l)
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
% Nothing else needs to be changed below this line.

View file

@ -49,8 +49,7 @@
\input pdflayout.sty
\pdflayout=(0)
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
\def\copyrightnotice{\penalty-1\vfill
\vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter

View file

@ -1,7 +1,7 @@
% Reference Card for Org Mode
\def\orgversionnumber{7.8.11}
\def\versionyear{2012} % latest update
\def\year{2012} % latest copyright year
\input emacsver.tex
%**start of header
\newcount\columnsperpage

View file

@ -69,8 +69,7 @@
\input pdflayout.sty
\pdflayout=(0)
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
% Nothing else needs to be changed.

View file

@ -62,8 +62,7 @@
\input pdflayout.sty
\pdflayout=(0l)
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
% Nothing else needs to be changed below this line.

View file

@ -63,8 +63,7 @@
% Nothing else needs to be changed below this line.
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % copyright year
\input emacsver.tex
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
\centerline{\small \copyright\ \year\ Free Software Foundation, Inc.

View file

@ -42,8 +42,7 @@
\input pdflayout.sty
\pdflayout=(0)
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
% Nothing else needs to be changed.

View file

@ -60,8 +60,7 @@
\input pdflayout.sty
\pdflayout=(0)
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
% Nothing else needs to be changed.

View file

@ -55,8 +55,7 @@
% Slovak hyphenation rules applied
\shyph
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
\def\copyrightnotice{\penalty-1\vfill
\vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter

View file

@ -44,8 +44,7 @@
\input pdflayout.sty
\pdflayout=(1)
\def\versionemacs{24} % version of Emacs this is for
\def\year{2012} % latest copyright year
\input emacsver.tex
\def\copyrightnotice{\penalty-1\vfill
\vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter

View file

@ -49,8 +49,8 @@
\input pdflayout.sty
\pdflayout=(1)
\input emacsver.tex
\def\versionemacs{18} % version of Emacs this is for
\def\year{2012} % latest copyright year
\def\versionvip{3.5}
% Nothing else needs to be changed.

View file

@ -52,8 +52,8 @@
\input pdflayout.sty
\pdflayout=(1)
\input emacsver.tex
\def\versionemacs{21} % version of Emacs this is for
\def\year{2012} % latest copyright year
\def\versionxemacs{20} % version of XEmacs this is for
\def\versionviper{3.0} % version of Viper this is for

View file

@ -3516,8 +3516,7 @@ usage (int error)
static _Noreturn void
version (void)
{
/* Makes it easier to update automatically. */
char emacs_copyright[] = "Copyright (C) 2012 Free Software Foundation, Inc.";
char emacs_copyright[] = COPYRIGHT;
printf ("ebrowse %s\n", VERSION);
puts (emacs_copyright);

View file

@ -836,8 +836,7 @@ etags --help --lang=ada.");
static void
print_version (void)
{
/* Makes it easier to update automatically. */
char emacs_copyright[] = "Copyright (C) 2012 Free Software Foundation, Inc.";
char emacs_copyright[] = COPYRIGHT;
printf ("%s (%s %s)\n", (CTAGS) ? "ctags" : "etags", EMACS_NAME, VERSION);
puts (emacs_copyright);

View file

@ -74,7 +74,7 @@
;; align-?-modes variables (for example, `align-dq-string-modes'), use
;; `add-to-list', or some similar function which checks first to see
;; if the value is already there. Since the user may customize that
;; mode list, and then write your mode name into their .emacs file,
;; mode list, and then write your mode name into their init file,
;; causing the symbol already to be present the next time they load
;; your package.
@ -1201,7 +1201,10 @@ have been aligned. No changes will be made to the buffer."
(gocol col) cur)
(when area
(if func
(funcall func (car area) (cdr area) change)
(funcall func
(marker-position (car area))
(marker-position (cdr area))
change)
(if (not (and justify
(consp (cdr area))))
(goto-char (cdr area))

View file

@ -36,7 +36,7 @@
;; setq auto-insert-directory to an appropriate slash-terminated value
;;
;; You can also customize the variable `auto-insert-mode' to load the
;; package. Alternatively, add the following to your .emacs file:
;; package. Alternatively, add the following to your init file:
;; (auto-insert-mode 1)
;;
;; Author: Charlie Martin

View file

@ -144,10 +144,7 @@ You can toggle whether files are shown with \\<bookmark-bmenu-mode-map>\\[bookma
(defcustom bookmark-bmenu-toggle-filenames t
"Non-nil means show filenames when listing bookmarks.
This may result in truncated bookmark names. To disable this, put the
following in your `.emacs' file:
\(setq bookmark-bmenu-toggle-filenames nil)"
A non-nil value may result in truncated bookmark names."
:type 'boolean
:group 'bookmark)

View file

@ -61,7 +61,7 @@
(declare-function math-vector-is-string "calccomp" (a))
(declare-function math-vector-to-string "calccomp" (a &optional quoted))
(declare-function math-format-radix-float "calc-bin" (a prec))
(declare-function math-compose-expr "calccomp" (a prec))
(declare-function math-compose-expr "calccomp" (a prec &optional div))
(declare-function math-abs "calc-arith" (a))
(declare-function math-format-bignum-binary "calc-bin" (a))
(declare-function math-format-bignum-octal "calc-bin" (a))
@ -3483,7 +3483,7 @@ If X is not an error form, return 1."
(substring str i))))
str))
;;; Users can redefine this in their .emacs files.
;;; Users can redefine this in their init files.
(defvar calc-keypad-user-menu nil
"If non-nil, this describes an additional menu for calc-keypad.
It should contain a list of three rows.

View file

@ -494,7 +494,7 @@
(car res))))))))
;;; It is safe to redefine these in your .emacs file to use a different
;;; It is safe to redefine these in your init file to use a different
;;; language.
(defvar math-long-weekday-names '( "Sunday" "Monday" "Tuesday" "Wednesday"

View file

@ -199,7 +199,7 @@
(declare-function calc-div-fractions "calc-frac" (a b))
(declare-function math-div-objects-fancy "calc-arith" (a b))
(declare-function math-div-symb-fancy "calc-arith" (a b))
(declare-function math-compose-expr "calccomp" (a prec))
(declare-function math-compose-expr "calccomp" (a prec &optional div))
(declare-function math-comp-width "calccomp" (c))
(declare-function math-composition-to-string "calccomp" (c &optional width))
(declare-function math-stack-value-offset-fancy "calccomp" ())

View file

@ -593,7 +593,7 @@ You can customize `diary-date-forms' to your preferred format.
Three default styles are provided: `diary-american-date-forms',
`diary-european-date-forms', and `diary-iso-date-forms'.
You can choose between these by setting `calendar-date-style' in your
.emacs file, or by using `calendar-set-date-style' when in the calendar.
init file, or by using `calendar-set-date-style' when in the calendar.
A diary entry can be preceded by the character `diary-nonmarking-symbol'
\(ordinarily `&') to make that entry nonmarking--that is, it will not be
@ -1276,7 +1276,7 @@ Runs the following hooks:
generating a calendar, if today's date is visible or not, respectively
`calendar-initial-window-hook' - after first creating a calendar
This function is suitable for execution in a .emacs file."
This function is suitable for execution in an init file."
(interactive "P")
;; Avoid loading cal-x unless it will be used.
(if (and (memq calendar-setup '(one-frame two-frames calendar-only))

View file

@ -200,19 +200,21 @@ holidays), or hard copy output."
'diary-list-entries-hook "23.1")
(defcustom diary-list-entries-hook nil
"List of functions called after diary file is culled for relevant entries.
You might wish to add `diary-include-other-diary-files', in which case
you will probably also want to add `diary-mark-included-diary-files' to
`diary-mark-entries-hook'. For example, you could use
"Hook run after diary file is culled for relevant entries.
If you add `diary-include-other-diary-files' to this hook, you
will probably also want to add `diary-mark-included-diary-files'
to `diary-mark-entries-hook'. For example, to cause the fancy
diary buffer to be displayed with diary entries from various
included files, each day's entries sorted into lexicographic
order, add the following to your init file:
(setq diary-display-function 'diary-fancy-display)
(add-hook 'diary-list-entries-hook 'diary-include-other-diary-files)
(add-hook 'diary-list-entries-hook 'diary-sort-entries t)
in your `.emacs' file to cause the fancy diary buffer to be displayed with
diary entries from various included files, each day's entries sorted into
lexicographic order. Note how the sort function is placed last,
so that it can sort the entries included from other files.
Note how the sort function is placed last, so that it can sort
the entries included from other files.
This hook runs after `diary-nongregorian-listing-hook'. These two hooks
differ only if you are using included diary files. In that case,
@ -532,7 +534,7 @@ If so, return the expanded file name, otherwise signal an error."
"Generate the diary window for ARG days starting with the current date.
If no argument is provided, the number of days of diary entries is governed
by the variable `diary-number-of-entries'. A value of ARG less than 1
does nothing. This function is suitable for execution in a `.emacs' file."
does nothing. This function is suitable for execution in an init file."
(interactive "P")
(diary-check-diary-file)
(diary-list-entries (calendar-current-date)
@ -1230,8 +1232,8 @@ Mail is sent to the address specified by `diary-mail-addr'.
Here is an example of a script to call `diary-mail-entries',
suitable for regular scheduling using cron (or at). Note that
since `emacs -script' does not load your `.emacs' file, you
should ensure that all relevant variables are set.
since `emacs -script' does not load your init file, you should
ensure that all relevant variables are set.
#!/usr/bin/emacs -script
;; diary-rem.el - run the Emacs diary-reminder

View file

@ -343,12 +343,12 @@ See the documentation for `calendar-holidays' for details."
"List of notable days for the command \\[holidays].
Additional holidays are easy to add to the list, just put them in the
list `holiday-other-holidays' in your .emacs file. Similarly, by setting
list `holiday-other-holidays' in your init file. Similarly, by setting
any of `holiday-general-holidays', `holiday-local-holidays',
`holiday-christian-holidays', `holiday-hebrew-holidays',
`holiday-islamic-holidays', `holiday-bahai-holidays',
`holiday-oriental-holidays', or `holiday-solar-holidays' to nil in your
.emacs file, you can eliminate unwanted categories of holidays.
init file, you can eliminate unwanted categories of holidays.
The aforementioned variables control the holiday choices offered
by the function `holiday-list' when it is called interactively.
@ -523,7 +523,7 @@ use instead of point."
(defun holidays (&optional arg)
"Display the holidays for last month, this month, and next month.
If called with an optional prefix argument ARG, prompts for month and year.
This function is suitable for execution in a .emacs file."
This function is suitable for execution in a init file."
(interactive "P")
(save-excursion
(let* ((completion-ignore-case t)

View file

@ -236,7 +236,7 @@ use instead of point."
(defun lunar-phases (&optional arg)
"Display the quarters of the moon for last month, this month, and next month.
If called with an optional prefix argument ARG, prompts for month and year.
This function is suitable for execution in a .emacs file."
This function is suitable for execution in an init file."
(interactive "P")
(save-excursion
(let* ((date (if arg (calendar-read-date t)

View file

@ -797,7 +797,7 @@ If called with an optional prefix argument ARG, prompt for date.
If called with an optional double prefix argument, prompt for
longitude, latitude, time zone, and date, and always use standard time.
This function is suitable for execution in a .emacs file."
This function is suitable for execution in an init file."
(interactive "p")
(or arg (setq arg 1))
(if (and (< arg 16)

View file

@ -49,7 +49,7 @@
;; If you want Emacs to display the amount of time "left" to your
;; workday in the mode-line, you can either set the value of
;; `timeclock-mode-line-display' to t using M-x customize, or you can
;; add this code to your .emacs file:
;; add this code to your init file:
;;
;; (require 'timeclock)
;; (timeclock-mode-line-display)
@ -60,7 +60,7 @@
;; You may also want Emacs to ask you before exiting, if you are
;; currently working on a project. This can be done either by setting
;; `timeclock-ask-before-exiting' to t using M-x customize (this is
;; the default), or by adding the following to your .emacs file:
;; the default), or by adding the following to your init file:
;;
;; (add-hook 'kill-emacs-query-functions 'timeclock-query-out)

View file

@ -181,7 +181,7 @@ override the read-only-ness of comint prompts is to call
`comint-kill-whole-line' or `comint-kill-region' with no
narrowing in effect. This way you will be certain that none of
the remaining prompts will be accidentally messed up. You may
wish to put something like the following in your `.emacs' file:
wish to put something like the following in your init file:
\(add-hook 'comint-mode-hook
(lambda ()
@ -3161,8 +3161,8 @@ See `completion-table-with-quoting' and `comint-unquote-function'.")
(complete-with-action action table string pred))))
(unless (zerop (length filesuffix))
(list :exit-function
(lambda (_s finished)
(when (memq finished '(sole finished))
(lambda (_s status)
(when (eq status 'finished)
(if (looking-at (regexp-quote filesuffix))
(goto-char (match-end 0))
(insert filesuffix)))))))))

View file

@ -526,7 +526,10 @@ WIDGET is the widget to apply the filter entries of MENU on."
:type 'boolean)
(defcustom custom-unlispify-remove-prefixes nil
"Non-nil means remove group prefixes from option names in buffer."
"Non-nil means remove group prefixes from option names in buffer.
Discarding prefixes often leads to confusing names for options
and faces in Customize buffers, so do not set this to a non-nil
value unless you are sure you know what it does."
:group 'custom-menu
:group 'custom-buffer
:type 'boolean)

View file

@ -237,7 +237,7 @@ The following keywords are meaningful:
is `default-value'.
:require
VALUE should be a feature symbol. If you save a value
for this option, then when your `.emacs' file loads the value,
for this option, then when your init file loads the value,
it does (require VALUE) first.
:set-after VARIABLES
Specifies that SYMBOL should be set after the list of variables
@ -350,68 +350,62 @@ FACE does not need to be quoted.
Third argument DOC is the face documentation.
If FACE has been set with `custom-set-faces', set the face attributes
as specified by that function, otherwise set the face attributes
according to SPEC.
The remaining arguments should have the form
[KEYWORD VALUE]...
If FACE has been set with `custom-set-faces', set the face
attributes as specified by that function, otherwise set the face
attributes according to SPEC.
The remaining arguments should have the form [KEYWORD VALUE]...
For a list of valid keywords, see the common keywords listed in
`defcustom'.
SPEC should be an alist of the form ((DISPLAY ATTS)...).
SPEC should be an alist of the form
In the first element, DISPLAY can be `default'. The ATTS in that
element then act as defaults for all the following elements.
((DISPLAY . ATTS)...)
Aside from that, DISPLAY specifies conditions to match some or
all frames. For each frame, the first element of SPEC where the
DISPLAY conditions are satisfied is the one that applies to that
frame. The ATTRs in this element take effect, and the following
elements are ignored, on that frame.
where DISPLAY is a form specifying conditions to match certain
terminals and ATTS is a property list (ATTR VALUE ATTR VALUE...)
specifying face attributes and values for frames on those
terminals. On each terminal, the first element with a matching
DISPLAY specification takes effect, and the remaining elements in
SPEC are disregarded.
In the last element, DISPLAY can be t. That element applies to a
frame if none of the previous elements (except the `default' if
any) did.
As a special exception, in the first element of SPEC, DISPLAY can
be the special value `default'. Then the ATTS in that element
act as defaults for all the following elements.
ATTS is a list of face attributes followed by their values:
(ATTR VALUE ATTR VALUE...)
For backward compatibility, elements of SPEC can be written
as (DISPLAY ATTS) instead of (DISPLAY . ATTS).
The possible attributes are `:family', `:width', `:height', `:weight',
`:slant', `:underline', `:overline', `:strike-through', `:box',
`:foreground', `:background', `:stipple', `:inverse-video', and `:inherit'.
Each DISPLAY can have the following values:
- `default' (only in the first element).
- The symbol t, which matches all terminals.
- An alist of conditions. Each alist element must have the form
(REQ ITEM...). A matching terminal must satisfy each
specified condition by matching one of its ITEMs. Each REQ
must be one of the following:
- `type' (the terminal type).
Each ITEM must be one of the values returned by
`window-system'. Under X, additional allowed values are
`motif', `lucid', `gtk' and `x-toolkit'.
- `class' (the terminal's color support).
Each ITEM should be one of `color', `grayscale', or `mono'.
- `background' (what color is used for the background text)
Each ITEM should be one of `light' or `dark'.
- `min-colors' (the minimum number of supported colors)
Each ITEM should be an integer, which is compared with the
result of `display-color-cells'.
- `supports' (match terminals supporting certain attributes).
Each ITEM should be a list of face attributes. See
`display-supports-face-attributes-p' for more information on
exactly how testing is done.
DISPLAY can be `default' (only in the first element), the symbol
t (only in the last element) to match all frames, or an alist of
conditions of the form \(REQ ITEM...). For such an alist to
match a frame, each of the conditions must be satisfied, meaning
that the REQ property of the frame must match one of the
corresponding ITEMs. These are the defined REQ values:
In the ATTS property list, possible attributes are `:family',
`:width', `:height', `:weight', `:slant', `:underline',
`:overline', `:strike-through', `:box', `:foreground',
`:background', `:stipple', `:inverse-video', and `:inherit'.
`type' (the value of `window-system')
Under X, in addition to the values `window-system' can take,
`motif', `lucid', `gtk' and `x-toolkit' are allowed, and match when
the Motif toolkit, Lucid toolkit, GTK toolkit or any X toolkit is in use.
`class' (the frame's color support)
Should be one of `color', `grayscale', or `mono'.
`background' (what color is used for the background text)
Should be one of `light' or `dark'.
`min-colors' (the minimum number of colors the frame should support)
Should be an integer, it is compared with the result of
`display-color-cells'.
`supports' (only match frames that support the specified face attributes)
Should be a list of face attributes. See the documentation for
the function `display-supports-face-attributes-p' for more
information on exactly how testing is done.
See Info node `(elisp) Customization' in the Emacs Lisp manual
for more information."
See Info node `(elisp) Faces' in the Emacs Lisp manual for more
information."
(declare (doc-string 3))
;; It is better not to use backquote in this file,
;; because that makes a bootstrapping problem
@ -1227,7 +1221,7 @@ query also about adding HASH to `custom-safe-themes'."
(save-window-excursion
(rename-buffer "*Custom Theme*" t)
(emacs-lisp-mode)
(setq window (pop-to-buffer (current-buffer)))
(pop-to-buffer (current-buffer))
(goto-char (point-min))
(prog1 (when (y-or-n-p "Loading a theme can run Lisp code. Really load? ")
;; Offer to save to `custom-safe-themes'.

View file

@ -34,7 +34,7 @@
;; - some local variables
;; To use this, use customize to turn on desktop-save-mode or add the
;; following line somewhere in your .emacs file:
;; following line somewhere in your init file:
;;
;; (desktop-save-mode 1)
;;

View file

@ -244,7 +244,10 @@ List has a form of (file-name full-file-name (attribute-list))."
(function dired-check-process)
(append
(list operation program)
(unless (string-equal new-attribute "")
(unless (or (string-equal new-attribute "")
;; Use `eq' instead of `equal'
;; to detect empty input (bug#12399).
(eq new-attribute default))
(if (eq op-symbol 'touch)
(list "-t" new-attribute)
(list new-attribute)))
@ -278,7 +281,10 @@ Symbolic modes like `g+w' are allowed."
"Change mode of %s to: "
nil 'chmod arg files default))
num-modes)
(cond ((equal modes "")
(cond ((or (equal modes "")
;; Use `eq' instead of `equal'
;; to detect empty input (bug#12399).
(eq modes default))
;; We used to treat empty input as DEFAULT, but that is not
;; such a good idea (Bug#9361).
(error "No file mode specified"))

View file

@ -3744,7 +3744,7 @@ Ask means pop up a menu for the user to select one of copy, move or link."
;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command
;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown
;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff
;;;;;; dired-diff) "dired-aux" "dired-aux.el" "4b260eda371d319a6c8e8e5ec917e287")
;;;;;; dired-diff) "dired-aux" "dired-aux.el" "3c768e470d5d053d0049e0286ce38da7")
;;; Generated autoloads from dired-aux.el
(autoload 'dired-diff "dired-aux" "\

View file

@ -1,4 +1,4 @@
;;; advice.el --- an overloading mechanism for Emacs Lisp functions
;;; advice.el --- An overloading mechanism for Emacs Lisp functions
;; Copyright (C) 1993-1994, 2000-2012 Free Software Foundation, Inc.
@ -1746,7 +1746,8 @@
(provide 'advice-preload)
;; During a normal load this is a noop:
(require 'advice-preload "advice.el")
(require 'macroexp)
(eval-when-compile (require 'cl-lib))
;; @@ Variable definitions:
;; ========================
@ -1812,54 +1813,6 @@ generates a copy of TREE."
(funcall fUnCtIoN tReE))
(t tReE)))
;; this is just faster than `ad-substitute-tree':
(defun ad-copy-tree (tree)
"Return a copy of the list structure of TREE."
(cond ((consp tree)
(cons (ad-copy-tree (car tree))
(ad-copy-tree (cdr tree))))
(t tree)))
(defmacro ad-dolist (varform &rest body)
"A Common-Lisp-style dolist iterator with the following syntax:
(ad-dolist (VAR INIT-FORM [RESULT-FORM])
BODY-FORM...)
which will iterate over the list yielded by INIT-FORM binding VAR to the
current head at every iteration. If RESULT-FORM is supplied its value will
be returned at the end of the iteration, nil otherwise. The iteration can be
exited prematurely with `(ad-do-return [VALUE])'."
(let ((expansion
`(let ((ad-dO-vAr ,(car (cdr varform)))
,(car varform))
(while ad-dO-vAr
(setq ,(car varform) (car ad-dO-vAr))
,@body
;;work around a backquote bug:
;;(` ((,@ '(foo)) (bar))) => (append '(foo) '(((bar)))) wrong
;;(` ((,@ '(foo)) (, '(bar)))) => (append '(foo) (list '(bar)))
,'(setq ad-dO-vAr (cdr ad-dO-vAr)))
,(car (cdr (cdr varform))))))
;;ok, this wastes some cons cells but only during compilation:
(if (catch 'contains-return
(ad-substitute-tree
(function (lambda (subtree)
(cond ((eq (car-safe subtree) 'ad-dolist))
((eq (car-safe subtree) 'ad-do-return)
(throw 'contains-return t)))))
'identity body)
nil)
`(catch 'ad-dO-eXiT ,expansion)
expansion)))
(defmacro ad-do-return (value)
`(throw 'ad-dO-eXiT ,value))
(if (not (get 'ad-dolist 'lisp-indent-hook))
(put 'ad-dolist 'lisp-indent-hook 1))
;; @@ Save real definitions of subrs used by Advice:
;; =================================================
;; Advice depends on the real, unmodified functionality of various subrs,
@ -1924,16 +1877,16 @@ exited prematurely with `(ad-do-return [VALUE])'."
ad-advised-functions)))
(defmacro ad-do-advised-functions (varform &rest body)
"`ad-dolist'-style iterator that maps over `ad-advised-functions'.
"`dolist'-style iterator that maps over `ad-advised-functions'.
\(ad-do-advised-functions (VAR [RESULT-FORM])
BODY-FORM...)
On each iteration VAR will be bound to the name of an advised function
\(a symbol)."
`(ad-dolist (,(car varform)
`(cl-dolist (,(car varform)
ad-advised-functions
,(car (cdr varform)))
(setq ,(car varform) (intern (car ,(car varform))))
,@body))
(setq ,(car varform) (intern (car ,(car varform))))
,@body))
(if (not (get 'ad-do-advised-functions 'lisp-indent-hook))
(put 'ad-do-advised-functions 'lisp-indent-hook 1))
@ -1948,7 +1901,7 @@ On each iteration VAR will be bound to the name of an advised function
`(put ,function 'ad-advice-info ,advice-info))
(defmacro ad-copy-advice-info (function)
`(ad-copy-tree (get ,function 'ad-advice-info)))
`(copy-tree (get ,function 'ad-advice-info)))
(defmacro ad-is-advised (function)
"Return non-nil if FUNCTION has any advice info associated with it.
@ -2022,8 +1975,8 @@ either t or nil, and DEFINITION should be a list of the form
(defun ad-has-enabled-advice (function class)
"True if at least one of FUNCTION's advices in CLASS is enabled."
(ad-dolist (advice (ad-get-advice-info-field function class))
(if (ad-advice-enabled advice) (ad-do-return t))))
(cl-dolist (advice (ad-get-advice-info-field function class))
(if (ad-advice-enabled advice) (cl-return t))))
(defun ad-has-redefining-advice (function)
"True if FUNCTION's advice info defines at least 1 redefining advice.
@ -2036,14 +1989,14 @@ Redefining advices affect the construction of an advised definition."
(defun ad-has-any-advice (function)
"True if the advice info of FUNCTION defines at least one advice."
(and (ad-is-advised function)
(ad-dolist (class ad-advice-classes nil)
(cl-dolist (class ad-advice-classes nil)
(if (ad-get-advice-info-field function class)
(ad-do-return t)))))
(cl-return t)))))
(defun ad-get-enabled-advices (function class)
"Return the list of enabled advices of FUNCTION in CLASS."
(let (enabled-advices)
(ad-dolist (advice (ad-get-advice-info-field function class))
(dolist (advice (ad-get-advice-info-field function class))
(if (ad-advice-enabled advice)
(push advice enabled-advices)))
(reverse enabled-advices)))
@ -2151,7 +2104,7 @@ function at point for which PREDICATE returns non-nil)."
(ad-do-advised-functions (function)
(if (or (null predicate)
(funcall predicate function))
(ad-do-return function)))
(cl-return function)))
(error "ad-read-advised-function: %s"
"There are no qualifying advised functions")))
(let* ((ad-pReDiCaTe predicate)
@ -2184,9 +2137,9 @@ be returned on empty input (defaults to the first non-empty advice
class of FUNCTION)."
(setq default
(or default
(ad-dolist (class ad-advice-classes)
(cl-dolist (class ad-advice-classes)
(if (ad-get-advice-info-field function class)
(ad-do-return class)))
(cl-return class)))
(error "ad-read-advice-class: `%s' has no advices" function)))
(let ((class (completing-read
(format "%s (default %s): " (or prompt "Class") default)
@ -2255,18 +2208,18 @@ NAME can be a symbol or a regular expression matching part of an advice name.
If CLASS is `any' all valid advice classes will be checked."
(if (ad-is-advised function)
(let (found-advice)
(ad-dolist (advice-class ad-advice-classes)
(cl-dolist (advice-class ad-advice-classes)
(if (or (eq class 'any) (eq advice-class class))
(setq found-advice
(ad-dolist (advice (ad-get-advice-info-field
(cl-dolist (advice (ad-get-advice-info-field
function advice-class))
(if (or (and (stringp name)
(string-match
name (symbol-name
(ad-advice-name advice))))
(eq name (ad-advice-name advice)))
(ad-do-return advice)))))
(if found-advice (ad-do-return found-advice))))))
(cl-return advice)))))
(if found-advice (cl-return found-advice))))))
(defun ad-enable-advice-internal (function class name flag)
"Set enable FLAG of FUNCTION's advices in CLASS matching NAME.
@ -2277,10 +2230,10 @@ considered. The number of changed advices will be returned (or nil if
FUNCTION was not advised)."
(if (ad-is-advised function)
(let ((matched-advices 0))
(ad-dolist (advice-class ad-advice-classes)
(dolist (advice-class ad-advice-classes)
(if (or (eq class 'any) (eq advice-class class))
(ad-dolist (advice (ad-get-advice-info-field
function advice-class))
(dolist (advice (ad-get-advice-info-field
function advice-class))
(cond ((or (and (stringp name)
(string-match
name (symbol-name (ad-advice-name advice))))
@ -2586,11 +2539,6 @@ For that it has to be fbound with a non-autoload definition."
(byte-compile symbol)
(fset function (symbol-function symbol))))))
(defun ad-prognify (forms)
(cond ((<= (length forms) 1)
(car forms))
(t (cons 'progn forms))))
;; @@@ Accessing argument lists:
;; =============================
@ -2868,8 +2816,8 @@ in any of these classes."
(if origdoc (setq paragraphs (list origdoc)))
(unless (eq style 'plain)
(push (concat "This " origtype " is advised.") paragraphs))
(ad-dolist (class ad-advice-classes)
(ad-dolist (advice (ad-get-enabled-advices function class))
(dolist (class ad-advice-classes)
(dolist (advice (ad-get-enabled-advices function class))
(setq advice-docstring
(ad-make-single-advice-docstring advice class style))
(if advice-docstring
@ -2891,24 +2839,24 @@ in any of these classes."
(defun ad-advised-arglist (function)
"Find first defined arglist in FUNCTION's redefining advices."
(ad-dolist (advice (append (ad-get-enabled-advices function 'before)
(cl-dolist (advice (append (ad-get-enabled-advices function 'before)
(ad-get-enabled-advices function 'around)
(ad-get-enabled-advices function 'after)))
(let ((arglist (ad-arglist (ad-advice-definition advice))))
(if arglist
;; We found the first one, use it:
(ad-do-return arglist)))))
(cl-return arglist)))))
(defun ad-advised-interactive-form (function)
"Find first interactive form in FUNCTION's redefining advices."
(ad-dolist (advice (append (ad-get-enabled-advices function 'before)
(cl-dolist (advice (append (ad-get-enabled-advices function 'before)
(ad-get-enabled-advices function 'around)
(ad-get-enabled-advices function 'after)))
(let ((interactive-form
(ad-interactive-form (ad-advice-definition advice))))
(if interactive-form
;; We found the first one, use it:
(ad-do-return interactive-form)))))
(cl-return interactive-form)))))
;; @@@ Putting it all together:
;; ============================
@ -2997,47 +2945,47 @@ and BEFORES, AROUNDS and AFTERS are the lists of advices with which ORIG
should be modified. The assembled function will be returned."
(let (before-forms around-form around-form-protected after-forms definition)
(ad-dolist (advice befores)
(cond ((and (ad-advice-protected advice)
before-forms)
(setq before-forms
`((unwind-protect
,(ad-prognify before-forms)
,@(ad-body-forms
(ad-advice-definition advice))))))
(t (setq before-forms
(append before-forms
(ad-body-forms (ad-advice-definition advice)))))))
(dolist (advice befores)
(cond ((and (ad-advice-protected advice)
before-forms)
(setq before-forms
`((unwind-protect
,(macroexp-progn before-forms)
,@(ad-body-forms
(ad-advice-definition advice))))))
(t (setq before-forms
(append before-forms
(ad-body-forms (ad-advice-definition advice)))))))
(setq around-form `(setq ad-return-value ,orig))
(ad-dolist (advice (reverse arounds))
;; If any of the around advices is protected then we
;; protect the complete around advice onion:
(if (ad-advice-protected advice)
(setq around-form-protected t))
(setq around-form
(ad-substitute-tree
(function (lambda (form) (eq form 'ad-do-it)))
(function (lambda (form) around-form))
(ad-prognify (ad-body-forms (ad-advice-definition advice))))))
(dolist (advice (reverse arounds))
;; If any of the around advices is protected then we
;; protect the complete around advice onion:
(if (ad-advice-protected advice)
(setq around-form-protected t))
(setq around-form
(ad-substitute-tree
(function (lambda (form) (eq form 'ad-do-it)))
(function (lambda (form) around-form))
(macroexp-progn (ad-body-forms (ad-advice-definition advice))))))
(setq after-forms
(if (and around-form-protected before-forms)
`((unwind-protect
,(ad-prognify before-forms)
,(macroexp-progn before-forms)
,around-form))
(append before-forms (list around-form))))
(ad-dolist (advice afters)
(cond ((and (ad-advice-protected advice)
after-forms)
(setq after-forms
`((unwind-protect
,(ad-prognify after-forms)
,@(ad-body-forms
(ad-advice-definition advice))))))
(t (setq after-forms
(append after-forms
(ad-body-forms (ad-advice-definition advice)))))))
(dolist (advice afters)
(cond ((and (ad-advice-protected advice)
after-forms)
(setq after-forms
`((unwind-protect
,(macroexp-progn after-forms)
,@(ad-body-forms
(ad-advice-definition advice))))))
(t (setq after-forms
(append after-forms
(ad-body-forms (ad-advice-definition advice)))))))
(setq definition
`(,@(if (memq type '(macro special-form)) '(macro))
@ -3061,7 +3009,7 @@ should be modified. The assembled function will be returned."
(ad-body-forms (ad-advice-definition advice))))
(ad-get-enabled-advices function hook-name))))
(if hook-forms
(ad-prognify (apply 'append hook-forms)))))
(macroexp-progn (apply 'append hook-forms)))))
;; @@ Caching:
@ -3171,11 +3119,11 @@ advised definition from scratch."
(nth 2 cache-id)))))
(defun ad-verify-cache-class-id (cache-class-id advices)
(ad-dolist (advice advices (null cache-class-id))
(cl-dolist (advice advices (null cache-class-id))
(if (ad-advice-enabled advice)
(if (eq (car cache-class-id) (ad-advice-name advice))
(setq cache-class-id (cdr cache-class-id))
(ad-do-return nil)))))
(cl-return nil)))))
;; There should be a way to monitor if and why a cache verification failed
;; in order to determine whether a certain preactivation could be used or
@ -3670,7 +3618,16 @@ See Info node `(elisp)Advising Functions' for comprehensive documentation.
usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...)
[DOCSTRING] [INTERACTIVE-FORM]
BODY...)"
(declare (doc-string 3))
(declare (doc-string 3)
(debug (&define name ;; thing being advised.
(name ;; class is [&or "before" "around" "after"
;; "activation" "deactivation"]
name ;; name of advice
&rest sexp ;; optional position and flags
)
[&optional stringp]
[&optional ("interactive" interactive)]
def-body)))
(if (not (ad-name-p function))
(error "defadvice: Invalid function name: %s" function))
(let* ((class (car args))

View file

@ -312,7 +312,7 @@ This uses `defvaralias' and `make-obsolete-variable' (which see).
See the Info node `(elisp)Variable Aliases' for more details.
If CURRENT-NAME is a defcustom (more generally, any variable
where OBSOLETE-NAME may be set, e.g. in a .emacs file, before the
where OBSOLETE-NAME may be set, e.g. in an init file, before the
alias is defined), then the define-obsolete-variable-alias
statement should be evaluated before the defcustom, if user
customizations are to be respected. The simplest way to achieve

View file

@ -1016,6 +1016,10 @@ Each function's symbol gets added to `byte-compile-noruntime-functions'."
((bufferp byte-compile-current-file)
(format "Buffer %s:"
(buffer-name byte-compile-current-file)))
;; We might be simply loading a file that
;; contains explicit calls to byte-compile functions.
((stringp load-file-name)
(format "%s:" (file-relative-name load-file-name dir)))
(t "")))
(pos (if (and byte-compile-current-file
(integerp byte-compile-read-position))

View file

@ -121,7 +121,7 @@ a future Emacs interpreter will be able to use it.")
;;; Generalized variables.
;; These macros are defined here so that they
;; can safely be used in .emacs files.
;; can safely be used in init files.
(defmacro cl-incf (place &optional x)
"Increment PLACE by X (1 by default).

View file

@ -75,9 +75,9 @@ window previously showing the debugger buffer.
The value used here is passed to `quit-restore-window'."
:type '(choice
(const :tag "Keep alive" nil)
(const :tag "Append" 'append)
(const :tag "Bury" 'bury)
(const :tag "Kill" 'kill))
(const :tag "Append" append)
(const :tag "Bury" bury)
(const :tag "Kill" kill))
:group 'debugger
:version "24.2")
@ -265,7 +265,8 @@ first will be printed into the backtrace buffer."
;; Make sure we unbind buffer-read-only in the right buffer.
(save-excursion
(recursive-edit))))
(when (and (window-live-p debugger-window)
(when (and (not debugger-will-be-back)
(window-live-p debugger-window)
(eq (window-buffer debugger-window) debugger-buffer))
;; Record height of debugger window.
(setq debugger-previous-window-height

View file

@ -148,7 +148,7 @@ unselectable text. A string consisting solely of hyphens is displayed
as a solid horizontal line.
A menu item can be a list with the same format as MENU. This is a submenu."
(declare (indent defun))
(declare (indent defun) (debug (symbolp body)))
`(progn
,(if symbol `(defvar ,symbol nil ,doc))
(easy-menu-do-define (quote ,symbol) ,maps ,doc ,menu)))

View file

@ -28,8 +28,8 @@
;;; Code:
;; Layout of a timer vector:
;; [triggered-p high-seconds low-seconds usecs psecs repeat-delay
;; function args idle-delay]
;; [triggered-p high-seconds low-seconds usecs repeat-delay
;; function args idle-delay psecs]
;; triggered-p is nil if the timer is active (waiting to be triggered),
;; t if it is inactive ("already triggered", in theory)
@ -42,7 +42,7 @@
(:type vector)
(:conc-name timer--))
(triggered t)
high-seconds low-seconds usecs psecs repeat-delay function args idle-delay)
high-seconds low-seconds usecs repeat-delay function args idle-delay psecs)
(defun timerp (object)
"Return t if OBJECT is a timer."

View file

@ -61,7 +61,7 @@
;; emacs -q -l edt-mapper.el
;; The "-q" option prevents loading of your .emacs file (commands
;; The "-q" option prevents loading of your init file (commands
;; therein might confuse this program).
;; An instruction screen showing the typical LK-201 terminal
@ -74,7 +74,7 @@
;; and loaded automatically when the EDT emulation is started. If
;; you specify a different file name, you will need to set the
;; variable "edt-keys-file" before starting the EDT emulation.
;; Here's how you might go about doing that in your .emacs file.
;; Here's how you might go about doing that in your init file:
;; (setq edt-keys-file (expand-file-name "~/.my-emacs-keys"))

View file

@ -48,7 +48,7 @@
;; You can have the EDT Emulation start up automatically, each time
;; you initiate a GNU Emacs session, by adding the following line to
;; your .emacs file:
;; your init file:
;;
;; (add-hook term-setup-hook 'edt-emulation-on)
@ -75,7 +75,7 @@
;; default, this feature is enabled, with the top margin set to
;; 10% of the window and the bottom margin set to 15% of the
;; window. To change these settings, you can invoke the function
;; edt-set-scroll-margins in your .emacs file. For example, the
;; edt-set-scroll-margins in your init file. For example, the
;; following line
;;
;; (edt-set-scroll-margins "20%" "25%")
@ -363,7 +363,7 @@ This means that an edt-user.el file was found in the user's `load-path'.")
;;;
;;; (setq edt-keep-current-page-delimiter t)
;;;
;;; in your .emacs file.
;;; in your init file.
(defun edt-page-forward (num)
"Move forward to just after next page delimiter.
@ -1961,14 +1961,14 @@ created."
Ack!! You're running the Enhanced EDT Emulation without loading an
EDT key mapping file. To create an EDT key mapping file, run the
edt-mapper program. It is safest to run it from an Emacs loaded
without any of your own customizations found in your .emacs file, etc.
without any of your own customizations found in your init file, etc.
The reason for this is that some user customizations confuse edt-mapper.
You can do this by quitting Emacs and then invoking Emacs again as
follows:
emacs -q -l edt-mapper
[NOTE: If you do nothing out of the ordinary in your .emacs file, and
[NOTE: If you do nothing out of the ordinary in your init file, and
the search for edt-mapper is successful, you can try running it now.]
The library edt-mapper includes these same directions on how to

View file

@ -163,8 +163,8 @@
;; and type `tpu-edt' followed by a carriage return.
;; If you like TPU-edt and want to use it all the time, you can start
;; TPU-edt using the Emacs initialization file, .emacs. Simply create
;; a .emacs file in your home directory containing the line:
;; TPU-edt using the Emacs initialization file, .emacs. Simply add
;; the following line to your init file:
;; (tpu-edt)
@ -2440,7 +2440,7 @@ If FILE is nil, try to load a default file. The default file names are
;;;### (autoloads (tpu-set-cursor-bound tpu-set-cursor-free tpu-set-scroll-margins
;;;;;; tpu-cursor-free-mode) "tpu-extras" "tpu-extras.el" "76f06905db4c5bfb3b86491a51512a0e")
;;;;;; tpu-cursor-free-mode) "tpu-extras" "tpu-extras.el" "bf5e7322f9a2c324a3bb306415813374")
;;; Generated autoloads from tpu-extras.el
(autoload 'tpu-cursor-free-mode "tpu-extras" "\

View file

@ -26,7 +26,7 @@
;; Use the functions defined here to customize TPU-edt to your tastes by
;; setting scroll margins and/or turning on free cursor mode. Here's an
;; example for your .emacs file.
;; example for your init file.
;; (tpu-set-cursor-free) ; Set cursor free.
;; (tpu-set-scroll-margins "10%" "15%") ; Set scroll margins.

View file

@ -81,7 +81,7 @@ Finally, you will be prompted for the name of the file to store the key
definitions. If you chose the default, TPU-edt will find it and load it
automatically. If you specify a different file name, you will need to
set the variable ``tpu-xkeys-file'' before starting TPU-edt. Here's how
you might go about doing that in your .emacs file.
you might go about doing that in your init file.
(setq tpu-xkeys-file (expand-file-name \"~/.my-emacs-x-keys\"))
(tpu-edt)

View file

@ -28,7 +28,7 @@
;; (if (not (or (eq major-mode 'Info-mode)
;; (eq major-mode 'vi-mode)))
;; (vi-mode))))))
;; 3) In your .emacs file you can define the command "vi-mode" to be "autoload"
;; 3) In your init file you can define the command "vi-mode" to be "autoload"
;; or you can execute the "load" command to load "vi" directly.
;; 4) Read the comments for command "vi-mode" before you start using it.

View file

@ -351,7 +351,7 @@ user decide when to invoke Viper in a major mode."
If t, viperize Emacs. If nil -- don't. If `ask', ask the user.
This variable is used primarily when Viper is being loaded.
Must be set in `~/.emacs' before Viper is loaded.
Must be set in your init file before Viper is loaded.
DO NOT set this variable interactively, unless you are using the customization
widget."
:type '(choice (const nil) (const t) (const ask))
@ -1173,7 +1173,7 @@ If you wish to Viperize AND make this your way of life, please put
(setq viper-mode t)
(require 'viper)
in your .emacs file (preferably, close to the top).
in your init file (preferably, close to the top).
These two lines must come in the order given.
** Viper users:

View file

@ -170,24 +170,26 @@ Don't use this command in Lisp programs!"
If no one is selected, symmetric encryption will be performed. "
recipients)
(if recipients
(mapcar
(lambda (recipient)
(setq recipient-key
(epa-mail--find-usable-key
(epg-list-keys
(epg-make-context epa-protocol)
(if (string-match "@" recipient)
(concat "<" recipient ">")
recipient))
'encrypt))
(unless (or recipient-key
(y-or-n-p
(format
"No public key for %s; skip it? "
recipient)))
(error "No public key for %s" recipient))
recipient-key)
recipients)))
(apply
'nconc
(mapcar
(lambda (recipient)
(setq recipient-key
(epa-mail--find-usable-key
(epg-list-keys
(epg-make-context epa-protocol)
(if (string-match "@" recipient)
(concat "<" recipient ">")
recipient))
'encrypt))
(unless (or recipient-key
(y-or-n-p
(format
"No public key for %s; skip it? "
recipient)))
(error "No public key for %s" recipient))
(if recipient-key (list recipient-key)))
recipients))))
(setq sign (if verbose (y-or-n-p "Sign? ")))
(if sign
(epa-select-keys context

View file

@ -1,3 +1,9 @@
2012-09-17 Chong Yidong <cyd@gnu.org>
* erc-page.el (erc-page-function):
* erc-stamp.el (erc-stamp): Doc fix.
2012-08-21 Josh Feinstein <jlf@foxtail.org>
* erc-join.el (erc-autojoin-timing): Fix defcustom type.

View file

@ -25,7 +25,7 @@
;; Heavily borrowed from gnus-art.el. Thanks to the original authors.
;; This buttonizes nicks and other stuff to make it all clickable.
;; To enable, add to your ~/.emacs:
;; To enable, add to your init file:
;; (require 'erc-button)
;; (erc-button-mode 1)
;;

View file

@ -48,7 +48,7 @@
;;; Usage:
;; Put the following in your ~/.emacs file.
;; Put the following in your init file.
;; (require 'erc-capab)
;; (erc-capab-identify-mode 1)

View file

@ -29,7 +29,7 @@
;; customizable variables.
;; Usage:
;; Put (erc-match-mode 1) into your ~/.emacs file.
;; Put (erc-match-mode 1) into your init file.
;;; Code:

View file

@ -23,7 +23,7 @@
;;; Commentary:
;; This module hides quit/join messages if a netsplit occurs.
;; To enable, add the following to your ~/.emacs:
;; To enable, add the following to your init file:
;; (require 'erc-netsplit)
;; (erc-netsplit-mode 1)

View file

@ -45,7 +45,7 @@ If nil, this prints the page message in the minibuffer and calls
`beep'. If non-nil, it must be a function that takes two arguments:
SENDER and MSG, both strings.
Example for your ~/.emacs file:
Example for your init file:
\(setq erc-page-function
(lambda (sender msg)

View file

@ -25,7 +25,7 @@
;; This module allows you to systematically replace text in incoming
;; messages. Load erc-replace, and customize `erc-replace-alist'.
;; Then add to your ~/.emacs:
;; Then add to your init file:
;; (require 'erc-replace)
;; (erc-replace-mode 1)

View file

@ -43,7 +43,7 @@ group provides settings related to the format and display
of timestamp information in `erc-mode' buffer.
For timestamping to be activated, you just need to load `erc-stamp'
in your .emacs file or interactively using `load-library'."
in your init file or interactively using `load-library'."
:group 'erc)
(defcustom erc-timestamp-format "[%H:%M]"

View file

@ -24,7 +24,7 @@
;;; Commentary:
;; Highlights keywords and pals (friends), and hides or highlights fools
;; (using a dark color). Add to your ~/.emacs:
;; (using a dark color). Add to your init file:
;; (require 'erc-track)
;; (erc-track-mode 1)

View file

@ -133,10 +133,10 @@ Each element of this alias is a list of the form:
Where NAME is the textual name of the alias, and DEFINITION is the
command string to replace that command with.
Note: this list should not be modified in your '.emacs' file. Rather,
any desired alias definitions should be declared using the `alias'
command, which will automatically write them to the file named by
`eshell-aliases-file'.")
Note: this list should not be modified in your init file.
Rather, any desired alias definitions should be declared using
the `alias' command, which will automatically write them to the
file named by `eshell-aliases-file'.")
(put 'eshell-command-aliases-list 'risky-local-variable t)

View file

@ -84,7 +84,7 @@ Numeric form is tested using the regular expression
NOTE: If you find that numeric conversions are interfering with the
specification of filenames (for example, in calling `find-file', or
some other Lisp function that deals with files, not numbers), add the
following in your .emacs file:
following in your init file:
(put 'find-file 'eshell-no-numeric-conversions t)

View file

@ -34,7 +34,7 @@
;; README's, MANIFEST's, and so on. Submit bugs or suggestions with
;; M-x ffap-bug.
;;
;; For the default installation, add this line to your .emacs file:
;; For the default installation, add this line to your init file:
;;
;; (ffap-bindings) ; do default key bindings
;;
@ -206,7 +206,7 @@ Sensible values are nil, \"news\", or \"mailto\"."
;; those features interesting but not clear winners (a matter of
;; personal taste) I try to leave options to enable them. Read
;; through this section for features that you like, put an appropriate
;; enabler in your .emacs file.
;; enabler in your init file.
(defcustom ffap-dired-wildcards "[*?][^/]*\\'"
"A regexp matching filename wildcard characters, or nil.

View file

@ -658,22 +658,13 @@ Not actually set up until the first time you use it.")
(defun parse-colon-path (search-path)
"Explode a search path into a list of directory names.
Directories are separated by occurrences of `path-separator'
\(which is colon in GNU and GNU-like systems)."
;; We could use split-string here.
(and search-path
(let (cd-list (cd-start 0) cd-colon)
(setq search-path (concat search-path path-separator))
(while (setq cd-colon (string-match path-separator search-path cd-start))
(setq cd-list
(nconc cd-list
(list (if (= cd-start cd-colon)
nil
(substitute-in-file-name
(file-name-as-directory
(substring search-path cd-start cd-colon)))))))
(setq cd-start (+ cd-colon 1)))
cd-list)))
Directories are separated by `path-separator' (which is colon in
GNU and Unix systems). Substitute environment variables into the
resulting list of directory names."
(when (stringp search-path)
(mapcar (lambda (f)
(substitute-in-file-name (file-name-as-directory f)))
(split-string search-path path-separator t))))
(defun cd-absolute (dir)
"Change current directory to given absolute file name DIR."

View file

@ -35,7 +35,7 @@
;; inclusion group (i.e. a base file including other files).
;; Usage:
;; 1. Put (require 'filesets) and (filesets-init) in your .emacs file.
;; 1. Put (require 'filesets) and (filesets-init) in your init file.
;; 2. Type ;; M-x filesets-edit or choose "Edit Filesets" from the menu.
;; 3. Save your customizations.

View file

@ -31,7 +31,7 @@
;;
;; To invoke these adjustments, a user need only invoke the function
;; enable-flow-control-on with a list of terminal types in his/her own
;; .emacs file. As arguments, give it the names of one or more terminal
;; init file. As arguments, give it the names of one or more terminal
;; types in use by that user which require flow control adjustments.
;; Here's an example:
;;

View file

@ -37,7 +37,7 @@
;; When this minor mode is on, the faces of the current line are updated with
;; every insertion or deletion.
;;
;; To turn Font Lock mode on automatically, add this to your ~/.emacs file:
;; To turn Font Lock mode on automatically, add this to your init file:
;;
;; (add-hook 'emacs-lisp-mode-hook 'turn-on-font-lock)
;;

View file

@ -301,7 +301,7 @@ there (in decreasing order of priority)."
;; existing frame. We need to explicitly include
;; default-frame-alist in the parameters of the screen we
;; create here, so that its new value, gleaned from the user's
;; .emacs file, will be applied to the existing screen.
;; init file, will be applied to the existing screen.
(if (not (eq (cdr (or (assq 'minibuffer initial-frame-alist)
(assq 'minibuffer window-system-frame-alist)
(assq 'minibuffer default-frame-alist)

View file

@ -28,7 +28,7 @@
;;
;; INSTALLATION:
;;
;; Add this line to your .emacs file:
;; Add this line to your init file:
;;
;; (require 'generic-x)
;;

View file

@ -1,3 +1,31 @@
2012-09-17 Richard Stallman <rms@gnu.org>
* message.el (message-in-body-p): Don't set mark or modify buffer.
* mml.el (mml-attach-file): Doc fix.
(mml-attach-external, mml-attach-buffer, mml-attach-file):
Set mail-encode-mml when in Mail mode.
Simplify code to set HEAD and move back to HEAD.
(mml-insert-multipart, mml-insert-part):
Set mail-encode-mml when in Mail mode.
2012-09-13 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-util.el (gnus-timer--function): New function.
* gnus-art.el (gnus-article-stop-animations): Use it.
2012-09-13 Paul Eggert <eggert@cs.ucla.edu>
Fix glitches caused by addition of psec to timers.
* gnus-art.el (gnus-article-stop-animations): Use timer--function
rather than raw access to timer vector.
2012-09-11 Julien Danjou <julien@danjou.info>
* gnus-notifications.el (gnus-notifications): Check for nil values in
ignored addresses check.
2012-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
* qp.el (quoted-printable-decode-region): Inline+CSE+strength-reduction.

View file

@ -4554,7 +4554,7 @@ commands:
(defun gnus-article-stop-animations ()
(dolist (timer (and (boundp 'timer-list)
timer-list))
(when (eq (elt timer 5) 'image-animate-timeout)
(when (eq (gnus-timer--function timer) 'image-animate-timeout)
(cancel-timer timer))))
(defun gnus-stop-downloads ()

View file

@ -1964,6 +1964,11 @@ definitions to shadow the loaded ones for use in file byte-compilation."
(defun gnus-bound-and-true-p (sym)
(and (boundp sym) (symbol-value sym)))
(if (fboundp 'timer--function)
(defalias 'gnus-timer--function 'timer--function)
(defun gnus-timer--function (timer)
(elt timer 5)))
(provide 'gnus-util)
;;; gnus-util.el ends here

View file

@ -3160,8 +3160,12 @@ M-RET `message-newline-and-reformat' (break the line and reformat)."
(defun message-in-body-p ()
"Return t if point is in the message body."
(let ((body (save-excursion (message-goto-body))))
(>= (point) body)))
(>= (point)
(save-excursion
(goto-char (point-min))
(or (search-forward (concat "\n" mail-header-separator "\n") nil t)
(search-forward-regexp "[^:]+:\\([^\n]\\|\n[ \t]\\)+\n\n" nil t))
(point))))
(defun message-goto-eoh ()
"Move point to the end of the headers."

Some files were not shown because too many files have changed in this diff Show more