diff options
| author | Tom Tromey | 2013-08-19 21:53:07 -0600 |
|---|---|---|
| committer | Tom Tromey | 2013-08-19 21:53:07 -0600 |
| commit | 6d75555c5cc3d2a629646cee7629e67530fa7a36 (patch) | |
| tree | 3852804dd234ad613ea8691332e10b92c027e87d /doc/lispref | |
| parent | cc231cbe45d27a1906d268fb72d3b4105a2e9c65 (diff) | |
| parent | 8c2f38aaab7a7a2f0605416fc2ee38701e41ab61 (diff) | |
| download | emacs-6d75555c5cc3d2a629646cee7629e67530fa7a36.tar.gz emacs-6d75555c5cc3d2a629646cee7629e67530fa7a36.zip | |
merge from trunk
Diffstat (limited to 'doc/lispref')
| -rw-r--r-- | doc/lispref/ChangeLog | 118 | ||||
| -rw-r--r-- | doc/lispref/Makefile.in | 90 | ||||
| -rw-r--r-- | doc/lispref/control.texi | 56 | ||||
| -rw-r--r-- | doc/lispref/display.texi | 14 | ||||
| -rw-r--r-- | doc/lispref/edebug.texi | 4 | ||||
| -rw-r--r-- | doc/lispref/elisp.texi | 1 | ||||
| -rw-r--r-- | doc/lispref/errors.texi | 11 | ||||
| -rw-r--r-- | doc/lispref/frames.texi | 6 | ||||
| -rw-r--r-- | doc/lispref/functions.texi | 1 | ||||
| -rw-r--r-- | doc/lispref/lists.texi | 15 | ||||
| -rw-r--r-- | doc/lispref/markers.texi | 26 | ||||
| -rw-r--r-- | doc/lispref/modes.texi | 6 | ||||
| -rw-r--r-- | doc/lispref/nonascii.texi | 51 | ||||
| -rw-r--r-- | doc/lispref/positions.texi | 21 | ||||
| -rw-r--r-- | doc/lispref/text.texi | 45 | ||||
| -rw-r--r-- | doc/lispref/variables.texi | 1 | ||||
| -rw-r--r-- | doc/lispref/windows.texi | 17 |
17 files changed, 390 insertions, 93 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 32717946b04..3f9d23a5476 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,121 @@ | |||
| 1 | 2013-08-18 Xue Fuqiao <xfq.free@gmail.com> | ||
| 2 | |||
| 3 | * positions.texi (Positions): Improve indexing. | ||
| 4 | |||
| 5 | 2013-08-18 Eli Zaretskii <eliz@gnu.org> | ||
| 6 | |||
| 7 | * markers.texi (The Region): Improve indexing. | ||
| 8 | |||
| 9 | 2013-08-17 Xue Fuqiao <xfq.free@gmail.com> | ||
| 10 | |||
| 11 | * modes.texi (SMIE, SMIE Grammar, SMIE Indentation): Add some indexes. | ||
| 12 | |||
| 13 | * text.texi (Maintaining Undo): Mention interactive call of | ||
| 14 | buffer-disable-undo. | ||
| 15 | (Filling): Add cross-reference for hard newlines. | ||
| 16 | (Sorting): Fix indentation. | ||
| 17 | (Columns): Comment out undefined behavior. | ||
| 18 | (Case Changes): Fix an `args-out-of-range' error in the example. | ||
| 19 | |||
| 20 | 2013-08-16 Xue Fuqiao <xfq.free@gmail.com> | ||
| 21 | |||
| 22 | * text.texi (Insertion): Refine. | ||
| 23 | (Margins): Add an index. | ||
| 24 | (Undo): Doc fix for `buffer-undo-list'. | ||
| 25 | |||
| 26 | * positions.texi (Character Motion): | ||
| 27 | * markers.texi (Moving Markers): | ||
| 28 | (Creating Markers): Comment out undefined behavior. | ||
| 29 | |||
| 30 | 2013-08-15 Xue Fuqiao <xfq.free@gmail.com> | ||
| 31 | |||
| 32 | * markers.texi (The Region): Add/move indexes. | ||
| 33 | |||
| 34 | 2013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 35 | |||
| 36 | * display.texi (ImageMagick Images): Mention :content-type and | ||
| 37 | `image-content-type-suffixes'. | ||
| 38 | |||
| 39 | 2013-08-13 Xue Fuqiao <xfq.free@gmail.com> | ||
| 40 | |||
| 41 | * positions.texi (Word Motion): Remove redundant sentence. | ||
| 42 | |||
| 43 | 2013-08-13 Glenn Morris <rgm@gnu.org> | ||
| 44 | |||
| 45 | * lists.texi (List Elements): | ||
| 46 | Undocument behavior of nth and nthcdr with n < 0. (Bug#15059) | ||
| 47 | |||
| 48 | 2013-08-13 Xue Fuqiao <xfq.free@gmail.com> | ||
| 49 | |||
| 50 | * frames.texi (Display Feature Testing): Add indexes. | ||
| 51 | |||
| 52 | 2013-08-12 Glenn Morris <rgm@gnu.org> | ||
| 53 | |||
| 54 | * Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME) | ||
| 55 | (docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL) | ||
| 56 | (INSTALL_DATA): New, set by configure. | ||
| 57 | (HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS): | ||
| 58 | New variables. | ||
| 59 | (.SUFFIXES): Add .ps and .dvi. | ||
| 60 | (.dvi.ps): New suffix rule. | ||
| 61 | (dvi, html, pdf, ps): Use *_TARGETS variables. | ||
| 62 | (elisp.html): Use HTML_OPTS. | ||
| 63 | (elisp.ps): Remove explicit rule. | ||
| 64 | (.PHONY): install-dvi, install-html, install-pdf, install-ps | ||
| 65 | ,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf, | ||
| 66 | uninstall-ps, and uninstall-doc. | ||
| 67 | (install-dvi, install-html, install-pdf, install-ps, install-doc) | ||
| 68 | (uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf) | ||
| 69 | (uninstall-doc): New rules. | ||
| 70 | (clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS. | ||
| 71 | |||
| 72 | 2013-08-10 Xue Fuqiao <xfq.free@gmail.com> | ||
| 73 | |||
| 74 | * edebug.texi (Instrumenting Macro Calls): Use @defmac for macros. | ||
| 75 | |||
| 76 | 2013-08-09 Xue Fuqiao <xfq.free@gmail.com> | ||
| 77 | |||
| 78 | * control.texi (Error Symbols): Minor fix for previous change. | ||
| 79 | |||
| 80 | 2013-08-09 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 81 | |||
| 82 | * errors.texi (Standard Errors): Don't refer to `error-conditions'. | ||
| 83 | |||
| 84 | * control.texi (Signaling Errors): Refer to define-error. | ||
| 85 | (Error Symbols): Add `define-error'. | ||
| 86 | |||
| 87 | 2013-08-06 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 88 | |||
| 89 | * positions.texi (Motion by Screen Lines): | ||
| 90 | * display.texi (Truncation): Rename `cache-long-line-scans' | ||
| 91 | to `cache-long-scans'. | ||
| 92 | |||
| 93 | 2013-08-05 Xue Fuqiao <xfq.free@gmail.com> | ||
| 94 | |||
| 95 | * windows.texi (Window Start and End): Add an index. | ||
| 96 | |||
| 97 | 2013-08-02 Xue Fuqiao <xfq.free@gmail.com> | ||
| 98 | |||
| 99 | * display.texi (Face Functions): Add an index. | ||
| 100 | |||
| 101 | * variables.texi (Variable Aliases): Add an index. | ||
| 102 | |||
| 103 | * functions.texi (Defining Functions): Add an index. | ||
| 104 | |||
| 105 | * nonascii.texi (Coding System Basics): Add an index. | ||
| 106 | |||
| 107 | 2013-07-31 Xue Fuqiao <xfq.free@gmail.com> | ||
| 108 | |||
| 109 | * nonascii.texi (Non-ASCII Characters): Update menu. | ||
| 110 | (Disabling Multibyte): Move here from doc/emacs/mule.texi. Fix cross-references. | ||
| 111 | |||
| 112 | * elisp.texi (Top): Update menu. | ||
| 113 | |||
| 114 | 2013-07-30 Xue Fuqiao <xfq.free@gmail.com> | ||
| 115 | |||
| 116 | * windows.texi (Window History): Mention the default value of | ||
| 117 | switch-to-visible-buffer. Add cross-references. | ||
| 118 | |||
| 1 | 2013-07-24 Michael Albinus <michael.albinus@gmx.de> | 119 | 2013-07-24 Michael Albinus <michael.albinus@gmx.de> |
| 2 | 120 | ||
| 3 | * errors.texi (Standard Errors): Fix typo. | 121 | * errors.texi (Standard Errors): Fix typo. |
diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in index 4c1d63ab5c8..675cac7949d 100644 --- a/doc/lispref/Makefile.in +++ b/doc/lispref/Makefile.in | |||
| @@ -33,12 +33,29 @@ texinfodir = $(srcdir)/../misc | |||
| 33 | # Directory with emacsver.texi. | 33 | # Directory with emacsver.texi. |
| 34 | emacsdir = $(srcdir)/../emacs | 34 | emacsdir = $(srcdir)/../emacs |
| 35 | 35 | ||
| 36 | prefix = @prefix@ | ||
| 37 | datarootdir = @datarootdir@ | ||
| 38 | datadir = @datadir@ | ||
| 39 | PACKAGE_TARNAME = @PACKAGE_TARNAME@ | ||
| 40 | docdir = @docdir@ | ||
| 41 | dvidir = @dvidir@ | ||
| 42 | htmldir = @htmldir@ | ||
| 43 | pdfdir = @pdfdir@ | ||
| 44 | psdir = @psdir@ | ||
| 45 | |||
| 36 | MKDIR_P = @MKDIR_P@ | 46 | MKDIR_P = @MKDIR_P@ |
| 37 | 47 | ||
| 48 | GZIP_PROG = @GZIP_PROG@ | ||
| 49 | |||
| 50 | HTML_OPTS = --no-split --html | ||
| 51 | |||
| 38 | INFO_EXT=@INFO_EXT@ | 52 | INFO_EXT=@INFO_EXT@ |
| 39 | # Options used only when making info output. | 53 | # Options used only when making info output. |
| 40 | INFO_OPTS=@INFO_OPTS@ | 54 | INFO_OPTS=@INFO_OPTS@ |
| 41 | 55 | ||
| 56 | INSTALL = @INSTALL@ | ||
| 57 | INSTALL_DATA = @INSTALL_DATA@ | ||
| 58 | |||
| 42 | MAKEINFO = @MAKEINFO@ | 59 | MAKEINFO = @MAKEINFO@ |
| 43 | MAKEINFO_OPTS = --force --enable-encoding -I $(emacsdir) -I $(srcdir) | 60 | MAKEINFO_OPTS = --force --enable-encoding -I $(emacsdir) -I $(srcdir) |
| 44 | TEXI2DVI = texi2dvi | 61 | TEXI2DVI = texi2dvi |
| @@ -48,6 +65,11 @@ DVIPS = dvips | |||
| 48 | ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \ | 65 | ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \ |
| 49 | MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)" | 66 | MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)" |
| 50 | 67 | ||
| 68 | DVI_TARGETS = elisp.dvi | ||
| 69 | HTML_TARGETS = elisp.html | ||
| 70 | PDF_TARGETS = elisp.pdf | ||
| 71 | PS_TARGETS = elisp.ps | ||
| 72 | |||
| 51 | # List of all the texinfo files in the manual: | 73 | # List of all the texinfo files in the manual: |
| 52 | 74 | ||
| 53 | srcs = \ | 75 | srcs = \ |
| @@ -109,11 +131,16 @@ mkinfodir = @${MKDIR_P} ${buildinfodir} | |||
| 109 | 131 | ||
| 110 | .PHONY: info dvi pdf ps | 132 | .PHONY: info dvi pdf ps |
| 111 | 133 | ||
| 134 | .SUFFIXES: .ps .dvi | ||
| 135 | |||
| 136 | .dvi.ps: | ||
| 137 | $(DVIPS) -o $@ $< | ||
| 138 | |||
| 112 | info: $(buildinfodir)/elisp$(INFO_EXT) | 139 | info: $(buildinfodir)/elisp$(INFO_EXT) |
| 113 | dvi: elisp.dvi | 140 | dvi: $(DVI_TARGETS) |
| 114 | html: elisp.html | 141 | html: $(HTML_TARGETS) |
| 115 | pdf: elisp.pdf | 142 | pdf: $(PDF_TARGETS) |
| 116 | ps: elisp.ps | 143 | ps: $(PS_TARGETS) |
| 117 | 144 | ||
| 118 | ## Note: "<" is not portable in ordinary make rules. | 145 | ## Note: "<" is not portable in ordinary make rules. |
| 119 | $(buildinfodir)/elisp$(INFO_EXT): $(srcs) | 146 | $(buildinfodir)/elisp$(INFO_EXT): $(srcs) |
| @@ -124,10 +151,7 @@ elisp.dvi: $(srcs) | |||
| 124 | $(ENVADD) $(TEXI2DVI) $(srcdir)/elisp.texi | 151 | $(ENVADD) $(TEXI2DVI) $(srcdir)/elisp.texi |
| 125 | 152 | ||
| 126 | elisp.html: $(srcs) | 153 | elisp.html: $(srcs) |
| 127 | $(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $(srcdir)/elisp.texi | 154 | $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $(srcdir)/elisp.texi |
| 128 | |||
| 129 | elisp.ps: elisp.dvi | ||
| 130 | $(DVIPS) -o $@ elisp.dvi | ||
| 131 | 155 | ||
| 132 | elisp.pdf: $(srcs) | 156 | elisp.pdf: $(srcs) |
| 133 | $(ENVADD) $(TEXI2PDF) $(srcdir)/elisp.texi | 157 | $(ENVADD) $(TEXI2PDF) $(srcdir)/elisp.texi |
| @@ -141,9 +165,8 @@ mostlyclean: | |||
| 141 | rm -f elisp[12]* vol[12].tmp | 165 | rm -f elisp[12]* vol[12].tmp |
| 142 | 166 | ||
| 143 | clean: mostlyclean | 167 | clean: mostlyclean |
| 144 | rm -f elisp.dvi elisp.pdf elisp.ps | 168 | rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS) |
| 145 | rm -f vol[12].dvi vol[12].pdf vol[12].ps | 169 | rm -f vol[12].dvi vol[12].pdf vol[12].ps |
| 146 | rm -rf elisp.html | ||
| 147 | rm -f emacs-lispref-${version}.tar* | 170 | rm -f emacs-lispref-${version}.tar* |
| 148 | 171 | ||
| 149 | distclean: clean | 172 | distclean: clean |
| @@ -176,4 +199,51 @@ dist: | |||
| 176 | tar -cf emacs-lispref-${version}.tar emacs-lispref-${version} | 199 | tar -cf emacs-lispref-${version}.tar emacs-lispref-${version} |
| 177 | rm -rf emacs-lispref-${version} | 200 | rm -rf emacs-lispref-${version} |
| 178 | 201 | ||
| 202 | .PHONY: install-dvi install-html install-pdf install-ps install-doc | ||
| 203 | |||
| 204 | install-dvi: dvi | ||
| 205 | umask 022; $(MKDIR_P) $(DESTDIR)$(dvidir) | ||
| 206 | $(INSTALL_DATA) $(DVI_TARGETS) $(DESTDIR)$(dvidir) | ||
| 207 | install-html: html | ||
| 208 | umask 022; $(MKDIR_P) $(DESTDIR)$(htmldir) | ||
| 209 | $(INSTALL_DATA) $(HTML_TARGETS) $(DESTDIR)$(htmldir) | ||
| 210 | install-pdf: pdf | ||
| 211 | umask 022;$(MKDIR_P) $(DESTDIR)$(pdfdir) | ||
| 212 | $(INSTALL_DATA) $(PDF_TARGETS) $(DESTDIR)$(pdfdir) | ||
| 213 | install-ps: ps | ||
| 214 | umask 022; $(MKDIR_P) $(DESTDIR)$(psdir) | ||
| 215 | for file in $(PS_TARGETS); do \ | ||
| 216 | $(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \ | ||
| 217 | [ -n "${GZIP_PROG}" ] || continue; \ | ||
| 218 | rm -f $(DESTDIR)$(psdir)/$${file}.gz; \ | ||
| 219 | ${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \ | ||
| 220 | done | ||
| 221 | |||
| 222 | ## Top-level Makefile installs the info pages. | ||
| 223 | install-doc: install-dvi install-html install-pdf install-ps | ||
| 224 | |||
| 225 | |||
| 226 | .PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc | ||
| 227 | |||
| 228 | uninstall-dvi: | ||
| 229 | for file in $(DVI_TARGETS); do \ | ||
| 230 | rm -f $(DESTDIR)$(dvidir)/$${file}; \ | ||
| 231 | done | ||
| 232 | uninstall-html: | ||
| 233 | for file in $(HTML_TARGETS); do \ | ||
| 234 | rm -f $(DESTDIR)$(htmldir)/$${file}; \ | ||
| 235 | done | ||
| 236 | uninstall-ps: | ||
| 237 | ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \ | ||
| 238 | for file in $(PS_TARGETS); do \ | ||
| 239 | rm -f $(DESTDIR)$(psdir)/$${file}$${ext}; \ | ||
| 240 | done | ||
| 241 | uninstall-pdf: | ||
| 242 | for file in $(PDF_TARGETS); do \ | ||
| 243 | rm -f $(DESTDIR)$(pdfdir)/$${file}; \ | ||
| 244 | done | ||
| 245 | |||
| 246 | uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps | ||
| 247 | |||
| 248 | |||
| 179 | ### Makefile ends here | 249 | ### Makefile ends here |
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index 9ee01299260..70eabcd84a4 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi | |||
| @@ -890,9 +890,8 @@ argument @var{data} is a list of additional Lisp objects relevant to | |||
| 890 | the circumstances of the error. | 890 | the circumstances of the error. |
| 891 | 891 | ||
| 892 | The argument @var{error-symbol} must be an @dfn{error symbol}---a symbol | 892 | The argument @var{error-symbol} must be an @dfn{error symbol}---a symbol |
| 893 | bearing a property @code{error-conditions} whose value is a list of | 893 | defined with @code{define-error}. This is how Emacs Lisp classifies different |
| 894 | condition names. This is how Emacs Lisp classifies different sorts of | 894 | sorts of errors. @xref{Error Symbols}, for a description of error symbols, |
| 895 | errors. @xref{Error Symbols}, for a description of error symbols, | ||
| 896 | error conditions and condition names. | 895 | error conditions and condition names. |
| 897 | 896 | ||
| 898 | If the error is not handled, the two arguments are used in printing | 897 | If the error is not handled, the two arguments are used in printing |
| @@ -1118,8 +1117,8 @@ Here are examples of handlers: | |||
| 1118 | @end example | 1117 | @end example |
| 1119 | 1118 | ||
| 1120 | Each error that occurs has an @dfn{error symbol} that describes what | 1119 | Each error that occurs has an @dfn{error symbol} that describes what |
| 1121 | kind of error it is. The @code{error-conditions} property of this | 1120 | kind of error it is, and which describes also a list of condition names |
| 1122 | symbol is a list of condition names (@pxref{Error Symbols}). Emacs | 1121 | (@pxref{Error Symbols}). Emacs |
| 1123 | searches all the active @code{condition-case} forms for a handler that | 1122 | searches all the active @code{condition-case} forms for a handler that |
| 1124 | specifies one or more of these condition names; the innermost matching | 1123 | specifies one or more of these condition names; the innermost matching |
| 1125 | @code{condition-case} handles the error. Within this | 1124 | @code{condition-case} handles the error. Within this |
| @@ -1259,6 +1258,7 @@ should be robust if one does occur. Note that this macro uses | |||
| 1259 | @cindex condition name | 1258 | @cindex condition name |
| 1260 | @cindex user-defined error | 1259 | @cindex user-defined error |
| 1261 | @kindex error-conditions | 1260 | @kindex error-conditions |
| 1261 | @kindex define-error | ||
| 1262 | 1262 | ||
| 1263 | When you signal an error, you specify an @dfn{error symbol} to specify | 1263 | When you signal an error, you specify an @dfn{error symbol} to specify |
| 1264 | the kind of error you have in mind. Each error has one and only one | 1264 | the kind of error you have in mind. Each error has one and only one |
| @@ -1275,42 +1275,38 @@ Thus, each error has one or more condition names: @code{error}, the | |||
| 1275 | error symbol if that is distinct from @code{error}, and perhaps some | 1275 | error symbol if that is distinct from @code{error}, and perhaps some |
| 1276 | intermediate classifications. | 1276 | intermediate classifications. |
| 1277 | 1277 | ||
| 1278 | In order for a symbol to be an error symbol, it must have an | 1278 | @defun define-error name message &optional parent |
| 1279 | @code{error-conditions} property which gives a list of condition names. | 1279 | In order for a symbol to be an error symbol, it must be defined with |
| 1280 | This list defines the conditions that this kind of error belongs to. | 1280 | @code{define-error} which takes a parent condition (defaults to @code{error}). |
| 1281 | (The error symbol itself, and the symbol @code{error}, should always be | 1281 | This parent defines the conditions that this kind of error belongs to. |
| 1282 | members of this list.) Thus, the hierarchy of condition names is | 1282 | The transitive set of parents always includes the error symbol itself, and the |
| 1283 | defined by the @code{error-conditions} properties of the error symbols. | 1283 | symbol @code{error}. Because quitting is not considered an error, the set of |
| 1284 | Because quitting is not considered an error, the value of the | 1284 | parents of @code{quit} is just @code{(quit)}. |
| 1285 | @code{error-conditions} property of @code{quit} is just @code{(quit)}. | 1285 | @end defun |
| 1286 | 1286 | ||
| 1287 | @cindex peculiar error | 1287 | @cindex peculiar error |
| 1288 | In addition to the @code{error-conditions} list, the error symbol | 1288 | In addition to its parents, the error symbol has a @var{message} which |
| 1289 | should have an @code{error-message} property whose value is a string to | 1289 | is a string to be printed when that error is signaled but not handled. If that |
| 1290 | be printed when that error is signaled but not handled. If the | 1290 | message is not valid, the error message @samp{peculiar error} is used. |
| 1291 | error symbol has no @code{error-message} property or if the | 1291 | @xref{Definition of signal}. |
| 1292 | @code{error-message} property exists, but is not a string, the error | 1292 | |
| 1293 | message @samp{peculiar error} is used. @xref{Definition of signal}. | 1293 | Internally, the set of parents is stored in the @code{error-conditions} |
| 1294 | property of the error symbol and the message is stored in the | ||
| 1295 | @code{error-message} property of the error symbol. | ||
| 1294 | 1296 | ||
| 1295 | Here is how we define a new error symbol, @code{new-error}: | 1297 | Here is how we define a new error symbol, @code{new-error}: |
| 1296 | 1298 | ||
| 1297 | @example | 1299 | @example |
| 1298 | @group | 1300 | @group |
| 1299 | (put 'new-error | 1301 | (define-error 'new-error "A new error" 'my-own-errors) |
| 1300 | 'error-conditions | ||
| 1301 | '(error my-own-errors new-error)) | ||
| 1302 | @result{} (error my-own-errors new-error) | ||
| 1303 | @end group | ||
| 1304 | @group | ||
| 1305 | (put 'new-error 'error-message "A new error") | ||
| 1306 | @result{} "A new error" | ||
| 1307 | @end group | 1302 | @end group |
| 1308 | @end example | 1303 | @end example |
| 1309 | 1304 | ||
| 1310 | @noindent | 1305 | @noindent |
| 1311 | This error has three condition names: @code{new-error}, the narrowest | 1306 | This error has several condition names: @code{new-error}, the narrowest |
| 1312 | classification; @code{my-own-errors}, which we imagine is a wider | 1307 | classification; @code{my-own-errors}, which we imagine is a wider |
| 1313 | classification; and @code{error}, which is the widest of all. | 1308 | classification; and all the conditions of @code{my-own-errors} which should |
| 1309 | include @code{error}, which is the widest of all. | ||
| 1314 | 1310 | ||
| 1315 | The error string should start with a capital letter but it should | 1311 | The error string should start with a capital letter but it should |
| 1316 | not end with a period. This is for consistency with the rest of Emacs. | 1312 | not end with a period. This is for consistency with the rest of Emacs. |
| @@ -1326,7 +1322,7 @@ your code can do this: | |||
| 1326 | @end group | 1322 | @end group |
| 1327 | @end example | 1323 | @end example |
| 1328 | 1324 | ||
| 1329 | This error can be handled through any of the three condition names. | 1325 | This error can be handled through any of its condition names. |
| 1330 | This example handles @code{new-error} and any other errors in the class | 1326 | This example handles @code{new-error} and any other errors in the class |
| 1331 | @code{my-own-errors}: | 1327 | @code{my-own-errors}: |
| 1332 | 1328 | ||
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 44fbc66a60e..ff9d98170d1 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -217,9 +217,9 @@ over the @code{line-prefix} variable. @xref{Special Properties}. | |||
| 217 | continuation to display them, computing the continuation lines can | 217 | continuation to display them, computing the continuation lines can |
| 218 | make redisplay slow. The column computation and indentation functions | 218 | make redisplay slow. The column computation and indentation functions |
| 219 | also become slow. Then you might find it advisable to set | 219 | also become slow. Then you might find it advisable to set |
| 220 | @code{cache-long-line-scans} to @code{t}. | 220 | @code{cache-long-scans} to @code{t}. |
| 221 | 221 | ||
| 222 | @defvar cache-long-line-scans | 222 | @defvar cache-long-scans |
| 223 | If this variable is non-@code{nil}, various indentation and motion | 223 | If this variable is non-@code{nil}, various indentation and motion |
| 224 | functions, and Emacs redisplay, cache the results of scanning the | 224 | functions, and Emacs redisplay, cache the results of scanning the |
| 225 | buffer, and consult the cache to avoid rescanning regions of the buffer | 225 | buffer, and consult the cache to avoid rescanning regions of the buffer |
| @@ -1243,6 +1243,7 @@ Type RET when done reading | |||
| 1243 | @node Overlays | 1243 | @node Overlays |
| 1244 | @section Overlays | 1244 | @section Overlays |
| 1245 | @cindex overlays | 1245 | @cindex overlays |
| 1246 | @c FIXME: mention intervals in this section? | ||
| 1246 | 1247 | ||
| 1247 | You can use @dfn{overlays} to alter the appearance of a buffer's text on | 1248 | You can use @dfn{overlays} to alter the appearance of a buffer's text on |
| 1248 | the screen, for the sake of presentation features. An overlay is an | 1249 | the screen, for the sake of presentation features. An overlay is an |
| @@ -2738,6 +2739,7 @@ differently from the default face. | |||
| 2738 | @end defun | 2739 | @end defun |
| 2739 | 2740 | ||
| 2740 | @cindex face alias | 2741 | @cindex face alias |
| 2742 | @cindex alias, for faces | ||
| 2741 | A @dfn{face alias} provides an equivalent name for a face. You can | 2743 | A @dfn{face alias} provides an equivalent name for a face. You can |
| 2742 | define a face alias by giving the alias symbol the @code{face-alias} | 2744 | define a face alias by giving the alias symbol the @code{face-alias} |
| 2743 | property, with a value of the target face name. The following example | 2745 | property, with a value of the target face name. The following example |
| @@ -4662,6 +4664,14 @@ and if @code{:height} is set it will have precedence over | |||
| 4662 | wish. @code{:max-width} and @code{:max-height} will always preserve | 4664 | wish. @code{:max-width} and @code{:max-height} will always preserve |
| 4663 | the aspect ratio. | 4665 | the aspect ratio. |
| 4664 | 4666 | ||
| 4667 | @item :format | ||
| 4668 | ImageMagick tries to auto-detect the image type, but it isn't always | ||
| 4669 | able to. By using @code{:format-type}, we can give ImageMagick a hint | ||
| 4670 | to try to help it. It's used in conjunction with the | ||
| 4671 | @code{image-format-suffixes} variable, which provides a mapping from | ||
| 4672 | content types to file name suffixes. This is then given to | ||
| 4673 | ImageMagick as a file name hint. | ||
| 4674 | |||
| 4665 | @item :rotation | 4675 | @item :rotation |
| 4666 | Specifies a rotation angle in degrees. | 4676 | Specifies a rotation angle in degrees. |
| 4667 | 4677 | ||
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi index 8e394b5d92d..8384c31a380 100644 --- a/doc/lispref/edebug.texi +++ b/doc/lispref/edebug.texi | |||
| @@ -1132,14 +1132,14 @@ from the macro definition with @code{def-edebug-spec}. Adding | |||
| 1132 | definitions in Lisp, but @code{def-edebug-spec} makes it possible to | 1132 | definitions in Lisp, but @code{def-edebug-spec} makes it possible to |
| 1133 | define Edebug specifications for special forms implemented in C. | 1133 | define Edebug specifications for special forms implemented in C. |
| 1134 | 1134 | ||
| 1135 | @deffn Macro def-edebug-spec macro specification | 1135 | @defmac def-edebug-spec macro specification |
| 1136 | Specify which expressions of a call to macro @var{macro} are forms to be | 1136 | Specify which expressions of a call to macro @var{macro} are forms to be |
| 1137 | evaluated. @var{specification} should be the edebug specification. | 1137 | evaluated. @var{specification} should be the edebug specification. |
| 1138 | Neither argument is evaluated. | 1138 | Neither argument is evaluated. |
| 1139 | 1139 | ||
| 1140 | The @var{macro} argument can actually be any symbol, not just a macro | 1140 | The @var{macro} argument can actually be any symbol, not just a macro |
| 1141 | name. | 1141 | name. |
| 1142 | @end deffn | 1142 | @end defmac |
| 1143 | 1143 | ||
| 1144 | Here is a table of the possibilities for @var{specification} and how each | 1144 | Here is a table of the possibilities for @var{specification} and how each |
| 1145 | directs processing of arguments. | 1145 | directs processing of arguments. |
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 9c013140999..e05253638d7 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi | |||
| @@ -1195,6 +1195,7 @@ Text Properties | |||
| 1195 | Non-@acronym{ASCII} Characters | 1195 | Non-@acronym{ASCII} Characters |
| 1196 | 1196 | ||
| 1197 | * Text Representations:: How Emacs represents text. | 1197 | * Text Representations:: How Emacs represents text. |
| 1198 | * Disabling Multibyte:: Controlling whether to use multibyte characters. | ||
| 1198 | * Converting Representations:: Converting unibyte to multibyte and vice versa. | 1199 | * Converting Representations:: Converting unibyte to multibyte and vice versa. |
| 1199 | * Selecting a Representation:: Treating a byte sequence as unibyte or multi. | 1200 | * Selecting a Representation:: Treating a byte sequence as unibyte or multi. |
| 1200 | * Character Codes:: How unibyte and multibyte relate to | 1201 | * Character Codes:: How unibyte and multibyte relate to |
diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi index 87cfcfa532c..8a10fbf0c47 100644 --- a/doc/lispref/errors.texi +++ b/doc/lispref/errors.texi | |||
| @@ -7,12 +7,11 @@ | |||
| 7 | @appendix Standard Errors | 7 | @appendix Standard Errors |
| 8 | @cindex standard errors | 8 | @cindex standard errors |
| 9 | 9 | ||
| 10 | Here is a list of the more important error symbols in standard Emacs, | 10 | Here is a list of the more important error symbols in standard Emacs, grouped |
| 11 | grouped by concept. The list includes each symbol's message (on the | 11 | by concept. The list includes each symbol's message and a cross reference |
| 12 | @code{error-message} property of the symbol) and a cross reference to a | 12 | to a description of how the error can occur. |
| 13 | description of how the error can occur. | ||
| 14 | 13 | ||
| 15 | Each error symbol has an @code{error-conditions} property that is a | 14 | Each error symbol has an set of parent error conditions that is a |
| 16 | list of symbols. Normally this list includes the error symbol itself | 15 | list of symbols. Normally this list includes the error symbol itself |
| 17 | and the symbol @code{error}. Occasionally it includes additional | 16 | and the symbol @code{error}. Occasionally it includes additional |
| 18 | symbols, which are intermediate classifications, narrower than | 17 | symbols, which are intermediate classifications, narrower than |
| @@ -24,8 +23,6 @@ conditions, that means it has none. | |||
| 24 | As a special exception, the error symbol @code{quit} does not have the | 23 | As a special exception, the error symbol @code{quit} does not have the |
| 25 | condition @code{error}, because quitting is not considered an error. | 24 | condition @code{error}, because quitting is not considered an error. |
| 26 | 25 | ||
| 27 | @c You can grep for "(put 'foo 'error-conditions ...) to find | ||
| 28 | @c examples defined in Lisp. E.g., soap-client.el, sasl.el. | ||
| 29 | Most of these error symbols are defined in C (mainly @file{data.c}), | 26 | Most of these error symbols are defined in C (mainly @file{data.c}), |
| 30 | but some are defined in Lisp. For example, the file @file{userlock.el} | 27 | but some are defined in Lisp. For example, the file @file{userlock.el} |
| 31 | defines the @code{file-locked} and @code{file-supersession} errors. | 28 | defines the @code{file-locked} and @code{file-supersession} errors. |
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 01d2d1d6c45..370098c8b62 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi | |||
| @@ -446,7 +446,7 @@ default parameters by supplying their own parameters. | |||
| 446 | If you invoke Emacs with command-line options that specify frame | 446 | If you invoke Emacs with command-line options that specify frame |
| 447 | appearance, those options take effect by adding elements to either | 447 | appearance, those options take effect by adding elements to either |
| 448 | @code{initial-frame-alist} or @code{default-frame-alist}. Options | 448 | @code{initial-frame-alist} or @code{default-frame-alist}. Options |
| 449 | which affect just the initial frame, such as @samp{-geometry} and | 449 | which affect just the initial frame, such as @samp{--geometry} and |
| 450 | @samp{--maximized}, add to @code{initial-frame-alist}; the others add | 450 | @samp{--maximized}, add to @code{initial-frame-alist}; the others add |
| 451 | to @code{default-frame-alist}. @pxref{Emacs Invocation,, Command Line | 451 | to @code{default-frame-alist}. @pxref{Emacs Invocation,, Command Line |
| 452 | Arguments for Emacs Invocation, emacs, The GNU Emacs Manual}. | 452 | Arguments for Emacs Invocation, emacs, The GNU Emacs Manual}. |
| @@ -1362,7 +1362,7 @@ Terminals}. | |||
| 1362 | @node Input Focus | 1362 | @node Input Focus |
| 1363 | @section Input Focus | 1363 | @section Input Focus |
| 1364 | @cindex input focus | 1364 | @cindex input focus |
| 1365 | @c @cindex selected frame Duplicates selected-frame | 1365 | @c @cindex selected frame Duplicates selected-frame, same for selected-window. |
| 1366 | 1366 | ||
| 1367 | At any time, one frame in Emacs is the @dfn{selected frame}. The selected | 1367 | At any time, one frame in Emacs is the @dfn{selected frame}. The selected |
| 1368 | window always resides on the selected frame. | 1368 | window always resides on the selected frame. |
| @@ -2391,6 +2391,7 @@ displays returned by @code{display-mm-height} and | |||
| 2391 | @code{display-mm-width} in case the system provides incorrect values. | 2391 | @code{display-mm-width} in case the system provides incorrect values. |
| 2392 | @end defopt | 2392 | @end defopt |
| 2393 | 2393 | ||
| 2394 | @cindex backing store | ||
| 2394 | @defun display-backing-store &optional display | 2395 | @defun display-backing-store &optional display |
| 2395 | This function returns the backing store capability of the display. | 2396 | This function returns the backing store capability of the display. |
| 2396 | Backing store means recording the pixels of windows (and parts of | 2397 | Backing store means recording the pixels of windows (and parts of |
| @@ -2402,6 +2403,7 @@ Values can be the symbols @code{always}, @code{when-mapped}, or | |||
| 2402 | when the question is inapplicable to a certain kind of display. | 2403 | when the question is inapplicable to a certain kind of display. |
| 2403 | @end defun | 2404 | @end defun |
| 2404 | 2405 | ||
| 2406 | @cindex SaveUnder feature | ||
| 2405 | @defun display-save-under &optional display | 2407 | @defun display-save-under &optional display |
| 2406 | This function returns non-@code{nil} if the display supports the | 2408 | This function returns non-@code{nil} if the display supports the |
| 2407 | SaveUnder feature. That feature is used by pop-up windows | 2409 | SaveUnder feature. That feature is used by pop-up windows |
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index fcd345ef83b..39a9ff6b62c 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi | |||
| @@ -580,6 +580,7 @@ redefinition from unintentional redefinition. | |||
| 580 | @end defmac | 580 | @end defmac |
| 581 | 581 | ||
| 582 | @cindex function aliases | 582 | @cindex function aliases |
| 583 | @cindex alias, for functions | ||
| 583 | @defun defalias name definition &optional doc | 584 | @defun defalias name definition &optional doc |
| 584 | @anchor{Definition of defalias} | 585 | @anchor{Definition of defalias} |
| 585 | This function defines the symbol @var{name} as a function, with | 586 | This function defines the symbol @var{name} as a function, with |
diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi index 14601de1814..9daf01cd0a2 100644 --- a/doc/lispref/lists.texi +++ b/doc/lispref/lists.texi | |||
| @@ -270,8 +270,10 @@ are numbered starting with zero, so the @sc{car} of @var{list} is | |||
| 270 | element number zero. If the length of @var{list} is @var{n} or less, | 270 | element number zero. If the length of @var{list} is @var{n} or less, |
| 271 | the value is @code{nil}. | 271 | the value is @code{nil}. |
| 272 | 272 | ||
| 273 | If @var{n} is negative, @code{nth} returns the first element of | 273 | @c Behavior for -ve n undefined since 2013/08; see bug#15059. |
| 274 | @var{list}. | 274 | @ignore |
| 275 | If @var{n} is negative, @code{nth} returns the first element of @var{list}. | ||
| 276 | @end ignore | ||
| 275 | 277 | ||
| 276 | @example | 278 | @example |
| 277 | @group | 279 | @group |
| @@ -281,10 +283,6 @@ If @var{n} is negative, @code{nth} returns the first element of | |||
| 281 | @group | 283 | @group |
| 282 | (nth 10 '(1 2 3 4)) | 284 | (nth 10 '(1 2 3 4)) |
| 283 | @result{} nil | 285 | @result{} nil |
| 284 | @end group | ||
| 285 | @group | ||
| 286 | (nth -3 '(1 2 3 4)) | ||
| 287 | @result{} 1 | ||
| 288 | 286 | ||
| 289 | (nth n x) @equiv{} (car (nthcdr n x)) | 287 | (nth n x) @equiv{} (car (nthcdr n x)) |
| 290 | @end group | 288 | @end group |
| @@ -300,7 +298,8 @@ This function returns the @var{n}th @sc{cdr} of @var{list}. In other | |||
| 300 | words, it skips past the first @var{n} links of @var{list} and returns | 298 | words, it skips past the first @var{n} links of @var{list} and returns |
| 301 | what follows. | 299 | what follows. |
| 302 | 300 | ||
| 303 | If @var{n} is zero or negative, @code{nthcdr} returns all of | 301 | @c "or negative" removed 2013/08; see bug#15059. |
| 302 | If @var{n} is zero, @code{nthcdr} returns all of | ||
| 304 | @var{list}. If the length of @var{list} is @var{n} or less, | 303 | @var{list}. If the length of @var{list} is @var{n} or less, |
| 305 | @code{nthcdr} returns @code{nil}. | 304 | @code{nthcdr} returns @code{nil}. |
| 306 | 305 | ||
| @@ -314,7 +313,7 @@ If @var{n} is zero or negative, @code{nthcdr} returns all of | |||
| 314 | @result{} nil | 313 | @result{} nil |
| 315 | @end group | 314 | @end group |
| 316 | @group | 315 | @group |
| 317 | (nthcdr -3 '(1 2 3 4)) | 316 | (nthcdr 0 '(1 2 3 4)) |
| 318 | @result{} (1 2 3 4) | 317 | @result{} (1 2 3 4) |
| 319 | @end group | 318 | @end group |
| 320 | @end example | 319 | @end example |
diff --git a/doc/lispref/markers.texi b/doc/lispref/markers.texi index cae14ab9a78..d94908994e9 100644 --- a/doc/lispref/markers.texi +++ b/doc/lispref/markers.texi | |||
| @@ -216,11 +216,14 @@ new marker that points to the same place and the same buffer as does | |||
| 216 | The new marker's insertion type is specified by the argument | 216 | The new marker's insertion type is specified by the argument |
| 217 | @var{insertion-type}. @xref{Marker Insertion Types}. | 217 | @var{insertion-type}. @xref{Marker Insertion Types}. |
| 218 | 218 | ||
| 219 | @c This behavior used to be documented until 2013/08. | ||
| 220 | @ignore | ||
| 219 | If passed an integer argument less than 1, @code{copy-marker} returns a | 221 | If passed an integer argument less than 1, @code{copy-marker} returns a |
| 220 | new marker that points to the beginning of the current buffer. If | 222 | new marker that points to the beginning of the current buffer. If |
| 221 | passed an integer argument greater than the length of the buffer, | 223 | passed an integer argument greater than the length of the buffer, |
| 222 | @code{copy-marker} returns a new marker that points to the end of the | 224 | @code{copy-marker} returns a new marker that points to the end of the |
| 223 | buffer. | 225 | buffer. |
| 226 | @end ignore | ||
| 224 | 227 | ||
| 225 | @example | 228 | @example |
| 226 | @group | 229 | @group |
| @@ -279,6 +282,8 @@ This function returns the position that @var{marker} points to, or | |||
| 279 | This function returns the buffer that @var{marker} points into, or | 282 | This function returns the buffer that @var{marker} points into, or |
| 280 | @code{nil} if it points nowhere. | 283 | @code{nil} if it points nowhere. |
| 281 | 284 | ||
| 285 | @c FIXME: The `buffer' argument of `set-marker' already defaults to | ||
| 286 | @c the current buffer, why use `(current-buffer)' explicitly here? | ||
| 282 | @example | 287 | @example |
| 283 | @group | 288 | @group |
| 284 | (setq m (make-marker)) | 289 | (setq m (make-marker)) |
| @@ -349,11 +354,15 @@ This function moves @var{marker} to @var{position} | |||
| 349 | in @var{buffer}. If @var{buffer} is not provided, it defaults to | 354 | in @var{buffer}. If @var{buffer} is not provided, it defaults to |
| 350 | the current buffer. | 355 | the current buffer. |
| 351 | 356 | ||
| 357 | @c This behavior used to be documented until 2013/08. | ||
| 358 | @ignore | ||
| 352 | If @var{position} is less than 1, @code{set-marker} moves @var{marker} | 359 | If @var{position} is less than 1, @code{set-marker} moves @var{marker} |
| 353 | to the beginning of the buffer. If @var{position} is greater than the | 360 | to the beginning of the buffer. If @var{position} is greater than the |
| 354 | size of the buffer (@pxref{Point}), @code{set-marker} moves marker to | 361 | size of the buffer (@pxref{Point}), @code{set-marker} moves marker to |
| 355 | the end of the buffer. If @var{position} is @code{nil} or a marker | 362 | the end of the buffer. |
| 356 | that points nowhere, then @var{marker} is set to point nowhere. | 363 | @end ignore |
| 364 | If @var{position} is @code{nil} or a marker that points nowhere, then | ||
| 365 | @var{marker} is set to point nowhere. | ||
| 357 | 366 | ||
| 358 | The value returned is @var{marker}. | 367 | The value returned is @var{marker}. |
| 359 | 368 | ||
| @@ -384,7 +393,7 @@ This is another name for @code{set-marker}. | |||
| 384 | @node The Mark | 393 | @node The Mark |
| 385 | @section The Mark | 394 | @section The Mark |
| 386 | @cindex mark, the | 395 | @cindex mark, the |
| 387 | @cindex mark ring | 396 | @c @cindex the mark? |
| 388 | 397 | ||
| 389 | Each buffer has a special marker, which is designated @dfn{the | 398 | Each buffer has a special marker, which is designated @dfn{the |
| 390 | mark}. When a buffer is newly created, this marker exists but does | 399 | mark}. When a buffer is newly created, this marker exists but does |
| @@ -423,6 +432,7 @@ the mark is active. This is the main motivation for using Transient | |||
| 423 | Mark mode. (Another is that this enables highlighting of the region | 432 | Mark mode. (Another is that this enables highlighting of the region |
| 424 | when the mark is active. @xref{Display}.) | 433 | when the mark is active. @xref{Display}.) |
| 425 | 434 | ||
| 435 | @cindex mark ring | ||
| 426 | In addition to the mark, each buffer has a @dfn{mark ring} which is a | 436 | In addition to the mark, each buffer has a @dfn{mark ring} which is a |
| 427 | list of markers containing previous values of the mark. When editing | 437 | list of markers containing previous values of the mark. When editing |
| 428 | commands change the mark, they should normally save the old value of the | 438 | commands change the mark, they should normally save the old value of the |
| @@ -644,7 +654,12 @@ more marks than this are pushed onto the @code{mark-ring}, | |||
| 644 | 654 | ||
| 645 | @node The Region | 655 | @node The Region |
| 646 | @section The Region | 656 | @section The Region |
| 647 | @cindex region (between point and mark) | 657 | @c The index entry must be just ``region'' to make it the first hit |
| 658 | @c when the user types ``i region RET'', because otherwise the Info | ||
| 659 | @c reader will present substring matches in alphabetical order, | ||
| 660 | @c putting this one near the end, with something utterly unrelated as | ||
| 661 | @c the first hit. | ||
| 662 | @cindex region | ||
| 648 | 663 | ||
| 649 | The text between point and the mark is known as @dfn{the region}. | 664 | The text between point and the mark is known as @dfn{the region}. |
| 650 | Various functions operate on text delimited by point and the mark, but | 665 | Various functions operate on text delimited by point and the mark, but |
| @@ -668,6 +683,7 @@ integer). This is the position of either point or the mark, whichever is | |||
| 668 | larger. | 683 | larger. |
| 669 | @end defun | 684 | @end defun |
| 670 | 685 | ||
| 686 | @c FIXME: Mention it in tips.texi? | ||
| 671 | Instead of using @code{region-beginning} and @code{region-end}, a | 687 | Instead of using @code{region-beginning} and @code{region-end}, a |
| 672 | command designed to operate on a region should normally use | 688 | command designed to operate on a region should normally use |
| 673 | @code{interactive} with the @samp{r} specification to find the | 689 | @code{interactive} with the @samp{r} specification to find the |
| @@ -680,6 +696,8 @@ mark is active, and there is a valid region in the buffer. This | |||
| 680 | function is intended to be used by commands that operate on the | 696 | function is intended to be used by commands that operate on the |
| 681 | region, instead of on text near point, when the mark is active. | 697 | region, instead of on text near point, when the mark is active. |
| 682 | 698 | ||
| 699 | @cindex empty region | ||
| 700 | @vindex use-empty-active-region | ||
| 683 | A region is valid if it has a non-zero size, or if the user option | 701 | A region is valid if it has a non-zero size, or if the user option |
| 684 | @code{use-empty-active-region} is non-@code{nil} (by default, it is | 702 | @code{use-empty-active-region} is non-@code{nil} (by default, it is |
| 685 | @code{nil}). The function @code{region-active-p} is similar to | 703 | @code{nil}). The function @code{region-active-p} is similar to |
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index 59729380ea7..180fef7241d 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi | |||
| @@ -3381,6 +3381,7 @@ of Lisp sexps and adapts it to non-Lisp languages. | |||
| 3381 | 3381 | ||
| 3382 | @node SMIE | 3382 | @node SMIE |
| 3383 | @subsection Simple Minded Indentation Engine | 3383 | @subsection Simple Minded Indentation Engine |
| 3384 | @cindex SMIE | ||
| 3384 | 3385 | ||
| 3385 | SMIE is a package that provides a generic navigation and indentation | 3386 | SMIE is a package that provides a generic navigation and indentation |
| 3386 | engine. Based on a very simple parser using an ``operator precedence | 3387 | engine. Based on a very simple parser using an ``operator precedence |
| @@ -3548,6 +3549,8 @@ simply ignored. | |||
| 3548 | 3549 | ||
| 3549 | @node SMIE Grammar | 3550 | @node SMIE Grammar |
| 3550 | @subsubsection Defining the Grammar of a Language | 3551 | @subsubsection Defining the Grammar of a Language |
| 3552 | @cindex SMIE grammar | ||
| 3553 | @cindex grammar, SMIE | ||
| 3551 | 3554 | ||
| 3552 | The usual way to define the SMIE grammar of a language is by | 3555 | The usual way to define the SMIE grammar of a language is by |
| 3553 | defining a new global variable that holds the precedence table by | 3556 | defining a new global variable that holds the precedence table by |
| @@ -3623,6 +3626,8 @@ formally as left associative. | |||
| 3623 | 3626 | ||
| 3624 | @node SMIE Lexer | 3627 | @node SMIE Lexer |
| 3625 | @subsubsection Defining Tokens | 3628 | @subsubsection Defining Tokens |
| 3629 | @cindex SMIE lexer | ||
| 3630 | @cindex defining tokens, SMIE | ||
| 3626 | 3631 | ||
| 3627 | SMIE comes with a predefined lexical analyzer which uses syntax tables | 3632 | SMIE comes with a predefined lexical analyzer which uses syntax tables |
| 3628 | in the following way: any sequence of characters that have word or | 3633 | in the following way: any sequence of characters that have word or |
| @@ -3757,6 +3762,7 @@ surrounding text to find ad-hoc clues. | |||
| 3757 | 3762 | ||
| 3758 | @node SMIE Indentation | 3763 | @node SMIE Indentation |
| 3759 | @subsubsection Specifying Indentation Rules | 3764 | @subsubsection Specifying Indentation Rules |
| 3765 | @cindex indentation rules, SMIE | ||
| 3760 | 3766 | ||
| 3761 | Based on the provided grammar, SMIE will be able to provide automatic | 3767 | Based on the provided grammar, SMIE will be able to provide automatic |
| 3762 | indentation without any extra effort. But in practice, this default | 3768 | indentation without any extra effort. But in practice, this default |
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index b8b62325bb4..090310c5545 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi | |||
| @@ -13,6 +13,7 @@ how they are stored in strings and buffers. | |||
| 13 | 13 | ||
| 14 | @menu | 14 | @menu |
| 15 | * Text Representations:: How Emacs represents text. | 15 | * Text Representations:: How Emacs represents text. |
| 16 | * Disabling Multibyte:: Controlling whether to use multibyte characters. | ||
| 16 | * Converting Representations:: Converting unibyte to multibyte and vice versa. | 17 | * Converting Representations:: Converting unibyte to multibyte and vice versa. |
| 17 | * Selecting a Representation:: Treating a byte sequence as unibyte or multi. | 18 | * Selecting a Representation:: Treating a byte sequence as unibyte or multi. |
| 18 | * Character Codes:: How unibyte and multibyte relate to | 19 | * Character Codes:: How unibyte and multibyte relate to |
| @@ -140,6 +141,55 @@ This function concatenates all its argument @var{bytes} and makes the | |||
| 140 | result a unibyte string. | 141 | result a unibyte string. |
| 141 | @end defun | 142 | @end defun |
| 142 | 143 | ||
| 144 | @node Disabling Multibyte | ||
| 145 | @section Disabling Multibyte Characters | ||
| 146 | @cindex disabling multibyte | ||
| 147 | |||
| 148 | By default, Emacs starts in multibyte mode: it stores the contents | ||
| 149 | of buffers and strings using an internal encoding that represents | ||
| 150 | non-@acronym{ASCII} characters using multi-byte sequences. Multibyte | ||
| 151 | mode allows you to use all the supported languages and scripts without | ||
| 152 | limitations. | ||
| 153 | |||
| 154 | @cindex turn multibyte support on or off | ||
| 155 | Under very special circumstances, you may want to disable multibyte | ||
| 156 | character support, for a specific buffer. | ||
| 157 | When multibyte characters are disabled in a buffer, we call | ||
| 158 | that @dfn{unibyte mode}. In unibyte mode, each character in the | ||
| 159 | buffer has a character code ranging from 0 through 255 (0377 octal); 0 | ||
| 160 | through 127 (0177 octal) represent @acronym{ASCII} characters, and 128 | ||
| 161 | (0200 octal) through 255 (0377 octal) represent non-@acronym{ASCII} | ||
| 162 | characters. | ||
| 163 | |||
| 164 | To edit a particular file in unibyte representation, visit it using | ||
| 165 | @code{find-file-literally}. @xref{Visiting Functions}. You can | ||
| 166 | convert a multibyte buffer to unibyte by saving it to a file, killing | ||
| 167 | the buffer, and visiting the file again with | ||
| 168 | @code{find-file-literally}. Alternatively, you can use @kbd{C-x | ||
| 169 | @key{RET} c} (@code{universal-coding-system-argument}) and specify | ||
| 170 | @samp{raw-text} as the coding system with which to visit or save a | ||
| 171 | file. @xref{Text Coding, , Specifying a Coding System for File Text, | ||
| 172 | emacs, GNU Emacs Manual}. Unlike @code{find-file-literally}, finding | ||
| 173 | a file as @samp{raw-text} doesn't disable format conversion, | ||
| 174 | uncompression, or auto mode selection. | ||
| 175 | |||
| 176 | @c See http://debbugs.gnu.org/11226 for lack of unibyte tooltip. | ||
| 177 | @vindex enable-multibyte-characters | ||
| 178 | The buffer-local variable @code{enable-multibyte-characters} is | ||
| 179 | non-@code{nil} in multibyte buffers, and @code{nil} in unibyte ones. | ||
| 180 | The mode line also indicates whether a buffer is multibyte or not. | ||
| 181 | With a graphical display, in a multibyte buffer, the portion of the | ||
| 182 | mode line that indicates the character set has a tooltip that (amongst | ||
| 183 | other things) says that the buffer is multibyte. In a unibyte buffer, | ||
| 184 | the character set indicator is absent. Thus, in a unibyte buffer | ||
| 185 | (when using a graphical display) there is normally nothing before the | ||
| 186 | indication of the visited file's end-of-line convention (colon, | ||
| 187 | backslash, etc.), unless you are using an input method. | ||
| 188 | |||
| 189 | @findex toggle-enable-multibyte-characters | ||
| 190 | You can turn off multibyte support in a specific buffer by invoking the | ||
| 191 | command @code{toggle-enable-multibyte-characters} in that buffer. | ||
| 192 | |||
| 143 | @node Converting Representations | 193 | @node Converting Representations |
| 144 | @section Converting Text Representations | 194 | @section Converting Text Representations |
| 145 | 195 | ||
| @@ -962,6 +1012,7 @@ The value of the @code{:mime-charset} property is also defined | |||
| 962 | as an alias for the coding system. | 1012 | as an alias for the coding system. |
| 963 | @end defun | 1013 | @end defun |
| 964 | 1014 | ||
| 1015 | @cindex alias, for coding systems | ||
| 965 | @defun coding-system-aliases coding-system | 1016 | @defun coding-system-aliases coding-system |
| 966 | This function returns the list of aliases of @var{coding-system}. | 1017 | This function returns the list of aliases of @var{coding-system}. |
| 967 | @end defun | 1018 | @end defun |
diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi index e8b6166f63c..69f1b80c431 100644 --- a/doc/lispref/positions.texi +++ b/doc/lispref/positions.texi | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | @node Positions | 5 | @node Positions |
| 6 | @chapter Positions | 6 | @chapter Positions |
| 7 | @cindex position (in buffer) | 7 | @cindex position (in buffer) |
| 8 | @cindex buffer position | ||
| 8 | 9 | ||
| 9 | A @dfn{position} is the index of a character in the text of a buffer. | 10 | A @dfn{position} is the index of a character in the text of a buffer. |
| 10 | More precisely, a position identifies the place between two characters | 11 | More precisely, a position identifies the place between two characters |
| @@ -146,9 +147,13 @@ that. | |||
| 146 | 147 | ||
| 147 | @deffn Command goto-char position | 148 | @deffn Command goto-char position |
| 148 | This function sets point in the current buffer to the value | 149 | This function sets point in the current buffer to the value |
| 149 | @var{position}. If @var{position} is less than 1, it moves point to the | 150 | @var{position}. |
| 150 | beginning of the buffer. If @var{position} is greater than the length | 151 | @c This behavior used to be documented until 2013/08. |
| 151 | of the buffer, it moves point to the end. | 152 | @ignore |
| 153 | If @var{position} is less than 1, it moves point to the beginning of | ||
| 154 | the buffer. If @var{position} is greater than the length of the | ||
| 155 | buffer, it moves point to the end. | ||
| 156 | @end ignore | ||
| 152 | 157 | ||
| 153 | If narrowing is in effect, @var{position} still counts from the | 158 | If narrowing is in effect, @var{position} still counts from the |
| 154 | beginning of the buffer, but point cannot go outside the accessible | 159 | beginning of the buffer, but point cannot go outside the accessible |
| @@ -191,8 +196,8 @@ whether a given character is part of a word. @xref{Syntax Tables}. | |||
| 191 | 196 | ||
| 192 | @deffn Command forward-word &optional count | 197 | @deffn Command forward-word &optional count |
| 193 | This function moves point forward @var{count} words (or backward if | 198 | This function moves point forward @var{count} words (or backward if |
| 194 | @var{count} is negative). If @var{count} is @code{nil}, it moves | 199 | @var{count} is negative). If @var{count} is omitted or @code{nil}, it |
| 195 | forward one word. | 200 | defaults to 1. |
| 196 | 201 | ||
| 197 | ``Moving one word'' means moving until point crosses a | 202 | ``Moving one word'' means moving until point crosses a |
| 198 | word-constituent character and then encounters a word-separator | 203 | word-constituent character and then encounters a word-separator |
| @@ -210,7 +215,7 @@ If @code{inhibit-field-text-motion} is non-@code{nil}, | |||
| 210 | this function ignores field boundaries. | 215 | this function ignores field boundaries. |
| 211 | 216 | ||
| 212 | In an interactive call, @var{count} is specified by the numeric prefix | 217 | In an interactive call, @var{count} is specified by the numeric prefix |
| 213 | argument. If @var{count} is omitted or @code{nil}, it defaults to 1. | 218 | argument. |
| 214 | @end deffn | 219 | @end deffn |
| 215 | 220 | ||
| 216 | @deffn Command backward-word &optional count | 221 | @deffn Command backward-word &optional count |
| @@ -483,7 +488,7 @@ Display}. | |||
| 483 | These functions scan text to determine where screen lines break, and | 488 | These functions scan text to determine where screen lines break, and |
| 484 | thus take time proportional to the distance scanned. If you intend to | 489 | thus take time proportional to the distance scanned. If you intend to |
| 485 | use them heavily, Emacs provides caches which may improve the | 490 | use them heavily, Emacs provides caches which may improve the |
| 486 | performance of your code. @xref{Truncation, cache-long-line-scans}. | 491 | performance of your code. @xref{Truncation, cache-long-scans}. |
| 487 | 492 | ||
| 488 | @defun vertical-motion count &optional window | 493 | @defun vertical-motion count &optional window |
| 489 | This function moves point to the start of the screen line @var{count} | 494 | This function moves point to the start of the screen line @var{count} |
| @@ -805,7 +810,7 @@ thousands of times in the Lisp sources of Emacs. | |||
| 805 | buffer, use @code{save-current-buffer} or @code{with-current-buffer} | 810 | buffer, use @code{save-current-buffer} or @code{with-current-buffer} |
| 806 | instead (@pxref{Current Buffer}). If you need to save or restore | 811 | instead (@pxref{Current Buffer}). If you need to save or restore |
| 807 | window configurations, see the forms described in @ref{Window | 812 | window configurations, see the forms described in @ref{Window |
| 808 | Configurations} and in @ref{Frame Configurations}. | 813 | Configurations} and in @ref{Frame Configurations}. @c frameset? |
| 809 | 814 | ||
| 810 | @defspec save-excursion body@dots{} | 815 | @defspec save-excursion body@dots{} |
| 811 | @cindex mark excursion | 816 | @cindex mark excursion |
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 7cace70ad07..c4250f2f0ba 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi | |||
| @@ -240,6 +240,7 @@ Major and minor modes can add functions to | |||
| 240 | copied out of the buffer. | 240 | copied out of the buffer. |
| 241 | @end defun | 241 | @end defun |
| 242 | 242 | ||
| 243 | @c FIXME: `filter-buffer-substring-function' should be documented. | ||
| 243 | @defvar filter-buffer-substring-functions | 244 | @defvar filter-buffer-substring-functions |
| 244 | This variable is a wrapper hook (@pxref{Running Hooks}), whose members | 245 | This variable is a wrapper hook (@pxref{Running Hooks}), whose members |
| 245 | should be functions that accept four arguments: @var{fun}, | 246 | should be functions that accept four arguments: @var{fun}, |
| @@ -365,7 +366,8 @@ not relocate the marker, depending on the marker's insertion type | |||
| 365 | the inserted text, regardless of the markers' insertion type. | 366 | the inserted text, regardless of the markers' insertion type. |
| 366 | 367 | ||
| 367 | Insertion functions signal an error if the current buffer is | 368 | Insertion functions signal an error if the current buffer is |
| 368 | read-only or if they insert within read-only text. | 369 | read-only (@pxref{Read Only Buffers}) or if they insert within |
| 370 | read-only text (@pxref{Special Properties}). | ||
| 369 | 371 | ||
| 370 | These functions copy text characters from strings and buffers along | 372 | These functions copy text characters from strings and buffers along |
| 371 | with their properties. The inserted characters have exactly the same | 373 | with their properties. The inserted characters have exactly the same |
| @@ -421,10 +423,10 @@ insertion point. @xref{Sticky Properties}. | |||
| 421 | 423 | ||
| 422 | @defun insert-buffer-substring from-buffer-or-name &optional start end | 424 | @defun insert-buffer-substring from-buffer-or-name &optional start end |
| 423 | This function inserts a portion of buffer @var{from-buffer-or-name} | 425 | This function inserts a portion of buffer @var{from-buffer-or-name} |
| 424 | (which must already exist) into the current buffer before point. The | 426 | into the current buffer before point. The text inserted is the region |
| 425 | text inserted is the region between @var{start} and @var{end}. (These | 427 | between @var{start} (inclusive) and @var{end} (exclusive). (These |
| 426 | arguments default to the beginning and end of the accessible portion of | 428 | arguments default to the beginning and end of the accessible portion |
| 427 | that buffer.) This function returns @code{nil}. | 429 | of that buffer.) This function returns @code{nil}. |
| 428 | 430 | ||
| 429 | In this example, the form is executed with buffer @samp{bar} as the | 431 | In this example, the form is executed with buffer @samp{bar} as the |
| 430 | current buffer. We assume that buffer @samp{bar} is initially empty. | 432 | current buffer. We assume that buffer @samp{bar} is initially empty. |
| @@ -482,6 +484,7 @@ it except to install it on a keymap. | |||
| 482 | 484 | ||
| 483 | In an interactive call, @var{count} is the numeric prefix argument. | 485 | In an interactive call, @var{count} is the numeric prefix argument. |
| 484 | 486 | ||
| 487 | @c FIXME: This variable is obsolete since 23.1. | ||
| 485 | Self-insertion translates the input character through | 488 | Self-insertion translates the input character through |
| 486 | @code{translation-table-for-input}. @xref{Translation of Characters}. | 489 | @code{translation-table-for-input}. @xref{Translation of Characters}. |
| 487 | 490 | ||
| @@ -776,6 +779,7 @@ is deleted. If point is on a nonblank line, the command deletes all | |||
| 776 | blank lines immediately following it. | 779 | blank lines immediately following it. |
| 777 | 780 | ||
| 778 | A blank line is defined as a line containing only tabs and spaces. | 781 | A blank line is defined as a line containing only tabs and spaces. |
| 782 | @c and the Newline character? | ||
| 779 | 783 | ||
| 780 | @code{delete-blank-lines} returns @code{nil}. | 784 | @code{delete-blank-lines} returns @code{nil}. |
| 781 | @end deffn | 785 | @end deffn |
| @@ -920,6 +924,7 @@ processes the text according to @code{yank-handled-properties} and | |||
| 920 | text anyway.) | 924 | text anyway.) |
| 921 | @end defun | 925 | @end defun |
| 922 | 926 | ||
| 927 | @c FIXME: Add an index for yank-handler. | ||
| 923 | If you put a @code{yank-handler} text property on all or part of a | 928 | If you put a @code{yank-handler} text property on all or part of a |
| 924 | string, that alters how @code{insert-for-yank} inserts the string. If | 929 | string, that alters how @code{insert-for-yank} inserts the string. If |
| 925 | different parts of the string have different @code{yank-handler} | 930 | different parts of the string have different @code{yank-handler} |
| @@ -1284,8 +1289,8 @@ This is an extensible undo item, which is undone by calling | |||
| 1284 | @item (apply @var{delta} @var{beg} @var{end} @var{funname} . @var{args}) | 1289 | @item (apply @var{delta} @var{beg} @var{end} @var{funname} . @var{args}) |
| 1285 | This is an extensible undo item, which records a change limited to the | 1290 | This is an extensible undo item, which records a change limited to the |
| 1286 | range @var{beg} to @var{end}, which increased the size of the buffer | 1291 | range @var{beg} to @var{end}, which increased the size of the buffer |
| 1287 | by @var{delta}. It is undone by calling @var{funname} with arguments | 1292 | by @var{delta} characters. It is undone by calling @var{funname} with |
| 1288 | @var{args}. | 1293 | arguments @var{args}. |
| 1289 | 1294 | ||
| 1290 | This kind of element enables undo limited to a region to determine | 1295 | This kind of element enables undo limited to a region to determine |
| 1291 | whether the element pertains to that region. | 1296 | whether the element pertains to that region. |
| @@ -1376,7 +1381,8 @@ possible to undo either previous changes or any subsequent changes. If | |||
| 1376 | the undo list of @var{buffer-or-name} is already disabled, this function | 1381 | the undo list of @var{buffer-or-name} is already disabled, this function |
| 1377 | has no effect. | 1382 | has no effect. |
| 1378 | 1383 | ||
| 1379 | This function returns @code{nil}. | 1384 | In an interactive call, BUFFER-OR-NAME is the current buffer. You |
| 1385 | cannot specify any other buffer. This function returns @code{nil}. | ||
| 1380 | @end deffn | 1386 | @end deffn |
| 1381 | 1387 | ||
| 1382 | As editing continues, undo lists get longer and longer. To prevent | 1388 | As editing continues, undo lists get longer and longer. To prevent |
| @@ -1493,6 +1499,7 @@ the header lines. If @var{citation-regexp} is a string, it is used as | |||
| 1493 | a regular expression; if it matches the beginning of a line, that line | 1499 | a regular expression; if it matches the beginning of a line, that line |
| 1494 | is treated as a citation marker. | 1500 | is treated as a citation marker. |
| 1495 | 1501 | ||
| 1502 | @c FIXME: "That mode" is confusing. It isn't a major/minor mode. | ||
| 1496 | Ordinarily, @code{fill-individual-paragraphs} regards each change in | 1503 | Ordinarily, @code{fill-individual-paragraphs} regards each change in |
| 1497 | indentation as starting a new paragraph. If | 1504 | indentation as starting a new paragraph. If |
| 1498 | @code{fill-individual-varying-indent} is non-@code{nil}, then only | 1505 | @code{fill-individual-varying-indent} is non-@code{nil}, then only |
| @@ -1606,11 +1613,13 @@ Manual}. | |||
| 1606 | @defvar use-hard-newlines | 1613 | @defvar use-hard-newlines |
| 1607 | If this variable is non-@code{nil}, the filling functions do not delete | 1614 | If this variable is non-@code{nil}, the filling functions do not delete |
| 1608 | newlines that have the @code{hard} text property. These ``hard | 1615 | newlines that have the @code{hard} text property. These ``hard |
| 1609 | newlines'' act as paragraph separators. | 1616 | newlines'' act as paragraph separators. @xref{Hard and Soft |
| 1617 | Newlines,, Hard and Soft Newlines, emacs, The GNU Emacs Manual}. | ||
| 1610 | @end defvar | 1618 | @end defvar |
| 1611 | 1619 | ||
| 1612 | @node Margins | 1620 | @node Margins |
| 1613 | @section Margins for Filling | 1621 | @section Margins for Filling |
| 1622 | @cindex margins, filling | ||
| 1614 | 1623 | ||
| 1615 | @defopt fill-prefix | 1624 | @defopt fill-prefix |
| 1616 | This buffer-local variable, if non-@code{nil}, specifies a string of | 1625 | This buffer-local variable, if non-@code{nil}, specifies a string of |
| @@ -1800,6 +1809,7 @@ prefix or @code{nil}, meaning it has failed to determine a prefix. | |||
| 1800 | @cindex filling, automatic | 1809 | @cindex filling, automatic |
| 1801 | @cindex Auto Fill mode | 1810 | @cindex Auto Fill mode |
| 1802 | 1811 | ||
| 1812 | @c FIXME: I don't think any of the variables below is a/an normal/abnormal hook. | ||
| 1803 | Auto Fill mode is a minor mode that fills lines automatically as text | 1813 | Auto Fill mode is a minor mode that fills lines automatically as text |
| 1804 | is inserted. This section describes the hook used by Auto Fill mode. | 1814 | is inserted. This section describes the hook used by Auto Fill mode. |
| 1805 | For a description of functions that you can call explicitly to fill and | 1815 | For a description of functions that you can call explicitly to fill and |
| @@ -1941,10 +1951,10 @@ its @code{sort-subr} call looks like this: | |||
| 1941 | @group | 1951 | @group |
| 1942 | (sort-subr reverse | 1952 | (sort-subr reverse |
| 1943 | (function | 1953 | (function |
| 1944 | (lambda () | 1954 | (lambda () |
| 1945 | (while (and (not (eobp)) | 1955 | (while (and (not (eobp)) |
| 1946 | (looking-at paragraph-separate)) | 1956 | (looking-at paragraph-separate)) |
| 1947 | (forward-line 1)))) | 1957 | (forward-line 1)))) |
| 1948 | 'forward-paragraph) | 1958 | 'forward-paragraph) |
| 1949 | @end group | 1959 | @end group |
| 1950 | @end example | 1960 | @end example |
| @@ -2130,9 +2140,12 @@ line and point. | |||
| 2130 | When called interactively, @var{column} is the value of prefix numeric | 2140 | When called interactively, @var{column} is the value of prefix numeric |
| 2131 | argument. If @var{column} is not an integer, an error is signaled. | 2141 | argument. If @var{column} is not an integer, an error is signaled. |
| 2132 | 2142 | ||
| 2143 | @c This behavior used to be documented until 2013/08. | ||
| 2144 | @ignore | ||
| 2133 | If column @var{column} is beyond the end of the line, point moves to | 2145 | If column @var{column} is beyond the end of the line, point moves to |
| 2134 | the end of the line. If @var{column} is negative, point moves to the | 2146 | the end of the line. If @var{column} is negative, point moves to the |
| 2135 | beginning of the line. | 2147 | beginning of the line. |
| 2148 | @end ignore | ||
| 2136 | 2149 | ||
| 2137 | If it is impossible to move to column @var{column} because that is in | 2150 | If it is impossible to move to column @var{column} because that is in |
| 2138 | the middle of a multicolumn character such as a tab, point moves to the | 2151 | the middle of a multicolumn character such as a tab, point moves to the |
| @@ -2341,6 +2354,8 @@ code. | |||
| 2341 | For example, if @var{count} is 3, this command adds 3 columns of | 2354 | For example, if @var{count} is 3, this command adds 3 columns of |
| 2342 | indentation to each of the lines beginning in the region specified. | 2355 | indentation to each of the lines beginning in the region specified. |
| 2343 | 2356 | ||
| 2357 | @c FIXME: I suggest using message-indent-citation as the example, or | ||
| 2358 | @c just remove this paragraph. --xfq | ||
| 2344 | In Mail mode, @kbd{C-c C-y} (@code{mail-yank-original}) uses | 2359 | In Mail mode, @kbd{C-c C-y} (@code{mail-yank-original}) uses |
| 2345 | @code{indent-rigidly} to indent the text copied from the message being | 2360 | @code{indent-rigidly} to indent the text copied from the message being |
| 2346 | replied to. | 2361 | replied to. |
| @@ -2518,7 +2533,7 @@ This is the contents of the 5th foo. | |||
| 2518 | @end group | 2533 | @end group |
| 2519 | 2534 | ||
| 2520 | @group | 2535 | @group |
| 2521 | (capitalize-region 1 44) | 2536 | (capitalize-region 1 37) |
| 2522 | @result{} nil | 2537 | @result{} nil |
| 2523 | 2538 | ||
| 2524 | ---------- Buffer: foo ---------- | 2539 | ---------- Buffer: foo ---------- |
| @@ -3024,6 +3039,7 @@ Point}. | |||
| 3024 | 3039 | ||
| 3025 | @table @code | 3040 | @table @code |
| 3026 | @cindex property category of text character | 3041 | @cindex property category of text character |
| 3042 | @c FIXME: Isn't @kindex for keyboard commands? | ||
| 3027 | @kindex category @r{(text property)} | 3043 | @kindex category @r{(text property)} |
| 3028 | @item category | 3044 | @item category |
| 3029 | If a character has a @code{category} property, we call it the | 3045 | If a character has a @code{category} property, we call it the |
| @@ -4012,6 +4028,7 @@ A rectangle is represented by a list of strings. | |||
| 4012 | This represents a window configuration to restore in one frame, and a | 4028 | This represents a window configuration to restore in one frame, and a |
| 4013 | position to jump to in the current buffer. | 4029 | position to jump to in the current buffer. |
| 4014 | 4030 | ||
| 4031 | @c FIXME: Mention frameset here. | ||
| 4015 | @item @code{(@var{frame-configuration} @var{position})} | 4032 | @item @code{(@var{frame-configuration} @var{position})} |
| 4016 | This represents a frame configuration to restore, and a position | 4033 | This represents a frame configuration to restore, and a position |
| 4017 | to jump to in the current buffer. | 4034 | to jump to in the current buffer. |
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index 4a38fa9ccd5..557add738ba 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi | |||
| @@ -1838,6 +1838,7 @@ updates this list. | |||
| 1838 | @node Variable Aliases | 1838 | @node Variable Aliases |
| 1839 | @section Variable Aliases | 1839 | @section Variable Aliases |
| 1840 | @cindex variable aliases | 1840 | @cindex variable aliases |
| 1841 | @cindex alias, for variables | ||
| 1841 | 1842 | ||
| 1842 | It is sometimes useful to make two variables synonyms, so that both | 1843 | It is sometimes useful to make two variables synonyms, so that both |
| 1843 | variables always have the same value, and changing either one also | 1844 | variables always have the same value, and changing either one also |
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index 1f65f687014..13c9ca53222 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi | |||
| @@ -2244,8 +2244,9 @@ window and defaults to the selected one. | |||
| 2244 | 2244 | ||
| 2245 | Each list element has the form @code{(@var{buffer} @var{window-start} | 2245 | Each list element has the form @code{(@var{buffer} @var{window-start} |
| 2246 | @var{window-pos})}, where @var{buffer} is a buffer previously shown in | 2246 | @var{window-pos})}, where @var{buffer} is a buffer previously shown in |
| 2247 | the window, @var{window-start} is the window start position when that | 2247 | the window, @var{window-start} is the window start position |
| 2248 | buffer was last shown, and @var{window-pos} is the point position when | 2248 | (@pxref{Window Start and End}) when that buffer was last shown, and |
| 2249 | @var{window-pos} is the point position (@pxref{Window Point}) when | ||
| 2249 | that buffer was last shown in @var{window}. | 2250 | that buffer was last shown in @var{window}. |
| 2250 | 2251 | ||
| 2251 | The list is ordered so that earlier elements correspond to more | 2252 | The list is ordered so that earlier elements correspond to more |
| @@ -2328,10 +2329,11 @@ same frame. The following option can be used to override this behavior. | |||
| 2328 | @defopt switch-to-visible-buffer | 2329 | @defopt switch-to-visible-buffer |
| 2329 | If this variable is non-@code{nil}, @code{switch-to-prev-buffer} and | 2330 | If this variable is non-@code{nil}, @code{switch-to-prev-buffer} and |
| 2330 | @code{switch-to-next-buffer} may switch to a buffer that is already | 2331 | @code{switch-to-next-buffer} may switch to a buffer that is already |
| 2331 | visible on the same frame, provided the buffer was shown in the relevant | 2332 | visible on the same frame, provided the buffer was shown in the |
| 2332 | window before. If it is @code{nil}, @code{switch-to-prev-buffer} and | 2333 | relevant window before. If it is @code{nil}, |
| 2333 | @code{switch-to-next-buffer} always try to avoid switching to a buffer | 2334 | @code{switch-to-prev-buffer} and @code{switch-to-next-buffer} always |
| 2334 | that is already visible in another window on the same frame. | 2335 | try to avoid switching to a buffer that is already visible in another |
| 2336 | window on the same frame. The default is @code{t}. | ||
| 2335 | @end defopt | 2337 | @end defopt |
| 2336 | 2338 | ||
| 2337 | 2339 | ||
| @@ -2362,6 +2364,7 @@ showing another buffer in that frame's only window. The function | |||
| 2362 | @code{replace-buffer-in-windows} (@pxref{Buffers and Windows}) which is | 2364 | @code{replace-buffer-in-windows} (@pxref{Buffers and Windows}) which is |
| 2363 | called when a buffer gets killed, deletes the window in case (1) and | 2365 | called when a buffer gets killed, deletes the window in case (1) and |
| 2364 | behaves like @code{delete-windows-on} otherwise. | 2366 | behaves like @code{delete-windows-on} otherwise. |
| 2367 | @c FIXME: Does replace-buffer-in-windows _delete_ a window in case (1)? | ||
| 2365 | 2368 | ||
| 2366 | When @code{bury-buffer} (@pxref{The Buffer List}) operates on the | 2369 | When @code{bury-buffer} (@pxref{The Buffer List}) operates on the |
| 2367 | selected window (which shows the buffer that shall be buried), it | 2370 | selected window (which shows the buffer that shall be buried), it |
| @@ -2566,6 +2569,7 @@ so @code{window-point} will stay behind text inserted there. | |||
| 2566 | @node Window Start and End | 2569 | @node Window Start and End |
| 2567 | @section The Window Start and End Positions | 2570 | @section The Window Start and End Positions |
| 2568 | @cindex window start position | 2571 | @cindex window start position |
| 2572 | @cindex display-start position | ||
| 2569 | 2573 | ||
| 2570 | Each window maintains a marker used to keep track of a buffer position | 2574 | Each window maintains a marker used to keep track of a buffer position |
| 2571 | that specifies where in the buffer display should start. This position | 2575 | that specifies where in the buffer display should start. This position |
| @@ -3191,6 +3195,7 @@ The value returned is @var{columns}. | |||
| 3191 | Here is how you can determine whether a given position @var{position} | 3195 | Here is how you can determine whether a given position @var{position} |
| 3192 | is off the screen due to horizontal scrolling: | 3196 | is off the screen due to horizontal scrolling: |
| 3193 | 3197 | ||
| 3198 | @c FIXME: Maybe hscroll-on-screen-p is a better name? | ||
| 3194 | @example | 3199 | @example |
| 3195 | @group | 3200 | @group |
| 3196 | (defun hscroll-on-screen (window position) | 3201 | (defun hscroll-on-screen (window position) |