mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
not compiling yet
This commit is contained in:
commit
6c86337db3
307 changed files with 2417 additions and 2375 deletions
105
ChangeLog
105
ChangeLog
|
|
@ -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).
|
||||
|
|
|
|||
22
Makefile.in
22
Makefile.in
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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).
|
||||
|
|
|
|||
|
|
@ -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))))
|
||||
|
|
|
|||
|
|
@ -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..."
|
||||
|
|
|
|||
|
|
@ -787,6 +787,7 @@ builddir = @builddir@
|
|||
cache_file = @cache_file@
|
||||
canonical = @canonical@
|
||||
configuration = @configuration@
|
||||
copyright = @copyright@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
|
|
|
|||
|
|
@ -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
340
autogen/configure
vendored
|
|
@ -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" ;;
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
190
configure.ac
190
configure.ac
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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).
|
||||
|
|
|
|||
14
etc/NEWS
14
etc/NEWS
|
|
@ -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
|
||||
|
||||
|
|
|
|||
7
etc/TODO
7
etc/TODO
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
4
etc/refcards/emacsver.tex
Normal file
4
etc/refcards/emacsver.tex
Normal 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
|
||||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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" ())
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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)))))))))
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
100
lisp/custom.el
100
lisp/custom.el
|
|
@ -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'.
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -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"))
|
||||
|
|
|
|||
|
|
@ -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" "\
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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).
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)))
|
||||
|
|
|
|||
|
|
@ -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."
|
||||
|
|
|
|||
|
|
@ -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"))
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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" "\
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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]"
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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."
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
;;
|
||||
;; INSTALLATION:
|
||||
;;
|
||||
;; Add this line to your .emacs file:
|
||||
;; Add this line to your init file:
|
||||
;;
|
||||
;; (require 'generic-x)
|
||||
;;
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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 ()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
Loading…
Reference in a new issue