diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2010-10-15 17:55:33 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2010-10-15 17:55:33 -0400 |
commit | 0c747cb143fa227e78f350ac353d703f489209df (patch) | |
tree | 5b434055c797bd75eaa1e3d9d0773e586d44daee /doc/lispref | |
parent | a01a7932080e8a6e7bc8472c58cefabcc2c37df3 (diff) | |
parent | aa095b2db98ae149737f8de00ee733b1d257ed33 (diff) | |
download | emacs-0c747cb143fa227e78f350ac353d703f489209df.tar.gz |
Merge from trunk
Diffstat (limited to 'doc/lispref')
-rw-r--r-- | doc/lispref/ChangeLog | 112 | ||||
-rw-r--r-- | doc/lispref/Makefile.in | 79 | ||||
-rw-r--r-- | doc/lispref/book-spine.texi (renamed from doc/lispref/book-spine.texinfo) | 8 | ||||
-rw-r--r-- | doc/lispref/display.texi | 28 | ||||
-rw-r--r-- | doc/lispref/elisp.texi | 6 | ||||
-rw-r--r-- | doc/lispref/files.texi | 42 | ||||
-rw-r--r-- | doc/lispref/makefile.w32-in | 10 | ||||
-rw-r--r-- | doc/lispref/os.texi | 53 | ||||
-rw-r--r-- | doc/lispref/searching.texi | 6 | ||||
-rw-r--r-- | doc/lispref/vol1.texi | 6 | ||||
-rw-r--r-- | doc/lispref/vol2.texi | 6 |
11 files changed, 272 insertions, 84 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index ec065e9ce76..f5878dfed74 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,102 @@ +2010-10-15 Eli Zaretskii <eliz@gnu.org> + + * os.texi (Dynamic Libraries): New node, with slightly modified + text deleted from "Image Formats". + (System Interface): Add @menu entry for "Dynamic Libraries". + + * display.texi (Image Formats): Remove description of + image-library-alist. (Renamed in 2010-10-13T14:50:06Z!lekktu@gmail.com.) + +2010-10-12 Glenn Morris <rgm@gnu.org> + + * book-spine.texinfo: Rename to book-spine.texi. + +2010-10-11 Glenn Morris <rgm@gnu.org> + + * Makefile.in (MAKEINFO): Add explicit -I$srcdir. + + * Makefile.in (DVIPS): New variable. + (.PHONY): Add html, ps. + (html, elisp.html, ps, elisp.ps): New targets. + (clean): Delete html, ps files. + ($(infodir)/elisp): Remove unnecessary includes. + +2010-10-09 Eli Zaretskii <eliz@gnu.org> + + * makefile.w32-in (emacsdir): New variable. + (srcs): Add emacsver.texi. + ($(infodir)/elisp, elisp.dvi): Add -I$(emacsdir). + +2010-10-09 Glenn Morris <rgm@gnu.org> + + * Makefile.in (VPATH): Remove. + (infodir): Make it absolute. + (mkinfodir, $(infodir)/elisp, infoclean): No need to cd $srcdir. + + * Makefile.in (dist): Anchor regexps. + + * Makefile.in (srcs): Put elisp.texi first. + ($(infodir)/elisp, elisp.dvi, elisp.pdf): Use $<. + + * Makefile.in (infoclean): Remove harmless, long-standing error. + + * Makefile.in ($(infodir)): Delete rule. + (mkinfodir): New. + ($(infodir)/elisp): Use $mkinfodir instead of infodir. + + * Makefile.in (dist): Remove reference to emacsver.texi.in. + Also copy emacsver.texi, and edit $emacsdir. + +2010-10-09 Glenn Morris <rgm@gnu.org> + + * Makefile.in (emacsdir): New variable. + (MAKEINFO): Add -I $emacsdir. + (dist): Copy emacsver.texi. + (srcs): Add emacsver.texi. + + * book-spine.texinfo, elisp.texi, vol2.texi, vol1.texi: + Set EMACSVER by including emacsver.texi. + + * Makefile.in (.PHONY): Declare info, dvi, pdf, dist. + +2010-10-07 Glenn Morris <rgm@gnu.org> + + * Makefile.in (version): New, set by configure. + (clean): Delete dist tar file. + (dist): Use version in tar name. + +2010-10-06 Glenn Morris <rgm@gnu.org> + + * Makefile.in: Rearrange to more closely resemble doc/emacs/Makefile. + (INSTALL_INFO): Remove unused variable. + (mostlyclean, infoclean, dist): New rules. + (clean): Delete dvi and pdf files. + (maintainer-clean): Remove elisp.oaux, use infoclean. + ($(infodir)): Add parallel build workaround. + +2010-10-04 Glenn Morris <rgm@gnu.org> + + * Makefile.in (dvi, pdf, $(infodir)): New targets. + ($(infodir)/elisp): Ensure target directory exists. Use $@. + Fix -I typo. + (clean): No 'make.out' or 'core' files. + (.PHONY): Declare clean rules. + (maintainer-clean): Delete pdf file. Guard against cd failures. + +2010-10-03 Glenn Morris <rgm@gnu.org> + + * files.texi (File Name Components): Remove ignored section about + deleted variable directory-sep-char. + +2010-10-03 Michael Albinus <michael.albinus@gmx.de> + + * files.texi (Magic File Names): New defopt + remote-file-name-inhibit-cache. + +2010-10-02 Glenn Morris <rgm@gnu.org> + + * os.texi (Killing Emacs): Hook now runs in batch mode. + 2010-09-18 Stefan Monnier <monnier@iro.umontreal.ca> * text.texi (Special Properties): Clarify when modification-hooks run. @@ -2420,6 +2519,12 @@ * display.texi (Images): Delete redundant @findex. +2007-08-16 Stefan Monnier <monnier@iro.umontreal.ca> + + * text.texi (Change Hooks): (after|before)-change-functions are no + longer bound to nil while running; rather inhibit-modification-hooks + is t. + 2007-08-16 Richard Stallman <rms@gnu.org> * processes.texi (Asynchronous Processes): Clarify @@ -8652,11 +8757,10 @@ ;; Local Variables: ;; coding: utf-8 -;; add-log-time-zone-rule: t ;; End: - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -8672,5 +8776,3 @@ You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. - -;;; arch-tag: 985ae0ce-df29-475b-b3f8-4bbcbf6f7fda diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in index bc13a63b1b0..f1caa9abfa2 100644 --- a/doc/lispref/Makefile.in +++ b/doc/lispref/Makefile.in @@ -19,26 +19,29 @@ # You should have received a copy of the GNU General Public License # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. +SHELL = /bin/sh # Standard configure variables. srcdir = @srcdir@ -# Tell make where to find source files; this is needed for the makefiles. -VPATH=@srcdir@ +version=@version@ -infodir = ../../info +infodir = $(srcdir)/../../info # Directory with the (customized) texinfo.tex file. texinfodir = $(srcdir)/../misc +# Directory with emacsver.texi. +emacsdir = $(srcdir)/../emacs +MAKEINFO = makeinfo --force -I $(emacsdir) -I $(srcdir) TEXI2DVI = texi2dvi TEXI2PDF = texi2pdf -SHELL = /bin/sh -INSTALL_INFO = install-info -MAKEINFO = makeinfo --force +DVIPS = dvips # List of all the texinfo files in the manual: srcs = \ + $(srcdir)/elisp.texi \ + $(emacsdir)/emacsver.texi \ $(srcdir)/abbrevs.texi \ $(srcdir)/advice.texi \ $(srcdir)/anti.texi \ @@ -52,7 +55,6 @@ srcs = \ $(srcdir)/debugging.texi \ $(srcdir)/display.texi \ $(srcdir)/edebug.texi \ - $(srcdir)/elisp.texi \ $(srcdir)/errors.texi \ $(srcdir)/eval.texi \ $(srcdir)/files.texi \ @@ -92,28 +94,67 @@ srcs = \ $(srcdir)/gpl.texi \ $(srcdir)/doclicense.texi +mkinfodir = @test -d ${infodir} || mkdir ${infodir} || test -d ${infodir} -.PHONY: clean +.PHONY: info dvi pdf ps -# The info file is named `elisp'. info: $(infodir)/elisp +dvi: elisp.dvi +html: elisp.html +pdf: elisp.pdf +ps: elisp.ps $(infodir)/elisp: $(srcs) - cd $(srcdir); $(MAKEINFO) -I. -I$(infodir) elisp.texi -o $(infodir)/elisp + $(mkinfodir) + $(MAKEINFO) -o $@ $< elisp.dvi: $(srcs) - $(TEXI2DVI) -I $(srcdir) -I $(texinfodir) $(srcdir)/elisp.texi + $(TEXI2DVI) -I $(srcdir) -I $(texinfodir) $< + +elisp.html: $(srcs) + $(MAKEINFO) --html -o $@ $< + +elisp.ps: elisp.dvi + $(DVIPS) -o $@ $< elisp.pdf: $(srcs) - $(TEXI2PDF) -I $(srcdir) -I $(texinfodir) $(srcdir)/elisp.texi + $(TEXI2PDF) -I $(srcdir) -I $(texinfodir) $< + +.PHONY: mostlyclean clean distclean maintainer-clean infoclean + +## [12] stuff is from two-volume.make. +mostlyclean: + rm -f *.aux *.log *.toc *.cp *.cps *.fn *.fns *.ky *.kys \ + *.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs + rm -f elisp[12]* -clean: - rm -f *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \ - *.vr *.vrs *.pg *.pgs *.ky *.kys elisp[12]* - rm -f make.out core +clean: mostlyclean + rm -f elisp.dvi elisp.pdf elisp.ps vol[12].pdf + rm -rf elisp.html + rm -f emacs-lispref-${version}.tar* distclean: clean -maintainer-clean: clean - rm -f elisp.dvi elisp.oaux - cd $(infodir); rm -f elisp elisp-[1-9] elisp-[1-9][0-9] +infoclean: + -cd $(infodir) && rm -f elisp elisp-[1-9] elisp-[1-9][0-9] + +maintainer-clean: distclean infoclean + +.PHONY: dist + +## Note this excludes the two-volume stuff. +dist: + rm -rf emacs-lispref-${version} + mkdir emacs-lispref-${version} + cp ${srcdir}/*.texi ${texinfodir}/texinfo.tex \ + $(emacsdir)/emacsver.texi ${srcdir}/ChangeLog* \ + ${srcdir}/README emacs-lispref-${version}/ + sed -e 's/@sr[c]dir@/./' -e 's/^\(texinfodir *=\).*/\1 ./' \ + -e 's/^\(emacsdir *=\).*/\1 ./' \ + -e 's/^\(infodir *=\).*/\1 ./' -e 's/^\(clean:.*\)/\1 infoclean/' \ + -e "s/@ver[s]ion@/${version}/" \ + ${srcdir}/Makefile.in > emacs-lispref-${version}/Makefile + tar -cf emacs-lispref-${version}.tar emacs-lispref-${version} + rm -rf emacs-lispref-${version} + +### Makefile ends here diff --git a/doc/lispref/book-spine.texinfo b/doc/lispref/book-spine.texi index 732df503ec0..270def6d8b3 100644 --- a/doc/lispref/book-spine.texinfo +++ b/doc/lispref/book-spine.texi @@ -4,6 +4,8 @@ @settitle book-spine @c %**end of header +@include emacsver.texi + @c need dot in text so first space command works! . @sp 7 @@ -11,7 +13,7 @@ @center @titlefont{GNU Emacs Lisp Reference Manual} @sp 5 @center GNU -@center Emacs Version 24.0.50 +@center Emacs Version @value{EMACSVER} @center for Unix Users @sp 5 @@ -23,7 +25,3 @@ @sp 5 @center Free Software Foundation @bye - -@ignore - arch-tag: 4466c7ca-e549-4119-948c-6eed34e1ff87 -@end ignore diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 037c334ab88..f4092cfa7ea 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4055,10 +4055,12 @@ displayed (@pxref{Display Feature Testing}). Emacs can display a number of different image formats; some of them are supported only if particular support libraries are installed on -your machine. In some environments, Emacs can load image -libraries on demand; if so, the variable @code{image-library-alist} -can be used to modify the set of known names for these dynamic -libraries (though it is not possible to add new image formats). +your machine. In some environments, Emacs can load support libraries +on demand; if so, the variable @code{dynamic-library-alist} +(@pxref{Dynamic Libraries}) can be used to modify the set of known +names for these dynamic libraries (though it is not possible to add +new image formats). Note that image types @code{pbm} and @code{xbm} +do not depend on external libraries and are always available in Emacs. The supported image formats include XBM, XPM (this requires the libraries @code{libXpm} version 3.4k and @code{libz}), GIF (requiring @@ -4082,24 +4084,6 @@ To know which image types are really available, use @code{image-type-available-p}. @end defvar -@defvar image-library-alist -This in an alist of image types vs external libraries needed to -display them. - -Each element is a list @code{(@var{image-type} @var{library}...)}, -where the car is a supported image format from @code{image-types}, and -the rest are strings giving alternate filenames for the corresponding -external libraries to load. - -Emacs tries to load the libraries in the order they appear on the -list; if none is loaded, the running session of Emacs won't support -the image type. @code{pbm} and @code{xbm} don't need to be listed; -they're always supported. - -This variable is ignored if the image libraries are statically linked -into Emacs. -@end defvar - @defun image-type-available-p type This function returns non-@code{nil} if image type @var{type} is available, i.e., if images of this type can be loaded and displayed in diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 7f0a2ff5a37..252c6afb1bd 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -8,7 +8,7 @@ @c Please remember to update the edition number in README as well. @c And also the copies in vol1.texi and vol2.texi. @set VERSION 3.0 -@set EMACSVER 24.0.50 +@include emacsver.texi @set DATE July 2009 @c in general, keep the following line commented out, unless doing a @@ -1530,7 +1530,3 @@ Object Internals These words prevent "local variables" above from confusing Emacs. - -@ignore - arch-tag: f7e9a219-a0e1-4776-b631-08eaa1d49b34 -@end ignore diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 23fd2376a57..2b539f00975 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -1758,20 +1758,6 @@ Note that the @samp{.~3~} in the two last examples is the backup part, not an extension. @end defun -@ignore -Andrew Innes says that this - -@c @defvar directory-sep-char -This variable holds the character that Emacs normally uses to separate -file name components. The default value is @code{?/}, but on MS-Windows -you can set it to @code{?\\}; then the functions that transform file names -use backslashes in their output. - -File names using backslashes work as input to Lisp primitives even on -MS-DOS and MS-Windows, even if @code{directory-sep-char} has its default -value of @code{?/}. -@end defvar -@end ignore @node Relative File Names @subsection Absolute and Relative File Names @@ -2857,6 +2843,34 @@ non-magic directory to serve as its current directory, and this function is a good way to come up with one. @end defun +@defopt remote-file-name-inhibit-cache +Whether to use the remote file-name cache for read access. + +File attributes of remote files are cached for better performance. If +they are changed out of Emacs' control, the cached values become +invalid, and must be reread. + +When set to @code{nil}, cached values are always used. This shall be +set with care. When set to @code{t}, cached values are never used. +ALthough this is the safest value, it could result in performance +degradation. + +A compromise is to set it to a positive number. This means that +cached values are used for that amount of seconds since they were +cached. + +In case a remote file is checked regularly, it might be reasonable to +let-bind this variable to a value less then the time period between +two checks. Example: + +@example +(defun display-time-file-nonempty-p (file) + (let ((remote-file-name-inhibit-cache (- display-time-interval 5))) + (and (file-exists-p file) + (< 0 (nth 7 (file-attributes (file-chase-links file))))))) +@end example +@end defopt + @node Format Conversion @section File Format Conversion diff --git a/doc/lispref/makefile.w32-in b/doc/lispref/makefile.w32-in index 008870b3c5c..86a0de33095 100644 --- a/doc/lispref/makefile.w32-in +++ b/doc/lispref/makefile.w32-in @@ -25,6 +25,9 @@ srcdir = . infodir = $(srcdir)/../../info usermanualdir = $(srcdir)/../emacs +# Directory with emacsver.texi. +emacsdir = $(srcdir)/../emacs + # Redefine `TEX' if `tex' does not invoke plain TeX. For example: # TEX=platex TEX=tex @@ -43,6 +46,7 @@ manual = elisp-manual-23-$(VERSION) # List of all the texinfo files in the manual: srcs = \ + $(emacsdir)/emacsver.texi \ $(srcdir)/abbrevs.texi \ $(srcdir)/advice.texi \ $(srcdir)/anti.texi \ @@ -107,10 +111,12 @@ $(infodir)/dir: $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/elisp $(infodir)/elisp: $(srcs) - $(MAKEINFO) -I. -I$(srcdir) -o $(infodir)/elisp $(srcdir)/elisp.texi + $(MAKEINFO) -I. -I$(srcdir) -I$(emacsdir) \ + -o $(infodir)/elisp $(srcdir)/elisp.texi elisp.dvi: $(srcs) - $(texinputdir) $(TEX) -I $(usermanualdir) $(srcdir)/elisp.texi + $(texinputdir) $(TEX) -I $(usermanualdir) -I$(emacsdir) \ + $(srcdir)/elisp.texi clean: - $(DEL) *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \ diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index dd827234272..e99e3fe89d8 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -37,6 +37,7 @@ terminal and the screen. * X11 Keysyms:: Operating on key symbols for X Windows. * Batch Mode:: Running Emacs without terminal interaction. * Session Management:: Saving and restoring state with X Session Management. +* Dynamic Libraries:: On-demand loading of support libraries. @end menu @node Starting Up @@ -577,7 +578,6 @@ does not run the remaining functions in this hook. Calling This variable is a normal hook; once @code{save-buffers-kill-emacs} is finished with all file saving and confirmation, it calls @code{kill-emacs} which runs the functions in this hook. -@code{kill-emacs} does not run this hook in batch mode. @code{kill-emacs} may be invoked directly (that is not via @code{save-buffers-kill-emacs}) if the terminal is disconnected, or in @@ -2187,6 +2187,57 @@ Emacs is restarted by the session manager. @end group @end example +@node Dynamic Libraries +@section Dynamically Loaded Libraries +@cindex dynamic libraries + + A @dfn{dynamically loaded library} is a library that is loaded on +demand, when its facilities are first needed. Emacs supports such +on-demand loading of support libraries for some of its features. + +@defvar dynamic-library-alist +This is an alist of dynamic libraries and external library files +implementing them. + +Each element is a list of the form +@w{@code{(@var{library} @var{files}@dots{})}}, where the @code{car} is +a symbol representing a supported external library, and the rest are +strings giving alternate filenames for that library. + +Emacs tries to load the library from the files in the order they +appear in the list; if none is found, the running session of Emacs +won't have access to that library, and the features that depend on the +library will be unavailable. + +Image support on some platforms uses this facility. Here's an example +of setting this variable for supporting images on MS-Windows: + +@lisp +(setq dynamic-library-alist + '((xpm "libxpm.dll" "xpm4.dll" "libXpm-nox4.dll") + (png "libpng12d.dll" "libpng12.dll" "libpng.dll" + "libpng13d.dll" "libpng13.dll") + (jpeg "jpeg62.dll" "libjpeg.dll" "jpeg-62.dll" "jpeg.dll") + (tiff "libtiff3.dll" "libtiff.dll") + (gif "giflib4.dll" "libungif4.dll" "libungif.dll") + (svg "librsvg-2-2.dll") + (gdk-pixbuf "libgdk_pixbuf-2.0-0.dll") + (glib "libglib-2.0-0.dll") + (gobject "libgobject-2.0-0.dll"))) +@end lisp + +Note that image types @code{pbm} and @code{xbm} do not need entries in +this variable because they do not depend on external libraries and are +always available in Emacs. + +Also note that this variable is not meant to be a generic facility for +accessing external libraries; only those already known by Emacs can +be loaded through it. + +This variable is ignored if the given @var{library} is statically +linked into Emacs. +@end defvar + @ignore arch-tag: 8378814a-30d7-467c-9615-74a80b9988a7 @end ignore diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index b4b4c23b1ed..6cc7d451a6e 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi @@ -918,7 +918,11 @@ for Font Lock mode. If the optional argument @var{paren} is non-@code{nil}, then the returned regular expression is always enclosed by at least one parentheses-grouping construct. If @var{paren} is @code{words}, then -that construct is additionally surrounded by @samp{\<} and @samp{\>}. +that construct is additionally surrounded by @samp{\<} and @samp{\>}; +alternatively, if @var{paren} is @code{symbols}, then that construct +is additionally surrounded by @samp{\_<} and @samp{\_>} +(@code{symbols} is often appropriate when matching +programming-language keywords and the like). This simplified definition of @code{regexp-opt} produces a regular expression which is equivalent to the actual value diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi index cbc26ebcec6..3ac3f58a330 100644 --- a/doc/lispref/vol1.texi +++ b/doc/lispref/vol1.texi @@ -27,7 +27,7 @@ @c Version of the manual and of Emacs. @c Please remember to update the edition number in README as well. @set VERSION 3.0 -@set EMACSVER 24.0.50 +@include emacsver.texi @set DATE July 2009 @dircategory Emacs @@ -1550,7 +1550,3 @@ Object Internals These words prevent "local variables" above from confusing Emacs. - -@ignore - arch-tag: 9594760d-8801-4d1b-aeb9-f3b3166b5be2 -@end ignore diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi index 44052e5bd5d..59222ad00e2 100644 --- a/doc/lispref/vol2.texi +++ b/doc/lispref/vol2.texi @@ -27,7 +27,7 @@ @c Version of the manual and of Emacs. @c Please remember to update the edition number in README as well. @set VERSION 3.0 -@set EMACSVER 24.0.50 +@include emacsver.texi @set DATE July 2009 @dircategory Emacs @@ -1549,7 +1549,3 @@ Object Internals These words prevent "local variables" above from confusing Emacs. - -@ignore - arch-tag: dfdbecf8-fec2-49c1-8427-3e8ac8b0b849 -@end ignore |